@strapi/content-manager 5.10.3 → 5.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/admin/chunks/{ComponentConfigurationPage-C5H-5L1u.js → ComponentConfigurationPage-BBCYsnnE.js} +3 -3
  2. package/dist/admin/chunks/{ComponentConfigurationPage-C5H-5L1u.js.map → ComponentConfigurationPage-BBCYsnnE.js.map} +1 -1
  3. package/dist/admin/chunks/{ComponentConfigurationPage-BN2kOtDm.mjs → ComponentConfigurationPage-DNBN8tI3.mjs} +3 -3
  4. package/dist/admin/chunks/{ComponentConfigurationPage-BN2kOtDm.mjs.map → ComponentConfigurationPage-DNBN8tI3.mjs.map} +1 -1
  5. package/dist/admin/chunks/{EditConfigurationPage-tMgOELQG.mjs → EditConfigurationPage-CoivzF-x.mjs} +3 -3
  6. package/dist/admin/chunks/{EditConfigurationPage-tMgOELQG.mjs.map → EditConfigurationPage-CoivzF-x.mjs.map} +1 -1
  7. package/dist/admin/chunks/{EditConfigurationPage-BExtZuB7.js → EditConfigurationPage-Cu0Vt-uc.js} +3 -3
  8. package/dist/admin/chunks/{EditConfigurationPage-BExtZuB7.js.map → EditConfigurationPage-Cu0Vt-uc.js.map} +1 -1
  9. package/dist/admin/chunks/{EditViewPage-DFkloeMZ.js → EditViewPage-B48r4DLX.js} +6 -9
  10. package/dist/admin/chunks/EditViewPage-B48r4DLX.js.map +1 -0
  11. package/dist/admin/chunks/{EditViewPage-CYe7wAXF.mjs → EditViewPage-BpGtaOKG.mjs} +6 -9
  12. package/dist/admin/chunks/EditViewPage-BpGtaOKG.mjs.map +1 -0
  13. package/dist/admin/chunks/{Form-DGUP3zQO.js → Form-DD49gSWW.js} +2 -2
  14. package/dist/admin/chunks/{Form-DGUP3zQO.js.map → Form-DD49gSWW.js.map} +1 -1
  15. package/dist/admin/chunks/{Form-DTO0ZIaB.mjs → Form-rQQtxfmF.mjs} +2 -2
  16. package/dist/admin/chunks/{Form-DTO0ZIaB.mjs.map → Form-rQQtxfmF.mjs.map} +1 -1
  17. package/dist/admin/chunks/{History-C333pgXF.mjs → History-BdsTgpW-.mjs} +5 -5
  18. package/dist/admin/chunks/{History-C333pgXF.mjs.map → History-BdsTgpW-.mjs.map} +1 -1
  19. package/dist/admin/chunks/{History-CQznK1pG.js → History-RLJ9Svg6.js} +5 -5
  20. package/dist/admin/chunks/{History-CQznK1pG.js.map → History-RLJ9Svg6.js.map} +1 -1
  21. package/dist/admin/chunks/{Input-DLJZHw9Y.js → Input-BUVu6H9n.js} +4 -4
  22. package/dist/admin/chunks/{Input-DLJZHw9Y.js.map → Input-BUVu6H9n.js.map} +1 -1
  23. package/dist/admin/chunks/{Input-BexkC_pp.mjs → Input-CtIJ2J0c.mjs} +4 -4
  24. package/dist/admin/chunks/{Input-BexkC_pp.mjs.map → Input-CtIJ2J0c.mjs.map} +1 -1
  25. package/dist/admin/chunks/{ListConfigurationPage-BX2WR7MI.mjs → ListConfigurationPage-38s4e-VJ.mjs} +2 -2
  26. package/dist/admin/chunks/{ListConfigurationPage-BX2WR7MI.mjs.map → ListConfigurationPage-38s4e-VJ.mjs.map} +1 -1
  27. package/dist/admin/chunks/{ListConfigurationPage-71I_stAM.js → ListConfigurationPage-DfnrA3dw.js} +2 -2
  28. package/dist/admin/chunks/{ListConfigurationPage-71I_stAM.js.map → ListConfigurationPage-DfnrA3dw.js.map} +1 -1
  29. package/dist/admin/chunks/{ListViewPage-BDeT3Dkk.mjs → ListViewPage-BTmlktgT.mjs} +3 -3
  30. package/dist/admin/chunks/{ListViewPage-BDeT3Dkk.mjs.map → ListViewPage-BTmlktgT.mjs.map} +1 -1
  31. package/dist/admin/chunks/{ListViewPage-DV3heO4F.js → ListViewPage-D9-LGPq_.js} +3 -3
  32. package/dist/admin/chunks/{ListViewPage-DV3heO4F.js.map → ListViewPage-D9-LGPq_.js.map} +1 -1
  33. package/dist/admin/chunks/{NoContentTypePage-9JHYpYVX.mjs → NoContentTypePage-CcyR2i1K.mjs} +2 -2
  34. package/dist/admin/chunks/{NoContentTypePage-9JHYpYVX.mjs.map → NoContentTypePage-CcyR2i1K.mjs.map} +1 -1
  35. package/dist/admin/chunks/{NoContentTypePage-COih9y2J.js → NoContentTypePage-owzdv-pl.js} +2 -2
  36. package/dist/admin/chunks/{NoContentTypePage-COih9y2J.js.map → NoContentTypePage-owzdv-pl.js.map} +1 -1
  37. package/dist/admin/chunks/{NoPermissionsPage-DGAwRIlN.js → NoPermissionsPage-CM_r8w5u.js} +2 -2
  38. package/dist/admin/chunks/{NoPermissionsPage-DGAwRIlN.js.map → NoPermissionsPage-CM_r8w5u.js.map} +1 -1
  39. package/dist/admin/chunks/{NoPermissionsPage-DTe9I47q.mjs → NoPermissionsPage-lBonAXej.mjs} +2 -2
  40. package/dist/admin/chunks/{NoPermissionsPage-DTe9I47q.mjs.map → NoPermissionsPage-lBonAXej.mjs.map} +1 -1
  41. package/dist/admin/chunks/{Preview-CXtc9yEV.js → Preview-Bv3GKyWZ.js} +209 -86
  42. package/dist/admin/chunks/Preview-Bv3GKyWZ.js.map +1 -0
  43. package/dist/admin/chunks/{Preview-BEq0FXda.mjs → Preview-Dh5Z7aGp.mjs} +213 -90
  44. package/dist/admin/chunks/Preview-Dh5Z7aGp.mjs.map +1 -0
  45. package/dist/admin/chunks/{Relations-qeZyLDgQ.mjs → Relations-DP5krCGC.mjs} +3 -3
  46. package/dist/admin/chunks/{Relations-qeZyLDgQ.mjs.map → Relations-DP5krCGC.mjs.map} +1 -1
  47. package/dist/admin/chunks/{Relations-o7_hVGyK.js → Relations-T8Cr0N9M.js} +3 -3
  48. package/dist/admin/chunks/{Relations-o7_hVGyK.js.map → Relations-T8Cr0N9M.js.map} +1 -1
  49. package/dist/admin/chunks/{en-LfhocNG2.mjs → en-CImiNxXE.mjs} +3 -1
  50. package/dist/admin/chunks/{en-LfhocNG2.mjs.map → en-CImiNxXE.mjs.map} +1 -1
  51. package/dist/admin/chunks/{en-C1CjdAtC.js → en-CLf4SuMQ.js} +3 -1
  52. package/dist/admin/chunks/{en-C1CjdAtC.js.map → en-CLf4SuMQ.js.map} +1 -1
  53. package/dist/admin/chunks/{index-Cs6qwFQu.mjs → index-BkM_Z7pU.mjs} +78 -40
  54. package/dist/admin/chunks/index-BkM_Z7pU.mjs.map +1 -0
  55. package/dist/admin/chunks/{index-BHimg6jW.js → index-CGBB9Dho.js} +78 -39
  56. package/dist/admin/chunks/index-CGBB9Dho.js.map +1 -0
  57. package/dist/admin/chunks/{layout-DStNia_P.mjs → layout-D8ji6QNJ.mjs} +4 -4
  58. package/dist/admin/chunks/{layout-DStNia_P.mjs.map → layout-D8ji6QNJ.mjs.map} +1 -1
  59. package/dist/admin/chunks/{layout-Dtahn4Ue.js → layout-Dbmjk7mC.js} +4 -4
  60. package/dist/admin/chunks/{layout-Dtahn4Ue.js.map → layout-Dbmjk7mC.js.map} +1 -1
  61. package/dist/admin/chunks/{relations-Cq8NRUto.mjs → relations-Dv0FHoBS.mjs} +2 -2
  62. package/dist/admin/chunks/{relations-Cq8NRUto.mjs.map → relations-Dv0FHoBS.mjs.map} +1 -1
  63. package/dist/admin/chunks/{relations-XOYEEqMz.js → relations-jNJK8ESO.js} +2 -2
  64. package/dist/admin/chunks/{relations-XOYEEqMz.js.map → relations-jNJK8ESO.js.map} +1 -1
  65. package/dist/admin/chunks/uk-BtM6WnaE.mjs +313 -0
  66. package/dist/admin/chunks/uk-BtM6WnaE.mjs.map +1 -0
  67. package/dist/admin/chunks/uk-DB6OgySY.js +318 -0
  68. package/dist/admin/chunks/uk-DB6OgySY.js.map +1 -0
  69. package/dist/admin/index.js +1 -1
  70. package/dist/admin/index.mjs +1 -1
  71. package/dist/admin/src/components/InjectionZone.d.ts +7 -1
  72. package/dist/admin/src/content-manager.d.ts +4 -0
  73. package/dist/admin/src/hooks/useDocument.d.ts +2 -0
  74. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  75. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +2 -1
  76. package/dist/admin/src/preview/components/PreviewContent.d.ts +1 -2
  77. package/dist/admin/src/preview/pages/Preview.d.ts +2 -0
  78. package/dist/server/index.js +1 -1
  79. package/dist/server/index.js.map +1 -1
  80. package/dist/server/index.mjs +1 -1
  81. package/dist/server/index.mjs.map +1 -1
  82. package/package.json +8 -8
  83. package/dist/admin/chunks/EditViewPage-CYe7wAXF.mjs.map +0 -1
  84. package/dist/admin/chunks/EditViewPage-DFkloeMZ.js.map +0 -1
  85. package/dist/admin/chunks/Preview-BEq0FXda.mjs.map +0 -1
  86. package/dist/admin/chunks/Preview-CXtc9yEV.js.map +0 -1
  87. package/dist/admin/chunks/index-BHimg6jW.js.map +0 -1
  88. package/dist/admin/chunks/index-Cs6qwFQu.mjs.map +0 -1
  89. package/dist/admin/chunks/uk-B24MoTVg.js +0 -145
  90. package/dist/admin/chunks/uk-B24MoTVg.js.map +0 -1
  91. package/dist/admin/chunks/uk-Cpgmm7gE.mjs +0 -140
  92. package/dist/admin/chunks/uk-Cpgmm7gE.mjs.map +0 -1
@@ -4,7 +4,7 @@ import { useForm, Layouts, BackButton, InputRenderer, useNotification, useField,
4
4
  import { Button, useCollator, Flex, Typography, Grid, Modal, Box, useComposedRefs, Menu, VisuallyHidden, Main, Divider } from '@strapi/design-system';
5
5
  import { useIntl } from 'react-intl';
6
6
  import { useParams, Navigate } from 'react-router-dom';
7
- import { C as COLLECTION_TYPES, g as getTranslation, z as capitalise, c as useDoc, p as useGetContentTypeConfigurationQuery, w as checkIfAttributeIsDisplayable, m as useDocLayout, A as useUpdateContentTypeConfigurationMutation, S as SINGLE_TYPES } from './index-Cs6qwFQu.mjs';
7
+ import { C as COLLECTION_TYPES, g as getTranslation, z as capitalise, c as useDoc, p as useGetContentTypeConfigurationQuery, w as checkIfAttributeIsDisplayable, m as useDocLayout, A as useUpdateContentTypeConfigurationMutation, S as SINGLE_TYPES } from './index-BkM_Z7pU.mjs';
8
8
  import { u as useTypedSelector } from './hooks-DMvik5y_.mjs';
9
9
  import { s as setIn } from './objects-wl73iEma.mjs';
10
10
  import { Drag, Pencil, Cross, Plus } from '@strapi/icons';
@@ -793,4 +793,4 @@ const ProtectedListConfiguration = ()=>{
793
793
  };
794
794
 
795
795
  export { ListConfiguration, ProtectedListConfiguration };
796
- //# sourceMappingURL=ListConfigurationPage-BX2WR7MI.mjs.map
796
+ //# sourceMappingURL=ListConfigurationPage-38s4e-VJ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListConfigurationPage-BX2WR7MI.mjs","sources":["../../../admin/src/pages/ListConfiguration/components/Header.tsx","../../../admin/src/pages/ListConfiguration/components/Settings.tsx","../../../admin/src/pages/ListConfiguration/components/EditFieldForm.tsx","../../../admin/src/pages/ListConfiguration/components/DraggableCard.tsx","../../../admin/src/pages/ListConfiguration/components/SortDisplayedFields.tsx","../../../admin/src/pages/ListConfiguration/ListConfigurationPage.tsx"],"sourcesContent":["import { useForm, BackButton, Layouts } from '@strapi/admin/strapi-admin';\nimport { Button } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { COLLECTION_TYPES } from '../../../constants/collections';\nimport { capitalise } from '../../../utils/strings';\nimport { getTranslation } from '../../../utils/translations';\n\ninterface HeaderProps {\n collectionType: string;\n name: string;\n model: string;\n}\n\nconst Header = ({ name }: HeaderProps) => {\n const { formatMessage } = useIntl();\n const params = useParams<{ slug: string }>();\n\n const modified = useForm('Header', (state) => state.modified);\n const isSubmitting = useForm('Header', (state) => state.isSubmitting);\n\n return (\n <Layouts.Header\n navigationAction={<BackButton fallback={`../${COLLECTION_TYPES}/${params.slug}`} />}\n primaryAction={\n <Button size=\"S\" disabled={!modified} type=\"submit\" loading={isSubmitting}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n subtitle={formatMessage({\n id: getTranslation('components.SettingsViewWrapper.pluginHeader.description.list-settings'),\n defaultMessage: 'Define the settings of the list view.',\n })}\n title={formatMessage(\n {\n id: getTranslation('components.SettingsViewWrapper.pluginHeader.title'),\n defaultMessage: 'Configure the view - {name}',\n },\n { name: capitalise(name) }\n )}\n />\n );\n};\n\nexport { Header };\nexport type { HeaderProps };\n","import * as React from 'react';\n\nimport { useForm, InputRenderer, type InputProps } from '@strapi/admin/strapi-admin';\nimport { Flex, Grid, Typography, useCollator } from '@strapi/design-system';\nimport { type MessageDescriptor, useIntl } from 'react-intl';\n\nimport { useDoc } from '../../../hooks/useDocument';\nimport { type EditFieldLayout } from '../../../hooks/useDocumentLayout';\nimport { getTranslation } from '../../../utils/translations';\nimport { type FormData } from '../ListConfigurationPage';\n\nimport type { DistributiveOmit } from 'react-redux';\n\nexport type InputPropsWithMessageDescriptors = DistributiveOmit<\n InputProps,\n 'hint' | 'label' | 'placeholder'\n> & {\n hint?: MessageDescriptor;\n label: MessageDescriptor;\n placeholder?: MessageDescriptor;\n};\n\n/**\n * @internal\n * @description Form inputs are always displayed in a grid, so we need\n * to use the size property to determine how many columns the input should\n * take up.\n */\nexport type FormLayoutInputProps = InputPropsWithMessageDescriptors & { size: number };\n\nconst EXCLUDED_SORT_ATTRIBUTE_TYPES = [\n 'media',\n 'richtext',\n 'dynamiczone',\n 'relation',\n 'component',\n 'json',\n 'blocks',\n];\n\ninterface SortOption {\n value: string;\n label: string;\n}\n\nconst Settings = () => {\n const { formatMessage, locale } = useIntl();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n const { schema } = useDoc();\n\n const layout = useForm<FormData['layout']>('Settings', (state) => state.values.layout ?? []);\n const currentSortBy = useForm<FormData['settings']['defaultSortBy']>(\n 'Settings',\n (state) => state.values.settings.defaultSortBy\n );\n const onChange = useForm('Settings', (state) => state.onChange);\n\n const sortOptions = React.useMemo(\n () =>\n Object.values(layout).reduce<SortOption[]>((acc, field) => {\n if (schema && !EXCLUDED_SORT_ATTRIBUTE_TYPES.includes(schema.attributes[field.name].type)) {\n acc.push({\n value: field.name,\n label: typeof field.label !== 'string' ? formatMessage(field.label) : field.label,\n });\n }\n\n return acc;\n }, []),\n [formatMessage, layout, schema]\n );\n\n const sortOptionsSorted = sortOptions.sort((a, b) => formatter.compare(a.label, b.label));\n\n React.useEffect(() => {\n if (sortOptionsSorted.findIndex((opt) => opt.value === currentSortBy) === -1) {\n onChange('settings.defaultSortBy', sortOptionsSorted[0]?.value);\n }\n }, [currentSortBy, onChange, sortOptionsSorted]);\n\n const formLayout = React.useMemo(\n () =>\n SETTINGS_FORM_LAYOUT.map((row) =>\n row.map((field) => {\n if (field.type === 'enumeration') {\n return {\n ...field,\n hint: field.hint ? formatMessage(field.hint) : undefined,\n label: formatMessage(field.label),\n options: field.name === 'settings.defaultSortBy' ? sortOptionsSorted : field.options,\n };\n } else {\n return {\n ...field,\n hint: field.hint ? formatMessage(field.hint) : undefined,\n label: formatMessage(field.label),\n };\n }\n })\n ) as [top: EditFieldLayout[], bottom: EditFieldLayout[]],\n [formatMessage, sortOptionsSorted]\n );\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTranslation('containers.SettingPage.settings'),\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid.Root key=\"bottom\" gap={4}>\n {formLayout.map((row) =>\n row.map(({ size, ...field }) => (\n <Grid.Item key={field.name} s={12} col={size} direction=\"column\" alignItems=\"stretch\">\n {/* @ts-expect-error – issue with EnumerationProps conflicting with InputProps */}\n <InputRenderer {...field} />\n </Grid.Item>\n ))\n )}\n </Grid.Root>\n </Flex>\n );\n};\n\nconst SETTINGS_FORM_LAYOUT: FormLayoutInputProps[][] = [\n [\n {\n label: {\n id: getTranslation('form.Input.search'),\n defaultMessage: 'Enable search',\n },\n name: 'settings.searchable',\n size: 4,\n type: 'boolean' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.filters'),\n defaultMessage: 'Enable filters',\n },\n name: 'settings.filterable',\n size: 4,\n type: 'boolean' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.bulkActions'),\n defaultMessage: 'Enable bulk actions',\n },\n name: 'settings.bulkable',\n size: 4,\n type: 'boolean' as const,\n },\n ],\n [\n {\n hint: {\n id: getTranslation('form.Input.pageEntries.inputDescription'),\n defaultMessage: 'Note: You can override this value in the Collection Type settings page.',\n },\n label: {\n id: getTranslation('form.Input.pageEntries'),\n defaultMessage: 'Entries per page',\n },\n name: 'settings.pageSize',\n options: ['10', '20', '50', '100'].map((value) => ({ value, label: value })),\n size: 6,\n type: 'enumeration' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.defaultSort'),\n defaultMessage: 'Default sort attribute',\n },\n name: 'settings.defaultSortBy',\n options: [],\n size: 3,\n type: 'enumeration' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.sort.order'),\n defaultMessage: 'Default sort order',\n },\n name: 'settings.defaultSortOrder',\n options: ['ASC', 'DESC'].map((value) => ({ value, label: value })),\n size: 3,\n type: 'enumeration' as const,\n },\n ],\n];\n\nexport { Settings };\n","import { Form, useField, InputRenderer, useNotification } from '@strapi/admin/strapi-admin';\nimport { Button, Flex, FlexComponent, Grid, Modal } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { FieldTypeIcon } from '../../../components/FieldTypeIcon';\nimport { capitalise } from '../../../utils/strings';\nimport { getTranslation } from '../../../utils/translations';\n\nimport type { ListFieldLayout } from '../../../hooks/useDocumentLayout';\nimport type { FormData } from '../ListConfigurationPage';\n\ninterface EditFieldFormProps extends Pick<ListFieldLayout, 'attribute'> {\n name: string;\n onClose: () => void;\n}\n\nconst FIELD_SCHEMA = yup.object().shape({\n label: yup.string().required(),\n sortable: yup.boolean(),\n});\n\nconst EditFieldForm = ({ attribute, name, onClose }: EditFieldFormProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n\n const { value, onChange } = useField<FormData['layout'][number]>(name);\n\n if (!value) {\n // This is very unlikely to happen, but it ensures the form is not opened without a value.\n console.error(\n \"You've opened a field to edit without it being part of the form, this is likely a bug with Strapi. Please open an issue.\"\n );\n\n toggleNotification({\n message: formatMessage({\n id: 'content-manager.containers.list-settings.modal-form.error',\n defaultMessage: 'An error occurred while trying to open the form.',\n }),\n type: 'danger',\n });\n\n return null;\n }\n\n let shouldDisplaySortToggle = !['media', 'relation'].includes(attribute.type);\n\n if ('relation' in attribute && ['oneWay', 'oneToOne', 'manyToOne'].includes(attribute.relation)) {\n shouldDisplaySortToggle = true;\n }\n\n return (\n <Modal.Content>\n <Form\n method=\"PUT\"\n initialValues={value}\n validationSchema={FIELD_SCHEMA}\n onSubmit={(data) => {\n onChange(name, data);\n onClose();\n }}\n >\n <Modal.Header>\n <HeaderContainer>\n {/* @ts-expect-error attribute.type === custom does not work here */}\n <FieldTypeIcon type={attribute.type} />\n <Modal.Title>\n {formatMessage(\n {\n id: getTranslation('containers.list-settings.modal-form.label'),\n defaultMessage: 'Edit {fieldName}',\n },\n { fieldName: capitalise(value.label) }\n )}\n </Modal.Title>\n </HeaderContainer>\n </Modal.Header>\n <Modal.Body>\n <Grid.Root gap={4}>\n {[\n {\n name: 'label',\n label: formatMessage({\n id: getTranslation('form.Input.label'),\n defaultMessage: 'Label',\n }),\n hint: formatMessage({\n id: getTranslation('form.Input.label.inputDescription'),\n defaultMessage: \"This value overrides the label displayed in the table's head\",\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: getTranslation('form.Input.sort.field'),\n defaultMessage: 'Enable sort on this field',\n }),\n name: 'sortable',\n size: 6,\n type: 'boolean' as const,\n },\n ]\n .filter(\n (field) =>\n field.name !== 'sortable' ||\n (field.name === 'sortable' && shouldDisplaySortToggle)\n )\n .map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n s={12}\n col={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Button type=\"submit\">\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Modal.Footer>\n </Form>\n </Modal.Content>\n );\n};\n\nconst HeaderContainer = styled<FlexComponent>(Flex)`\n svg {\n width: 3.2rem;\n margin-right: ${({ theme }) => theme.spaces[3]};\n }\n`;\n\nexport { EditFieldForm };\nexport type { EditFieldFormProps };\n","import * as React from 'react';\n\nimport {\n Box,\n BoxComponent,\n Flex,\n FlexComponent,\n Modal,\n Typography,\n useComposedRefs,\n} from '@strapi/design-system';\nimport { Cross, Drag, Pencil } from '@strapi/icons';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { CardDragPreview } from '../../../components/DragPreviews/CardDragPreview';\nimport { ItemTypes } from '../../../constants/dragAndDrop';\nimport { useDragAndDrop } from '../../../hooks/useDragAndDrop';\nimport { getTranslation } from '../../../utils/translations';\n\nimport { EditFieldForm } from './EditFieldForm';\n\nimport type { ListFieldLayout } from '../../../hooks/useDocumentLayout';\n\ntype DraggableCardProps = Omit<ListFieldLayout, 'label'> & {\n label: string;\n index: number;\n isDraggingSibling: boolean;\n onMoveField: (dragIndex: number, hoverIndex: number) => void;\n onRemoveField: () => void;\n setIsDraggingSibling: (isDragging: boolean) => void;\n};\n\nconst DraggableCard = ({\n attribute,\n index,\n isDraggingSibling,\n label,\n name,\n onMoveField,\n onRemoveField,\n setIsDraggingSibling,\n}: DraggableCardProps) => {\n const [isModalOpen, setIsModalOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n const [, forceRerenderAfterDnd] = React.useState(false);\n\n const [{ isDragging }, objectRef, dropRef, dragRef, dragPreviewRef] = useDragAndDrop(true, {\n type: ItemTypes.FIELD,\n item: { index, label, name },\n index,\n onMoveItem: onMoveField,\n onEnd: () => setIsDraggingSibling(false),\n });\n\n React.useEffect(() => {\n dragPreviewRef(getEmptyImage(), { captureDraggingState: false });\n }, [dragPreviewRef]);\n\n React.useEffect(() => {\n if (isDragging) {\n setIsDraggingSibling(true);\n }\n }, [isDragging, setIsDraggingSibling]);\n\n // Effect in order to force a rerender after reordering the components\n // Since we are removing the Accordion when doing the DnD we are losing the dragRef, therefore the replaced element cannot be dragged\n // anymore, this hack forces a rerender in order to apply the dragRef\n React.useEffect(() => {\n if (!isDraggingSibling) {\n forceRerenderAfterDnd((prev) => !prev);\n }\n }, [isDraggingSibling]);\n\n const composedRefs = useComposedRefs<HTMLButtonElement>(\n dropRef,\n objectRef as React.RefObject<HTMLButtonElement>\n );\n\n return (\n <FieldWrapper ref={composedRefs}>\n {isDragging && <CardDragPreview label={label} />}\n {!isDragging && isDraggingSibling && <CardDragPreview isSibling label={label} />}\n\n {!isDragging && !isDraggingSibling && (\n <FieldContainer\n borderColor=\"neutral150\"\n background=\"neutral100\"\n hasRadius\n justifyContent=\"space-between\"\n onClick={() => setIsModalOpen(true)}\n >\n <Flex gap={3}>\n <DragButton\n ref={dragRef}\n aria-label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.move.field'),\n defaultMessage: 'Move {item}',\n },\n { item: label }\n )}\n onClick={(e) => e.stopPropagation()}\n >\n <Drag />\n </DragButton>\n <Typography fontWeight=\"bold\">{label}</Typography>\n </Flex>\n <Flex paddingLeft={3} onClick={(e) => e.stopPropagation()}>\n <Modal.Root open={isModalOpen} onOpenChange={setIsModalOpen}>\n <Modal.Trigger>\n <ActionButton\n onClick={(e) => {\n e.stopPropagation();\n }}\n aria-label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.edit.field'),\n defaultMessage: 'Edit {item}',\n },\n { item: label }\n )}\n type=\"button\"\n >\n <Pencil width=\"1.2rem\" height=\"1.2rem\" />\n </ActionButton>\n </Modal.Trigger>\n <EditFieldForm\n attribute={attribute}\n name={`layout.${index}`}\n onClose={() => {\n setIsModalOpen(false);\n }}\n />\n </Modal.Root>\n <ActionButton\n onClick={onRemoveField}\n data-testid={`delete-${name}`}\n aria-label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.delete.field'),\n defaultMessage: 'Delete {item}',\n },\n { item: label }\n )}\n type=\"button\"\n >\n <Cross width=\"1.2rem\" height=\"1.2rem\" />\n </ActionButton>\n </Flex>\n </FieldContainer>\n )}\n </FieldWrapper>\n );\n};\n\nconst ActionButton = styled.button`\n display: flex;\n align-items: center;\n height: ${({ theme }) => theme.spaces[7]};\n color: ${({ theme }) => theme.colors.neutral600};\n\n &:hover {\n color: ${({ theme }) => theme.colors.neutral700};\n }\n\n &:last-child {\n padding: 0 ${({ theme }) => theme.spaces[3]};\n }\n`;\n\nconst DragButton = styled(ActionButton)`\n padding: 0 ${({ theme }) => theme.spaces[3]};\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n cursor: all-scroll;\n`;\n\nconst FieldContainer = styled<FlexComponent>(Flex)`\n max-height: 3.2rem;\n cursor: pointer;\n`;\n\nconst FieldWrapper = styled<BoxComponent>(Box)`\n &:last-child {\n padding-right: ${({ theme }) => theme.spaces[3]};\n }\n`;\n\nexport { DraggableCard };\nexport type { DraggableCardProps };\n","import * as React from 'react';\n\nimport { useForm } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, VisuallyHidden, Typography, Menu } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useDoc } from '../../../hooks/useDocument';\nimport { useGetContentTypeConfigurationQuery } from '../../../services/contentTypes';\nimport { checkIfAttributeIsDisplayable } from '../../../utils/attributes';\nimport { getTranslation } from '../../../utils/translations';\n\nimport { DraggableCard, DraggableCardProps } from './DraggableCard';\n\nimport type { ListLayout } from '../../../hooks/useDocumentLayout';\nimport type { FormData } from '../ListConfigurationPage';\n\ninterface SortDisplayedFieldsProps extends Pick<ListLayout, 'layout'> {}\n\nconst SortDisplayedFields = () => {\n const { formatMessage } = useIntl();\n const { model, schema } = useDoc();\n const [isDraggingSibling, setIsDraggingSibling] = React.useState(false);\n const [lastAction, setLastAction] = React.useState<string | null>(null);\n const scrollableContainerRef = React.useRef<HTMLDivElement>(null);\n\n const values = useForm<FormData['layout']>(\n 'SortDisplayedFields',\n (state) => state.values.layout ?? []\n );\n const addFieldRow = useForm('SortDisplayedFields', (state) => state.addFieldRow);\n const removeFieldRow = useForm('SortDisplayedFields', (state) => state.removeFieldRow);\n const moveFieldRow = useForm('SortDisplayedFields', (state) => state.moveFieldRow);\n\n const { metadata: allMetadata } = useGetContentTypeConfigurationQuery(model, {\n selectFromResult: ({ data }) => ({ metadata: data?.contentType.metadatas ?? {} }),\n });\n\n /**\n * This is our list of fields that are not displayed in the current layout\n * so we create their default state to be added to the layout.\n */\n const nonDisplayedFields = React.useMemo(() => {\n if (!schema) {\n return [];\n }\n\n const displayedFieldNames = values.map((field) => field.name);\n\n return Object.entries(schema.attributes).reduce<Array<FormData['layout'][number]>>(\n (acc, [name, attribute]) => {\n if (!displayedFieldNames.includes(name) && checkIfAttributeIsDisplayable(attribute)) {\n const { list: metadata } = allMetadata[name];\n\n acc.push({\n name,\n label: metadata.label || name,\n sortable: metadata.sortable,\n });\n }\n\n return acc;\n },\n []\n );\n }, [allMetadata, values, schema]);\n\n const handleAddField = (field: FormData['layout'][number]) => {\n setLastAction('add');\n addFieldRow('layout', field);\n };\n\n const handleRemoveField = (index: number) => {\n setLastAction('remove');\n removeFieldRow('layout', index);\n };\n\n const handleMoveField: DraggableCardProps['onMoveField'] = (dragIndex, hoverIndex) => {\n moveFieldRow('layout', dragIndex, hoverIndex);\n };\n\n React.useEffect(() => {\n if (lastAction === 'add' && scrollableContainerRef?.current) {\n scrollableContainerRef.current.scrollLeft = scrollableContainerRef.current.scrollWidth;\n }\n }, [lastAction]);\n\n return (\n <Flex alignItems=\"stretch\" direction=\"column\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTranslation('containers.SettingPage.view'),\n defaultMessage: 'View',\n })}\n </Typography>\n\n <Flex padding={4} borderColor=\"neutral300\" borderStyle=\"dashed\" borderWidth=\"1px\" hasRadius>\n <Box flex=\"1\" overflow=\"auto hidden\" ref={scrollableContainerRef}>\n <Flex gap={3}>\n {values.map((field, index) => (\n <DraggableCard\n key={field.name}\n index={index}\n isDraggingSibling={isDraggingSibling}\n onMoveField={handleMoveField}\n onRemoveField={() => handleRemoveField(index)}\n setIsDraggingSibling={setIsDraggingSibling}\n {...field}\n attribute={schema!.attributes[field.name]}\n label={typeof field.label === 'object' ? formatMessage(field.label) : field.label}\n />\n ))}\n </Flex>\n </Box>\n\n <Menu.Root>\n <Menu.Trigger\n paddingLeft={2}\n paddingRight={2}\n justifyContent=\"center\"\n endIcon={null}\n disabled={nonDisplayedFields.length === 0}\n variant=\"tertiary\"\n >\n <VisuallyHidden tag=\"span\">\n {formatMessage({\n id: getTranslation('components.FieldSelect.label'),\n defaultMessage: 'Add a field',\n })}\n </VisuallyHidden>\n <Plus aria-hidden focusable={false} style={{ position: 'relative', top: 2 }} />\n </Menu.Trigger>\n <Menu.Content>\n {nonDisplayedFields.map((field) => (\n <Menu.Item key={field.name} onSelect={() => handleAddField(field)}>\n {typeof field.label === 'object' ? formatMessage(field.label) : field.label}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n </Flex>\n </Flex>\n );\n};\n\nexport { SortDisplayedFields };\nexport type { SortDisplayedFieldsProps };\n","import * as React from 'react';\n\nimport {\n Form,\n type FormProps,\n useNotification,\n useTracking,\n useAPIErrorHandler,\n Page,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport { Divider, Flex, Main } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { Navigate } from 'react-router-dom';\n\nimport { SINGLE_TYPES } from '../../constants/collections';\nimport { useDoc } from '../../hooks/useDocument';\nimport { ListFieldLayout, ListLayout, useDocLayout } from '../../hooks/useDocumentLayout';\nimport { useTypedSelector } from '../../modules/hooks';\nimport { useUpdateContentTypeConfigurationMutation } from '../../services/contentTypes';\nimport { setIn } from '../../utils/objects';\n\nimport { Header } from './components/Header';\nimport { Settings } from './components/Settings';\nimport { SortDisplayedFields } from './components/SortDisplayedFields';\n\nimport type { Metadatas } from '../../../../shared/contracts/content-types';\n\ninterface FormData extends Pick<ListLayout, 'settings'> {\n layout: Array<Pick<ListFieldLayout, 'sortable' | 'name'> & { label: string }>;\n}\n\nconst ListConfiguration = () => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { model, collectionType } = useDoc();\n\n const { isLoading: isLoadingLayout, list, edit } = useDocLayout();\n\n const [updateContentTypeConfiguration] = useUpdateContentTypeConfigurationMutation();\n const handleSubmit: FormProps<FormData>['onSubmit'] = async (data) => {\n try {\n trackUsage('willSaveContentTypeLayout');\n const layoutData = data.layout ?? [];\n /**\n * We reconstruct the metadatas object by taking the existing edit metadatas\n * and re-merging that by attribute name with the current list metadatas, whilst overwriting\n * the data from the form we've built.\n */\n const meta = Object.entries(edit.metadatas).reduce<Metadatas>((acc, [name, editMeta]) => {\n const { mainField: _mainField, ...listMeta } = list.metadatas[name];\n\n const { label, sortable } = layoutData.find((field) => field.name === name) ?? {};\n\n acc[name] = {\n edit: editMeta,\n list: {\n ...listMeta,\n label: label || listMeta.label,\n sortable: sortable || listMeta.sortable,\n },\n };\n\n return acc;\n }, {});\n\n const res = await updateContentTypeConfiguration({\n layouts: {\n edit: edit.layout.flatMap((panel) =>\n panel.map((row) => row.map(({ name, size }) => ({ name, size })))\n ),\n list: layoutData.map((field) => field.name),\n },\n settings: setIn(data.settings, 'displayName', undefined),\n metadatas: meta,\n uid: model,\n });\n\n if ('data' in res) {\n trackUsage('didEditListSettings');\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch (err) {\n console.error(err);\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n const initialValues = React.useMemo(() => {\n return {\n layout: list.layout.map(({ label, sortable, name }) => ({\n label: typeof label === 'string' ? label : formatMessage(label),\n sortable,\n name,\n })),\n settings: list.settings,\n } satisfies FormData;\n }, [formatMessage, list.layout, list.settings]);\n\n if (collectionType === SINGLE_TYPES) {\n return <Navigate to={`/single-types/${model}`} />;\n }\n\n if (isLoadingLayout) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Title>{`Configure ${list.settings.displayName} List View`}</Page.Title>\n <Main>\n <Form initialValues={initialValues} onSubmit={handleSubmit} method=\"PUT\">\n <Header\n collectionType={collectionType}\n model={model}\n name={list.settings.displayName ?? ''}\n />\n <Layouts.Content>\n <Flex\n alignItems=\"stretch\"\n background=\"neutral0\"\n direction=\"column\"\n gap={6}\n hasRadius\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Settings />\n <Divider />\n <SortDisplayedFields />\n </Flex>\n </Layouts.Content>\n </Form>\n </Main>\n </Layouts.Root>\n );\n};\n\nconst ProtectedListConfiguration = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.contentManager?.collectionTypesConfigurations\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListConfiguration />\n </Page.Protect>\n );\n};\n\nexport { ProtectedListConfiguration, ListConfiguration };\nexport type { FormData };\n"],"names":["Header","name","formatMessage","useIntl","params","useParams","modified","useForm","state","isSubmitting","_jsx","Layouts","navigationAction","BackButton","fallback","COLLECTION_TYPES","slug","primaryAction","Button","size","disabled","type","loading","id","defaultMessage","subtitle","getTranslation","title","capitalise","EXCLUDED_SORT_ATTRIBUTE_TYPES","Settings","locale","formatter","useCollator","sensitivity","schema","useDoc","layout","values","currentSortBy","settings","defaultSortBy","onChange","sortOptions","React","useMemo","Object","reduce","acc","field","includes","attributes","push","value","label","sortOptionsSorted","sort","a","b","compare","useEffect","findIndex","opt","formLayout","SETTINGS_FORM_LAYOUT","map","row","hint","undefined","options","_jsxs","Flex","direction","alignItems","gap","Typography","variant","tag","Grid","Root","Item","s","col","InputRenderer","FIELD_SCHEMA","yup","object","shape","string","required","sortable","boolean","EditFieldForm","attribute","onClose","toggleNotification","useNotification","useField","console","error","message","shouldDisplaySortToggle","relation","Modal","Content","Form","method","initialValues","validationSchema","onSubmit","data","HeaderContainer","FieldTypeIcon","Title","fieldName","Body","filter","Footer","onClick","styled","theme","spaces","DraggableCard","index","isDraggingSibling","onMoveField","onRemoveField","setIsDraggingSibling","isModalOpen","setIsModalOpen","useState","forceRerenderAfterDnd","isDragging","objectRef","dropRef","dragRef","dragPreviewRef","useDragAndDrop","ItemTypes","FIELD","item","onMoveItem","onEnd","getEmptyImage","captureDraggingState","prev","composedRefs","useComposedRefs","FieldWrapper","ref","CardDragPreview","isSibling","FieldContainer","borderColor","background","hasRadius","justifyContent","DragButton","aria-label","e","stopPropagation","Drag","fontWeight","paddingLeft","open","onOpenChange","Trigger","ActionButton","Pencil","width","height","data-testid","Cross","button","colors","neutral600","neutral700","neutral150","Box","SortDisplayedFields","model","lastAction","setLastAction","scrollableContainerRef","useRef","addFieldRow","removeFieldRow","moveFieldRow","metadata","allMetadata","useGetContentTypeConfigurationQuery","selectFromResult","contentType","metadatas","nonDisplayedFields","displayedFieldNames","entries","checkIfAttributeIsDisplayable","list","handleAddField","handleRemoveField","handleMoveField","dragIndex","hoverIndex","current","scrollLeft","scrollWidth","padding","borderStyle","borderWidth","flex","overflow","Menu","paddingRight","endIcon","length","VisuallyHidden","Plus","aria-hidden","focusable","style","position","top","onSelect","ListConfiguration","trackUsage","useTracking","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","collectionType","isLoading","isLoadingLayout","edit","useDocLayout","updateContentTypeConfiguration","useUpdateContentTypeConfigurationMutation","handleSubmit","layoutData","meta","editMeta","mainField","_mainField","listMeta","find","res","layouts","flatMap","panel","setIn","uid","err","SINGLE_TYPES","Navigate","to","Page","Loading","displayName","Main","shadow","paddingTop","paddingBottom","Divider","ProtectedListConfiguration","permissions","useTypedSelector","admin_app","contentManager","collectionTypesConfigurations","Protect"],"mappings":"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"}
1
+ {"version":3,"file":"ListConfigurationPage-38s4e-VJ.mjs","sources":["../../../admin/src/pages/ListConfiguration/components/Header.tsx","../../../admin/src/pages/ListConfiguration/components/Settings.tsx","../../../admin/src/pages/ListConfiguration/components/EditFieldForm.tsx","../../../admin/src/pages/ListConfiguration/components/DraggableCard.tsx","../../../admin/src/pages/ListConfiguration/components/SortDisplayedFields.tsx","../../../admin/src/pages/ListConfiguration/ListConfigurationPage.tsx"],"sourcesContent":["import { useForm, BackButton, Layouts } from '@strapi/admin/strapi-admin';\nimport { Button } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { COLLECTION_TYPES } from '../../../constants/collections';\nimport { capitalise } from '../../../utils/strings';\nimport { getTranslation } from '../../../utils/translations';\n\ninterface HeaderProps {\n collectionType: string;\n name: string;\n model: string;\n}\n\nconst Header = ({ name }: HeaderProps) => {\n const { formatMessage } = useIntl();\n const params = useParams<{ slug: string }>();\n\n const modified = useForm('Header', (state) => state.modified);\n const isSubmitting = useForm('Header', (state) => state.isSubmitting);\n\n return (\n <Layouts.Header\n navigationAction={<BackButton fallback={`../${COLLECTION_TYPES}/${params.slug}`} />}\n primaryAction={\n <Button size=\"S\" disabled={!modified} type=\"submit\" loading={isSubmitting}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n subtitle={formatMessage({\n id: getTranslation('components.SettingsViewWrapper.pluginHeader.description.list-settings'),\n defaultMessage: 'Define the settings of the list view.',\n })}\n title={formatMessage(\n {\n id: getTranslation('components.SettingsViewWrapper.pluginHeader.title'),\n defaultMessage: 'Configure the view - {name}',\n },\n { name: capitalise(name) }\n )}\n />\n );\n};\n\nexport { Header };\nexport type { HeaderProps };\n","import * as React from 'react';\n\nimport { useForm, InputRenderer, type InputProps } from '@strapi/admin/strapi-admin';\nimport { Flex, Grid, Typography, useCollator } from '@strapi/design-system';\nimport { type MessageDescriptor, useIntl } from 'react-intl';\n\nimport { useDoc } from '../../../hooks/useDocument';\nimport { type EditFieldLayout } from '../../../hooks/useDocumentLayout';\nimport { getTranslation } from '../../../utils/translations';\nimport { type FormData } from '../ListConfigurationPage';\n\nimport type { DistributiveOmit } from 'react-redux';\n\nexport type InputPropsWithMessageDescriptors = DistributiveOmit<\n InputProps,\n 'hint' | 'label' | 'placeholder'\n> & {\n hint?: MessageDescriptor;\n label: MessageDescriptor;\n placeholder?: MessageDescriptor;\n};\n\n/**\n * @internal\n * @description Form inputs are always displayed in a grid, so we need\n * to use the size property to determine how many columns the input should\n * take up.\n */\nexport type FormLayoutInputProps = InputPropsWithMessageDescriptors & { size: number };\n\nconst EXCLUDED_SORT_ATTRIBUTE_TYPES = [\n 'media',\n 'richtext',\n 'dynamiczone',\n 'relation',\n 'component',\n 'json',\n 'blocks',\n];\n\ninterface SortOption {\n value: string;\n label: string;\n}\n\nconst Settings = () => {\n const { formatMessage, locale } = useIntl();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n const { schema } = useDoc();\n\n const layout = useForm<FormData['layout']>('Settings', (state) => state.values.layout ?? []);\n const currentSortBy = useForm<FormData['settings']['defaultSortBy']>(\n 'Settings',\n (state) => state.values.settings.defaultSortBy\n );\n const onChange = useForm('Settings', (state) => state.onChange);\n\n const sortOptions = React.useMemo(\n () =>\n Object.values(layout).reduce<SortOption[]>((acc, field) => {\n if (schema && !EXCLUDED_SORT_ATTRIBUTE_TYPES.includes(schema.attributes[field.name].type)) {\n acc.push({\n value: field.name,\n label: typeof field.label !== 'string' ? formatMessage(field.label) : field.label,\n });\n }\n\n return acc;\n }, []),\n [formatMessage, layout, schema]\n );\n\n const sortOptionsSorted = sortOptions.sort((a, b) => formatter.compare(a.label, b.label));\n\n React.useEffect(() => {\n if (sortOptionsSorted.findIndex((opt) => opt.value === currentSortBy) === -1) {\n onChange('settings.defaultSortBy', sortOptionsSorted[0]?.value);\n }\n }, [currentSortBy, onChange, sortOptionsSorted]);\n\n const formLayout = React.useMemo(\n () =>\n SETTINGS_FORM_LAYOUT.map((row) =>\n row.map((field) => {\n if (field.type === 'enumeration') {\n return {\n ...field,\n hint: field.hint ? formatMessage(field.hint) : undefined,\n label: formatMessage(field.label),\n options: field.name === 'settings.defaultSortBy' ? sortOptionsSorted : field.options,\n };\n } else {\n return {\n ...field,\n hint: field.hint ? formatMessage(field.hint) : undefined,\n label: formatMessage(field.label),\n };\n }\n })\n ) as [top: EditFieldLayout[], bottom: EditFieldLayout[]],\n [formatMessage, sortOptionsSorted]\n );\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTranslation('containers.SettingPage.settings'),\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid.Root key=\"bottom\" gap={4}>\n {formLayout.map((row) =>\n row.map(({ size, ...field }) => (\n <Grid.Item key={field.name} s={12} col={size} direction=\"column\" alignItems=\"stretch\">\n {/* @ts-expect-error – issue with EnumerationProps conflicting with InputProps */}\n <InputRenderer {...field} />\n </Grid.Item>\n ))\n )}\n </Grid.Root>\n </Flex>\n );\n};\n\nconst SETTINGS_FORM_LAYOUT: FormLayoutInputProps[][] = [\n [\n {\n label: {\n id: getTranslation('form.Input.search'),\n defaultMessage: 'Enable search',\n },\n name: 'settings.searchable',\n size: 4,\n type: 'boolean' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.filters'),\n defaultMessage: 'Enable filters',\n },\n name: 'settings.filterable',\n size: 4,\n type: 'boolean' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.bulkActions'),\n defaultMessage: 'Enable bulk actions',\n },\n name: 'settings.bulkable',\n size: 4,\n type: 'boolean' as const,\n },\n ],\n [\n {\n hint: {\n id: getTranslation('form.Input.pageEntries.inputDescription'),\n defaultMessage: 'Note: You can override this value in the Collection Type settings page.',\n },\n label: {\n id: getTranslation('form.Input.pageEntries'),\n defaultMessage: 'Entries per page',\n },\n name: 'settings.pageSize',\n options: ['10', '20', '50', '100'].map((value) => ({ value, label: value })),\n size: 6,\n type: 'enumeration' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.defaultSort'),\n defaultMessage: 'Default sort attribute',\n },\n name: 'settings.defaultSortBy',\n options: [],\n size: 3,\n type: 'enumeration' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.sort.order'),\n defaultMessage: 'Default sort order',\n },\n name: 'settings.defaultSortOrder',\n options: ['ASC', 'DESC'].map((value) => ({ value, label: value })),\n size: 3,\n type: 'enumeration' as const,\n },\n ],\n];\n\nexport { Settings };\n","import { Form, useField, InputRenderer, useNotification } from '@strapi/admin/strapi-admin';\nimport { Button, Flex, FlexComponent, Grid, Modal } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { FieldTypeIcon } from '../../../components/FieldTypeIcon';\nimport { capitalise } from '../../../utils/strings';\nimport { getTranslation } from '../../../utils/translations';\n\nimport type { ListFieldLayout } from '../../../hooks/useDocumentLayout';\nimport type { FormData } from '../ListConfigurationPage';\n\ninterface EditFieldFormProps extends Pick<ListFieldLayout, 'attribute'> {\n name: string;\n onClose: () => void;\n}\n\nconst FIELD_SCHEMA = yup.object().shape({\n label: yup.string().required(),\n sortable: yup.boolean(),\n});\n\nconst EditFieldForm = ({ attribute, name, onClose }: EditFieldFormProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n\n const { value, onChange } = useField<FormData['layout'][number]>(name);\n\n if (!value) {\n // This is very unlikely to happen, but it ensures the form is not opened without a value.\n console.error(\n \"You've opened a field to edit without it being part of the form, this is likely a bug with Strapi. Please open an issue.\"\n );\n\n toggleNotification({\n message: formatMessage({\n id: 'content-manager.containers.list-settings.modal-form.error',\n defaultMessage: 'An error occurred while trying to open the form.',\n }),\n type: 'danger',\n });\n\n return null;\n }\n\n let shouldDisplaySortToggle = !['media', 'relation'].includes(attribute.type);\n\n if ('relation' in attribute && ['oneWay', 'oneToOne', 'manyToOne'].includes(attribute.relation)) {\n shouldDisplaySortToggle = true;\n }\n\n return (\n <Modal.Content>\n <Form\n method=\"PUT\"\n initialValues={value}\n validationSchema={FIELD_SCHEMA}\n onSubmit={(data) => {\n onChange(name, data);\n onClose();\n }}\n >\n <Modal.Header>\n <HeaderContainer>\n {/* @ts-expect-error attribute.type === custom does not work here */}\n <FieldTypeIcon type={attribute.type} />\n <Modal.Title>\n {formatMessage(\n {\n id: getTranslation('containers.list-settings.modal-form.label'),\n defaultMessage: 'Edit {fieldName}',\n },\n { fieldName: capitalise(value.label) }\n )}\n </Modal.Title>\n </HeaderContainer>\n </Modal.Header>\n <Modal.Body>\n <Grid.Root gap={4}>\n {[\n {\n name: 'label',\n label: formatMessage({\n id: getTranslation('form.Input.label'),\n defaultMessage: 'Label',\n }),\n hint: formatMessage({\n id: getTranslation('form.Input.label.inputDescription'),\n defaultMessage: \"This value overrides the label displayed in the table's head\",\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: getTranslation('form.Input.sort.field'),\n defaultMessage: 'Enable sort on this field',\n }),\n name: 'sortable',\n size: 6,\n type: 'boolean' as const,\n },\n ]\n .filter(\n (field) =>\n field.name !== 'sortable' ||\n (field.name === 'sortable' && shouldDisplaySortToggle)\n )\n .map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n s={12}\n col={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Button type=\"submit\">\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Modal.Footer>\n </Form>\n </Modal.Content>\n );\n};\n\nconst HeaderContainer = styled<FlexComponent>(Flex)`\n svg {\n width: 3.2rem;\n margin-right: ${({ theme }) => theme.spaces[3]};\n }\n`;\n\nexport { EditFieldForm };\nexport type { EditFieldFormProps };\n","import * as React from 'react';\n\nimport {\n Box,\n BoxComponent,\n Flex,\n FlexComponent,\n Modal,\n Typography,\n useComposedRefs,\n} from '@strapi/design-system';\nimport { Cross, Drag, Pencil } from '@strapi/icons';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { CardDragPreview } from '../../../components/DragPreviews/CardDragPreview';\nimport { ItemTypes } from '../../../constants/dragAndDrop';\nimport { useDragAndDrop } from '../../../hooks/useDragAndDrop';\nimport { getTranslation } from '../../../utils/translations';\n\nimport { EditFieldForm } from './EditFieldForm';\n\nimport type { ListFieldLayout } from '../../../hooks/useDocumentLayout';\n\ntype DraggableCardProps = Omit<ListFieldLayout, 'label'> & {\n label: string;\n index: number;\n isDraggingSibling: boolean;\n onMoveField: (dragIndex: number, hoverIndex: number) => void;\n onRemoveField: () => void;\n setIsDraggingSibling: (isDragging: boolean) => void;\n};\n\nconst DraggableCard = ({\n attribute,\n index,\n isDraggingSibling,\n label,\n name,\n onMoveField,\n onRemoveField,\n setIsDraggingSibling,\n}: DraggableCardProps) => {\n const [isModalOpen, setIsModalOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n const [, forceRerenderAfterDnd] = React.useState(false);\n\n const [{ isDragging }, objectRef, dropRef, dragRef, dragPreviewRef] = useDragAndDrop(true, {\n type: ItemTypes.FIELD,\n item: { index, label, name },\n index,\n onMoveItem: onMoveField,\n onEnd: () => setIsDraggingSibling(false),\n });\n\n React.useEffect(() => {\n dragPreviewRef(getEmptyImage(), { captureDraggingState: false });\n }, [dragPreviewRef]);\n\n React.useEffect(() => {\n if (isDragging) {\n setIsDraggingSibling(true);\n }\n }, [isDragging, setIsDraggingSibling]);\n\n // Effect in order to force a rerender after reordering the components\n // Since we are removing the Accordion when doing the DnD we are losing the dragRef, therefore the replaced element cannot be dragged\n // anymore, this hack forces a rerender in order to apply the dragRef\n React.useEffect(() => {\n if (!isDraggingSibling) {\n forceRerenderAfterDnd((prev) => !prev);\n }\n }, [isDraggingSibling]);\n\n const composedRefs = useComposedRefs<HTMLButtonElement>(\n dropRef,\n objectRef as React.RefObject<HTMLButtonElement>\n );\n\n return (\n <FieldWrapper ref={composedRefs}>\n {isDragging && <CardDragPreview label={label} />}\n {!isDragging && isDraggingSibling && <CardDragPreview isSibling label={label} />}\n\n {!isDragging && !isDraggingSibling && (\n <FieldContainer\n borderColor=\"neutral150\"\n background=\"neutral100\"\n hasRadius\n justifyContent=\"space-between\"\n onClick={() => setIsModalOpen(true)}\n >\n <Flex gap={3}>\n <DragButton\n ref={dragRef}\n aria-label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.move.field'),\n defaultMessage: 'Move {item}',\n },\n { item: label }\n )}\n onClick={(e) => e.stopPropagation()}\n >\n <Drag />\n </DragButton>\n <Typography fontWeight=\"bold\">{label}</Typography>\n </Flex>\n <Flex paddingLeft={3} onClick={(e) => e.stopPropagation()}>\n <Modal.Root open={isModalOpen} onOpenChange={setIsModalOpen}>\n <Modal.Trigger>\n <ActionButton\n onClick={(e) => {\n e.stopPropagation();\n }}\n aria-label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.edit.field'),\n defaultMessage: 'Edit {item}',\n },\n { item: label }\n )}\n type=\"button\"\n >\n <Pencil width=\"1.2rem\" height=\"1.2rem\" />\n </ActionButton>\n </Modal.Trigger>\n <EditFieldForm\n attribute={attribute}\n name={`layout.${index}`}\n onClose={() => {\n setIsModalOpen(false);\n }}\n />\n </Modal.Root>\n <ActionButton\n onClick={onRemoveField}\n data-testid={`delete-${name}`}\n aria-label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.delete.field'),\n defaultMessage: 'Delete {item}',\n },\n { item: label }\n )}\n type=\"button\"\n >\n <Cross width=\"1.2rem\" height=\"1.2rem\" />\n </ActionButton>\n </Flex>\n </FieldContainer>\n )}\n </FieldWrapper>\n );\n};\n\nconst ActionButton = styled.button`\n display: flex;\n align-items: center;\n height: ${({ theme }) => theme.spaces[7]};\n color: ${({ theme }) => theme.colors.neutral600};\n\n &:hover {\n color: ${({ theme }) => theme.colors.neutral700};\n }\n\n &:last-child {\n padding: 0 ${({ theme }) => theme.spaces[3]};\n }\n`;\n\nconst DragButton = styled(ActionButton)`\n padding: 0 ${({ theme }) => theme.spaces[3]};\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n cursor: all-scroll;\n`;\n\nconst FieldContainer = styled<FlexComponent>(Flex)`\n max-height: 3.2rem;\n cursor: pointer;\n`;\n\nconst FieldWrapper = styled<BoxComponent>(Box)`\n &:last-child {\n padding-right: ${({ theme }) => theme.spaces[3]};\n }\n`;\n\nexport { DraggableCard };\nexport type { DraggableCardProps };\n","import * as React from 'react';\n\nimport { useForm } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, VisuallyHidden, Typography, Menu } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useDoc } from '../../../hooks/useDocument';\nimport { useGetContentTypeConfigurationQuery } from '../../../services/contentTypes';\nimport { checkIfAttributeIsDisplayable } from '../../../utils/attributes';\nimport { getTranslation } from '../../../utils/translations';\n\nimport { DraggableCard, DraggableCardProps } from './DraggableCard';\n\nimport type { ListLayout } from '../../../hooks/useDocumentLayout';\nimport type { FormData } from '../ListConfigurationPage';\n\ninterface SortDisplayedFieldsProps extends Pick<ListLayout, 'layout'> {}\n\nconst SortDisplayedFields = () => {\n const { formatMessage } = useIntl();\n const { model, schema } = useDoc();\n const [isDraggingSibling, setIsDraggingSibling] = React.useState(false);\n const [lastAction, setLastAction] = React.useState<string | null>(null);\n const scrollableContainerRef = React.useRef<HTMLDivElement>(null);\n\n const values = useForm<FormData['layout']>(\n 'SortDisplayedFields',\n (state) => state.values.layout ?? []\n );\n const addFieldRow = useForm('SortDisplayedFields', (state) => state.addFieldRow);\n const removeFieldRow = useForm('SortDisplayedFields', (state) => state.removeFieldRow);\n const moveFieldRow = useForm('SortDisplayedFields', (state) => state.moveFieldRow);\n\n const { metadata: allMetadata } = useGetContentTypeConfigurationQuery(model, {\n selectFromResult: ({ data }) => ({ metadata: data?.contentType.metadatas ?? {} }),\n });\n\n /**\n * This is our list of fields that are not displayed in the current layout\n * so we create their default state to be added to the layout.\n */\n const nonDisplayedFields = React.useMemo(() => {\n if (!schema) {\n return [];\n }\n\n const displayedFieldNames = values.map((field) => field.name);\n\n return Object.entries(schema.attributes).reduce<Array<FormData['layout'][number]>>(\n (acc, [name, attribute]) => {\n if (!displayedFieldNames.includes(name) && checkIfAttributeIsDisplayable(attribute)) {\n const { list: metadata } = allMetadata[name];\n\n acc.push({\n name,\n label: metadata.label || name,\n sortable: metadata.sortable,\n });\n }\n\n return acc;\n },\n []\n );\n }, [allMetadata, values, schema]);\n\n const handleAddField = (field: FormData['layout'][number]) => {\n setLastAction('add');\n addFieldRow('layout', field);\n };\n\n const handleRemoveField = (index: number) => {\n setLastAction('remove');\n removeFieldRow('layout', index);\n };\n\n const handleMoveField: DraggableCardProps['onMoveField'] = (dragIndex, hoverIndex) => {\n moveFieldRow('layout', dragIndex, hoverIndex);\n };\n\n React.useEffect(() => {\n if (lastAction === 'add' && scrollableContainerRef?.current) {\n scrollableContainerRef.current.scrollLeft = scrollableContainerRef.current.scrollWidth;\n }\n }, [lastAction]);\n\n return (\n <Flex alignItems=\"stretch\" direction=\"column\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTranslation('containers.SettingPage.view'),\n defaultMessage: 'View',\n })}\n </Typography>\n\n <Flex padding={4} borderColor=\"neutral300\" borderStyle=\"dashed\" borderWidth=\"1px\" hasRadius>\n <Box flex=\"1\" overflow=\"auto hidden\" ref={scrollableContainerRef}>\n <Flex gap={3}>\n {values.map((field, index) => (\n <DraggableCard\n key={field.name}\n index={index}\n isDraggingSibling={isDraggingSibling}\n onMoveField={handleMoveField}\n onRemoveField={() => handleRemoveField(index)}\n setIsDraggingSibling={setIsDraggingSibling}\n {...field}\n attribute={schema!.attributes[field.name]}\n label={typeof field.label === 'object' ? formatMessage(field.label) : field.label}\n />\n ))}\n </Flex>\n </Box>\n\n <Menu.Root>\n <Menu.Trigger\n paddingLeft={2}\n paddingRight={2}\n justifyContent=\"center\"\n endIcon={null}\n disabled={nonDisplayedFields.length === 0}\n variant=\"tertiary\"\n >\n <VisuallyHidden tag=\"span\">\n {formatMessage({\n id: getTranslation('components.FieldSelect.label'),\n defaultMessage: 'Add a field',\n })}\n </VisuallyHidden>\n <Plus aria-hidden focusable={false} style={{ position: 'relative', top: 2 }} />\n </Menu.Trigger>\n <Menu.Content>\n {nonDisplayedFields.map((field) => (\n <Menu.Item key={field.name} onSelect={() => handleAddField(field)}>\n {typeof field.label === 'object' ? formatMessage(field.label) : field.label}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n </Flex>\n </Flex>\n );\n};\n\nexport { SortDisplayedFields };\nexport type { SortDisplayedFieldsProps };\n","import * as React from 'react';\n\nimport {\n Form,\n type FormProps,\n useNotification,\n useTracking,\n useAPIErrorHandler,\n Page,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport { Divider, Flex, Main } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { Navigate } from 'react-router-dom';\n\nimport { SINGLE_TYPES } from '../../constants/collections';\nimport { useDoc } from '../../hooks/useDocument';\nimport { ListFieldLayout, ListLayout, useDocLayout } from '../../hooks/useDocumentLayout';\nimport { useTypedSelector } from '../../modules/hooks';\nimport { useUpdateContentTypeConfigurationMutation } from '../../services/contentTypes';\nimport { setIn } from '../../utils/objects';\n\nimport { Header } from './components/Header';\nimport { Settings } from './components/Settings';\nimport { SortDisplayedFields } from './components/SortDisplayedFields';\n\nimport type { Metadatas } from '../../../../shared/contracts/content-types';\n\ninterface FormData extends Pick<ListLayout, 'settings'> {\n layout: Array<Pick<ListFieldLayout, 'sortable' | 'name'> & { label: string }>;\n}\n\nconst ListConfiguration = () => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { model, collectionType } = useDoc();\n\n const { isLoading: isLoadingLayout, list, edit } = useDocLayout();\n\n const [updateContentTypeConfiguration] = useUpdateContentTypeConfigurationMutation();\n const handleSubmit: FormProps<FormData>['onSubmit'] = async (data) => {\n try {\n trackUsage('willSaveContentTypeLayout');\n const layoutData = data.layout ?? [];\n /**\n * We reconstruct the metadatas object by taking the existing edit metadatas\n * and re-merging that by attribute name with the current list metadatas, whilst overwriting\n * the data from the form we've built.\n */\n const meta = Object.entries(edit.metadatas).reduce<Metadatas>((acc, [name, editMeta]) => {\n const { mainField: _mainField, ...listMeta } = list.metadatas[name];\n\n const { label, sortable } = layoutData.find((field) => field.name === name) ?? {};\n\n acc[name] = {\n edit: editMeta,\n list: {\n ...listMeta,\n label: label || listMeta.label,\n sortable: sortable || listMeta.sortable,\n },\n };\n\n return acc;\n }, {});\n\n const res = await updateContentTypeConfiguration({\n layouts: {\n edit: edit.layout.flatMap((panel) =>\n panel.map((row) => row.map(({ name, size }) => ({ name, size })))\n ),\n list: layoutData.map((field) => field.name),\n },\n settings: setIn(data.settings, 'displayName', undefined),\n metadatas: meta,\n uid: model,\n });\n\n if ('data' in res) {\n trackUsage('didEditListSettings');\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch (err) {\n console.error(err);\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n const initialValues = React.useMemo(() => {\n return {\n layout: list.layout.map(({ label, sortable, name }) => ({\n label: typeof label === 'string' ? label : formatMessage(label),\n sortable,\n name,\n })),\n settings: list.settings,\n } satisfies FormData;\n }, [formatMessage, list.layout, list.settings]);\n\n if (collectionType === SINGLE_TYPES) {\n return <Navigate to={`/single-types/${model}`} />;\n }\n\n if (isLoadingLayout) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Title>{`Configure ${list.settings.displayName} List View`}</Page.Title>\n <Main>\n <Form initialValues={initialValues} onSubmit={handleSubmit} method=\"PUT\">\n <Header\n collectionType={collectionType}\n model={model}\n name={list.settings.displayName ?? ''}\n />\n <Layouts.Content>\n <Flex\n alignItems=\"stretch\"\n background=\"neutral0\"\n direction=\"column\"\n gap={6}\n hasRadius\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Settings />\n <Divider />\n <SortDisplayedFields />\n </Flex>\n </Layouts.Content>\n </Form>\n </Main>\n </Layouts.Root>\n );\n};\n\nconst ProtectedListConfiguration = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.contentManager?.collectionTypesConfigurations\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListConfiguration />\n </Page.Protect>\n );\n};\n\nexport { ProtectedListConfiguration, ListConfiguration };\nexport type { FormData };\n"],"names":["Header","name","formatMessage","useIntl","params","useParams","modified","useForm","state","isSubmitting","_jsx","Layouts","navigationAction","BackButton","fallback","COLLECTION_TYPES","slug","primaryAction","Button","size","disabled","type","loading","id","defaultMessage","subtitle","getTranslation","title","capitalise","EXCLUDED_SORT_ATTRIBUTE_TYPES","Settings","locale","formatter","useCollator","sensitivity","schema","useDoc","layout","values","currentSortBy","settings","defaultSortBy","onChange","sortOptions","React","useMemo","Object","reduce","acc","field","includes","attributes","push","value","label","sortOptionsSorted","sort","a","b","compare","useEffect","findIndex","opt","formLayout","SETTINGS_FORM_LAYOUT","map","row","hint","undefined","options","_jsxs","Flex","direction","alignItems","gap","Typography","variant","tag","Grid","Root","Item","s","col","InputRenderer","FIELD_SCHEMA","yup","object","shape","string","required","sortable","boolean","EditFieldForm","attribute","onClose","toggleNotification","useNotification","useField","console","error","message","shouldDisplaySortToggle","relation","Modal","Content","Form","method","initialValues","validationSchema","onSubmit","data","HeaderContainer","FieldTypeIcon","Title","fieldName","Body","filter","Footer","onClick","styled","theme","spaces","DraggableCard","index","isDraggingSibling","onMoveField","onRemoveField","setIsDraggingSibling","isModalOpen","setIsModalOpen","useState","forceRerenderAfterDnd","isDragging","objectRef","dropRef","dragRef","dragPreviewRef","useDragAndDrop","ItemTypes","FIELD","item","onMoveItem","onEnd","getEmptyImage","captureDraggingState","prev","composedRefs","useComposedRefs","FieldWrapper","ref","CardDragPreview","isSibling","FieldContainer","borderColor","background","hasRadius","justifyContent","DragButton","aria-label","e","stopPropagation","Drag","fontWeight","paddingLeft","open","onOpenChange","Trigger","ActionButton","Pencil","width","height","data-testid","Cross","button","colors","neutral600","neutral700","neutral150","Box","SortDisplayedFields","model","lastAction","setLastAction","scrollableContainerRef","useRef","addFieldRow","removeFieldRow","moveFieldRow","metadata","allMetadata","useGetContentTypeConfigurationQuery","selectFromResult","contentType","metadatas","nonDisplayedFields","displayedFieldNames","entries","checkIfAttributeIsDisplayable","list","handleAddField","handleRemoveField","handleMoveField","dragIndex","hoverIndex","current","scrollLeft","scrollWidth","padding","borderStyle","borderWidth","flex","overflow","Menu","paddingRight","endIcon","length","VisuallyHidden","Plus","aria-hidden","focusable","style","position","top","onSelect","ListConfiguration","trackUsage","useTracking","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","collectionType","isLoading","isLoadingLayout","edit","useDocLayout","updateContentTypeConfiguration","useUpdateContentTypeConfigurationMutation","handleSubmit","layoutData","meta","editMeta","mainField","_mainField","listMeta","find","res","layouts","flatMap","panel","setIn","uid","err","SINGLE_TYPES","Navigate","to","Page","Loading","displayName","Main","shadow","paddingTop","paddingBottom","Divider","ProtectedListConfiguration","permissions","useTypedSelector","admin_app","contentManager","collectionTypesConfigurations","Protect"],"mappings":"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"}
@@ -6,7 +6,7 @@ var strapiAdmin = require('@strapi/admin/strapi-admin');
6
6
  var designSystem = require('@strapi/design-system');
7
7
  var reactIntl = require('react-intl');
8
8
  var reactRouterDom = require('react-router-dom');
9
- var index = require('./index-BHimg6jW.js');
9
+ var index = require('./index-CGBB9Dho.js');
10
10
  var hooks = require('./hooks-D-sOYd1s.js');
11
11
  var objects = require('./objects-C3EebVVe.js');
12
12
  var Icons = require('@strapi/icons');
@@ -816,4 +816,4 @@ const ProtectedListConfiguration = ()=>{
816
816
 
817
817
  exports.ListConfiguration = ListConfiguration;
818
818
  exports.ProtectedListConfiguration = ProtectedListConfiguration;
819
- //# sourceMappingURL=ListConfigurationPage-71I_stAM.js.map
819
+ //# sourceMappingURL=ListConfigurationPage-DfnrA3dw.js.map