@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":"cleanData.mjs","sources":["../../../../../admin/src/components/DataManager/utils/cleanData.ts"],"sourcesContent":["import camelCase from 'lodash/camelCase';\nimport omit from 'lodash/omit';\nimport sortBy from 'lodash/sortBy';\n\nimport { pluginId } from '../../../pluginId';\n\nimport type {\n Component,\n Components,\n ContentTypes,\n ContentType,\n AnyAttribute,\n} from '../../../types';\nimport type { UID } from '@strapi/types';\n\nconst sortContentType = (types: ContentTypes) => {\n return sortBy(\n Object.keys(types)\n .map((uid) => ({\n visible: types[uid].visible,\n name: uid as UID.ContentType,\n title: types[uid].info.displayName,\n plugin: types[uid].plugin,\n uid: uid as UID.ContentType,\n to: `/plugins/${pluginId}/content-types/${uid}`,\n kind: types[uid].kind,\n restrictRelationsTo: types[uid].restrictRelationsTo,\n status: types[uid].status,\n }))\n .filter((obj) => obj !== null),\n (obj) => camelCase(obj.title)\n );\n};\n\ntype TrackingEventProperties = {\n newContentTypes: number;\n editedContentTypes: number;\n deletedContentTypes: number;\n newComponents: number;\n editedComponents: number;\n deletedComponents: number;\n newFields: number;\n editedFields: number;\n deletedFields: number;\n};\n\nconst stateToRequestData = ({\n components,\n contentTypes,\n}: {\n components: Components;\n contentTypes: ContentTypes;\n}) => {\n const trackingEventProperties: TrackingEventProperties = {\n newContentTypes: 0,\n editedContentTypes: 0,\n deletedContentTypes: 0,\n newComponents: 0,\n editedComponents: 0,\n deletedComponents: 0,\n newFields: 0,\n editedFields: 0,\n deletedFields: 0,\n };\n\n const formattedComponents = Object.values(components)\n .filter((compo) => {\n return ['NEW', 'CHANGED', 'REMOVED'].includes(compo.status);\n })\n .map((component) => {\n const requestFormattedComponent = formatTypeForRequest(component);\n\n const eventAction = requestFormattedComponent.action as 'create' | 'update' | 'delete';\n updateEventCounts(\n { ...component, action: eventAction },\n trackingEventProperties,\n 'component'\n );\n\n return requestFormattedComponent;\n });\n\n const formattedContentTypes = Object.values(contentTypes)\n .filter((contentType) => {\n return ['NEW', 'CHANGED', 'REMOVED'].includes(contentType.status);\n })\n .map((contentType) => {\n const requestFormattedContentType = formatTypeForRequest(contentType);\n\n const eventAction = requestFormattedContentType.action as 'create' | 'update' | 'delete';\n updateEventCounts(\n { ...contentType, action: eventAction },\n trackingEventProperties,\n 'contentType'\n );\n\n return requestFormattedContentType;\n });\n\n return {\n requestData: {\n components: formattedComponents,\n contentTypes: formattedContentTypes,\n },\n trackingEventProperties,\n };\n};\n\nconst removeNullKeys = (obj: Record<string, unknown>) => {\n return Object.fromEntries(\n Object.entries(obj).filter(([_, value]) => {\n if (Array.isArray(value)) {\n return value.length > 0;\n }\n if (typeof value === 'object' && value !== null) {\n return Object.keys(value).length > 0;\n }\n return value !== null && value !== undefined;\n })\n );\n};\n\nconst formatAttribute = (attr: AnyAttribute) => {\n if ('customField' in attr) {\n return { ...attr, type: 'customField' };\n }\n\n if ('targetAttribute' in attr) {\n return {\n ...attr,\n targetAttribute: attr.targetAttribute === '-' ? null : attr.targetAttribute,\n // Explicitly preserve conditions for relations\n ...(attr.conditions && { conditions: attr.conditions }),\n };\n }\n\n return attr;\n};\n\nconst formatTypeForRequest = (type: ContentType | Component) => {\n let action;\n // should we do a diff with the initial data instead of trusting the state status ??\n switch (type.status) {\n case 'NEW':\n action = 'create';\n break;\n case 'CHANGED':\n action = 'update';\n break;\n case 'REMOVED':\n return { action: 'delete', uid: type.uid };\n default:\n throw new Error('Invalid status');\n }\n\n return {\n action,\n uid: type.uid,\n category: 'category' in type ? type.category : undefined,\n ...omit(type, ['info', 'options', 'visible', 'uid', 'restrictRelationsTo']),\n ...type.options,\n ...type.info,\n attributes: type.attributes.map((attr) => {\n let action;\n\n switch (attr.status) {\n // NOTE: we want to always send the full data to preserve the order\n\n case 'NEW':\n action = 'create';\n break;\n case 'REMOVED':\n return { action: 'delete', name: attr.name };\n case 'UNCHANGED':\n case 'CHANGED':\n default:\n action = 'update';\n }\n\n return {\n action,\n name: attr.name,\n properties: removeNullKeys(omit(formatAttribute(attr), ['status', 'name'])),\n };\n }),\n };\n};\n\nconst updateEventCounts = (\n type: (ContentType | Component) & { action?: 'create' | 'update' | 'delete' },\n counts: TrackingEventProperties,\n entityType: 'component' | 'contentType'\n) => {\n if (!type || typeof type.action !== 'string') {\n return;\n }\n\n const isContentType = entityType === 'contentType';\n\n switch (type.action) {\n case 'create':\n if (isContentType) {\n counts.newContentTypes++;\n } else {\n counts.newComponents++;\n }\n break;\n case 'update':\n if (isContentType) {\n counts.editedContentTypes++;\n } else {\n counts.editedComponents++;\n }\n break;\n case 'delete':\n if (isContentType) {\n counts.deletedContentTypes++;\n } else {\n counts.deletedComponents++;\n }\n break;\n default:\n break;\n }\n\n if (Array.isArray(type.attributes)) {\n if (type.action === 'delete') {\n counts.deletedFields += type.attributes.length;\n } else {\n type.attributes.forEach((attribute) => {\n if (!attribute || typeof attribute.status !== 'string') {\n return;\n }\n\n switch (attribute.status) {\n case 'NEW':\n counts.newFields++;\n break;\n case 'CHANGED':\n counts.editedFields++;\n break;\n case 'REMOVED':\n counts.deletedFields++;\n break;\n case 'UNCHANGED':\n default:\n break;\n }\n });\n }\n }\n};\n\nexport { stateToRequestData, sortContentType };\n"],"names":["sortContentType","types","sortBy","Object","keys","map","uid","visible","name","title","info","displayName","plugin","to","pluginId","kind","restrictRelationsTo","status","filter","obj","camelCase","stateToRequestData","components","contentTypes","trackingEventProperties","newContentTypes","editedContentTypes","deletedContentTypes","newComponents","editedComponents","deletedComponents","newFields","editedFields","deletedFields","formattedComponents","values","compo","includes","component","requestFormattedComponent","formatTypeForRequest","eventAction","action","updateEventCounts","formattedContentTypes","contentType","requestFormattedContentType","requestData","removeNullKeys","fromEntries","entries","_","value","Array","isArray","length","undefined","formatAttribute","attr","type","targetAttribute","conditions","Error","category","omit","options","attributes","properties","counts","entityType","isContentType","forEach","attribute"],"mappings":"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"}
1
+ {"version":3,"file":"cleanData.mjs","sources":["../../../../../admin/src/components/DataManager/utils/cleanData.ts"],"sourcesContent":["import camelCase from 'lodash/camelCase';\nimport omit from 'lodash/omit';\nimport sortBy from 'lodash/sortBy';\n\nimport { pluginId } from '../../../pluginId';\n\nimport type {\n Component,\n Components,\n ContentTypes,\n ContentType,\n AnyAttribute,\n} from '../../../types';\nimport type { UID } from '@strapi/types';\n\nconst sortContentType = (types: ContentTypes) => {\n return sortBy(\n Object.keys(types)\n .map((uid) => ({\n visible: types[uid].visible,\n name: uid as UID.ContentType,\n title: types[uid].info.displayName,\n plugin: types[uid].plugin,\n uid: uid as UID.ContentType,\n to: `/plugins/${pluginId}/content-types/${uid}`,\n kind: types[uid].kind,\n restrictRelationsTo: types[uid].restrictRelationsTo,\n status: types[uid].status,\n }))\n .filter((obj) => obj !== null),\n (obj) => camelCase(obj.title)\n );\n};\n\ntype TrackingEventProperties = {\n newContentTypes: number;\n editedContentTypes: number;\n deletedContentTypes: number;\n newComponents: number;\n editedComponents: number;\n deletedComponents: number;\n newFields: number;\n editedFields: number;\n deletedFields: number;\n};\n\nconst stateToRequestData = ({\n components,\n contentTypes,\n}: {\n components: Components;\n contentTypes: ContentTypes;\n}) => {\n const trackingEventProperties: TrackingEventProperties = {\n newContentTypes: 0,\n editedContentTypes: 0,\n deletedContentTypes: 0,\n newComponents: 0,\n editedComponents: 0,\n deletedComponents: 0,\n newFields: 0,\n editedFields: 0,\n deletedFields: 0,\n };\n\n const formattedComponents = Object.values(components)\n .filter((compo) => {\n return ['NEW', 'CHANGED', 'REMOVED'].includes(compo.status);\n })\n .map((component) => {\n const requestFormattedComponent = formatTypeForRequest(component);\n\n const eventAction = requestFormattedComponent.action as 'create' | 'update' | 'delete';\n updateEventCounts(\n { ...component, action: eventAction },\n trackingEventProperties,\n 'component'\n );\n\n return requestFormattedComponent;\n });\n\n const formattedContentTypes = Object.values(contentTypes)\n .filter((contentType) => {\n return ['NEW', 'CHANGED', 'REMOVED'].includes(contentType.status);\n })\n .map((contentType) => {\n const requestFormattedContentType = formatTypeForRequest(contentType);\n\n const eventAction = requestFormattedContentType.action as 'create' | 'update' | 'delete';\n updateEventCounts(\n { ...contentType, action: eventAction },\n trackingEventProperties,\n 'contentType'\n );\n\n return requestFormattedContentType;\n });\n\n return {\n requestData: {\n components: formattedComponents,\n contentTypes: formattedContentTypes,\n },\n trackingEventProperties,\n };\n};\n\nconst removeNullKeys = (obj: Record<string, unknown>) => {\n return Object.fromEntries(\n Object.entries(obj).filter(([_, value]) => {\n if (Array.isArray(value)) {\n return value.length > 0;\n }\n if (typeof value === 'object' && value !== null) {\n return Object.keys(value).length > 0;\n }\n return value !== null && value !== undefined;\n })\n );\n};\n\nconst formatAttribute = (attr: AnyAttribute) => {\n if ('customField' in attr) {\n return { ...attr, type: 'customField' };\n }\n\n if ('targetAttribute' in attr) {\n return {\n ...attr,\n targetAttribute: attr.targetAttribute === '-' ? null : attr.targetAttribute,\n // Explicitly preserve conditions for relations\n ...(attr.conditions && { conditions: attr.conditions }),\n };\n }\n\n return attr;\n};\n\nconst formatTypeForRequest = (type: ContentType | Component) => {\n let action;\n // should we do a diff with the initial data instead of trusting the state status ??\n switch (type.status) {\n case 'NEW':\n action = 'create';\n break;\n case 'CHANGED':\n action = 'update';\n break;\n case 'REMOVED':\n return { action: 'delete', uid: type.uid };\n default:\n throw new Error('Invalid status');\n }\n\n return {\n action,\n uid: type.uid,\n category: 'category' in type ? type.category : undefined,\n ...omit(type, ['info', 'options', 'visible', 'uid', 'restrictRelationsTo']),\n ...type.options,\n ...type.info,\n attributes: type.attributes.map((attr) => {\n let action;\n\n switch (attr.status) {\n // NOTE: we want to always send the full data to preserve the order\n\n case 'NEW':\n action = 'create';\n break;\n case 'REMOVED':\n return { action: 'delete', name: attr.name };\n case 'UNCHANGED':\n case 'CHANGED':\n default:\n action = 'update';\n }\n\n return {\n action,\n name: attr.name,\n properties: removeNullKeys(omit(formatAttribute(attr), ['status', 'name'])),\n };\n }),\n };\n};\n\nconst updateEventCounts = (\n type: (ContentType | Component) & { action?: 'create' | 'update' | 'delete' },\n counts: TrackingEventProperties,\n entityType: 'component' | 'contentType'\n) => {\n if (!type || typeof type.action !== 'string') {\n return;\n }\n\n const isContentType = entityType === 'contentType';\n\n switch (type.action) {\n case 'create':\n if (isContentType) {\n counts.newContentTypes++;\n } else {\n counts.newComponents++;\n }\n break;\n case 'update':\n if (isContentType) {\n counts.editedContentTypes++;\n } else {\n counts.editedComponents++;\n }\n break;\n case 'delete':\n if (isContentType) {\n counts.deletedContentTypes++;\n } else {\n counts.deletedComponents++;\n }\n break;\n default:\n break;\n }\n\n if (Array.isArray(type.attributes)) {\n if (type.action === 'delete') {\n counts.deletedFields += type.attributes.length;\n } else {\n type.attributes.forEach((attribute) => {\n if (!attribute || typeof attribute.status !== 'string') {\n return;\n }\n\n switch (attribute.status) {\n case 'NEW':\n counts.newFields++;\n break;\n case 'CHANGED':\n counts.editedFields++;\n break;\n case 'REMOVED':\n counts.deletedFields++;\n break;\n case 'UNCHANGED':\n default:\n break;\n }\n });\n }\n }\n};\n\nexport { stateToRequestData, sortContentType };\n"],"names":["sortContentType","types","sortBy","Object","keys","map","uid","visible","name","title","info","displayName","plugin","to","pluginId","kind","restrictRelationsTo","status","filter","obj","camelCase","stateToRequestData","components","contentTypes","trackingEventProperties","newContentTypes","editedContentTypes","deletedContentTypes","newComponents","editedComponents","deletedComponents","newFields","editedFields","deletedFields","formattedComponents","values","compo","includes","component","requestFormattedComponent","formatTypeForRequest","eventAction","action","updateEventCounts","formattedContentTypes","contentType","requestFormattedContentType","requestData","removeNullKeys","fromEntries","entries","_","value","Array","isArray","length","undefined","formatAttribute","attr","type","targetAttribute","conditions","Error","category","omit","options","attributes","properties","counts","entityType","isContentType","forEach","attribute"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DisplayedType.js","sources":["../../../admin/src/components/DisplayedType.tsx"],"sourcesContent":["import { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils/getTrad';\n\ntype DisplayedTypeProps = {\n type: string;\n customField?: string | null;\n repeatable?: boolean;\n multiple?: boolean;\n};\n\nexport const DisplayedType = ({\n type,\n customField = null,\n repeatable = false,\n multiple = false,\n}: DisplayedTypeProps) => {\n const { formatMessage } = useIntl();\n\n let readableType = type;\n\n if (['integer', 'biginteger', 'float', 'decimal'].includes(type)) {\n readableType = 'number';\n } else if (['string'].includes(type)) {\n readableType = 'text';\n }\n\n if (customField) {\n return formatMessage({\n id: getTrad('attribute.customField'),\n defaultMessage: 'Custom field',\n });\n }\n\n return (\n <>\n {repeatable &&\n formatMessage({\n id: getTrad('component.repeatable'),\n defaultMessage: 'Repeatable',\n })}\n {multiple &&\n formatMessage({\n id: getTrad('media.multiple'),\n defaultMessage: 'Multiple',\n })}\n &nbsp;\n {formatMessage({\n id: getTrad(`attribute.${readableType}`),\n defaultMessage: type,\n })}\n </>\n );\n};\n"],"names":["DisplayedType","type","customField","repeatable","multiple","formatMessage","useIntl","readableType","includes","id","getTrad","defaultMessage","_jsxs","_Fragment"],"mappings":";;;;;;AAWaA,MAAAA,aAAAA,GAAgB,CAAC,EAC5BC,IAAI,EACJC,WAAAA,GAAc,IAAI,EAClBC,UAAa,GAAA,KAAK,EAClBC,QAAAA,GAAW,KAAK,EACG,GAAA;IACnB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,IAAIC,YAAeN,GAAAA,IAAAA;IAEnB,IAAI;AAAC,QAAA,SAAA;AAAW,QAAA,YAAA;AAAc,QAAA,OAAA;AAAS,QAAA;KAAU,CAACO,QAAQ,CAACP,IAAO,CAAA,EAAA;QAChEM,YAAe,GAAA,QAAA;AACjB,KAAA,MAAO,IAAI;AAAC,QAAA;KAAS,CAACC,QAAQ,CAACP,IAAO,CAAA,EAAA;QACpCM,YAAe,GAAA,MAAA;AACjB;AAEA,IAAA,IAAIL,WAAa,EAAA;AACf,QAAA,OAAOG,aAAc,CAAA;AACnBI,YAAAA,EAAAA,EAAIC,eAAQ,CAAA,uBAAA,CAAA;YACZC,cAAgB,EAAA;AAClB,SAAA,CAAA;AACF;IAEA,qBACEC,eAAA,CAAAC,mBAAA,EAAA;;AACGV,YAAAA,UAAAA,IACCE,aAAc,CAAA;AACZI,gBAAAA,EAAAA,EAAIC,eAAQ,CAAA,sBAAA,CAAA;gBACZC,cAAgB,EAAA;AAClB,aAAA,CAAA;AACDP,YAAAA,QAAAA,IACCC,aAAc,CAAA;AACZI,gBAAAA,EAAAA,EAAIC,eAAQ,CAAA,gBAAA,CAAA;gBACZC,cAAgB,EAAA;AAClB,aAAA,CAAA;AAAG,YAAA,GAAA;YAEJN,aAAc,CAAA;AACbI,gBAAAA,EAAAA,EAAIC,eAAQ,CAAA,CAAC,UAAU,EAAEH,aAAa,CAAC,CAAA;gBACvCI,cAAgBV,EAAAA;AAClB,aAAA;;;AAGN;;;;"}
1
+ {"version":3,"file":"DisplayedType.js","sources":["../../../admin/src/components/DisplayedType.tsx"],"sourcesContent":["import { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils/getTrad';\n\ntype DisplayedTypeProps = {\n type: string;\n customField?: string | null;\n repeatable?: boolean;\n multiple?: boolean;\n};\n\nexport const DisplayedType = ({\n type,\n customField = null,\n repeatable = false,\n multiple = false,\n}: DisplayedTypeProps) => {\n const { formatMessage } = useIntl();\n\n let readableType = type;\n\n if (['integer', 'biginteger', 'float', 'decimal'].includes(type)) {\n readableType = 'number';\n } else if (['string'].includes(type)) {\n readableType = 'text';\n }\n\n if (customField) {\n return formatMessage({\n id: getTrad('attribute.customField'),\n defaultMessage: 'Custom field',\n });\n }\n\n return (\n <>\n {repeatable &&\n formatMessage({\n id: getTrad('component.repeatable'),\n defaultMessage: 'Repeatable',\n })}\n {multiple &&\n formatMessage({\n id: getTrad('media.multiple'),\n defaultMessage: 'Multiple',\n })}\n &nbsp;\n {formatMessage({\n id: getTrad(`attribute.${readableType}`),\n defaultMessage: type,\n })}\n </>\n );\n};\n"],"names":["DisplayedType","type","customField","repeatable","multiple","formatMessage","useIntl","readableType","includes","id","getTrad","defaultMessage","_jsxs","_Fragment"],"mappings":";;;;;;AAWaA,MAAAA,aAAAA,GAAgB,CAAC,EAC5BC,IAAI,EACJC,WAAAA,GAAc,IAAI,EAClBC,UAAa,GAAA,KAAK,EAClBC,QAAAA,GAAW,KAAK,EACG,GAAA;IACnB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,IAAIC,YAAeN,GAAAA,IAAAA;IAEnB,IAAI;AAAC,QAAA,SAAA;AAAW,QAAA,YAAA;AAAc,QAAA,OAAA;AAAS,QAAA;KAAU,CAACO,QAAQ,CAACP,IAAO,CAAA,EAAA;QAChEM,YAAe,GAAA,QAAA;AACjB,KAAA,MAAO,IAAI;AAAC,QAAA;KAAS,CAACC,QAAQ,CAACP,IAAO,CAAA,EAAA;QACpCM,YAAe,GAAA,MAAA;AACjB;AAEA,IAAA,IAAIL,WAAa,EAAA;AACf,QAAA,OAAOG,aAAc,CAAA;AACnBI,YAAAA,EAAAA,EAAIC,eAAQ,CAAA,uBAAA,CAAA;YACZC,cAAgB,EAAA;AAClB,SAAA,CAAA;AACF;IAEA,qBACEC,eAAA,CAAAC,mBAAA,EAAA;;AACGV,YAAAA,UAAAA,IACCE,aAAc,CAAA;AACZI,gBAAAA,EAAAA,EAAIC,eAAQ,CAAA,sBAAA,CAAA;gBACZC,cAAgB,EAAA;AAClB,aAAA,CAAA;AACDP,YAAAA,QAAAA,IACCC,aAAc,CAAA;AACZI,gBAAAA,EAAAA,EAAIC,eAAQ,CAAA,gBAAA,CAAA;gBACZC,cAAgB,EAAA;AAClB,aAAA,CAAA;AAAG,YAAA,GAAA;YAEJN,aAAc,CAAA;AACbI,gBAAAA,EAAAA,EAAIC,eAAQ,CAAA,CAAC,UAAU,EAAEH,YAAc,CAAA,CAAA,CAAA;gBACvCI,cAAgBV,EAAAA;AAClB,aAAA;;;AAGN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DisplayedType.mjs","sources":["../../../admin/src/components/DisplayedType.tsx"],"sourcesContent":["import { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils/getTrad';\n\ntype DisplayedTypeProps = {\n type: string;\n customField?: string | null;\n repeatable?: boolean;\n multiple?: boolean;\n};\n\nexport const DisplayedType = ({\n type,\n customField = null,\n repeatable = false,\n multiple = false,\n}: DisplayedTypeProps) => {\n const { formatMessage } = useIntl();\n\n let readableType = type;\n\n if (['integer', 'biginteger', 'float', 'decimal'].includes(type)) {\n readableType = 'number';\n } else if (['string'].includes(type)) {\n readableType = 'text';\n }\n\n if (customField) {\n return formatMessage({\n id: getTrad('attribute.customField'),\n defaultMessage: 'Custom field',\n });\n }\n\n return (\n <>\n {repeatable &&\n formatMessage({\n id: getTrad('component.repeatable'),\n defaultMessage: 'Repeatable',\n })}\n {multiple &&\n formatMessage({\n id: getTrad('media.multiple'),\n defaultMessage: 'Multiple',\n })}\n &nbsp;\n {formatMessage({\n id: getTrad(`attribute.${readableType}`),\n defaultMessage: type,\n })}\n </>\n );\n};\n"],"names":["DisplayedType","type","customField","repeatable","multiple","formatMessage","useIntl","readableType","includes","id","getTrad","defaultMessage","_jsxs","_Fragment"],"mappings":";;;;AAWaA,MAAAA,aAAAA,GAAgB,CAAC,EAC5BC,IAAI,EACJC,WAAAA,GAAc,IAAI,EAClBC,UAAa,GAAA,KAAK,EAClBC,QAAAA,GAAW,KAAK,EACG,GAAA;IACnB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,IAAIC,YAAeN,GAAAA,IAAAA;IAEnB,IAAI;AAAC,QAAA,SAAA;AAAW,QAAA,YAAA;AAAc,QAAA,OAAA;AAAS,QAAA;KAAU,CAACO,QAAQ,CAACP,IAAO,CAAA,EAAA;QAChEM,YAAe,GAAA,QAAA;AACjB,KAAA,MAAO,IAAI;AAAC,QAAA;KAAS,CAACC,QAAQ,CAACP,IAAO,CAAA,EAAA;QACpCM,YAAe,GAAA,MAAA;AACjB;AAEA,IAAA,IAAIL,WAAa,EAAA;AACf,QAAA,OAAOG,aAAc,CAAA;AACnBI,YAAAA,EAAAA,EAAIC,OAAQ,CAAA,uBAAA,CAAA;YACZC,cAAgB,EAAA;AAClB,SAAA,CAAA;AACF;IAEA,qBACEC,IAAA,CAAAC,QAAA,EAAA;;AACGV,YAAAA,UAAAA,IACCE,aAAc,CAAA;AACZI,gBAAAA,EAAAA,EAAIC,OAAQ,CAAA,sBAAA,CAAA;gBACZC,cAAgB,EAAA;AAClB,aAAA,CAAA;AACDP,YAAAA,QAAAA,IACCC,aAAc,CAAA;AACZI,gBAAAA,EAAAA,EAAIC,OAAQ,CAAA,gBAAA,CAAA;gBACZC,cAAgB,EAAA;AAClB,aAAA,CAAA;AAAG,YAAA,GAAA;YAEJN,aAAc,CAAA;AACbI,gBAAAA,EAAAA,EAAIC,OAAQ,CAAA,CAAC,UAAU,EAAEH,aAAa,CAAC,CAAA;gBACvCI,cAAgBV,EAAAA;AAClB,aAAA;;;AAGN;;;;"}
1
+ {"version":3,"file":"DisplayedType.mjs","sources":["../../../admin/src/components/DisplayedType.tsx"],"sourcesContent":["import { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils/getTrad';\n\ntype DisplayedTypeProps = {\n type: string;\n customField?: string | null;\n repeatable?: boolean;\n multiple?: boolean;\n};\n\nexport const DisplayedType = ({\n type,\n customField = null,\n repeatable = false,\n multiple = false,\n}: DisplayedTypeProps) => {\n const { formatMessage } = useIntl();\n\n let readableType = type;\n\n if (['integer', 'biginteger', 'float', 'decimal'].includes(type)) {\n readableType = 'number';\n } else if (['string'].includes(type)) {\n readableType = 'text';\n }\n\n if (customField) {\n return formatMessage({\n id: getTrad('attribute.customField'),\n defaultMessage: 'Custom field',\n });\n }\n\n return (\n <>\n {repeatable &&\n formatMessage({\n id: getTrad('component.repeatable'),\n defaultMessage: 'Repeatable',\n })}\n {multiple &&\n formatMessage({\n id: getTrad('media.multiple'),\n defaultMessage: 'Multiple',\n })}\n &nbsp;\n {formatMessage({\n id: getTrad(`attribute.${readableType}`),\n defaultMessage: type,\n })}\n </>\n );\n};\n"],"names":["DisplayedType","type","customField","repeatable","multiple","formatMessage","useIntl","readableType","includes","id","getTrad","defaultMessage","_jsxs","_Fragment"],"mappings":";;;;AAWaA,MAAAA,aAAAA,GAAgB,CAAC,EAC5BC,IAAI,EACJC,WAAAA,GAAc,IAAI,EAClBC,UAAa,GAAA,KAAK,EAClBC,QAAAA,GAAW,KAAK,EACG,GAAA;IACnB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,IAAIC,YAAeN,GAAAA,IAAAA;IAEnB,IAAI;AAAC,QAAA,SAAA;AAAW,QAAA,YAAA;AAAc,QAAA,OAAA;AAAS,QAAA;KAAU,CAACO,QAAQ,CAACP,IAAO,CAAA,EAAA;QAChEM,YAAe,GAAA,QAAA;AACjB,KAAA,MAAO,IAAI;AAAC,QAAA;KAAS,CAACC,QAAQ,CAACP,IAAO,CAAA,EAAA;QACpCM,YAAe,GAAA,MAAA;AACjB;AAEA,IAAA,IAAIL,WAAa,EAAA;AACf,QAAA,OAAOG,aAAc,CAAA;AACnBI,YAAAA,EAAAA,EAAIC,OAAQ,CAAA,uBAAA,CAAA;YACZC,cAAgB,EAAA;AAClB,SAAA,CAAA;AACF;IAEA,qBACEC,IAAA,CAAAC,QAAA,EAAA;;AACGV,YAAAA,UAAAA,IACCE,aAAc,CAAA;AACZI,gBAAAA,EAAAA,EAAIC,OAAQ,CAAA,sBAAA,CAAA;gBACZC,cAAgB,EAAA;AAClB,aAAA,CAAA;AACDP,YAAAA,QAAAA,IACCC,aAAc,CAAA;AACZI,gBAAAA,EAAAA,EAAIC,OAAQ,CAAA,gBAAA,CAAA;gBACZC,cAAgB,EAAA;AAClB,aAAA,CAAA;AAAG,YAAA,GAAA;YAEJN,aAAc,CAAA;AACbI,gBAAAA,EAAAA,EAAIC,OAAQ,CAAA,CAAC,UAAU,EAAEH,YAAc,CAAA,CAAA,CAAA;gBACvCI,cAAgBV,EAAAA;AAClB,aAAA;;;AAGN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicZoneList.js","sources":["../../../admin/src/components/DynamicZoneList.tsx"],"sourcesContent":["import { ComponentType, useState } from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../utils/getTrad';\n\nimport { ComponentCard } from './ComponentCard';\nimport { ComponentList } from './ComponentList';\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface DynamicZoneListProps {\n addComponent: (name?: string) => void;\n components: Array<Internal.UID.Component>;\n customRowComponent?: ComponentType<any>;\n name?: string;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst StyledAddIcon = styled(Plus)<{ disabled?: boolean }>`\n width: 3.2rem;\n height: 3.2rem;\n padding: 0.9rem;\n border-radius: 6.4rem;\n background: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral100 : theme.colors.primary100};\n path {\n fill: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral600 : theme.colors.primary600};\n }\n`;\n\nconst ComponentStack = styled(Flex)`\n flex-shrink: 0;\n width: 14rem;\n height: 8rem;\n justify-content: center;\n align-items: center;\n`;\n\nexport const DynamicZoneList = ({\n components = [],\n addComponent,\n name,\n forTarget,\n targetUid,\n disabled = false,\n}: DynamicZoneListProps) => {\n const { isInDevelopmentMode } = useDataManager();\n const [activeTab, setActiveTab] = useState(0);\n const { formatMessage } = useIntl();\n\n const toggle = (tab: number) => {\n if (activeTab !== tab) {\n setActiveTab(tab);\n }\n };\n\n const handleClickAdd = () => {\n addComponent(name);\n };\n\n return (\n <ComponentRow className=\"dynamiczone-row\" $isFromDynamicZone>\n <Box>\n <Box padding={2} paddingLeft=\"104px\">\n <Flex role=\"tablist\" gap={2} wrap=\"wrap\">\n {isInDevelopmentMode && (\n <button\n type=\"button\"\n onClick={handleClickAdd}\n disabled={disabled}\n style={{\n cursor: disabled ? 'not-allowed' : 'pointer',\n }}\n >\n <ComponentStack direction=\"column\" alignItems=\"stretch\" gap={1}>\n <StyledAddIcon disabled={disabled} />\n <Typography\n variant=\"pi\"\n fontWeight=\"bold\"\n textColor={disabled ? 'neutral600' : 'primary600'}\n >\n {formatMessage({\n id: getTrad('button.component.add'),\n defaultMessage: 'Add a component',\n })}\n </Typography>\n </ComponentStack>\n </button>\n )}\n {components.map((component, index) => {\n return (\n <ComponentCard\n key={component}\n dzName={name || ''}\n index={index}\n component={component}\n isActive={activeTab === index}\n isInDevelopmentMode={isInDevelopmentMode}\n onClick={() => toggle(index)}\n forTarget={forTarget}\n targetUid={targetUid}\n disabled={disabled}\n />\n );\n })}\n </Flex>\n </Box>\n <Box>\n {components.map((component, index) => {\n return (\n <Box\n id={`dz-${name}-panel-${index}`}\n role=\"tabpanel\"\n aria-labelledby={`dz-${name}-tab-${index}`}\n key={component}\n style={{ display: activeTab === index ? 'block' : 'none' }}\n >\n <ComponentList isFromDynamicZone component={component} key={component} />\n </Box>\n );\n })}\n </Box>\n </Box>\n </ComponentRow>\n );\n};\n"],"names":["StyledAddIcon","styled","Plus","theme","disabled","colors","neutral100","primary100","neutral600","primary600","ComponentStack","Flex","DynamicZoneList","components","addComponent","name","forTarget","targetUid","isInDevelopmentMode","useDataManager","activeTab","setActiveTab","useState","formatMessage","useIntl","toggle","tab","handleClickAdd","_jsx","ComponentRow","className","$isFromDynamicZone","_jsxs","Box","padding","paddingLeft","role","gap","wrap","button","type","onClick","style","cursor","direction","alignItems","Typography","variant","fontWeight","textColor","id","getTrad","defaultMessage","map","component","index","ComponentCard","dzName","isActive","aria-labelledby","display","ComponentList","isFromDynamicZone"],"mappings":"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"}
1
+ {"version":3,"file":"DynamicZoneList.js","sources":["../../../admin/src/components/DynamicZoneList.tsx"],"sourcesContent":["import { ComponentType, useState } from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../utils/getTrad';\n\nimport { ComponentCard } from './ComponentCard';\nimport { ComponentList } from './ComponentList';\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface DynamicZoneListProps {\n addComponent: (name?: string) => void;\n components: Array<Internal.UID.Component>;\n customRowComponent?: ComponentType<any>;\n name?: string;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst StyledAddIcon = styled(Plus)<{ disabled?: boolean }>`\n width: 3.2rem;\n height: 3.2rem;\n padding: 0.9rem;\n border-radius: 6.4rem;\n background: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral100 : theme.colors.primary100};\n path {\n fill: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral600 : theme.colors.primary600};\n }\n`;\n\nconst ComponentStack = styled(Flex)`\n flex-shrink: 0;\n width: 14rem;\n height: 8rem;\n justify-content: center;\n align-items: center;\n`;\n\nexport const DynamicZoneList = ({\n components = [],\n addComponent,\n name,\n forTarget,\n targetUid,\n disabled = false,\n}: DynamicZoneListProps) => {\n const { isInDevelopmentMode } = useDataManager();\n const [activeTab, setActiveTab] = useState(0);\n const { formatMessage } = useIntl();\n\n const toggle = (tab: number) => {\n if (activeTab !== tab) {\n setActiveTab(tab);\n }\n };\n\n const handleClickAdd = () => {\n addComponent(name);\n };\n\n return (\n <ComponentRow className=\"dynamiczone-row\" $isFromDynamicZone>\n <Box>\n <Box padding={2} paddingLeft=\"104px\">\n <Flex role=\"tablist\" gap={2} wrap=\"wrap\">\n {isInDevelopmentMode && (\n <button\n type=\"button\"\n onClick={handleClickAdd}\n disabled={disabled}\n style={{\n cursor: disabled ? 'not-allowed' : 'pointer',\n }}\n >\n <ComponentStack direction=\"column\" alignItems=\"stretch\" gap={1}>\n <StyledAddIcon disabled={disabled} />\n <Typography\n variant=\"pi\"\n fontWeight=\"bold\"\n textColor={disabled ? 'neutral600' : 'primary600'}\n >\n {formatMessage({\n id: getTrad('button.component.add'),\n defaultMessage: 'Add a component',\n })}\n </Typography>\n </ComponentStack>\n </button>\n )}\n {components.map((component, index) => {\n return (\n <ComponentCard\n key={component}\n dzName={name || ''}\n index={index}\n component={component}\n isActive={activeTab === index}\n isInDevelopmentMode={isInDevelopmentMode}\n onClick={() => toggle(index)}\n forTarget={forTarget}\n targetUid={targetUid}\n disabled={disabled}\n />\n );\n })}\n </Flex>\n </Box>\n <Box>\n {components.map((component, index) => {\n return (\n <Box\n id={`dz-${name}-panel-${index}`}\n role=\"tabpanel\"\n aria-labelledby={`dz-${name}-tab-${index}`}\n key={component}\n style={{ display: activeTab === index ? 'block' : 'none' }}\n >\n <ComponentList isFromDynamicZone component={component} key={component} />\n </Box>\n );\n })}\n </Box>\n </Box>\n </ComponentRow>\n );\n};\n"],"names":["StyledAddIcon","styled","Plus","theme","disabled","colors","neutral100","primary100","neutral600","primary600","ComponentStack","Flex","DynamicZoneList","components","addComponent","name","forTarget","targetUid","isInDevelopmentMode","useDataManager","activeTab","setActiveTab","useState","formatMessage","useIntl","toggle","tab","handleClickAdd","_jsx","ComponentRow","className","$isFromDynamicZone","_jsxs","Box","padding","paddingLeft","role","gap","wrap","button","type","onClick","style","cursor","direction","alignItems","Typography","variant","fontWeight","textColor","id","getTrad","defaultMessage","map","component","index","ComponentCard","dzName","isActive","aria-labelledby","display","ComponentList","isFromDynamicZone"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicZoneList.mjs","sources":["../../../admin/src/components/DynamicZoneList.tsx"],"sourcesContent":["import { ComponentType, useState } from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../utils/getTrad';\n\nimport { ComponentCard } from './ComponentCard';\nimport { ComponentList } from './ComponentList';\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface DynamicZoneListProps {\n addComponent: (name?: string) => void;\n components: Array<Internal.UID.Component>;\n customRowComponent?: ComponentType<any>;\n name?: string;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst StyledAddIcon = styled(Plus)<{ disabled?: boolean }>`\n width: 3.2rem;\n height: 3.2rem;\n padding: 0.9rem;\n border-radius: 6.4rem;\n background: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral100 : theme.colors.primary100};\n path {\n fill: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral600 : theme.colors.primary600};\n }\n`;\n\nconst ComponentStack = styled(Flex)`\n flex-shrink: 0;\n width: 14rem;\n height: 8rem;\n justify-content: center;\n align-items: center;\n`;\n\nexport const DynamicZoneList = ({\n components = [],\n addComponent,\n name,\n forTarget,\n targetUid,\n disabled = false,\n}: DynamicZoneListProps) => {\n const { isInDevelopmentMode } = useDataManager();\n const [activeTab, setActiveTab] = useState(0);\n const { formatMessage } = useIntl();\n\n const toggle = (tab: number) => {\n if (activeTab !== tab) {\n setActiveTab(tab);\n }\n };\n\n const handleClickAdd = () => {\n addComponent(name);\n };\n\n return (\n <ComponentRow className=\"dynamiczone-row\" $isFromDynamicZone>\n <Box>\n <Box padding={2} paddingLeft=\"104px\">\n <Flex role=\"tablist\" gap={2} wrap=\"wrap\">\n {isInDevelopmentMode && (\n <button\n type=\"button\"\n onClick={handleClickAdd}\n disabled={disabled}\n style={{\n cursor: disabled ? 'not-allowed' : 'pointer',\n }}\n >\n <ComponentStack direction=\"column\" alignItems=\"stretch\" gap={1}>\n <StyledAddIcon disabled={disabled} />\n <Typography\n variant=\"pi\"\n fontWeight=\"bold\"\n textColor={disabled ? 'neutral600' : 'primary600'}\n >\n {formatMessage({\n id: getTrad('button.component.add'),\n defaultMessage: 'Add a component',\n })}\n </Typography>\n </ComponentStack>\n </button>\n )}\n {components.map((component, index) => {\n return (\n <ComponentCard\n key={component}\n dzName={name || ''}\n index={index}\n component={component}\n isActive={activeTab === index}\n isInDevelopmentMode={isInDevelopmentMode}\n onClick={() => toggle(index)}\n forTarget={forTarget}\n targetUid={targetUid}\n disabled={disabled}\n />\n );\n })}\n </Flex>\n </Box>\n <Box>\n {components.map((component, index) => {\n return (\n <Box\n id={`dz-${name}-panel-${index}`}\n role=\"tabpanel\"\n aria-labelledby={`dz-${name}-tab-${index}`}\n key={component}\n style={{ display: activeTab === index ? 'block' : 'none' }}\n >\n <ComponentList isFromDynamicZone component={component} key={component} />\n </Box>\n );\n })}\n </Box>\n </Box>\n </ComponentRow>\n );\n};\n"],"names":["StyledAddIcon","styled","Plus","theme","disabled","colors","neutral100","primary100","neutral600","primary600","ComponentStack","Flex","DynamicZoneList","components","addComponent","name","forTarget","targetUid","isInDevelopmentMode","useDataManager","activeTab","setActiveTab","useState","formatMessage","useIntl","toggle","tab","handleClickAdd","_jsx","ComponentRow","className","$isFromDynamicZone","_jsxs","Box","padding","paddingLeft","role","gap","wrap","button","type","onClick","style","cursor","direction","alignItems","Typography","variant","fontWeight","textColor","id","getTrad","defaultMessage","map","component","index","ComponentCard","dzName","isActive","aria-labelledby","display","ComponentList","isFromDynamicZone"],"mappings":"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"}
1
+ {"version":3,"file":"DynamicZoneList.mjs","sources":["../../../admin/src/components/DynamicZoneList.tsx"],"sourcesContent":["import { ComponentType, useState } from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../utils/getTrad';\n\nimport { ComponentCard } from './ComponentCard';\nimport { ComponentList } from './ComponentList';\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface DynamicZoneListProps {\n addComponent: (name?: string) => void;\n components: Array<Internal.UID.Component>;\n customRowComponent?: ComponentType<any>;\n name?: string;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst StyledAddIcon = styled(Plus)<{ disabled?: boolean }>`\n width: 3.2rem;\n height: 3.2rem;\n padding: 0.9rem;\n border-radius: 6.4rem;\n background: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral100 : theme.colors.primary100};\n path {\n fill: ${({ theme, disabled }) =>\n disabled ? theme.colors.neutral600 : theme.colors.primary600};\n }\n`;\n\nconst ComponentStack = styled(Flex)`\n flex-shrink: 0;\n width: 14rem;\n height: 8rem;\n justify-content: center;\n align-items: center;\n`;\n\nexport const DynamicZoneList = ({\n components = [],\n addComponent,\n name,\n forTarget,\n targetUid,\n disabled = false,\n}: DynamicZoneListProps) => {\n const { isInDevelopmentMode } = useDataManager();\n const [activeTab, setActiveTab] = useState(0);\n const { formatMessage } = useIntl();\n\n const toggle = (tab: number) => {\n if (activeTab !== tab) {\n setActiveTab(tab);\n }\n };\n\n const handleClickAdd = () => {\n addComponent(name);\n };\n\n return (\n <ComponentRow className=\"dynamiczone-row\" $isFromDynamicZone>\n <Box>\n <Box padding={2} paddingLeft=\"104px\">\n <Flex role=\"tablist\" gap={2} wrap=\"wrap\">\n {isInDevelopmentMode && (\n <button\n type=\"button\"\n onClick={handleClickAdd}\n disabled={disabled}\n style={{\n cursor: disabled ? 'not-allowed' : 'pointer',\n }}\n >\n <ComponentStack direction=\"column\" alignItems=\"stretch\" gap={1}>\n <StyledAddIcon disabled={disabled} />\n <Typography\n variant=\"pi\"\n fontWeight=\"bold\"\n textColor={disabled ? 'neutral600' : 'primary600'}\n >\n {formatMessage({\n id: getTrad('button.component.add'),\n defaultMessage: 'Add a component',\n })}\n </Typography>\n </ComponentStack>\n </button>\n )}\n {components.map((component, index) => {\n return (\n <ComponentCard\n key={component}\n dzName={name || ''}\n index={index}\n component={component}\n isActive={activeTab === index}\n isInDevelopmentMode={isInDevelopmentMode}\n onClick={() => toggle(index)}\n forTarget={forTarget}\n targetUid={targetUid}\n disabled={disabled}\n />\n );\n })}\n </Flex>\n </Box>\n <Box>\n {components.map((component, index) => {\n return (\n <Box\n id={`dz-${name}-panel-${index}`}\n role=\"tabpanel\"\n aria-labelledby={`dz-${name}-tab-${index}`}\n key={component}\n style={{ display: activeTab === index ? 'block' : 'none' }}\n >\n <ComponentList isFromDynamicZone component={component} key={component} />\n </Box>\n );\n })}\n </Box>\n </Box>\n </ComponentRow>\n );\n};\n"],"names":["StyledAddIcon","styled","Plus","theme","disabled","colors","neutral100","primary100","neutral600","primary600","ComponentStack","Flex","DynamicZoneList","components","addComponent","name","forTarget","targetUid","isInDevelopmentMode","useDataManager","activeTab","setActiveTab","useState","formatMessage","useIntl","toggle","tab","handleClickAdd","_jsx","ComponentRow","className","$isFromDynamicZone","_jsxs","Box","padding","paddingLeft","role","gap","wrap","button","type","onClick","style","cursor","direction","alignItems","Typography","variant","fontWeight","textColor","id","getTrad","defaultMessage","map","component","index","ComponentCard","dzName","isActive","aria-labelledby","display","ComponentList","isFromDynamicZone"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Footers.js","sources":["../../../admin/src/components/Footers.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { Box, Divider, Flex, TFooterProps, Typography } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nconst IconBox = styled(Box)`\n height: 2.4rem;\n width: 2.4rem;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n height: 1rem;\n width: 1rem;\n }\n\n svg path {\n fill: ${({ theme, color }) => theme.colors[`${color}600` as keyof typeof theme.colors]};\n }\n`;\n\nconst ButtonBox = styled(Box)`\n border-radius: 0 0 ${({ theme }) => theme.borderRadius} ${({ theme }) => theme.borderRadius};\n display: block;\n width: 100%;\n border: none;\n position: relative;\n`;\n\ninterface NestedTFooterProps extends TFooterProps {\n color: string;\n children: ReactNode;\n icon: ReactNode;\n onClick?: () => void;\n}\n\nexport const NestedTFooter = ({ children, icon, color, ...props }: NestedTFooterProps) => {\n return (\n <ButtonBox\n paddingBottom={4}\n paddingTop={4}\n paddingLeft=\"6rem\"\n tag=\"button\"\n type=\"button\"\n {...props}\n >\n <Flex>\n <IconBox color={color} aria-hidden background={`${color}200`}>\n {icon}\n </IconBox>\n <Box paddingLeft={3}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor={`${color}600`}>\n {children}\n </Typography>\n </Box>\n </Flex>\n </ButtonBox>\n );\n};\n\nexport const TFooter = ({ children, icon, color, ...props }: TFooterProps & { color: string }) => {\n return (\n <div>\n <Divider />\n <ButtonBox tag=\"button\" background={`${color}100`} padding={5} {...props}>\n <Flex>\n <IconBox color={color} aria-hidden background={`${color}200`}>\n {icon}\n </IconBox>\n <Box paddingLeft={3}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor={`${color}600`}>\n {children}\n </Typography>\n </Box>\n </Flex>\n </ButtonBox>\n </div>\n );\n};\n"],"names":["IconBox","styled","Box","theme","color","colors","ButtonBox","borderRadius","NestedTFooter","children","icon","props","_jsx","paddingBottom","paddingTop","paddingLeft","tag","type","_jsxs","Flex","aria-hidden","background","Typography","variant","fontWeight","textColor","TFooter","div","Divider","padding"],"mappings":";;;;;;AAKA,MAAMA,OAAAA,GAAUC,uBAAOC,CAAAA,gBAAAA,CAAI;;;;;;;;;;;;;;AAcjB,UAAA,EAAE,CAAC,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAKD,KAAAA,CAAME,MAAM,CAAC,CAAC,EAAED,KAAAA,CAAM,GAAG,CAAC,CAA8B,CAAC;;AAE3F,CAAC;AAED,MAAME,SAAAA,GAAYL,uBAAOC,CAAAA,gBAAAA,CAAI;AACR,qBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,MAAMI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMI,YAAY,CAAC;;;;;AAK9F,CAAC;AASM,MAAMC,aAAgB,GAAA,CAAC,EAAEC,QAAQ,EAAEC,IAAI,EAAEN,KAAK,EAAE,GAAGO,KAA2B,EAAA,GAAA;AACnF,IAAA,qBACEC,cAACN,CAAAA,SAAAA,EAAAA;QACCO,aAAe,EAAA,CAAA;QACfC,UAAY,EAAA,CAAA;QACZC,WAAY,EAAA,MAAA;QACZC,GAAI,EAAA,QAAA;QACJC,IAAK,EAAA,QAAA;AACJ,QAAA,GAAGN,KAAK;AAET,QAAA,QAAA,gBAAAO,eAACC,CAAAA,iBAAAA,EAAAA;;8BACCP,cAACZ,CAAAA,OAAAA,EAAAA;oBAAQI,KAAOA,EAAAA,KAAAA;oBAAOgB,aAAW,EAAA,IAAA;AAACC,oBAAAA,UAAAA,EAAY,CAAC,EAAEjB,KAAM,CAAA,GAAG,CAAC;AACzDM,oBAAAA,QAAAA,EAAAA;;8BAEHE,cAACV,CAAAA,gBAAAA,EAAAA;oBAAIa,WAAa,EAAA,CAAA;AAChB,oBAAA,QAAA,gBAAAH,cAACU,CAAAA,uBAAAA,EAAAA;wBAAWC,OAAQ,EAAA,IAAA;wBAAKC,UAAW,EAAA,MAAA;AAAOC,wBAAAA,SAAAA,EAAW,CAAC,EAAErB,KAAM,CAAA,GAAG,CAAC;AAChEK,wBAAAA,QAAAA,EAAAA;;;;;;AAMb;AAEO,MAAMiB,OAAU,GAAA,CAAC,EAAEjB,QAAQ,EAAEC,IAAI,EAAEN,KAAK,EAAE,GAAGO,KAAyC,EAAA,GAAA;AAC3F,IAAA,qBACEO,eAACS,CAAAA,KAAAA,EAAAA;;0BACCf,cAACgB,CAAAA,oBAAAA,EAAAA,EAAAA,CAAAA;0BACDhB,cAACN,CAAAA,SAAAA,EAAAA;gBAAUU,GAAI,EAAA,QAAA;AAASK,gBAAAA,UAAAA,EAAY,CAAC,EAAEjB,KAAM,CAAA,GAAG,CAAC;gBAAEyB,OAAS,EAAA,CAAA;AAAI,gBAAA,GAAGlB,KAAK;AACtE,gBAAA,QAAA,gBAAAO,eAACC,CAAAA,iBAAAA,EAAAA;;sCACCP,cAACZ,CAAAA,OAAAA,EAAAA;4BAAQI,KAAOA,EAAAA,KAAAA;4BAAOgB,aAAW,EAAA,IAAA;AAACC,4BAAAA,UAAAA,EAAY,CAAC,EAAEjB,KAAM,CAAA,GAAG,CAAC;AACzDM,4BAAAA,QAAAA,EAAAA;;sCAEHE,cAACV,CAAAA,gBAAAA,EAAAA;4BAAIa,WAAa,EAAA,CAAA;AAChB,4BAAA,QAAA,gBAAAH,cAACU,CAAAA,uBAAAA,EAAAA;gCAAWC,OAAQ,EAAA,IAAA;gCAAKC,UAAW,EAAA,MAAA;AAAOC,gCAAAA,SAAAA,EAAW,CAAC,EAAErB,KAAM,CAAA,GAAG,CAAC;AAChEK,gCAAAA,QAAAA,EAAAA;;;;;;;;AAOf;;;;;"}
1
+ {"version":3,"file":"Footers.js","sources":["../../../admin/src/components/Footers.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { Box, Divider, Flex, TFooterProps, Typography } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nconst IconBox = styled(Box)`\n height: 2.4rem;\n width: 2.4rem;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n height: 1rem;\n width: 1rem;\n }\n\n svg path {\n fill: ${({ theme, color }) => theme.colors[`${color}600` as keyof typeof theme.colors]};\n }\n`;\n\nconst ButtonBox = styled(Box)`\n border-radius: 0 0 ${({ theme }) => theme.borderRadius} ${({ theme }) => theme.borderRadius};\n display: block;\n width: 100%;\n border: none;\n position: relative;\n`;\n\ninterface NestedTFooterProps extends TFooterProps {\n color: string;\n children: ReactNode;\n icon: ReactNode;\n onClick?: () => void;\n}\n\nexport const NestedTFooter = ({ children, icon, color, ...props }: NestedTFooterProps) => {\n return (\n <ButtonBox\n paddingBottom={4}\n paddingTop={4}\n paddingLeft=\"6rem\"\n tag=\"button\"\n type=\"button\"\n {...props}\n >\n <Flex>\n <IconBox color={color} aria-hidden background={`${color}200`}>\n {icon}\n </IconBox>\n <Box paddingLeft={3}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor={`${color}600`}>\n {children}\n </Typography>\n </Box>\n </Flex>\n </ButtonBox>\n );\n};\n\nexport const TFooter = ({ children, icon, color, ...props }: TFooterProps & { color: string }) => {\n return (\n <div>\n <Divider />\n <ButtonBox tag=\"button\" background={`${color}100`} padding={5} {...props}>\n <Flex>\n <IconBox color={color} aria-hidden background={`${color}200`}>\n {icon}\n </IconBox>\n <Box paddingLeft={3}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor={`${color}600`}>\n {children}\n </Typography>\n </Box>\n </Flex>\n </ButtonBox>\n </div>\n );\n};\n"],"names":["IconBox","styled","Box","theme","color","colors","ButtonBox","borderRadius","NestedTFooter","children","icon","props","_jsx","paddingBottom","paddingTop","paddingLeft","tag","type","_jsxs","Flex","aria-hidden","background","Typography","variant","fontWeight","textColor","TFooter","div","Divider","padding"],"mappings":";;;;;;AAKA,MAAMA,OAAAA,GAAUC,uBAAOC,CAAAA,gBAAAA,CAAI;;;;;;;;;;;;;;AAcjB,UAAA,EAAE,CAAC,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAKD,KAAME,CAAAA,MAAM,CAAC,CAAGD,EAAAA,KAAAA,CAAM,GAAG,CAAC,CAA8B,CAAC;;AAE3F,CAAC;AAED,MAAME,SAAAA,GAAYL,uBAAOC,CAAAA,gBAAAA,CAAI;AACR,qBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,MAAMI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMI,YAAY,CAAC;;;;;AAK9F,CAAC;AASM,MAAMC,aAAgB,GAAA,CAAC,EAAEC,QAAQ,EAAEC,IAAI,EAAEN,KAAK,EAAE,GAAGO,KAA2B,EAAA,GAAA;AACnF,IAAA,qBACEC,cAACN,CAAAA,SAAAA,EAAAA;QACCO,aAAe,EAAA,CAAA;QACfC,UAAY,EAAA,CAAA;QACZC,WAAY,EAAA,MAAA;QACZC,GAAI,EAAA,QAAA;QACJC,IAAK,EAAA,QAAA;AACJ,QAAA,GAAGN,KAAK;AAET,QAAA,QAAA,gBAAAO,eAACC,CAAAA,iBAAAA,EAAAA;;8BACCP,cAACZ,CAAAA,OAAAA,EAAAA;oBAAQI,KAAOA,EAAAA,KAAAA;oBAAOgB,aAAW,EAAA,IAAA;oBAACC,UAAY,EAAA,CAAA,EAAGjB,KAAM,CAAA,GAAG,CAAC;AACzDM,oBAAAA,QAAAA,EAAAA;;8BAEHE,cAACV,CAAAA,gBAAAA,EAAAA;oBAAIa,WAAa,EAAA,CAAA;AAChB,oBAAA,QAAA,gBAAAH,cAACU,CAAAA,uBAAAA,EAAAA;wBAAWC,OAAQ,EAAA,IAAA;wBAAKC,UAAW,EAAA,MAAA;wBAAOC,SAAW,EAAA,CAAA,EAAGrB,KAAM,CAAA,GAAG,CAAC;AAChEK,wBAAAA,QAAAA,EAAAA;;;;;;AAMb;AAEO,MAAMiB,OAAU,GAAA,CAAC,EAAEjB,QAAQ,EAAEC,IAAI,EAAEN,KAAK,EAAE,GAAGO,KAAyC,EAAA,GAAA;AAC3F,IAAA,qBACEO,eAACS,CAAAA,KAAAA,EAAAA;;0BACCf,cAACgB,CAAAA,oBAAAA,EAAAA,EAAAA,CAAAA;0BACDhB,cAACN,CAAAA,SAAAA,EAAAA;gBAAUU,GAAI,EAAA,QAAA;gBAASK,UAAY,EAAA,CAAA,EAAGjB,KAAM,CAAA,GAAG,CAAC;gBAAEyB,OAAS,EAAA,CAAA;AAAI,gBAAA,GAAGlB,KAAK;AACtE,gBAAA,QAAA,gBAAAO,eAACC,CAAAA,iBAAAA,EAAAA;;sCACCP,cAACZ,CAAAA,OAAAA,EAAAA;4BAAQI,KAAOA,EAAAA,KAAAA;4BAAOgB,aAAW,EAAA,IAAA;4BAACC,UAAY,EAAA,CAAA,EAAGjB,KAAM,CAAA,GAAG,CAAC;AACzDM,4BAAAA,QAAAA,EAAAA;;sCAEHE,cAACV,CAAAA,gBAAAA,EAAAA;4BAAIa,WAAa,EAAA,CAAA;AAChB,4BAAA,QAAA,gBAAAH,cAACU,CAAAA,uBAAAA,EAAAA;gCAAWC,OAAQ,EAAA,IAAA;gCAAKC,UAAW,EAAA,MAAA;gCAAOC,SAAW,EAAA,CAAA,EAAGrB,KAAM,CAAA,GAAG,CAAC;AAChEK,gCAAAA,QAAAA,EAAAA;;;;;;;;AAOf;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Footers.mjs","sources":["../../../admin/src/components/Footers.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { Box, Divider, Flex, TFooterProps, Typography } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nconst IconBox = styled(Box)`\n height: 2.4rem;\n width: 2.4rem;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n height: 1rem;\n width: 1rem;\n }\n\n svg path {\n fill: ${({ theme, color }) => theme.colors[`${color}600` as keyof typeof theme.colors]};\n }\n`;\n\nconst ButtonBox = styled(Box)`\n border-radius: 0 0 ${({ theme }) => theme.borderRadius} ${({ theme }) => theme.borderRadius};\n display: block;\n width: 100%;\n border: none;\n position: relative;\n`;\n\ninterface NestedTFooterProps extends TFooterProps {\n color: string;\n children: ReactNode;\n icon: ReactNode;\n onClick?: () => void;\n}\n\nexport const NestedTFooter = ({ children, icon, color, ...props }: NestedTFooterProps) => {\n return (\n <ButtonBox\n paddingBottom={4}\n paddingTop={4}\n paddingLeft=\"6rem\"\n tag=\"button\"\n type=\"button\"\n {...props}\n >\n <Flex>\n <IconBox color={color} aria-hidden background={`${color}200`}>\n {icon}\n </IconBox>\n <Box paddingLeft={3}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor={`${color}600`}>\n {children}\n </Typography>\n </Box>\n </Flex>\n </ButtonBox>\n );\n};\n\nexport const TFooter = ({ children, icon, color, ...props }: TFooterProps & { color: string }) => {\n return (\n <div>\n <Divider />\n <ButtonBox tag=\"button\" background={`${color}100`} padding={5} {...props}>\n <Flex>\n <IconBox color={color} aria-hidden background={`${color}200`}>\n {icon}\n </IconBox>\n <Box paddingLeft={3}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor={`${color}600`}>\n {children}\n </Typography>\n </Box>\n </Flex>\n </ButtonBox>\n </div>\n );\n};\n"],"names":["IconBox","styled","Box","theme","color","colors","ButtonBox","borderRadius","NestedTFooter","children","icon","props","_jsx","paddingBottom","paddingTop","paddingLeft","tag","type","_jsxs","Flex","aria-hidden","background","Typography","variant","fontWeight","textColor","TFooter","div","Divider","padding"],"mappings":";;;;AAKA,MAAMA,OAAAA,GAAUC,MAAOC,CAAAA,GAAAA,CAAI;;;;;;;;;;;;;;AAcjB,UAAA,EAAE,CAAC,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAKD,KAAAA,CAAME,MAAM,CAAC,CAAC,EAAED,KAAAA,CAAM,GAAG,CAAC,CAA8B,CAAC;;AAE3F,CAAC;AAED,MAAME,SAAAA,GAAYL,MAAOC,CAAAA,GAAAA,CAAI;AACR,qBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,MAAMI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMI,YAAY,CAAC;;;;;AAK9F,CAAC;AASM,MAAMC,aAAgB,GAAA,CAAC,EAAEC,QAAQ,EAAEC,IAAI,EAAEN,KAAK,EAAE,GAAGO,KAA2B,EAAA,GAAA;AACnF,IAAA,qBACEC,GAACN,CAAAA,SAAAA,EAAAA;QACCO,aAAe,EAAA,CAAA;QACfC,UAAY,EAAA,CAAA;QACZC,WAAY,EAAA,MAAA;QACZC,GAAI,EAAA,QAAA;QACJC,IAAK,EAAA,QAAA;AACJ,QAAA,GAAGN,KAAK;AAET,QAAA,QAAA,gBAAAO,IAACC,CAAAA,IAAAA,EAAAA;;8BACCP,GAACZ,CAAAA,OAAAA,EAAAA;oBAAQI,KAAOA,EAAAA,KAAAA;oBAAOgB,aAAW,EAAA,IAAA;AAACC,oBAAAA,UAAAA,EAAY,CAAC,EAAEjB,KAAM,CAAA,GAAG,CAAC;AACzDM,oBAAAA,QAAAA,EAAAA;;8BAEHE,GAACV,CAAAA,GAAAA,EAAAA;oBAAIa,WAAa,EAAA,CAAA;AAChB,oBAAA,QAAA,gBAAAH,GAACU,CAAAA,UAAAA,EAAAA;wBAAWC,OAAQ,EAAA,IAAA;wBAAKC,UAAW,EAAA,MAAA;AAAOC,wBAAAA,SAAAA,EAAW,CAAC,EAAErB,KAAM,CAAA,GAAG,CAAC;AAChEK,wBAAAA,QAAAA,EAAAA;;;;;;AAMb;AAEO,MAAMiB,OAAU,GAAA,CAAC,EAAEjB,QAAQ,EAAEC,IAAI,EAAEN,KAAK,EAAE,GAAGO,KAAyC,EAAA,GAAA;AAC3F,IAAA,qBACEO,IAACS,CAAAA,KAAAA,EAAAA;;0BACCf,GAACgB,CAAAA,OAAAA,EAAAA,EAAAA,CAAAA;0BACDhB,GAACN,CAAAA,SAAAA,EAAAA;gBAAUU,GAAI,EAAA,QAAA;AAASK,gBAAAA,UAAAA,EAAY,CAAC,EAAEjB,KAAM,CAAA,GAAG,CAAC;gBAAEyB,OAAS,EAAA,CAAA;AAAI,gBAAA,GAAGlB,KAAK;AACtE,gBAAA,QAAA,gBAAAO,IAACC,CAAAA,IAAAA,EAAAA;;sCACCP,GAACZ,CAAAA,OAAAA,EAAAA;4BAAQI,KAAOA,EAAAA,KAAAA;4BAAOgB,aAAW,EAAA,IAAA;AAACC,4BAAAA,UAAAA,EAAY,CAAC,EAAEjB,KAAM,CAAA,GAAG,CAAC;AACzDM,4BAAAA,QAAAA,EAAAA;;sCAEHE,GAACV,CAAAA,GAAAA,EAAAA;4BAAIa,WAAa,EAAA,CAAA;AAChB,4BAAA,QAAA,gBAAAH,GAACU,CAAAA,UAAAA,EAAAA;gCAAWC,OAAQ,EAAA,IAAA;gCAAKC,UAAW,EAAA,MAAA;AAAOC,gCAAAA,SAAAA,EAAW,CAAC,EAAErB,KAAM,CAAA,GAAG,CAAC;AAChEK,gCAAAA,QAAAA,EAAAA;;;;;;;;AAOf;;;;"}
1
+ {"version":3,"file":"Footers.mjs","sources":["../../../admin/src/components/Footers.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { Box, Divider, Flex, TFooterProps, Typography } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nconst IconBox = styled(Box)`\n height: 2.4rem;\n width: 2.4rem;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n height: 1rem;\n width: 1rem;\n }\n\n svg path {\n fill: ${({ theme, color }) => theme.colors[`${color}600` as keyof typeof theme.colors]};\n }\n`;\n\nconst ButtonBox = styled(Box)`\n border-radius: 0 0 ${({ theme }) => theme.borderRadius} ${({ theme }) => theme.borderRadius};\n display: block;\n width: 100%;\n border: none;\n position: relative;\n`;\n\ninterface NestedTFooterProps extends TFooterProps {\n color: string;\n children: ReactNode;\n icon: ReactNode;\n onClick?: () => void;\n}\n\nexport const NestedTFooter = ({ children, icon, color, ...props }: NestedTFooterProps) => {\n return (\n <ButtonBox\n paddingBottom={4}\n paddingTop={4}\n paddingLeft=\"6rem\"\n tag=\"button\"\n type=\"button\"\n {...props}\n >\n <Flex>\n <IconBox color={color} aria-hidden background={`${color}200`}>\n {icon}\n </IconBox>\n <Box paddingLeft={3}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor={`${color}600`}>\n {children}\n </Typography>\n </Box>\n </Flex>\n </ButtonBox>\n );\n};\n\nexport const TFooter = ({ children, icon, color, ...props }: TFooterProps & { color: string }) => {\n return (\n <div>\n <Divider />\n <ButtonBox tag=\"button\" background={`${color}100`} padding={5} {...props}>\n <Flex>\n <IconBox color={color} aria-hidden background={`${color}200`}>\n {icon}\n </IconBox>\n <Box paddingLeft={3}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor={`${color}600`}>\n {children}\n </Typography>\n </Box>\n </Flex>\n </ButtonBox>\n </div>\n );\n};\n"],"names":["IconBox","styled","Box","theme","color","colors","ButtonBox","borderRadius","NestedTFooter","children","icon","props","_jsx","paddingBottom","paddingTop","paddingLeft","tag","type","_jsxs","Flex","aria-hidden","background","Typography","variant","fontWeight","textColor","TFooter","div","Divider","padding"],"mappings":";;;;AAKA,MAAMA,OAAAA,GAAUC,MAAOC,CAAAA,GAAAA,CAAI;;;;;;;;;;;;;;AAcjB,UAAA,EAAE,CAAC,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAKD,KAAME,CAAAA,MAAM,CAAC,CAAGD,EAAAA,KAAAA,CAAM,GAAG,CAAC,CAA8B,CAAC;;AAE3F,CAAC;AAED,MAAME,SAAAA,GAAYL,MAAOC,CAAAA,GAAAA,CAAI;AACR,qBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,MAAMI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMI,YAAY,CAAC;;;;;AAK9F,CAAC;AASM,MAAMC,aAAgB,GAAA,CAAC,EAAEC,QAAQ,EAAEC,IAAI,EAAEN,KAAK,EAAE,GAAGO,KAA2B,EAAA,GAAA;AACnF,IAAA,qBACEC,GAACN,CAAAA,SAAAA,EAAAA;QACCO,aAAe,EAAA,CAAA;QACfC,UAAY,EAAA,CAAA;QACZC,WAAY,EAAA,MAAA;QACZC,GAAI,EAAA,QAAA;QACJC,IAAK,EAAA,QAAA;AACJ,QAAA,GAAGN,KAAK;AAET,QAAA,QAAA,gBAAAO,IAACC,CAAAA,IAAAA,EAAAA;;8BACCP,GAACZ,CAAAA,OAAAA,EAAAA;oBAAQI,KAAOA,EAAAA,KAAAA;oBAAOgB,aAAW,EAAA,IAAA;oBAACC,UAAY,EAAA,CAAA,EAAGjB,KAAM,CAAA,GAAG,CAAC;AACzDM,oBAAAA,QAAAA,EAAAA;;8BAEHE,GAACV,CAAAA,GAAAA,EAAAA;oBAAIa,WAAa,EAAA,CAAA;AAChB,oBAAA,QAAA,gBAAAH,GAACU,CAAAA,UAAAA,EAAAA;wBAAWC,OAAQ,EAAA,IAAA;wBAAKC,UAAW,EAAA,MAAA;wBAAOC,SAAW,EAAA,CAAA,EAAGrB,KAAM,CAAA,GAAG,CAAC;AAChEK,wBAAAA,QAAAA,EAAAA;;;;;;AAMb;AAEO,MAAMiB,OAAU,GAAA,CAAC,EAAEjB,QAAQ,EAAEC,IAAI,EAAEN,KAAK,EAAE,GAAGO,KAAyC,EAAA,GAAA;AAC3F,IAAA,qBACEO,IAACS,CAAAA,KAAAA,EAAAA;;0BACCf,GAACgB,CAAAA,OAAAA,EAAAA,EAAAA,CAAAA;0BACDhB,GAACN,CAAAA,SAAAA,EAAAA;gBAAUU,GAAI,EAAA,QAAA;gBAASK,UAAY,EAAA,CAAA,EAAGjB,KAAM,CAAA,GAAG,CAAC;gBAAEyB,OAAS,EAAA,CAAA;AAAI,gBAAA,GAAGlB,KAAK;AACtE,gBAAA,QAAA,gBAAAO,IAACC,CAAAA,IAAAA,EAAAA;;sCACCP,GAACZ,CAAAA,OAAAA,EAAAA;4BAAQI,KAAOA,EAAAA,KAAAA;4BAAOgB,aAAW,EAAA,IAAA;4BAACC,UAAY,EAAA,CAAA,EAAGjB,KAAM,CAAA,GAAG,CAAC;AACzDM,4BAAAA,QAAAA,EAAAA;;sCAEHE,GAACV,CAAAA,GAAAA,EAAAA;4BAAIa,WAAa,EAAA,CAAA;AAChB,4BAAA,QAAA,gBAAAH,GAACU,CAAAA,UAAAA,EAAAA;gCAAWC,OAAQ,EAAA,IAAA;gCAAKC,UAAW,EAAA,MAAA;gCAAOC,SAAW,EAAA,CAAA,EAAGrB,KAAM,CAAA,GAAG,CAAC;AAChEK,gCAAAA,QAAAA,EAAAA;;;;;;;;AAOf;;;;"}