@strapi/content-type-builder 5.30.0 → 5.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/admin/components/AIChat/FeedbackModal.js.map +1 -1
  2. package/dist/admin/components/AIChat/FeedbackModal.mjs.map +1 -1
  3. package/dist/admin/components/AIChat/UploadFigmaModal.js.map +1 -1
  4. package/dist/admin/components/AIChat/UploadFigmaModal.mjs.map +1 -1
  5. package/dist/admin/components/AIChat/components/Base64Image.js.map +1 -1
  6. package/dist/admin/components/AIChat/components/Base64Image.mjs.map +1 -1
  7. package/dist/admin/components/AIChat/components/Collapsible.js.map +1 -1
  8. package/dist/admin/components/AIChat/components/Collapsible.mjs.map +1 -1
  9. package/dist/admin/components/AIChat/components/FullScreenImage.js.map +1 -1
  10. package/dist/admin/components/AIChat/components/FullScreenImage.mjs.map +1 -1
  11. package/dist/admin/components/AIChat/components/Messages/Message.js.map +1 -1
  12. package/dist/admin/components/AIChat/components/Messages/Message.mjs.map +1 -1
  13. package/dist/admin/components/AIChat/hooks/useAIFetch.js.map +1 -1
  14. package/dist/admin/components/AIChat/hooks/useAIFetch.mjs.map +1 -1
  15. package/dist/admin/components/AIChat/hooks/useCodeUpload.js.map +1 -1
  16. package/dist/admin/components/AIChat/hooks/useCodeUpload.mjs.map +1 -1
  17. package/dist/admin/components/AIChat/hooks/useFigmaUpload.js.map +1 -1
  18. package/dist/admin/components/AIChat/hooks/useFigmaUpload.mjs.map +1 -1
  19. package/dist/admin/components/AIChat/lib/aiClient.js.map +1 -1
  20. package/dist/admin/components/AIChat/lib/aiClient.mjs.map +1 -1
  21. package/dist/admin/components/AIChat/lib/constants.js.map +1 -1
  22. package/dist/admin/components/AIChat/lib/constants.mjs.map +1 -1
  23. package/dist/admin/components/AIChat/providers/SchemaProvider.js.map +1 -1
  24. package/dist/admin/components/AIChat/providers/SchemaProvider.mjs.map +1 -1
  25. package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -1
  26. package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -1
  27. package/dist/admin/components/AttributeOptions/AttributeOptions.js.map +1 -1
  28. package/dist/admin/components/AttributeOptions/AttributeOptions.mjs.map +1 -1
  29. package/dist/admin/components/AttributeOptions/EmptyAttributes.js.map +1 -1
  30. package/dist/admin/components/AttributeOptions/EmptyAttributes.mjs.map +1 -1
  31. package/dist/admin/components/AttributeRow.js.map +1 -1
  32. package/dist/admin/components/AttributeRow.mjs.map +1 -1
  33. package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
  34. package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
  35. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
  36. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -1
  37. package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -1
  38. package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -1
  39. package/dist/admin/components/DisplayedType.js.map +1 -1
  40. package/dist/admin/components/DisplayedType.mjs.map +1 -1
  41. package/dist/admin/components/DynamicZoneList.js.map +1 -1
  42. package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
  43. package/dist/admin/components/Footers.js.map +1 -1
  44. package/dist/admin/components/Footers.mjs.map +1 -1
  45. package/dist/admin/components/FormModal/FormModal.js.map +1 -1
  46. package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
  47. package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
  48. package/dist/admin/components/FormModal/attributes/ConditionForm.mjs.map +1 -1
  49. package/dist/admin/components/FormModal/attributes/advancedForm.js.map +1 -1
  50. package/dist/admin/components/FormModal/attributes/advancedForm.mjs.map +1 -1
  51. package/dist/admin/components/FormModal/attributes/baseForm.js.map +1 -1
  52. package/dist/admin/components/FormModal/attributes/baseForm.mjs.map +1 -1
  53. package/dist/admin/components/FormModal/component/componentForm.js.map +1 -1
  54. package/dist/admin/components/FormModal/component/componentForm.mjs.map +1 -1
  55. package/dist/admin/components/FormModal/forms/utils/createCollectionName.js.map +1 -1
  56. package/dist/admin/components/FormModal/forms/utils/createCollectionName.mjs.map +1 -1
  57. package/dist/admin/components/FormModal/utils/createUid.js.map +1 -1
  58. package/dist/admin/components/FormModal/utils/createUid.mjs.map +1 -1
  59. package/dist/admin/components/FormModalHeader.js.map +1 -1
  60. package/dist/admin/components/FormModalHeader.mjs.map +1 -1
  61. package/dist/admin/components/FormModalSubHeader.js.map +1 -1
  62. package/dist/admin/components/FormModalSubHeader.mjs.map +1 -1
  63. package/dist/admin/components/GenericInputs.js +7 -4
  64. package/dist/admin/components/GenericInputs.js.map +1 -1
  65. package/dist/admin/components/GenericInputs.mjs +7 -4
  66. package/dist/admin/components/GenericInputs.mjs.map +1 -1
  67. package/dist/admin/components/IconPicker/constants.js +3 -0
  68. package/dist/admin/components/IconPicker/constants.js.map +1 -1
  69. package/dist/admin/components/IconPicker/constants.mjs +3 -0
  70. package/dist/admin/components/IconPicker/constants.mjs.map +1 -1
  71. package/dist/admin/components/List.js.map +1 -1
  72. package/dist/admin/components/List.mjs.map +1 -1
  73. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js.map +1 -1
  74. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs.map +1 -1
  75. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -1
  76. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs.map +1 -1
  77. package/dist/admin/components/SelectComponent.js.map +1 -1
  78. package/dist/admin/components/SelectComponent.mjs.map +1 -1
  79. package/dist/admin/components/TabForm.js.map +1 -1
  80. package/dist/admin/components/TabForm.mjs.map +1 -1
  81. package/dist/admin/index.js.map +1 -1
  82. package/dist/admin/index.mjs.map +1 -1
  83. package/dist/admin/pages/App/index.js.map +1 -1
  84. package/dist/admin/pages/App/index.mjs.map +1 -1
  85. package/dist/admin/pages/ListView/ListView.js.map +1 -1
  86. package/dist/admin/pages/ListView/ListView.mjs.map +1 -1
  87. package/dist/admin/utils/conditions.js.map +1 -1
  88. package/dist/admin/utils/conditions.mjs.map +1 -1
  89. package/dist/admin/utils/getTrad.js.map +1 -1
  90. package/dist/admin/utils/getTrad.mjs.map +1 -1
  91. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -1
  92. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -1
  93. package/dist/admin/utils/timeFormat.js.map +1 -1
  94. package/dist/admin/utils/timeFormat.mjs.map +1 -1
  95. package/dist/server/controllers/validation/common.js.map +1 -1
  96. package/dist/server/controllers/validation/common.mjs.map +1 -1
  97. package/dist/server/controllers/validation/content-type.js.map +1 -1
  98. package/dist/server/controllers/validation/content-type.mjs.map +1 -1
  99. package/dist/server/controllers/validation/model-schema.js.map +1 -1
  100. package/dist/server/controllers/validation/model-schema.mjs.map +1 -1
  101. package/dist/server/controllers/validation/relations.js.map +1 -1
  102. package/dist/server/controllers/validation/relations.mjs.map +1 -1
  103. package/dist/server/services/api-handler.js.map +1 -1
  104. package/dist/server/services/api-handler.mjs.map +1 -1
  105. package/dist/server/services/component-categories.js.map +1 -1
  106. package/dist/server/services/component-categories.mjs.map +1 -1
  107. package/dist/server/services/schema-builder/component-builder.js.map +1 -1
  108. package/dist/server/services/schema-builder/component-builder.mjs.map +1 -1
  109. package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
  110. package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -1
  111. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"GenericInputs.mjs","sources":["../../../admin/src/components/GenericInputs.tsx"],"sourcesContent":["/**\n * TODO: we should be using the FormRenderer from the admin to do this,\n * but the CTB has no tests or types, so we can't refactor it safely.\n * So we're just adding this to the tech debt.\n */\n\nimport * as React from 'react';\n\nimport {\n Checkbox,\n DatePicker,\n DateTimePicker,\n Field,\n JSONInput,\n NumberInput,\n SingleSelect,\n SingleSelectOption,\n Textarea,\n TextInput,\n TimePicker,\n Toggle,\n} from '@strapi/design-system';\nimport { Eye, EyeStriked } from '@strapi/icons';\nimport formatISO from 'date-fns/formatISO';\nimport isEqual from 'lodash/isEqual';\nimport { type MessageDescriptor, type PrimitiveType, useIntl } from 'react-intl';\n\nimport { parseDateValue } from '../utils/parseDateValue';\nimport { handleTimeChange, handleTimeChangeEvent } from '../utils/timeFormat';\n\nimport type { Schema } from '@strapi/types';\n\ninterface TranslationMessage extends MessageDescriptor {\n values?: Record<string, PrimitiveType>;\n}\n\ninterface InputOption {\n metadatas: {\n intlLabel: TranslationMessage;\n disabled: boolean;\n hidden: boolean;\n };\n key: string;\n value: string;\n}\n\ninterface CustomInputProps<\n TAttribute extends Schema.Attribute.AnyAttribute = Schema.Attribute.AnyAttribute,\n> {\n attribute?: TAttribute;\n autoComplete?: string;\n description?: TranslationMessage;\n disabled?: boolean;\n error?: string;\n hint?: string | React.JSX.Element | (string | React.JSX.Element)[];\n intlLabel: TranslationMessage;\n labelAction?: React.ReactNode;\n name: string;\n onChange: (\n payload: {\n target: {\n name: string;\n value: Schema.Attribute.Value<TAttribute>;\n type?: string;\n };\n },\n shouldSetInitialValue?: boolean\n ) => void;\n onDelete?: () => void;\n options?: InputOption[];\n placeholder?: TranslationMessage;\n required?: boolean;\n step?: number;\n type: string;\n value?: Schema.Attribute.Value<TAttribute>;\n autoFocus?: boolean;\n attributeName?: string;\n conditionFields?: Record<string, boolean>;\n}\n\ninterface GenericInputProps<\n TAttribute extends Schema.Attribute.AnyAttribute = Schema.Attribute.AnyAttribute,\n> {\n attribute?: TAttribute;\n autoComplete?: string;\n customInputs?: Record<string, React.ComponentType<CustomInputProps<TAttribute>>>;\n description?: TranslationMessage;\n disabled?: boolean;\n error?: string | TranslationMessage;\n intlLabel: TranslationMessage;\n labelAction?: React.ReactNode;\n name: string;\n onChange: (\n payload: {\n target: {\n name: string;\n value: Schema.Attribute.Value<TAttribute>;\n type?: string;\n };\n },\n shouldSetInitialValue?: boolean\n ) => void;\n onDelete?: () => void;\n options?: InputOption[];\n placeholder?: TranslationMessage;\n required?: boolean;\n step?: number;\n type: string;\n // TODO: The value depends on the input type, too complicated to handle all cases here\n value?: Schema.Attribute.Value<TAttribute>;\n isNullable?: boolean;\n autoFocus?: boolean;\n attributeName?: string;\n conditionFields?: Record<string, boolean>;\n}\n\nconst GenericInput = ({\n autoComplete,\n customInputs,\n description,\n disabled,\n intlLabel,\n labelAction,\n error,\n name,\n onChange,\n onDelete,\n options = [],\n placeholder,\n required,\n step,\n type,\n value: defaultValue,\n isNullable,\n autoFocus,\n attribute,\n attributeName,\n conditionFields,\n ...rest\n}: GenericInputProps) => {\n const { formatMessage } = useIntl();\n\n // TODO: Workaround to get the field hint values if they exist on the type\n const getFieldHintValue = (\n attribute?: Schema.Attribute.AnyAttribute,\n key?: keyof FieldSchema\n ) => {\n if (!attribute) return;\n\n if (key === 'minLength' && key in attribute) {\n return attribute[key];\n }\n\n if (key === 'maxLength' && key in attribute) {\n return attribute[key];\n }\n\n if (key === 'max' && key in attribute) {\n return attribute[key];\n }\n\n if (key === 'min' && key in attribute) {\n return attribute[key];\n }\n };\n\n const { hint } = useFieldHint({\n description,\n fieldSchema: {\n minLength: getFieldHintValue(attribute, 'minLength'),\n maxLength: getFieldHintValue(attribute, 'maxLength'),\n max: getFieldHintValue(attribute, 'max'),\n min: getFieldHintValue(attribute, 'min'),\n },\n type: attribute?.type || type,\n });\n\n const [showPassword, setShowPassword] = React.useState(false);\n\n const CustomInput = customInputs ? customInputs[type] : null;\n\n // the API always returns null, which throws an error in React,\n // therefore we cast this case to undefined\n const value = defaultValue ?? undefined;\n\n /*\n TODO: ideally we should pass in `defaultValue` and `value` for\n inputs, in order to make them controlled components. This variable\n acts as a fallback for now, to prevent React errors in devopment mode\n\n See: https://github.com/strapi/strapi/pull/12861\n */\n const valueWithEmptyStringFallback = value ?? '';\n\n function getErrorMessage(error: string | TranslationMessage | undefined) {\n if (!error) {\n return null;\n }\n\n if (typeof error === 'string') {\n return formatMessage({ id: error, defaultMessage: error });\n }\n\n const values = {\n ...error.values,\n };\n\n return formatMessage(\n {\n id: error.id,\n defaultMessage: error?.defaultMessage ?? error.id,\n },\n values\n );\n }\n\n const errorMessage = getErrorMessage(error) ?? undefined;\n\n if (CustomInput) {\n return (\n <CustomInput\n {...rest}\n attribute={attribute}\n description={description}\n hint={hint}\n disabled={disabled}\n intlLabel={intlLabel}\n labelAction={labelAction}\n error={errorMessage || ''}\n name={name}\n onChange={onChange}\n onDelete={onDelete}\n options={options}\n required={required}\n placeholder={placeholder}\n type={type}\n value={value}\n autoFocus={autoFocus}\n attributeName={attributeName}\n conditionFields={conditionFields}\n />\n );\n }\n\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const formattedPlaceholder = placeholder\n ? formatMessage(\n { id: placeholder.id, defaultMessage: placeholder.defaultMessage },\n { ...placeholder.values }\n )\n : '';\n\n const getComponent = () => {\n switch (type) {\n case 'json': {\n return (\n <JSONInput\n value={value}\n disabled={disabled}\n onChange={(json) => {\n // Default to null when the field is not required and there is no input value\n const value =\n attribute && 'required' in attribute && !attribute?.required && !json.length\n ? null\n : json;\n onChange({ target: { name, value } }, false);\n }}\n minHeight=\"25.2rem\"\n maxHeight=\"50.4rem\"\n />\n );\n }\n case 'bool': {\n return (\n <Toggle\n checked={defaultValue === null ? null : defaultValue || false}\n disabled={disabled}\n offLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.off-label',\n defaultMessage: 'False',\n })}\n onLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.on-label',\n defaultMessage: 'True',\n })}\n onChange={(e) => {\n onChange({ target: { name, value: e.target.checked } });\n }}\n />\n );\n }\n case 'checkbox': {\n return (\n <Checkbox\n disabled={disabled}\n onCheckedChange={(value) => {\n onChange({ target: { name, value } });\n }}\n checked={Boolean(value)}\n >\n {label}\n </Checkbox>\n );\n }\n case 'datetime': {\n const dateValue = parseDateValue(value);\n return (\n <DateTimePicker\n clearLabel={formatMessage({ id: 'clearLabel', defaultMessage: 'Clear' })}\n disabled={disabled}\n onChange={(date) => {\n // check if date is not null or undefined\n const formattedDate = date ? date.toISOString() : null;\n\n onChange({ target: { name, value: formattedDate, type } });\n }}\n onClear={() => onChange({ target: { name, value: null, type } })}\n placeholder={formattedPlaceholder}\n value={dateValue}\n />\n );\n }\n case 'date': {\n const dateValue = parseDateValue(value);\n return (\n <DatePicker\n clearLabel={formatMessage({ id: 'clearLabel', defaultMessage: 'Clear' })}\n disabled={disabled}\n onChange={(date) => {\n onChange({\n target: {\n name,\n value: date ? formatISO(date, { representation: 'date' }) : null,\n type,\n },\n });\n }}\n onClear={() => onChange({ target: { name, value: null, type } })}\n placeholder={formattedPlaceholder}\n value={dateValue}\n />\n );\n }\n case 'number': {\n return (\n <NumberInput\n disabled={disabled}\n onValueChange={(value) => {\n onChange({ target: { name, value, type } });\n }}\n placeholder={formattedPlaceholder}\n step={step}\n value={value}\n autoFocus={autoFocus}\n />\n );\n }\n case 'email': {\n return (\n <TextInput\n autoComplete={autoComplete}\n disabled={disabled}\n onChange={(e) => {\n onChange({ target: { name, value: e.target.value, type } });\n }}\n placeholder={formattedPlaceholder}\n type=\"email\"\n value={valueWithEmptyStringFallback}\n autoFocus={autoFocus}\n />\n );\n }\n case 'timestamp':\n case 'text':\n case 'string': {\n return (\n <TextInput\n autoComplete={autoComplete}\n disabled={disabled}\n onChange={(e) => {\n onChange({ target: { name, value: e.target.value, type } });\n }}\n placeholder={formattedPlaceholder}\n type=\"text\"\n value={valueWithEmptyStringFallback}\n autoFocus={autoFocus}\n />\n );\n }\n case 'password': {\n return (\n <TextInput\n autoComplete={autoComplete}\n disabled={disabled}\n endAction={\n <button\n aria-label={formatMessage({\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n })}\n onClick={() => {\n setShowPassword((prev) => !prev);\n }}\n style={{\n border: 'none',\n padding: 0,\n background: 'transparent',\n }}\n type=\"button\"\n >\n {showPassword ? <Eye fill=\"neutral500\" /> : <EyeStriked fill=\"neutral500\" />}\n </button>\n }\n onChange={(e) => {\n onChange({ target: { name, value: e.target.value, type } });\n }}\n placeholder={formattedPlaceholder}\n type={showPassword ? 'text' : 'password'}\n value={valueWithEmptyStringFallback}\n />\n );\n }\n case 'select': {\n return (\n <SingleSelect\n disabled={disabled}\n onChange={(value) => {\n onChange({ target: { name, value, type: 'select' } });\n }}\n placeholder={formattedPlaceholder}\n value={value}\n >\n {options.map(({ metadatas: { intlLabel, disabled, hidden }, key, value }) => {\n return (\n <SingleSelectOption key={key} value={value} disabled={disabled} hidden={hidden}>\n {formatMessage(intlLabel)}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n );\n }\n case 'textarea': {\n return (\n <Textarea\n disabled={disabled}\n onChange={(event) => onChange({ target: { name, value: event.target.value, type } })}\n placeholder={formattedPlaceholder}\n value={valueWithEmptyStringFallback}\n />\n );\n }\n case 'time': {\n const formattedValue = handleTimeChange({ value, onChange, name, type });\n\n return (\n <TimePicker\n clearLabel={formatMessage({ id: 'clearLabel', defaultMessage: 'Clear' })}\n disabled={disabled}\n onChange={(time) => handleTimeChangeEvent(onChange, name, type, time)}\n onClear={() => handleTimeChangeEvent(onChange, name, type, undefined)}\n value={formattedValue}\n />\n );\n }\n default: {\n /**\n * If there's no component for the given type, we return a disabled text input\n * showing a \"Not supported\" title to illustrate the issue.\n */\n return <TextInput disabled placeholder=\"Not supported\" type=\"text\" value=\"\" />;\n }\n }\n };\n\n return (\n <Field.Root error={errorMessage} name={name} hint={hint} required={required}>\n {type !== 'checkbox' ? <Field.Label action={labelAction}>{label}</Field.Label> : null}\n {getComponent()}\n <Field.Error />\n <Field.Hint />\n </Field.Root>\n );\n};\n\ntype FieldSchema = {\n minLength?: number | string;\n maxLength?: number | string;\n max?: number | string;\n min?: number | string;\n};\ninterface UseFieldHintProps {\n description?: MessageDescriptor & { values?: Record<string, PrimitiveType> };\n fieldSchema?: FieldSchema;\n type?: string;\n}\n\n/**\n * @description\n * A hook for generating the hint for a field\n */\nconst useFieldHint = ({ description, fieldSchema, type }: UseFieldHintProps) => {\n const { formatMessage } = useIntl();\n\n const buildDescription = () =>\n description?.id\n ? formatMessage(\n { id: description.id, defaultMessage: description.defaultMessage },\n { ...description.values }\n )\n : '';\n\n const buildHint = () => {\n const { maximum, minimum } = getMinMax(fieldSchema);\n const units = getFieldUnits({\n type,\n minimum,\n maximum,\n });\n\n const minIsNumber = typeof minimum === 'number';\n const maxIsNumber = typeof maximum === 'number';\n const hasMinAndMax = maxIsNumber && minIsNumber;\n const hasMinOrMax = maxIsNumber || minIsNumber;\n\n if (!description?.id && !hasMinOrMax) {\n return '';\n }\n\n return formatMessage(\n {\n id: 'content-manager.form.Input.hint.text',\n defaultMessage:\n '{min, select, undefined {} other {min. {min}}}{divider}{max, select, undefined {} other {max. {max}}}{unit}{br}{description}',\n },\n {\n min: minimum,\n max: maximum,\n description: buildDescription(),\n unit: units?.message && hasMinOrMax ? formatMessage(units.message, units.values) : null,\n divider: hasMinAndMax\n ? formatMessage({\n id: 'content-manager.form.Input.hint.minMaxDivider',\n defaultMessage: ' / ',\n })\n : null,\n br: hasMinOrMax ? <br /> : null,\n }\n );\n };\n\n return { hint: buildHint() };\n};\n\nconst getFieldUnits = ({\n type,\n minimum,\n maximum,\n}: {\n type?: string;\n minimum?: number;\n maximum?: number;\n}) => {\n if (type && ['biginteger', 'integer', 'number'].includes(type)) {\n return {};\n }\n const maxValue = Math.max(minimum || 0, maximum || 0);\n\n return {\n message: {\n id: 'content-manager.form.Input.hint.character.unit',\n defaultMessage: '{maxValue, plural, one { character} other { characters}}',\n },\n values: {\n maxValue,\n },\n };\n};\n\nconst getMinMax = (fieldSchema?: FieldSchema) => {\n if (!fieldSchema) {\n return { maximum: undefined, minimum: undefined };\n }\n\n const { minLength, maxLength, max, min } = fieldSchema;\n\n let minimum;\n let maximum;\n\n const parsedMin = Number(min);\n const parsedMinLength = Number(minLength);\n\n if (!Number.isNaN(parsedMin)) {\n minimum = parsedMin;\n } else if (!Number.isNaN(parsedMinLength)) {\n minimum = parsedMinLength;\n }\n\n const parsedMax = Number(max);\n const parsedMaxLength = Number(maxLength);\n\n if (!Number.isNaN(parsedMax)) {\n maximum = parsedMax;\n } else if (!Number.isNaN(parsedMaxLength)) {\n maximum = parsedMaxLength;\n }\n\n return { maximum, minimum };\n};\n\n/**\n * we've memoized this component because we use a context to store all the data in our form in the content-manager.\n * This then causes _every_ component to re-render because there are no selects incurring performance issues\n * in content-types as the content-type gets more complicated.\n */\nconst MemoizedGenericInput = React.memo(GenericInput, isEqual);\n\nexport type { GenericInputProps, CustomInputProps };\nexport { MemoizedGenericInput as GenericInput };\n"],"names":["GenericInput","autoComplete","customInputs","description","disabled","intlLabel","labelAction","error","name","onChange","onDelete","options","placeholder","required","step","type","value","defaultValue","isNullable","autoFocus","attribute","attributeName","conditionFields","rest","formatMessage","useIntl","getFieldHintValue","key","hint","useFieldHint","fieldSchema","minLength","maxLength","max","min","showPassword","setShowPassword","React","useState","CustomInput","undefined","valueWithEmptyStringFallback","getErrorMessage","id","defaultMessage","values","errorMessage","_jsx","label","formattedPlaceholder","getComponent","JSONInput","json","length","target","minHeight","maxHeight","Toggle","checked","offLabel","onLabel","e","Checkbox","onCheckedChange","Boolean","dateValue","parseDateValue","DateTimePicker","clearLabel","date","formattedDate","toISOString","onClear","DatePicker","formatISO","representation","NumberInput","onValueChange","TextInput","endAction","button","aria-label","onClick","prev","style","border","padding","background","Eye","fill","EyeStriked","SingleSelect","map","metadatas","hidden","SingleSelectOption","Textarea","event","formattedValue","handleTimeChange","TimePicker","time","handleTimeChangeEvent","_jsxs","Field","Root","Label","action","Error","Hint","buildDescription","buildHint","maximum","minimum","getMinMax","units","getFieldUnits","minIsNumber","maxIsNumber","hasMinAndMax","hasMinOrMax","unit","message","divider","br","includes","maxValue","Math","parsedMin","Number","parsedMinLength","isNaN","parsedMax","parsedMaxLength","MemoizedGenericInput","memo","isEqual"],"mappings":"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"}
1
+ {"version":3,"file":"GenericInputs.mjs","sources":["../../../admin/src/components/GenericInputs.tsx"],"sourcesContent":["/**\n * TODO: we should be using the FormRenderer from the admin to do this,\n * but the CTB has no tests or types, so we can't refactor it safely.\n * So we're just adding this to the tech debt.\n */\n\nimport * as React from 'react';\n\nimport {\n Checkbox,\n DatePicker,\n DateTimePicker,\n Field,\n JSONInput,\n NumberInput,\n SingleSelect,\n SingleSelectOption,\n Textarea,\n TextInput,\n TimePicker,\n Toggle,\n} from '@strapi/design-system';\nimport { Eye, EyeStriked } from '@strapi/icons';\nimport formatISO from 'date-fns/formatISO';\nimport isEqual from 'lodash/isEqual';\nimport { type MessageDescriptor, type PrimitiveType, useIntl } from 'react-intl';\n\nimport { parseDateValue } from '../utils/parseDateValue';\nimport { handleTimeChange, handleTimeChangeEvent } from '../utils/timeFormat';\n\nimport type { Schema } from '@strapi/types';\n\ninterface TranslationMessage extends MessageDescriptor {\n values?: Record<string, PrimitiveType>;\n}\n\ninterface InputOption {\n metadatas: {\n intlLabel: TranslationMessage;\n disabled: boolean;\n hidden: boolean;\n };\n key: string;\n value: string;\n}\n\ninterface CustomInputProps<\n TAttribute extends Schema.Attribute.AnyAttribute = Schema.Attribute.AnyAttribute,\n> {\n attribute?: TAttribute;\n autoComplete?: string;\n description?: TranslationMessage;\n disabled?: boolean;\n error?: string;\n hint?: string | React.JSX.Element | (string | React.JSX.Element)[];\n intlLabel: TranslationMessage;\n labelAction?: React.ReactNode;\n name: string;\n onChange: (\n payload: {\n target: {\n name: string;\n value: Schema.Attribute.Value<TAttribute>;\n type?: string;\n };\n },\n shouldSetInitialValue?: boolean\n ) => void;\n onDelete?: () => void;\n options?: InputOption[];\n placeholder?: TranslationMessage;\n required?: boolean;\n step?: number;\n type: string;\n value?: Schema.Attribute.Value<TAttribute>;\n autoFocus?: boolean;\n attributeName?: string;\n conditionFields?: Record<string, boolean>;\n}\n\ninterface GenericInputProps<\n TAttribute extends Schema.Attribute.AnyAttribute = Schema.Attribute.AnyAttribute,\n> {\n attribute?: TAttribute;\n autoComplete?: string;\n customInputs?: Record<string, React.ComponentType<CustomInputProps<TAttribute>>>;\n description?: TranslationMessage;\n disabled?: boolean;\n error?: string | TranslationMessage;\n intlLabel: TranslationMessage;\n labelAction?: React.ReactNode;\n name: string;\n onChange: (\n payload: {\n target: {\n name: string;\n value: Schema.Attribute.Value<TAttribute>;\n type?: string;\n };\n },\n shouldSetInitialValue?: boolean\n ) => void;\n onDelete?: () => void;\n options?: InputOption[];\n placeholder?: TranslationMessage;\n required?: boolean;\n step?: number;\n type: string;\n // TODO: The value depends on the input type, too complicated to handle all cases here\n value?: Schema.Attribute.Value<TAttribute>;\n isNullable?: boolean;\n autoFocus?: boolean;\n attributeName?: string;\n conditionFields?: Record<string, boolean>;\n}\n\nconst GenericInput = ({\n autoComplete,\n customInputs,\n description,\n disabled,\n intlLabel,\n labelAction,\n error,\n name,\n onChange,\n onDelete,\n options = [],\n placeholder,\n required,\n step,\n type,\n value: defaultValue,\n isNullable,\n autoFocus,\n attribute,\n attributeName,\n conditionFields,\n ...rest\n}: GenericInputProps) => {\n const { formatMessage } = useIntl();\n\n // TODO: Workaround to get the field hint values if they exist on the type\n const getFieldHintValue = (\n attribute?: Schema.Attribute.AnyAttribute,\n key?: keyof FieldSchema\n ) => {\n if (!attribute) return;\n\n if (key === 'minLength' && key in attribute) {\n return attribute[key];\n }\n\n if (key === 'maxLength' && key in attribute) {\n return attribute[key];\n }\n\n if (key === 'max' && key in attribute) {\n return attribute[key];\n }\n\n if (key === 'min' && key in attribute) {\n return attribute[key];\n }\n };\n\n const { hint } = useFieldHint({\n description,\n fieldSchema: {\n minLength: getFieldHintValue(attribute, 'minLength'),\n maxLength: getFieldHintValue(attribute, 'maxLength'),\n max: getFieldHintValue(attribute, 'max'),\n min: getFieldHintValue(attribute, 'min'),\n },\n type: attribute?.type || type,\n });\n\n const [showPassword, setShowPassword] = React.useState(false);\n\n const CustomInput = customInputs ? customInputs[type] : null;\n\n // the API always returns null, which throws an error in React,\n // therefore we cast this case to undefined\n const value = defaultValue ?? undefined;\n\n /*\n TODO: ideally we should pass in `defaultValue` and `value` for\n inputs, in order to make them controlled components. This variable\n acts as a fallback for now, to prevent React errors in devopment mode\n\n See: https://github.com/strapi/strapi/pull/12861\n */\n const valueWithEmptyStringFallback = value ?? '';\n\n function getErrorMessage(error: string | TranslationMessage | undefined) {\n if (!error) {\n return null;\n }\n\n if (typeof error === 'string') {\n return formatMessage({ id: error, defaultMessage: error });\n }\n\n const values = {\n ...error.values,\n };\n\n return formatMessage(\n {\n id: error.id,\n defaultMessage: error?.defaultMessage ?? error.id,\n },\n values\n );\n }\n\n const errorMessage = getErrorMessage(error) ?? undefined;\n\n if (CustomInput) {\n return (\n <CustomInput\n {...rest}\n attribute={attribute}\n description={description}\n hint={hint}\n disabled={disabled}\n intlLabel={intlLabel}\n labelAction={labelAction}\n error={errorMessage || ''}\n name={name}\n onChange={onChange}\n onDelete={onDelete}\n options={options}\n required={required}\n placeholder={placeholder}\n type={type}\n value={value}\n autoFocus={autoFocus}\n attributeName={attributeName}\n conditionFields={conditionFields}\n />\n );\n }\n\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const formattedPlaceholder = placeholder\n ? formatMessage(\n { id: placeholder.id, defaultMessage: placeholder.defaultMessage },\n { ...placeholder.values }\n )\n : '';\n\n const getComponent = () => {\n switch (type) {\n case 'json': {\n return (\n <JSONInput\n value={value}\n disabled={disabled}\n onChange={(json) => {\n // Default to null when the field is not required and there is no input value\n const value =\n attribute && 'required' in attribute && !attribute?.required && !json.length\n ? null\n : json;\n onChange({ target: { name, value } }, false);\n }}\n minHeight=\"25.2rem\"\n maxHeight=\"50.4rem\"\n />\n );\n }\n case 'bool': {\n return (\n <Toggle\n checked={defaultValue === null ? null : defaultValue || false}\n disabled={disabled}\n offLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.off-label',\n defaultMessage: 'False',\n })}\n onLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.on-label',\n defaultMessage: 'True',\n })}\n onChange={(e) => {\n onChange({ target: { name, value: e.target.checked } });\n }}\n />\n );\n }\n case 'checkbox': {\n return (\n <Checkbox\n disabled={disabled}\n onCheckedChange={(value) => {\n onChange({ target: { name, value } });\n }}\n checked={Boolean(value)}\n >\n {label}\n </Checkbox>\n );\n }\n case 'datetime': {\n const dateValue = parseDateValue(value);\n return (\n <DateTimePicker\n clearLabel={formatMessage({ id: 'clearLabel', defaultMessage: 'Clear' })}\n disabled={disabled}\n onChange={(date) => {\n // check if date is not null or undefined\n const formattedDate = date ? date.toISOString() : null;\n\n onChange({ target: { name, value: formattedDate, type } });\n }}\n onClear={() => onChange({ target: { name, value: null, type } })}\n placeholder={formattedPlaceholder}\n value={dateValue}\n />\n );\n }\n case 'date': {\n const dateValue = parseDateValue(value);\n return (\n <DatePicker\n clearLabel={formatMessage({ id: 'clearLabel', defaultMessage: 'Clear' })}\n disabled={disabled}\n onChange={(date) => {\n onChange({\n target: {\n name,\n value: date ? formatISO(date, { representation: 'date' }) : null,\n type,\n },\n });\n }}\n onClear={() => onChange({ target: { name, value: null, type } })}\n placeholder={formattedPlaceholder}\n value={dateValue}\n />\n );\n }\n case 'number': {\n return (\n <NumberInput\n disabled={disabled}\n onValueChange={(value) => {\n onChange({ target: { name, value, type } });\n }}\n placeholder={formattedPlaceholder}\n step={step}\n value={value}\n autoFocus={autoFocus}\n />\n );\n }\n case 'email': {\n return (\n <TextInput\n autoComplete={autoComplete}\n disabled={disabled}\n onChange={(e) => {\n onChange({ target: { name, value: e.target.value, type } });\n }}\n placeholder={formattedPlaceholder}\n type=\"email\"\n value={valueWithEmptyStringFallback}\n autoFocus={autoFocus}\n />\n );\n }\n case 'timestamp':\n case 'text':\n case 'string': {\n return (\n <TextInput\n autoComplete={autoComplete}\n disabled={disabled}\n onChange={(e) => {\n onChange({ target: { name, value: e.target.value, type } });\n }}\n placeholder={formattedPlaceholder}\n type=\"text\"\n value={valueWithEmptyStringFallback}\n autoFocus={autoFocus}\n />\n );\n }\n case 'password': {\n return (\n <TextInput\n autoComplete={autoComplete}\n disabled={disabled}\n endAction={\n <button\n aria-label={formatMessage({\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n })}\n onClick={() => {\n setShowPassword((prev) => !prev);\n }}\n style={{\n border: 'none',\n padding: 0,\n background: 'transparent',\n }}\n type=\"button\"\n >\n {showPassword ? <Eye fill=\"neutral500\" /> : <EyeStriked fill=\"neutral500\" />}\n </button>\n }\n onChange={(e) => {\n onChange({ target: { name, value: e.target.value, type } });\n }}\n placeholder={formattedPlaceholder}\n type={showPassword ? 'text' : 'password'}\n value={valueWithEmptyStringFallback}\n />\n );\n }\n case 'select': {\n return (\n <SingleSelect\n disabled={disabled}\n onChange={(value) => {\n onChange({ target: { name, value, type: 'select' } });\n }}\n placeholder={formattedPlaceholder}\n value={value}\n >\n {options.map(({ metadatas: { intlLabel, disabled, hidden }, key, value }) => {\n return (\n <SingleSelectOption key={key} value={value} disabled={disabled} hidden={hidden}>\n {formatMessage(intlLabel)}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n );\n }\n case 'textarea': {\n return (\n <Textarea\n disabled={disabled}\n onChange={(event) => onChange({ target: { name, value: event.target.value, type } })}\n placeholder={formattedPlaceholder}\n value={valueWithEmptyStringFallback}\n />\n );\n }\n case 'time': {\n const formattedValue = handleTimeChange({ value, onChange, name, type });\n\n return (\n <TimePicker\n clearLabel={formatMessage({ id: 'clearLabel', defaultMessage: 'Clear' })}\n disabled={disabled}\n onChange={(time) => handleTimeChangeEvent(onChange, name, type, time)}\n onClear={() => handleTimeChangeEvent(onChange, name, type, undefined)}\n value={formattedValue}\n />\n );\n }\n default: {\n /**\n * If there's no component for the given type, we return a disabled text input\n * showing a \"Not supported\" title to illustrate the issue.\n */\n return <TextInput disabled placeholder=\"Not supported\" type=\"text\" value=\"\" />;\n }\n }\n };\n\n return (\n <Field.Root error={errorMessage} name={name} hint={hint} required={required}>\n {type !== 'checkbox' ? <Field.Label action={labelAction}>{label}</Field.Label> : null}\n {getComponent()}\n <Field.Error />\n <Field.Hint />\n </Field.Root>\n );\n};\n\ntype FieldSchema = {\n minLength?: number | string;\n maxLength?: number | string;\n max?: number | string;\n min?: number | string;\n};\ninterface UseFieldHintProps {\n description?: MessageDescriptor & { values?: Record<string, PrimitiveType> };\n fieldSchema?: FieldSchema;\n type?: string;\n}\n\n/**\n * @description\n * A hook for generating the hint for a field\n */\nconst useFieldHint = ({ description, fieldSchema, type }: UseFieldHintProps) => {\n const { formatMessage } = useIntl();\n\n const buildDescription = () =>\n description?.id\n ? formatMessage(\n { id: description.id, defaultMessage: description.defaultMessage },\n { ...description.values }\n )\n : '';\n\n const buildHint = () => {\n const { maximum, minimum } = getMinMax(fieldSchema);\n const units = getFieldUnits({\n type,\n minimum,\n maximum,\n });\n\n const minIsNumber = typeof minimum === 'number';\n const maxIsNumber = typeof maximum === 'number';\n const hasMinAndMax = maxIsNumber && minIsNumber;\n const hasMinOrMax = maxIsNumber || minIsNumber;\n\n if (!description?.id && !hasMinOrMax) {\n return '';\n }\n\n return formatMessage(\n {\n id: 'content-manager.form.Input.hint.text',\n defaultMessage:\n '{min, select, undefined {} other {min. {min}}}{divider}{max, select, undefined {} other {max. {max}}}{unit}{br}{description}',\n },\n {\n min: minimum,\n max: maximum,\n description: buildDescription(),\n unit: units?.message && hasMinOrMax ? formatMessage(units.message, units.values) : null,\n divider: hasMinAndMax\n ? formatMessage({\n id: 'content-manager.form.Input.hint.minMaxDivider',\n defaultMessage: ' / ',\n })\n : null,\n br: hasMinOrMax ? <br /> : null,\n }\n );\n };\n\n return { hint: buildHint() };\n};\n\nconst getFieldUnits = ({\n type,\n minimum,\n maximum,\n}: {\n type?: string;\n minimum?: number;\n maximum?: number;\n}) => {\n if (type && !['string', 'uid', 'richtext', 'email', 'password', 'text'].includes(type)) {\n return {};\n }\n const maxValue = Math.max(minimum || 0, maximum || 0);\n\n return {\n message: {\n id: 'content-manager.form.Input.hint.character.unit',\n defaultMessage: '{maxValue, plural, one { character} other { characters}}',\n },\n values: {\n maxValue,\n },\n };\n};\n\nconst getMinMax = (fieldSchema?: FieldSchema) => {\n if (!fieldSchema) {\n return { maximum: undefined, minimum: undefined };\n }\n\n const { minLength, maxLength, max, min } = fieldSchema;\n\n let minimum;\n let maximum;\n\n const parsedMin = Number(min);\n const parsedMinLength = Number(minLength);\n\n if (!Number.isNaN(parsedMin)) {\n minimum = parsedMin;\n } else if (!Number.isNaN(parsedMinLength)) {\n minimum = parsedMinLength;\n }\n\n const parsedMax = Number(max);\n const parsedMaxLength = Number(maxLength);\n\n if (!Number.isNaN(parsedMax)) {\n maximum = parsedMax;\n } else if (!Number.isNaN(parsedMaxLength)) {\n maximum = parsedMaxLength;\n }\n\n return { maximum, minimum };\n};\n\n/**\n * we've memoized this component because we use a context to store all the data in our form in the content-manager.\n * This then causes _every_ component to re-render because there are no selects incurring performance issues\n * in content-types as the content-type gets more complicated.\n */\nconst MemoizedGenericInput = React.memo(GenericInput, isEqual);\n\nexport type { GenericInputProps, CustomInputProps };\nexport { MemoizedGenericInput as GenericInput };\n"],"names":["GenericInput","autoComplete","customInputs","description","disabled","intlLabel","labelAction","error","name","onChange","onDelete","options","placeholder","required","step","type","value","defaultValue","isNullable","autoFocus","attribute","attributeName","conditionFields","rest","formatMessage","useIntl","getFieldHintValue","key","hint","useFieldHint","fieldSchema","minLength","maxLength","max","min","showPassword","setShowPassword","React","useState","CustomInput","undefined","valueWithEmptyStringFallback","getErrorMessage","id","defaultMessage","values","errorMessage","_jsx","label","formattedPlaceholder","getComponent","JSONInput","json","length","target","minHeight","maxHeight","Toggle","checked","offLabel","onLabel","e","Checkbox","onCheckedChange","Boolean","dateValue","parseDateValue","DateTimePicker","clearLabel","date","formattedDate","toISOString","onClear","DatePicker","formatISO","representation","NumberInput","onValueChange","TextInput","endAction","button","aria-label","onClick","prev","style","border","padding","background","Eye","fill","EyeStriked","SingleSelect","map","metadatas","hidden","SingleSelectOption","Textarea","event","formattedValue","handleTimeChange","TimePicker","time","handleTimeChangeEvent","_jsxs","Field","Root","Label","action","Error","Hint","buildDescription","buildHint","maximum","minimum","getMinMax","units","getFieldUnits","minIsNumber","maxIsNumber","hasMinAndMax","hasMinOrMax","unit","message","divider","br","includes","maxValue","Math","parsedMin","Number","parsedMinLength","isNaN","parsedMax","parsedMaxLength","MemoizedGenericInput","memo","isEqual"],"mappings":"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"}
@@ -71,6 +71,9 @@ const COMPONENT_ICONS = {
71
71
  file: Icons__namespace.File,
72
72
  fileError: Icons__namespace.FileError,
73
73
  filePdf: Icons__namespace.FilePdf,
74
+ fileXls: Icons__namespace.FileXls,
75
+ fileZip: Icons__namespace.FileZip,
76
+ fileCsv: Icons__namespace.FileCsv,
74
77
  filter: Icons__namespace.Filter,
75
78
  folder: Icons__namespace.Folder,
76
79
  gate: Icons__namespace.CastleTurret,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../admin/src/components/IconPicker/constants.ts"],"sourcesContent":["import * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nexport type Icon = (typeof Icons)[keyof typeof Icons] | (typeof Symbols)[keyof typeof Symbols];\n\nconst COMPONENT_ICONS: Record<string, Icon> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { COMPONENT_ICONS };\n"],"names":["COMPONENT_ICONS","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","dashboard","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../admin/src/components/IconPicker/constants.ts"],"sourcesContent":["import * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nexport type Icon = (typeof Icons)[keyof typeof Icons] | (typeof Symbols)[keyof typeof Symbols];\n\nconst COMPONENT_ICONS: Record<string, Icon> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n fileXls: Icons.FileXls,\n fileZip: Icons.FileZip,\n fileCsv: Icons.FileCsv,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { COMPONENT_ICONS };\n"],"names":["COMPONENT_ICONS","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","dashboard","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","fileXls","FileXls","fileZip","FileZip","fileCsv","FileCsv","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":"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"}
@@ -49,6 +49,9 @@ const COMPONENT_ICONS = {
49
49
  file: Icons.File,
50
50
  fileError: Icons.FileError,
51
51
  filePdf: Icons.FilePdf,
52
+ fileXls: Icons.FileXls,
53
+ fileZip: Icons.FileZip,
54
+ fileCsv: Icons.FileCsv,
52
55
  filter: Icons.Filter,
53
56
  folder: Icons.Folder,
54
57
  gate: Icons.CastleTurret,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.mjs","sources":["../../../../admin/src/components/IconPicker/constants.ts"],"sourcesContent":["import * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nexport type Icon = (typeof Icons)[keyof typeof Icons] | (typeof Symbols)[keyof typeof Symbols];\n\nconst COMPONENT_ICONS: Record<string, Icon> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { COMPONENT_ICONS };\n"],"names":["COMPONENT_ICONS","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","dashboard","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":";;;AAKA,MAAMA,eAAwC,GAAA;AAC5CC,IAAAA,KAAAA,EAAOC,MAAMC,KAAK;AAClBC,IAAAA,IAAAA,EAAMF,MAAMG,QAAQ;AACpBC,IAAAA,OAAAA,EAASJ,MAAMK,OAAO;AACtBC,IAAAA,SAAAA,EAAWN,MAAMO,SAAS;AAC1BC,IAAAA,SAAAA,EAAWR,MAAMS,SAAS;AAC1BC,IAAAA,UAAAA,EAAYV,MAAMW,UAAU;AAC5BC,IAAAA,OAAAA,EAASZ,MAAMa,OAAO;AACtBC,IAAAA,UAAAA,EAAYd,MAAMe,SAAS;AAC3BC,IAAAA,IAAAA,EAAMhB,MAAMiB,IAAI;AAChBC,IAAAA,IAAAA,EAAMlB,MAAMmB,IAAI;AAChBC,IAAAA,IAAAA,EAAMpB,MAAMqB,IAAI;AAChBC,IAAAA,SAAAA,EAAWtB,MAAMuB,SAAS;AAC1BC,IAAAA,KAAAA,EAAOxB,MAAMyB,UAAU;AACvBC,IAAAA,UAAAA,EAAY1B,MAAM2B,UAAU;AAC5BC,IAAAA,QAAAA,EAAU5B,MAAM6B,QAAQ;AACxBC,IAAAA,GAAAA,EAAK9B,MAAM+B,GAAG;AACdC,IAAAA,IAAAA,EAAMhC,MAAMiC,IAAI;AAChBC,IAAAA,WAAAA,EAAalC,MAAMmC,WAAW;AAC9BC,IAAAA,WAAAA,EAAapC,MAAMqC,WAAW;AAC9BC,IAAAA,QAAAA,EAAUtC,MAAMuC,QAAQ;AACxBC,IAAAA,KAAAA,EAAOxC,MAAMyC,KAAK;AAClBC,IAAAA,KAAAA,EAAO1C,MAAM2C,KAAK;AAClBC,IAAAA,KAAAA,EAAO5C,MAAM6C,KAAK;AAClBC,IAAAA,IAAAA,EAAM9C,MAAM+C,IAAI;AAChBC,IAAAA,GAAAA,EAAKhD,MAAMiD,GAAG;AACdC,IAAAA,QAAAA,EAAUlD,MAAMmD,QAAQ;AACxBC,IAAAA,OAAAA,EAASpD,MAAMqD,OAAO;AACtBC,IAAAA,SAAAA,EAAWtD,MAAMuD,MAAM;AACvBC,IAAAA,IAAAA,EAAMxD,MAAMyD,IAAI;AAChBC,IAAAA,KAAAA,EAAO1D,MAAM2D,KAAK;AAClBC,IAAAA,GAAAA,EAAK5D,MAAM6D,MAAM;AACjBC,IAAAA,MAAAA,EAAQ9D,MAAM+D,MAAM;AACpBC,IAAAA,SAAAA,EAAWhE,MAAMiE,WAAW;AAC5BC,IAAAA,QAAAA,EAAUlE,MAAMmE,QAAQ;AACxBC,IAAAA,OAAAA,EAASpE,MAAMqE,OAAO;AACtBC,IAAAA,MAAAA,EAAQtE,MAAMuE,WAAW;AACzBC,IAAAA,KAAAA,EAAOxE,MAAMyE,KAAK;AAClBC,IAAAA,YAAAA,EAAc1E,MAAM2E,YAAY;AAChCC,IAAAA,cAAAA,EAAgB5E,MAAM6E,cAAc;AACpCC,IAAAA,OAAAA,EAAS9E,MAAM+E,IAAI;AACnBC,IAAAA,IAAAA,EAAMhF,MAAMiF,OAAO;AACnBC,IAAAA,MAAAA,EAAQlF,MAAMmF,MAAM;AACpBC,IAAAA,GAAAA,EAAKpF,MAAMqF,GAAG;AACdC,IAAAA,OAAAA,EAAStF,MAAMuF,OAAO;AACtBC,IAAAA,IAAAA,EAAMxF,MAAMyF,IAAI;AAChBC,IAAAA,SAAAA,EAAW1F,MAAM2F,SAAS;AAC1BC,IAAAA,OAAAA,EAAS5F,MAAM6F,OAAO;AACtBC,IAAAA,MAAAA,EAAQ9F,MAAM+F,MAAM;AACpBC,IAAAA,MAAAA,EAAQhG,MAAMiG,MAAM;AACpBC,IAAAA,IAAAA,EAAMlG,MAAMmG,YAAY;AACxBC,IAAAA,IAAAA,EAAMpG,MAAMqG,IAAI;AAChBC,IAAAA,KAAAA,EAAOtG,MAAMuG,KAAK;AAClBC,IAAAA,IAAAA,EAAMxG,MAAMyG,QAAQ;AACpBC,IAAAA,SAAAA,EAAW1G,MAAM2G,SAAS;AAC1BC,IAAAA,OAAAA,EAAS5G,MAAM6G,OAAO;AACtBC,IAAAA,SAAAA,EAAW9G,MAAM+G,UAAU;AAC3BC,IAAAA,KAAAA,EAAOhH,MAAMiH,KAAK;AAClBC,IAAAA,KAAAA,EAAOlH,MAAMmH,KAAK;AAClBC,IAAAA,WAAAA,EAAapH,MAAMqH,WAAW;AAC9BC,IAAAA,MAAAA,EAAQtH,MAAMuH,MAAM;AACpBC,IAAAA,GAAAA,EAAKxH,MAAMyH,GAAG;AACdC,IAAAA,SAAAA,EAAW1H,MAAM2H,MAAM;AACvBC,IAAAA,KAAAA,EAAO5H,MAAM6H,QAAQ;AACrBC,IAAAA,MAAAA,EAAQ9H,MAAM+H,MAAM;AACpBC,IAAAA,SAAAA,EAAWhI,MAAMiI,SAAS;AAC1BC,IAAAA,IAAAA,EAAMlI,MAAMmI,IAAI;AAChBC,IAAAA,IAAAA,EAAMpI,MAAMqI,IAAI;AAChBC,IAAAA,KAAAA,EAAOtI,MAAMuI,KAAK;AAClBC,IAAAA,UAAAA,EAAYxI,MAAMyI,UAAU;AAC5BC,IAAAA,SAAAA,EAAW1I,MAAM2I,SAAS;AAC1BC,IAAAA,QAAAA,EAAU5I,MAAM6I,QAAQ;AACxBC,IAAAA,MAAAA,EAAQC,QAAQC,MAAM;AACtBC,IAAAA,OAAAA,EAASjJ,MAAMkJ,OAAO;AACtBC,IAAAA,UAAAA,EAAYnJ,MAAMoJ,UAAU;AAC5BC,IAAAA,OAAAA,EAASrJ,MAAMsJ,OAAO;AACtBC,IAAAA,IAAAA,EAAMvJ,MAAMwJ,IAAI;AAChBC,IAAAA,KAAAA,EAAOzJ,MAAM0J,UAAU;AACvBC,IAAAA,SAAAA,EAAW3J,MAAM4J,SAAS;AAC1BC,IAAAA,QAAAA,EAAU7J,MAAM8J,QAAQ;AACxBC,IAAAA,MAAAA,EAAQ/J,MAAMgK,MAAM;AACpBC,IAAAA,KAAAA,EAAOjK,MAAMyB,UAAU;AACvByI,IAAAA,UAAAA,EAAYlK,MAAMyB,UAAU;AAC5B0I,IAAAA,UAAAA,EAAYnK,MAAMoK,UAAU;AAC5BC,IAAAA,MAAAA,EAAQrK,MAAMsK,MAAM;AACpBC,IAAAA,KAAAA,EAAOvK,MAAMwK,KAAK;AAClBC,IAAAA,OAAAA,EAASzK,MAAM0K,KAAK;AACpBC,IAAAA,GAAAA,EAAK3K,MAAM4K,GAAG;AACdC,IAAAA,MAAAA,EAAQ7K,MAAM8K,MAAM;AACpBC,IAAAA,KAAAA,EAAO/K,MAAMgL,KAAK;AAClBC,IAAAA,IAAAA,EAAMjL,MAAMkL,IAAI;AAChBC,IAAAA,IAAAA,EAAMnL,MAAMoL,IAAI;AAChBC,IAAAA,QAAAA,EAAUrL,MAAMsL,QAAQ;AACxBC,IAAAA,MAAAA,EAAQvL,MAAMwL,WAAW;AACzBC,IAAAA,QAAAA,EAAUzL,MAAM0L,QAAQ;AACxBC,IAAAA,KAAAA,EAAO3L,MAAM4L,MAAM;AACnBC,IAAAA,OAAAA,EAAS7L,MAAM8L,cAAc;AAC7BC,IAAAA,UAAAA,EAAY/L,MAAMgM,UAAU;AAC5BC,IAAAA,MAAAA,EAAQjM,MAAMkM,MAAM;AACpBC,IAAAA,MAAAA,EAAQnM,MAAMoM,sBAAsB;AACpCC,IAAAA,QAAAA,EAAUrM,MAAMsM,QAAQ;AACxBC,IAAAA,MAAAA,EAAQvM,MAAMwM,MAAM;AACpBC,IAAAA,IAAAA,EAAMzM,MAAM0M,KAAK;AACjBC,IAAAA,MAAAA,EAAQ3M,MAAM4M,MAAM;AACpBC,IAAAA,MAAAA,EAAQ7M,MAAM8M,MAAM;AACpBC,IAAAA,KAAAA,EAAO/M,MAAMgN,KAAK;AAClBC,IAAAA,YAAAA,EAAcjN,MAAMkN,YAAY;AAChCC,IAAAA,SAAAA,EAAWnN,MAAMoN,iBAAiB;AAClCC,IAAAA,KAAAA,EAAOrN,MAAMsN,KAAK;AAClBC,IAAAA,IAAAA,EAAMvN,MAAMwN,IAAI;AAChBC,IAAAA,KAAAA,EAAOzN,MAAM0N,KAAK;AAClBC,IAAAA,aAAAA,EAAe3N,MAAM4N,aAAa;AAClCC,IAAAA,GAAAA,EAAK7N,MAAM8N,GAAG;AACdC,IAAAA,UAAAA,EAAY/N,MAAMgO,UAAU;AAC5BC,IAAAA,SAAAA,EAAWjO,MAAMkO,SAAS;AAC1BC,IAAAA,OAAAA,EAASnO,MAAMoO,OAAO;AACtBC,IAAAA,KAAAA,EAAOrO,MAAMsO,KAAK;AAClBC,IAAAA,OAAAA,EAASxF,QAAQyF,CAAC;AAClBC,IAAAA,OAAAA,EAASzO,MAAM0O,OAAO;AACtBC,IAAAA,SAAAA,EAAW3O,MAAM4O,SAAS;AAC1BC,IAAAA,IAAAA,EAAM7O,MAAM8O,IAAI;AAChBC,IAAAA,UAAAA,EAAY/O,MAAMgP,UAAU;AAC5BC,IAAAA,QAAAA,EAAUjP,MAAMkP,QAAQ;AACxBC,IAAAA,IAAAA,EAAMnP,MAAMoP,IAAI;AAChBC,IAAAA,UAAAA,EAAYrP,MAAMsP,UAAU;AAC5BC,IAAAA,KAAAA,EAAOvP,MAAMuF;AACf;;;;"}
1
+ {"version":3,"file":"constants.mjs","sources":["../../../../admin/src/components/IconPicker/constants.ts"],"sourcesContent":["import * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nexport type Icon = (typeof Icons)[keyof typeof Icons] | (typeof Symbols)[keyof typeof Symbols];\n\nconst COMPONENT_ICONS: Record<string, Icon> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n fileXls: Icons.FileXls,\n fileZip: Icons.FileZip,\n fileCsv: Icons.FileCsv,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { COMPONENT_ICONS };\n"],"names":["COMPONENT_ICONS","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","dashboard","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","fileXls","FileXls","fileZip","FileZip","fileCsv","FileCsv","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sources":["../../../admin/src/components/List.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n DragEndEvent,\n DragStartEvent,\n DragOverlay,\n UniqueIdentifier,\n} from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport {\n SortableContext,\n verticalListSortingStrategy,\n useSortable,\n sortableKeyboardCoordinates,\n} from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { tours, useTracking } from '@strapi/admin/strapi-admin';\nimport { Box, Button, EmptyStateLayout } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { createPortal } from 'react-dom';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../utils/getTrad';\n\nimport { AttributeRow, type AttributeRowProps } from './AttributeRow';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { NestedTFooter, TFooter } from './Footers';\nimport { useFormModalNavigation } from './FormModalNavigation/useFormModalNavigation';\n\nimport type { Component, ContentType } from '../types';\nimport type { UID } from '@strapi/types';\n\nexport const ListGrid = styled(Box)`\n white-space: nowrap;\n list-style: none;\n list-style-type: none;\n`;\n\ntype ListProps = {\n addComponentToDZ?: () => void;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n isMain?: boolean;\n secondLoopComponentUid?: UID.Component | null;\n isSub?: boolean;\n type: ContentType | Component;\n};\n\nconst SortableRow = (props: AttributeRowProps) => {\n const { isInDevelopmentMode } = useDataManager();\n\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n setActivatorNodeRef,\n } = useSortable({\n disabled:\n !isInDevelopmentMode || props.item.status === 'REMOVED' || props.type.status === 'REMOVED',\n id: props.item.id,\n data: { index: props.item.index },\n });\n\n const style = {\n transform: CSS.Transform.toString({\n x: transform?.x ?? 0,\n y: transform?.y ?? 0,\n scaleX: 1,\n scaleY: 1,\n }),\n transition,\n };\n\n return (\n <AttributeRow\n ref={setNodeRef}\n handleRef={setActivatorNodeRef}\n isDragging={isDragging}\n attributes={attributes}\n listeners={listeners}\n style={style}\n {...props}\n />\n );\n};\n\nexport const List = ({\n addComponentToDZ,\n firstLoopComponentUid,\n isFromDynamicZone = false,\n isMain = false,\n isSub = false,\n secondLoopComponentUid,\n type,\n}: ListProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { isInDevelopmentMode, moveAttribute } = useDataManager();\n const { onOpenModalAddField } = useFormModalNavigation();\n\n const items = type?.attributes.map((item, index) => {\n return {\n id: `${type.uid}_${item.name}`,\n index,\n ...item,\n };\n });\n\n const [activeId, setActiveId] = useState<UniqueIdentifier | null>(null);\n\n const isDeleted = type?.status === 'REMOVED';\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n })\n );\n\n function handlerDragStart({ active }: DragStartEvent) {\n if (!active) {\n return;\n }\n\n setActiveId(active.id);\n }\n\n function handleDragEnd(event: DragEndEvent) {\n const { active, over } = event;\n\n setActiveId(null);\n\n if (over) {\n if (active.id !== over.id) {\n moveAttribute({\n forTarget: type.modelType,\n targetUid: type.uid,\n from: active.data.current!.index,\n to: over.data.current!.index,\n });\n }\n }\n }\n\n const activeItem = items.find((item) => item.id === activeId);\n\n const onClickAddField = () => {\n if (isDeleted) {\n return;\n }\n\n trackUsage('hasClickedCTBAddFieldBanner');\n\n onOpenModalAddField({ forTarget: type?.modelType, targetUid: type.uid });\n };\n\n if (type?.attributes.length === 0 && isMain) {\n return (\n <EmptyStateLayout\n action={\n <tours.contentTypeBuilder.AddFields>\n <Button onClick={onClickAddField} size=\"L\" startIcon={<Plus />} variant=\"secondary\">\n {formatMessage({\n id: getTrad('table.button.no-fields'),\n defaultMessage: 'Add new field',\n })}\n </Button>\n </tours.contentTypeBuilder.AddFields>\n }\n content={formatMessage(\n type.modelType === 'contentType'\n ? {\n id: getTrad('table.content.no-fields.collection-type'),\n defaultMessage: 'Add your first field to this Collection-Type',\n }\n : {\n id: getTrad('table.content.no-fields.component'),\n defaultMessage: 'Add your first field to this component',\n }\n )}\n hasRadius\n icon={<EmptyDocuments width=\"16rem\" />}\n />\n );\n }\n\n return (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n onDragStart={handlerDragStart}\n onDragCancel={() => setActiveId(null)}\n modifiers={[restrictToVerticalAxis]}\n >\n <ListGrid tag=\"ul\">\n {createPortal(\n <DragOverlay zIndex={10}>\n {activeItem && (\n <AttributeRow\n isOverlay\n item={activeItem}\n firstLoopComponentUid={firstLoopComponentUid}\n isFromDynamicZone={isFromDynamicZone}\n secondLoopComponentUid={secondLoopComponentUid}\n type={type}\n addComponentToDZ={addComponentToDZ}\n />\n )}\n </DragOverlay>,\n document.body\n )}\n <SortableContext items={items} strategy={verticalListSortingStrategy}>\n {items.map((item) => {\n return (\n <SortableRow\n key={item.id}\n item={item}\n firstLoopComponentUid={firstLoopComponentUid}\n isFromDynamicZone={isFromDynamicZone}\n secondLoopComponentUid={secondLoopComponentUid}\n type={type}\n addComponentToDZ={addComponentToDZ}\n />\n );\n })}\n </SortableContext>\n </ListGrid>\n\n {isMain && isInDevelopmentMode && (\n <TFooter\n cursor={isDeleted ? 'normal' : 'pointer'}\n icon={<Plus />}\n onClick={onClickAddField}\n color={isDeleted ? 'neutral' : 'primary'}\n >\n {formatMessage({\n id: getTrad(\n `form.button.add.field.to.${type.modelType === 'component' ? 'component' : type.kind}`\n ),\n defaultMessage: 'Add another field',\n })}\n </TFooter>\n )}\n {isSub && isInDevelopmentMode && (\n <NestedTFooter\n cursor={isDeleted ? 'normal' : 'pointer'}\n icon={<Plus />}\n onClick={onClickAddField}\n color={isFromDynamicZone && !isDeleted ? 'primary' : 'neutral'}\n >\n {formatMessage({\n id: getTrad(`form.button.add.field.to.component`),\n defaultMessage: 'Add another field',\n })}\n </NestedTFooter>\n )}\n </DndContext>\n );\n};\n"],"names":["ListGrid","styled","Box","SortableRow","props","isInDevelopmentMode","useDataManager","isDragging","attributes","listeners","setNodeRef","transform","transition","setActivatorNodeRef","useSortable","disabled","item","status","type","id","data","index","style","CSS","Transform","toString","x","y","scaleX","scaleY","_jsx","AttributeRow","ref","handleRef","List","addComponentToDZ","firstLoopComponentUid","isFromDynamicZone","isMain","isSub","secondLoopComponentUid","formatMessage","useIntl","trackUsage","useTracking","moveAttribute","onOpenModalAddField","useFormModalNavigation","items","map","uid","name","activeId","setActiveId","useState","isDeleted","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","coordinateGetter","sortableKeyboardCoordinates","handlerDragStart","active","handleDragEnd","event","over","forTarget","modelType","targetUid","from","current","to","activeItem","find","onClickAddField","length","EmptyStateLayout","action","tours","contentTypeBuilder","AddFields","Button","onClick","size","startIcon","Plus","variant","getTrad","defaultMessage","content","hasRadius","icon","EmptyDocuments","width","_jsxs","DndContext","collisionDetection","closestCenter","onDragEnd","onDragStart","onDragCancel","modifiers","restrictToVerticalAxis","tag","createPortal","DragOverlay","zIndex","isOverlay","document","body","SortableContext","strategy","verticalListSortingStrategy","TFooter","cursor","color","kind","NestedTFooter"],"mappings":"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"}
1
+ {"version":3,"file":"List.js","sources":["../../../admin/src/components/List.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n DragEndEvent,\n DragStartEvent,\n DragOverlay,\n UniqueIdentifier,\n} from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport {\n SortableContext,\n verticalListSortingStrategy,\n useSortable,\n sortableKeyboardCoordinates,\n} from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { tours, useTracking } from '@strapi/admin/strapi-admin';\nimport { Box, Button, EmptyStateLayout } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { createPortal } from 'react-dom';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../utils/getTrad';\n\nimport { AttributeRow, type AttributeRowProps } from './AttributeRow';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { NestedTFooter, TFooter } from './Footers';\nimport { useFormModalNavigation } from './FormModalNavigation/useFormModalNavigation';\n\nimport type { Component, ContentType } from '../types';\nimport type { UID } from '@strapi/types';\n\nexport const ListGrid = styled(Box)`\n white-space: nowrap;\n list-style: none;\n list-style-type: none;\n`;\n\ntype ListProps = {\n addComponentToDZ?: () => void;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n isMain?: boolean;\n secondLoopComponentUid?: UID.Component | null;\n isSub?: boolean;\n type: ContentType | Component;\n};\n\nconst SortableRow = (props: AttributeRowProps) => {\n const { isInDevelopmentMode } = useDataManager();\n\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n setActivatorNodeRef,\n } = useSortable({\n disabled:\n !isInDevelopmentMode || props.item.status === 'REMOVED' || props.type.status === 'REMOVED',\n id: props.item.id,\n data: { index: props.item.index },\n });\n\n const style = {\n transform: CSS.Transform.toString({\n x: transform?.x ?? 0,\n y: transform?.y ?? 0,\n scaleX: 1,\n scaleY: 1,\n }),\n transition,\n };\n\n return (\n <AttributeRow\n ref={setNodeRef}\n handleRef={setActivatorNodeRef}\n isDragging={isDragging}\n attributes={attributes}\n listeners={listeners}\n style={style}\n {...props}\n />\n );\n};\n\nexport const List = ({\n addComponentToDZ,\n firstLoopComponentUid,\n isFromDynamicZone = false,\n isMain = false,\n isSub = false,\n secondLoopComponentUid,\n type,\n}: ListProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { isInDevelopmentMode, moveAttribute } = useDataManager();\n const { onOpenModalAddField } = useFormModalNavigation();\n\n const items = type?.attributes.map((item, index) => {\n return {\n id: `${type.uid}_${item.name}`,\n index,\n ...item,\n };\n });\n\n const [activeId, setActiveId] = useState<UniqueIdentifier | null>(null);\n\n const isDeleted = type?.status === 'REMOVED';\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n })\n );\n\n function handlerDragStart({ active }: DragStartEvent) {\n if (!active) {\n return;\n }\n\n setActiveId(active.id);\n }\n\n function handleDragEnd(event: DragEndEvent) {\n const { active, over } = event;\n\n setActiveId(null);\n\n if (over) {\n if (active.id !== over.id) {\n moveAttribute({\n forTarget: type.modelType,\n targetUid: type.uid,\n from: active.data.current!.index,\n to: over.data.current!.index,\n });\n }\n }\n }\n\n const activeItem = items.find((item) => item.id === activeId);\n\n const onClickAddField = () => {\n if (isDeleted) {\n return;\n }\n\n trackUsage('hasClickedCTBAddFieldBanner');\n\n onOpenModalAddField({ forTarget: type?.modelType, targetUid: type.uid });\n };\n\n if (type?.attributes.length === 0 && isMain) {\n return (\n <EmptyStateLayout\n action={\n <tours.contentTypeBuilder.AddFields>\n <Button onClick={onClickAddField} size=\"L\" startIcon={<Plus />} variant=\"secondary\">\n {formatMessage({\n id: getTrad('table.button.no-fields'),\n defaultMessage: 'Add new field',\n })}\n </Button>\n </tours.contentTypeBuilder.AddFields>\n }\n content={formatMessage(\n type.modelType === 'contentType'\n ? {\n id: getTrad('table.content.no-fields.collection-type'),\n defaultMessage: 'Add your first field to this Collection-Type',\n }\n : {\n id: getTrad('table.content.no-fields.component'),\n defaultMessage: 'Add your first field to this component',\n }\n )}\n hasRadius\n icon={<EmptyDocuments width=\"16rem\" />}\n />\n );\n }\n\n return (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n onDragStart={handlerDragStart}\n onDragCancel={() => setActiveId(null)}\n modifiers={[restrictToVerticalAxis]}\n >\n <ListGrid tag=\"ul\">\n {createPortal(\n <DragOverlay zIndex={10}>\n {activeItem && (\n <AttributeRow\n isOverlay\n item={activeItem}\n firstLoopComponentUid={firstLoopComponentUid}\n isFromDynamicZone={isFromDynamicZone}\n secondLoopComponentUid={secondLoopComponentUid}\n type={type}\n addComponentToDZ={addComponentToDZ}\n />\n )}\n </DragOverlay>,\n document.body\n )}\n <SortableContext items={items} strategy={verticalListSortingStrategy}>\n {items.map((item) => {\n return (\n <SortableRow\n key={item.id}\n item={item}\n firstLoopComponentUid={firstLoopComponentUid}\n isFromDynamicZone={isFromDynamicZone}\n secondLoopComponentUid={secondLoopComponentUid}\n type={type}\n addComponentToDZ={addComponentToDZ}\n />\n );\n })}\n </SortableContext>\n </ListGrid>\n\n {isMain && isInDevelopmentMode && (\n <TFooter\n cursor={isDeleted ? 'normal' : 'pointer'}\n icon={<Plus />}\n onClick={onClickAddField}\n color={isDeleted ? 'neutral' : 'primary'}\n >\n {formatMessage({\n id: getTrad(\n `form.button.add.field.to.${type.modelType === 'component' ? 'component' : type.kind}`\n ),\n defaultMessage: 'Add another field',\n })}\n </TFooter>\n )}\n {isSub && isInDevelopmentMode && (\n <NestedTFooter\n cursor={isDeleted ? 'normal' : 'pointer'}\n icon={<Plus />}\n onClick={onClickAddField}\n color={isFromDynamicZone && !isDeleted ? 'primary' : 'neutral'}\n >\n {formatMessage({\n id: getTrad(`form.button.add.field.to.component`),\n defaultMessage: 'Add another field',\n })}\n </NestedTFooter>\n )}\n </DndContext>\n );\n};\n"],"names":["ListGrid","styled","Box","SortableRow","props","isInDevelopmentMode","useDataManager","isDragging","attributes","listeners","setNodeRef","transform","transition","setActivatorNodeRef","useSortable","disabled","item","status","type","id","data","index","style","CSS","Transform","toString","x","y","scaleX","scaleY","_jsx","AttributeRow","ref","handleRef","List","addComponentToDZ","firstLoopComponentUid","isFromDynamicZone","isMain","isSub","secondLoopComponentUid","formatMessage","useIntl","trackUsage","useTracking","moveAttribute","onOpenModalAddField","useFormModalNavigation","items","map","uid","name","activeId","setActiveId","useState","isDeleted","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","coordinateGetter","sortableKeyboardCoordinates","handlerDragStart","active","handleDragEnd","event","over","forTarget","modelType","targetUid","from","current","to","activeItem","find","onClickAddField","length","EmptyStateLayout","action","tours","contentTypeBuilder","AddFields","Button","onClick","size","startIcon","Plus","variant","getTrad","defaultMessage","content","hasRadius","icon","EmptyDocuments","width","_jsxs","DndContext","collisionDetection","closestCenter","onDragEnd","onDragStart","onDragCancel","modifiers","restrictToVerticalAxis","tag","createPortal","DragOverlay","zIndex","isOverlay","document","body","SortableContext","strategy","verticalListSortingStrategy","TFooter","cursor","color","kind","NestedTFooter"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"List.mjs","sources":["../../../admin/src/components/List.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n DragEndEvent,\n DragStartEvent,\n DragOverlay,\n UniqueIdentifier,\n} from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport {\n SortableContext,\n verticalListSortingStrategy,\n useSortable,\n sortableKeyboardCoordinates,\n} from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { tours, useTracking } from '@strapi/admin/strapi-admin';\nimport { Box, Button, EmptyStateLayout } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { createPortal } from 'react-dom';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../utils/getTrad';\n\nimport { AttributeRow, type AttributeRowProps } from './AttributeRow';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { NestedTFooter, TFooter } from './Footers';\nimport { useFormModalNavigation } from './FormModalNavigation/useFormModalNavigation';\n\nimport type { Component, ContentType } from '../types';\nimport type { UID } from '@strapi/types';\n\nexport const ListGrid = styled(Box)`\n white-space: nowrap;\n list-style: none;\n list-style-type: none;\n`;\n\ntype ListProps = {\n addComponentToDZ?: () => void;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n isMain?: boolean;\n secondLoopComponentUid?: UID.Component | null;\n isSub?: boolean;\n type: ContentType | Component;\n};\n\nconst SortableRow = (props: AttributeRowProps) => {\n const { isInDevelopmentMode } = useDataManager();\n\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n setActivatorNodeRef,\n } = useSortable({\n disabled:\n !isInDevelopmentMode || props.item.status === 'REMOVED' || props.type.status === 'REMOVED',\n id: props.item.id,\n data: { index: props.item.index },\n });\n\n const style = {\n transform: CSS.Transform.toString({\n x: transform?.x ?? 0,\n y: transform?.y ?? 0,\n scaleX: 1,\n scaleY: 1,\n }),\n transition,\n };\n\n return (\n <AttributeRow\n ref={setNodeRef}\n handleRef={setActivatorNodeRef}\n isDragging={isDragging}\n attributes={attributes}\n listeners={listeners}\n style={style}\n {...props}\n />\n );\n};\n\nexport const List = ({\n addComponentToDZ,\n firstLoopComponentUid,\n isFromDynamicZone = false,\n isMain = false,\n isSub = false,\n secondLoopComponentUid,\n type,\n}: ListProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { isInDevelopmentMode, moveAttribute } = useDataManager();\n const { onOpenModalAddField } = useFormModalNavigation();\n\n const items = type?.attributes.map((item, index) => {\n return {\n id: `${type.uid}_${item.name}`,\n index,\n ...item,\n };\n });\n\n const [activeId, setActiveId] = useState<UniqueIdentifier | null>(null);\n\n const isDeleted = type?.status === 'REMOVED';\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n })\n );\n\n function handlerDragStart({ active }: DragStartEvent) {\n if (!active) {\n return;\n }\n\n setActiveId(active.id);\n }\n\n function handleDragEnd(event: DragEndEvent) {\n const { active, over } = event;\n\n setActiveId(null);\n\n if (over) {\n if (active.id !== over.id) {\n moveAttribute({\n forTarget: type.modelType,\n targetUid: type.uid,\n from: active.data.current!.index,\n to: over.data.current!.index,\n });\n }\n }\n }\n\n const activeItem = items.find((item) => item.id === activeId);\n\n const onClickAddField = () => {\n if (isDeleted) {\n return;\n }\n\n trackUsage('hasClickedCTBAddFieldBanner');\n\n onOpenModalAddField({ forTarget: type?.modelType, targetUid: type.uid });\n };\n\n if (type?.attributes.length === 0 && isMain) {\n return (\n <EmptyStateLayout\n action={\n <tours.contentTypeBuilder.AddFields>\n <Button onClick={onClickAddField} size=\"L\" startIcon={<Plus />} variant=\"secondary\">\n {formatMessage({\n id: getTrad('table.button.no-fields'),\n defaultMessage: 'Add new field',\n })}\n </Button>\n </tours.contentTypeBuilder.AddFields>\n }\n content={formatMessage(\n type.modelType === 'contentType'\n ? {\n id: getTrad('table.content.no-fields.collection-type'),\n defaultMessage: 'Add your first field to this Collection-Type',\n }\n : {\n id: getTrad('table.content.no-fields.component'),\n defaultMessage: 'Add your first field to this component',\n }\n )}\n hasRadius\n icon={<EmptyDocuments width=\"16rem\" />}\n />\n );\n }\n\n return (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n onDragStart={handlerDragStart}\n onDragCancel={() => setActiveId(null)}\n modifiers={[restrictToVerticalAxis]}\n >\n <ListGrid tag=\"ul\">\n {createPortal(\n <DragOverlay zIndex={10}>\n {activeItem && (\n <AttributeRow\n isOverlay\n item={activeItem}\n firstLoopComponentUid={firstLoopComponentUid}\n isFromDynamicZone={isFromDynamicZone}\n secondLoopComponentUid={secondLoopComponentUid}\n type={type}\n addComponentToDZ={addComponentToDZ}\n />\n )}\n </DragOverlay>,\n document.body\n )}\n <SortableContext items={items} strategy={verticalListSortingStrategy}>\n {items.map((item) => {\n return (\n <SortableRow\n key={item.id}\n item={item}\n firstLoopComponentUid={firstLoopComponentUid}\n isFromDynamicZone={isFromDynamicZone}\n secondLoopComponentUid={secondLoopComponentUid}\n type={type}\n addComponentToDZ={addComponentToDZ}\n />\n );\n })}\n </SortableContext>\n </ListGrid>\n\n {isMain && isInDevelopmentMode && (\n <TFooter\n cursor={isDeleted ? 'normal' : 'pointer'}\n icon={<Plus />}\n onClick={onClickAddField}\n color={isDeleted ? 'neutral' : 'primary'}\n >\n {formatMessage({\n id: getTrad(\n `form.button.add.field.to.${type.modelType === 'component' ? 'component' : type.kind}`\n ),\n defaultMessage: 'Add another field',\n })}\n </TFooter>\n )}\n {isSub && isInDevelopmentMode && (\n <NestedTFooter\n cursor={isDeleted ? 'normal' : 'pointer'}\n icon={<Plus />}\n onClick={onClickAddField}\n color={isFromDynamicZone && !isDeleted ? 'primary' : 'neutral'}\n >\n {formatMessage({\n id: getTrad(`form.button.add.field.to.component`),\n defaultMessage: 'Add another field',\n })}\n </NestedTFooter>\n )}\n </DndContext>\n );\n};\n"],"names":["ListGrid","styled","Box","SortableRow","props","isInDevelopmentMode","useDataManager","isDragging","attributes","listeners","setNodeRef","transform","transition","setActivatorNodeRef","useSortable","disabled","item","status","type","id","data","index","style","CSS","Transform","toString","x","y","scaleX","scaleY","_jsx","AttributeRow","ref","handleRef","List","addComponentToDZ","firstLoopComponentUid","isFromDynamicZone","isMain","isSub","secondLoopComponentUid","formatMessage","useIntl","trackUsage","useTracking","moveAttribute","onOpenModalAddField","useFormModalNavigation","items","map","uid","name","activeId","setActiveId","useState","isDeleted","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","coordinateGetter","sortableKeyboardCoordinates","handlerDragStart","active","handleDragEnd","event","over","forTarget","modelType","targetUid","from","current","to","activeItem","find","onClickAddField","length","EmptyStateLayout","action","tours","contentTypeBuilder","AddFields","Button","onClick","size","startIcon","Plus","variant","getTrad","defaultMessage","content","hasRadius","icon","EmptyDocuments","width","_jsxs","DndContext","collisionDetection","closestCenter","onDragEnd","onDragStart","onDragCancel","modifiers","restrictToVerticalAxis","tag","createPortal","DragOverlay","zIndex","isOverlay","document","body","SortableContext","strategy","verticalListSortingStrategy","TFooter","cursor","color","kind","NestedTFooter"],"mappings":"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"}
1
+ {"version":3,"file":"List.mjs","sources":["../../../admin/src/components/List.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n DragEndEvent,\n DragStartEvent,\n DragOverlay,\n UniqueIdentifier,\n} from '@dnd-kit/core';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport {\n SortableContext,\n verticalListSortingStrategy,\n useSortable,\n sortableKeyboardCoordinates,\n} from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { tours, useTracking } from '@strapi/admin/strapi-admin';\nimport { Box, Button, EmptyStateLayout } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { createPortal } from 'react-dom';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../utils/getTrad';\n\nimport { AttributeRow, type AttributeRowProps } from './AttributeRow';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { NestedTFooter, TFooter } from './Footers';\nimport { useFormModalNavigation } from './FormModalNavigation/useFormModalNavigation';\n\nimport type { Component, ContentType } from '../types';\nimport type { UID } from '@strapi/types';\n\nexport const ListGrid = styled(Box)`\n white-space: nowrap;\n list-style: none;\n list-style-type: none;\n`;\n\ntype ListProps = {\n addComponentToDZ?: () => void;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n isMain?: boolean;\n secondLoopComponentUid?: UID.Component | null;\n isSub?: boolean;\n type: ContentType | Component;\n};\n\nconst SortableRow = (props: AttributeRowProps) => {\n const { isInDevelopmentMode } = useDataManager();\n\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n setActivatorNodeRef,\n } = useSortable({\n disabled:\n !isInDevelopmentMode || props.item.status === 'REMOVED' || props.type.status === 'REMOVED',\n id: props.item.id,\n data: { index: props.item.index },\n });\n\n const style = {\n transform: CSS.Transform.toString({\n x: transform?.x ?? 0,\n y: transform?.y ?? 0,\n scaleX: 1,\n scaleY: 1,\n }),\n transition,\n };\n\n return (\n <AttributeRow\n ref={setNodeRef}\n handleRef={setActivatorNodeRef}\n isDragging={isDragging}\n attributes={attributes}\n listeners={listeners}\n style={style}\n {...props}\n />\n );\n};\n\nexport const List = ({\n addComponentToDZ,\n firstLoopComponentUid,\n isFromDynamicZone = false,\n isMain = false,\n isSub = false,\n secondLoopComponentUid,\n type,\n}: ListProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { isInDevelopmentMode, moveAttribute } = useDataManager();\n const { onOpenModalAddField } = useFormModalNavigation();\n\n const items = type?.attributes.map((item, index) => {\n return {\n id: `${type.uid}_${item.name}`,\n index,\n ...item,\n };\n });\n\n const [activeId, setActiveId] = useState<UniqueIdentifier | null>(null);\n\n const isDeleted = type?.status === 'REMOVED';\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n })\n );\n\n function handlerDragStart({ active }: DragStartEvent) {\n if (!active) {\n return;\n }\n\n setActiveId(active.id);\n }\n\n function handleDragEnd(event: DragEndEvent) {\n const { active, over } = event;\n\n setActiveId(null);\n\n if (over) {\n if (active.id !== over.id) {\n moveAttribute({\n forTarget: type.modelType,\n targetUid: type.uid,\n from: active.data.current!.index,\n to: over.data.current!.index,\n });\n }\n }\n }\n\n const activeItem = items.find((item) => item.id === activeId);\n\n const onClickAddField = () => {\n if (isDeleted) {\n return;\n }\n\n trackUsage('hasClickedCTBAddFieldBanner');\n\n onOpenModalAddField({ forTarget: type?.modelType, targetUid: type.uid });\n };\n\n if (type?.attributes.length === 0 && isMain) {\n return (\n <EmptyStateLayout\n action={\n <tours.contentTypeBuilder.AddFields>\n <Button onClick={onClickAddField} size=\"L\" startIcon={<Plus />} variant=\"secondary\">\n {formatMessage({\n id: getTrad('table.button.no-fields'),\n defaultMessage: 'Add new field',\n })}\n </Button>\n </tours.contentTypeBuilder.AddFields>\n }\n content={formatMessage(\n type.modelType === 'contentType'\n ? {\n id: getTrad('table.content.no-fields.collection-type'),\n defaultMessage: 'Add your first field to this Collection-Type',\n }\n : {\n id: getTrad('table.content.no-fields.component'),\n defaultMessage: 'Add your first field to this component',\n }\n )}\n hasRadius\n icon={<EmptyDocuments width=\"16rem\" />}\n />\n );\n }\n\n return (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n onDragStart={handlerDragStart}\n onDragCancel={() => setActiveId(null)}\n modifiers={[restrictToVerticalAxis]}\n >\n <ListGrid tag=\"ul\">\n {createPortal(\n <DragOverlay zIndex={10}>\n {activeItem && (\n <AttributeRow\n isOverlay\n item={activeItem}\n firstLoopComponentUid={firstLoopComponentUid}\n isFromDynamicZone={isFromDynamicZone}\n secondLoopComponentUid={secondLoopComponentUid}\n type={type}\n addComponentToDZ={addComponentToDZ}\n />\n )}\n </DragOverlay>,\n document.body\n )}\n <SortableContext items={items} strategy={verticalListSortingStrategy}>\n {items.map((item) => {\n return (\n <SortableRow\n key={item.id}\n item={item}\n firstLoopComponentUid={firstLoopComponentUid}\n isFromDynamicZone={isFromDynamicZone}\n secondLoopComponentUid={secondLoopComponentUid}\n type={type}\n addComponentToDZ={addComponentToDZ}\n />\n );\n })}\n </SortableContext>\n </ListGrid>\n\n {isMain && isInDevelopmentMode && (\n <TFooter\n cursor={isDeleted ? 'normal' : 'pointer'}\n icon={<Plus />}\n onClick={onClickAddField}\n color={isDeleted ? 'neutral' : 'primary'}\n >\n {formatMessage({\n id: getTrad(\n `form.button.add.field.to.${type.modelType === 'component' ? 'component' : type.kind}`\n ),\n defaultMessage: 'Add another field',\n })}\n </TFooter>\n )}\n {isSub && isInDevelopmentMode && (\n <NestedTFooter\n cursor={isDeleted ? 'normal' : 'pointer'}\n icon={<Plus />}\n onClick={onClickAddField}\n color={isFromDynamicZone && !isDeleted ? 'primary' : 'neutral'}\n >\n {formatMessage({\n id: getTrad(`form.button.add.field.to.component`),\n defaultMessage: 'Add another field',\n })}\n </NestedTFooter>\n )}\n </DndContext>\n );\n};\n"],"names":["ListGrid","styled","Box","SortableRow","props","isInDevelopmentMode","useDataManager","isDragging","attributes","listeners","setNodeRef","transform","transition","setActivatorNodeRef","useSortable","disabled","item","status","type","id","data","index","style","CSS","Transform","toString","x","y","scaleX","scaleY","_jsx","AttributeRow","ref","handleRef","List","addComponentToDZ","firstLoopComponentUid","isFromDynamicZone","isMain","isSub","secondLoopComponentUid","formatMessage","useIntl","trackUsage","useTracking","moveAttribute","onOpenModalAddField","useFormModalNavigation","items","map","uid","name","activeId","setActiveId","useState","isDeleted","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","coordinateGetter","sortableKeyboardCoordinates","handlerDragStart","active","handleDragEnd","event","over","forTarget","modelType","targetUid","from","current","to","activeItem","find","onClickAddField","length","EmptyStateLayout","action","tours","contentTypeBuilder","AddFields","Button","onClick","size","startIcon","Plus","variant","getTrad","defaultMessage","content","hasRadius","icon","EmptyDocuments","width","_jsxs","DndContext","collisionDetection","closestCenter","onDragEnd","onDragStart","onDragCancel","modifiers","restrictToVerticalAxis","tag","createPortal","DragOverlay","zIndex","isOverlay","document","body","SortableContext","strategy","verticalListSortingStrategy","TFooter","cursor","color","kind","NestedTFooter"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RelationTargetPicker.js","sources":["../../../../../../admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.tsx"],"sourcesContent":["import { Menu } from '@strapi/design-system';\nimport { useDispatch } from 'react-redux';\nimport { styled } from 'styled-components';\n\nimport { isAllowedContentTypesForRelations } from '../../../../utils';\nimport { useDataManager } from '../../../DataManager/useDataManager';\nimport { actions } from '../../../FormModal/reducer';\n\nimport type { Internal, Schema } from '@strapi/types';\ninterface RelationTargetPickerProps {\n oneThatIsCreatingARelationWithAnother: string;\n target: Internal.UID.ContentType;\n}\n\ntype SelectOpts = {\n uid: string;\n plugin?: string;\n title: string;\n restrictRelationsTo: Schema.Attribute.RelationKind.Any[] | null;\n};\n\nexport const RelationTargetPicker = ({\n oneThatIsCreatingARelationWithAnother,\n target,\n}: RelationTargetPickerProps) => {\n const { contentTypes, sortedContentTypesList } = useDataManager();\n const dispatch = useDispatch();\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false }\n const allowedContentTypesForRelation = sortedContentTypesList.filter(\n isAllowedContentTypesForRelations\n );\n\n const type = contentTypes[target];\n\n if (!type) {\n return null;\n }\n\n const handleSelect =\n ({ uid, plugin, title, restrictRelationsTo }: SelectOpts) =>\n () => {\n const selectedContentTypeFriendlyName = plugin ? `${plugin}_${title}` : title;\n\n dispatch(\n actions.onChangeRelationTarget({\n target: {\n value: uid,\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations: restrictRelationsTo,\n },\n })\n );\n };\n\n /**\n * TODO: This should be a Select but the design doesn't match the\n * styles of the select component and there isn't the ability to\n * change it correctly.\n */\n return (\n <Menu.Root>\n <MenuTrigger>{`${type.info.displayName} ${type.plugin ? `(from: ${type.plugin})` : ''}`}</MenuTrigger>\n <Menu.Content zIndex=\"popover\">\n {allowedContentTypesForRelation.map(({ uid, title, restrictRelationsTo, plugin }) => (\n <Menu.Item key={uid} onSelect={handleSelect({ uid, plugin, title, restrictRelationsTo })}>\n {title}&nbsp;\n {plugin && <>(from: {plugin})</>}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n );\n};\n\nconst MenuTrigger = styled(Menu.Trigger)`\n max-width: 16.8rem;\n span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n`;\n"],"names":["RelationTargetPicker","oneThatIsCreatingARelationWithAnother","target","contentTypes","sortedContentTypesList","useDataManager","dispatch","useDispatch","allowedContentTypesForRelation","filter","isAllowedContentTypesForRelations","type","handleSelect","uid","plugin","title","restrictRelationsTo","selectedContentTypeFriendlyName","actions","onChangeRelationTarget","value","targetContentTypeAllowedRelations","_jsxs","Menu","Root","_jsx","MenuTrigger","info","displayName","Content","zIndex","map","Item","onSelect","_Fragment","styled","Trigger"],"mappings":";;;;;;;;;;MAqBaA,oBAAuB,GAAA,CAAC,EACnCC,qCAAqC,EACrCC,MAAM,EACoB,GAAA;AAC1B,IAAA,MAAM,EAAEC,YAAY,EAAEC,sBAAsB,EAAE,GAAGC,6BAAAA,EAAAA;AACjD,IAAA,MAAMC,QAAWC,GAAAA,sBAAAA,EAAAA;;IAEjB,MAAMC,8BAAAA,GAAiCJ,sBAAuBK,CAAAA,MAAM,CAClEC,mEAAAA,CAAAA;IAGF,MAAMC,IAAAA,GAAOR,YAAY,CAACD,MAAO,CAAA;AAEjC,IAAA,IAAI,CAACS,IAAM,EAAA;QACT,OAAO,IAAA;AACT;IAEA,MAAMC,YAAAA,GACJ,CAAC,EAAEC,GAAG,EAAEC,MAAM,EAAEC,KAAK,EAAEC,mBAAmB,EAAc,GACxD,IAAA;YACE,MAAMC,+BAAAA,GAAkCH,SAAS,CAAC,EAAEA,OAAO,CAAC,EAAEC,KAAM,CAAA,CAAC,GAAGA,KAAAA;YAExET,QACEY,CAAAA,eAAAA,CAAQC,sBAAsB,CAAC;gBAC7BjB,MAAQ,EAAA;oBACNkB,KAAOP,EAAAA,GAAAA;AACPZ,oBAAAA,qCAAAA;AACAgB,oBAAAA,+BAAAA;oBACAI,iCAAmCL,EAAAA;AACrC;AACF,aAAA,CAAA,CAAA;AAEJ,SAAA;AAEF;;;;MAKA,qBACEM,eAACC,CAAAA,iBAAAA,CAAKC,IAAI,EAAA;;0BACRC,cAACC,CAAAA,WAAAA,EAAAA;0BAAa,CAAC,EAAEf,KAAKgB,IAAI,CAACC,WAAW,CAAC,CAAC,EAAEjB,IAAKG,CAAAA,MAAM,GAAG,CAAC,OAAO,EAAEH,IAAKG,CAAAA,MAAM,CAAC,CAAC,CAAC,GAAG,EAAA,CAAG;;AACtF,0BAAAW,cAAA,CAACF,kBAAKM,OAAO,EAAA;gBAACC,MAAO,EAAA,SAAA;AAClBtB,gBAAAA,QAAAA,EAAAA,8BAAAA,CAA+BuB,GAAG,CAAC,CAAC,EAAElB,GAAG,EAAEE,KAAK,EAAEC,mBAAmB,EAAEF,MAAM,EAAE,iBAC9EQ,eAAA,CAACC,kBAAKS,IAAI,EAAA;AAAWC,wBAAAA,QAAAA,EAAUrB,YAAa,CAAA;AAAEC,4BAAAA,GAAAA;AAAKC,4BAAAA,MAAAA;AAAQC,4BAAAA,KAAAA;AAAOC,4BAAAA;AAAoB,yBAAA,CAAA;;AACnFD,4BAAAA,KAAAA;AAAM,4BAAA,GAAA;4BACND,MAAU,kBAAAQ,eAAA,CAAAY,mBAAA,EAAA;;AAAE,oCAAA,SAAA;AAAQpB,oCAAAA,MAAAA;AAAO,oCAAA;;;;AAFdD,qBAAAA,EAAAA,GAAAA,CAAAA;;;;AAQ1B;AAEA,MAAMa,WAAcS,GAAAA,uBAAAA,CAAOZ,iBAAKa,CAAAA,OAAO,CAAC;;;;;;;AAOxC,CAAC;;;;"}
1
+ {"version":3,"file":"RelationTargetPicker.js","sources":["../../../../../../admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.tsx"],"sourcesContent":["import { Menu } from '@strapi/design-system';\nimport { useDispatch } from 'react-redux';\nimport { styled } from 'styled-components';\n\nimport { isAllowedContentTypesForRelations } from '../../../../utils';\nimport { useDataManager } from '../../../DataManager/useDataManager';\nimport { actions } from '../../../FormModal/reducer';\n\nimport type { Internal, Schema } from '@strapi/types';\ninterface RelationTargetPickerProps {\n oneThatIsCreatingARelationWithAnother: string;\n target: Internal.UID.ContentType;\n}\n\ntype SelectOpts = {\n uid: string;\n plugin?: string;\n title: string;\n restrictRelationsTo: Schema.Attribute.RelationKind.Any[] | null;\n};\n\nexport const RelationTargetPicker = ({\n oneThatIsCreatingARelationWithAnother,\n target,\n}: RelationTargetPickerProps) => {\n const { contentTypes, sortedContentTypesList } = useDataManager();\n const dispatch = useDispatch();\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false }\n const allowedContentTypesForRelation = sortedContentTypesList.filter(\n isAllowedContentTypesForRelations\n );\n\n const type = contentTypes[target];\n\n if (!type) {\n return null;\n }\n\n const handleSelect =\n ({ uid, plugin, title, restrictRelationsTo }: SelectOpts) =>\n () => {\n const selectedContentTypeFriendlyName = plugin ? `${plugin}_${title}` : title;\n\n dispatch(\n actions.onChangeRelationTarget({\n target: {\n value: uid,\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations: restrictRelationsTo,\n },\n })\n );\n };\n\n /**\n * TODO: This should be a Select but the design doesn't match the\n * styles of the select component and there isn't the ability to\n * change it correctly.\n */\n return (\n <Menu.Root>\n <MenuTrigger>{`${type.info.displayName} ${type.plugin ? `(from: ${type.plugin})` : ''}`}</MenuTrigger>\n <Menu.Content zIndex=\"popover\">\n {allowedContentTypesForRelation.map(({ uid, title, restrictRelationsTo, plugin }) => (\n <Menu.Item key={uid} onSelect={handleSelect({ uid, plugin, title, restrictRelationsTo })}>\n {title}&nbsp;\n {plugin && <>(from: {plugin})</>}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n );\n};\n\nconst MenuTrigger = styled(Menu.Trigger)`\n max-width: 16.8rem;\n span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n`;\n"],"names":["RelationTargetPicker","oneThatIsCreatingARelationWithAnother","target","contentTypes","sortedContentTypesList","useDataManager","dispatch","useDispatch","allowedContentTypesForRelation","filter","isAllowedContentTypesForRelations","type","handleSelect","uid","plugin","title","restrictRelationsTo","selectedContentTypeFriendlyName","actions","onChangeRelationTarget","value","targetContentTypeAllowedRelations","_jsxs","Menu","Root","_jsx","MenuTrigger","info","displayName","Content","zIndex","map","Item","onSelect","_Fragment","styled","Trigger"],"mappings":";;;;;;;;;;MAqBaA,oBAAuB,GAAA,CAAC,EACnCC,qCAAqC,EACrCC,MAAM,EACoB,GAAA;AAC1B,IAAA,MAAM,EAAEC,YAAY,EAAEC,sBAAsB,EAAE,GAAGC,6BAAAA,EAAAA;AACjD,IAAA,MAAMC,QAAWC,GAAAA,sBAAAA,EAAAA;;IAEjB,MAAMC,8BAAAA,GAAiCJ,sBAAuBK,CAAAA,MAAM,CAClEC,mEAAAA,CAAAA;IAGF,MAAMC,IAAAA,GAAOR,YAAY,CAACD,MAAO,CAAA;AAEjC,IAAA,IAAI,CAACS,IAAM,EAAA;QACT,OAAO,IAAA;AACT;IAEA,MAAMC,YAAAA,GACJ,CAAC,EAAEC,GAAG,EAAEC,MAAM,EAAEC,KAAK,EAAEC,mBAAmB,EAAc,GACxD,IAAA;AACE,YAAA,MAAMC,kCAAkCH,MAAS,GAAA,CAAA,EAAGA,OAAO,CAAC,EAAEC,OAAO,GAAGA,KAAAA;YAExET,QACEY,CAAAA,eAAAA,CAAQC,sBAAsB,CAAC;gBAC7BjB,MAAQ,EAAA;oBACNkB,KAAOP,EAAAA,GAAAA;AACPZ,oBAAAA,qCAAAA;AACAgB,oBAAAA,+BAAAA;oBACAI,iCAAmCL,EAAAA;AACrC;AACF,aAAA,CAAA,CAAA;AAEJ,SAAA;AAEF;;;;MAKA,qBACEM,eAACC,CAAAA,iBAAAA,CAAKC,IAAI,EAAA;;0BACRC,cAACC,CAAAA,WAAAA,EAAAA;AAAa,gBAAA,QAAA,EAAA,CAAA,EAAGf,KAAKgB,IAAI,CAACC,WAAW,CAAC,CAAC,EAAEjB,IAAKG,CAAAA,MAAM,GAAG,CAAC,OAAO,EAAEH,IAAKG,CAAAA,MAAM,CAAC,CAAC,CAAC,GAAG,EAAI,CAAA;;AACvF,0BAAAW,cAAA,CAACF,kBAAKM,OAAO,EAAA;gBAACC,MAAO,EAAA,SAAA;AAClBtB,gBAAAA,QAAAA,EAAAA,8BAAAA,CAA+BuB,GAAG,CAAC,CAAC,EAAElB,GAAG,EAAEE,KAAK,EAAEC,mBAAmB,EAAEF,MAAM,EAAE,iBAC9EQ,eAAA,CAACC,kBAAKS,IAAI,EAAA;AAAWC,wBAAAA,QAAAA,EAAUrB,YAAa,CAAA;AAAEC,4BAAAA,GAAAA;AAAKC,4BAAAA,MAAAA;AAAQC,4BAAAA,KAAAA;AAAOC,4BAAAA;AAAoB,yBAAA,CAAA;;AACnFD,4BAAAA,KAAAA;AAAM,4BAAA,GAAA;4BACND,MAAU,kBAAAQ,eAAA,CAAAY,mBAAA,EAAA;;AAAE,oCAAA,SAAA;AAAQpB,oCAAAA,MAAAA;AAAO,oCAAA;;;;AAFdD,qBAAAA,EAAAA,GAAAA,CAAAA;;;;AAQ1B;AAEA,MAAMa,WAAcS,GAAAA,uBAAAA,CAAOZ,iBAAKa,CAAAA,OAAO,CAAC;;;;;;;AAOxC,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RelationTargetPicker.mjs","sources":["../../../../../../admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.tsx"],"sourcesContent":["import { Menu } from '@strapi/design-system';\nimport { useDispatch } from 'react-redux';\nimport { styled } from 'styled-components';\n\nimport { isAllowedContentTypesForRelations } from '../../../../utils';\nimport { useDataManager } from '../../../DataManager/useDataManager';\nimport { actions } from '../../../FormModal/reducer';\n\nimport type { Internal, Schema } from '@strapi/types';\ninterface RelationTargetPickerProps {\n oneThatIsCreatingARelationWithAnother: string;\n target: Internal.UID.ContentType;\n}\n\ntype SelectOpts = {\n uid: string;\n plugin?: string;\n title: string;\n restrictRelationsTo: Schema.Attribute.RelationKind.Any[] | null;\n};\n\nexport const RelationTargetPicker = ({\n oneThatIsCreatingARelationWithAnother,\n target,\n}: RelationTargetPickerProps) => {\n const { contentTypes, sortedContentTypesList } = useDataManager();\n const dispatch = useDispatch();\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false }\n const allowedContentTypesForRelation = sortedContentTypesList.filter(\n isAllowedContentTypesForRelations\n );\n\n const type = contentTypes[target];\n\n if (!type) {\n return null;\n }\n\n const handleSelect =\n ({ uid, plugin, title, restrictRelationsTo }: SelectOpts) =>\n () => {\n const selectedContentTypeFriendlyName = plugin ? `${plugin}_${title}` : title;\n\n dispatch(\n actions.onChangeRelationTarget({\n target: {\n value: uid,\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations: restrictRelationsTo,\n },\n })\n );\n };\n\n /**\n * TODO: This should be a Select but the design doesn't match the\n * styles of the select component and there isn't the ability to\n * change it correctly.\n */\n return (\n <Menu.Root>\n <MenuTrigger>{`${type.info.displayName} ${type.plugin ? `(from: ${type.plugin})` : ''}`}</MenuTrigger>\n <Menu.Content zIndex=\"popover\">\n {allowedContentTypesForRelation.map(({ uid, title, restrictRelationsTo, plugin }) => (\n <Menu.Item key={uid} onSelect={handleSelect({ uid, plugin, title, restrictRelationsTo })}>\n {title}&nbsp;\n {plugin && <>(from: {plugin})</>}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n );\n};\n\nconst MenuTrigger = styled(Menu.Trigger)`\n max-width: 16.8rem;\n span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n`;\n"],"names":["RelationTargetPicker","oneThatIsCreatingARelationWithAnother","target","contentTypes","sortedContentTypesList","useDataManager","dispatch","useDispatch","allowedContentTypesForRelation","filter","isAllowedContentTypesForRelations","type","handleSelect","uid","plugin","title","restrictRelationsTo","selectedContentTypeFriendlyName","actions","onChangeRelationTarget","value","targetContentTypeAllowedRelations","_jsxs","Menu","Root","_jsx","MenuTrigger","info","displayName","Content","zIndex","map","Item","onSelect","_Fragment","styled","Trigger"],"mappings":";;;;;;;;MAqBaA,oBAAuB,GAAA,CAAC,EACnCC,qCAAqC,EACrCC,MAAM,EACoB,GAAA;AAC1B,IAAA,MAAM,EAAEC,YAAY,EAAEC,sBAAsB,EAAE,GAAGC,cAAAA,EAAAA;AACjD,IAAA,MAAMC,QAAWC,GAAAA,WAAAA,EAAAA;;IAEjB,MAAMC,8BAAAA,GAAiCJ,sBAAuBK,CAAAA,MAAM,CAClEC,iCAAAA,CAAAA;IAGF,MAAMC,IAAAA,GAAOR,YAAY,CAACD,MAAO,CAAA;AAEjC,IAAA,IAAI,CAACS,IAAM,EAAA;QACT,OAAO,IAAA;AACT;IAEA,MAAMC,YAAAA,GACJ,CAAC,EAAEC,GAAG,EAAEC,MAAM,EAAEC,KAAK,EAAEC,mBAAmB,EAAc,GACxD,IAAA;YACE,MAAMC,+BAAAA,GAAkCH,SAAS,CAAC,EAAEA,OAAO,CAAC,EAAEC,KAAM,CAAA,CAAC,GAAGA,KAAAA;YAExET,QACEY,CAAAA,OAAAA,CAAQC,sBAAsB,CAAC;gBAC7BjB,MAAQ,EAAA;oBACNkB,KAAOP,EAAAA,GAAAA;AACPZ,oBAAAA,qCAAAA;AACAgB,oBAAAA,+BAAAA;oBACAI,iCAAmCL,EAAAA;AACrC;AACF,aAAA,CAAA,CAAA;AAEJ,SAAA;AAEF;;;;MAKA,qBACEM,IAACC,CAAAA,IAAAA,CAAKC,IAAI,EAAA;;0BACRC,GAACC,CAAAA,WAAAA,EAAAA;0BAAa,CAAC,EAAEf,KAAKgB,IAAI,CAACC,WAAW,CAAC,CAAC,EAAEjB,IAAKG,CAAAA,MAAM,GAAG,CAAC,OAAO,EAAEH,IAAKG,CAAAA,MAAM,CAAC,CAAC,CAAC,GAAG,EAAA,CAAG;;AACtF,0BAAAW,GAAA,CAACF,KAAKM,OAAO,EAAA;gBAACC,MAAO,EAAA,SAAA;AAClBtB,gBAAAA,QAAAA,EAAAA,8BAAAA,CAA+BuB,GAAG,CAAC,CAAC,EAAElB,GAAG,EAAEE,KAAK,EAAEC,mBAAmB,EAAEF,MAAM,EAAE,iBAC9EQ,IAAA,CAACC,KAAKS,IAAI,EAAA;AAAWC,wBAAAA,QAAAA,EAAUrB,YAAa,CAAA;AAAEC,4BAAAA,GAAAA;AAAKC,4BAAAA,MAAAA;AAAQC,4BAAAA,KAAAA;AAAOC,4BAAAA;AAAoB,yBAAA,CAAA;;AACnFD,4BAAAA,KAAAA;AAAM,4BAAA,GAAA;4BACND,MAAU,kBAAAQ,IAAA,CAAAY,QAAA,EAAA;;AAAE,oCAAA,SAAA;AAAQpB,oCAAAA,MAAAA;AAAO,oCAAA;;;;AAFdD,qBAAAA,EAAAA,GAAAA,CAAAA;;;;AAQ1B;AAEA,MAAMa,WAAcS,GAAAA,MAAAA,CAAOZ,IAAKa,CAAAA,OAAO,CAAC;;;;;;;AAOxC,CAAC;;;;"}
1
+ {"version":3,"file":"RelationTargetPicker.mjs","sources":["../../../../../../admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.tsx"],"sourcesContent":["import { Menu } from '@strapi/design-system';\nimport { useDispatch } from 'react-redux';\nimport { styled } from 'styled-components';\n\nimport { isAllowedContentTypesForRelations } from '../../../../utils';\nimport { useDataManager } from '../../../DataManager/useDataManager';\nimport { actions } from '../../../FormModal/reducer';\n\nimport type { Internal, Schema } from '@strapi/types';\ninterface RelationTargetPickerProps {\n oneThatIsCreatingARelationWithAnother: string;\n target: Internal.UID.ContentType;\n}\n\ntype SelectOpts = {\n uid: string;\n plugin?: string;\n title: string;\n restrictRelationsTo: Schema.Attribute.RelationKind.Any[] | null;\n};\n\nexport const RelationTargetPicker = ({\n oneThatIsCreatingARelationWithAnother,\n target,\n}: RelationTargetPickerProps) => {\n const { contentTypes, sortedContentTypesList } = useDataManager();\n const dispatch = useDispatch();\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false }\n const allowedContentTypesForRelation = sortedContentTypesList.filter(\n isAllowedContentTypesForRelations\n );\n\n const type = contentTypes[target];\n\n if (!type) {\n return null;\n }\n\n const handleSelect =\n ({ uid, plugin, title, restrictRelationsTo }: SelectOpts) =>\n () => {\n const selectedContentTypeFriendlyName = plugin ? `${plugin}_${title}` : title;\n\n dispatch(\n actions.onChangeRelationTarget({\n target: {\n value: uid,\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations: restrictRelationsTo,\n },\n })\n );\n };\n\n /**\n * TODO: This should be a Select but the design doesn't match the\n * styles of the select component and there isn't the ability to\n * change it correctly.\n */\n return (\n <Menu.Root>\n <MenuTrigger>{`${type.info.displayName} ${type.plugin ? `(from: ${type.plugin})` : ''}`}</MenuTrigger>\n <Menu.Content zIndex=\"popover\">\n {allowedContentTypesForRelation.map(({ uid, title, restrictRelationsTo, plugin }) => (\n <Menu.Item key={uid} onSelect={handleSelect({ uid, plugin, title, restrictRelationsTo })}>\n {title}&nbsp;\n {plugin && <>(from: {plugin})</>}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n );\n};\n\nconst MenuTrigger = styled(Menu.Trigger)`\n max-width: 16.8rem;\n span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n`;\n"],"names":["RelationTargetPicker","oneThatIsCreatingARelationWithAnother","target","contentTypes","sortedContentTypesList","useDataManager","dispatch","useDispatch","allowedContentTypesForRelation","filter","isAllowedContentTypesForRelations","type","handleSelect","uid","plugin","title","restrictRelationsTo","selectedContentTypeFriendlyName","actions","onChangeRelationTarget","value","targetContentTypeAllowedRelations","_jsxs","Menu","Root","_jsx","MenuTrigger","info","displayName","Content","zIndex","map","Item","onSelect","_Fragment","styled","Trigger"],"mappings":";;;;;;;;MAqBaA,oBAAuB,GAAA,CAAC,EACnCC,qCAAqC,EACrCC,MAAM,EACoB,GAAA;AAC1B,IAAA,MAAM,EAAEC,YAAY,EAAEC,sBAAsB,EAAE,GAAGC,cAAAA,EAAAA;AACjD,IAAA,MAAMC,QAAWC,GAAAA,WAAAA,EAAAA;;IAEjB,MAAMC,8BAAAA,GAAiCJ,sBAAuBK,CAAAA,MAAM,CAClEC,iCAAAA,CAAAA;IAGF,MAAMC,IAAAA,GAAOR,YAAY,CAACD,MAAO,CAAA;AAEjC,IAAA,IAAI,CAACS,IAAM,EAAA;QACT,OAAO,IAAA;AACT;IAEA,MAAMC,YAAAA,GACJ,CAAC,EAAEC,GAAG,EAAEC,MAAM,EAAEC,KAAK,EAAEC,mBAAmB,EAAc,GACxD,IAAA;AACE,YAAA,MAAMC,kCAAkCH,MAAS,GAAA,CAAA,EAAGA,OAAO,CAAC,EAAEC,OAAO,GAAGA,KAAAA;YAExET,QACEY,CAAAA,OAAAA,CAAQC,sBAAsB,CAAC;gBAC7BjB,MAAQ,EAAA;oBACNkB,KAAOP,EAAAA,GAAAA;AACPZ,oBAAAA,qCAAAA;AACAgB,oBAAAA,+BAAAA;oBACAI,iCAAmCL,EAAAA;AACrC;AACF,aAAA,CAAA,CAAA;AAEJ,SAAA;AAEF;;;;MAKA,qBACEM,IAACC,CAAAA,IAAAA,CAAKC,IAAI,EAAA;;0BACRC,GAACC,CAAAA,WAAAA,EAAAA;AAAa,gBAAA,QAAA,EAAA,CAAA,EAAGf,KAAKgB,IAAI,CAACC,WAAW,CAAC,CAAC,EAAEjB,IAAKG,CAAAA,MAAM,GAAG,CAAC,OAAO,EAAEH,IAAKG,CAAAA,MAAM,CAAC,CAAC,CAAC,GAAG,EAAI,CAAA;;AACvF,0BAAAW,GAAA,CAACF,KAAKM,OAAO,EAAA;gBAACC,MAAO,EAAA,SAAA;AAClBtB,gBAAAA,QAAAA,EAAAA,8BAAAA,CAA+BuB,GAAG,CAAC,CAAC,EAAElB,GAAG,EAAEE,KAAK,EAAEC,mBAAmB,EAAEF,MAAM,EAAE,iBAC9EQ,IAAA,CAACC,KAAKS,IAAI,EAAA;AAAWC,wBAAAA,QAAAA,EAAUrB,YAAa,CAAA;AAAEC,4BAAAA,GAAAA;AAAKC,4BAAAA,MAAAA;AAAQC,4BAAAA,KAAAA;AAAOC,4BAAAA;AAAoB,yBAAA,CAAA;;AACnFD,4BAAAA,KAAAA;AAAM,4BAAA,GAAA;4BACND,MAAU,kBAAAQ,IAAA,CAAAY,QAAA,EAAA;;AAAE,oCAAA,SAAA;AAAQpB,oCAAAA,MAAAA;AAAO,oCAAA;;;;AAFdD,qBAAAA,EAAAA,GAAAA,CAAAA;;;;AAQ1B;AAEA,MAAMa,WAAcS,GAAAA,MAAAA,CAAOZ,IAAKa,CAAAA,OAAO,CAAC;;;;;;;AAOxC,CAAC;;;;"}