@strapi/content-manager 5.30.0 → 5.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/dist/admin/components/ComponentIcon.js +3 -0
  2. package/dist/admin/components/ComponentIcon.js.map +1 -1
  3. package/dist/admin/components/ComponentIcon.mjs +3 -0
  4. package/dist/admin/components/ComponentIcon.mjs.map +1 -1
  5. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  6. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  7. package/dist/admin/components/RelativeTime.js.map +1 -1
  8. package/dist/admin/components/RelativeTime.mjs.map +1 -1
  9. package/dist/admin/components/Widgets.js.map +1 -1
  10. package/dist/admin/components/Widgets.mjs.map +1 -1
  11. package/dist/admin/content-manager.js.map +1 -1
  12. package/dist/admin/content-manager.mjs.map +1 -1
  13. package/dist/admin/history/components/HistoryAction.js.map +1 -1
  14. package/dist/admin/history/components/HistoryAction.mjs.map +1 -1
  15. package/dist/admin/history/components/VersionHeader.js.map +1 -1
  16. package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
  17. package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
  18. package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
  19. package/dist/admin/history/components/VersionsList.js.map +1 -1
  20. package/dist/admin/history/components/VersionsList.mjs.map +1 -1
  21. package/dist/admin/history/pages/History.js.map +1 -1
  22. package/dist/admin/history/pages/History.mjs.map +1 -1
  23. package/dist/admin/history/services/historyVersion.js.map +1 -1
  24. package/dist/admin/history/services/historyVersion.mjs.map +1 -1
  25. package/dist/admin/hooks/useContentManagerInitData.js.map +1 -1
  26. package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -1
  27. package/dist/admin/hooks/useDocumentActions.js +24 -5
  28. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  29. package/dist/admin/hooks/useDocumentActions.mjs +24 -5
  30. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  31. package/dist/admin/index.js.map +1 -1
  32. package/dist/admin/index.mjs.map +1 -1
  33. package/dist/admin/pages/EditView/components/DocumentActions.js +5 -3
  34. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  35. package/dist/admin/pages/EditView/components/DocumentActions.mjs +5 -3
  36. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  37. package/dist/admin/pages/EditView/components/DocumentStatus.js.map +1 -1
  38. package/dist/admin/pages/EditView/components/DocumentStatus.mjs.map +1 -1
  39. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js.map +1 -1
  40. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs.map +1 -1
  41. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js.map +1 -1
  42. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs.map +1 -1
  43. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js.map +1 -1
  44. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs.map +1 -1
  45. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  46. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  48. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  49. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js.map +1 -1
  50. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -1
  51. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  52. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  53. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  54. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  55. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  56. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  57. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
  58. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
  59. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +1 -0
  60. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  61. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +1 -0
  62. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  63. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  64. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  65. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  66. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  67. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
  68. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
  69. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js.map +1 -1
  70. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs.map +1 -1
  71. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js.map +1 -1
  72. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs.map +1 -1
  73. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -1
  74. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
  75. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  76. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  77. package/dist/admin/pages/EditView/components/Header.js.map +1 -1
  78. package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
  79. package/dist/admin/pages/EditView/components/InputRenderer.js +19 -17
  80. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  81. package/dist/admin/pages/EditView/components/InputRenderer.mjs +19 -17
  82. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  83. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  84. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  85. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -1
  86. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -1
  87. package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -1
  88. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -1
  89. package/dist/admin/pages/ListConfiguration/components/Header.js.map +1 -1
  90. package/dist/admin/pages/ListConfiguration/components/Header.mjs.map +1 -1
  91. package/dist/admin/pages/ListView/ListViewPage.js +0 -2
  92. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  93. package/dist/admin/pages/ListView/ListViewPage.mjs +0 -2
  94. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  95. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js.map +1 -1
  96. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs.map +1 -1
  97. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  98. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  99. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  100. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  101. package/dist/admin/pages/ListView/components/TableCells/Media.js.map +1 -1
  102. package/dist/admin/pages/ListView/components/TableCells/Media.mjs.map +1 -1
  103. package/dist/admin/preview/services/preview.js.map +1 -1
  104. package/dist/admin/preview/services/preview.mjs.map +1 -1
  105. package/dist/admin/preview/utils/fieldUtils.js.map +1 -1
  106. package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -1
  107. package/dist/admin/preview/utils/previewScript.js.map +1 -1
  108. package/dist/admin/preview/utils/previewScript.mjs.map +1 -1
  109. package/dist/admin/router.js.map +1 -1
  110. package/dist/admin/router.mjs.map +1 -1
  111. package/dist/admin/services/documents.js.map +1 -1
  112. package/dist/admin/services/documents.mjs.map +1 -1
  113. package/dist/admin/services/homepage.js.map +1 -1
  114. package/dist/admin/services/homepage.mjs.map +1 -1
  115. package/dist/admin/services/relations.js.map +1 -1
  116. package/dist/admin/services/relations.mjs.map +1 -1
  117. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  118. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  119. package/dist/admin/src/services/api.d.ts +1 -1
  120. package/dist/admin/src/services/components.d.ts +2 -2
  121. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  122. package/dist/admin/src/services/documents.d.ts +16 -16
  123. package/dist/admin/src/services/homepage.d.ts +1 -1
  124. package/dist/admin/src/services/init.d.ts +1 -1
  125. package/dist/admin/src/services/relations.d.ts +2 -2
  126. package/dist/admin/src/services/uid.d.ts +3 -3
  127. package/dist/admin/translations/fr.json.js +1 -1
  128. package/dist/admin/translations/fr.json.mjs +1 -1
  129. package/dist/admin/utils/translations.js.map +1 -1
  130. package/dist/admin/utils/translations.mjs.map +1 -1
  131. package/dist/admin/utils/urls.js.map +1 -1
  132. package/dist/admin/utils/urls.mjs.map +1 -1
  133. package/dist/admin/utils/users.js.map +1 -1
  134. package/dist/admin/utils/users.mjs.map +1 -1
  135. package/dist/admin/utils/validation.js.map +1 -1
  136. package/dist/admin/utils/validation.mjs.map +1 -1
  137. package/dist/server/controllers/relations.js.map +1 -1
  138. package/dist/server/controllers/relations.mjs.map +1 -1
  139. package/dist/server/controllers/single-types.js +3 -1
  140. package/dist/server/controllers/single-types.js.map +1 -1
  141. package/dist/server/controllers/single-types.mjs +3 -1
  142. package/dist/server/controllers/single-types.mjs.map +1 -1
  143. package/dist/server/controllers/validation/dimensions.js.map +1 -1
  144. package/dist/server/controllers/validation/dimensions.mjs.map +1 -1
  145. package/dist/server/controllers/validation/index.js.map +1 -1
  146. package/dist/server/controllers/validation/index.mjs.map +1 -1
  147. package/dist/server/history/utils.js.map +1 -1
  148. package/dist/server/history/utils.mjs.map +1 -1
  149. package/dist/server/homepage/services/homepage.js.map +1 -1
  150. package/dist/server/homepage/services/homepage.mjs.map +1 -1
  151. package/dist/server/middlewares/routing.js.map +1 -1
  152. package/dist/server/middlewares/routing.mjs.map +1 -1
  153. package/dist/server/preview/services/preview.js.map +1 -1
  154. package/dist/server/preview/services/preview.mjs.map +1 -1
  155. package/dist/server/preview/utils.js.map +1 -1
  156. package/dist/server/preview/utils.mjs.map +1 -1
  157. package/dist/server/services/configuration.js.map +1 -1
  158. package/dist/server/services/configuration.mjs.map +1 -1
  159. package/dist/server/services/document-metadata.js +23 -1
  160. package/dist/server/services/document-metadata.js.map +1 -1
  161. package/dist/server/services/document-metadata.mjs +23 -1
  162. package/dist/server/services/document-metadata.mjs.map +1 -1
  163. package/dist/server/services/field-sizes.js.map +1 -1
  164. package/dist/server/services/field-sizes.mjs.map +1 -1
  165. package/dist/server/services/uid.js.map +1 -1
  166. package/dist/server/services/uid.mjs.map +1 -1
  167. package/dist/server/services/utils/store.js.map +1 -1
  168. package/dist/server/services/utils/store.mjs.map +1 -1
  169. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  170. package/package.json +6 -6
@@ -91,6 +91,9 @@ const COMPONENT_ICONS = {
91
91
  file: Icons__namespace.File,
92
92
  fileError: Icons__namespace.FileError,
93
93
  filePdf: Icons__namespace.FilePdf,
94
+ fileXls: Icons__namespace.FileXls,
95
+ fileZip: Icons__namespace.FileZip,
96
+ fileCsv: Icons__namespace.FileCsv,
94
97
  filter: Icons__namespace.Filter,
95
98
  folder: Icons__namespace.Folder,
96
99
  gate: Icons__namespace.CastleTurret,
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentIcon.js","sources":["../../../admin/src/components/ComponentIcon.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, FlexProps } from '@strapi/design-system';\nimport * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nimport type { Struct } from '@strapi/types';\n\ninterface ComponentIconProps extends FlexProps {\n showBackground?: boolean;\n icon?: Struct.ContentTypeSchemaInfo['icon'];\n}\n\nconst ComponentIcon = ({\n showBackground = true,\n icon = 'dashboard',\n ...props\n}: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon as keyof typeof COMPONENT_ICONS] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={showBackground ? 'neutral200' : undefined}\n justifyContent=\"center\"\n height={8}\n width={8}\n color=\"neutral600\"\n borderRadius={showBackground ? '50%' : 0}\n {...props}\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n\nconst COMPONENT_ICONS: Record<string, React.ComponentType<any>> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { ComponentIcon, COMPONENT_ICONS };\nexport type { ComponentIconProps };\n"],"names":["ComponentIcon","showBackground","icon","props","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","undefined","justifyContent","height","width","color","borderRadius","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":"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"}
1
+ {"version":3,"file":"ComponentIcon.js","sources":["../../../admin/src/components/ComponentIcon.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, FlexProps } from '@strapi/design-system';\nimport * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nimport type { Struct } from '@strapi/types';\n\ninterface ComponentIconProps extends FlexProps {\n showBackground?: boolean;\n icon?: Struct.ContentTypeSchemaInfo['icon'];\n}\n\nconst ComponentIcon = ({\n showBackground = true,\n icon = 'dashboard',\n ...props\n}: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon as keyof typeof COMPONENT_ICONS] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={showBackground ? 'neutral200' : undefined}\n justifyContent=\"center\"\n height={8}\n width={8}\n color=\"neutral600\"\n borderRadius={showBackground ? '50%' : 0}\n {...props}\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n\nconst COMPONENT_ICONS: Record<string, React.ComponentType<any>> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n fileXls: Icons.FileXls,\n fileZip: Icons.FileZip,\n fileCsv: Icons.FileCsv,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { ComponentIcon, COMPONENT_ICONS };\nexport type { ComponentIconProps };\n"],"names":["ComponentIcon","showBackground","icon","props","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","undefined","justifyContent","height","width","color","borderRadius","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","fileXls","FileXls","fileZip","FileZip","fileCsv","FileCsv","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":"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"}
@@ -69,6 +69,9 @@ const COMPONENT_ICONS = {
69
69
  file: Icons.File,
70
70
  fileError: Icons.FileError,
71
71
  filePdf: Icons.FilePdf,
72
+ fileXls: Icons.FileXls,
73
+ fileZip: Icons.FileZip,
74
+ fileCsv: Icons.FileCsv,
72
75
  filter: Icons.Filter,
73
76
  folder: Icons.Folder,
74
77
  gate: Icons.CastleTurret,
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentIcon.mjs","sources":["../../../admin/src/components/ComponentIcon.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, FlexProps } from '@strapi/design-system';\nimport * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nimport type { Struct } from '@strapi/types';\n\ninterface ComponentIconProps extends FlexProps {\n showBackground?: boolean;\n icon?: Struct.ContentTypeSchemaInfo['icon'];\n}\n\nconst ComponentIcon = ({\n showBackground = true,\n icon = 'dashboard',\n ...props\n}: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon as keyof typeof COMPONENT_ICONS] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={showBackground ? 'neutral200' : undefined}\n justifyContent=\"center\"\n height={8}\n width={8}\n color=\"neutral600\"\n borderRadius={showBackground ? '50%' : 0}\n {...props}\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n\nconst COMPONENT_ICONS: Record<string, React.ComponentType<any>> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { ComponentIcon, COMPONENT_ICONS };\nexport type { ComponentIconProps };\n"],"names":["ComponentIcon","showBackground","icon","props","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","undefined","justifyContent","height","width","color","borderRadius","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":"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"}
1
+ {"version":3,"file":"ComponentIcon.mjs","sources":["../../../admin/src/components/ComponentIcon.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, FlexProps } from '@strapi/design-system';\nimport * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nimport type { Struct } from '@strapi/types';\n\ninterface ComponentIconProps extends FlexProps {\n showBackground?: boolean;\n icon?: Struct.ContentTypeSchemaInfo['icon'];\n}\n\nconst ComponentIcon = ({\n showBackground = true,\n icon = 'dashboard',\n ...props\n}: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon as keyof typeof COMPONENT_ICONS] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={showBackground ? 'neutral200' : undefined}\n justifyContent=\"center\"\n height={8}\n width={8}\n color=\"neutral600\"\n borderRadius={showBackground ? '50%' : 0}\n {...props}\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n\nconst COMPONENT_ICONS: Record<string, React.ComponentType<any>> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n fileXls: Icons.FileXls,\n fileZip: Icons.FileZip,\n fileCsv: Icons.FileCsv,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { ComponentIcon, COMPONENT_ICONS };\nexport type { ComponentIconProps };\n"],"names":["ComponentIcon","showBackground","icon","props","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","undefined","justifyContent","height","width","color","borderRadius","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","fileXls","FileXls","fileZip","FileZip","fileCsv","FileCsv","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Fields.js","sources":["../../../../admin/src/components/ConfigurationForm/Fields.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useDroppable, DndContext, UniqueIdentifier, DragOverlay } from '@dnd-kit/core';\nimport { arrayMove, SortableContext, useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { useField, useForm, useIsDesktop } from '@strapi/admin/strapi-admin';\nimport {\n Modal,\n Box,\n Flex,\n Grid,\n IconButton,\n IconButtonComponent,\n Typography,\n Link,\n Menu,\n} from '@strapi/design-system';\nimport { Cog, Cross, Drag, Pencil, Plus } from '@strapi/icons';\nimport { generateNKeysBetween as generateNKeysBetweenImpl } from 'fractional-indexing';\nimport { produce } from 'immer';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { getTranslation } from '../../utils/translations';\nimport { ComponentIcon } from '../ComponentIcon';\n\nimport { EditFieldForm, EditFieldFormProps } from './EditFieldForm';\n\nimport type { ConfigurationFormData, EditFieldSpacerLayout } from './Form';\nimport type { EditLayout } from '../../hooks/useDocumentLayout';\n\ntype FormField = ConfigurationFormData['layout'][number]['children'][number];\ntype Field = Omit<ConfigurationFormData['layout'][number]['children'][number], '__temp_key__'>;\n\nconst GRID_COLUMNS = 12;\n\n/* -------------------------------------------------------------------------------------------------\n * Drag and Drop\n * -----------------------------------------------------------------------------------------------*/\n\nconst DroppableContainer = ({\n id,\n children,\n}: {\n id: string;\n children: (props: ReturnType<typeof useDroppable>) => React.ReactNode;\n}) => {\n const droppable = useDroppable({\n id,\n });\n\n return children(droppable);\n};\n\nexport const SortableItem = ({ id, children }: { id: string; children: React.ReactNode }) => {\n const { attributes, setNodeRef, transform, transition } = useSortable({\n id,\n });\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n height: '100%',\n };\n\n return (\n <div ref={setNodeRef} style={style} {...attributes}>\n {children}\n </div>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Fields\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FieldsProps extends Pick<EditLayout, 'metadatas'>, Pick<FieldProps, 'components'> {\n attributes: {\n [key: string]: FieldProps['attribute'];\n };\n fieldSizes: Record<string, number>;\n components: EditLayout['components'];\n}\n\n/**\n * Compute uids and formName for drag and drop items for the incoming layout\n */\nconst createDragAndDropContainersFromLayout = (layout: ConfigurationFormData['layout']) => {\n return layout.map((row, containerIndex) => ({\n ...row,\n // Use unique ids for drag and drop items\n dndId: `container-${containerIndex}`,\n children: row.children.map((child, childIndex) => ({\n ...child,\n dndId: `container-${containerIndex}-child-${childIndex}`,\n\n // The formName must be recomputed each time an item is moved\n formName: `layout.${containerIndex}.children.${childIndex}`,\n })),\n }));\n};\n\nconst Fields = ({ attributes, fieldSizes, components, metadatas = {} }: FieldsProps) => {\n const { formatMessage } = useIntl();\n\n const layout = useForm<ConfigurationFormData['layout']>(\n 'Fields',\n (state) => state.values.layout ?? []\n );\n\n const onChange = useForm('Fields', (state) => state.onChange);\n const addFieldRow = useForm('Fields', (state) => state.addFieldRow);\n const removeFieldRow = useForm('Fields', (state) => state.removeFieldRow);\n\n const existingFields = layout.map((row) => row.children.map((field) => field.name)).flat();\n\n /**\n * Get the fields that are not already in the layout\n * But also check that they are visible before we give users\n * the option to display them. e.g. `id` is not visible.\n */\n const remainingFields = Object.entries(metadatas).reduce<Field[]>((acc, current) => {\n const [name, { visible, ...field }] = current;\n\n if (!existingFields.includes(name) && visible === true) {\n const type = attributes[name]?.type;\n const size = type ? fieldSizes[type] : GRID_COLUMNS;\n\n acc.push({\n ...field,\n label: field.label ?? name,\n name,\n size,\n });\n }\n\n return acc;\n }, []);\n\n const handleRemoveField =\n (rowIndex: number, fieldIndex: number): FieldProps['onRemoveField'] =>\n () => {\n if (layout[rowIndex].children.length === 1) {\n removeFieldRow(`layout`, rowIndex);\n } else {\n onChange(`layout.${rowIndex}.children`, [\n ...layout[rowIndex].children.slice(0, fieldIndex),\n ...layout[rowIndex].children.slice(fieldIndex + 1),\n ]);\n }\n };\n\n const handleAddField = (field: Field) => () => {\n addFieldRow('layout', { children: [field] });\n };\n\n const [containers, setContainers] = React.useState(() =>\n createDragAndDropContainersFromLayout(layout)\n );\n type Container = (typeof containers)[number];\n const [activeDragItem, setActiveDragItem] = React.useState<Container['children'][number] | null>(\n null\n );\n\n /**\n * Finds either the parent container id or the child id within a container\n */\n function findContainer(id: UniqueIdentifier, containersAsDictionary: Record<string, Container>) {\n // If the id is a key, then it is the parent container\n if (id in containersAsDictionary) {\n return id;\n }\n\n // Otherwise, it is a child inside a container\n return Object.keys(containersAsDictionary).find((key) =>\n containersAsDictionary[key].children.find((child) => child.dndId === id)\n );\n }\n\n /**\n * Gets an item from a container based on its id\n */\n const getItemFromContainer = (id: UniqueIdentifier, container: Container) => {\n return container.children.find((item) => id === item.dndId);\n };\n\n /**\n * Gets the containers as dictionary for quick lookup\n */\n const getContainersAsDictionary = () => {\n return Object.fromEntries(containers.map((container) => [container.dndId, container]));\n };\n\n /**\n * Recomputes the empty space in the grid\n */\n const createContainersWithSpacers = (layout: typeof containers) => {\n return layout\n .map((row) => ({\n ...row,\n children: row.children.filter((field) => field.name !== TEMP_FIELD_NAME),\n }))\n .filter((row) => row.children.length > 0)\n .map((row) => {\n const totalSpaceTaken = row.children.reduce((acc, curr) => acc + curr.size, 0);\n\n if (totalSpaceTaken < GRID_COLUMNS) {\n const [spacerKey] = generateNKeysBetweenImpl(\n row.children.at(-1)?.__temp_key__,\n undefined,\n 1\n );\n\n return {\n ...row,\n children: [\n ...row.children,\n {\n name: TEMP_FIELD_NAME,\n size: GRID_COLUMNS - totalSpaceTaken,\n __temp_key__: spacerKey,\n } satisfies EditFieldSpacerLayout,\n ],\n };\n }\n\n return row;\n });\n };\n\n /**\n * When layout changes (e.g. when a field size is changed or the containers are reordered)\n * we need to update the ids and form names\n */\n React.useEffect(() => {\n const containers = createDragAndDropContainersFromLayout(layout);\n setContainers(containers);\n }, [layout, setContainers]);\n\n return (\n <DndContext\n onDragStart={(event) => {\n const containersAsDictionary = getContainersAsDictionary();\n\n const activeContainer = findContainer(event.active.id, containersAsDictionary);\n\n if (!activeContainer) return;\n\n const activeItem = getItemFromContainer(\n event.active.id,\n containersAsDictionary[activeContainer]\n );\n\n if (activeItem) {\n setActiveDragItem(activeItem);\n }\n }}\n onDragOver={({ active, over }) => {\n const containersAsDictionary = getContainersAsDictionary();\n const activeContainer = findContainer(active.id, containersAsDictionary);\n const overContainer = findContainer(over?.id ?? '', containersAsDictionary);\n const activeContainerIndex = containers.findIndex(\n (container) => container.dndId === activeContainer\n );\n const overContainerIndex = containers.findIndex(\n (container) => container.dndId === overContainer\n );\n\n if (!activeContainer || !overContainer) {\n return;\n }\n\n const draggedItem = getItemFromContainer(\n active.id,\n containersAsDictionary[activeContainer]\n );\n const overItem = getItemFromContainer(\n over?.id ?? '',\n containersAsDictionary[overContainer]\n );\n const overIndex = containersAsDictionary[overContainer].children.findIndex(\n (item) => item.dndId === over?.id\n );\n\n if (!draggedItem) return;\n\n // Handle a full width field being dragged\n if (draggedItem?.size === GRID_COLUMNS) {\n // Swap the items in the containers\n const update = produce(containers, (draft) => {\n draft[activeContainerIndex].children = containers[overContainerIndex].children;\n draft[overContainerIndex].children = containers[activeContainerIndex].children;\n });\n setContainers(update);\n return;\n }\n\n /**\n * Handle an item being dragged from one container to another,\n * the item is removed from its current container, and then added to its new container\n * An item can only be added in a container if there is enough space.\n */\n const update = produce(containers, (draft) => {\n draft[activeContainerIndex].children = draft[activeContainerIndex].children.filter(\n (item) => item.dndId !== active.id\n );\n const spaceTaken = draft[overContainerIndex].children.reduce((acc, curr) => {\n if (curr.name === TEMP_FIELD_NAME) {\n return acc;\n }\n\n return acc + curr.size;\n }, 0);\n\n // Check the sizes of the children, if there is no room, exit\n if (spaceTaken + draggedItem.size > GRID_COLUMNS) {\n // Leave the item where it started\n draft[activeContainerIndex].children = containers[activeContainerIndex].children;\n return;\n }\n\n if (overItem?.name === TEMP_FIELD_NAME) {\n // We are over an invisible spacer, replace it with the dragged item\n draft[overContainerIndex].children.splice(overIndex, 1, draggedItem);\n return;\n }\n\n // There is room for the item in the container, drop it\n draft[overContainerIndex].children.splice(overIndex, 0, draggedItem);\n });\n\n setContainers(update);\n }}\n onDragEnd={(event) => {\n const { active, over } = event;\n const { id } = active;\n const overId = over?.id;\n const containersAsDictionary = getContainersAsDictionary();\n const activeContainer = findContainer(id, containersAsDictionary);\n const overContainer = findContainer(overId!, containersAsDictionary);\n\n if (!activeContainer || !overContainer) {\n return;\n }\n\n const activeIndex = containersAsDictionary[activeContainer].children.findIndex(\n (children) => children.dndId === id\n );\n const overIndex = containersAsDictionary[overContainer].children.findIndex(\n (children) => children.dndId === overId\n );\n\n const movedContainerItems = produce(containersAsDictionary, (draft) => {\n if (activeIndex !== overIndex && activeContainer === overContainer) {\n // Move items around inside their own container\n draft[activeContainer].children = arrayMove(\n draft[activeContainer].children,\n activeIndex,\n overIndex\n );\n }\n });\n\n // Remove properties the server does not expect before updating the form\n const updatedContainers = Object.values(movedContainerItems);\n const updatedContainersWithSpacers = createContainersWithSpacers(\n updatedContainers\n ) as typeof containers;\n const updatedLayout = updatedContainersWithSpacers.map(\n ({ dndId: _dndId, children, ...container }) => ({\n ...container,\n children: children.map(({ dndId: _dndId, formName: _formName, ...child }) => child),\n })\n );\n\n // Update the layout\n onChange('layout', updatedLayout);\n setActiveDragItem(null);\n }}\n >\n <Flex paddingTop={6} direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex alignItems=\"flex-start\" direction=\"column\" justifyContent=\"space-between\">\n <Typography fontWeight=\"bold\">\n {formatMessage({\n id: getTranslation('containers.list.displayedFields'),\n defaultMessage: 'Displayed fields',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: 'containers.SettingPage.editSettings.description',\n defaultMessage: 'Drag & drop the fields to build the layout',\n })}\n </Typography>\n </Flex>\n <Box padding={4} hasRadius borderStyle=\"dashed\" borderWidth=\"1px\" borderColor=\"neutral300\">\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n {containers.map((container, containerIndex) => (\n <SortableContext\n key={container.dndId}\n id={container.dndId}\n items={container.children.map((child) => ({ id: child.dndId }))}\n >\n <DroppableContainer id={container.dndId}>\n {({ setNodeRef }) => (\n <Grid.Root key={container.dndId} ref={setNodeRef} gap={2}>\n {container.children.map((child, childIndex) => (\n <Grid.Item\n col={child.size}\n key={child.dndId}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <SortableItem id={child.dndId}>\n <Field\n attribute={attributes[child.name]}\n components={components}\n name={child.formName}\n onRemoveField={handleRemoveField(containerIndex, childIndex)}\n dndId={child.dndId}\n />\n </SortableItem>\n </Grid.Item>\n ))}\n </Grid.Root>\n )}\n </DroppableContainer>\n </SortableContext>\n ))}\n <DragOverlay>\n {activeDragItem ? (\n <Field\n attribute={attributes[activeDragItem.name]}\n components={components}\n name={activeDragItem.formName}\n dndId={activeDragItem.dndId}\n />\n ) : null}\n </DragOverlay>\n <Menu.Root>\n <Menu.Trigger\n startIcon={<Plus />}\n endIcon={null}\n disabled={remainingFields.length === 0}\n fullWidth\n variant=\"secondary\"\n >\n {formatMessage({\n id: getTranslation('containers.SettingPage.add.field'),\n defaultMessage: 'Insert another field',\n })}\n </Menu.Trigger>\n <Menu.Content>\n {remainingFields.map((field) => (\n <Menu.Item key={field.name} onSelect={handleAddField(field)}>\n {field.label}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n </Flex>\n </Box>\n </Flex>\n </DndContext>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Field\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FieldProps extends Pick<EditFieldFormProps, 'name' | 'attribute'> {\n components: EditLayout['components'];\n dndId: string;\n onRemoveField?: React.MouseEventHandler<HTMLButtonElement>;\n}\n\nconst TEMP_FIELD_NAME = '_TEMP_';\n\n/**\n * Displays a field in the layout with drag options, also\n * opens a modal to edit the details of said field.\n */\nconst Field = ({ attribute, components, name, onRemoveField, dndId }: FieldProps) => {\n const isDesktop = useIsDesktop();\n const [isModalOpen, setIsModalOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n const { value } = useField<FormField>(name);\n const { listeners, setActivatorNodeRef } = useSortable({\n id: dndId,\n });\n\n const handleRemoveField: React.MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (onRemoveField) {\n onRemoveField?.(e);\n }\n };\n\n const onEditFieldMeta: React.MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setIsModalOpen(true);\n };\n\n if (!value) {\n return null;\n }\n\n if (value.name === TEMP_FIELD_NAME) {\n return <Flex tag=\"span\" height=\"100%\" style={{ opacity: 0 }} />;\n }\n\n if (!attribute) {\n return null;\n }\n\n return (\n <Modal.Root open={isModalOpen} onOpenChange={setIsModalOpen}>\n <Flex\n borderColor=\"neutral150\"\n background=\"neutral100\"\n hasRadius\n gap={3}\n cursor=\"pointer\"\n onClick={() => {\n setIsModalOpen(true);\n }}\n position=\"relative\"\n >\n {isDesktop && (\n <DragButton\n ref={setActivatorNodeRef}\n tag=\"span\"\n withTooltip={false}\n label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.move.field'),\n defaultMessage: 'Move {item}',\n },\n { item: value.label }\n )}\n {...listeners}\n >\n <Drag />\n </DragButton>\n )}\n <Flex direction=\"column\" alignItems=\"flex-start\" grow={1} overflow=\"hidden\">\n <Flex gap={3} justifyContent=\"space-between\" width=\"100%\">\n <Typography ellipsis fontWeight=\"bold\">\n {value.label}\n </Typography>\n <Flex position=\"relative\">\n <IconButton\n type=\"button\"\n variant=\"ghost\"\n background=\"transparent\"\n onClick={onEditFieldMeta}\n withTooltip={false}\n label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.edit.field'),\n defaultMessage: 'Edit {item}',\n },\n { item: value.label }\n )}\n >\n <Pencil />\n </IconButton>\n <IconButton\n type=\"button\"\n variant=\"ghost\"\n onClick={handleRemoveField}\n background=\"transparent\"\n withTooltip={false}\n label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.delete.field'),\n defaultMessage: 'Delete {item}',\n },\n { item: value.label }\n )}\n >\n <Cross />\n </IconButton>\n </Flex>\n </Flex>\n {attribute?.type === 'component' ? (\n <Flex\n paddingTop={3}\n paddingRight={3}\n paddingBottom={3}\n paddingLeft={0}\n alignItems=\"flex-start\"\n direction=\"column\"\n gap={2}\n width=\"100%\"\n >\n <Grid.Root gap={4} width=\"100%\">\n {components[attribute.component].layout.map((row) =>\n row.map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size} direction=\"column\" alignItems=\"stretch\">\n <Flex\n alignItems=\"center\"\n background=\"neutral0\"\n paddingTop={2}\n paddingBottom={2}\n paddingLeft={3}\n paddingRight={3}\n hasRadius\n borderColor=\"neutral200\"\n >\n <Typography textColor=\"neutral800\">{field.name}</Typography>\n </Flex>\n </Grid.Item>\n ))\n )}\n </Grid.Root>\n <Link\n // used to stop the edit form from appearing when we click here.\n onClick={(e) => e.stopPropagation()}\n startIcon={<Cog />}\n tag={NavLink}\n to={`../components/${attribute.component}/configurations/edit`}\n >\n {formatMessage({\n id: getTranslation('components.FieldItem.linkToComponentLayout'),\n defaultMessage: \"Set the component's layout\",\n })}\n </Link>\n </Flex>\n ) : null}\n {attribute?.type === 'dynamiczone' ? (\n <Flex\n paddingTop={3}\n paddingRight={3}\n paddingBottom={3}\n paddingLeft={0}\n alignItems=\"flex-start\"\n gap={2}\n width=\"100%\"\n wrap=\"wrap\"\n >\n {attribute?.components.map((uid) => (\n <ComponentLink\n // used to stop the edit form from appearing when we click here.\n onClick={(e) => e.stopPropagation()}\n key={uid}\n to={`../components/${uid}/configurations/edit`}\n >\n <ComponentIcon icon={components[uid].settings.icon} />\n <Typography fontSize={1} textColor=\"neutral600\" fontWeight=\"bold\">\n {components[uid].settings.displayName}\n </Typography>\n </ComponentLink>\n ))}\n </Flex>\n ) : null}\n </Flex>\n </Flex>\n {value.name !== TEMP_FIELD_NAME && (\n <EditFieldForm attribute={attribute} name={name} onClose={() => setIsModalOpen(false)} />\n )}\n </Modal.Root>\n );\n};\n\nconst DragButton = styled<IconButtonComponent<'span'>>(IconButton)`\n height: unset;\n align-self: stretch;\n display: flex;\n align-items: center;\n padding: 0;\n border: none;\n background-color: transparent;\n border-radius: 0px;\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n cursor: all-scroll;\n\n svg {\n width: 1.2rem;\n height: 1.2rem;\n }\n`;\n\nconst ComponentLink = styled(NavLink)`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: ${({ theme }) => theme.spaces[1]};\n padding: ${(props) => props.theme.spaces[2]};\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral0};\n width: 14rem;\n border-radius: ${({ theme }) => theme.borderRadius};\n text-decoration: none;\n\n &:focus,\n &:hover {\n ${({ theme }) => `\n background-color: ${theme.colors.primary100};\n border-color: ${theme.colors.primary200};\n\n ${Typography} {\n color: ${theme.colors.primary600};\n }\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 { Fields, TEMP_FIELD_NAME };\nexport type { FieldsProps };\n"],"names":["GRID_COLUMNS","DroppableContainer","id","children","droppable","useDroppable","SortableItem","attributes","setNodeRef","transform","transition","useSortable","style","CSS","Transform","toString","height","_jsx","div","ref","createDragAndDropContainersFromLayout","layout","map","row","containerIndex","dndId","child","childIndex","formName","Fields","fieldSizes","components","metadatas","formatMessage","useIntl","useForm","state","values","onChange","addFieldRow","removeFieldRow","existingFields","field","name","flat","remainingFields","Object","entries","reduce","acc","current","visible","includes","type","size","push","label","handleRemoveField","rowIndex","fieldIndex","length","slice","handleAddField","containers","setContainers","React","useState","activeDragItem","setActiveDragItem","findContainer","containersAsDictionary","keys","find","key","getItemFromContainer","container","item","getContainersAsDictionary","fromEntries","createContainersWithSpacers","filter","TEMP_FIELD_NAME","totalSpaceTaken","curr","spacerKey","generateNKeysBetweenImpl","at","__temp_key__","undefined","useEffect","DndContext","onDragStart","event","activeContainer","active","activeItem","onDragOver","over","overContainer","activeContainerIndex","findIndex","overContainerIndex","draggedItem","overItem","overIndex","update","produce","draft","spaceTaken","splice","onDragEnd","overId","activeIndex","movedContainerItems","arrayMove","updatedContainers","updatedContainersWithSpacers","updatedLayout","_dndId","_formName","_jsxs","Flex","paddingTop","direction","alignItems","gap","justifyContent","Typography","fontWeight","getTranslation","defaultMessage","variant","textColor","Box","padding","hasRadius","borderStyle","borderWidth","borderColor","SortableContext","items","Grid","Root","Item","col","Field","attribute","onRemoveField","DragOverlay","Menu","Trigger","startIcon","Plus","endIcon","disabled","fullWidth","Content","onSelect","isDesktop","useIsDesktop","isModalOpen","setIsModalOpen","value","useField","listeners","setActivatorNodeRef","e","preventDefault","stopPropagation","onEditFieldMeta","tag","opacity","Modal","open","onOpenChange","background","cursor","onClick","position","DragButton","withTooltip","Drag","grow","overflow","width","ellipsis","IconButton","Pencil","Cross","paddingRight","paddingBottom","paddingLeft","component","Link","Cog","NavLink","to","wrap","uid","ComponentLink","ComponentIcon","icon","settings","fontSize","displayName","EditFieldForm","onClose","styled","theme","colors","neutral150","spaces","props","neutral200","neutral0","borderRadius","primary100","primary200","primary600"],"mappings":"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"}
1
+ {"version":3,"file":"Fields.js","sources":["../../../../admin/src/components/ConfigurationForm/Fields.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useDroppable, DndContext, UniqueIdentifier, DragOverlay } from '@dnd-kit/core';\nimport { arrayMove, SortableContext, useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { useField, useForm, useIsDesktop } from '@strapi/admin/strapi-admin';\nimport {\n Modal,\n Box,\n Flex,\n Grid,\n IconButton,\n IconButtonComponent,\n Typography,\n Link,\n Menu,\n} from '@strapi/design-system';\nimport { Cog, Cross, Drag, Pencil, Plus } from '@strapi/icons';\nimport { generateNKeysBetween as generateNKeysBetweenImpl } from 'fractional-indexing';\nimport { produce } from 'immer';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { getTranslation } from '../../utils/translations';\nimport { ComponentIcon } from '../ComponentIcon';\n\nimport { EditFieldForm, EditFieldFormProps } from './EditFieldForm';\n\nimport type { ConfigurationFormData, EditFieldSpacerLayout } from './Form';\nimport type { EditLayout } from '../../hooks/useDocumentLayout';\n\ntype FormField = ConfigurationFormData['layout'][number]['children'][number];\ntype Field = Omit<ConfigurationFormData['layout'][number]['children'][number], '__temp_key__'>;\n\nconst GRID_COLUMNS = 12;\n\n/* -------------------------------------------------------------------------------------------------\n * Drag and Drop\n * -----------------------------------------------------------------------------------------------*/\n\nconst DroppableContainer = ({\n id,\n children,\n}: {\n id: string;\n children: (props: ReturnType<typeof useDroppable>) => React.ReactNode;\n}) => {\n const droppable = useDroppable({\n id,\n });\n\n return children(droppable);\n};\n\nexport const SortableItem = ({ id, children }: { id: string; children: React.ReactNode }) => {\n const { attributes, setNodeRef, transform, transition } = useSortable({\n id,\n });\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n height: '100%',\n };\n\n return (\n <div ref={setNodeRef} style={style} {...attributes}>\n {children}\n </div>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Fields\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FieldsProps extends Pick<EditLayout, 'metadatas'>, Pick<FieldProps, 'components'> {\n attributes: {\n [key: string]: FieldProps['attribute'];\n };\n fieldSizes: Record<string, number>;\n components: EditLayout['components'];\n}\n\n/**\n * Compute uids and formName for drag and drop items for the incoming layout\n */\nconst createDragAndDropContainersFromLayout = (layout: ConfigurationFormData['layout']) => {\n return layout.map((row, containerIndex) => ({\n ...row,\n // Use unique ids for drag and drop items\n dndId: `container-${containerIndex}`,\n children: row.children.map((child, childIndex) => ({\n ...child,\n dndId: `container-${containerIndex}-child-${childIndex}`,\n\n // The formName must be recomputed each time an item is moved\n formName: `layout.${containerIndex}.children.${childIndex}`,\n })),\n }));\n};\n\nconst Fields = ({ attributes, fieldSizes, components, metadatas = {} }: FieldsProps) => {\n const { formatMessage } = useIntl();\n\n const layout = useForm<ConfigurationFormData['layout']>(\n 'Fields',\n (state) => state.values.layout ?? []\n );\n\n const onChange = useForm('Fields', (state) => state.onChange);\n const addFieldRow = useForm('Fields', (state) => state.addFieldRow);\n const removeFieldRow = useForm('Fields', (state) => state.removeFieldRow);\n\n const existingFields = layout.map((row) => row.children.map((field) => field.name)).flat();\n\n /**\n * Get the fields that are not already in the layout\n * But also check that they are visible before we give users\n * the option to display them. e.g. `id` is not visible.\n */\n const remainingFields = Object.entries(metadatas).reduce<Field[]>((acc, current) => {\n const [name, { visible, ...field }] = current;\n\n if (!existingFields.includes(name) && visible === true) {\n const type = attributes[name]?.type;\n const size = type ? fieldSizes[type] : GRID_COLUMNS;\n\n acc.push({\n ...field,\n label: field.label ?? name,\n name,\n size,\n });\n }\n\n return acc;\n }, []);\n\n const handleRemoveField =\n (rowIndex: number, fieldIndex: number): FieldProps['onRemoveField'] =>\n () => {\n if (layout[rowIndex].children.length === 1) {\n removeFieldRow(`layout`, rowIndex);\n } else {\n onChange(`layout.${rowIndex}.children`, [\n ...layout[rowIndex].children.slice(0, fieldIndex),\n ...layout[rowIndex].children.slice(fieldIndex + 1),\n ]);\n }\n };\n\n const handleAddField = (field: Field) => () => {\n addFieldRow('layout', { children: [field] });\n };\n\n const [containers, setContainers] = React.useState(() =>\n createDragAndDropContainersFromLayout(layout)\n );\n type Container = (typeof containers)[number];\n const [activeDragItem, setActiveDragItem] = React.useState<Container['children'][number] | null>(\n null\n );\n\n /**\n * Finds either the parent container id or the child id within a container\n */\n function findContainer(id: UniqueIdentifier, containersAsDictionary: Record<string, Container>) {\n // If the id is a key, then it is the parent container\n if (id in containersAsDictionary) {\n return id;\n }\n\n // Otherwise, it is a child inside a container\n return Object.keys(containersAsDictionary).find((key) =>\n containersAsDictionary[key].children.find((child) => child.dndId === id)\n );\n }\n\n /**\n * Gets an item from a container based on its id\n */\n const getItemFromContainer = (id: UniqueIdentifier, container: Container) => {\n return container.children.find((item) => id === item.dndId);\n };\n\n /**\n * Gets the containers as dictionary for quick lookup\n */\n const getContainersAsDictionary = () => {\n return Object.fromEntries(containers.map((container) => [container.dndId, container]));\n };\n\n /**\n * Recomputes the empty space in the grid\n */\n const createContainersWithSpacers = (layout: typeof containers) => {\n return layout\n .map((row) => ({\n ...row,\n children: row.children.filter((field) => field.name !== TEMP_FIELD_NAME),\n }))\n .filter((row) => row.children.length > 0)\n .map((row) => {\n const totalSpaceTaken = row.children.reduce((acc, curr) => acc + curr.size, 0);\n\n if (totalSpaceTaken < GRID_COLUMNS) {\n const [spacerKey] = generateNKeysBetweenImpl(\n row.children.at(-1)?.__temp_key__,\n undefined,\n 1\n );\n\n return {\n ...row,\n children: [\n ...row.children,\n {\n name: TEMP_FIELD_NAME,\n size: GRID_COLUMNS - totalSpaceTaken,\n __temp_key__: spacerKey,\n } satisfies EditFieldSpacerLayout,\n ],\n };\n }\n\n return row;\n });\n };\n\n /**\n * When layout changes (e.g. when a field size is changed or the containers are reordered)\n * we need to update the ids and form names\n */\n React.useEffect(() => {\n const containers = createDragAndDropContainersFromLayout(layout);\n setContainers(containers);\n }, [layout, setContainers]);\n\n return (\n <DndContext\n onDragStart={(event) => {\n const containersAsDictionary = getContainersAsDictionary();\n\n const activeContainer = findContainer(event.active.id, containersAsDictionary);\n\n if (!activeContainer) return;\n\n const activeItem = getItemFromContainer(\n event.active.id,\n containersAsDictionary[activeContainer]\n );\n\n if (activeItem) {\n setActiveDragItem(activeItem);\n }\n }}\n onDragOver={({ active, over }) => {\n const containersAsDictionary = getContainersAsDictionary();\n const activeContainer = findContainer(active.id, containersAsDictionary);\n const overContainer = findContainer(over?.id ?? '', containersAsDictionary);\n const activeContainerIndex = containers.findIndex(\n (container) => container.dndId === activeContainer\n );\n const overContainerIndex = containers.findIndex(\n (container) => container.dndId === overContainer\n );\n\n if (!activeContainer || !overContainer) {\n return;\n }\n\n const draggedItem = getItemFromContainer(\n active.id,\n containersAsDictionary[activeContainer]\n );\n const overItem = getItemFromContainer(\n over?.id ?? '',\n containersAsDictionary[overContainer]\n );\n const overIndex = containersAsDictionary[overContainer].children.findIndex(\n (item) => item.dndId === over?.id\n );\n\n if (!draggedItem) return;\n\n // Handle a full width field being dragged\n if (draggedItem?.size === GRID_COLUMNS) {\n // Swap the items in the containers\n const update = produce(containers, (draft) => {\n draft[activeContainerIndex].children = containers[overContainerIndex].children;\n draft[overContainerIndex].children = containers[activeContainerIndex].children;\n });\n setContainers(update);\n return;\n }\n\n /**\n * Handle an item being dragged from one container to another,\n * the item is removed from its current container, and then added to its new container\n * An item can only be added in a container if there is enough space.\n */\n const update = produce(containers, (draft) => {\n draft[activeContainerIndex].children = draft[activeContainerIndex].children.filter(\n (item) => item.dndId !== active.id\n );\n const spaceTaken = draft[overContainerIndex].children.reduce((acc, curr) => {\n if (curr.name === TEMP_FIELD_NAME) {\n return acc;\n }\n\n return acc + curr.size;\n }, 0);\n\n // Check the sizes of the children, if there is no room, exit\n if (spaceTaken + draggedItem.size > GRID_COLUMNS) {\n // Leave the item where it started\n draft[activeContainerIndex].children = containers[activeContainerIndex].children;\n return;\n }\n\n if (overItem?.name === TEMP_FIELD_NAME) {\n // We are over an invisible spacer, replace it with the dragged item\n draft[overContainerIndex].children.splice(overIndex, 1, draggedItem);\n return;\n }\n\n // There is room for the item in the container, drop it\n draft[overContainerIndex].children.splice(overIndex, 0, draggedItem);\n });\n\n setContainers(update);\n }}\n onDragEnd={(event) => {\n const { active, over } = event;\n const { id } = active;\n const overId = over?.id;\n const containersAsDictionary = getContainersAsDictionary();\n const activeContainer = findContainer(id, containersAsDictionary);\n const overContainer = findContainer(overId!, containersAsDictionary);\n\n if (!activeContainer || !overContainer) {\n return;\n }\n\n const activeIndex = containersAsDictionary[activeContainer].children.findIndex(\n (children) => children.dndId === id\n );\n const overIndex = containersAsDictionary[overContainer].children.findIndex(\n (children) => children.dndId === overId\n );\n\n const movedContainerItems = produce(containersAsDictionary, (draft) => {\n if (activeIndex !== overIndex && activeContainer === overContainer) {\n // Move items around inside their own container\n draft[activeContainer].children = arrayMove(\n draft[activeContainer].children,\n activeIndex,\n overIndex\n );\n }\n });\n\n // Remove properties the server does not expect before updating the form\n const updatedContainers = Object.values(movedContainerItems);\n const updatedContainersWithSpacers = createContainersWithSpacers(\n updatedContainers\n ) as typeof containers;\n const updatedLayout = updatedContainersWithSpacers.map(\n ({ dndId: _dndId, children, ...container }) => ({\n ...container,\n children: children.map(({ dndId: _dndId, formName: _formName, ...child }) => child),\n })\n );\n\n // Update the layout\n onChange('layout', updatedLayout);\n setActiveDragItem(null);\n }}\n >\n <Flex paddingTop={6} direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex alignItems=\"flex-start\" direction=\"column\" justifyContent=\"space-between\">\n <Typography fontWeight=\"bold\">\n {formatMessage({\n id: getTranslation('containers.list.displayedFields'),\n defaultMessage: 'Displayed fields',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: 'containers.SettingPage.editSettings.description',\n defaultMessage: 'Drag & drop the fields to build the layout',\n })}\n </Typography>\n </Flex>\n <Box padding={4} hasRadius borderStyle=\"dashed\" borderWidth=\"1px\" borderColor=\"neutral300\">\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n {containers.map((container, containerIndex) => (\n <SortableContext\n key={container.dndId}\n id={container.dndId}\n items={container.children.map((child) => ({ id: child.dndId }))}\n >\n <DroppableContainer id={container.dndId}>\n {({ setNodeRef }) => (\n <Grid.Root key={container.dndId} ref={setNodeRef} gap={2}>\n {container.children.map((child, childIndex) => (\n <Grid.Item\n col={child.size}\n key={child.dndId}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <SortableItem id={child.dndId}>\n <Field\n attribute={attributes[child.name]}\n components={components}\n name={child.formName}\n onRemoveField={handleRemoveField(containerIndex, childIndex)}\n dndId={child.dndId}\n />\n </SortableItem>\n </Grid.Item>\n ))}\n </Grid.Root>\n )}\n </DroppableContainer>\n </SortableContext>\n ))}\n <DragOverlay>\n {activeDragItem ? (\n <Field\n attribute={attributes[activeDragItem.name]}\n components={components}\n name={activeDragItem.formName}\n dndId={activeDragItem.dndId}\n />\n ) : null}\n </DragOverlay>\n <Menu.Root>\n <Menu.Trigger\n startIcon={<Plus />}\n endIcon={null}\n disabled={remainingFields.length === 0}\n fullWidth\n variant=\"secondary\"\n >\n {formatMessage({\n id: getTranslation('containers.SettingPage.add.field'),\n defaultMessage: 'Insert another field',\n })}\n </Menu.Trigger>\n <Menu.Content>\n {remainingFields.map((field) => (\n <Menu.Item key={field.name} onSelect={handleAddField(field)}>\n {field.label}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n </Flex>\n </Box>\n </Flex>\n </DndContext>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Field\n * -----------------------------------------------------------------------------------------------*/\n\ninterface FieldProps extends Pick<EditFieldFormProps, 'name' | 'attribute'> {\n components: EditLayout['components'];\n dndId: string;\n onRemoveField?: React.MouseEventHandler<HTMLButtonElement>;\n}\n\nconst TEMP_FIELD_NAME = '_TEMP_';\n\n/**\n * Displays a field in the layout with drag options, also\n * opens a modal to edit the details of said field.\n */\nconst Field = ({ attribute, components, name, onRemoveField, dndId }: FieldProps) => {\n const isDesktop = useIsDesktop();\n const [isModalOpen, setIsModalOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n const { value } = useField<FormField>(name);\n const { listeners, setActivatorNodeRef } = useSortable({\n id: dndId,\n });\n\n const handleRemoveField: React.MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (onRemoveField) {\n onRemoveField?.(e);\n }\n };\n\n const onEditFieldMeta: React.MouseEventHandler<HTMLButtonElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setIsModalOpen(true);\n };\n\n if (!value) {\n return null;\n }\n\n if (value.name === TEMP_FIELD_NAME) {\n return <Flex tag=\"span\" height=\"100%\" style={{ opacity: 0 }} />;\n }\n\n if (!attribute) {\n return null;\n }\n\n return (\n <Modal.Root open={isModalOpen} onOpenChange={setIsModalOpen}>\n <Flex\n borderColor=\"neutral150\"\n background=\"neutral100\"\n hasRadius\n gap={3}\n cursor=\"pointer\"\n onClick={() => {\n setIsModalOpen(true);\n }}\n position=\"relative\"\n >\n {isDesktop && (\n <DragButton\n ref={setActivatorNodeRef}\n tag=\"span\"\n withTooltip={false}\n label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.move.field'),\n defaultMessage: 'Move {item}',\n },\n { item: value.label }\n )}\n {...listeners}\n >\n <Drag />\n </DragButton>\n )}\n <Flex direction=\"column\" alignItems=\"flex-start\" grow={1} overflow=\"hidden\">\n <Flex gap={3} justifyContent=\"space-between\" width=\"100%\">\n <Typography ellipsis fontWeight=\"bold\">\n {value.label}\n </Typography>\n <Flex position=\"relative\">\n <IconButton\n type=\"button\"\n variant=\"ghost\"\n background=\"transparent\"\n onClick={onEditFieldMeta}\n withTooltip={false}\n label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.edit.field'),\n defaultMessage: 'Edit {item}',\n },\n { item: value.label }\n )}\n >\n <Pencil />\n </IconButton>\n <IconButton\n type=\"button\"\n variant=\"ghost\"\n onClick={handleRemoveField}\n background=\"transparent\"\n withTooltip={false}\n label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.delete.field'),\n defaultMessage: 'Delete {item}',\n },\n { item: value.label }\n )}\n >\n <Cross />\n </IconButton>\n </Flex>\n </Flex>\n {attribute?.type === 'component' ? (\n <Flex\n paddingTop={3}\n paddingRight={3}\n paddingBottom={3}\n paddingLeft={0}\n alignItems=\"flex-start\"\n direction=\"column\"\n gap={2}\n width=\"100%\"\n >\n <Grid.Root gap={4} width=\"100%\">\n {components[attribute.component].layout.map((row) =>\n row.map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size} direction=\"column\" alignItems=\"stretch\">\n <Flex\n alignItems=\"center\"\n background=\"neutral0\"\n paddingTop={2}\n paddingBottom={2}\n paddingLeft={3}\n paddingRight={3}\n hasRadius\n borderColor=\"neutral200\"\n >\n <Typography textColor=\"neutral800\">{field.name}</Typography>\n </Flex>\n </Grid.Item>\n ))\n )}\n </Grid.Root>\n <Link\n // used to stop the edit form from appearing when we click here.\n onClick={(e) => e.stopPropagation()}\n startIcon={<Cog />}\n tag={NavLink}\n to={`../components/${attribute.component}/configurations/edit`}\n >\n {formatMessage({\n id: getTranslation('components.FieldItem.linkToComponentLayout'),\n defaultMessage: \"Set the component's layout\",\n })}\n </Link>\n </Flex>\n ) : null}\n {attribute?.type === 'dynamiczone' ? (\n <Flex\n paddingTop={3}\n paddingRight={3}\n paddingBottom={3}\n paddingLeft={0}\n alignItems=\"flex-start\"\n gap={2}\n width=\"100%\"\n wrap=\"wrap\"\n >\n {attribute?.components.map((uid) => (\n <ComponentLink\n // used to stop the edit form from appearing when we click here.\n onClick={(e) => e.stopPropagation()}\n key={uid}\n to={`../components/${uid}/configurations/edit`}\n >\n <ComponentIcon icon={components[uid].settings.icon} />\n <Typography fontSize={1} textColor=\"neutral600\" fontWeight=\"bold\">\n {components[uid].settings.displayName}\n </Typography>\n </ComponentLink>\n ))}\n </Flex>\n ) : null}\n </Flex>\n </Flex>\n {value.name !== TEMP_FIELD_NAME && (\n <EditFieldForm attribute={attribute} name={name} onClose={() => setIsModalOpen(false)} />\n )}\n </Modal.Root>\n );\n};\n\nconst DragButton = styled<IconButtonComponent<'span'>>(IconButton)`\n height: unset;\n align-self: stretch;\n display: flex;\n align-items: center;\n padding: 0;\n border: none;\n background-color: transparent;\n border-radius: 0px;\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n cursor: all-scroll;\n\n svg {\n width: 1.2rem;\n height: 1.2rem;\n }\n`;\n\nconst ComponentLink = styled(NavLink)`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: ${({ theme }) => theme.spaces[1]};\n padding: ${(props) => props.theme.spaces[2]};\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral0};\n width: 14rem;\n border-radius: ${({ theme }) => theme.borderRadius};\n text-decoration: none;\n\n &:focus,\n &:hover {\n ${({ theme }) => `\n background-color: ${theme.colors.primary100};\n border-color: ${theme.colors.primary200};\n\n ${Typography} {\n color: ${theme.colors.primary600};\n }\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 { Fields, TEMP_FIELD_NAME };\nexport type { FieldsProps };\n"],"names":["GRID_COLUMNS","DroppableContainer","id","children","droppable","useDroppable","SortableItem","attributes","setNodeRef","transform","transition","useSortable","style","CSS","Transform","toString","height","_jsx","div","ref","createDragAndDropContainersFromLayout","layout","map","row","containerIndex","dndId","child","childIndex","formName","Fields","fieldSizes","components","metadatas","formatMessage","useIntl","useForm","state","values","onChange","addFieldRow","removeFieldRow","existingFields","field","name","flat","remainingFields","Object","entries","reduce","acc","current","visible","includes","type","size","push","label","handleRemoveField","rowIndex","fieldIndex","length","slice","handleAddField","containers","setContainers","React","useState","activeDragItem","setActiveDragItem","findContainer","containersAsDictionary","keys","find","key","getItemFromContainer","container","item","getContainersAsDictionary","fromEntries","createContainersWithSpacers","filter","TEMP_FIELD_NAME","totalSpaceTaken","curr","spacerKey","generateNKeysBetweenImpl","at","__temp_key__","undefined","useEffect","DndContext","onDragStart","event","activeContainer","active","activeItem","onDragOver","over","overContainer","activeContainerIndex","findIndex","overContainerIndex","draggedItem","overItem","overIndex","update","produce","draft","spaceTaken","splice","onDragEnd","overId","activeIndex","movedContainerItems","arrayMove","updatedContainers","updatedContainersWithSpacers","updatedLayout","_dndId","_formName","_jsxs","Flex","paddingTop","direction","alignItems","gap","justifyContent","Typography","fontWeight","getTranslation","defaultMessage","variant","textColor","Box","padding","hasRadius","borderStyle","borderWidth","borderColor","SortableContext","items","Grid","Root","Item","col","Field","attribute","onRemoveField","DragOverlay","Menu","Trigger","startIcon","Plus","endIcon","disabled","fullWidth","Content","onSelect","isDesktop","useIsDesktop","isModalOpen","setIsModalOpen","value","useField","listeners","setActivatorNodeRef","e","preventDefault","stopPropagation","onEditFieldMeta","tag","opacity","Modal","open","onOpenChange","background","cursor","onClick","position","DragButton","withTooltip","Drag","grow","overflow","width","ellipsis","IconButton","Pencil","Cross","paddingRight","paddingBottom","paddingLeft","component","Link","Cog","NavLink","to","wrap","uid","ComponentLink","ComponentIcon","icon","settings","fontSize","displayName","EditFieldForm","onClose","styled","theme","colors","neutral150","spaces","props","neutral200","neutral0","borderRadius","primary100","primary200","primary600"],"mappings":"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"}