@strapi/content-manager 5.61.0 → 5.62.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 (260) hide show
  1. package/dist/admin/components/ConfigurationForm/Fields.js +1 -1
  2. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  3. package/dist/admin/components/ConfigurationForm/Fields.mjs +3 -3
  4. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  5. package/dist/admin/features/I18nSharedFieldsLock.js +54 -0
  6. package/dist/admin/features/I18nSharedFieldsLock.js.map +1 -0
  7. package/dist/admin/features/I18nSharedFieldsLock.mjs +31 -0
  8. package/dist/admin/features/I18nSharedFieldsLock.mjs.map +1 -0
  9. package/dist/admin/history/components/VersionInputRenderer.js +7 -2
  10. package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
  11. package/dist/admin/history/components/VersionInputRenderer.mjs +7 -3
  12. package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
  13. package/dist/admin/hooks/useContentManagerInitData.js +27 -8
  14. package/dist/admin/hooks/useContentManagerInitData.js.map +1 -1
  15. package/dist/admin/hooks/useContentManagerInitData.mjs +29 -10
  16. package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -1
  17. package/dist/admin/hooks/useDocument.js +11 -13
  18. package/dist/admin/hooks/useDocument.js.map +1 -1
  19. package/dist/admin/hooks/useDocument.mjs +11 -13
  20. package/dist/admin/hooks/useDocument.mjs.map +1 -1
  21. package/dist/admin/hooks/useI18nFieldLock.js +169 -0
  22. package/dist/admin/hooks/useI18nFieldLock.js.map +1 -0
  23. package/dist/admin/hooks/useI18nFieldLock.mjs +140 -0
  24. package/dist/admin/hooks/useI18nFieldLock.mjs.map +1 -0
  25. package/dist/admin/hooks/usePersistentQueryParams.js +16 -3
  26. package/dist/admin/hooks/usePersistentQueryParams.js.map +1 -1
  27. package/dist/admin/hooks/usePersistentQueryParams.mjs +16 -3
  28. package/dist/admin/hooks/usePersistentQueryParams.mjs.map +1 -1
  29. package/dist/admin/index.js +5 -0
  30. package/dist/admin/index.js.map +1 -1
  31. package/dist/admin/index.mjs +2 -0
  32. package/dist/admin/index.mjs.map +1 -1
  33. package/dist/admin/modules/app.js +8 -1
  34. package/dist/admin/modules/app.js.map +1 -1
  35. package/dist/admin/modules/app.mjs +8 -2
  36. package/dist/admin/modules/app.mjs.map +1 -1
  37. package/dist/admin/pages/EditView/EditViewPage.js +129 -127
  38. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  39. package/dist/admin/pages/EditView/EditViewPage.mjs +129 -127
  40. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  41. package/dist/admin/pages/EditView/components/DocumentActions.js +11 -4
  42. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  43. package/dist/admin/pages/EditView/components/DocumentActions.mjs +12 -5
  44. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  45. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +31 -21
  46. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +32 -22
  48. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
  49. package/dist/admin/pages/EditView/components/FormInputs/Component/AddComponentMenu.js +98 -0
  50. package/dist/admin/pages/EditView/components/FormInputs/Component/AddComponentMenu.js.map +1 -0
  51. package/dist/admin/pages/EditView/components/FormInputs/Component/AddComponentMenu.mjs +96 -0
  52. package/dist/admin/pages/EditView/components/FormInputs/Component/AddComponentMenu.mjs.map +1 -0
  53. package/dist/admin/pages/EditView/components/FormInputs/Component/ComponentCopyModal.js +1103 -0
  54. package/dist/admin/pages/EditView/components/FormInputs/Component/ComponentCopyModal.js.map +1 -0
  55. package/dist/admin/pages/EditView/components/FormInputs/Component/ComponentCopyModal.mjs +1077 -0
  56. package/dist/admin/pages/EditView/components/FormInputs/Component/ComponentCopyModal.mjs.map +1 -0
  57. package/dist/admin/pages/EditView/components/FormInputs/Component/CopiedComponents.js +211 -0
  58. package/dist/admin/pages/EditView/components/FormInputs/Component/CopiedComponents.js.map +1 -0
  59. package/dist/admin/pages/EditView/components/FormInputs/Component/CopiedComponents.mjs +183 -0
  60. package/dist/admin/pages/EditView/components/FormInputs/Component/CopiedComponents.mjs.map +1 -0
  61. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js +84 -41
  62. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js.map +1 -1
  63. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs +86 -43
  64. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs.map +1 -1
  65. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js +86 -20
  66. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -1
  67. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs +89 -23
  68. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -1
  69. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +5 -2
  70. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  71. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +5 -2
  72. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  73. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +142 -22
  74. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  75. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +143 -23
  76. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  77. package/dist/admin/pages/EditView/components/FormInputs/Component/utils/componentCopy.js +402 -0
  78. package/dist/admin/pages/EditView/components/FormInputs/Component/utils/componentCopy.js.map +1 -0
  79. package/dist/admin/pages/EditView/components/FormInputs/Component/utils/componentCopy.mjs +389 -0
  80. package/dist/admin/pages/EditView/components/FormInputs/Component/utils/componentCopy.mjs.map +1 -0
  81. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +84 -33
  82. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
  83. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +85 -34
  84. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
  85. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js +5 -1
  86. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js.map +1 -1
  87. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs +5 -1
  88. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs.map +1 -1
  89. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +17 -4
  90. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  91. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +18 -5
  92. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  93. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js +54 -6
  94. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
  95. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs +54 -6
  96. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
  97. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +11 -9
  98. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  99. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +12 -10
  100. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  101. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +9 -4
  102. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  103. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +9 -4
  104. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  105. package/dist/admin/pages/EditView/components/FormLayout.js +66 -63
  106. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  107. package/dist/admin/pages/EditView/components/FormLayout.mjs +66 -63
  108. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  109. package/dist/admin/pages/EditView/components/InputRenderer.js +7 -1
  110. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  111. package/dist/admin/pages/EditView/components/InputRenderer.mjs +7 -1
  112. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  113. package/dist/admin/pages/EditView/utils/data.js +14 -9
  114. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  115. package/dist/admin/pages/EditView/utils/data.mjs +14 -9
  116. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  117. package/dist/admin/pages/EditView/utils/forms.js +34 -0
  118. package/dist/admin/pages/EditView/utils/forms.js.map +1 -1
  119. package/dist/admin/pages/EditView/utils/forms.mjs +34 -1
  120. package/dist/admin/pages/EditView/utils/forms.mjs.map +1 -1
  121. package/dist/admin/pages/ListConfiguration/components/DraggableCard.js +2 -1
  122. package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -1
  123. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs +2 -1
  124. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -1
  125. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js +7 -6
  126. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js.map +1 -1
  127. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs +7 -6
  128. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs.map +1 -1
  129. package/dist/admin/pages/ListView/ListViewPage.js +11 -2
  130. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  131. package/dist/admin/pages/ListView/ListViewPage.mjs +13 -4
  132. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  133. package/dist/admin/pages/ListView/components/Filters.js +15 -5
  134. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  135. package/dist/admin/pages/ListView/components/Filters.mjs +16 -7
  136. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  137. package/dist/admin/preview/components/InputPopover.js +18 -8
  138. package/dist/admin/preview/components/InputPopover.js.map +1 -1
  139. package/dist/admin/preview/components/InputPopover.mjs +19 -9
  140. package/dist/admin/preview/components/InputPopover.mjs.map +1 -1
  141. package/dist/admin/preview/pages/Preview.js +5 -16
  142. package/dist/admin/preview/pages/Preview.js.map +1 -1
  143. package/dist/admin/preview/pages/Preview.mjs +5 -16
  144. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  145. package/dist/admin/preview/utils/fieldUtils.js +2 -0
  146. package/dist/admin/preview/utils/fieldUtils.js.map +1 -1
  147. package/dist/admin/preview/utils/fieldUtils.mjs +2 -1
  148. package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -1
  149. package/dist/admin/services/api.js +2 -1
  150. package/dist/admin/services/api.js.map +1 -1
  151. package/dist/admin/services/api.mjs +2 -1
  152. package/dist/admin/services/api.mjs.map +1 -1
  153. package/dist/admin/services/documents.js +21 -1
  154. package/dist/admin/services/documents.js.map +1 -1
  155. package/dist/admin/services/documents.mjs +21 -2
  156. package/dist/admin/services/documents.mjs.map +1 -1
  157. package/dist/admin/services/relations.js +47 -1
  158. package/dist/admin/services/relations.js.map +1 -1
  159. package/dist/admin/services/relations.mjs +47 -2
  160. package/dist/admin/services/relations.mjs.map +1 -1
  161. package/dist/admin/src/exports.d.ts +2 -0
  162. package/dist/admin/src/features/I18nSharedFieldsLock.d.ts +22 -0
  163. package/dist/admin/src/history/components/VersionInputRenderer.d.ts +7 -1
  164. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  165. package/dist/admin/src/hooks/useI18nFieldLock.d.ts +61 -0
  166. package/dist/admin/src/modules/app.d.ts +4 -1
  167. package/dist/admin/src/pages/EditView/components/FormInputs/Component/AddComponentMenu.d.ts +15 -0
  168. package/dist/admin/src/pages/EditView/components/FormInputs/Component/ComponentCopyModal.d.ts +58 -0
  169. package/dist/admin/src/pages/EditView/components/FormInputs/Component/CopiedComponents.d.ts +41 -0
  170. package/dist/admin/src/pages/EditView/components/FormInputs/Component/Initializer.d.ts +7 -3
  171. package/dist/admin/src/pages/EditView/components/FormInputs/Component/NonRepeatable.d.ts +1 -1
  172. package/dist/admin/src/pages/EditView/components/FormInputs/Component/Repeatable.d.ts +2 -2
  173. package/dist/admin/src/pages/EditView/components/FormInputs/Component/utils/componentCopy.d.ts +115 -0
  174. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.d.ts +6 -3
  175. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.d.ts +2 -1
  176. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +5 -1
  177. package/dist/admin/src/pages/EditView/utils/forms.d.ts +13 -2
  178. package/dist/admin/src/pages/ListView/components/Filters.d.ts +12 -3
  179. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  180. package/dist/admin/src/preview/utils/fieldUtils.d.ts +1 -0
  181. package/dist/admin/src/services/api.d.ts +1 -1
  182. package/dist/admin/src/services/components.d.ts +2 -2
  183. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  184. package/dist/admin/src/services/documents.d.ts +25 -21
  185. package/dist/admin/src/services/homepage.d.ts +1 -1
  186. package/dist/admin/src/services/init.d.ts +1 -1
  187. package/dist/admin/src/services/relations.d.ts +5 -3
  188. package/dist/admin/src/services/uid.d.ts +3 -3
  189. package/dist/admin/translations/en.json.js +41 -0
  190. package/dist/admin/translations/en.json.js.map +1 -1
  191. package/dist/admin/translations/en.json.mjs +41 -0
  192. package/dist/admin/translations/en.json.mjs.map +1 -1
  193. package/dist/server/controllers/relations.js +4 -2
  194. package/dist/server/controllers/relations.js.map +1 -1
  195. package/dist/server/controllers/relations.mjs +4 -2
  196. package/dist/server/controllers/relations.mjs.map +1 -1
  197. package/dist/server/controllers/utils/metadata.js +3 -1
  198. package/dist/server/controllers/utils/metadata.js.map +1 -1
  199. package/dist/server/controllers/utils/metadata.mjs +3 -1
  200. package/dist/server/controllers/utils/metadata.mjs.map +1 -1
  201. package/dist/server/history/services/utils.js +3 -1
  202. package/dist/server/history/services/utils.js.map +1 -1
  203. package/dist/server/history/services/utils.mjs +3 -1
  204. package/dist/server/history/services/utils.mjs.map +1 -1
  205. package/dist/server/homepage/services/homepage-query-utils.js +14 -0
  206. package/dist/server/homepage/services/homepage-query-utils.js.map +1 -1
  207. package/dist/server/homepage/services/homepage-query-utils.mjs +14 -1
  208. package/dist/server/homepage/services/homepage-query-utils.mjs.map +1 -1
  209. package/dist/server/homepage/services/homepage.js +1 -1
  210. package/dist/server/homepage/services/homepage.js.map +1 -1
  211. package/dist/server/homepage/services/homepage.mjs +2 -2
  212. package/dist/server/homepage/services/homepage.mjs.map +1 -1
  213. package/dist/server/mcp/sanitizers/shape-relations.js +1 -3
  214. package/dist/server/mcp/sanitizers/shape-relations.js.map +1 -1
  215. package/dist/server/mcp/sanitizers/shape-relations.mjs +1 -3
  216. package/dist/server/mcp/sanitizers/shape-relations.mjs.map +1 -1
  217. package/dist/server/mcp/schemas/output-schemas.js +2 -1
  218. package/dist/server/mcp/schemas/output-schemas.js.map +1 -1
  219. package/dist/server/mcp/schemas/output-schemas.mjs +2 -1
  220. package/dist/server/mcp/schemas/output-schemas.mjs.map +1 -1
  221. package/dist/server/services/document-manager.js +3 -2
  222. package/dist/server/services/document-manager.js.map +1 -1
  223. package/dist/server/services/document-manager.mjs +3 -2
  224. package/dist/server/services/document-manager.mjs.map +1 -1
  225. package/dist/server/services/document-metadata.js +92 -4
  226. package/dist/server/services/document-metadata.js.map +1 -1
  227. package/dist/server/services/document-metadata.mjs +92 -4
  228. package/dist/server/services/document-metadata.mjs.map +1 -1
  229. package/dist/server/services/permission-checker.js +20 -8
  230. package/dist/server/services/permission-checker.js.map +1 -1
  231. package/dist/server/services/permission-checker.mjs +20 -8
  232. package/dist/server/services/permission-checker.mjs.map +1 -1
  233. package/dist/server/services/uid.js +2 -1
  234. package/dist/server/services/uid.js.map +1 -1
  235. package/dist/server/services/uid.mjs +2 -1
  236. package/dist/server/services/uid.mjs.map +1 -1
  237. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  238. package/dist/server/src/controllers/utils/metadata.d.ts +1 -0
  239. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  240. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  241. package/dist/server/src/homepage/services/homepage-query-utils.d.ts +6 -0
  242. package/dist/server/src/homepage/services/homepage-query-utils.d.ts.map +1 -1
  243. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
  244. package/dist/server/src/index.d.ts +21 -7
  245. package/dist/server/src/index.d.ts.map +1 -1
  246. package/dist/server/src/mcp/sanitizers/shape-relations.d.ts.map +1 -1
  247. package/dist/server/src/mcp/schemas/output-schemas.d.ts.map +1 -1
  248. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  249. package/dist/server/src/services/document-metadata.d.ts +5 -1
  250. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  251. package/dist/server/src/services/index.d.ts +21 -7
  252. package/dist/server/src/services/index.d.ts.map +1 -1
  253. package/dist/server/src/services/permission-checker.d.ts +6 -5
  254. package/dist/server/src/services/permission-checker.d.ts.map +1 -1
  255. package/dist/server/src/services/uid.d.ts.map +1 -1
  256. package/dist/shared/contracts/collection-types.d.ts +7 -0
  257. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  258. package/dist/shared/contracts/single-types.d.ts +4 -0
  259. package/dist/shared/contracts/single-types.d.ts.map +1 -1
  260. package/package.json +9 -9
@@ -17,32 +17,42 @@ const EditorLayout = ({ children, error, disabled, onToggleExpand, ariaDescripti
17
17
  isExpandedMode && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Root, {
18
18
  open: isExpandedMode,
19
19
  onOpenChange: onToggleExpand,
20
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Content, {
20
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Modal.Content, {
21
21
  style: {
22
22
  maxWidth: 'unset',
23
23
  width: 'unset'
24
24
  },
25
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
26
- height: "90dvh",
27
- width: "90dvw",
28
- alignItems: "flex-start",
29
- direction: "column",
30
- children: [
31
- children,
32
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
33
- position: "absolute",
34
- bottom: "1.2rem",
35
- right: "1.2rem",
36
- shadow: "filterShadow",
37
- label: formatMessage({
38
- id: translations.getTranslation('components.Blocks.collapse'),
39
- defaultMessage: 'Collapse'
40
- }),
41
- onClick: onToggleExpand,
42
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Collapse, {})
25
+ children: [
26
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.VisuallyHidden, {
27
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Title, {
28
+ children: formatMessage({
29
+ id: translations.getTranslation('components.Blocks.expand'),
30
+ defaultMessage: 'Expand'
31
+ })
43
32
  })
44
- ]
45
- })
33
+ }),
34
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
35
+ height: "90dvh",
36
+ width: "90dvw",
37
+ alignItems: "flex-start",
38
+ direction: "column",
39
+ children: [
40
+ children,
41
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
42
+ position: "absolute",
43
+ bottom: "1.2rem",
44
+ right: "1.2rem",
45
+ shadow: "filterShadow",
46
+ label: formatMessage({
47
+ id: translations.getTranslation('components.Blocks.collapse'),
48
+ defaultMessage: 'Collapse'
49
+ }),
50
+ onClick: onToggleExpand,
51
+ children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Collapse, {})
52
+ })
53
+ ]
54
+ })
55
+ ]
46
56
  })
47
57
  }),
48
58
  /*#__PURE__*/ jsxRuntime.jsx(InputWrapper, {
@@ -1 +1 @@
1
- {"version":3,"file":"EditorLayout.js","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, IconButton, FlexComponent, Modal } from '@strapi/design-system';\nimport { Collapse } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { css, styled } from 'styled-components';\n\nimport { getTranslation } from '../../../../../utils/translations';\n\nimport { useBlocksEditorContext } from './BlocksEditor';\n\ninterface EditorLayoutProps {\n children: React.ReactNode;\n error?: string;\n onToggleExpand: () => void;\n disabled: boolean;\n ariaDescriptionId: string;\n livePreviewSync?: boolean;\n}\n\nconst EditorLayout = ({\n children,\n error,\n disabled,\n onToggleExpand,\n ariaDescriptionId,\n livePreviewSync = false,\n}: EditorLayoutProps) => {\n const { formatMessage } = useIntl();\n const { isExpandedMode } = useBlocksEditorContext('editorLayout');\n\n return (\n <>\n {isExpandedMode && (\n <Modal.Root open={isExpandedMode} onOpenChange={onToggleExpand}>\n <Modal.Content style={{ maxWidth: 'unset', width: 'unset' }}>\n <Flex height=\"90dvh\" width=\"90dvw\" alignItems=\"flex-start\" direction=\"column\">\n {children}\n <IconButton\n position=\"absolute\"\n bottom=\"1.2rem\"\n right=\"1.2rem\"\n shadow=\"filterShadow\"\n label={formatMessage({\n id: getTranslation('components.Blocks.collapse'),\n defaultMessage: 'Collapse',\n })}\n onClick={onToggleExpand}\n >\n <Collapse />\n </IconButton>\n </Flex>\n </Modal.Content>\n </Modal.Root>\n )}\n <InputWrapper\n direction=\"column\"\n alignItems=\"flex-start\"\n height=\"512px\"\n $disabled={disabled}\n $hasError={Boolean(error)}\n minHeight={livePreviewSync ? 0 : undefined}\n style={{ overflow: 'hidden' }}\n aria-describedby={ariaDescriptionId}\n position=\"relative\"\n >\n {!isExpandedMode && children}\n </InputWrapper>\n </>\n );\n};\n\nconst InputWrapper = styled<FlexComponent>(Flex)<{ $disabled?: boolean; $hasError?: boolean }>`\n border: 1px solid\n ${({ theme, $hasError }) => ($hasError ? theme.colors.danger600 : theme.colors.neutral200)};\n border-radius: ${({ theme }) => theme.borderRadius};\n background: ${({ theme }) => theme.colors.neutral0};\n\n ${({ theme, $hasError = false }) => css`\n outline: none;\n box-shadow: 0;\n transition-property: border-color, box-shadow, fill;\n transition-duration: 0.2s;\n\n &:focus-within {\n border: 1px solid ${$hasError ? theme.colors.danger600 : theme.colors.primary600};\n box-shadow: ${$hasError ? theme.colors.danger600 : theme.colors.primary600} 0px 0px 0px 2px;\n }\n `}\n\n ${({ theme, $disabled }) =>\n $disabled\n ? css`\n color: ${theme.colors.neutral600};\n background: ${theme.colors.neutral150};\n `\n : undefined}\n`;\n\nexport { EditorLayout };\n"],"names":["EditorLayout","children","error","disabled","onToggleExpand","ariaDescriptionId","livePreviewSync","formatMessage","useIntl","isExpandedMode","useBlocksEditorContext","_jsxs","_Fragment","_jsx","Modal","Root","open","onOpenChange","Content","style","maxWidth","width","Flex","height","alignItems","direction","IconButton","position","bottom","right","shadow","label","id","getTranslation","defaultMessage","onClick","Collapse","InputWrapper","$disabled","$hasError","Boolean","minHeight","undefined","overflow","aria-describedby","styled","theme","colors","danger600","neutral200","borderRadius","neutral0","css","primary600","neutral600","neutral150"],"mappings":"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"}
1
+ {"version":3,"file":"EditorLayout.js","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, IconButton, FlexComponent, Modal, VisuallyHidden } from '@strapi/design-system';\nimport { Collapse } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { css, styled } from 'styled-components';\n\nimport { getTranslation } from '../../../../../utils/translations';\n\nimport { useBlocksEditorContext } from './BlocksEditor';\n\ninterface EditorLayoutProps {\n children: React.ReactNode;\n error?: string;\n onToggleExpand: () => void;\n disabled: boolean;\n ariaDescriptionId: string;\n livePreviewSync?: boolean;\n}\n\nconst EditorLayout = ({\n children,\n error,\n disabled,\n onToggleExpand,\n ariaDescriptionId,\n livePreviewSync = false,\n}: EditorLayoutProps) => {\n const { formatMessage } = useIntl();\n const { isExpandedMode } = useBlocksEditorContext('editorLayout');\n\n return (\n <>\n {isExpandedMode && (\n <Modal.Root open={isExpandedMode} onOpenChange={onToggleExpand}>\n <Modal.Content style={{ maxWidth: 'unset', width: 'unset' }}>\n <VisuallyHidden>\n <Modal.Title>\n {formatMessage({\n id: getTranslation('components.Blocks.expand'),\n defaultMessage: 'Expand',\n })}\n </Modal.Title>\n </VisuallyHidden>\n <Flex height=\"90dvh\" width=\"90dvw\" alignItems=\"flex-start\" direction=\"column\">\n {children}\n <IconButton\n position=\"absolute\"\n bottom=\"1.2rem\"\n right=\"1.2rem\"\n shadow=\"filterShadow\"\n label={formatMessage({\n id: getTranslation('components.Blocks.collapse'),\n defaultMessage: 'Collapse',\n })}\n onClick={onToggleExpand}\n >\n <Collapse />\n </IconButton>\n </Flex>\n </Modal.Content>\n </Modal.Root>\n )}\n <InputWrapper\n direction=\"column\"\n alignItems=\"flex-start\"\n height=\"512px\"\n $disabled={disabled}\n $hasError={Boolean(error)}\n minHeight={livePreviewSync ? 0 : undefined}\n style={{ overflow: 'hidden' }}\n aria-describedby={ariaDescriptionId}\n position=\"relative\"\n >\n {!isExpandedMode && children}\n </InputWrapper>\n </>\n );\n};\n\nconst InputWrapper = styled<FlexComponent>(Flex)<{ $disabled?: boolean; $hasError?: boolean }>`\n border: 1px solid\n ${({ theme, $hasError }) => ($hasError ? theme.colors.danger600 : theme.colors.neutral200)};\n border-radius: ${({ theme }) => theme.borderRadius};\n background: ${({ theme }) => theme.colors.neutral0};\n\n ${({ theme, $hasError = false }) => css`\n outline: none;\n box-shadow: 0;\n transition-property: border-color, box-shadow, fill;\n transition-duration: 0.2s;\n\n &:focus-within {\n border: 1px solid ${$hasError ? theme.colors.danger600 : theme.colors.primary600};\n box-shadow: ${$hasError ? theme.colors.danger600 : theme.colors.primary600} 0px 0px 0px 2px;\n }\n `}\n\n ${({ theme, $disabled }) =>\n $disabled\n ? css`\n color: ${theme.colors.neutral600};\n background: ${theme.colors.neutral150};\n `\n : undefined}\n`;\n\nexport { EditorLayout };\n"],"names":["EditorLayout","children","error","disabled","onToggleExpand","ariaDescriptionId","livePreviewSync","formatMessage","useIntl","isExpandedMode","useBlocksEditorContext","_jsxs","_Fragment","_jsx","Modal","Root","open","onOpenChange","Content","style","maxWidth","width","VisuallyHidden","Title","id","getTranslation","defaultMessage","Flex","height","alignItems","direction","IconButton","position","bottom","right","shadow","label","onClick","Collapse","InputWrapper","$disabled","$hasError","Boolean","minHeight","undefined","overflow","aria-describedby","styled","theme","colors","danger600","neutral200","borderRadius","neutral0","css","primary600","neutral600","neutral150"],"mappings":";;;;;;;;;;;AAoBA,MAAMA,YAAAA,GAAe,CAAC,EACpBC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,cAAc,EACdC,iBAAiB,EACjBC,eAAAA,GAAkB,KAAK,EACL,GAAA;IAClB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,mCAAAA,CAAuB,cAAA,CAAA;IAElD,qBACEC,eAAA,CAAAC,mBAAA,EAAA;;YACGH,cAAAA,kBACCI,cAAA,CAACC,mBAAMC,IAAI,EAAA;gBAACC,IAAAA,EAAMP,cAAAA;gBAAgBQ,YAAAA,EAAcb,cAAAA;wCAC9CO,eAAA,CAACG,mBAAMI,OAAO,EAAA;oBAACC,KAAAA,EAAO;wBAAEC,QAAAA,EAAU,OAAA;wBAASC,KAAAA,EAAO;AAAQ,qBAAA;;sCACxDR,cAAA,CAACS,2BAAAA,EAAAA;oDACCT,cAAA,CAACC,mBAAMS,KAAK,EAAA;0CACThB,aAAAA,CAAc;AACbiB,oCAAAA,EAAAA,EAAIC,2BAAAA,CAAe,0BAAA,CAAA;oCACnBC,cAAAA,EAAgB;AAClB,iCAAA;;;sCAGJf,eAAA,CAACgB,iBAAAA,EAAAA;4BAAKC,MAAAA,EAAO,OAAA;4BAAQP,KAAAA,EAAM,OAAA;4BAAQQ,UAAAA,EAAW,YAAA;4BAAaC,SAAAA,EAAU,QAAA;;AAClE7B,gCAAAA,QAAAA;8CACDY,cAAA,CAACkB,uBAAAA,EAAAA;oCACCC,QAAAA,EAAS,UAAA;oCACTC,MAAAA,EAAO,QAAA;oCACPC,KAAAA,EAAM,QAAA;oCACNC,MAAAA,EAAO,cAAA;AACPC,oCAAAA,KAAAA,EAAO7B,aAAAA,CAAc;AACnBiB,wCAAAA,EAAAA,EAAIC,2BAAAA,CAAe,4BAAA,CAAA;wCACnBC,cAAAA,EAAgB;AAClB,qCAAA,CAAA;oCACAW,OAAAA,EAASjC,cAAAA;AAET,oCAAA,QAAA,gBAAAS,cAAA,CAACyB,cAAAA,EAAAA,EAAAA;;;;;;;0BAMXzB,cAAA,CAAC0B,YAAAA,EAAAA;gBACCT,SAAAA,EAAU,QAAA;gBACVD,UAAAA,EAAW,YAAA;gBACXD,MAAAA,EAAO,OAAA;gBACPY,SAAAA,EAAWrC,QAAAA;AACXsC,gBAAAA,SAAAA,EAAWC,OAAAA,CAAQxC,KAAAA,CAAAA;AACnByC,gBAAAA,SAAAA,EAAWrC,kBAAkB,CAAA,GAAIsC,SAAAA;gBACjCzB,KAAAA,EAAO;oBAAE0B,QAAAA,EAAU;AAAS,iBAAA;gBAC5BC,kBAAAA,EAAkBzC,iBAAAA;gBAClB2B,QAAAA,EAAS,UAAA;AAER,gBAAA,QAAA,EAAA,CAACvB,cAAAA,IAAkBR;;;;AAI5B;AAEA,MAAMsC,YAAAA,GAAeQ,uBAAAA,CAAsBpB,iBAAAA,CAAmD;;AAE1F,IAAA,EAAE,CAAC,EAAEqB,KAAK,EAAEP,SAAS,EAAE,GAAMA,SAAAA,GAAYO,KAAAA,CAAMC,MAAM,CAACC,SAAS,GAAGF,MAAMC,MAAM,CAACE,UAAU,CAAE;AAC9E,iBAAA,EAAE,CAAC,EAAEH,KAAK,EAAE,GAAKA,KAAAA,CAAMI,YAAY,CAAC;cACvC,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACI,QAAQ,CAAC;;EAEnD,EAAE,CAAC,EAAEL,KAAK,EAAEP,YAAY,KAAK,EAAE,GAAKa,oBAAG;;;;;;;wBAOjB,EAAEb,SAAAA,GAAYO,KAAAA,CAAMC,MAAM,CAACC,SAAS,GAAGF,KAAAA,CAAMC,MAAM,CAACM,UAAU,CAAC;kBACrE,EAAEd,SAAAA,GAAYO,KAAAA,CAAMC,MAAM,CAACC,SAAS,GAAGF,KAAAA,CAAMC,MAAM,CAACM,UAAU,CAAC;;AAE/E,EAAA,CAAC;;EAED,EAAE,CAAC,EAAEP,KAAK,EAAER,SAAS,EAAE,GACrBA,SAAAA,GACIc,oBAAG;AACM,iBAAA,EAAEN,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;AACrB,sBAAA,EAAER,KAAAA,CAAMC,MAAM,CAACQ,UAAU,CAAC;AACxC,QAAA,CAAC,GACDb,SAAAA;AACR,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import 'react';
3
- import { Flex, Modal, IconButton } from '@strapi/design-system';
3
+ import { Flex, Modal, VisuallyHidden, IconButton } from '@strapi/design-system';
4
4
  import { Collapse } from '@strapi/icons';
5
5
  import { useIntl } from 'react-intl';
6
6
  import { css, styled } from 'styled-components';
@@ -15,32 +15,42 @@ const EditorLayout = ({ children, error, disabled, onToggleExpand, ariaDescripti
15
15
  isExpandedMode && /*#__PURE__*/ jsx(Modal.Root, {
16
16
  open: isExpandedMode,
17
17
  onOpenChange: onToggleExpand,
18
- children: /*#__PURE__*/ jsx(Modal.Content, {
18
+ children: /*#__PURE__*/ jsxs(Modal.Content, {
19
19
  style: {
20
20
  maxWidth: 'unset',
21
21
  width: 'unset'
22
22
  },
23
- children: /*#__PURE__*/ jsxs(Flex, {
24
- height: "90dvh",
25
- width: "90dvw",
26
- alignItems: "flex-start",
27
- direction: "column",
28
- children: [
29
- children,
30
- /*#__PURE__*/ jsx(IconButton, {
31
- position: "absolute",
32
- bottom: "1.2rem",
33
- right: "1.2rem",
34
- shadow: "filterShadow",
35
- label: formatMessage({
36
- id: getTranslation('components.Blocks.collapse'),
37
- defaultMessage: 'Collapse'
38
- }),
39
- onClick: onToggleExpand,
40
- children: /*#__PURE__*/ jsx(Collapse, {})
23
+ children: [
24
+ /*#__PURE__*/ jsx(VisuallyHidden, {
25
+ children: /*#__PURE__*/ jsx(Modal.Title, {
26
+ children: formatMessage({
27
+ id: getTranslation('components.Blocks.expand'),
28
+ defaultMessage: 'Expand'
29
+ })
41
30
  })
42
- ]
43
- })
31
+ }),
32
+ /*#__PURE__*/ jsxs(Flex, {
33
+ height: "90dvh",
34
+ width: "90dvw",
35
+ alignItems: "flex-start",
36
+ direction: "column",
37
+ children: [
38
+ children,
39
+ /*#__PURE__*/ jsx(IconButton, {
40
+ position: "absolute",
41
+ bottom: "1.2rem",
42
+ right: "1.2rem",
43
+ shadow: "filterShadow",
44
+ label: formatMessage({
45
+ id: getTranslation('components.Blocks.collapse'),
46
+ defaultMessage: 'Collapse'
47
+ }),
48
+ onClick: onToggleExpand,
49
+ children: /*#__PURE__*/ jsx(Collapse, {})
50
+ })
51
+ ]
52
+ })
53
+ ]
44
54
  })
45
55
  }),
46
56
  /*#__PURE__*/ jsx(InputWrapper, {
@@ -1 +1 @@
1
- {"version":3,"file":"EditorLayout.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, IconButton, FlexComponent, Modal } from '@strapi/design-system';\nimport { Collapse } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { css, styled } from 'styled-components';\n\nimport { getTranslation } from '../../../../../utils/translations';\n\nimport { useBlocksEditorContext } from './BlocksEditor';\n\ninterface EditorLayoutProps {\n children: React.ReactNode;\n error?: string;\n onToggleExpand: () => void;\n disabled: boolean;\n ariaDescriptionId: string;\n livePreviewSync?: boolean;\n}\n\nconst EditorLayout = ({\n children,\n error,\n disabled,\n onToggleExpand,\n ariaDescriptionId,\n livePreviewSync = false,\n}: EditorLayoutProps) => {\n const { formatMessage } = useIntl();\n const { isExpandedMode } = useBlocksEditorContext('editorLayout');\n\n return (\n <>\n {isExpandedMode && (\n <Modal.Root open={isExpandedMode} onOpenChange={onToggleExpand}>\n <Modal.Content style={{ maxWidth: 'unset', width: 'unset' }}>\n <Flex height=\"90dvh\" width=\"90dvw\" alignItems=\"flex-start\" direction=\"column\">\n {children}\n <IconButton\n position=\"absolute\"\n bottom=\"1.2rem\"\n right=\"1.2rem\"\n shadow=\"filterShadow\"\n label={formatMessage({\n id: getTranslation('components.Blocks.collapse'),\n defaultMessage: 'Collapse',\n })}\n onClick={onToggleExpand}\n >\n <Collapse />\n </IconButton>\n </Flex>\n </Modal.Content>\n </Modal.Root>\n )}\n <InputWrapper\n direction=\"column\"\n alignItems=\"flex-start\"\n height=\"512px\"\n $disabled={disabled}\n $hasError={Boolean(error)}\n minHeight={livePreviewSync ? 0 : undefined}\n style={{ overflow: 'hidden' }}\n aria-describedby={ariaDescriptionId}\n position=\"relative\"\n >\n {!isExpandedMode && children}\n </InputWrapper>\n </>\n );\n};\n\nconst InputWrapper = styled<FlexComponent>(Flex)<{ $disabled?: boolean; $hasError?: boolean }>`\n border: 1px solid\n ${({ theme, $hasError }) => ($hasError ? theme.colors.danger600 : theme.colors.neutral200)};\n border-radius: ${({ theme }) => theme.borderRadius};\n background: ${({ theme }) => theme.colors.neutral0};\n\n ${({ theme, $hasError = false }) => css`\n outline: none;\n box-shadow: 0;\n transition-property: border-color, box-shadow, fill;\n transition-duration: 0.2s;\n\n &:focus-within {\n border: 1px solid ${$hasError ? theme.colors.danger600 : theme.colors.primary600};\n box-shadow: ${$hasError ? theme.colors.danger600 : theme.colors.primary600} 0px 0px 0px 2px;\n }\n `}\n\n ${({ theme, $disabled }) =>\n $disabled\n ? css`\n color: ${theme.colors.neutral600};\n background: ${theme.colors.neutral150};\n `\n : undefined}\n`;\n\nexport { EditorLayout };\n"],"names":["EditorLayout","children","error","disabled","onToggleExpand","ariaDescriptionId","livePreviewSync","formatMessage","useIntl","isExpandedMode","useBlocksEditorContext","_jsxs","_Fragment","_jsx","Modal","Root","open","onOpenChange","Content","style","maxWidth","width","Flex","height","alignItems","direction","IconButton","position","bottom","right","shadow","label","id","getTranslation","defaultMessage","onClick","Collapse","InputWrapper","$disabled","$hasError","Boolean","minHeight","undefined","overflow","aria-describedby","styled","theme","colors","danger600","neutral200","borderRadius","neutral0","css","primary600","neutral600","neutral150"],"mappings":"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"}
1
+ {"version":3,"file":"EditorLayout.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, IconButton, FlexComponent, Modal, VisuallyHidden } from '@strapi/design-system';\nimport { Collapse } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { css, styled } from 'styled-components';\n\nimport { getTranslation } from '../../../../../utils/translations';\n\nimport { useBlocksEditorContext } from './BlocksEditor';\n\ninterface EditorLayoutProps {\n children: React.ReactNode;\n error?: string;\n onToggleExpand: () => void;\n disabled: boolean;\n ariaDescriptionId: string;\n livePreviewSync?: boolean;\n}\n\nconst EditorLayout = ({\n children,\n error,\n disabled,\n onToggleExpand,\n ariaDescriptionId,\n livePreviewSync = false,\n}: EditorLayoutProps) => {\n const { formatMessage } = useIntl();\n const { isExpandedMode } = useBlocksEditorContext('editorLayout');\n\n return (\n <>\n {isExpandedMode && (\n <Modal.Root open={isExpandedMode} onOpenChange={onToggleExpand}>\n <Modal.Content style={{ maxWidth: 'unset', width: 'unset' }}>\n <VisuallyHidden>\n <Modal.Title>\n {formatMessage({\n id: getTranslation('components.Blocks.expand'),\n defaultMessage: 'Expand',\n })}\n </Modal.Title>\n </VisuallyHidden>\n <Flex height=\"90dvh\" width=\"90dvw\" alignItems=\"flex-start\" direction=\"column\">\n {children}\n <IconButton\n position=\"absolute\"\n bottom=\"1.2rem\"\n right=\"1.2rem\"\n shadow=\"filterShadow\"\n label={formatMessage({\n id: getTranslation('components.Blocks.collapse'),\n defaultMessage: 'Collapse',\n })}\n onClick={onToggleExpand}\n >\n <Collapse />\n </IconButton>\n </Flex>\n </Modal.Content>\n </Modal.Root>\n )}\n <InputWrapper\n direction=\"column\"\n alignItems=\"flex-start\"\n height=\"512px\"\n $disabled={disabled}\n $hasError={Boolean(error)}\n minHeight={livePreviewSync ? 0 : undefined}\n style={{ overflow: 'hidden' }}\n aria-describedby={ariaDescriptionId}\n position=\"relative\"\n >\n {!isExpandedMode && children}\n </InputWrapper>\n </>\n );\n};\n\nconst InputWrapper = styled<FlexComponent>(Flex)<{ $disabled?: boolean; $hasError?: boolean }>`\n border: 1px solid\n ${({ theme, $hasError }) => ($hasError ? theme.colors.danger600 : theme.colors.neutral200)};\n border-radius: ${({ theme }) => theme.borderRadius};\n background: ${({ theme }) => theme.colors.neutral0};\n\n ${({ theme, $hasError = false }) => css`\n outline: none;\n box-shadow: 0;\n transition-property: border-color, box-shadow, fill;\n transition-duration: 0.2s;\n\n &:focus-within {\n border: 1px solid ${$hasError ? theme.colors.danger600 : theme.colors.primary600};\n box-shadow: ${$hasError ? theme.colors.danger600 : theme.colors.primary600} 0px 0px 0px 2px;\n }\n `}\n\n ${({ theme, $disabled }) =>\n $disabled\n ? css`\n color: ${theme.colors.neutral600};\n background: ${theme.colors.neutral150};\n `\n : undefined}\n`;\n\nexport { EditorLayout };\n"],"names":["EditorLayout","children","error","disabled","onToggleExpand","ariaDescriptionId","livePreviewSync","formatMessage","useIntl","isExpandedMode","useBlocksEditorContext","_jsxs","_Fragment","_jsx","Modal","Root","open","onOpenChange","Content","style","maxWidth","width","VisuallyHidden","Title","id","getTranslation","defaultMessage","Flex","height","alignItems","direction","IconButton","position","bottom","right","shadow","label","onClick","Collapse","InputWrapper","$disabled","$hasError","Boolean","minHeight","undefined","overflow","aria-describedby","styled","theme","colors","danger600","neutral200","borderRadius","neutral0","css","primary600","neutral600","neutral150"],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ require('react');
5
+ var designSystem = require('@strapi/design-system');
6
+ var Icons = require('@strapi/icons');
7
+ var reactIntl = require('react-intl');
8
+ var styledComponents = require('styled-components');
9
+ var translations = require('../../../../../utils/translations.js');
10
+
11
+ /**
12
+ * The choices offered when adding a component to a field that can also copy one from another
13
+ * entry: start from blank fields, or pick existing content.
14
+ */ const AddComponentMenuContent = ({ kind, onAddEmpty, onCopy })=>{
15
+ const { formatMessage } = reactIntl.useIntl();
16
+ return /*#__PURE__*/ jsxRuntime.jsxs(MenuContent, {
17
+ minWidth: "30rem",
18
+ maxHeight: "none",
19
+ popoverPlacement: "bottom-center",
20
+ children: [
21
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
22
+ onSelect: onAddEmpty,
23
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(Icons.Plus, {}),
24
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
25
+ tag: "span",
26
+ direction: "column",
27
+ alignItems: "flex-start",
28
+ children: [
29
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
30
+ tag: "span",
31
+ fontWeight: "bold",
32
+ textColor: "neutral800",
33
+ children: kind === 'entry' ? formatMessage({
34
+ id: translations.getTranslation('components.AddComponentMenu.empty.entry'),
35
+ defaultMessage: 'Empty entry'
36
+ }) : formatMessage({
37
+ id: translations.getTranslation('components.AddComponentMenu.empty.component'),
38
+ defaultMessage: 'Empty component'
39
+ })
40
+ }),
41
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
42
+ tag: "span",
43
+ variant: "pi",
44
+ textColor: "neutral600",
45
+ children: formatMessage({
46
+ id: translations.getTranslation('components.AddComponentMenu.empty.hint'),
47
+ defaultMessage: 'Start with blank fields'
48
+ })
49
+ })
50
+ ]
51
+ })
52
+ }),
53
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
54
+ onSelect: onCopy,
55
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(Icons.Duplicate, {}),
56
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
57
+ tag: "span",
58
+ direction: "column",
59
+ alignItems: "flex-start",
60
+ children: [
61
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
62
+ tag: "span",
63
+ fontWeight: "bold",
64
+ textColor: "neutral800",
65
+ children: formatMessage({
66
+ id: translations.getTranslation('components.AddComponentMenu.copy'),
67
+ defaultMessage: 'Use existing content…'
68
+ })
69
+ }),
70
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
71
+ tag: "span",
72
+ variant: "pi",
73
+ textColor: "neutral600",
74
+ children: formatMessage({
75
+ id: translations.getTranslation('components.AddComponentMenu.copy.hint'),
76
+ defaultMessage: 'From another entry'
77
+ })
78
+ })
79
+ ]
80
+ })
81
+ })
82
+ ]
83
+ });
84
+ };
85
+ const MenuContent = styledComponents.styled(designSystem.Menu.Content)`
86
+ /* two-line items: the icon lines up with the title */
87
+ [role='menuitem'] {
88
+ align-items: flex-start;
89
+ padding-block: ${({ theme })=>theme.spaces[2]};
90
+
91
+ > span:first-child {
92
+ margin-top: 2px;
93
+ }
94
+ }
95
+ `;
96
+
97
+ exports.AddComponentMenuContent = AddComponentMenuContent;
98
+ //# sourceMappingURL=AddComponentMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddComponentMenu.js","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Component/AddComponentMenu.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, Menu, Typography } from '@strapi/design-system';\nimport { Duplicate, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTranslation } from '../../../../../utils/translations';\n\ninterface AddComponentMenuContentProps {\n /**\n * What the menu adds: an entry of a component field, or a component of a dynamic zone.\n */\n kind: 'entry' | 'component';\n onAddEmpty: () => void;\n onCopy: () => void;\n}\n\n/**\n * The choices offered when adding a component to a field that can also copy one from another\n * entry: start from blank fields, or pick existing content.\n */\nconst AddComponentMenuContent = ({ kind, onAddEmpty, onCopy }: AddComponentMenuContentProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <MenuContent minWidth=\"30rem\" maxHeight=\"none\" popoverPlacement=\"bottom-center\">\n <Menu.Item onSelect={onAddEmpty} startIcon={<Plus />}>\n <Flex tag=\"span\" direction=\"column\" alignItems=\"flex-start\">\n <Typography tag=\"span\" fontWeight=\"bold\" textColor=\"neutral800\">\n {kind === 'entry'\n ? formatMessage({\n id: getTranslation('components.AddComponentMenu.empty.entry'),\n defaultMessage: 'Empty entry',\n })\n : formatMessage({\n id: getTranslation('components.AddComponentMenu.empty.component'),\n defaultMessage: 'Empty component',\n })}\n </Typography>\n <Typography tag=\"span\" variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('components.AddComponentMenu.empty.hint'),\n defaultMessage: 'Start with blank fields',\n })}\n </Typography>\n </Flex>\n </Menu.Item>\n <Menu.Item onSelect={onCopy} startIcon={<Duplicate />}>\n <Flex tag=\"span\" direction=\"column\" alignItems=\"flex-start\">\n <Typography tag=\"span\" fontWeight=\"bold\" textColor=\"neutral800\">\n {formatMessage({\n id: getTranslation('components.AddComponentMenu.copy'),\n defaultMessage: 'Use existing content…',\n })}\n </Typography>\n <Typography tag=\"span\" variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('components.AddComponentMenu.copy.hint'),\n defaultMessage: 'From another entry',\n })}\n </Typography>\n </Flex>\n </Menu.Item>\n </MenuContent>\n );\n};\n\nconst MenuContent = styled(Menu.Content)`\n /* two-line items: the icon lines up with the title */\n [role='menuitem'] {\n align-items: flex-start;\n padding-block: ${({ theme }) => theme.spaces[2]};\n\n > span:first-child {\n margin-top: 2px;\n }\n }\n`;\n\nexport { AddComponentMenuContent };\nexport type { AddComponentMenuContentProps };\n"],"names":["AddComponentMenuContent","kind","onAddEmpty","onCopy","formatMessage","useIntl","_jsxs","MenuContent","minWidth","maxHeight","popoverPlacement","_jsx","Menu","Item","onSelect","startIcon","Plus","Flex","tag","direction","alignItems","Typography","fontWeight","textColor","id","getTranslation","defaultMessage","variant","Duplicate","styled","Content","theme","spaces"],"mappings":";;;;;;;;;;AAkBA;;;IAIA,MAAMA,0BAA0B,CAAC,EAAEC,IAAI,EAAEC,UAAU,EAAEC,MAAM,EAAgC,GAAA;IACzF,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,qBACEC,eAAA,CAACC,WAAAA,EAAAA;QAAYC,QAAAA,EAAS,OAAA;QAAQC,SAAAA,EAAU,MAAA;QAAOC,gBAAAA,EAAiB,eAAA;;AAC9D,0BAAAC,cAAA,CAACC,kBAAKC,IAAI,EAAA;gBAACC,QAAAA,EAAUZ,UAAAA;AAAYa,gBAAAA,SAAAA,gBAAWJ,cAAA,CAACK,UAAAA,EAAAA,EAAAA,CAAAA;AAC3C,gBAAA,QAAA,gBAAAV,eAAA,CAACW,iBAAAA,EAAAA;oBAAKC,GAAAA,EAAI,MAAA;oBAAOC,SAAAA,EAAU,QAAA;oBAASC,UAAAA,EAAW,YAAA;;sCAC7CT,cAAA,CAACU,uBAAAA,EAAAA;4BAAWH,GAAAA,EAAI,MAAA;4BAAOI,UAAAA,EAAW,MAAA;4BAAOC,SAAAA,EAAU,YAAA;AAChDtB,4BAAAA,QAAAA,EAAAA,IAAAA,KAAS,UACNG,aAAAA,CAAc;AACZoB,gCAAAA,EAAAA,EAAIC,2BAAAA,CAAe,yCAAA,CAAA;gCACnBC,cAAAA,EAAgB;AAClB,6BAAA,CAAA,GACAtB,aAAAA,CAAc;AACZoB,gCAAAA,EAAAA,EAAIC,2BAAAA,CAAe,6CAAA,CAAA;gCACnBC,cAAAA,EAAgB;AAClB,6BAAA;;sCAENf,cAAA,CAACU,uBAAAA,EAAAA;4BAAWH,GAAAA,EAAI,MAAA;4BAAOS,OAAAA,EAAQ,IAAA;4BAAKJ,SAAAA,EAAU,YAAA;sCAC3CnB,aAAAA,CAAc;AACboB,gCAAAA,EAAAA,EAAIC,2BAAAA,CAAe,wCAAA,CAAA;gCACnBC,cAAAA,EAAgB;AAClB,6BAAA;;;;;AAIN,0BAAAf,cAAA,CAACC,kBAAKC,IAAI,EAAA;gBAACC,QAAAA,EAAUX,MAAAA;AAAQY,gBAAAA,SAAAA,gBAAWJ,cAAA,CAACiB,eAAAA,EAAAA,EAAAA,CAAAA;AACvC,gBAAA,QAAA,gBAAAtB,eAAA,CAACW,iBAAAA,EAAAA;oBAAKC,GAAAA,EAAI,MAAA;oBAAOC,SAAAA,EAAU,QAAA;oBAASC,UAAAA,EAAW,YAAA;;sCAC7CT,cAAA,CAACU,uBAAAA,EAAAA;4BAAWH,GAAAA,EAAI,MAAA;4BAAOI,UAAAA,EAAW,MAAA;4BAAOC,SAAAA,EAAU,YAAA;sCAChDnB,aAAAA,CAAc;AACboB,gCAAAA,EAAAA,EAAIC,2BAAAA,CAAe,kCAAA,CAAA;gCACnBC,cAAAA,EAAgB;AAClB,6BAAA;;sCAEFf,cAAA,CAACU,uBAAAA,EAAAA;4BAAWH,GAAAA,EAAI,MAAA;4BAAOS,OAAAA,EAAQ,IAAA;4BAAKJ,SAAAA,EAAU,YAAA;sCAC3CnB,aAAAA,CAAc;AACboB,gCAAAA,EAAAA,EAAIC,2BAAAA,CAAe,uCAAA,CAAA;gCACnBC,cAAAA,EAAgB;AAClB,6BAAA;;;;;;;AAMZ;AAEA,MAAMnB,WAAAA,GAAcsB,uBAAAA,CAAOjB,iBAAAA,CAAKkB,OAAO,CAAC;;;;mBAIrB,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAAC,CAAA,CAAE,CAAC;;;;;;AAMpD,CAAC;;;;"}
@@ -0,0 +1,96 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import 'react';
3
+ import { Menu, Flex, Typography } from '@strapi/design-system';
4
+ import { Plus, Duplicate } from '@strapi/icons';
5
+ import { useIntl } from 'react-intl';
6
+ import { styled } from 'styled-components';
7
+ import { getTranslation } from '../../../../../utils/translations.mjs';
8
+
9
+ /**
10
+ * The choices offered when adding a component to a field that can also copy one from another
11
+ * entry: start from blank fields, or pick existing content.
12
+ */ const AddComponentMenuContent = ({ kind, onAddEmpty, onCopy })=>{
13
+ const { formatMessage } = useIntl();
14
+ return /*#__PURE__*/ jsxs(MenuContent, {
15
+ minWidth: "30rem",
16
+ maxHeight: "none",
17
+ popoverPlacement: "bottom-center",
18
+ children: [
19
+ /*#__PURE__*/ jsx(Menu.Item, {
20
+ onSelect: onAddEmpty,
21
+ startIcon: /*#__PURE__*/ jsx(Plus, {}),
22
+ children: /*#__PURE__*/ jsxs(Flex, {
23
+ tag: "span",
24
+ direction: "column",
25
+ alignItems: "flex-start",
26
+ children: [
27
+ /*#__PURE__*/ jsx(Typography, {
28
+ tag: "span",
29
+ fontWeight: "bold",
30
+ textColor: "neutral800",
31
+ children: kind === 'entry' ? formatMessage({
32
+ id: getTranslation('components.AddComponentMenu.empty.entry'),
33
+ defaultMessage: 'Empty entry'
34
+ }) : formatMessage({
35
+ id: getTranslation('components.AddComponentMenu.empty.component'),
36
+ defaultMessage: 'Empty component'
37
+ })
38
+ }),
39
+ /*#__PURE__*/ jsx(Typography, {
40
+ tag: "span",
41
+ variant: "pi",
42
+ textColor: "neutral600",
43
+ children: formatMessage({
44
+ id: getTranslation('components.AddComponentMenu.empty.hint'),
45
+ defaultMessage: 'Start with blank fields'
46
+ })
47
+ })
48
+ ]
49
+ })
50
+ }),
51
+ /*#__PURE__*/ jsx(Menu.Item, {
52
+ onSelect: onCopy,
53
+ startIcon: /*#__PURE__*/ jsx(Duplicate, {}),
54
+ children: /*#__PURE__*/ jsxs(Flex, {
55
+ tag: "span",
56
+ direction: "column",
57
+ alignItems: "flex-start",
58
+ children: [
59
+ /*#__PURE__*/ jsx(Typography, {
60
+ tag: "span",
61
+ fontWeight: "bold",
62
+ textColor: "neutral800",
63
+ children: formatMessage({
64
+ id: getTranslation('components.AddComponentMenu.copy'),
65
+ defaultMessage: 'Use existing content…'
66
+ })
67
+ }),
68
+ /*#__PURE__*/ jsx(Typography, {
69
+ tag: "span",
70
+ variant: "pi",
71
+ textColor: "neutral600",
72
+ children: formatMessage({
73
+ id: getTranslation('components.AddComponentMenu.copy.hint'),
74
+ defaultMessage: 'From another entry'
75
+ })
76
+ })
77
+ ]
78
+ })
79
+ })
80
+ ]
81
+ });
82
+ };
83
+ const MenuContent = styled(Menu.Content)`
84
+ /* two-line items: the icon lines up with the title */
85
+ [role='menuitem'] {
86
+ align-items: flex-start;
87
+ padding-block: ${({ theme })=>theme.spaces[2]};
88
+
89
+ > span:first-child {
90
+ margin-top: 2px;
91
+ }
92
+ }
93
+ `;
94
+
95
+ export { AddComponentMenuContent };
96
+ //# sourceMappingURL=AddComponentMenu.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddComponentMenu.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Component/AddComponentMenu.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, Menu, Typography } from '@strapi/design-system';\nimport { Duplicate, Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTranslation } from '../../../../../utils/translations';\n\ninterface AddComponentMenuContentProps {\n /**\n * What the menu adds: an entry of a component field, or a component of a dynamic zone.\n */\n kind: 'entry' | 'component';\n onAddEmpty: () => void;\n onCopy: () => void;\n}\n\n/**\n * The choices offered when adding a component to a field that can also copy one from another\n * entry: start from blank fields, or pick existing content.\n */\nconst AddComponentMenuContent = ({ kind, onAddEmpty, onCopy }: AddComponentMenuContentProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <MenuContent minWidth=\"30rem\" maxHeight=\"none\" popoverPlacement=\"bottom-center\">\n <Menu.Item onSelect={onAddEmpty} startIcon={<Plus />}>\n <Flex tag=\"span\" direction=\"column\" alignItems=\"flex-start\">\n <Typography tag=\"span\" fontWeight=\"bold\" textColor=\"neutral800\">\n {kind === 'entry'\n ? formatMessage({\n id: getTranslation('components.AddComponentMenu.empty.entry'),\n defaultMessage: 'Empty entry',\n })\n : formatMessage({\n id: getTranslation('components.AddComponentMenu.empty.component'),\n defaultMessage: 'Empty component',\n })}\n </Typography>\n <Typography tag=\"span\" variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('components.AddComponentMenu.empty.hint'),\n defaultMessage: 'Start with blank fields',\n })}\n </Typography>\n </Flex>\n </Menu.Item>\n <Menu.Item onSelect={onCopy} startIcon={<Duplicate />}>\n <Flex tag=\"span\" direction=\"column\" alignItems=\"flex-start\">\n <Typography tag=\"span\" fontWeight=\"bold\" textColor=\"neutral800\">\n {formatMessage({\n id: getTranslation('components.AddComponentMenu.copy'),\n defaultMessage: 'Use existing content…',\n })}\n </Typography>\n <Typography tag=\"span\" variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: getTranslation('components.AddComponentMenu.copy.hint'),\n defaultMessage: 'From another entry',\n })}\n </Typography>\n </Flex>\n </Menu.Item>\n </MenuContent>\n );\n};\n\nconst MenuContent = styled(Menu.Content)`\n /* two-line items: the icon lines up with the title */\n [role='menuitem'] {\n align-items: flex-start;\n padding-block: ${({ theme }) => theme.spaces[2]};\n\n > span:first-child {\n margin-top: 2px;\n }\n }\n`;\n\nexport { AddComponentMenuContent };\nexport type { AddComponentMenuContentProps };\n"],"names":["AddComponentMenuContent","kind","onAddEmpty","onCopy","formatMessage","useIntl","_jsxs","MenuContent","minWidth","maxHeight","popoverPlacement","_jsx","Menu","Item","onSelect","startIcon","Plus","Flex","tag","direction","alignItems","Typography","fontWeight","textColor","id","getTranslation","defaultMessage","variant","Duplicate","styled","Content","theme","spaces"],"mappings":";;;;;;;;AAkBA;;;IAIA,MAAMA,0BAA0B,CAAC,EAAEC,IAAI,EAAEC,UAAU,EAAEC,MAAM,EAAgC,GAAA;IACzF,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,qBACEC,IAAA,CAACC,WAAAA,EAAAA;QAAYC,QAAAA,EAAS,OAAA;QAAQC,SAAAA,EAAU,MAAA;QAAOC,gBAAAA,EAAiB,eAAA;;AAC9D,0BAAAC,GAAA,CAACC,KAAKC,IAAI,EAAA;gBAACC,QAAAA,EAAUZ,UAAAA;AAAYa,gBAAAA,SAAAA,gBAAWJ,GAAA,CAACK,IAAAA,EAAAA,EAAAA,CAAAA;AAC3C,gBAAA,QAAA,gBAAAV,IAAA,CAACW,IAAAA,EAAAA;oBAAKC,GAAAA,EAAI,MAAA;oBAAOC,SAAAA,EAAU,QAAA;oBAASC,UAAAA,EAAW,YAAA;;sCAC7CT,GAAA,CAACU,UAAAA,EAAAA;4BAAWH,GAAAA,EAAI,MAAA;4BAAOI,UAAAA,EAAW,MAAA;4BAAOC,SAAAA,EAAU,YAAA;AAChDtB,4BAAAA,QAAAA,EAAAA,IAAAA,KAAS,UACNG,aAAAA,CAAc;AACZoB,gCAAAA,EAAAA,EAAIC,cAAAA,CAAe,yCAAA,CAAA;gCACnBC,cAAAA,EAAgB;AAClB,6BAAA,CAAA,GACAtB,aAAAA,CAAc;AACZoB,gCAAAA,EAAAA,EAAIC,cAAAA,CAAe,6CAAA,CAAA;gCACnBC,cAAAA,EAAgB;AAClB,6BAAA;;sCAENf,GAAA,CAACU,UAAAA,EAAAA;4BAAWH,GAAAA,EAAI,MAAA;4BAAOS,OAAAA,EAAQ,IAAA;4BAAKJ,SAAAA,EAAU,YAAA;sCAC3CnB,aAAAA,CAAc;AACboB,gCAAAA,EAAAA,EAAIC,cAAAA,CAAe,wCAAA,CAAA;gCACnBC,cAAAA,EAAgB;AAClB,6BAAA;;;;;AAIN,0BAAAf,GAAA,CAACC,KAAKC,IAAI,EAAA;gBAACC,QAAAA,EAAUX,MAAAA;AAAQY,gBAAAA,SAAAA,gBAAWJ,GAAA,CAACiB,SAAAA,EAAAA,EAAAA,CAAAA;AACvC,gBAAA,QAAA,gBAAAtB,IAAA,CAACW,IAAAA,EAAAA;oBAAKC,GAAAA,EAAI,MAAA;oBAAOC,SAAAA,EAAU,QAAA;oBAASC,UAAAA,EAAW,YAAA;;sCAC7CT,GAAA,CAACU,UAAAA,EAAAA;4BAAWH,GAAAA,EAAI,MAAA;4BAAOI,UAAAA,EAAW,MAAA;4BAAOC,SAAAA,EAAU,YAAA;sCAChDnB,aAAAA,CAAc;AACboB,gCAAAA,EAAAA,EAAIC,cAAAA,CAAe,kCAAA,CAAA;gCACnBC,cAAAA,EAAgB;AAClB,6BAAA;;sCAEFf,GAAA,CAACU,UAAAA,EAAAA;4BAAWH,GAAAA,EAAI,MAAA;4BAAOS,OAAAA,EAAQ,IAAA;4BAAKJ,SAAAA,EAAU,YAAA;sCAC3CnB,aAAAA,CAAc;AACboB,gCAAAA,EAAAA,EAAIC,cAAAA,CAAe,uCAAA,CAAA;gCACnBC,cAAAA,EAAgB;AAClB,6BAAA;;;;;;;AAMZ;AAEA,MAAMnB,WAAAA,GAAcsB,MAAAA,CAAOjB,IAAAA,CAAKkB,OAAO,CAAC;;;;mBAIrB,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAAC,CAAA,CAAE,CAAC;;;;;;AAMpD,CAAC;;;;"}