{"version":3,"file":"FieldTypeIcon.mjs","sources":["../../../admin/src/components/FieldTypeIcon.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useStrapiApp } from '@strapi/admin/strapi-admin';\nimport { Box } from '@strapi/design-system';\nimport {\n  BlocksField,\n  BooleanField,\n  ComponentField,\n  DateField,\n  DynamicZoneField,\n  EmailField,\n  EnumerationField,\n  JsonField,\n  MediaField,\n  NumberField,\n  PasswordField,\n  RelationField,\n  TextField,\n  UidField,\n} from '@strapi/icons/symbols';\n\nimport type { Schema } from '@strapi/types';\n\nconst iconByTypes: Record<Schema.Attribute.Kind, React.ReactElement> = {\n  biginteger: <NumberField />,\n  boolean: <BooleanField />,\n  date: <DateField />,\n  datetime: <DateField />,\n  decimal: <NumberField />,\n  email: <EmailField />,\n  enumeration: <EnumerationField />,\n  float: <NumberField />,\n  integer: <NumberField />,\n  media: <MediaField />,\n  password: <PasswordField />,\n  relation: <RelationField />,\n  string: <TextField />,\n  text: <TextField />,\n  richtext: <TextField />,\n  time: <DateField />,\n  timestamp: <DateField />,\n  json: <JsonField />,\n  uid: <UidField />,\n  component: <ComponentField />,\n  dynamiczone: <DynamicZoneField />,\n  blocks: <BlocksField />,\n};\n\ninterface FieldTypeIconProps {\n  type?: keyof typeof iconByTypes;\n  customFieldUid?: string;\n}\n\nconst FieldTypeIcon = ({ type, customFieldUid }: FieldTypeIconProps) => {\n  const getCustomField = useStrapiApp('FieldTypeIcon', (state) => state.customFields.get);\n\n  if (!type) {\n    return null;\n  }\n\n  let Compo = iconByTypes[type];\n\n  if (customFieldUid) {\n    const customField = getCustomField(customFieldUid);\n    const CustomFieldIcon = customField?.icon;\n\n    if (CustomFieldIcon) {\n      Compo = (\n        <Box marginRight={3} width={7} height={6}>\n          <CustomFieldIcon />\n        </Box>\n      );\n    }\n  }\n\n  if (!iconByTypes[type]) {\n    return null;\n  }\n\n  return Compo;\n};\n\nexport { FieldTypeIcon };\n"],"names":["iconByTypes","biginteger","_jsx","NumberField","boolean","BooleanField","date","DateField","datetime","decimal","email","EmailField","enumeration","EnumerationField","float","integer","media","MediaField","password","PasswordField","relation","RelationField","string","TextField","text","richtext","time","timestamp","json","JsonField","uid","UidField","component","ComponentField","dynamiczone","DynamicZoneField","blocks","BlocksField","FieldTypeIcon","type","customFieldUid","getCustomField","useStrapiApp","state","customFields","get","Compo","customField","CustomFieldIcon","icon","Box","marginRight","width","height"],"mappings":"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"}