@strapi/content-type-builder 5.29.0 → 5.30.1

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 (133) hide show
  1. package/dist/admin/components/AIChat/Chat.js +1 -0
  2. package/dist/admin/components/AIChat/Chat.js.map +1 -1
  3. package/dist/admin/components/AIChat/Chat.mjs +1 -0
  4. package/dist/admin/components/AIChat/Chat.mjs.map +1 -1
  5. package/dist/admin/components/AIChat/FeedbackModal.js.map +1 -1
  6. package/dist/admin/components/AIChat/FeedbackModal.mjs.map +1 -1
  7. package/dist/admin/components/AIChat/UploadFigmaModal.js +2 -1
  8. package/dist/admin/components/AIChat/UploadFigmaModal.js.map +1 -1
  9. package/dist/admin/components/AIChat/UploadFigmaModal.mjs +2 -1
  10. package/dist/admin/components/AIChat/UploadFigmaModal.mjs.map +1 -1
  11. package/dist/admin/components/AIChat/components/Base64Image.js.map +1 -1
  12. package/dist/admin/components/AIChat/components/Base64Image.mjs.map +1 -1
  13. package/dist/admin/components/AIChat/components/Collapsible.js.map +1 -1
  14. package/dist/admin/components/AIChat/components/Collapsible.mjs.map +1 -1
  15. package/dist/admin/components/AIChat/components/FullScreenImage.js.map +1 -1
  16. package/dist/admin/components/AIChat/components/FullScreenImage.mjs.map +1 -1
  17. package/dist/admin/components/AIChat/components/Messages/Message.js.map +1 -1
  18. package/dist/admin/components/AIChat/components/Messages/Message.mjs.map +1 -1
  19. package/dist/admin/components/AIChat/hooks/useAIFetch.js.map +1 -1
  20. package/dist/admin/components/AIChat/hooks/useAIFetch.mjs.map +1 -1
  21. package/dist/admin/components/AIChat/hooks/useCodeUpload.js.map +1 -1
  22. package/dist/admin/components/AIChat/hooks/useCodeUpload.mjs.map +1 -1
  23. package/dist/admin/components/AIChat/hooks/useFigmaUpload.js.map +1 -1
  24. package/dist/admin/components/AIChat/hooks/useFigmaUpload.mjs.map +1 -1
  25. package/dist/admin/components/AIChat/lib/aiClient.js.map +1 -1
  26. package/dist/admin/components/AIChat/lib/aiClient.mjs.map +1 -1
  27. package/dist/admin/components/AIChat/lib/constants.js.map +1 -1
  28. package/dist/admin/components/AIChat/lib/constants.mjs.map +1 -1
  29. package/dist/admin/components/AIChat/providers/SchemaProvider.js.map +1 -1
  30. package/dist/admin/components/AIChat/providers/SchemaProvider.mjs.map +1 -1
  31. package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -1
  32. package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -1
  33. package/dist/admin/components/AttributeOptions/AttributeOptions.js.map +1 -1
  34. package/dist/admin/components/AttributeOptions/AttributeOptions.mjs.map +1 -1
  35. package/dist/admin/components/AttributeOptions/EmptyAttributes.js.map +1 -1
  36. package/dist/admin/components/AttributeOptions/EmptyAttributes.mjs.map +1 -1
  37. package/dist/admin/components/AttributeRow.js.map +1 -1
  38. package/dist/admin/components/AttributeRow.mjs.map +1 -1
  39. package/dist/admin/components/CheckboxWithNumberField.js +2 -1
  40. package/dist/admin/components/CheckboxWithNumberField.js.map +1 -1
  41. package/dist/admin/components/CheckboxWithNumberField.mjs +2 -1
  42. package/dist/admin/components/CheckboxWithNumberField.mjs.map +1 -1
  43. package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
  44. package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
  45. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
  46. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -1
  47. package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -1
  48. package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -1
  49. package/dist/admin/components/DisplayedType.js.map +1 -1
  50. package/dist/admin/components/DisplayedType.mjs.map +1 -1
  51. package/dist/admin/components/DynamicZoneList.js.map +1 -1
  52. package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
  53. package/dist/admin/components/Footers.js.map +1 -1
  54. package/dist/admin/components/Footers.mjs.map +1 -1
  55. package/dist/admin/components/FormModal/FormModal.js.map +1 -1
  56. package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
  57. package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
  58. package/dist/admin/components/FormModal/attributes/ConditionForm.mjs.map +1 -1
  59. package/dist/admin/components/FormModal/attributes/advancedForm.js.map +1 -1
  60. package/dist/admin/components/FormModal/attributes/advancedForm.mjs.map +1 -1
  61. package/dist/admin/components/FormModal/attributes/baseForm.js.map +1 -1
  62. package/dist/admin/components/FormModal/attributes/baseForm.mjs.map +1 -1
  63. package/dist/admin/components/FormModal/component/componentForm.js.map +1 -1
  64. package/dist/admin/components/FormModal/component/componentForm.mjs.map +1 -1
  65. package/dist/admin/components/FormModal/forms/utils/createCollectionName.js.map +1 -1
  66. package/dist/admin/components/FormModal/forms/utils/createCollectionName.mjs.map +1 -1
  67. package/dist/admin/components/FormModal/utils/createUid.js.map +1 -1
  68. package/dist/admin/components/FormModal/utils/createUid.mjs.map +1 -1
  69. package/dist/admin/components/FormModalHeader.js.map +1 -1
  70. package/dist/admin/components/FormModalHeader.mjs.map +1 -1
  71. package/dist/admin/components/FormModalSubHeader.js.map +1 -1
  72. package/dist/admin/components/FormModalSubHeader.mjs.map +1 -1
  73. package/dist/admin/components/IconPicker/constants.js +3 -0
  74. package/dist/admin/components/IconPicker/constants.js.map +1 -1
  75. package/dist/admin/components/IconPicker/constants.mjs +3 -0
  76. package/dist/admin/components/IconPicker/constants.mjs.map +1 -1
  77. package/dist/admin/components/List.js.map +1 -1
  78. package/dist/admin/components/List.mjs.map +1 -1
  79. package/dist/admin/components/PluralName.js +2 -1
  80. package/dist/admin/components/PluralName.js.map +1 -1
  81. package/dist/admin/components/PluralName.mjs +2 -1
  82. package/dist/admin/components/PluralName.mjs.map +1 -1
  83. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js.map +1 -1
  84. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs.map +1 -1
  85. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -1
  86. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs.map +1 -1
  87. package/dist/admin/components/SelectComponent.js.map +1 -1
  88. package/dist/admin/components/SelectComponent.mjs.map +1 -1
  89. package/dist/admin/components/SingularName.js +2 -1
  90. package/dist/admin/components/SingularName.js.map +1 -1
  91. package/dist/admin/components/SingularName.mjs +2 -1
  92. package/dist/admin/components/SingularName.mjs.map +1 -1
  93. package/dist/admin/components/TabForm.js.map +1 -1
  94. package/dist/admin/components/TabForm.mjs.map +1 -1
  95. package/dist/admin/index.js.map +1 -1
  96. package/dist/admin/index.mjs.map +1 -1
  97. package/dist/admin/pages/App/index.js.map +1 -1
  98. package/dist/admin/pages/App/index.mjs.map +1 -1
  99. package/dist/admin/pages/ListView/ListView.js.map +1 -1
  100. package/dist/admin/pages/ListView/ListView.mjs.map +1 -1
  101. package/dist/admin/utils/conditions.js.map +1 -1
  102. package/dist/admin/utils/conditions.mjs.map +1 -1
  103. package/dist/admin/utils/getTrad.js.map +1 -1
  104. package/dist/admin/utils/getTrad.mjs.map +1 -1
  105. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -1
  106. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -1
  107. package/dist/admin/utils/timeFormat.js.map +1 -1
  108. package/dist/admin/utils/timeFormat.mjs.map +1 -1
  109. package/dist/server/controllers/validation/common.js.map +1 -1
  110. package/dist/server/controllers/validation/common.mjs.map +1 -1
  111. package/dist/server/controllers/validation/content-type.js.map +1 -1
  112. package/dist/server/controllers/validation/content-type.mjs.map +1 -1
  113. package/dist/server/controllers/validation/model-schema.js.map +1 -1
  114. package/dist/server/controllers/validation/model-schema.mjs.map +1 -1
  115. package/dist/server/controllers/validation/relations.js.map +1 -1
  116. package/dist/server/controllers/validation/relations.mjs.map +1 -1
  117. package/dist/server/register.js +30 -89
  118. package/dist/server/register.js.map +1 -1
  119. package/dist/server/register.mjs +30 -89
  120. package/dist/server/register.mjs.map +1 -1
  121. package/dist/server/services/api-handler.js.map +1 -1
  122. package/dist/server/services/api-handler.mjs.map +1 -1
  123. package/dist/server/services/component-categories.js.map +1 -1
  124. package/dist/server/services/component-categories.mjs.map +1 -1
  125. package/dist/server/services/schema-builder/component-builder.js.map +1 -1
  126. package/dist/server/services/schema-builder/component-builder.mjs.map +1 -1
  127. package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
  128. package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -1
  129. package/dist/server/src/index.d.ts +3 -1
  130. package/dist/server/src/index.d.ts.map +1 -1
  131. package/dist/server/src/register.d.ts +4 -9
  132. package/dist/server/src/register.d.ts.map +1 -1
  133. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeRow.js","sources":["../../../admin/src/components/AttributeRow.tsx"],"sourcesContent":["import { forwardRef, memo, useState } from 'react';\n\nimport { ConfirmDialog } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, IconButton, Typography, Link, Badge, Dialog } from '@strapi/design-system';\nimport { ChevronDown, Drag, Lock, Pencil, Trash } from '@strapi/icons';\nimport get from 'lodash/get';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\nimport { Link as NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { Curve } from '../icons/Curve';\nimport { checkDependentRows } from '../utils/conditions';\nimport { getAttributeDisplayedType } from '../utils/getAttributeDisplayedType';\nimport { getRelationType } from '../utils/getRelationType';\nimport { getTrad } from '../utils/getTrad';\n\nimport { AttributeIcon } from './AttributeIcon';\nimport { ComponentList } from './ComponentList';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { DisplayedType } from './DisplayedType';\nimport { DynamicZoneList } from './DynamicZoneList';\nimport { useFormModalNavigation } from './FormModalNavigation/useFormModalNavigation';\nimport { StatusBadge } from './Status';\n\nimport type { AnyAttribute, Component, ContentType } from '../types';\nimport type { DraggableAttributes, DraggableSyntheticListeners } from '@dnd-kit/core';\nimport type { UID } from '@strapi/types';\n\nexport const GridWrapper = styled(Flex)<{ $isOverlay?: boolean; $isDragging?: boolean }>`\n justify-content: space-between;\n\n border-top: ${({ theme, $isOverlay }) =>\n $isOverlay ? 'none' : `1px solid ${theme.colors.neutral150}`};\n\n padding-top: ${({ theme }) => theme.spaces[4]};\n padding-bottom: ${({ theme }) => theme.spaces[4]};\n\n opacity: ${({ $isDragging }) => ($isDragging ? 0 : 1)};\n align-items: center;\n`;\n\nexport type AttributeRowProps = {\n item: {\n id: string;\n index: number;\n } & AnyAttribute;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n addComponentToDZ?: () => void;\n secondLoopComponentUid?: UID.Component | null;\n type: ContentType | Component;\n isDragging?: boolean;\n style?: Record<string, unknown>;\n listeners?: DraggableSyntheticListeners;\n attributes?: DraggableAttributes;\n isOverlay?: boolean;\n handleRef?: (element: HTMLElement | null) => void;\n};\n\nconst StyledAttributeRow = styled(Box)`\n list-style: none;\n list-style-type: none;\n`;\n\nexport const AttributeRow = forwardRef<HTMLLIElement, AttributeRowProps>((props, ref) => {\n const { style, ...rest } = props;\n\n return (\n <StyledAttributeRow\n tag=\"li\"\n ref={ref}\n {...props.attributes}\n style={style}\n background=\"neutral0\"\n shadow={props.isOverlay ? 'filterShadow' : 'none'}\n aria-label={props.item.name}\n >\n <MemoizedRow {...rest} />\n </StyledAttributeRow>\n );\n});\n\nconst MemoizedRow = memo((props: Omit<AttributeRowProps, 'style'>) => {\n const {\n item,\n firstLoopComponentUid,\n isFromDynamicZone,\n addComponentToDZ,\n secondLoopComponentUid,\n type,\n isDragging,\n isOverlay,\n handleRef,\n listeners,\n } = props;\n const shouldHideNestedInfos = isOverlay || isDragging;\n\n const [isOpen, setIsOpen] = useState<boolean>(true);\n\n const isTypeDeleted = type.status === 'REMOVED';\n\n const { contentTypes, removeAttribute, isInDevelopmentMode } = useDataManager();\n const { onOpenModalEditField, onOpenModalEditCustomField } = useFormModalNavigation();\n\n const { formatMessage } = useIntl();\n const [showConfirmDialog, setShowConfirmDialog] = useState(false);\n\n const isDeleted = item.status === 'REMOVED';\n\n const isMorph = item.type === 'relation' && item.relation.includes('morph');\n const ico = ['integer', 'biginteger', 'float', 'decimal'].includes(item.type)\n ? 'number'\n : item.type;\n\n const targetContentType = item.type === 'relation' ? get(contentTypes, item.target) : null;\n const isPluginContentType = get(targetContentType, 'plugin');\n\n const src = 'target' in item && item.target ? 'relation' : ico;\n\n const handleDelete = (e: React.MouseEvent | React.KeyboardEvent) => {\n e.stopPropagation();\n const dependentRows = checkDependentRows(contentTypes, item.name);\n if (dependentRows.length > 0) {\n setShowConfirmDialog(true);\n } else {\n removeAttribute({\n forTarget: type.modelType,\n targetUid: type.uid,\n attributeToRemoveName: item.name,\n });\n }\n };\n\n const handleConfirmDelete = () => {\n removeAttribute({\n forTarget: type.modelType,\n targetUid: type.uid,\n attributeToRemoveName: item.name,\n });\n setShowConfirmDialog(false);\n };\n\n const handleCancelDelete = () => {\n setShowConfirmDialog(false);\n };\n\n const handleClick = (e?: React.MouseEvent | React.KeyboardEvent) => {\n if (e) {\n e.stopPropagation();\n }\n\n if (isMorph) {\n return;\n }\n\n if (item.configurable !== false) {\n const editTargetUid = (secondLoopComponentUid || firstLoopComponentUid || type.uid)!;\n\n const attributeType = getAttributeDisplayedType(item.type);\n const step = item.type === 'component' ? '2' : null;\n\n if (item.customField) {\n onOpenModalEditCustomField({\n forTarget: type.modelType,\n targetUid: editTargetUid,\n attributeName: item.name,\n attributeType,\n customFieldUid: item.customField,\n });\n } else {\n onOpenModalEditField({\n forTarget: type.modelType,\n targetUid: editTargetUid,\n attributeName: item.name,\n attributeType,\n step,\n });\n }\n }\n };\n\n let loopNumber;\n\n if (secondLoopComponentUid && firstLoopComponentUid) {\n loopNumber = 2;\n } else if (firstLoopComponentUid) {\n loopNumber = 1;\n } else {\n loopNumber = 0;\n }\n\n const canEdit = !isTypeDeleted && !isDeleted;\n const canDelete = !isTypeDeleted && !isDeleted;\n\n const cursor = isTypeDeleted || isDeleted ? 'not-allowed' : 'move';\n\n const canClick = isInDevelopmentMode && item.configurable !== false && !isMorph && canEdit;\n\n return (\n <>\n <GridWrapper\n $isOverlay={isOverlay}\n $isDragging={isDragging}\n onClick={canClick ? handleClick : undefined}\n paddingLeft={4}\n paddingRight={4}\n >\n <Flex alignItems=\"center\" overflow=\"hidden\" gap={2}>\n {loopNumber !== 0 && !isOverlay && (\n <Curve color={isFromDynamicZone ? 'primary200' : 'neutral150'} />\n )}\n {isInDevelopmentMode && (\n <IconButton\n cursor={cursor}\n role=\"Handle\"\n ref={handleRef}\n {...listeners}\n variant=\"ghost\"\n withTooltip={false}\n label={`${formatMessage({\n id: 'app.utils.drag',\n defaultMessage: 'Drag',\n })} ${item.name}`}\n disabled={isTypeDeleted || isDeleted}\n style={{ outlineOffset: '-2px' }}\n >\n <Drag />\n </IconButton>\n )}\n <Flex gap={4}>\n <Flex gap={4} alignItems=\"center\">\n <AttributeIcon type={src} customField={item.customField} />\n <Typography\n textColor=\"neutral800\"\n fontWeight=\"bold\"\n textDecoration={isDeleted ? 'line-through' : 'none'}\n ellipsis\n overflow=\"hidden\"\n >\n {item.name}\n {'required' in item && item.required && (\n <Typography textColor=\"danger600\">*&nbsp;</Typography>\n )}\n </Typography>\n </Flex>\n <Flex>\n <Typography textColor=\"neutral600\">\n <DisplayedType\n type={item.type}\n customField={item.customField}\n repeatable={'repeatable' in item && item.repeatable}\n multiple={'multiple' in item && item.multiple}\n />\n {'conditions' in item &&\n item.conditions &&\n Object.keys(item.conditions).length > 0 && <Badge margin={4}>conditional</Badge>}\n {item.type === 'relation' && (\n <>\n &nbsp;({getRelationType(item.relation, item.targetAttribute)})&nbsp;\n {targetContentType &&\n formatMessage({\n id: getTrad('modelPage.attribute.with'),\n defaultMessage: 'with',\n })}\n &nbsp;\n {targetContentType && (\n <Link\n onClick={(e) => e.stopPropagation()}\n tag={NavLink}\n to={`/plugins/content-type-builder/content-types/${targetContentType.uid}`}\n >\n {upperFirst(targetContentType.info.displayName)}\n </Link>\n )}\n {isPluginContentType &&\n `(${formatMessage({\n id: getTrad(`from`),\n defaultMessage: 'from',\n })}: ${isPluginContentType})`}\n </>\n )}\n {item.type === 'component' && <ComponentLink uid={item.component} />}\n </Typography>\n </Flex>\n </Flex>\n </Flex>\n\n <Box>\n <Flex justifyContent=\"flex-end\" gap={1} onClick={(e) => e.stopPropagation()}>\n <>\n <Box>{item.status && <StatusBadge status={item.status} />}</Box>\n {['component', 'dynamiczone'].includes(item.type) && (\n <IconButton\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n\n if (isOpen) {\n setIsOpen(false);\n } else {\n setIsOpen(true);\n }\n }}\n aria-expanded={isOpen}\n label={formatMessage({\n id: 'app.utils.toggle',\n defaultMessage: 'Toggle',\n })}\n variant=\"ghost\"\n withTooltip={false}\n >\n <ChevronDown\n aria-hidden\n fill=\"neutral500\"\n style={{\n transform: `rotate(${isOpen ? '0deg' : '-90deg'})`,\n transition: 'transform 0.5s',\n }}\n />\n </IconButton>\n )}\n {isInDevelopmentMode && item.configurable !== false ? (\n <>\n {!isMorph && (\n <IconButton\n onClick={handleClick}\n label={`${formatMessage({\n id: 'app.utils.edit',\n defaultMessage: 'Edit',\n })} ${item.name}`}\n variant=\"ghost\"\n disabled={!canEdit}\n >\n <Pencil />\n </IconButton>\n )}\n <IconButton\n onClick={handleDelete}\n label={`${formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })} ${item.name}`}\n variant=\"ghost\"\n disabled={!canDelete}\n >\n <Trash />\n </IconButton>\n <Dialog.Root open={showConfirmDialog} onOpenChange={setShowConfirmDialog}>\n <ConfirmDialog onConfirm={handleConfirmDelete} onCancel={handleCancelDelete}>\n <Box>\n <Typography>\n {formatMessage({\n id: getTrad(\n 'popUpWarning.bodyMessage.delete-attribute-with-conditions'\n ),\n defaultMessage:\n 'The following fields have conditions that depend on this field: ',\n })}\n <Typography fontWeight=\"bold\">\n {checkDependentRows(contentTypes, item.name)\n .map(({ attribute }) => attribute)\n .join(', ')}\n </Typography>\n {formatMessage({\n id: getTrad(\n 'popUpWarning.bodyMessage.delete-attribute-with-conditions-end'\n ),\n defaultMessage: '. Are you sure you want to delete it?',\n })}\n </Typography>\n </Box>\n </ConfirmDialog>\n </Dialog.Root>\n </>\n ) : (\n <Flex padding={2}>\n <Lock fill=\"neutral500\" />\n </Flex>\n )}\n </>\n </Flex>\n </Box>\n </GridWrapper>\n\n <SubRow $shouldHideNestedInfos={shouldHideNestedInfos} $isOpen={isOpen}>\n {item.type === 'component' && (\n <ComponentList\n {...item}\n isFromDynamicZone={isFromDynamicZone}\n firstLoopComponentUid={firstLoopComponentUid}\n />\n )}\n\n {item.type === 'dynamiczone' && (\n <DynamicZoneList\n {...item}\n disabled={isTypeDeleted || item.status === 'REMOVED'}\n addComponent={addComponentToDZ!}\n forTarget={type.modelType}\n targetUid={type.uid}\n />\n )}\n </SubRow>\n </>\n );\n});\n\nconst SubRow = styled(Box)<{ $isOpen: boolean; $shouldHideNestedInfos?: boolean }>`\n display: ${({ $shouldHideNestedInfos }) => ($shouldHideNestedInfos ? 'none' : 'block')};\n max-height: ${({ $isOpen }) => ($isOpen ? '9999px' : '0px')};\n overflow: hidden;\n\n transition: ${({ $isOpen }) =>\n $isOpen ? 'max-height 1s ease-in-out' : 'max-height 0.5s cubic-bezier(0, 1, 0, 1)'};\n`;\n\nconst ComponentLink = ({ uid }: { uid: UID.Component }) => {\n const { components } = useDataManager();\n const type = get(components, uid);\n\n return (\n <>\n &nbsp;(\n <Link\n onClick={(e) => e.stopPropagation()}\n tag={NavLink}\n to={`/plugins/content-type-builder/component-categories/${type.category}/${type.uid}`}\n >\n {upperFirst(type.info.displayName)}\n </Link>\n )\n </>\n );\n};\n"],"names":["GridWrapper","styled","Flex","theme","$isOverlay","colors","neutral150","spaces","$isDragging","StyledAttributeRow","Box","AttributeRow","forwardRef","props","ref","style","rest","_jsx","tag","attributes","background","shadow","isOverlay","aria-label","item","name","MemoizedRow","memo","firstLoopComponentUid","isFromDynamicZone","addComponentToDZ","secondLoopComponentUid","type","isDragging","handleRef","listeners","shouldHideNestedInfos","isOpen","setIsOpen","useState","isTypeDeleted","status","contentTypes","removeAttribute","isInDevelopmentMode","useDataManager","onOpenModalEditField","onOpenModalEditCustomField","useFormModalNavigation","formatMessage","useIntl","showConfirmDialog","setShowConfirmDialog","isDeleted","isMorph","relation","includes","ico","targetContentType","get","target","isPluginContentType","src","handleDelete","e","stopPropagation","dependentRows","checkDependentRows","length","forTarget","modelType","targetUid","uid","attributeToRemoveName","handleConfirmDelete","handleCancelDelete","handleClick","configurable","editTargetUid","attributeType","getAttributeDisplayedType","step","customField","attributeName","customFieldUid","loopNumber","canEdit","canDelete","cursor","canClick","_jsxs","_Fragment","onClick","undefined","paddingLeft","paddingRight","alignItems","overflow","gap","Curve","color","IconButton","role","variant","withTooltip","label","id","defaultMessage","disabled","outlineOffset","Drag","AttributeIcon","Typography","textColor","fontWeight","textDecoration","ellipsis","required","DisplayedType","repeatable","multiple","conditions","Object","keys","Badge","margin","getRelationType","targetAttribute","getTrad","Link","NavLink","to","upperFirst","info","displayName","ComponentLink","component","justifyContent","StatusBadge","preventDefault","aria-expanded","ChevronDown","aria-hidden","fill","transform","transition","Pencil","Trash","Dialog","Root","open","onOpenChange","ConfirmDialog","onConfirm","onCancel","map","attribute","join","padding","Lock","SubRow","$shouldHideNestedInfos","$isOpen","ComponentList","DynamicZoneList","addComponent","components","category"],"mappings":"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"}
1
+ {"version":3,"file":"AttributeRow.js","sources":["../../../admin/src/components/AttributeRow.tsx"],"sourcesContent":["import { forwardRef, memo, useState } from 'react';\n\nimport { ConfirmDialog } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, IconButton, Typography, Link, Badge, Dialog } from '@strapi/design-system';\nimport { ChevronDown, Drag, Lock, Pencil, Trash } from '@strapi/icons';\nimport get from 'lodash/get';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\nimport { Link as NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { Curve } from '../icons/Curve';\nimport { checkDependentRows } from '../utils/conditions';\nimport { getAttributeDisplayedType } from '../utils/getAttributeDisplayedType';\nimport { getRelationType } from '../utils/getRelationType';\nimport { getTrad } from '../utils/getTrad';\n\nimport { AttributeIcon } from './AttributeIcon';\nimport { ComponentList } from './ComponentList';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { DisplayedType } from './DisplayedType';\nimport { DynamicZoneList } from './DynamicZoneList';\nimport { useFormModalNavigation } from './FormModalNavigation/useFormModalNavigation';\nimport { StatusBadge } from './Status';\n\nimport type { AnyAttribute, Component, ContentType } from '../types';\nimport type { DraggableAttributes, DraggableSyntheticListeners } from '@dnd-kit/core';\nimport type { UID } from '@strapi/types';\n\nexport const GridWrapper = styled(Flex)<{ $isOverlay?: boolean; $isDragging?: boolean }>`\n justify-content: space-between;\n\n border-top: ${({ theme, $isOverlay }) =>\n $isOverlay ? 'none' : `1px solid ${theme.colors.neutral150}`};\n\n padding-top: ${({ theme }) => theme.spaces[4]};\n padding-bottom: ${({ theme }) => theme.spaces[4]};\n\n opacity: ${({ $isDragging }) => ($isDragging ? 0 : 1)};\n align-items: center;\n`;\n\nexport type AttributeRowProps = {\n item: {\n id: string;\n index: number;\n } & AnyAttribute;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n addComponentToDZ?: () => void;\n secondLoopComponentUid?: UID.Component | null;\n type: ContentType | Component;\n isDragging?: boolean;\n style?: Record<string, unknown>;\n listeners?: DraggableSyntheticListeners;\n attributes?: DraggableAttributes;\n isOverlay?: boolean;\n handleRef?: (element: HTMLElement | null) => void;\n};\n\nconst StyledAttributeRow = styled(Box)`\n list-style: none;\n list-style-type: none;\n`;\n\nexport const AttributeRow = forwardRef<HTMLLIElement, AttributeRowProps>((props, ref) => {\n const { style, ...rest } = props;\n\n return (\n <StyledAttributeRow\n tag=\"li\"\n ref={ref}\n {...props.attributes}\n style={style}\n background=\"neutral0\"\n shadow={props.isOverlay ? 'filterShadow' : 'none'}\n aria-label={props.item.name}\n >\n <MemoizedRow {...rest} />\n </StyledAttributeRow>\n );\n});\n\nconst MemoizedRow = memo((props: Omit<AttributeRowProps, 'style'>) => {\n const {\n item,\n firstLoopComponentUid,\n isFromDynamicZone,\n addComponentToDZ,\n secondLoopComponentUid,\n type,\n isDragging,\n isOverlay,\n handleRef,\n listeners,\n } = props;\n const shouldHideNestedInfos = isOverlay || isDragging;\n\n const [isOpen, setIsOpen] = useState<boolean>(true);\n\n const isTypeDeleted = type.status === 'REMOVED';\n\n const { contentTypes, removeAttribute, isInDevelopmentMode } = useDataManager();\n const { onOpenModalEditField, onOpenModalEditCustomField } = useFormModalNavigation();\n\n const { formatMessage } = useIntl();\n const [showConfirmDialog, setShowConfirmDialog] = useState(false);\n\n const isDeleted = item.status === 'REMOVED';\n\n const isMorph = item.type === 'relation' && item.relation.includes('morph');\n const ico = ['integer', 'biginteger', 'float', 'decimal'].includes(item.type)\n ? 'number'\n : item.type;\n\n const targetContentType = item.type === 'relation' ? get(contentTypes, item.target) : null;\n const isPluginContentType = get(targetContentType, 'plugin');\n\n const src = 'target' in item && item.target ? 'relation' : ico;\n\n const handleDelete = (e: React.MouseEvent | React.KeyboardEvent) => {\n e.stopPropagation();\n const dependentRows = checkDependentRows(contentTypes, item.name);\n if (dependentRows.length > 0) {\n setShowConfirmDialog(true);\n } else {\n removeAttribute({\n forTarget: type.modelType,\n targetUid: type.uid,\n attributeToRemoveName: item.name,\n });\n }\n };\n\n const handleConfirmDelete = () => {\n removeAttribute({\n forTarget: type.modelType,\n targetUid: type.uid,\n attributeToRemoveName: item.name,\n });\n setShowConfirmDialog(false);\n };\n\n const handleCancelDelete = () => {\n setShowConfirmDialog(false);\n };\n\n const handleClick = (e?: React.MouseEvent | React.KeyboardEvent) => {\n if (e) {\n e.stopPropagation();\n }\n\n if (isMorph) {\n return;\n }\n\n if (item.configurable !== false) {\n const editTargetUid = (secondLoopComponentUid || firstLoopComponentUid || type.uid)!;\n\n const attributeType = getAttributeDisplayedType(item.type);\n const step = item.type === 'component' ? '2' : null;\n\n if (item.customField) {\n onOpenModalEditCustomField({\n forTarget: type.modelType,\n targetUid: editTargetUid,\n attributeName: item.name,\n attributeType,\n customFieldUid: item.customField,\n });\n } else {\n onOpenModalEditField({\n forTarget: type.modelType,\n targetUid: editTargetUid,\n attributeName: item.name,\n attributeType,\n step,\n });\n }\n }\n };\n\n let loopNumber;\n\n if (secondLoopComponentUid && firstLoopComponentUid) {\n loopNumber = 2;\n } else if (firstLoopComponentUid) {\n loopNumber = 1;\n } else {\n loopNumber = 0;\n }\n\n const canEdit = !isTypeDeleted && !isDeleted;\n const canDelete = !isTypeDeleted && !isDeleted;\n\n const cursor = isTypeDeleted || isDeleted ? 'not-allowed' : 'move';\n\n const canClick = isInDevelopmentMode && item.configurable !== false && !isMorph && canEdit;\n\n return (\n <>\n <GridWrapper\n $isOverlay={isOverlay}\n $isDragging={isDragging}\n onClick={canClick ? handleClick : undefined}\n paddingLeft={4}\n paddingRight={4}\n >\n <Flex alignItems=\"center\" overflow=\"hidden\" gap={2}>\n {loopNumber !== 0 && !isOverlay && (\n <Curve color={isFromDynamicZone ? 'primary200' : 'neutral150'} />\n )}\n {isInDevelopmentMode && (\n <IconButton\n cursor={cursor}\n role=\"Handle\"\n ref={handleRef}\n {...listeners}\n variant=\"ghost\"\n withTooltip={false}\n label={`${formatMessage({\n id: 'app.utils.drag',\n defaultMessage: 'Drag',\n })} ${item.name}`}\n disabled={isTypeDeleted || isDeleted}\n style={{ outlineOffset: '-2px' }}\n >\n <Drag />\n </IconButton>\n )}\n <Flex gap={4}>\n <Flex gap={4} alignItems=\"center\">\n <AttributeIcon type={src} customField={item.customField} />\n <Typography\n textColor=\"neutral800\"\n fontWeight=\"bold\"\n textDecoration={isDeleted ? 'line-through' : 'none'}\n ellipsis\n overflow=\"hidden\"\n >\n {item.name}\n {'required' in item && item.required && (\n <Typography textColor=\"danger600\">*&nbsp;</Typography>\n )}\n </Typography>\n </Flex>\n <Flex>\n <Typography textColor=\"neutral600\">\n <DisplayedType\n type={item.type}\n customField={item.customField}\n repeatable={'repeatable' in item && item.repeatable}\n multiple={'multiple' in item && item.multiple}\n />\n {'conditions' in item &&\n item.conditions &&\n Object.keys(item.conditions).length > 0 && <Badge margin={4}>conditional</Badge>}\n {item.type === 'relation' && (\n <>\n &nbsp;({getRelationType(item.relation, item.targetAttribute)})&nbsp;\n {targetContentType &&\n formatMessage({\n id: getTrad('modelPage.attribute.with'),\n defaultMessage: 'with',\n })}\n &nbsp;\n {targetContentType && (\n <Link\n onClick={(e) => e.stopPropagation()}\n tag={NavLink}\n to={`/plugins/content-type-builder/content-types/${targetContentType.uid}`}\n >\n {upperFirst(targetContentType.info.displayName)}\n </Link>\n )}\n {isPluginContentType &&\n `(${formatMessage({\n id: getTrad(`from`),\n defaultMessage: 'from',\n })}: ${isPluginContentType})`}\n </>\n )}\n {item.type === 'component' && <ComponentLink uid={item.component} />}\n </Typography>\n </Flex>\n </Flex>\n </Flex>\n\n <Box>\n <Flex justifyContent=\"flex-end\" gap={1} onClick={(e) => e.stopPropagation()}>\n <>\n <Box>{item.status && <StatusBadge status={item.status} />}</Box>\n {['component', 'dynamiczone'].includes(item.type) && (\n <IconButton\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n\n if (isOpen) {\n setIsOpen(false);\n } else {\n setIsOpen(true);\n }\n }}\n aria-expanded={isOpen}\n label={formatMessage({\n id: 'app.utils.toggle',\n defaultMessage: 'Toggle',\n })}\n variant=\"ghost\"\n withTooltip={false}\n >\n <ChevronDown\n aria-hidden\n fill=\"neutral500\"\n style={{\n transform: `rotate(${isOpen ? '0deg' : '-90deg'})`,\n transition: 'transform 0.5s',\n }}\n />\n </IconButton>\n )}\n {isInDevelopmentMode && item.configurable !== false ? (\n <>\n {!isMorph && (\n <IconButton\n onClick={handleClick}\n label={`${formatMessage({\n id: 'app.utils.edit',\n defaultMessage: 'Edit',\n })} ${item.name}`}\n variant=\"ghost\"\n disabled={!canEdit}\n >\n <Pencil />\n </IconButton>\n )}\n <IconButton\n onClick={handleDelete}\n label={`${formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })} ${item.name}`}\n variant=\"ghost\"\n disabled={!canDelete}\n >\n <Trash />\n </IconButton>\n <Dialog.Root open={showConfirmDialog} onOpenChange={setShowConfirmDialog}>\n <ConfirmDialog onConfirm={handleConfirmDelete} onCancel={handleCancelDelete}>\n <Box>\n <Typography>\n {formatMessage({\n id: getTrad(\n 'popUpWarning.bodyMessage.delete-attribute-with-conditions'\n ),\n defaultMessage:\n 'The following fields have conditions that depend on this field: ',\n })}\n <Typography fontWeight=\"bold\">\n {checkDependentRows(contentTypes, item.name)\n .map(({ attribute }) => attribute)\n .join(', ')}\n </Typography>\n {formatMessage({\n id: getTrad(\n 'popUpWarning.bodyMessage.delete-attribute-with-conditions-end'\n ),\n defaultMessage: '. Are you sure you want to delete it?',\n })}\n </Typography>\n </Box>\n </ConfirmDialog>\n </Dialog.Root>\n </>\n ) : (\n <Flex padding={2}>\n <Lock fill=\"neutral500\" />\n </Flex>\n )}\n </>\n </Flex>\n </Box>\n </GridWrapper>\n\n <SubRow $shouldHideNestedInfos={shouldHideNestedInfos} $isOpen={isOpen}>\n {item.type === 'component' && (\n <ComponentList\n {...item}\n isFromDynamicZone={isFromDynamicZone}\n firstLoopComponentUid={firstLoopComponentUid}\n />\n )}\n\n {item.type === 'dynamiczone' && (\n <DynamicZoneList\n {...item}\n disabled={isTypeDeleted || item.status === 'REMOVED'}\n addComponent={addComponentToDZ!}\n forTarget={type.modelType}\n targetUid={type.uid}\n />\n )}\n </SubRow>\n </>\n );\n});\n\nconst SubRow = styled(Box)<{ $isOpen: boolean; $shouldHideNestedInfos?: boolean }>`\n display: ${({ $shouldHideNestedInfos }) => ($shouldHideNestedInfos ? 'none' : 'block')};\n max-height: ${({ $isOpen }) => ($isOpen ? '9999px' : '0px')};\n overflow: hidden;\n\n transition: ${({ $isOpen }) =>\n $isOpen ? 'max-height 1s ease-in-out' : 'max-height 0.5s cubic-bezier(0, 1, 0, 1)'};\n`;\n\nconst ComponentLink = ({ uid }: { uid: UID.Component }) => {\n const { components } = useDataManager();\n const type = get(components, uid);\n\n return (\n <>\n &nbsp;(\n <Link\n onClick={(e) => e.stopPropagation()}\n tag={NavLink}\n to={`/plugins/content-type-builder/component-categories/${type.category}/${type.uid}`}\n >\n {upperFirst(type.info.displayName)}\n </Link>\n )\n </>\n );\n};\n"],"names":["GridWrapper","styled","Flex","theme","$isOverlay","colors","neutral150","spaces","$isDragging","StyledAttributeRow","Box","AttributeRow","forwardRef","props","ref","style","rest","_jsx","tag","attributes","background","shadow","isOverlay","aria-label","item","name","MemoizedRow","memo","firstLoopComponentUid","isFromDynamicZone","addComponentToDZ","secondLoopComponentUid","type","isDragging","handleRef","listeners","shouldHideNestedInfos","isOpen","setIsOpen","useState","isTypeDeleted","status","contentTypes","removeAttribute","isInDevelopmentMode","useDataManager","onOpenModalEditField","onOpenModalEditCustomField","useFormModalNavigation","formatMessage","useIntl","showConfirmDialog","setShowConfirmDialog","isDeleted","isMorph","relation","includes","ico","targetContentType","get","target","isPluginContentType","src","handleDelete","e","stopPropagation","dependentRows","checkDependentRows","length","forTarget","modelType","targetUid","uid","attributeToRemoveName","handleConfirmDelete","handleCancelDelete","handleClick","configurable","editTargetUid","attributeType","getAttributeDisplayedType","step","customField","attributeName","customFieldUid","loopNumber","canEdit","canDelete","cursor","canClick","_jsxs","_Fragment","onClick","undefined","paddingLeft","paddingRight","alignItems","overflow","gap","Curve","color","IconButton","role","variant","withTooltip","label","id","defaultMessage","disabled","outlineOffset","Drag","AttributeIcon","Typography","textColor","fontWeight","textDecoration","ellipsis","required","DisplayedType","repeatable","multiple","conditions","Object","keys","Badge","margin","getRelationType","targetAttribute","getTrad","Link","NavLink","to","upperFirst","info","displayName","ComponentLink","component","justifyContent","StatusBadge","preventDefault","aria-expanded","ChevronDown","aria-hidden","fill","transform","transition","Pencil","Trash","Dialog","Root","open","onOpenChange","ConfirmDialog","onConfirm","onCancel","map","attribute","join","padding","Lock","SubRow","$shouldHideNestedInfos","$isOpen","ComponentList","DynamicZoneList","addComponent","components","category"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeRow.mjs","sources":["../../../admin/src/components/AttributeRow.tsx"],"sourcesContent":["import { forwardRef, memo, useState } from 'react';\n\nimport { ConfirmDialog } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, IconButton, Typography, Link, Badge, Dialog } from '@strapi/design-system';\nimport { ChevronDown, Drag, Lock, Pencil, Trash } from '@strapi/icons';\nimport get from 'lodash/get';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\nimport { Link as NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { Curve } from '../icons/Curve';\nimport { checkDependentRows } from '../utils/conditions';\nimport { getAttributeDisplayedType } from '../utils/getAttributeDisplayedType';\nimport { getRelationType } from '../utils/getRelationType';\nimport { getTrad } from '../utils/getTrad';\n\nimport { AttributeIcon } from './AttributeIcon';\nimport { ComponentList } from './ComponentList';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { DisplayedType } from './DisplayedType';\nimport { DynamicZoneList } from './DynamicZoneList';\nimport { useFormModalNavigation } from './FormModalNavigation/useFormModalNavigation';\nimport { StatusBadge } from './Status';\n\nimport type { AnyAttribute, Component, ContentType } from '../types';\nimport type { DraggableAttributes, DraggableSyntheticListeners } from '@dnd-kit/core';\nimport type { UID } from '@strapi/types';\n\nexport const GridWrapper = styled(Flex)<{ $isOverlay?: boolean; $isDragging?: boolean }>`\n justify-content: space-between;\n\n border-top: ${({ theme, $isOverlay }) =>\n $isOverlay ? 'none' : `1px solid ${theme.colors.neutral150}`};\n\n padding-top: ${({ theme }) => theme.spaces[4]};\n padding-bottom: ${({ theme }) => theme.spaces[4]};\n\n opacity: ${({ $isDragging }) => ($isDragging ? 0 : 1)};\n align-items: center;\n`;\n\nexport type AttributeRowProps = {\n item: {\n id: string;\n index: number;\n } & AnyAttribute;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n addComponentToDZ?: () => void;\n secondLoopComponentUid?: UID.Component | null;\n type: ContentType | Component;\n isDragging?: boolean;\n style?: Record<string, unknown>;\n listeners?: DraggableSyntheticListeners;\n attributes?: DraggableAttributes;\n isOverlay?: boolean;\n handleRef?: (element: HTMLElement | null) => void;\n};\n\nconst StyledAttributeRow = styled(Box)`\n list-style: none;\n list-style-type: none;\n`;\n\nexport const AttributeRow = forwardRef<HTMLLIElement, AttributeRowProps>((props, ref) => {\n const { style, ...rest } = props;\n\n return (\n <StyledAttributeRow\n tag=\"li\"\n ref={ref}\n {...props.attributes}\n style={style}\n background=\"neutral0\"\n shadow={props.isOverlay ? 'filterShadow' : 'none'}\n aria-label={props.item.name}\n >\n <MemoizedRow {...rest} />\n </StyledAttributeRow>\n );\n});\n\nconst MemoizedRow = memo((props: Omit<AttributeRowProps, 'style'>) => {\n const {\n item,\n firstLoopComponentUid,\n isFromDynamicZone,\n addComponentToDZ,\n secondLoopComponentUid,\n type,\n isDragging,\n isOverlay,\n handleRef,\n listeners,\n } = props;\n const shouldHideNestedInfos = isOverlay || isDragging;\n\n const [isOpen, setIsOpen] = useState<boolean>(true);\n\n const isTypeDeleted = type.status === 'REMOVED';\n\n const { contentTypes, removeAttribute, isInDevelopmentMode } = useDataManager();\n const { onOpenModalEditField, onOpenModalEditCustomField } = useFormModalNavigation();\n\n const { formatMessage } = useIntl();\n const [showConfirmDialog, setShowConfirmDialog] = useState(false);\n\n const isDeleted = item.status === 'REMOVED';\n\n const isMorph = item.type === 'relation' && item.relation.includes('morph');\n const ico = ['integer', 'biginteger', 'float', 'decimal'].includes(item.type)\n ? 'number'\n : item.type;\n\n const targetContentType = item.type === 'relation' ? get(contentTypes, item.target) : null;\n const isPluginContentType = get(targetContentType, 'plugin');\n\n const src = 'target' in item && item.target ? 'relation' : ico;\n\n const handleDelete = (e: React.MouseEvent | React.KeyboardEvent) => {\n e.stopPropagation();\n const dependentRows = checkDependentRows(contentTypes, item.name);\n if (dependentRows.length > 0) {\n setShowConfirmDialog(true);\n } else {\n removeAttribute({\n forTarget: type.modelType,\n targetUid: type.uid,\n attributeToRemoveName: item.name,\n });\n }\n };\n\n const handleConfirmDelete = () => {\n removeAttribute({\n forTarget: type.modelType,\n targetUid: type.uid,\n attributeToRemoveName: item.name,\n });\n setShowConfirmDialog(false);\n };\n\n const handleCancelDelete = () => {\n setShowConfirmDialog(false);\n };\n\n const handleClick = (e?: React.MouseEvent | React.KeyboardEvent) => {\n if (e) {\n e.stopPropagation();\n }\n\n if (isMorph) {\n return;\n }\n\n if (item.configurable !== false) {\n const editTargetUid = (secondLoopComponentUid || firstLoopComponentUid || type.uid)!;\n\n const attributeType = getAttributeDisplayedType(item.type);\n const step = item.type === 'component' ? '2' : null;\n\n if (item.customField) {\n onOpenModalEditCustomField({\n forTarget: type.modelType,\n targetUid: editTargetUid,\n attributeName: item.name,\n attributeType,\n customFieldUid: item.customField,\n });\n } else {\n onOpenModalEditField({\n forTarget: type.modelType,\n targetUid: editTargetUid,\n attributeName: item.name,\n attributeType,\n step,\n });\n }\n }\n };\n\n let loopNumber;\n\n if (secondLoopComponentUid && firstLoopComponentUid) {\n loopNumber = 2;\n } else if (firstLoopComponentUid) {\n loopNumber = 1;\n } else {\n loopNumber = 0;\n }\n\n const canEdit = !isTypeDeleted && !isDeleted;\n const canDelete = !isTypeDeleted && !isDeleted;\n\n const cursor = isTypeDeleted || isDeleted ? 'not-allowed' : 'move';\n\n const canClick = isInDevelopmentMode && item.configurable !== false && !isMorph && canEdit;\n\n return (\n <>\n <GridWrapper\n $isOverlay={isOverlay}\n $isDragging={isDragging}\n onClick={canClick ? handleClick : undefined}\n paddingLeft={4}\n paddingRight={4}\n >\n <Flex alignItems=\"center\" overflow=\"hidden\" gap={2}>\n {loopNumber !== 0 && !isOverlay && (\n <Curve color={isFromDynamicZone ? 'primary200' : 'neutral150'} />\n )}\n {isInDevelopmentMode && (\n <IconButton\n cursor={cursor}\n role=\"Handle\"\n ref={handleRef}\n {...listeners}\n variant=\"ghost\"\n withTooltip={false}\n label={`${formatMessage({\n id: 'app.utils.drag',\n defaultMessage: 'Drag',\n })} ${item.name}`}\n disabled={isTypeDeleted || isDeleted}\n style={{ outlineOffset: '-2px' }}\n >\n <Drag />\n </IconButton>\n )}\n <Flex gap={4}>\n <Flex gap={4} alignItems=\"center\">\n <AttributeIcon type={src} customField={item.customField} />\n <Typography\n textColor=\"neutral800\"\n fontWeight=\"bold\"\n textDecoration={isDeleted ? 'line-through' : 'none'}\n ellipsis\n overflow=\"hidden\"\n >\n {item.name}\n {'required' in item && item.required && (\n <Typography textColor=\"danger600\">*&nbsp;</Typography>\n )}\n </Typography>\n </Flex>\n <Flex>\n <Typography textColor=\"neutral600\">\n <DisplayedType\n type={item.type}\n customField={item.customField}\n repeatable={'repeatable' in item && item.repeatable}\n multiple={'multiple' in item && item.multiple}\n />\n {'conditions' in item &&\n item.conditions &&\n Object.keys(item.conditions).length > 0 && <Badge margin={4}>conditional</Badge>}\n {item.type === 'relation' && (\n <>\n &nbsp;({getRelationType(item.relation, item.targetAttribute)})&nbsp;\n {targetContentType &&\n formatMessage({\n id: getTrad('modelPage.attribute.with'),\n defaultMessage: 'with',\n })}\n &nbsp;\n {targetContentType && (\n <Link\n onClick={(e) => e.stopPropagation()}\n tag={NavLink}\n to={`/plugins/content-type-builder/content-types/${targetContentType.uid}`}\n >\n {upperFirst(targetContentType.info.displayName)}\n </Link>\n )}\n {isPluginContentType &&\n `(${formatMessage({\n id: getTrad(`from`),\n defaultMessage: 'from',\n })}: ${isPluginContentType})`}\n </>\n )}\n {item.type === 'component' && <ComponentLink uid={item.component} />}\n </Typography>\n </Flex>\n </Flex>\n </Flex>\n\n <Box>\n <Flex justifyContent=\"flex-end\" gap={1} onClick={(e) => e.stopPropagation()}>\n <>\n <Box>{item.status && <StatusBadge status={item.status} />}</Box>\n {['component', 'dynamiczone'].includes(item.type) && (\n <IconButton\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n\n if (isOpen) {\n setIsOpen(false);\n } else {\n setIsOpen(true);\n }\n }}\n aria-expanded={isOpen}\n label={formatMessage({\n id: 'app.utils.toggle',\n defaultMessage: 'Toggle',\n })}\n variant=\"ghost\"\n withTooltip={false}\n >\n <ChevronDown\n aria-hidden\n fill=\"neutral500\"\n style={{\n transform: `rotate(${isOpen ? '0deg' : '-90deg'})`,\n transition: 'transform 0.5s',\n }}\n />\n </IconButton>\n )}\n {isInDevelopmentMode && item.configurable !== false ? (\n <>\n {!isMorph && (\n <IconButton\n onClick={handleClick}\n label={`${formatMessage({\n id: 'app.utils.edit',\n defaultMessage: 'Edit',\n })} ${item.name}`}\n variant=\"ghost\"\n disabled={!canEdit}\n >\n <Pencil />\n </IconButton>\n )}\n <IconButton\n onClick={handleDelete}\n label={`${formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })} ${item.name}`}\n variant=\"ghost\"\n disabled={!canDelete}\n >\n <Trash />\n </IconButton>\n <Dialog.Root open={showConfirmDialog} onOpenChange={setShowConfirmDialog}>\n <ConfirmDialog onConfirm={handleConfirmDelete} onCancel={handleCancelDelete}>\n <Box>\n <Typography>\n {formatMessage({\n id: getTrad(\n 'popUpWarning.bodyMessage.delete-attribute-with-conditions'\n ),\n defaultMessage:\n 'The following fields have conditions that depend on this field: ',\n })}\n <Typography fontWeight=\"bold\">\n {checkDependentRows(contentTypes, item.name)\n .map(({ attribute }) => attribute)\n .join(', ')}\n </Typography>\n {formatMessage({\n id: getTrad(\n 'popUpWarning.bodyMessage.delete-attribute-with-conditions-end'\n ),\n defaultMessage: '. Are you sure you want to delete it?',\n })}\n </Typography>\n </Box>\n </ConfirmDialog>\n </Dialog.Root>\n </>\n ) : (\n <Flex padding={2}>\n <Lock fill=\"neutral500\" />\n </Flex>\n )}\n </>\n </Flex>\n </Box>\n </GridWrapper>\n\n <SubRow $shouldHideNestedInfos={shouldHideNestedInfos} $isOpen={isOpen}>\n {item.type === 'component' && (\n <ComponentList\n {...item}\n isFromDynamicZone={isFromDynamicZone}\n firstLoopComponentUid={firstLoopComponentUid}\n />\n )}\n\n {item.type === 'dynamiczone' && (\n <DynamicZoneList\n {...item}\n disabled={isTypeDeleted || item.status === 'REMOVED'}\n addComponent={addComponentToDZ!}\n forTarget={type.modelType}\n targetUid={type.uid}\n />\n )}\n </SubRow>\n </>\n );\n});\n\nconst SubRow = styled(Box)<{ $isOpen: boolean; $shouldHideNestedInfos?: boolean }>`\n display: ${({ $shouldHideNestedInfos }) => ($shouldHideNestedInfos ? 'none' : 'block')};\n max-height: ${({ $isOpen }) => ($isOpen ? '9999px' : '0px')};\n overflow: hidden;\n\n transition: ${({ $isOpen }) =>\n $isOpen ? 'max-height 1s ease-in-out' : 'max-height 0.5s cubic-bezier(0, 1, 0, 1)'};\n`;\n\nconst ComponentLink = ({ uid }: { uid: UID.Component }) => {\n const { components } = useDataManager();\n const type = get(components, uid);\n\n return (\n <>\n &nbsp;(\n <Link\n onClick={(e) => e.stopPropagation()}\n tag={NavLink}\n to={`/plugins/content-type-builder/component-categories/${type.category}/${type.uid}`}\n >\n {upperFirst(type.info.displayName)}\n </Link>\n )\n </>\n );\n};\n"],"names":["GridWrapper","styled","Flex","theme","$isOverlay","colors","neutral150","spaces","$isDragging","StyledAttributeRow","Box","AttributeRow","forwardRef","props","ref","style","rest","_jsx","tag","attributes","background","shadow","isOverlay","aria-label","item","name","MemoizedRow","memo","firstLoopComponentUid","isFromDynamicZone","addComponentToDZ","secondLoopComponentUid","type","isDragging","handleRef","listeners","shouldHideNestedInfos","isOpen","setIsOpen","useState","isTypeDeleted","status","contentTypes","removeAttribute","isInDevelopmentMode","useDataManager","onOpenModalEditField","onOpenModalEditCustomField","useFormModalNavigation","formatMessage","useIntl","showConfirmDialog","setShowConfirmDialog","isDeleted","isMorph","relation","includes","ico","targetContentType","get","target","isPluginContentType","src","handleDelete","e","stopPropagation","dependentRows","checkDependentRows","length","forTarget","modelType","targetUid","uid","attributeToRemoveName","handleConfirmDelete","handleCancelDelete","handleClick","configurable","editTargetUid","attributeType","getAttributeDisplayedType","step","customField","attributeName","customFieldUid","loopNumber","canEdit","canDelete","cursor","canClick","_jsxs","_Fragment","onClick","undefined","paddingLeft","paddingRight","alignItems","overflow","gap","Curve","color","IconButton","role","variant","withTooltip","label","id","defaultMessage","disabled","outlineOffset","Drag","AttributeIcon","Typography","textColor","fontWeight","textDecoration","ellipsis","required","DisplayedType","repeatable","multiple","conditions","Object","keys","Badge","margin","getRelationType","targetAttribute","getTrad","Link","NavLink","to","upperFirst","info","displayName","ComponentLink","component","justifyContent","StatusBadge","preventDefault","aria-expanded","ChevronDown","aria-hidden","fill","transform","transition","Pencil","Trash","Dialog","Root","open","onOpenChange","ConfirmDialog","onConfirm","onCancel","map","attribute","join","padding","Lock","SubRow","$shouldHideNestedInfos","$isOpen","ComponentList","DynamicZoneList","addComponent","components","category"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA6BaA,MAAAA,WAAAA,GAAcC,MAAOC,CAAAA,IAAAA,CAAsD;;;AAG1E,cAAA,EAAE,CAAC,EAAEC,KAAK,EAAEC,UAAU,EAAE,GAClCA,UAAa,GAAA,MAAA,GAAS,CAAC,UAAU,EAAED,KAAME,CAAAA,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;;eAElD,EAAE,CAAC,EAAEH,KAAK,EAAE,GAAKA,KAAMI,CAAAA,MAAM,CAAC,CAAA,CAAE,CAAC;kBAC9B,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAMI,CAAAA,MAAM,CAAC,CAAA,CAAE,CAAC;;AAExC,WAAA,EAAE,CAAC,EAAEC,WAAW,EAAE,GAAMA,WAAAA,GAAc,IAAI,CAAG,CAAA;;AAExD;AAoBA,MAAMC,kBAAAA,GAAqBR,MAAOS,CAAAA,GAAAA,CAAI;;;AAGtC,CAAC;AAEYC,MAAAA,YAAAA,iBAAeC,UAA6C,CAAA,CAACC,KAAOC,EAAAA,GAAAA,GAAAA;AAC/E,IAAA,MAAM,EAAEC,KAAK,EAAE,GAAGC,MAAM,GAAGH,KAAAA;AAE3B,IAAA,qBACEI,GAACR,CAAAA,kBAAAA,EAAAA;QACCS,GAAI,EAAA,IAAA;QACJJ,GAAKA,EAAAA,GAAAA;AACJ,QAAA,GAAGD,MAAMM,UAAU;QACpBJ,KAAOA,EAAAA,KAAAA;QACPK,UAAW,EAAA,UAAA;QACXC,MAAQR,EAAAA,KAAAA,CAAMS,SAAS,GAAG,cAAiB,GAAA,MAAA;QAC3CC,YAAYV,EAAAA,KAAAA,CAAMW,IAAI,CAACC,IAAI;AAE3B,QAAA,QAAA,gBAAAR,GAACS,CAAAA,WAAAA,EAAAA;AAAa,YAAA,GAAGV;;;AAGvB,CAAG;AAEH,MAAMU,WAAAA,iBAAcC,KAAK,CAACd,KAAAA,GAAAA;IACxB,MAAM,EACJW,IAAI,EACJI,qBAAqB,EACrBC,iBAAiB,EACjBC,gBAAgB,EAChBC,sBAAsB,EACtBC,IAAI,EACJC,UAAU,EACVX,SAAS,EACTY,SAAS,EACTC,SAAS,EACV,GAAGtB,KAAAA;AACJ,IAAA,MAAMuB,wBAAwBd,SAAaW,IAAAA,UAAAA;AAE3C,IAAA,MAAM,CAACI,MAAAA,EAAQC,SAAU,CAAA,GAAGC,QAAkB,CAAA,IAAA,CAAA;IAE9C,MAAMC,aAAAA,GAAgBR,IAAKS,CAAAA,MAAM,KAAK,SAAA;AAEtC,IAAA,MAAM,EAAEC,YAAY,EAAEC,eAAe,EAAEC,mBAAmB,EAAE,GAAGC,cAAAA,EAAAA;AAC/D,IAAA,MAAM,EAAEC,oBAAoB,EAAEC,0BAA0B,EAAE,GAAGC,sBAAAA,EAAAA;IAE7D,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,CAACC,iBAAAA,EAAmBC,oBAAqB,CAAA,GAAGb,QAAS,CAAA,KAAA,CAAA;IAE3D,MAAMc,SAAAA,GAAY7B,IAAKiB,CAAAA,MAAM,KAAK,SAAA;IAElC,MAAMa,OAAAA,GAAU9B,KAAKQ,IAAI,KAAK,cAAcR,IAAK+B,CAAAA,QAAQ,CAACC,QAAQ,CAAC,OAAA,CAAA;AACnE,IAAA,MAAMC,GAAM,GAAA;AAAC,QAAA,SAAA;AAAW,QAAA,YAAA;AAAc,QAAA,OAAA;AAAS,QAAA;AAAU,KAAA,CAACD,QAAQ,CAAChC,IAAAA,CAAKQ,IAAI,CACxE,GAAA,QAAA,GACAR,KAAKQ,IAAI;IAEb,MAAM0B,iBAAAA,GAAoBlC,KAAKQ,IAAI,KAAK,aAAa2B,GAAIjB,CAAAA,YAAAA,EAAclB,IAAKoC,CAAAA,MAAM,CAAI,GAAA,IAAA;IACtF,MAAMC,mBAAAA,GAAsBF,IAAID,iBAAmB,EAAA,QAAA,CAAA;AAEnD,IAAA,MAAMI,MAAM,QAAYtC,IAAAA,IAAAA,IAAQA,IAAKoC,CAAAA,MAAM,GAAG,UAAaH,GAAAA,GAAAA;AAE3D,IAAA,MAAMM,eAAe,CAACC,CAAAA,GAAAA;AACpBA,QAAAA,CAAAA,CAAEC,eAAe,EAAA;AACjB,QAAA,MAAMC,aAAgBC,GAAAA,kBAAAA,CAAmBzB,YAAclB,EAAAA,IAAAA,CAAKC,IAAI,CAAA;QAChE,IAAIyC,aAAAA,CAAcE,MAAM,GAAG,CAAG,EAAA;YAC5BhB,oBAAqB,CAAA,IAAA,CAAA;SAChB,MAAA;YACLT,eAAgB,CAAA;AACd0B,gBAAAA,SAAAA,EAAWrC,KAAKsC,SAAS;AACzBC,gBAAAA,SAAAA,EAAWvC,KAAKwC,GAAG;AACnBC,gBAAAA,qBAAAA,EAAuBjD,KAAKC;AAC9B,aAAA,CAAA;AACF;AACF,KAAA;AAEA,IAAA,MAAMiD,mBAAsB,GAAA,IAAA;QAC1B/B,eAAgB,CAAA;AACd0B,YAAAA,SAAAA,EAAWrC,KAAKsC,SAAS;AACzBC,YAAAA,SAAAA,EAAWvC,KAAKwC,GAAG;AACnBC,YAAAA,qBAAAA,EAAuBjD,KAAKC;AAC9B,SAAA,CAAA;QACA2B,oBAAqB,CAAA,KAAA,CAAA;AACvB,KAAA;AAEA,IAAA,MAAMuB,kBAAqB,GAAA,IAAA;QACzBvB,oBAAqB,CAAA,KAAA,CAAA;AACvB,KAAA;AAEA,IAAA,MAAMwB,cAAc,CAACZ,CAAAA,GAAAA;AACnB,QAAA,IAAIA,CAAG,EAAA;AACLA,YAAAA,CAAAA,CAAEC,eAAe,EAAA;AACnB;AAEA,QAAA,IAAIX,OAAS,EAAA;AACX,YAAA;AACF;QAEA,IAAI9B,IAAAA,CAAKqD,YAAY,KAAK,KAAO,EAAA;AAC/B,YAAA,MAAMC,aAAiB/C,GAAAA,sBAAAA,IAA0BH,qBAAyBI,IAAAA,IAAAA,CAAKwC,GAAG;YAElF,MAAMO,aAAAA,GAAgBC,yBAA0BxD,CAAAA,IAAAA,CAAKQ,IAAI,CAAA;AACzD,YAAA,MAAMiD,IAAOzD,GAAAA,IAAAA,CAAKQ,IAAI,KAAK,cAAc,GAAM,GAAA,IAAA;YAE/C,IAAIR,IAAAA,CAAK0D,WAAW,EAAE;gBACpBnC,0BAA2B,CAAA;AACzBsB,oBAAAA,SAAAA,EAAWrC,KAAKsC,SAAS;oBACzBC,SAAWO,EAAAA,aAAAA;AACXK,oBAAAA,aAAAA,EAAe3D,KAAKC,IAAI;AACxBsD,oBAAAA,aAAAA;AACAK,oBAAAA,cAAAA,EAAgB5D,KAAK0D;AACvB,iBAAA,CAAA;aACK,MAAA;gBACLpC,oBAAqB,CAAA;AACnBuB,oBAAAA,SAAAA,EAAWrC,KAAKsC,SAAS;oBACzBC,SAAWO,EAAAA,aAAAA;AACXK,oBAAAA,aAAAA,EAAe3D,KAAKC,IAAI;AACxBsD,oBAAAA,aAAAA;AACAE,oBAAAA;AACF,iBAAA,CAAA;AACF;AACF;AACF,KAAA;IAEA,IAAII,UAAAA;AAEJ,IAAA,IAAItD,0BAA0BH,qBAAuB,EAAA;QACnDyD,UAAa,GAAA,CAAA;AACf,KAAA,MAAO,IAAIzD,qBAAuB,EAAA;QAChCyD,UAAa,GAAA,CAAA;KACR,MAAA;QACLA,UAAa,GAAA,CAAA;AACf;IAEA,MAAMC,OAAAA,GAAU,CAAC9C,aAAAA,IAAiB,CAACa,SAAAA;IACnC,MAAMkC,SAAAA,GAAY,CAAC/C,aAAAA,IAAiB,CAACa,SAAAA;IAErC,MAAMmC,MAAAA,GAAShD,aAAiBa,IAAAA,SAAAA,GAAY,aAAgB,GAAA,MAAA;AAE5D,IAAA,MAAMoC,WAAW7C,mBAAuBpB,IAAAA,IAAAA,CAAKqD,YAAY,KAAK,KAAA,IAAS,CAACvB,OAAWgC,IAAAA,OAAAA;IAEnF,qBACEI,IAAA,CAAAC,QAAA,EAAA;;0BACED,IAAC1F,CAAAA,WAAAA,EAAAA;gBACCI,UAAYkB,EAAAA,SAAAA;gBACZd,WAAayB,EAAAA,UAAAA;AACb2D,gBAAAA,OAAAA,EAASH,WAAWb,WAAciB,GAAAA,SAAAA;gBAClCC,WAAa,EAAA,CAAA;gBACbC,YAAc,EAAA,CAAA;;kCAEdL,IAACxF,CAAAA,IAAAA,EAAAA;wBAAK8F,UAAW,EAAA,QAAA;wBAASC,QAAS,EAAA,QAAA;wBAASC,GAAK,EAAA,CAAA;;4BAC9Cb,UAAe,KAAA,CAAA,IAAK,CAAC/D,SAAAA,kBACpBL,GAACkF,CAAAA,KAAAA,EAAAA;AAAMC,gCAAAA,KAAAA,EAAOvE,oBAAoB,YAAe,GAAA;;AAElDe,4BAAAA,mBAAAA,kBACC3B,GAACoF,CAAAA,UAAAA,EAAAA;gCACCb,MAAQA,EAAAA,MAAAA;gCACRc,IAAK,EAAA,QAAA;gCACLxF,GAAKoB,EAAAA,SAAAA;AACJ,gCAAA,GAAGC,SAAS;gCACboE,OAAQ,EAAA,OAAA;gCACRC,WAAa,EAAA,KAAA;gCACbC,KAAO,EAAA,CAAC,EAAExD,aAAc,CAAA;oCACtByD,EAAI,EAAA,gBAAA;oCACJC,cAAgB,EAAA;AAClB,iCAAA,CAAA,CAAG,CAAC,EAAEnF,IAAKC,CAAAA,IAAI,CAAC,CAAC;AACjBmF,gCAAAA,QAAAA,EAAUpE,aAAiBa,IAAAA,SAAAA;gCAC3BtC,KAAO,EAAA;oCAAE8F,aAAe,EAAA;AAAO,iCAAA;AAE/B,gCAAA,QAAA,gBAAA5F,GAAC6F,CAAAA,IAAAA,EAAAA,EAAAA;;0CAGLpB,IAACxF,CAAAA,IAAAA,EAAAA;gCAAKgG,GAAK,EAAA,CAAA;;kDACTR,IAACxF,CAAAA,IAAAA,EAAAA;wCAAKgG,GAAK,EAAA,CAAA;wCAAGF,UAAW,EAAA,QAAA;;0DACvB/E,GAAC8F,CAAAA,aAAAA,EAAAA;gDAAc/E,IAAM8B,EAAAA,GAAAA;AAAKoB,gDAAAA,WAAAA,EAAa1D,KAAK0D;;0DAC5CQ,IAACsB,CAAAA,UAAAA,EAAAA;gDACCC,SAAU,EAAA,YAAA;gDACVC,UAAW,EAAA,MAAA;AACXC,gDAAAA,cAAAA,EAAgB9D,YAAY,cAAiB,GAAA,MAAA;gDAC7C+D,QAAQ,EAAA,IAAA;gDACRnB,QAAS,EAAA,QAAA;;AAERzE,oDAAAA,IAAAA,CAAKC,IAAI;AACT,oDAAA,UAAA,IAAcD,IAAQA,IAAAA,IAAAA,CAAK6F,QAAQ,kBAClCpG,GAAC+F,CAAAA,UAAAA,EAAAA;wDAAWC,SAAU,EAAA,WAAA;AAAY,wDAAA,QAAA,EAAA;;;;;;kDAIxChG,GAACf,CAAAA,IAAAA,EAAAA;AACC,wCAAA,QAAA,gBAAAwF,IAACsB,CAAAA,UAAAA,EAAAA;4CAAWC,SAAU,EAAA,YAAA;;8DACpBhG,GAACqG,CAAAA,aAAAA,EAAAA;AACCtF,oDAAAA,IAAAA,EAAMR,KAAKQ,IAAI;AACfkD,oDAAAA,WAAAA,EAAa1D,KAAK0D,WAAW;oDAC7BqC,UAAY,EAAA,YAAA,IAAgB/F,IAAQA,IAAAA,IAAAA,CAAK+F,UAAU;oDACnDC,QAAU,EAAA,UAAA,IAAchG,IAAQA,IAAAA,IAAAA,CAAKgG;;AAEtC,gDAAA,YAAA,IAAgBhG,IACfA,IAAAA,IAAAA,CAAKiG,UAAU,IACfC,MAAOC,CAAAA,IAAI,CAACnG,IAAAA,CAAKiG,UAAU,CAAA,CAAErD,MAAM,GAAG,mBAAKnD,GAAC2G,CAAAA,KAAAA,EAAAA;oDAAMC,MAAQ,EAAA,CAAA;AAAG,oDAAA,QAAA,EAAA;;gDAC9DrG,IAAKQ,CAAAA,IAAI,KAAK,UACb,kBAAA0D,IAAA,CAAAC,QAAA,EAAA;;AAAE,wDAAA,IAAA;AACQmC,wDAAAA,eAAAA,CAAgBtG,IAAK+B,CAAAA,QAAQ,EAAE/B,IAAAA,CAAKuG,eAAe,CAAA;AAAE,wDAAA,IAAA;AAC5DrE,wDAAAA,iBAAAA,IACCT,aAAc,CAAA;AACZyD,4DAAAA,EAAAA,EAAIsB,OAAQ,CAAA,0BAAA,CAAA;4DACZrB,cAAgB,EAAA;AAClB,yDAAA,CAAA;AAAG,wDAAA,GAAA;AAEJjD,wDAAAA,iBAAAA,kBACCzC,GAACgH,CAAAA,IAAAA,EAAAA;4DACCrC,OAAS,EAAA,CAAC5B,CAAMA,GAAAA,CAAAA,CAAEC,eAAe,EAAA;4DACjC/C,GAAKgH,EAAAA,MAAAA;AACLC,4DAAAA,EAAAA,EAAI,CAAC,4CAA4C,EAAEzE,iBAAkBc,CAAAA,GAAG,CAAC,CAAC;sEAEzE4D,UAAW1E,CAAAA,iBAAAA,CAAkB2E,IAAI,CAACC,WAAW;;wDAGjDzE,mBACC,IAAA,CAAC,CAAC,EAAEZ,aAAc,CAAA;4DAChByD,EAAIsB,EAAAA,OAAAA,CAAQ,CAAC,IAAI,CAAC,CAAA;4DAClBrB,cAAgB,EAAA;AAClB,yDAAA,CAAA,CAAG,EAAE,EAAE9C,mBAAoB,CAAA,CAAC;;;gDAGjCrC,IAAKQ,CAAAA,IAAI,KAAK,WAAA,kBAAef,GAACsH,CAAAA,aAAAA,EAAAA;AAAc/D,oDAAAA,GAAAA,EAAKhD,KAAKgH;;;;;;;;;kCAM/DvH,GAACP,CAAAA,GAAAA,EAAAA;AACC,wBAAA,QAAA,gBAAAO,GAACf,CAAAA,IAAAA,EAAAA;4BAAKuI,cAAe,EAAA,UAAA;4BAAWvC,GAAK,EAAA,CAAA;4BAAGN,OAAS,EAAA,CAAC5B,CAAMA,GAAAA,CAAAA,CAAEC,eAAe,EAAA;oDACvEyB,IAAA,CAAAC,QAAA,EAAA;;kDACE1E,GAACP,CAAAA,GAAAA,EAAAA;kDAAKc,IAAKiB,CAAAA,MAAM,kBAAIxB,GAACyH,CAAAA,WAAAA,EAAAA;AAAYjG,4CAAAA,MAAAA,EAAQjB,KAAKiB;;;AAC9C,oCAAA;AAAC,wCAAA,WAAA;AAAa,wCAAA;AAAc,qCAAA,CAACe,QAAQ,CAAChC,IAAKQ,CAAAA,IAAI,mBAC9Cf,GAACoF,CAAAA,UAAAA,EAAAA;AACCT,wCAAAA,OAAAA,EAAS,CAAC5B,CAAAA,GAAAA;AACRA,4CAAAA,CAAAA,CAAE2E,cAAc,EAAA;AAChB3E,4CAAAA,CAAAA,CAAEC,eAAe,EAAA;AAEjB,4CAAA,IAAI5B,MAAQ,EAAA;gDACVC,SAAU,CAAA,KAAA,CAAA;6CACL,MAAA;gDACLA,SAAU,CAAA,IAAA,CAAA;AACZ;AACF,yCAAA;wCACAsG,eAAevG,EAAAA,MAAAA;AACfoE,wCAAAA,KAAAA,EAAOxD,aAAc,CAAA;4CACnByD,EAAI,EAAA,kBAAA;4CACJC,cAAgB,EAAA;AAClB,yCAAA,CAAA;wCACAJ,OAAQ,EAAA,OAAA;wCACRC,WAAa,EAAA,KAAA;AAEb,wCAAA,QAAA,gBAAAvF,GAAC4H,CAAAA,WAAAA,EAAAA;4CACCC,aAAW,EAAA,IAAA;4CACXC,IAAK,EAAA,YAAA;4CACLhI,KAAO,EAAA;AACLiI,gDAAAA,SAAAA,EAAW,CAAC,OAAO,EAAE3G,SAAS,MAAS,GAAA,QAAA,CAAS,CAAC,CAAC;gDAClD4G,UAAY,EAAA;AACd;;;oCAILrG,mBAAuBpB,IAAAA,IAAAA,CAAKqD,YAAY,KAAK,KAC5C,iBAAAa,IAAA,CAAAC,QAAA,EAAA;;AACG,4CAAA,CAACrC,yBACArC,GAACoF,CAAAA,UAAAA,EAAAA;gDACCT,OAAShB,EAAAA,WAAAA;gDACT6B,KAAO,EAAA,CAAC,EAAExD,aAAc,CAAA;oDACtByD,EAAI,EAAA,gBAAA;oDACJC,cAAgB,EAAA;AAClB,iDAAA,CAAA,CAAG,CAAC,EAAEnF,IAAKC,CAAAA,IAAI,CAAC,CAAC;gDACjB8E,OAAQ,EAAA,OAAA;AACRK,gDAAAA,QAAAA,EAAU,CAACtB,OAAAA;AAEX,gDAAA,QAAA,gBAAArE,GAACiI,CAAAA,MAAAA,EAAAA,EAAAA;;0DAGLjI,GAACoF,CAAAA,UAAAA,EAAAA;gDACCT,OAAS7B,EAAAA,YAAAA;gDACT0C,KAAO,EAAA,CAAC,EAAExD,aAAc,CAAA;oDACtByD,EAAI,EAAA,eAAA;oDACJC,cAAgB,EAAA;AAClB,iDAAA,CAAA,CAAG,CAAC,EAAEnF,IAAKC,CAAAA,IAAI,CAAC,CAAC;gDACjB8E,OAAQ,EAAA,OAAA;AACRK,gDAAAA,QAAAA,EAAU,CAACrB,SAAAA;AAEX,gDAAA,QAAA,gBAAAtE,GAACkI,CAAAA,KAAAA,EAAAA,EAAAA;;AAEH,0DAAAlI,GAAA,CAACmI,OAAOC,IAAI,EAAA;gDAACC,IAAMnG,EAAAA,iBAAAA;gDAAmBoG,YAAcnG,EAAAA,oBAAAA;AAClD,gDAAA,QAAA,gBAAAnC,GAACuI,CAAAA,aAAAA,EAAAA;oDAAcC,SAAW/E,EAAAA,mBAAAA;oDAAqBgF,QAAU/E,EAAAA,kBAAAA;AACvD,oDAAA,QAAA,gBAAA1D,GAACP,CAAAA,GAAAA,EAAAA;AACC,wDAAA,QAAA,gBAAAgF,IAACsB,CAAAA,UAAAA,EAAAA;;gEACE/D,aAAc,CAAA;AACbyD,oEAAAA,EAAAA,EAAIsB,OACF,CAAA,2DAAA,CAAA;oEAEFrB,cACE,EAAA;AACJ,iEAAA,CAAA;8EACA1F,GAAC+F,CAAAA,UAAAA,EAAAA;oEAAWE,UAAW,EAAA,MAAA;AACpB/C,oEAAAA,QAAAA,EAAAA,kBAAAA,CAAmBzB,YAAclB,EAAAA,IAAAA,CAAKC,IAAI,CAAA,CACxCkI,GAAG,CAAC,CAAC,EAAEC,SAAS,EAAE,GAAKA,SAAAA,CAAAA,CACvBC,IAAI,CAAC,IAAA;;gEAET5G,aAAc,CAAA;AACbyD,oEAAAA,EAAAA,EAAIsB,OACF,CAAA,+DAAA,CAAA;oEAEFrB,cAAgB,EAAA;AAClB,iEAAA;;;;;;;uDAOV1F,GAACf,CAAAA,IAAAA,EAAAA;wCAAK4J,OAAS,EAAA,CAAA;AACb,wCAAA,QAAA,gBAAA7I,GAAC8I,CAAAA,IAAAA,EAAAA;4CAAKhB,IAAK,EAAA;;;;;;;;;0BAQvBrD,IAACsE,CAAAA,MAAAA,EAAAA;gBAAOC,sBAAwB7H,EAAAA,qBAAAA;gBAAuB8H,OAAS7H,EAAAA,MAAAA;;oBAC7Db,IAAKQ,CAAAA,IAAI,KAAK,WAAA,kBACbf,GAACkJ,CAAAA,aAAAA,EAAAA;AACE,wBAAA,GAAG3I,IAAI;wBACRK,iBAAmBA,EAAAA,iBAAAA;wBACnBD,qBAAuBA,EAAAA;;oBAI1BJ,IAAKQ,CAAAA,IAAI,KAAK,aAAA,kBACbf,GAACmJ,CAAAA,eAAAA,EAAAA;AACE,wBAAA,GAAG5I,IAAI;wBACRoF,QAAUpE,EAAAA,aAAAA,IAAiBhB,IAAKiB,CAAAA,MAAM,KAAK,SAAA;wBAC3C4H,YAAcvI,EAAAA,gBAAAA;AACduC,wBAAAA,SAAAA,EAAWrC,KAAKsC,SAAS;AACzBC,wBAAAA,SAAAA,EAAWvC,KAAKwC;;;;;;AAM5B,CAAA,CAAA;AAEA,MAAMwF,MAAAA,GAAS/J,MAAOS,CAAAA,GAAAA,CAA4D;AACvE,WAAA,EAAE,CAAC,EAAEuJ,sBAAsB,EAAE,GAAMA,sBAAAA,GAAyB,SAAS,OAAS,CAAA;AAC3E,cAAA,EAAE,CAAC,EAAEC,OAAO,EAAE,GAAMA,OAAAA,GAAU,WAAW,KAAO,CAAA;;;AAGhD,cAAA,EAAE,CAAC,EAAEA,OAAO,EAAE,GACxBA,OAAAA,GAAU,8BAA8B,0CAA2C,CAAA;AACvF,CAAC;AAED,MAAM3B,aAAgB,GAAA,CAAC,EAAE/D,GAAG,EAA0B,GAAA;IACpD,MAAM,EAAE8F,UAAU,EAAE,GAAGzH,cAAAA,EAAAA;IACvB,MAAMb,IAAAA,GAAO2B,IAAI2G,UAAY9F,EAAAA,GAAAA,CAAAA;IAE7B,qBACEkB,IAAA,CAAAC,QAAA,EAAA;;AAAE,YAAA,IAAA;0BAEA1E,GAACgH,CAAAA,IAAAA,EAAAA;gBACCrC,OAAS,EAAA,CAAC5B,CAAMA,GAAAA,CAAAA,CAAEC,eAAe,EAAA;gBACjC/C,GAAKgH,EAAAA,MAAAA;gBACLC,EAAI,EAAA,CAAC,mDAAmD,EAAEnG,IAAKuI,CAAAA,QAAQ,CAAC,CAAC,EAAEvI,IAAAA,CAAKwC,GAAG,CAAC,CAAC;0BAEpF4D,UAAWpG,CAAAA,IAAAA,CAAKqG,IAAI,CAACC,WAAW;;AAC5B,YAAA;;;AAIb,CAAA;;;;"}
1
+ {"version":3,"file":"AttributeRow.mjs","sources":["../../../admin/src/components/AttributeRow.tsx"],"sourcesContent":["import { forwardRef, memo, useState } from 'react';\n\nimport { ConfirmDialog } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, IconButton, Typography, Link, Badge, Dialog } from '@strapi/design-system';\nimport { ChevronDown, Drag, Lock, Pencil, Trash } from '@strapi/icons';\nimport get from 'lodash/get';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\nimport { Link as NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { Curve } from '../icons/Curve';\nimport { checkDependentRows } from '../utils/conditions';\nimport { getAttributeDisplayedType } from '../utils/getAttributeDisplayedType';\nimport { getRelationType } from '../utils/getRelationType';\nimport { getTrad } from '../utils/getTrad';\n\nimport { AttributeIcon } from './AttributeIcon';\nimport { ComponentList } from './ComponentList';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { DisplayedType } from './DisplayedType';\nimport { DynamicZoneList } from './DynamicZoneList';\nimport { useFormModalNavigation } from './FormModalNavigation/useFormModalNavigation';\nimport { StatusBadge } from './Status';\n\nimport type { AnyAttribute, Component, ContentType } from '../types';\nimport type { DraggableAttributes, DraggableSyntheticListeners } from '@dnd-kit/core';\nimport type { UID } from '@strapi/types';\n\nexport const GridWrapper = styled(Flex)<{ $isOverlay?: boolean; $isDragging?: boolean }>`\n justify-content: space-between;\n\n border-top: ${({ theme, $isOverlay }) =>\n $isOverlay ? 'none' : `1px solid ${theme.colors.neutral150}`};\n\n padding-top: ${({ theme }) => theme.spaces[4]};\n padding-bottom: ${({ theme }) => theme.spaces[4]};\n\n opacity: ${({ $isDragging }) => ($isDragging ? 0 : 1)};\n align-items: center;\n`;\n\nexport type AttributeRowProps = {\n item: {\n id: string;\n index: number;\n } & AnyAttribute;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n addComponentToDZ?: () => void;\n secondLoopComponentUid?: UID.Component | null;\n type: ContentType | Component;\n isDragging?: boolean;\n style?: Record<string, unknown>;\n listeners?: DraggableSyntheticListeners;\n attributes?: DraggableAttributes;\n isOverlay?: boolean;\n handleRef?: (element: HTMLElement | null) => void;\n};\n\nconst StyledAttributeRow = styled(Box)`\n list-style: none;\n list-style-type: none;\n`;\n\nexport const AttributeRow = forwardRef<HTMLLIElement, AttributeRowProps>((props, ref) => {\n const { style, ...rest } = props;\n\n return (\n <StyledAttributeRow\n tag=\"li\"\n ref={ref}\n {...props.attributes}\n style={style}\n background=\"neutral0\"\n shadow={props.isOverlay ? 'filterShadow' : 'none'}\n aria-label={props.item.name}\n >\n <MemoizedRow {...rest} />\n </StyledAttributeRow>\n );\n});\n\nconst MemoizedRow = memo((props: Omit<AttributeRowProps, 'style'>) => {\n const {\n item,\n firstLoopComponentUid,\n isFromDynamicZone,\n addComponentToDZ,\n secondLoopComponentUid,\n type,\n isDragging,\n isOverlay,\n handleRef,\n listeners,\n } = props;\n const shouldHideNestedInfos = isOverlay || isDragging;\n\n const [isOpen, setIsOpen] = useState<boolean>(true);\n\n const isTypeDeleted = type.status === 'REMOVED';\n\n const { contentTypes, removeAttribute, isInDevelopmentMode } = useDataManager();\n const { onOpenModalEditField, onOpenModalEditCustomField } = useFormModalNavigation();\n\n const { formatMessage } = useIntl();\n const [showConfirmDialog, setShowConfirmDialog] = useState(false);\n\n const isDeleted = item.status === 'REMOVED';\n\n const isMorph = item.type === 'relation' && item.relation.includes('morph');\n const ico = ['integer', 'biginteger', 'float', 'decimal'].includes(item.type)\n ? 'number'\n : item.type;\n\n const targetContentType = item.type === 'relation' ? get(contentTypes, item.target) : null;\n const isPluginContentType = get(targetContentType, 'plugin');\n\n const src = 'target' in item && item.target ? 'relation' : ico;\n\n const handleDelete = (e: React.MouseEvent | React.KeyboardEvent) => {\n e.stopPropagation();\n const dependentRows = checkDependentRows(contentTypes, item.name);\n if (dependentRows.length > 0) {\n setShowConfirmDialog(true);\n } else {\n removeAttribute({\n forTarget: type.modelType,\n targetUid: type.uid,\n attributeToRemoveName: item.name,\n });\n }\n };\n\n const handleConfirmDelete = () => {\n removeAttribute({\n forTarget: type.modelType,\n targetUid: type.uid,\n attributeToRemoveName: item.name,\n });\n setShowConfirmDialog(false);\n };\n\n const handleCancelDelete = () => {\n setShowConfirmDialog(false);\n };\n\n const handleClick = (e?: React.MouseEvent | React.KeyboardEvent) => {\n if (e) {\n e.stopPropagation();\n }\n\n if (isMorph) {\n return;\n }\n\n if (item.configurable !== false) {\n const editTargetUid = (secondLoopComponentUid || firstLoopComponentUid || type.uid)!;\n\n const attributeType = getAttributeDisplayedType(item.type);\n const step = item.type === 'component' ? '2' : null;\n\n if (item.customField) {\n onOpenModalEditCustomField({\n forTarget: type.modelType,\n targetUid: editTargetUid,\n attributeName: item.name,\n attributeType,\n customFieldUid: item.customField,\n });\n } else {\n onOpenModalEditField({\n forTarget: type.modelType,\n targetUid: editTargetUid,\n attributeName: item.name,\n attributeType,\n step,\n });\n }\n }\n };\n\n let loopNumber;\n\n if (secondLoopComponentUid && firstLoopComponentUid) {\n loopNumber = 2;\n } else if (firstLoopComponentUid) {\n loopNumber = 1;\n } else {\n loopNumber = 0;\n }\n\n const canEdit = !isTypeDeleted && !isDeleted;\n const canDelete = !isTypeDeleted && !isDeleted;\n\n const cursor = isTypeDeleted || isDeleted ? 'not-allowed' : 'move';\n\n const canClick = isInDevelopmentMode && item.configurable !== false && !isMorph && canEdit;\n\n return (\n <>\n <GridWrapper\n $isOverlay={isOverlay}\n $isDragging={isDragging}\n onClick={canClick ? handleClick : undefined}\n paddingLeft={4}\n paddingRight={4}\n >\n <Flex alignItems=\"center\" overflow=\"hidden\" gap={2}>\n {loopNumber !== 0 && !isOverlay && (\n <Curve color={isFromDynamicZone ? 'primary200' : 'neutral150'} />\n )}\n {isInDevelopmentMode && (\n <IconButton\n cursor={cursor}\n role=\"Handle\"\n ref={handleRef}\n {...listeners}\n variant=\"ghost\"\n withTooltip={false}\n label={`${formatMessage({\n id: 'app.utils.drag',\n defaultMessage: 'Drag',\n })} ${item.name}`}\n disabled={isTypeDeleted || isDeleted}\n style={{ outlineOffset: '-2px' }}\n >\n <Drag />\n </IconButton>\n )}\n <Flex gap={4}>\n <Flex gap={4} alignItems=\"center\">\n <AttributeIcon type={src} customField={item.customField} />\n <Typography\n textColor=\"neutral800\"\n fontWeight=\"bold\"\n textDecoration={isDeleted ? 'line-through' : 'none'}\n ellipsis\n overflow=\"hidden\"\n >\n {item.name}\n {'required' in item && item.required && (\n <Typography textColor=\"danger600\">*&nbsp;</Typography>\n )}\n </Typography>\n </Flex>\n <Flex>\n <Typography textColor=\"neutral600\">\n <DisplayedType\n type={item.type}\n customField={item.customField}\n repeatable={'repeatable' in item && item.repeatable}\n multiple={'multiple' in item && item.multiple}\n />\n {'conditions' in item &&\n item.conditions &&\n Object.keys(item.conditions).length > 0 && <Badge margin={4}>conditional</Badge>}\n {item.type === 'relation' && (\n <>\n &nbsp;({getRelationType(item.relation, item.targetAttribute)})&nbsp;\n {targetContentType &&\n formatMessage({\n id: getTrad('modelPage.attribute.with'),\n defaultMessage: 'with',\n })}\n &nbsp;\n {targetContentType && (\n <Link\n onClick={(e) => e.stopPropagation()}\n tag={NavLink}\n to={`/plugins/content-type-builder/content-types/${targetContentType.uid}`}\n >\n {upperFirst(targetContentType.info.displayName)}\n </Link>\n )}\n {isPluginContentType &&\n `(${formatMessage({\n id: getTrad(`from`),\n defaultMessage: 'from',\n })}: ${isPluginContentType})`}\n </>\n )}\n {item.type === 'component' && <ComponentLink uid={item.component} />}\n </Typography>\n </Flex>\n </Flex>\n </Flex>\n\n <Box>\n <Flex justifyContent=\"flex-end\" gap={1} onClick={(e) => e.stopPropagation()}>\n <>\n <Box>{item.status && <StatusBadge status={item.status} />}</Box>\n {['component', 'dynamiczone'].includes(item.type) && (\n <IconButton\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n\n if (isOpen) {\n setIsOpen(false);\n } else {\n setIsOpen(true);\n }\n }}\n aria-expanded={isOpen}\n label={formatMessage({\n id: 'app.utils.toggle',\n defaultMessage: 'Toggle',\n })}\n variant=\"ghost\"\n withTooltip={false}\n >\n <ChevronDown\n aria-hidden\n fill=\"neutral500\"\n style={{\n transform: `rotate(${isOpen ? '0deg' : '-90deg'})`,\n transition: 'transform 0.5s',\n }}\n />\n </IconButton>\n )}\n {isInDevelopmentMode && item.configurable !== false ? (\n <>\n {!isMorph && (\n <IconButton\n onClick={handleClick}\n label={`${formatMessage({\n id: 'app.utils.edit',\n defaultMessage: 'Edit',\n })} ${item.name}`}\n variant=\"ghost\"\n disabled={!canEdit}\n >\n <Pencil />\n </IconButton>\n )}\n <IconButton\n onClick={handleDelete}\n label={`${formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })} ${item.name}`}\n variant=\"ghost\"\n disabled={!canDelete}\n >\n <Trash />\n </IconButton>\n <Dialog.Root open={showConfirmDialog} onOpenChange={setShowConfirmDialog}>\n <ConfirmDialog onConfirm={handleConfirmDelete} onCancel={handleCancelDelete}>\n <Box>\n <Typography>\n {formatMessage({\n id: getTrad(\n 'popUpWarning.bodyMessage.delete-attribute-with-conditions'\n ),\n defaultMessage:\n 'The following fields have conditions that depend on this field: ',\n })}\n <Typography fontWeight=\"bold\">\n {checkDependentRows(contentTypes, item.name)\n .map(({ attribute }) => attribute)\n .join(', ')}\n </Typography>\n {formatMessage({\n id: getTrad(\n 'popUpWarning.bodyMessage.delete-attribute-with-conditions-end'\n ),\n defaultMessage: '. Are you sure you want to delete it?',\n })}\n </Typography>\n </Box>\n </ConfirmDialog>\n </Dialog.Root>\n </>\n ) : (\n <Flex padding={2}>\n <Lock fill=\"neutral500\" />\n </Flex>\n )}\n </>\n </Flex>\n </Box>\n </GridWrapper>\n\n <SubRow $shouldHideNestedInfos={shouldHideNestedInfos} $isOpen={isOpen}>\n {item.type === 'component' && (\n <ComponentList\n {...item}\n isFromDynamicZone={isFromDynamicZone}\n firstLoopComponentUid={firstLoopComponentUid}\n />\n )}\n\n {item.type === 'dynamiczone' && (\n <DynamicZoneList\n {...item}\n disabled={isTypeDeleted || item.status === 'REMOVED'}\n addComponent={addComponentToDZ!}\n forTarget={type.modelType}\n targetUid={type.uid}\n />\n )}\n </SubRow>\n </>\n );\n});\n\nconst SubRow = styled(Box)<{ $isOpen: boolean; $shouldHideNestedInfos?: boolean }>`\n display: ${({ $shouldHideNestedInfos }) => ($shouldHideNestedInfos ? 'none' : 'block')};\n max-height: ${({ $isOpen }) => ($isOpen ? '9999px' : '0px')};\n overflow: hidden;\n\n transition: ${({ $isOpen }) =>\n $isOpen ? 'max-height 1s ease-in-out' : 'max-height 0.5s cubic-bezier(0, 1, 0, 1)'};\n`;\n\nconst ComponentLink = ({ uid }: { uid: UID.Component }) => {\n const { components } = useDataManager();\n const type = get(components, uid);\n\n return (\n <>\n &nbsp;(\n <Link\n onClick={(e) => e.stopPropagation()}\n tag={NavLink}\n to={`/plugins/content-type-builder/component-categories/${type.category}/${type.uid}`}\n >\n {upperFirst(type.info.displayName)}\n </Link>\n )\n </>\n );\n};\n"],"names":["GridWrapper","styled","Flex","theme","$isOverlay","colors","neutral150","spaces","$isDragging","StyledAttributeRow","Box","AttributeRow","forwardRef","props","ref","style","rest","_jsx","tag","attributes","background","shadow","isOverlay","aria-label","item","name","MemoizedRow","memo","firstLoopComponentUid","isFromDynamicZone","addComponentToDZ","secondLoopComponentUid","type","isDragging","handleRef","listeners","shouldHideNestedInfos","isOpen","setIsOpen","useState","isTypeDeleted","status","contentTypes","removeAttribute","isInDevelopmentMode","useDataManager","onOpenModalEditField","onOpenModalEditCustomField","useFormModalNavigation","formatMessage","useIntl","showConfirmDialog","setShowConfirmDialog","isDeleted","isMorph","relation","includes","ico","targetContentType","get","target","isPluginContentType","src","handleDelete","e","stopPropagation","dependentRows","checkDependentRows","length","forTarget","modelType","targetUid","uid","attributeToRemoveName","handleConfirmDelete","handleCancelDelete","handleClick","configurable","editTargetUid","attributeType","getAttributeDisplayedType","step","customField","attributeName","customFieldUid","loopNumber","canEdit","canDelete","cursor","canClick","_jsxs","_Fragment","onClick","undefined","paddingLeft","paddingRight","alignItems","overflow","gap","Curve","color","IconButton","role","variant","withTooltip","label","id","defaultMessage","disabled","outlineOffset","Drag","AttributeIcon","Typography","textColor","fontWeight","textDecoration","ellipsis","required","DisplayedType","repeatable","multiple","conditions","Object","keys","Badge","margin","getRelationType","targetAttribute","getTrad","Link","NavLink","to","upperFirst","info","displayName","ComponentLink","component","justifyContent","StatusBadge","preventDefault","aria-expanded","ChevronDown","aria-hidden","fill","transform","transition","Pencil","Trash","Dialog","Root","open","onOpenChange","ConfirmDialog","onConfirm","onCancel","map","attribute","join","padding","Lock","SubRow","$shouldHideNestedInfos","$isOpen","ComponentList","DynamicZoneList","addComponent","components","category"],"mappings":"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"}
@@ -52,7 +52,8 @@ const CheckboxWithNumberField = ({ error, intlLabel, modifiedData, name, onChang
52
52
  "aria-label": label,
53
53
  disabled: disabled,
54
54
  onChange: onChange,
55
- value: value === null ? '' : value
55
+ value: value === null ? '' : value,
56
+ type: "text"
56
57
  }),
57
58
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Error, {})
58
59
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxWithNumberField.js","sources":["../../../admin/src/components/CheckboxWithNumberField.tsx"],"sourcesContent":["import { Box, Checkbox, Field, Flex, NumberInput, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { IntlLabel } from '../types';\n\ninterface CheckboxWithNumberFieldProps {\n error?: string;\n intlLabel: IntlLabel;\n modifiedData: Record<string, any>;\n name: string;\n onChange: (value: any) => void;\n value?: any;\n}\n\nexport const CheckboxWithNumberField = ({\n error,\n intlLabel,\n modifiedData,\n name,\n onChange,\n value = null,\n}: CheckboxWithNumberFieldProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const type = modifiedData.type === 'biginteger' ? 'text' : 'number';\n\n const disabled = !modifiedData.type;\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Checkbox\n id={name}\n name={name}\n onCheckedChange={(value) => {\n const initValue = type === 'text' ? '0' : 0;\n const nextValue = value ? initValue : null;\n\n onChange({ target: { name, value: nextValue } });\n }}\n checked={value !== null}\n >\n {label}\n </Checkbox>\n {value !== null && (\n <Box paddingLeft={6} style={{ maxWidth: '200px' }}>\n {type === 'text' ? (\n <Field.Root error={errorMessage} name={name}>\n <TextInput\n aria-label={label}\n disabled={disabled}\n onChange={onChange}\n value={value === null ? '' : value}\n />\n <Field.Error />\n </Field.Root>\n ) : (\n <Field.Root error={errorMessage} name={name}>\n <NumberInput\n aria-label={label}\n disabled={disabled}\n onValueChange={(value: any) => {\n onChange({ target: { name, value: value ?? 0, type } });\n }}\n value={value || 0}\n />\n <Field.Error />\n </Field.Root>\n )}\n </Box>\n )}\n </Flex>\n );\n};\n"],"names":["CheckboxWithNumberField","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","type","disabled","errorMessage","_jsxs","Flex","direction","alignItems","gap","_jsx","Checkbox","onCheckedChange","initValue","nextValue","target","checked","Box","paddingLeft","style","maxWidth","Field","Root","TextInput","aria-label","Error","NumberInput","onValueChange"],"mappings":"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"}
1
+ {"version":3,"file":"CheckboxWithNumberField.js","sources":["../../../admin/src/components/CheckboxWithNumberField.tsx"],"sourcesContent":["import { Box, Checkbox, Field, Flex, NumberInput, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { IntlLabel } from '../types';\n\ninterface CheckboxWithNumberFieldProps {\n error?: string;\n intlLabel: IntlLabel;\n modifiedData: Record<string, any>;\n name: string;\n onChange: (value: any) => void;\n value?: any;\n}\n\nexport const CheckboxWithNumberField = ({\n error,\n intlLabel,\n modifiedData,\n name,\n onChange,\n value = null,\n}: CheckboxWithNumberFieldProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const type = modifiedData.type === 'biginteger' ? 'text' : 'number';\n\n const disabled = !modifiedData.type;\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Checkbox\n id={name}\n name={name}\n onCheckedChange={(value) => {\n const initValue = type === 'text' ? '0' : 0;\n const nextValue = value ? initValue : null;\n\n onChange({ target: { name, value: nextValue } });\n }}\n checked={value !== null}\n >\n {label}\n </Checkbox>\n {value !== null && (\n <Box paddingLeft={6} style={{ maxWidth: '200px' }}>\n {type === 'text' ? (\n <Field.Root error={errorMessage} name={name}>\n <TextInput\n aria-label={label}\n disabled={disabled}\n onChange={onChange}\n value={value === null ? '' : value}\n type=\"text\"\n />\n <Field.Error />\n </Field.Root>\n ) : (\n <Field.Root error={errorMessage} name={name}>\n <NumberInput\n aria-label={label}\n disabled={disabled}\n onValueChange={(value: any) => {\n onChange({ target: { name, value: value ?? 0, type } });\n }}\n value={value || 0}\n />\n <Field.Error />\n </Field.Root>\n )}\n </Box>\n )}\n </Flex>\n );\n};\n"],"names":["CheckboxWithNumberField","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","type","disabled","errorMessage","_jsxs","Flex","direction","alignItems","gap","_jsx","Checkbox","onCheckedChange","initValue","nextValue","target","checked","Box","paddingLeft","style","maxWidth","Field","Root","TextInput","aria-label","Error","NumberInput","onValueChange"],"mappings":"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"}
@@ -50,7 +50,8 @@ const CheckboxWithNumberField = ({ error, intlLabel, modifiedData, name, onChang
50
50
  "aria-label": label,
51
51
  disabled: disabled,
52
52
  onChange: onChange,
53
- value: value === null ? '' : value
53
+ value: value === null ? '' : value,
54
+ type: "text"
54
55
  }),
55
56
  /*#__PURE__*/ jsx(Field.Error, {})
56
57
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxWithNumberField.mjs","sources":["../../../admin/src/components/CheckboxWithNumberField.tsx"],"sourcesContent":["import { Box, Checkbox, Field, Flex, NumberInput, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { IntlLabel } from '../types';\n\ninterface CheckboxWithNumberFieldProps {\n error?: string;\n intlLabel: IntlLabel;\n modifiedData: Record<string, any>;\n name: string;\n onChange: (value: any) => void;\n value?: any;\n}\n\nexport const CheckboxWithNumberField = ({\n error,\n intlLabel,\n modifiedData,\n name,\n onChange,\n value = null,\n}: CheckboxWithNumberFieldProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const type = modifiedData.type === 'biginteger' ? 'text' : 'number';\n\n const disabled = !modifiedData.type;\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Checkbox\n id={name}\n name={name}\n onCheckedChange={(value) => {\n const initValue = type === 'text' ? '0' : 0;\n const nextValue = value ? initValue : null;\n\n onChange({ target: { name, value: nextValue } });\n }}\n checked={value !== null}\n >\n {label}\n </Checkbox>\n {value !== null && (\n <Box paddingLeft={6} style={{ maxWidth: '200px' }}>\n {type === 'text' ? (\n <Field.Root error={errorMessage} name={name}>\n <TextInput\n aria-label={label}\n disabled={disabled}\n onChange={onChange}\n value={value === null ? '' : value}\n />\n <Field.Error />\n </Field.Root>\n ) : (\n <Field.Root error={errorMessage} name={name}>\n <NumberInput\n aria-label={label}\n disabled={disabled}\n onValueChange={(value: any) => {\n onChange({ target: { name, value: value ?? 0, type } });\n }}\n value={value || 0}\n />\n <Field.Error />\n </Field.Root>\n )}\n </Box>\n )}\n </Flex>\n );\n};\n"],"names":["CheckboxWithNumberField","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","type","disabled","errorMessage","_jsxs","Flex","direction","alignItems","gap","_jsx","Checkbox","onCheckedChange","initValue","nextValue","target","checked","Box","paddingLeft","style","maxWidth","Field","Root","TextInput","aria-label","Error","NumberInput","onValueChange"],"mappings":";;;;MAcaA,uBAA0B,GAAA,CAAC,EACtCC,KAAK,EACLC,SAAS,EACTC,YAAY,EACZC,IAAI,EACJC,QAAQ,EACRC,KAAAA,GAAQ,IAAI,EACiB,GAAA;IAC7B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,KAAQP,GAAAA,SAAAA,CAAUQ,EAAE,GACtBH,aACE,CAAA;AAAEG,QAAAA,EAAAA,EAAIR,UAAUQ,EAAE;AAAEC,QAAAA,cAAAA,EAAgBT,UAAUS;KAC9C,EAAA;AAAE,QAAA,GAAGT,UAAUU;KAEjBR,CAAAA,GAAAA,IAAAA;AAEJ,IAAA,MAAMS,IAAOV,GAAAA,YAAAA,CAAaU,IAAI,KAAK,eAAe,MAAS,GAAA,QAAA;IAE3D,MAAMC,QAAAA,GAAW,CAACX,YAAAA,CAAaU,IAAI;IACnC,MAAME,YAAAA,GAAed,QAAQM,aAAc,CAAA;QAAEG,EAAIT,EAAAA,KAAAA;QAAOU,cAAgBV,EAAAA;KAAW,CAAA,GAAA,EAAA;AAEnF,IAAA,qBACEe,IAACC,CAAAA,IAAAA,EAAAA;QAAKC,SAAU,EAAA,QAAA;QAASC,UAAW,EAAA,SAAA;QAAUC,GAAK,EAAA,CAAA;;0BACjDC,GAACC,CAAAA,QAAAA,EAAAA;gBACCZ,EAAIN,EAAAA,IAAAA;gBACJA,IAAMA,EAAAA,IAAAA;AACNmB,gBAAAA,eAAAA,EAAiB,CAACjB,KAAAA,GAAAA;oBAChB,MAAMkB,SAAAA,GAAYX,IAAS,KAAA,MAAA,GAAS,GAAM,GAAA,CAAA;oBAC1C,MAAMY,SAAAA,GAAYnB,QAAQkB,SAAY,GAAA,IAAA;oBAEtCnB,QAAS,CAAA;wBAAEqB,MAAQ,EAAA;AAAEtB,4BAAAA,IAAAA;4BAAME,KAAOmB,EAAAA;AAAU;AAAE,qBAAA,CAAA;AAChD,iBAAA;AACAE,gBAAAA,OAAAA,EAASrB,KAAU,KAAA,IAAA;AAElBG,gBAAAA,QAAAA,EAAAA;;AAEFH,YAAAA,KAAAA,KAAU,sBACTe,GAACO,CAAAA,GAAAA,EAAAA;gBAAIC,WAAa,EAAA,CAAA;gBAAGC,KAAO,EAAA;oBAAEC,QAAU,EAAA;AAAQ,iBAAA;0BAC7ClB,IAAS,KAAA,MAAA,iBACRG,IAACgB,CAAAA,KAAAA,CAAMC,IAAI,EAAA;oBAAChC,KAAOc,EAAAA,YAAAA;oBAAcX,IAAMA,EAAAA,IAAAA;;sCACrCiB,GAACa,CAAAA,SAAAA,EAAAA;4BACCC,YAAY1B,EAAAA,KAAAA;4BACZK,QAAUA,EAAAA,QAAAA;4BACVT,QAAUA,EAAAA,QAAAA;4BACVC,KAAOA,EAAAA,KAAAA,KAAU,OAAO,EAAKA,GAAAA;;AAE/B,sCAAAe,GAAA,CAACW,MAAMI,KAAK,EAAA,EAAA;;AAGd,iBAAA,CAAA,iBAAApB,IAAA,CAACgB,MAAMC,IAAI,EAAA;oBAAChC,KAAOc,EAAAA,YAAAA;oBAAcX,IAAMA,EAAAA,IAAAA;;sCACrCiB,GAACgB,CAAAA,WAAAA,EAAAA;4BACCF,YAAY1B,EAAAA,KAAAA;4BACZK,QAAUA,EAAAA,QAAAA;AACVwB,4BAAAA,aAAAA,EAAe,CAAChC,KAAAA,GAAAA;gCACdD,QAAS,CAAA;oCAAEqB,MAAQ,EAAA;AAAEtB,wCAAAA,IAAAA;AAAME,wCAAAA,KAAAA,EAAOA,KAAS,IAAA,CAAA;AAAGO,wCAAAA;AAAK;AAAE,iCAAA,CAAA;AACvD,6BAAA;AACAP,4BAAAA,KAAAA,EAAOA,KAAS,IAAA;;AAElB,sCAAAe,GAAA,CAACW,MAAMI,KAAK,EAAA,EAAA;;;;;;AAO1B;;;;"}
1
+ {"version":3,"file":"CheckboxWithNumberField.mjs","sources":["../../../admin/src/components/CheckboxWithNumberField.tsx"],"sourcesContent":["import { Box, Checkbox, Field, Flex, NumberInput, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { IntlLabel } from '../types';\n\ninterface CheckboxWithNumberFieldProps {\n error?: string;\n intlLabel: IntlLabel;\n modifiedData: Record<string, any>;\n name: string;\n onChange: (value: any) => void;\n value?: any;\n}\n\nexport const CheckboxWithNumberField = ({\n error,\n intlLabel,\n modifiedData,\n name,\n onChange,\n value = null,\n}: CheckboxWithNumberFieldProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const type = modifiedData.type === 'biginteger' ? 'text' : 'number';\n\n const disabled = !modifiedData.type;\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Checkbox\n id={name}\n name={name}\n onCheckedChange={(value) => {\n const initValue = type === 'text' ? '0' : 0;\n const nextValue = value ? initValue : null;\n\n onChange({ target: { name, value: nextValue } });\n }}\n checked={value !== null}\n >\n {label}\n </Checkbox>\n {value !== null && (\n <Box paddingLeft={6} style={{ maxWidth: '200px' }}>\n {type === 'text' ? (\n <Field.Root error={errorMessage} name={name}>\n <TextInput\n aria-label={label}\n disabled={disabled}\n onChange={onChange}\n value={value === null ? '' : value}\n type=\"text\"\n />\n <Field.Error />\n </Field.Root>\n ) : (\n <Field.Root error={errorMessage} name={name}>\n <NumberInput\n aria-label={label}\n disabled={disabled}\n onValueChange={(value: any) => {\n onChange({ target: { name, value: value ?? 0, type } });\n }}\n value={value || 0}\n />\n <Field.Error />\n </Field.Root>\n )}\n </Box>\n )}\n </Flex>\n );\n};\n"],"names":["CheckboxWithNumberField","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","type","disabled","errorMessage","_jsxs","Flex","direction","alignItems","gap","_jsx","Checkbox","onCheckedChange","initValue","nextValue","target","checked","Box","paddingLeft","style","maxWidth","Field","Root","TextInput","aria-label","Error","NumberInput","onValueChange"],"mappings":";;;;MAcaA,uBAA0B,GAAA,CAAC,EACtCC,KAAK,EACLC,SAAS,EACTC,YAAY,EACZC,IAAI,EACJC,QAAQ,EACRC,KAAAA,GAAQ,IAAI,EACiB,GAAA;IAC7B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,KAAQP,GAAAA,SAAAA,CAAUQ,EAAE,GACtBH,aACE,CAAA;AAAEG,QAAAA,EAAAA,EAAIR,UAAUQ,EAAE;AAAEC,QAAAA,cAAAA,EAAgBT,UAAUS;KAC9C,EAAA;AAAE,QAAA,GAAGT,UAAUU;KAEjBR,CAAAA,GAAAA,IAAAA;AAEJ,IAAA,MAAMS,IAAOV,GAAAA,YAAAA,CAAaU,IAAI,KAAK,eAAe,MAAS,GAAA,QAAA;IAE3D,MAAMC,QAAAA,GAAW,CAACX,YAAAA,CAAaU,IAAI;IACnC,MAAME,YAAAA,GAAed,QAAQM,aAAc,CAAA;QAAEG,EAAIT,EAAAA,KAAAA;QAAOU,cAAgBV,EAAAA;KAAW,CAAA,GAAA,EAAA;AAEnF,IAAA,qBACEe,IAACC,CAAAA,IAAAA,EAAAA;QAAKC,SAAU,EAAA,QAAA;QAASC,UAAW,EAAA,SAAA;QAAUC,GAAK,EAAA,CAAA;;0BACjDC,GAACC,CAAAA,QAAAA,EAAAA;gBACCZ,EAAIN,EAAAA,IAAAA;gBACJA,IAAMA,EAAAA,IAAAA;AACNmB,gBAAAA,eAAAA,EAAiB,CAACjB,KAAAA,GAAAA;oBAChB,MAAMkB,SAAAA,GAAYX,IAAS,KAAA,MAAA,GAAS,GAAM,GAAA,CAAA;oBAC1C,MAAMY,SAAAA,GAAYnB,QAAQkB,SAAY,GAAA,IAAA;oBAEtCnB,QAAS,CAAA;wBAAEqB,MAAQ,EAAA;AAAEtB,4BAAAA,IAAAA;4BAAME,KAAOmB,EAAAA;AAAU;AAAE,qBAAA,CAAA;AAChD,iBAAA;AACAE,gBAAAA,OAAAA,EAASrB,KAAU,KAAA,IAAA;AAElBG,gBAAAA,QAAAA,EAAAA;;AAEFH,YAAAA,KAAAA,KAAU,sBACTe,GAACO,CAAAA,GAAAA,EAAAA;gBAAIC,WAAa,EAAA,CAAA;gBAAGC,KAAO,EAAA;oBAAEC,QAAU,EAAA;AAAQ,iBAAA;0BAC7ClB,IAAS,KAAA,MAAA,iBACRG,IAACgB,CAAAA,KAAAA,CAAMC,IAAI,EAAA;oBAAChC,KAAOc,EAAAA,YAAAA;oBAAcX,IAAMA,EAAAA,IAAAA;;sCACrCiB,GAACa,CAAAA,SAAAA,EAAAA;4BACCC,YAAY1B,EAAAA,KAAAA;4BACZK,QAAUA,EAAAA,QAAAA;4BACVT,QAAUA,EAAAA,QAAAA;4BACVC,KAAOA,EAAAA,KAAAA,KAAU,OAAO,EAAKA,GAAAA,KAAAA;4BAC7BO,IAAK,EAAA;;AAEP,sCAAAQ,GAAA,CAACW,MAAMI,KAAK,EAAA,EAAA;;AAGd,iBAAA,CAAA,iBAAApB,IAAA,CAACgB,MAAMC,IAAI,EAAA;oBAAChC,KAAOc,EAAAA,YAAAA;oBAAcX,IAAMA,EAAAA,IAAAA;;sCACrCiB,GAACgB,CAAAA,WAAAA,EAAAA;4BACCF,YAAY1B,EAAAA,KAAAA;4BACZK,QAAUA,EAAAA,QAAAA;AACVwB,4BAAAA,aAAAA,EAAe,CAAChC,KAAAA,GAAAA;gCACdD,QAAS,CAAA;oCAAEqB,MAAQ,EAAA;AAAEtB,wCAAAA,IAAAA;AAAME,wCAAAA,KAAAA,EAAOA,KAAS,IAAA,CAAA;AAAGO,wCAAAA;AAAK;AAAE,iCAAA,CAAA;AACvD,6BAAA;AACAP,4BAAAA,KAAAA,EAAOA,KAAS,IAAA;;AAElB,sCAAAe,GAAA,CAACW,MAAMI,KAAK,EAAA,EAAA;;;;;;AAO1B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentCard.js","sources":["../../../../admin/src/components/ComponentCard/ComponentCard.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { styled } from 'styled-components';\n\nimport { useDataManager } from '../DataManager/useDataManager';\n\nimport { ComponentIcon } from './ComponentIcon';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface ComponentCardProps {\n component: string;\n dzName: string;\n index: number;\n isActive?: boolean;\n isInDevelopmentMode?: boolean;\n onClick?: () => void;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst CloseButton = styled(Box)`\n position: absolute;\n display: none;\n top: 5px;\n right: 0.8rem;\n\n svg {\n width: 1rem;\n height: 1rem;\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n`;\n\nconst ComponentBox = styled(Flex)`\n width: 14rem;\n height: 8rem;\n position: relative;\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral100};\n border-radius: ${({ theme }) => theme.borderRadius};\n max-width: 100%;\n\n &.active,\n &:focus,\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n\n ${CloseButton} {\n display: block;\n }\n\n /* > ComponentIcon */\n > div:first-child {\n background: ${({ theme }) => theme.colors.primary200};\n color: ${({ theme }) => theme.colors.primary600};\n\n svg {\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n }\n }\n`;\n\nexport const ComponentCard = ({\n component,\n dzName,\n index,\n isActive = false,\n isInDevelopmentMode = false,\n onClick,\n forTarget,\n targetUid,\n disabled,\n}: ComponentCardProps) => {\n const { components, removeComponentFromDynamicZone } = useDataManager();\n const type = get(components, component);\n const { icon, displayName } = type?.info || {};\n\n const onClose = (e: any) => {\n e.stopPropagation();\n removeComponentFromDynamicZone({\n forTarget,\n targetUid,\n dzName,\n componentToRemoveIndex: index,\n });\n };\n\n return (\n <ComponentBox\n alignItems=\"center\"\n direction=\"column\"\n className={isActive ? 'active' : ''}\n borderRadius=\"borderRadius\"\n justifyContent=\"center\"\n paddingLeft={4}\n paddingRight={4}\n shrink={0}\n onClick={onClick}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n cursor=\"pointer\"\n aria-selected={isActive}\n aria-controls={`dz-${dzName}-panel-${index}`}\n id={`dz-${dzName}-tab-${index}`}\n >\n <ComponentIcon icon={icon} isActive={isActive} />\n\n <Box marginTop={1} maxWidth=\"100%\">\n <Typography variant=\"pi\" fontWeight=\"bold\" ellipsis>\n {displayName}\n </Typography>\n </Box>\n\n {isInDevelopmentMode && !disabled && (\n <CloseButton cursor=\"pointer\" tag=\"button\" onClick={onClose}>\n <Cross />\n </CloseButton>\n )}\n </ComponentBox>\n );\n};\n"],"names":["CloseButton","styled","Box","theme","colors","primary600","ComponentBox","Flex","neutral200","neutral100","borderRadius","primary200","primary100","ComponentCard","component","dzName","index","isActive","isInDevelopmentMode","onClick","forTarget","targetUid","disabled","components","removeComponentFromDynamicZone","useDataManager","type","get","icon","displayName","info","onClose","e","stopPropagation","componentToRemoveIndex","_jsxs","alignItems","direction","className","justifyContent","paddingLeft","paddingRight","shrink","role","tabIndex","cursor","aria-selected","aria-controls","id","_jsx","ComponentIcon","marginTop","maxWidth","Typography","variant","fontWeight","ellipsis","tag","Cross"],"mappings":"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"}
1
+ {"version":3,"file":"ComponentCard.js","sources":["../../../../admin/src/components/ComponentCard/ComponentCard.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { styled } from 'styled-components';\n\nimport { useDataManager } from '../DataManager/useDataManager';\n\nimport { ComponentIcon } from './ComponentIcon';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface ComponentCardProps {\n component: string;\n dzName: string;\n index: number;\n isActive?: boolean;\n isInDevelopmentMode?: boolean;\n onClick?: () => void;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst CloseButton = styled(Box)`\n position: absolute;\n display: none;\n top: 5px;\n right: 0.8rem;\n\n svg {\n width: 1rem;\n height: 1rem;\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n`;\n\nconst ComponentBox = styled(Flex)`\n width: 14rem;\n height: 8rem;\n position: relative;\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral100};\n border-radius: ${({ theme }) => theme.borderRadius};\n max-width: 100%;\n\n &.active,\n &:focus,\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n\n ${CloseButton} {\n display: block;\n }\n\n /* > ComponentIcon */\n > div:first-child {\n background: ${({ theme }) => theme.colors.primary200};\n color: ${({ theme }) => theme.colors.primary600};\n\n svg {\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n }\n }\n`;\n\nexport const ComponentCard = ({\n component,\n dzName,\n index,\n isActive = false,\n isInDevelopmentMode = false,\n onClick,\n forTarget,\n targetUid,\n disabled,\n}: ComponentCardProps) => {\n const { components, removeComponentFromDynamicZone } = useDataManager();\n const type = get(components, component);\n const { icon, displayName } = type?.info || {};\n\n const onClose = (e: any) => {\n e.stopPropagation();\n removeComponentFromDynamicZone({\n forTarget,\n targetUid,\n dzName,\n componentToRemoveIndex: index,\n });\n };\n\n return (\n <ComponentBox\n alignItems=\"center\"\n direction=\"column\"\n className={isActive ? 'active' : ''}\n borderRadius=\"borderRadius\"\n justifyContent=\"center\"\n paddingLeft={4}\n paddingRight={4}\n shrink={0}\n onClick={onClick}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n cursor=\"pointer\"\n aria-selected={isActive}\n aria-controls={`dz-${dzName}-panel-${index}`}\n id={`dz-${dzName}-tab-${index}`}\n >\n <ComponentIcon icon={icon} isActive={isActive} />\n\n <Box marginTop={1} maxWidth=\"100%\">\n <Typography variant=\"pi\" fontWeight=\"bold\" ellipsis>\n {displayName}\n </Typography>\n </Box>\n\n {isInDevelopmentMode && !disabled && (\n <CloseButton cursor=\"pointer\" tag=\"button\" onClick={onClose}>\n <Cross />\n </CloseButton>\n )}\n </ComponentBox>\n );\n};\n"],"names":["CloseButton","styled","Box","theme","colors","primary600","ComponentBox","Flex","neutral200","neutral100","borderRadius","primary200","primary100","ComponentCard","component","dzName","index","isActive","isInDevelopmentMode","onClick","forTarget","targetUid","disabled","components","removeComponentFromDynamicZone","useDataManager","type","get","icon","displayName","info","onClose","e","stopPropagation","componentToRemoveIndex","_jsxs","alignItems","direction","className","justifyContent","paddingLeft","paddingRight","shrink","role","tabIndex","cursor","aria-selected","aria-controls","id","_jsx","ComponentIcon","marginTop","maxWidth","Typography","variant","fontWeight","ellipsis","tag","Cross"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentCard.mjs","sources":["../../../../admin/src/components/ComponentCard/ComponentCard.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { styled } from 'styled-components';\n\nimport { useDataManager } from '../DataManager/useDataManager';\n\nimport { ComponentIcon } from './ComponentIcon';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface ComponentCardProps {\n component: string;\n dzName: string;\n index: number;\n isActive?: boolean;\n isInDevelopmentMode?: boolean;\n onClick?: () => void;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst CloseButton = styled(Box)`\n position: absolute;\n display: none;\n top: 5px;\n right: 0.8rem;\n\n svg {\n width: 1rem;\n height: 1rem;\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n`;\n\nconst ComponentBox = styled(Flex)`\n width: 14rem;\n height: 8rem;\n position: relative;\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral100};\n border-radius: ${({ theme }) => theme.borderRadius};\n max-width: 100%;\n\n &.active,\n &:focus,\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n\n ${CloseButton} {\n display: block;\n }\n\n /* > ComponentIcon */\n > div:first-child {\n background: ${({ theme }) => theme.colors.primary200};\n color: ${({ theme }) => theme.colors.primary600};\n\n svg {\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n }\n }\n`;\n\nexport const ComponentCard = ({\n component,\n dzName,\n index,\n isActive = false,\n isInDevelopmentMode = false,\n onClick,\n forTarget,\n targetUid,\n disabled,\n}: ComponentCardProps) => {\n const { components, removeComponentFromDynamicZone } = useDataManager();\n const type = get(components, component);\n const { icon, displayName } = type?.info || {};\n\n const onClose = (e: any) => {\n e.stopPropagation();\n removeComponentFromDynamicZone({\n forTarget,\n targetUid,\n dzName,\n componentToRemoveIndex: index,\n });\n };\n\n return (\n <ComponentBox\n alignItems=\"center\"\n direction=\"column\"\n className={isActive ? 'active' : ''}\n borderRadius=\"borderRadius\"\n justifyContent=\"center\"\n paddingLeft={4}\n paddingRight={4}\n shrink={0}\n onClick={onClick}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n cursor=\"pointer\"\n aria-selected={isActive}\n aria-controls={`dz-${dzName}-panel-${index}`}\n id={`dz-${dzName}-tab-${index}`}\n >\n <ComponentIcon icon={icon} isActive={isActive} />\n\n <Box marginTop={1} maxWidth=\"100%\">\n <Typography variant=\"pi\" fontWeight=\"bold\" ellipsis>\n {displayName}\n </Typography>\n </Box>\n\n {isInDevelopmentMode && !disabled && (\n <CloseButton cursor=\"pointer\" tag=\"button\" onClick={onClose}>\n <Cross />\n </CloseButton>\n )}\n </ComponentBox>\n );\n};\n"],"names":["CloseButton","styled","Box","theme","colors","primary600","ComponentBox","Flex","neutral200","neutral100","borderRadius","primary200","primary100","ComponentCard","component","dzName","index","isActive","isInDevelopmentMode","onClick","forTarget","targetUid","disabled","components","removeComponentFromDynamicZone","useDataManager","type","get","icon","displayName","info","onClose","e","stopPropagation","componentToRemoveIndex","_jsxs","alignItems","direction","className","justifyContent","paddingLeft","paddingRight","shrink","role","tabIndex","cursor","aria-selected","aria-controls","id","_jsx","ComponentIcon","marginTop","maxWidth","Typography","variant","fontWeight","ellipsis","tag","Cross"],"mappings":"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"}
1
+ {"version":3,"file":"ComponentCard.mjs","sources":["../../../../admin/src/components/ComponentCard/ComponentCard.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { styled } from 'styled-components';\n\nimport { useDataManager } from '../DataManager/useDataManager';\n\nimport { ComponentIcon } from './ComponentIcon';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface ComponentCardProps {\n component: string;\n dzName: string;\n index: number;\n isActive?: boolean;\n isInDevelopmentMode?: boolean;\n onClick?: () => void;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst CloseButton = styled(Box)`\n position: absolute;\n display: none;\n top: 5px;\n right: 0.8rem;\n\n svg {\n width: 1rem;\n height: 1rem;\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n`;\n\nconst ComponentBox = styled(Flex)`\n width: 14rem;\n height: 8rem;\n position: relative;\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral100};\n border-radius: ${({ theme }) => theme.borderRadius};\n max-width: 100%;\n\n &.active,\n &:focus,\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n\n ${CloseButton} {\n display: block;\n }\n\n /* > ComponentIcon */\n > div:first-child {\n background: ${({ theme }) => theme.colors.primary200};\n color: ${({ theme }) => theme.colors.primary600};\n\n svg {\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n }\n }\n`;\n\nexport const ComponentCard = ({\n component,\n dzName,\n index,\n isActive = false,\n isInDevelopmentMode = false,\n onClick,\n forTarget,\n targetUid,\n disabled,\n}: ComponentCardProps) => {\n const { components, removeComponentFromDynamicZone } = useDataManager();\n const type = get(components, component);\n const { icon, displayName } = type?.info || {};\n\n const onClose = (e: any) => {\n e.stopPropagation();\n removeComponentFromDynamicZone({\n forTarget,\n targetUid,\n dzName,\n componentToRemoveIndex: index,\n });\n };\n\n return (\n <ComponentBox\n alignItems=\"center\"\n direction=\"column\"\n className={isActive ? 'active' : ''}\n borderRadius=\"borderRadius\"\n justifyContent=\"center\"\n paddingLeft={4}\n paddingRight={4}\n shrink={0}\n onClick={onClick}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n cursor=\"pointer\"\n aria-selected={isActive}\n aria-controls={`dz-${dzName}-panel-${index}`}\n id={`dz-${dzName}-tab-${index}`}\n >\n <ComponentIcon icon={icon} isActive={isActive} />\n\n <Box marginTop={1} maxWidth=\"100%\">\n <Typography variant=\"pi\" fontWeight=\"bold\" ellipsis>\n {displayName}\n </Typography>\n </Box>\n\n {isInDevelopmentMode && !disabled && (\n <CloseButton cursor=\"pointer\" tag=\"button\" onClick={onClose}>\n <Cross />\n </CloseButton>\n )}\n </ComponentBox>\n );\n};\n"],"names":["CloseButton","styled","Box","theme","colors","primary600","ComponentBox","Flex","neutral200","neutral100","borderRadius","primary200","primary100","ComponentCard","component","dzName","index","isActive","isInDevelopmentMode","onClick","forTarget","targetUid","disabled","components","removeComponentFromDynamicZone","useDataManager","type","get","icon","displayName","info","onClose","e","stopPropagation","componentToRemoveIndex","_jsxs","alignItems","direction","className","justifyContent","paddingLeft","paddingRight","shrink","role","tabIndex","cursor","aria-selected","aria-controls","id","_jsx","ComponentIcon","marginTop","maxWidth","Typography","variant","fontWeight","ellipsis","tag","Cross"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useContentTypeBuilderMenu.js","sources":["../../../../admin/src/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\nimport { useCollator, useFilter } from '@strapi/design-system';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\n\nimport { pluginId } from '../../pluginId';\nimport { getTrad } from '../../utils/getTrad';\nimport { useDataManager } from '../DataManager/useDataManager';\nimport { useFormModalNavigation } from '../FormModalNavigation/useFormModalNavigation';\n\nimport type { Status } from '../../types';\n\ntype Link = {\n name: string;\n to: string;\n status: Status;\n title: string;\n};\n\ntype SubSection = {\n name: string;\n title: string;\n links: Link[];\n};\n\ntype MenuSection = {\n name: string;\n title: {\n id: string;\n defaultMessage: string;\n };\n customLink?: {\n id: string;\n defaultMessage: string;\n onClick: () => void;\n };\n links: Array<SubSection | Link>;\n linksCount?: number;\n};\n\ntype Menu = MenuSection[];\n\nexport const useContentTypeBuilderMenu = () => {\n const { componentsGroupedByCategory, isInDevelopmentMode, sortedContentTypesList } =\n useDataManager();\n const { trackUsage } = useTracking();\n const [searchValue, setSearchValue] = useState('');\n const { onOpenModalCreateSchema } = useFormModalNavigation();\n const { locale } = useIntl();\n\n const { contains } = useFilter(locale, {\n sensitivity: 'base',\n });\n\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const handleClickOpenModalCreateCollectionType = () => {\n trackUsage(`willCreateContentType`);\n\n const nextState = {\n modalType: 'contentType',\n kind: 'collectionType',\n actionType: 'create',\n forTarget: 'contentType',\n };\n\n onOpenModalCreateSchema(nextState);\n };\n\n const handleClickOpenModalCreateSingleType = () => {\n trackUsage(`willCreateSingleType`);\n\n const nextState = {\n modalType: 'contentType',\n kind: 'singleType',\n actionType: 'create',\n forTarget: 'contentType',\n };\n\n onOpenModalCreateSchema(nextState);\n };\n\n const handleClickOpenModalCreateComponent = () => {\n trackUsage('willCreateComponent');\n\n const nextState = {\n modalType: 'component',\n kind: null,\n actionType: 'create',\n forTarget: 'component',\n };\n\n onOpenModalCreateSchema(nextState);\n };\n\n const componentsData = Object.entries(componentsGroupedByCategory)\n .map(([category, components]) => ({\n name: category,\n title: upperFirst(category),\n links: components\n .map((component) => ({\n name: component.uid,\n to: `/plugins/${pluginId}/component-categories/${category}/${component.uid}`,\n title: component.info.displayName,\n status: component.status,\n }))\n .sort((a, b) => formatter.compare(a.title, b.title)),\n }))\n .sort((a, b) => formatter.compare(a.title, b.title));\n\n const displayedContentTypes = sortedContentTypesList\n .filter((obj) => obj.visible)\n .map((info) => ({\n kind: info.kind,\n name: info.name,\n to: info.to,\n title: info.title,\n status: info.status,\n }));\n\n const data: Menu = [\n {\n name: 'models',\n title: {\n id: `${getTrad('menu.section.models.name')}`,\n defaultMessage: 'Collection Types',\n },\n customLink: isInDevelopmentMode\n ? {\n id: `${getTrad('button.model.create')}`,\n defaultMessage: 'Create new collection type',\n onClick: handleClickOpenModalCreateCollectionType,\n }\n : undefined,\n links: displayedContentTypes.filter((contentType) => contentType.kind === 'collectionType'),\n },\n {\n name: 'singleTypes',\n title: {\n id: `${getTrad('menu.section.single-types.name')}`,\n defaultMessage: 'Single Types',\n },\n customLink: isInDevelopmentMode\n ? {\n id: `${getTrad('button.single-types.create')}`,\n defaultMessage: 'Create new single type',\n onClick: handleClickOpenModalCreateSingleType,\n }\n : undefined,\n links: displayedContentTypes.filter((singleType) => singleType.kind === 'singleType'),\n },\n {\n name: 'components',\n title: {\n id: `${getTrad('menu.section.components.name')}`,\n defaultMessage: 'Components',\n },\n customLink: isInDevelopmentMode\n ? {\n id: `${getTrad('button.component.create')}`,\n defaultMessage: 'Create a new component',\n onClick: handleClickOpenModalCreateComponent,\n }\n : undefined,\n links: componentsData,\n },\n ].map((section) => {\n const hasChild = section.links.some((l) => 'links' in l && Array.isArray(l.links));\n\n if (hasChild) {\n let filteredLinksCount = 0;\n\n return {\n ...section,\n links: section.links.reduce((acc, link) => {\n const filteredLinks =\n 'links' in link ? link.links.filter((link) => contains(link.title, searchValue)) : [];\n\n if (filteredLinks.length === 0) {\n return acc;\n }\n\n filteredLinksCount += filteredLinks.length;\n\n acc.push({\n ...link,\n links: filteredLinks.sort((a, b) => formatter.compare(a.title, b.title)),\n });\n\n return acc;\n }, [] as SubSection[]),\n linksCount: filteredLinksCount,\n };\n }\n\n const filteredLinks = section.links\n .filter((link) => contains(link.title, searchValue))\n .sort((a, b) => formatter.compare(a.title, b.title));\n\n return {\n ...section,\n links: filteredLinks,\n linksCount: filteredLinks.length,\n };\n });\n\n return {\n menu: data,\n search: {\n value: searchValue,\n onChange: setSearchValue,\n clear: () => setSearchValue(''),\n },\n };\n};\n"],"names":["useContentTypeBuilderMenu","componentsGroupedByCategory","isInDevelopmentMode","sortedContentTypesList","useDataManager","trackUsage","useTracking","searchValue","setSearchValue","useState","onOpenModalCreateSchema","useFormModalNavigation","locale","useIntl","contains","useFilter","sensitivity","formatter","useCollator","handleClickOpenModalCreateCollectionType","nextState","modalType","kind","actionType","forTarget","handleClickOpenModalCreateSingleType","handleClickOpenModalCreateComponent","componentsData","Object","entries","map","category","components","name","title","upperFirst","links","component","uid","to","pluginId","info","displayName","status","sort","a","b","compare","displayedContentTypes","filter","obj","visible","data","id","getTrad","defaultMessage","customLink","onClick","undefined","contentType","singleType","section","hasChild","some","l","Array","isArray","filteredLinksCount","reduce","acc","link","filteredLinks","length","push","linksCount","menu","search","value","onChange","clear"],"mappings":"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"}
1
+ {"version":3,"file":"useContentTypeBuilderMenu.js","sources":["../../../../admin/src/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\nimport { useCollator, useFilter } from '@strapi/design-system';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\n\nimport { pluginId } from '../../pluginId';\nimport { getTrad } from '../../utils/getTrad';\nimport { useDataManager } from '../DataManager/useDataManager';\nimport { useFormModalNavigation } from '../FormModalNavigation/useFormModalNavigation';\n\nimport type { Status } from '../../types';\n\ntype Link = {\n name: string;\n to: string;\n status: Status;\n title: string;\n};\n\ntype SubSection = {\n name: string;\n title: string;\n links: Link[];\n};\n\ntype MenuSection = {\n name: string;\n title: {\n id: string;\n defaultMessage: string;\n };\n customLink?: {\n id: string;\n defaultMessage: string;\n onClick: () => void;\n };\n links: Array<SubSection | Link>;\n linksCount?: number;\n};\n\ntype Menu = MenuSection[];\n\nexport const useContentTypeBuilderMenu = () => {\n const { componentsGroupedByCategory, isInDevelopmentMode, sortedContentTypesList } =\n useDataManager();\n const { trackUsage } = useTracking();\n const [searchValue, setSearchValue] = useState('');\n const { onOpenModalCreateSchema } = useFormModalNavigation();\n const { locale } = useIntl();\n\n const { contains } = useFilter(locale, {\n sensitivity: 'base',\n });\n\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const handleClickOpenModalCreateCollectionType = () => {\n trackUsage(`willCreateContentType`);\n\n const nextState = {\n modalType: 'contentType',\n kind: 'collectionType',\n actionType: 'create',\n forTarget: 'contentType',\n };\n\n onOpenModalCreateSchema(nextState);\n };\n\n const handleClickOpenModalCreateSingleType = () => {\n trackUsage(`willCreateSingleType`);\n\n const nextState = {\n modalType: 'contentType',\n kind: 'singleType',\n actionType: 'create',\n forTarget: 'contentType',\n };\n\n onOpenModalCreateSchema(nextState);\n };\n\n const handleClickOpenModalCreateComponent = () => {\n trackUsage('willCreateComponent');\n\n const nextState = {\n modalType: 'component',\n kind: null,\n actionType: 'create',\n forTarget: 'component',\n };\n\n onOpenModalCreateSchema(nextState);\n };\n\n const componentsData = Object.entries(componentsGroupedByCategory)\n .map(([category, components]) => ({\n name: category,\n title: upperFirst(category),\n links: components\n .map((component) => ({\n name: component.uid,\n to: `/plugins/${pluginId}/component-categories/${category}/${component.uid}`,\n title: component.info.displayName,\n status: component.status,\n }))\n .sort((a, b) => formatter.compare(a.title, b.title)),\n }))\n .sort((a, b) => formatter.compare(a.title, b.title));\n\n const displayedContentTypes = sortedContentTypesList\n .filter((obj) => obj.visible)\n .map((info) => ({\n kind: info.kind,\n name: info.name,\n to: info.to,\n title: info.title,\n status: info.status,\n }));\n\n const data: Menu = [\n {\n name: 'models',\n title: {\n id: `${getTrad('menu.section.models.name')}`,\n defaultMessage: 'Collection Types',\n },\n customLink: isInDevelopmentMode\n ? {\n id: `${getTrad('button.model.create')}`,\n defaultMessage: 'Create new collection type',\n onClick: handleClickOpenModalCreateCollectionType,\n }\n : undefined,\n links: displayedContentTypes.filter((contentType) => contentType.kind === 'collectionType'),\n },\n {\n name: 'singleTypes',\n title: {\n id: `${getTrad('menu.section.single-types.name')}`,\n defaultMessage: 'Single Types',\n },\n customLink: isInDevelopmentMode\n ? {\n id: `${getTrad('button.single-types.create')}`,\n defaultMessage: 'Create new single type',\n onClick: handleClickOpenModalCreateSingleType,\n }\n : undefined,\n links: displayedContentTypes.filter((singleType) => singleType.kind === 'singleType'),\n },\n {\n name: 'components',\n title: {\n id: `${getTrad('menu.section.components.name')}`,\n defaultMessage: 'Components',\n },\n customLink: isInDevelopmentMode\n ? {\n id: `${getTrad('button.component.create')}`,\n defaultMessage: 'Create a new component',\n onClick: handleClickOpenModalCreateComponent,\n }\n : undefined,\n links: componentsData,\n },\n ].map((section) => {\n const hasChild = section.links.some((l) => 'links' in l && Array.isArray(l.links));\n\n if (hasChild) {\n let filteredLinksCount = 0;\n\n return {\n ...section,\n links: section.links.reduce((acc, link) => {\n const filteredLinks =\n 'links' in link ? link.links.filter((link) => contains(link.title, searchValue)) : [];\n\n if (filteredLinks.length === 0) {\n return acc;\n }\n\n filteredLinksCount += filteredLinks.length;\n\n acc.push({\n ...link,\n links: filteredLinks.sort((a, b) => formatter.compare(a.title, b.title)),\n });\n\n return acc;\n }, [] as SubSection[]),\n linksCount: filteredLinksCount,\n };\n }\n\n const filteredLinks = section.links\n .filter((link) => contains(link.title, searchValue))\n .sort((a, b) => formatter.compare(a.title, b.title));\n\n return {\n ...section,\n links: filteredLinks,\n linksCount: filteredLinks.length,\n };\n });\n\n return {\n menu: data,\n search: {\n value: searchValue,\n onChange: setSearchValue,\n clear: () => setSearchValue(''),\n },\n };\n};\n"],"names":["useContentTypeBuilderMenu","componentsGroupedByCategory","isInDevelopmentMode","sortedContentTypesList","useDataManager","trackUsage","useTracking","searchValue","setSearchValue","useState","onOpenModalCreateSchema","useFormModalNavigation","locale","useIntl","contains","useFilter","sensitivity","formatter","useCollator","handleClickOpenModalCreateCollectionType","nextState","modalType","kind","actionType","forTarget","handleClickOpenModalCreateSingleType","handleClickOpenModalCreateComponent","componentsData","Object","entries","map","category","components","name","title","upperFirst","links","component","uid","to","pluginId","info","displayName","status","sort","a","b","compare","displayedContentTypes","filter","obj","visible","data","id","getTrad","defaultMessage","customLink","onClick","undefined","contentType","singleType","section","hasChild","some","l","Array","isArray","filteredLinksCount","reduce","acc","link","filteredLinks","length","push","linksCount","menu","search","value","onChange","clear"],"mappings":"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"}