@payloadcms/ui 3.55.0-internal.ce8fe55 → 3.55.0-internal.df60e35

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 (169) hide show
  1. package/dist/elements/Autosave/index.js +2 -2
  2. package/dist/elements/Autosave/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/EditForm/index.js +4 -18
  4. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  5. package/dist/elements/ClipboardAction/index.js +173 -74
  6. package/dist/elements/ClipboardAction/index.js.map +1 -1
  7. package/dist/elements/CodeEditor/CodeEditor.js +155 -67
  8. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  9. package/dist/elements/Collapsible/index.js +15 -7
  10. package/dist/elements/Collapsible/index.js.map +1 -1
  11. package/dist/elements/ConfirmationModal/index.js +44 -8
  12. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  13. package/dist/elements/CopyLocaleData/index.js +97 -89
  14. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  15. package/dist/elements/CopyToClipboard/index.js +22 -2
  16. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  17. package/dist/elements/DeleteMany/index.js +83 -47
  18. package/dist/elements/DeleteMany/index.js.map +1 -1
  19. package/dist/elements/DocumentControls/index.js +55 -27
  20. package/dist/elements/DocumentControls/index.js.map +1 -1
  21. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +10 -2
  22. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  23. package/dist/elements/DocumentDrawer/index.js +99 -47
  24. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  25. package/dist/elements/Drawer/index.js +57 -23
  26. package/dist/elements/Drawer/index.js.map +1 -1
  27. package/dist/elements/DrawerActionHeader/index.js +21 -3
  28. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  29. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +225 -149
  30. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  31. package/dist/elements/FolderView/FolderFileCard/index.js +27 -19
  32. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  33. package/dist/elements/FolderView/MoveDocToFolder/index.js +23 -12
  34. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  35. package/dist/elements/FullscreenModal/index.js +20 -10
  36. package/dist/elements/FullscreenModal/index.js.map +1 -1
  37. package/dist/elements/ListDrawer/index.js +24 -18
  38. package/dist/elements/ListDrawer/index.js.map +1 -1
  39. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +32 -19
  40. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  41. package/dist/elements/ListHeaderTabs/DefaultListPill.js +8 -15
  42. package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +1 -1
  43. package/dist/elements/ListSelection/index.js +27 -11
  44. package/dist/elements/ListSelection/index.js.map +1 -1
  45. package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
  46. package/dist/elements/LivePreview/Window/index.js +152 -71
  47. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  48. package/dist/elements/Loading/index.js +11 -2
  49. package/dist/elements/Loading/index.js.map +1 -1
  50. package/dist/elements/LoadingOverlay/index.js +102 -46
  51. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  52. package/dist/elements/Localizer/LocalizerLabel/index.js +36 -23
  53. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  54. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +139 -41
  55. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  56. package/dist/elements/RenderIfInViewport/index.d.ts +2 -2
  57. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -1
  58. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  59. package/dist/elements/SelectRow/index.js +40 -39
  60. package/dist/elements/SelectRow/index.js.map +1 -1
  61. package/dist/elements/ShimmerEffect/index.js +12 -20
  62. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  63. package/dist/elements/SortColumn/index.js +30 -21
  64. package/dist/elements/SortColumn/index.js.map +1 -1
  65. package/dist/elements/Status/index.d.ts.map +1 -1
  66. package/dist/elements/Status/index.js +19 -9
  67. package/dist/elements/Status/index.js.map +1 -1
  68. package/dist/elements/Table/DefaultCell/fields/Date/index.js +37 -9
  69. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  70. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +37 -35
  71. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  72. package/dist/elements/Table/DefaultCell/fields/Select/index.js +27 -12
  73. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  74. package/dist/elements/Thumbnail/index.js +75 -35
  75. package/dist/elements/Thumbnail/index.js.map +1 -1
  76. package/dist/elements/ThumbnailCard/index.js +26 -17
  77. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  78. package/dist/elements/Tooltip/index.js +127 -51
  79. package/dist/elements/Tooltip/index.js.map +1 -1
  80. package/dist/elements/Upload/index.js +10 -2
  81. package/dist/elements/Upload/index.js.map +1 -1
  82. package/dist/elements/WhereBuilder/Condition/Select/index.js +44 -31
  83. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  84. package/dist/exports/client/{CodeEditor-O6BWJHD2.js → CodeEditor-MIIBUJZ4.js} +2 -2
  85. package/dist/exports/client/{DatePicker-F432AIH3.js → DatePicker-NMDEHPWL.js} +2 -2
  86. package/dist/exports/client/{chunk-AZDI6MW4.js → chunk-7RGKTZG2.js} +1 -1
  87. package/dist/exports/client/{chunk-AZDI6MW4.js.map → chunk-7RGKTZG2.js.map} +1 -1
  88. package/dist/exports/client/{chunk-FXAFULZQ.js → chunk-Z6O2JA43.js} +6 -6
  89. package/dist/exports/client/{chunk-FXAFULZQ.js.map → chunk-Z6O2JA43.js.map} +3 -3
  90. package/dist/exports/client/index.d.ts +2 -4
  91. package/dist/exports/client/index.d.ts.map +1 -1
  92. package/dist/exports/client/index.js +24 -24
  93. package/dist/exports/client/index.js.map +4 -4
  94. package/dist/exports/rsc/index.d.ts +0 -1
  95. package/dist/exports/rsc/index.d.ts.map +1 -1
  96. package/dist/exports/rsc/index.js +0 -1
  97. package/dist/exports/rsc/index.js.map +1 -1
  98. package/dist/fields/Array/ArrayRow.d.ts +3 -2
  99. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  100. package/dist/fields/Array/ArrayRow.js +23 -13
  101. package/dist/fields/Array/ArrayRow.js.map +1 -1
  102. package/dist/fields/Array/index.js +477 -273
  103. package/dist/fields/Array/index.js.map +1 -1
  104. package/dist/fields/Checkbox/Input.js +19 -2
  105. package/dist/fields/Checkbox/Input.js.map +1 -1
  106. package/dist/fields/FieldError/index.js +29 -30
  107. package/dist/fields/FieldError/index.js.map +1 -1
  108. package/dist/fields/FieldLabel/index.js +64 -12
  109. package/dist/fields/FieldLabel/index.js.map +1 -1
  110. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +103 -45
  111. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  112. package/dist/fields/Relationship/select-components/SingleValue/index.js +44 -29
  113. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  114. package/dist/fields/Row/index.d.ts +3 -1
  115. package/dist/fields/Row/index.d.ts.map +1 -1
  116. package/dist/fields/Select/Input.js +31 -18
  117. package/dist/fields/Select/Input.js.map +1 -1
  118. package/dist/fields/Tabs/Tab/index.js +11 -2
  119. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  120. package/dist/fields/Tabs/index.d.ts +1 -2
  121. package/dist/fields/Tabs/index.d.ts.map +1 -1
  122. package/dist/fields/Tabs/index.js +225 -185
  123. package/dist/fields/Tabs/index.js.map +1 -1
  124. package/dist/fields/Upload/RelationshipContent/index.js +127 -79
  125. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  126. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  127. package/dist/forms/Form/fieldReducer.js +15 -13
  128. package/dist/forms/Form/fieldReducer.js.map +1 -1
  129. package/dist/forms/RenderFields/RenderField.js +237 -245
  130. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  131. package/dist/forms/RenderFields/types.d.ts +10 -2
  132. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  133. package/dist/forms/RenderFields/types.js.map +1 -1
  134. package/dist/forms/useField/index.d.ts +0 -5
  135. package/dist/forms/useField/index.d.ts.map +1 -1
  136. package/dist/forms/useField/index.js +45 -74
  137. package/dist/forms/useField/index.js.map +1 -1
  138. package/dist/hooks/useIntersect.js +53 -35
  139. package/dist/hooks/useIntersect.js.map +1 -1
  140. package/dist/hooks/usePayloadAPI.js +44 -36
  141. package/dist/hooks/usePayloadAPI.js.map +1 -1
  142. package/dist/providers/LivePreview/context.d.ts +0 -2
  143. package/dist/providers/LivePreview/context.d.ts.map +1 -1
  144. package/dist/providers/LivePreview/context.js +0 -1
  145. package/dist/providers/LivePreview/context.js.map +1 -1
  146. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  147. package/dist/providers/LivePreview/index.js +0 -12
  148. package/dist/providers/LivePreview/index.js.map +1 -1
  149. package/dist/providers/ServerFunctions/index.d.ts +1 -4
  150. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  151. package/dist/providers/ServerFunctions/index.js +0 -13
  152. package/dist/providers/ServerFunctions/index.js.map +1 -1
  153. package/dist/styles.css +1 -1
  154. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  155. package/dist/utilities/reduceFieldsToOptions.js +16 -1
  156. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  157. package/dist/views/BrowseByFolder/index.js +55 -37
  158. package/dist/views/BrowseByFolder/index.js.map +1 -1
  159. package/dist/views/CollectionFolder/index.js +40 -13
  160. package/dist/views/CollectionFolder/index.js.map +1 -1
  161. package/dist/views/Edit/Auth/index.js +105 -93
  162. package/dist/views/Edit/Auth/index.js.map +1 -1
  163. package/package.json +8 -8
  164. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +0 -30
  165. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +0 -1
  166. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +0 -82
  167. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +0 -1
  168. /package/dist/exports/client/{CodeEditor-O6BWJHD2.js.map → CodeEditor-MIIBUJZ4.js.map} +0 -0
  169. /package/dist/exports/client/{DatePicker-F432AIH3.js.map → DatePicker-NMDEHPWL.js.map} +0 -0
@@ -19,41 +19,87 @@ const formatDocumentDrawerSlug = ({
19
19
  uuid
20
20
  }) => `doc-drawer_${collectionSlug}_${depth}${id ? `_${id}` : ''}_${uuid}`;
21
21
  export const DocumentDrawerToggler = t0 => {
22
- const $ = _c(2);
23
- const {
24
- children,
25
- className,
26
- collectionSlug,
27
- disabled,
28
- drawerSlug,
29
- onClick,
30
- operation,
31
- ...rest
32
- } = t0;
22
+ const $ = _c(21);
23
+ let children;
24
+ let className;
25
+ let collectionSlug;
26
+ let disabled;
27
+ let drawerSlug;
28
+ let onClick;
29
+ let operation;
30
+ let rest;
31
+ if ($[0] !== t0) {
32
+ ({
33
+ children,
34
+ className,
35
+ collectionSlug,
36
+ disabled,
37
+ drawerSlug,
38
+ onClick,
39
+ operation,
40
+ ...rest
41
+ } = t0);
42
+ $[0] = t0;
43
+ $[1] = children;
44
+ $[2] = className;
45
+ $[3] = collectionSlug;
46
+ $[4] = disabled;
47
+ $[5] = drawerSlug;
48
+ $[6] = onClick;
49
+ $[7] = operation;
50
+ $[8] = rest;
51
+ } else {
52
+ children = $[1];
53
+ className = $[2];
54
+ collectionSlug = $[3];
55
+ disabled = $[4];
56
+ drawerSlug = $[5];
57
+ onClick = $[6];
58
+ operation = $[7];
59
+ rest = $[8];
60
+ }
33
61
  const {
34
62
  t
35
63
  } = useTranslation();
36
64
  const [collectionConfig] = useRelatedCollections(collectionSlug);
37
- const t1 = t(operation === "create" ? "fields:addNewLabel" : "general:editLabel", {
38
- label: collectionConfig?.labels.singular
39
- });
40
- let t2;
41
- if ($[0] !== className) {
42
- t2 = [className, `${documentDrawerBaseClass}__toggler`].filter(Boolean);
43
- $[0] = className;
44
- $[1] = t2;
65
+ const t1 = operation === "create" ? "fields:addNewLabel" : "general:editLabel";
66
+ const t2 = collectionConfig?.labels.singular;
67
+ let t3;
68
+ if ($[9] !== children || $[10] !== className || $[11] !== disabled || $[12] !== drawerSlug || $[13] !== onClick || $[14] !== rest || $[15] !== t || $[16] !== t1 || $[17] !== t2) {
69
+ const t4 = t(t1, {
70
+ label: t2
71
+ });
72
+ let t5;
73
+ if ($[19] !== className) {
74
+ t5 = [className, `${documentDrawerBaseClass}__toggler`].filter(Boolean);
75
+ $[19] = className;
76
+ $[20] = t5;
77
+ } else {
78
+ t5 = $[20];
79
+ }
80
+ t3 = _jsx(DrawerToggler, {
81
+ "aria-label": t4,
82
+ className: t5.join(" "),
83
+ disabled,
84
+ onClick,
85
+ slug: drawerSlug,
86
+ ...rest,
87
+ children
88
+ });
89
+ $[9] = children;
90
+ $[10] = className;
91
+ $[11] = disabled;
92
+ $[12] = drawerSlug;
93
+ $[13] = onClick;
94
+ $[14] = rest;
95
+ $[15] = t;
96
+ $[16] = t1;
97
+ $[17] = t2;
98
+ $[18] = t3;
45
99
  } else {
46
- t2 = $[1];
100
+ t3 = $[18];
47
101
  }
48
- return _jsx(DrawerToggler, {
49
- "aria-label": t1,
50
- className: t2.join(" "),
51
- disabled,
52
- onClick,
53
- slug: drawerSlug,
54
- ...rest,
55
- children
56
- });
102
+ return t3;
57
103
  };
58
104
  export const DocumentDrawer = props => {
59
105
  const {
@@ -174,8 +220,9 @@ export const useDocumentDrawer = t0 => {
174
220
  }
175
221
  const openDrawer = t6;
176
222
  let t7;
223
+ let t8;
177
224
  if ($[18] !== collectionSlug || $[19] !== drawerSlug || $[20] !== id || $[21] !== overrideEntityVisibility) {
178
- t7 = props => _createElement(DocumentDrawer, {
225
+ t8 = props => _createElement(DocumentDrawer, {
179
226
  ...props,
180
227
  collectionSlug,
181
228
  drawerSlug,
@@ -187,14 +234,16 @@ export const useDocumentDrawer = t0 => {
187
234
  $[19] = drawerSlug;
188
235
  $[20] = id;
189
236
  $[21] = overrideEntityVisibility;
190
- $[22] = t7;
237
+ $[22] = t8;
191
238
  } else {
192
- t7 = $[22];
239
+ t8 = $[22];
193
240
  }
241
+ t7 = t8;
194
242
  const MemoizedDrawer = t7;
195
- let t8;
243
+ let t9;
244
+ let t10;
196
245
  if ($[23] !== collectionSlug || $[24] !== drawerSlug || $[25] !== id) {
197
- t8 = props_0 => _jsx(DocumentDrawerToggler, {
246
+ t10 = props_0 => _jsx(DocumentDrawerToggler, {
198
247
  ...props_0,
199
248
  collectionSlug,
200
249
  drawerSlug,
@@ -203,14 +252,16 @@ export const useDocumentDrawer = t0 => {
203
252
  $[23] = collectionSlug;
204
253
  $[24] = drawerSlug;
205
254
  $[25] = id;
206
- $[26] = t8;
255
+ $[26] = t10;
207
256
  } else {
208
- t8 = $[26];
257
+ t10 = $[26];
209
258
  }
210
- const MemoizedDrawerToggler = t8;
211
- let t9;
259
+ t9 = t10;
260
+ const MemoizedDrawerToggler = t9;
261
+ let t11;
262
+ let t12;
212
263
  if ($[27] !== closeDrawer || $[28] !== drawerSlug || $[29] !== editDepth || $[30] !== isOpen || $[31] !== openDrawer || $[32] !== toggleDrawer) {
213
- t9 = {
264
+ t12 = {
214
265
  closeDrawer,
215
266
  drawerDepth: editDepth,
216
267
  drawerSlug,
@@ -224,21 +275,22 @@ export const useDocumentDrawer = t0 => {
224
275
  $[30] = isOpen;
225
276
  $[31] = openDrawer;
226
277
  $[32] = toggleDrawer;
227
- $[33] = t9;
278
+ $[33] = t12;
228
279
  } else {
229
- t9 = $[33];
280
+ t12 = $[33];
230
281
  }
231
- const MemoizedDrawerState = t9;
232
- let t10;
282
+ t11 = t12;
283
+ const MemoizedDrawerState = t11;
284
+ let t13;
233
285
  if ($[34] !== MemoizedDrawer || $[35] !== MemoizedDrawerState || $[36] !== MemoizedDrawerToggler) {
234
- t10 = [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState];
286
+ t13 = [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState];
235
287
  $[34] = MemoizedDrawer;
236
288
  $[35] = MemoizedDrawerState;
237
289
  $[36] = MemoizedDrawerToggler;
238
- $[37] = t10;
290
+ $[37] = t13;
239
291
  } else {
240
- t10 = $[37];
292
+ t13 = $[37];
241
293
  }
242
- return t10;
294
+ return t13;
243
295
  };
244
296
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useEffect","useId","useMemo","useState","useRelatedCollections","useEditDepth","useTranslation","Drawer","DrawerToggler","DocumentDrawerContent","documentDrawerBaseClass","formatDocumentDrawerSlug","id","collectionSlug","depth","uuid","DocumentDrawerToggler","t0","$","children","className","disabled","drawerSlug","onClick","operation","rest","t","collectionConfig","t1","label","labels","singular","t2","filter","Boolean","_jsx","join","slug","DocumentDrawer","props","gutter","Header","useDocumentDrawer","overrideEntityVisibility","editDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","t3","t4","toggleDrawer","t5","closeDrawer","t6","openDrawer","t7","_createElement","key","MemoizedDrawer","t8","props_0","MemoizedDrawerToggler","t9","drawerDepth","isDrawerOpen","MemoizedDrawerState","t10"],"sources":["../../../src/elements/DocumentDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type {\n DocumentDrawerProps,\n DocumentTogglerProps,\n UseDocumentDrawer,\n UseDocumentDrawerContext,\n} from './types.js'\n\nimport { useRelatedCollections } from '../../hooks/useRelatedCollections.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { DocumentDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const documentDrawerBaseClass = 'doc-drawer'\n\nconst formatDocumentDrawerSlug = ({\n id,\n collectionSlug,\n depth,\n uuid,\n}: {\n collectionSlug: string\n depth: number\n id?: number | string\n uuid: string\n}) => `doc-drawer_${collectionSlug}_${depth}${id ? `_${id}` : ''}_${uuid}`\n\nexport const DocumentDrawerToggler: React.FC<DocumentTogglerProps> = ({\n children,\n className,\n collectionSlug,\n disabled,\n drawerSlug,\n onClick,\n operation,\n ...rest\n}) => {\n const { t } = useTranslation()\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n return (\n <DrawerToggler\n aria-label={t(operation === 'create' ? 'fields:addNewLabel' : 'general:editLabel', {\n label: collectionConfig?.labels.singular,\n })}\n className={[className, `${documentDrawerBaseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n onClick={onClick}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const DocumentDrawer: React.FC<DocumentDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer className={documentDrawerBaseClass} gutter={false} Header={null} slug={drawerSlug}>\n <DocumentDrawerContent {...props} />\n </Drawer>\n )\n}\n\n/**\n * A hook to manage documents from a drawer modal.\n * It provides the components and methods needed to open, close, and interact with the drawer.\n * @example\n * const [DocumentDrawer, DocumentDrawerToggler, { openDrawer, closeDrawer }] = useDocumentDrawer({\n * collectionSlug: 'posts',\n * id: postId, // optional, if not provided, it will render the \"create new\" view\n * })\n *\n * // ...\n *\n * return (\n * <div>\n * <DocumentDrawerToggler collectionSlug=\"posts\" id={postId}>\n * Edit Post\n * </DocumentDrawerToggler>\n * <DocumentDrawer collectionSlug=\"posts\" id={postId} />\n * </div>\n */\nexport const useDocumentDrawer: UseDocumentDrawer = ({\n id,\n collectionSlug,\n overrideEntityVisibility,\n}) => {\n const editDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n\n const drawerSlug = formatDocumentDrawerSlug({\n id,\n collectionSlug,\n depth: editDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [closeModal, drawerSlug])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [openModal, drawerSlug])\n\n const MemoizedDrawer = useMemo<React.FC<DocumentDrawerProps>>(() => {\n return (props) => (\n <DocumentDrawer\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n id={id}\n key={drawerSlug}\n overrideEntityVisibility={overrideEntityVisibility}\n />\n )\n }, [id, drawerSlug, collectionSlug, overrideEntityVisibility])\n\n const MemoizedDrawerToggler = useMemo<React.FC<DocumentTogglerProps>>(() => {\n return (props) => (\n <DocumentDrawerToggler\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n operation={!id ? 'create' : 'update'}\n />\n )\n }, [id, drawerSlug, collectionSlug])\n\n const MemoizedDrawerState = useMemo<UseDocumentDrawerContext>(\n () => ({\n closeDrawer,\n drawerDepth: editDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [editDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useEffect","useId","useMemo","useState","useRelatedCollections","useEditDepth","useTranslation","Drawer","DrawerToggler","DocumentDrawerContent","documentDrawerBaseClass","formatDocumentDrawerSlug","id","collectionSlug","depth","uuid","DocumentDrawerToggler","t0","$","children","className","disabled","drawerSlug","onClick","operation","rest","t","collectionConfig","t1","t2","labels","singular","t3","t4","label","t5","filter","Boolean","_jsx","join","slug","DocumentDrawer","props","gutter","Header","useDocumentDrawer","overrideEntityVisibility","editDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","toggleDrawer","closeDrawer","t6","openDrawer","t7","t8","_createElement","key","MemoizedDrawer","t9","t10","props_0","MemoizedDrawerToggler","t11","t12","drawerDepth","isDrawerOpen","MemoizedDrawerState","t13"],"sources":["../../../src/elements/DocumentDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type {\n DocumentDrawerProps,\n DocumentTogglerProps,\n UseDocumentDrawer,\n UseDocumentDrawerContext,\n} from './types.js'\n\nimport { useRelatedCollections } from '../../hooks/useRelatedCollections.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { DocumentDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const documentDrawerBaseClass = 'doc-drawer'\n\nconst formatDocumentDrawerSlug = ({\n id,\n collectionSlug,\n depth,\n uuid,\n}: {\n collectionSlug: string\n depth: number\n id?: number | string\n uuid: string\n}) => `doc-drawer_${collectionSlug}_${depth}${id ? `_${id}` : ''}_${uuid}`\n\nexport const DocumentDrawerToggler: React.FC<DocumentTogglerProps> = ({\n children,\n className,\n collectionSlug,\n disabled,\n drawerSlug,\n onClick,\n operation,\n ...rest\n}) => {\n const { t } = useTranslation()\n const [collectionConfig] = useRelatedCollections(collectionSlug)\n\n return (\n <DrawerToggler\n aria-label={t(operation === 'create' ? 'fields:addNewLabel' : 'general:editLabel', {\n label: collectionConfig?.labels.singular,\n })}\n className={[className, `${documentDrawerBaseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n onClick={onClick}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const DocumentDrawer: React.FC<DocumentDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer className={documentDrawerBaseClass} gutter={false} Header={null} slug={drawerSlug}>\n <DocumentDrawerContent {...props} />\n </Drawer>\n )\n}\n\n/**\n * A hook to manage documents from a drawer modal.\n * It provides the components and methods needed to open, close, and interact with the drawer.\n * @example\n * const [DocumentDrawer, DocumentDrawerToggler, { openDrawer, closeDrawer }] = useDocumentDrawer({\n * collectionSlug: 'posts',\n * id: postId, // optional, if not provided, it will render the \"create new\" view\n * })\n *\n * // ...\n *\n * return (\n * <div>\n * <DocumentDrawerToggler collectionSlug=\"posts\" id={postId}>\n * Edit Post\n * </DocumentDrawerToggler>\n * <DocumentDrawer collectionSlug=\"posts\" id={postId} />\n * </div>\n */\nexport const useDocumentDrawer: UseDocumentDrawer = ({\n id,\n collectionSlug,\n overrideEntityVisibility,\n}) => {\n const editDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n\n const drawerSlug = formatDocumentDrawerSlug({\n id,\n collectionSlug,\n depth: editDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [closeModal, drawerSlug])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [openModal, drawerSlug])\n\n const MemoizedDrawer = useMemo<React.FC<DocumentDrawerProps>>(() => {\n return (props) => (\n <DocumentDrawer\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n id={id}\n key={drawerSlug}\n overrideEntityVisibility={overrideEntityVisibility}\n />\n )\n }, [id, drawerSlug, collectionSlug, overrideEntityVisibility])\n\n const MemoizedDrawerToggler = useMemo<React.FC<DocumentTogglerProps>>(() => {\n return (props) => (\n <DocumentDrawerToggler\n {...props}\n collectionSlug={collectionSlug}\n drawerSlug={drawerSlug}\n operation={!id ? 'create' : 'update'}\n />\n )\n }, [id, drawerSlug, collectionSlug])\n\n const MemoizedDrawerState = useMemo<UseDocumentDrawerContext>(\n () => ({\n closeDrawer,\n drawerDepth: editDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [editDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,42 +16,76 @@ export const formatDrawerSlug = ({
16
16
  }) => `drawer_${depth}_${slug}`;
17
17
  export { useDrawerSlug } from './useDrawerSlug.js';
18
18
  export const DrawerToggler = t0 => {
19
- const $ = _c(4);
20
- const {
21
- slug,
22
- children,
23
- className,
24
- disabled,
25
- onClick,
26
- ...rest
27
- } = t0;
19
+ const $ = _c(17);
20
+ let children;
21
+ let className;
22
+ let disabled;
23
+ let onClick;
24
+ let rest;
25
+ let slug;
26
+ if ($[0] !== t0) {
27
+ ({
28
+ slug,
29
+ children,
30
+ className,
31
+ disabled,
32
+ onClick,
33
+ ...rest
34
+ } = t0);
35
+ $[0] = t0;
36
+ $[1] = children;
37
+ $[2] = className;
38
+ $[3] = disabled;
39
+ $[4] = onClick;
40
+ $[5] = rest;
41
+ $[6] = slug;
42
+ } else {
43
+ children = $[1];
44
+ className = $[2];
45
+ disabled = $[3];
46
+ onClick = $[4];
47
+ rest = $[5];
48
+ slug = $[6];
49
+ }
28
50
  const {
29
51
  openModal
30
52
  } = useModal();
31
53
  let t1;
32
- if ($[0] !== onClick || $[1] !== openModal || $[2] !== slug) {
54
+ if ($[7] !== onClick || $[8] !== openModal || $[9] !== slug) {
33
55
  t1 = e => {
34
56
  openModal(slug);
35
57
  if (typeof onClick === "function") {
36
58
  onClick(e);
37
59
  }
38
60
  };
39
- $[0] = onClick;
40
- $[1] = openModal;
41
- $[2] = slug;
42
- $[3] = t1;
61
+ $[7] = onClick;
62
+ $[8] = openModal;
63
+ $[9] = slug;
64
+ $[10] = t1;
43
65
  } else {
44
- t1 = $[3];
66
+ t1 = $[10];
45
67
  }
46
68
  const handleClick = t1;
47
- return _jsx("button", {
48
- className,
49
- disabled,
50
- onClick: handleClick,
51
- type: "button",
52
- ...rest,
53
- children
54
- });
69
+ let t2;
70
+ if ($[11] !== children || $[12] !== className || $[13] !== disabled || $[14] !== handleClick || $[15] !== rest) {
71
+ t2 = _jsx("button", {
72
+ className,
73
+ disabled,
74
+ onClick: handleClick,
75
+ type: "button",
76
+ ...rest,
77
+ children
78
+ });
79
+ $[11] = children;
80
+ $[12] = className;
81
+ $[13] = disabled;
82
+ $[14] = handleClick;
83
+ $[15] = rest;
84
+ $[16] = t2;
85
+ } else {
86
+ t2 = $[16];
87
+ }
88
+ return t2;
55
89
  };
56
90
  export const Drawer = t0 => {
57
91
  const $ = _c(22);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","createContext","use","useCallback","useLayoutEffect","useState","XIcon","useTranslation","Gutter","baseClass","drawerZBase","formatDrawerSlug","slug","depth","useDrawerSlug","DrawerToggler","t0","$","children","className","disabled","onClick","rest","openModal","t1","e","handleClick","_jsx","type","Drawer","gutter","Header","hoverTitle","title","undefined","t","closeModal","modalState","drawerDepth","useDrawerDepth","isOpen","animateIn","setAnimateIn","t2","t3","t4","t5","t6","filter","Boolean","t7","join","t8","t9","t10","DrawerDepthProvider","_jsxs","style","zIndex","id","width","left","right","DrawerDepthContext","parentDepth","value"],"sources":["../../../src/elements/Drawer/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { createContext, use, useCallback, useLayoutEffect, useState } from 'react'\n\nimport type { Props, TogglerProps } from './types.js'\n\nimport { XIcon } from '../../icons/X/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport './index.scss'\n\nconst baseClass = 'drawer'\n\nexport const drawerZBase = 100\n\nexport const formatDrawerSlug = ({ slug, depth }: { depth: number; slug: string }): string =>\n `drawer_${depth}_${slug}`\n\nexport { useDrawerSlug } from './useDrawerSlug.js'\n\nexport const DrawerToggler: React.FC<TogglerProps> = ({\n slug,\n children,\n className,\n disabled,\n onClick,\n ...rest\n}) => {\n const { openModal } = useModal()\n\n const handleClick = useCallback(\n (e) => {\n openModal(slug)\n if (typeof onClick === 'function') {\n onClick(e)\n }\n },\n [openModal, slug, onClick],\n )\n\n return (\n <button className={className} disabled={disabled} onClick={handleClick} type=\"button\" {...rest}>\n {children}\n </button>\n )\n}\n\nexport const Drawer: React.FC<Props> = ({\n slug,\n children,\n className,\n gutter = true,\n Header,\n hoverTitle,\n title,\n}) => {\n const { t } = useTranslation()\n const { closeModal, modalState } = useModal()\n const drawerDepth = useDrawerDepth()\n\n const isOpen = !!modalState[slug]?.isOpen\n\n const [animateIn, setAnimateIn] = useState(isOpen)\n\n useLayoutEffect(() => {\n setAnimateIn(isOpen)\n }, [isOpen])\n\n if (isOpen) {\n // IMPORTANT: do not render the drawer until it is explicitly open, this is to avoid large html trees especially when nesting drawers\n return (\n <DrawerDepthProvider>\n <Modal\n className={[\n className,\n baseClass,\n animateIn && `${baseClass}--is-open`,\n drawerDepth > 1 && `${baseClass}--nested`,\n ]\n .filter(Boolean)\n .join(' ')}\n slug={slug}\n style={{\n zIndex: drawerZBase + drawerDepth,\n }}\n >\n {(!drawerDepth || drawerDepth === 1) && <div className={`${baseClass}__blur-bg`} />}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n />\n <div\n className={`${baseClass}__content`}\n style={{\n width: `calc(100% - (${drawerDepth} * var(--gutter-h)))`,\n }}\n >\n <div className={`${baseClass}__blur-bg-content`} />\n <Gutter className={`${baseClass}__content-children`} left={gutter} right={gutter}>\n {Header}\n {Header === undefined && (\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`} title={hoverTitle ? title : null}>\n {title}\n </h2>\n {/* TODO: the `button` HTML element breaks CSS transitions on the drawer for some reason...\n i.e. changing to a `div` element will fix the animation issue but will break accessibility\n */}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n )}\n {children}\n </Gutter>\n </div>\n </Modal>\n </DrawerDepthProvider>\n )\n }\n\n return null\n}\n\nexport const DrawerDepthContext = createContext(1)\n\nexport const DrawerDepthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const parentDepth = useDrawerDepth()\n const depth = parentDepth + 1\n\n return <DrawerDepthContext value={depth}>{children}</DrawerDepthContext>\n}\n\nexport const useDrawerDepth = (): number => use(DrawerDepthContext)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","createContext","use","useCallback","useLayoutEffect","useState","XIcon","useTranslation","Gutter","baseClass","drawerZBase","formatDrawerSlug","slug","depth","useDrawerSlug","DrawerToggler","t0","$","children","className","disabled","onClick","rest","openModal","t1","e","handleClick","t2","_jsx","type","Drawer","gutter","Header","hoverTitle","title","undefined","t","closeModal","modalState","drawerDepth","useDrawerDepth","isOpen","animateIn","setAnimateIn","t3","t4","t5","t6","filter","Boolean","t7","join","t8","t9","t10","DrawerDepthProvider","_jsxs","style","zIndex","id","width","left","right","DrawerDepthContext","parentDepth","value"],"sources":["../../../src/elements/Drawer/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { createContext, use, useCallback, useLayoutEffect, useState } from 'react'\n\nimport type { Props, TogglerProps } from './types.js'\n\nimport { XIcon } from '../../icons/X/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport './index.scss'\n\nconst baseClass = 'drawer'\n\nexport const drawerZBase = 100\n\nexport const formatDrawerSlug = ({ slug, depth }: { depth: number; slug: string }): string =>\n `drawer_${depth}_${slug}`\n\nexport { useDrawerSlug } from './useDrawerSlug.js'\n\nexport const DrawerToggler: React.FC<TogglerProps> = ({\n slug,\n children,\n className,\n disabled,\n onClick,\n ...rest\n}) => {\n const { openModal } = useModal()\n\n const handleClick = useCallback(\n (e) => {\n openModal(slug)\n if (typeof onClick === 'function') {\n onClick(e)\n }\n },\n [openModal, slug, onClick],\n )\n\n return (\n <button className={className} disabled={disabled} onClick={handleClick} type=\"button\" {...rest}>\n {children}\n </button>\n )\n}\n\nexport const Drawer: React.FC<Props> = ({\n slug,\n children,\n className,\n gutter = true,\n Header,\n hoverTitle,\n title,\n}) => {\n const { t } = useTranslation()\n const { closeModal, modalState } = useModal()\n const drawerDepth = useDrawerDepth()\n\n const isOpen = !!modalState[slug]?.isOpen\n\n const [animateIn, setAnimateIn] = useState(isOpen)\n\n useLayoutEffect(() => {\n setAnimateIn(isOpen)\n }, [isOpen])\n\n if (isOpen) {\n // IMPORTANT: do not render the drawer until it is explicitly open, this is to avoid large html trees especially when nesting drawers\n return (\n <DrawerDepthProvider>\n <Modal\n className={[\n className,\n baseClass,\n animateIn && `${baseClass}--is-open`,\n drawerDepth > 1 && `${baseClass}--nested`,\n ]\n .filter(Boolean)\n .join(' ')}\n slug={slug}\n style={{\n zIndex: drawerZBase + drawerDepth,\n }}\n >\n {(!drawerDepth || drawerDepth === 1) && <div className={`${baseClass}__blur-bg`} />}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n />\n <div\n className={`${baseClass}__content`}\n style={{\n width: `calc(100% - (${drawerDepth} * var(--gutter-h)))`,\n }}\n >\n <div className={`${baseClass}__blur-bg-content`} />\n <Gutter className={`${baseClass}__content-children`} left={gutter} right={gutter}>\n {Header}\n {Header === undefined && (\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`} title={hoverTitle ? title : null}>\n {title}\n </h2>\n {/* TODO: the `button` HTML element breaks CSS transitions on the drawer for some reason...\n i.e. changing to a `div` element will fix the animation issue but will break accessibility\n */}\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${slug}`}\n onClick={() => closeModal(slug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n )}\n {children}\n </Gutter>\n </div>\n </Modal>\n </DrawerDepthProvider>\n )\n }\n\n return null\n}\n\nexport const DrawerDepthContext = createContext(1)\n\nexport const DrawerDepthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const parentDepth = useDrawerDepth()\n const depth = parentDepth + 1\n\n return <DrawerDepthContext value={depth}>{children}</DrawerDepthContext>\n}\n\nexport const useDrawerDepth = (): number => use(DrawerDepthContext)\n"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,7 @@ import { Button } from '../Button/index.js';
9
9
  import './index.scss';
10
10
  const baseClass = 'drawer-action-header';
11
11
  export const DrawerActionHeader = t0 => {
12
- const $ = _c(10);
12
+ const $ = _c(16);
13
13
  const {
14
14
  cancelLabel,
15
15
  className,
@@ -32,6 +32,24 @@ export const DrawerActionHeader = t0 => {
32
32
  const t2 = t1.join(" ");
33
33
  let t3;
34
34
  if ($[2] !== cancelLabel || $[3] !== onCancel || $[4] !== onSave || $[5] !== saveLabel || $[6] !== t || $[7] !== t2 || $[8] !== title) {
35
+ let t4;
36
+ if ($[10] !== cancelLabel || $[11] !== t) {
37
+ t4 = cancelLabel || t("general:cancel");
38
+ $[10] = cancelLabel;
39
+ $[11] = t;
40
+ $[12] = t4;
41
+ } else {
42
+ t4 = $[12];
43
+ }
44
+ let t5;
45
+ if ($[13] !== saveLabel || $[14] !== t) {
46
+ t5 = saveLabel || t("general:applyChanges");
47
+ $[13] = saveLabel;
48
+ $[14] = t;
49
+ $[15] = t5;
50
+ } else {
51
+ t5 = $[15];
52
+ }
35
53
  t3 = _jsx("div", {
36
54
  className: t2,
37
55
  children: _jsxs("div", {
@@ -45,11 +63,11 @@ export const DrawerActionHeader = t0 => {
45
63
  "aria-label": t("general:cancel"),
46
64
  buttonStyle: "secondary",
47
65
  onClick: onCancel,
48
- children: cancelLabel || t("general:cancel")
66
+ children: t4
49
67
  }), _jsx(FormSubmit, {
50
68
  "aria-label": t("general:applyChanges"),
51
69
  onClick: onSave,
52
- children: saveLabel || t("general:applyChanges")
70
+ children: t5
53
71
  })]
54
72
  })]
55
73
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","FormSubmit","useTranslation","Button","baseClass","DrawerActionHeader","t0","$","cancelLabel","className","onCancel","onSave","saveLabel","title","t","t1","filter","Boolean","t2","join","t3","_jsx","children","_jsxs","buttonStyle","onClick"],"sources":["../../../src/elements/DrawerActionHeader/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'drawer-action-header'\n\ntype DrawerActionHeaderArgs = {\n readonly cancelLabel?: string\n className?: string\n readonly onCancel?: () => void\n readonly onSave?: () => void\n readonly saveLabel?: string\n readonly title: React.ReactNode | string\n}\nexport const DrawerActionHeader = ({\n cancelLabel,\n className,\n onCancel,\n onSave,\n saveLabel,\n title,\n}: DrawerActionHeaderArgs) => {\n const { t } = useTranslation()\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__content`}>\n <h1 className={`${baseClass}__title`}>{title}</h1>\n\n <div className={`${baseClass}__actions`}>\n <Button aria-label={t('general:cancel')} buttonStyle=\"secondary\" onClick={onCancel}>\n {cancelLabel || t('general:cancel')}\n </Button>\n\n <FormSubmit aria-label={t('general:applyChanges')} onClick={onSave}>\n {saveLabel || t('general:applyChanges')}\n </FormSubmit>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAUlB,OAAO,MAAMC,kBAAA,GAAqBC,EAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAAC;IAAAS,WAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC,MAAA;IAAAC,SAAA;IAAAC;EAAA,IAAAP,EAOV;EACvB;IAAAQ;EAAA,IAAcZ,cAAA;EAAA,IAAAa,EAAA;EAAA,IAAAR,CAAA,QAAAE,SAAA;IAGIM,EAAA,IAAAX,SAAA,EAAYK,SAAA,EAAAO,MAAA,CAAAC,OAAkB;IAAAV,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAA9B,MAAAW,EAAA,GAAAH,EAA8B,CAAAI,IAAA,CAAc;EAAA,IAAAC,EAAA;EAAA,IAAAb,CAAA,QAAAC,WAAA,IAAAD,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAI,MAAA,IAAAJ,CAAA,QAAAK,SAAA,IAAAL,CAAA,QAAAO,CAAA,IAAAP,CAAA,QAAAW,EAAA,IAAAX,CAAA,QAAAM,KAAA;IAA5DO,EAAA,GAAAC,IAAA,CAAC;MAAAZ,SAAA,EAAeS,EAA4C;MAAAI,QAAA,EAC1DC,KAAA,CAAC;QAAAd,SAAA,EAAe,GAAAL,SAAA,WAAuB;QAAAkB,QAAA,GACrCD,IAAA,CAAC;UAAAZ,SAAA,EAAc,GAAAL,SAAA,SAAqB;UAAAkB,QAAA,EAAGT;QAAA,C,GAEvCU,KAAA,CAAC;UAAAd,SAAA,EAAe,GAAAL,SAAA,WAAuB;UAAAkB,QAAA,GACrCD,IAAA,CAAAlB,MAAA;YAAA,cAAoBW,CAAA,CAAE;YAAAU,WAAA,EAA+B;YAAAC,OAAA,EAAqBf,QAAA;YAAAY,QAAA,EACvEd,WAAA,IAAeM,CAAA,CAAE;UAAA,C,GAGpBO,IAAA,CAAApB,UAAA;YAAA,cAAwBa,CAAA,CAAE;YAAAW,OAAA,EAAkCd,MAAA;YAAAW,QAAA,EACzDV,SAAA,IAAaE,CAAA,CAAE;UAAA,C;;;;;;;;;;;;;;;SAVxBM,E;CAgBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","FormSubmit","useTranslation","Button","baseClass","DrawerActionHeader","t0","$","cancelLabel","className","onCancel","onSave","saveLabel","title","t","t1","filter","Boolean","t2","join","t3","t4","t5","_jsx","children","_jsxs","buttonStyle","onClick"],"sources":["../../../src/elements/DrawerActionHeader/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport './index.scss'\n\nconst baseClass = 'drawer-action-header'\n\ntype DrawerActionHeaderArgs = {\n readonly cancelLabel?: string\n className?: string\n readonly onCancel?: () => void\n readonly onSave?: () => void\n readonly saveLabel?: string\n readonly title: React.ReactNode | string\n}\nexport const DrawerActionHeader = ({\n cancelLabel,\n className,\n onCancel,\n onSave,\n saveLabel,\n title,\n}: DrawerActionHeaderArgs) => {\n const { t } = useTranslation()\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__content`}>\n <h1 className={`${baseClass}__title`}>{title}</h1>\n\n <div className={`${baseClass}__actions`}>\n <Button aria-label={t('general:cancel')} buttonStyle=\"secondary\" onClick={onCancel}>\n {cancelLabel || t('general:cancel')}\n </Button>\n\n <FormSubmit aria-label={t('general:applyChanges')} onClick={onSave}>\n {saveLabel || t('general:applyChanges')}\n </FormSubmit>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAUlB,OAAO,MAAMC,kBAAA,GAAqBC,EAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAAC;IAAAS,WAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC,MAAA;IAAAC,SAAA;IAAAC;EAAA,IAAAP,EAOV;EACvB;IAAAQ;EAAA,IAAcZ,cAAA;EAAA,IAAAa,EAAA;EAAA,IAAAR,CAAA,QAAAE,SAAA;IAGIM,EAAA,IAAAX,SAAA,EAAYK,SAAA,EAAAO,MAAA,CAAAC,OAAkB;IAAAV,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAA9B,MAAAW,EAAA,GAAAH,EAA8B,CAAAI,IAAA,CAAc;EAAA,IAAAC,EAAA;EAAA,IAAAb,CAAA,QAAAC,WAAA,IAAAD,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAI,MAAA,IAAAJ,CAAA,QAAAK,SAAA,IAAAL,CAAA,QAAAO,CAAA,IAAAP,CAAA,QAAAW,EAAA,IAAAX,CAAA,QAAAM,KAAA;IAAA,IAAAQ,EAAA;IAAA,IAAAd,CAAA,SAAAC,WAAA,IAAAD,CAAA,SAAAO,CAAA;MAMnDO,EAAA,GAAAb,WAAA,IAAeM,CAAA,CAAE;MAAAP,CAAA,OAAAC,WAAA;MAAAD,CAAA,OAAAO,CAAA;MAAAP,CAAA,OAAAc,EAAA;IAAA;MAAAA,EAAA,GAAAd,CAAA;IAAA;IAAA,IAAAe,EAAA;IAAA,IAAAf,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAO,CAAA;MAIjBQ,EAAA,GAAAV,SAAA,IAAaE,CAAA,CAAE;MAAAP,CAAA,OAAAK,SAAA;MAAAL,CAAA,OAAAO,CAAA;MAAAP,CAAA,OAAAe,EAAA;IAAA;MAAAA,EAAA,GAAAf,CAAA;IAAA;IAVxBa,EAAA,GAAAG,IAAA,CAAC;MAAAd,SAAA,EAAeS,EAA4C;MAAAM,QAAA,EAC1DC,KAAA,CAAC;QAAAhB,SAAA,EAAe,GAAAL,SAAA,WAAuB;QAAAoB,QAAA,GACrCD,IAAA,CAAC;UAAAd,SAAA,EAAc,GAAAL,SAAA,SAAqB;UAAAoB,QAAA,EAAGX;QAAA,C,GAEvCY,KAAA,CAAC;UAAAhB,SAAA,EAAe,GAAAL,SAAA,WAAuB;UAAAoB,QAAA,GACrCD,IAAA,CAAApB,MAAA;YAAA,cAAoBW,CAAA,CAAE;YAAAY,WAAA,EAA+B;YAAAC,OAAA,EAAqBjB,QAAA;YAAAc,QAAA,EACvEH;UAAiB,C,GAGpBE,IAAA,CAAAtB,UAAA;YAAA,cAAwBa,CAAA,CAAE;YAAAa,OAAA,EAAkChB,MAAA;YAAAa,QAAA,EACzDF;UAAe,C;;;;;;;;;;;;;;;SAVxBF,E;CAgBJ","ignoreList":[]}