@payloadcms/ui 3.56.0-internal.72f4fd2 → 3.57.0-canary.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 (198) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.js +4 -18
  2. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  3. package/dist/elements/Button/index.d.ts.map +1 -1
  4. package/dist/elements/Button/index.js +1 -2
  5. package/dist/elements/Button/index.js.map +1 -1
  6. package/dist/elements/ClipboardAction/index.js +173 -74
  7. package/dist/elements/ClipboardAction/index.js.map +1 -1
  8. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  9. package/dist/elements/CodeEditor/CodeEditor.js +179 -66
  10. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  11. package/dist/elements/CodeEditor/constants.d.ts +4 -0
  12. package/dist/elements/CodeEditor/constants.d.ts.map +1 -0
  13. package/dist/elements/CodeEditor/constants.js +19 -0
  14. package/dist/elements/CodeEditor/constants.js.map +1 -0
  15. package/dist/elements/CodeEditor/types.d.ts +1 -0
  16. package/dist/elements/CodeEditor/types.d.ts.map +1 -1
  17. package/dist/elements/CodeEditor/types.js.map +1 -1
  18. package/dist/elements/Collapsible/index.js +15 -7
  19. package/dist/elements/Collapsible/index.js.map +1 -1
  20. package/dist/elements/ConfirmationModal/index.js +44 -8
  21. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  22. package/dist/elements/CopyLocaleData/index.js +97 -89
  23. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  24. package/dist/elements/CopyToClipboard/index.js +22 -2
  25. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  26. package/dist/elements/DefaultListViewTabs/index.js +47 -32
  27. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  28. package/dist/elements/DeleteMany/index.js +83 -47
  29. package/dist/elements/DeleteMany/index.js.map +1 -1
  30. package/dist/elements/DocumentControls/index.js +55 -27
  31. package/dist/elements/DocumentControls/index.js.map +1 -1
  32. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +10 -2
  33. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  34. package/dist/elements/DocumentDrawer/index.js +99 -47
  35. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  36. package/dist/elements/Drawer/index.js +57 -23
  37. package/dist/elements/Drawer/index.js.map +1 -1
  38. package/dist/elements/DrawerActionHeader/index.js +21 -3
  39. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  40. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  41. package/dist/elements/EmailAndUsername/index.js +31 -24
  42. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  43. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +225 -149
  44. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  45. package/dist/elements/FolderView/FolderFileCard/index.js +27 -19
  46. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  47. package/dist/elements/FolderView/MoveDocToFolder/index.js +23 -12
  48. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  49. package/dist/elements/FullscreenModal/index.js +20 -10
  50. package/dist/elements/FullscreenModal/index.js.map +1 -1
  51. package/dist/elements/ListDrawer/index.js +24 -18
  52. package/dist/elements/ListDrawer/index.js.map +1 -1
  53. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +32 -19
  54. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  55. package/dist/elements/ListSelection/index.js +27 -11
  56. package/dist/elements/ListSelection/index.js.map +1 -1
  57. package/dist/elements/LivePreview/Window/index.js +146 -65
  58. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  59. package/dist/elements/Loading/index.js +11 -2
  60. package/dist/elements/Loading/index.js.map +1 -1
  61. package/dist/elements/LoadingOverlay/index.js +102 -46
  62. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  63. package/dist/elements/Localizer/LocalizerLabel/index.js +36 -23
  64. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  65. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +139 -41
  66. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  67. package/dist/elements/RenderIfInViewport/index.d.ts +2 -2
  68. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -1
  69. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  70. package/dist/elements/SelectRow/index.js +40 -39
  71. package/dist/elements/SelectRow/index.js.map +1 -1
  72. package/dist/elements/ShimmerEffect/index.js +12 -20
  73. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  74. package/dist/elements/SortColumn/index.js +30 -21
  75. package/dist/elements/SortColumn/index.js.map +1 -1
  76. package/dist/elements/Table/DefaultCell/fields/Date/index.js +37 -9
  77. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  78. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +37 -35
  79. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  80. package/dist/elements/Table/DefaultCell/fields/Select/index.js +27 -12
  81. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  82. package/dist/elements/Thumbnail/index.js +75 -35
  83. package/dist/elements/Thumbnail/index.js.map +1 -1
  84. package/dist/elements/ThumbnailCard/index.js +26 -17
  85. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  86. package/dist/elements/Tooltip/index.js +127 -51
  87. package/dist/elements/Tooltip/index.js.map +1 -1
  88. package/dist/elements/Upload/index.js +10 -2
  89. package/dist/elements/Upload/index.js.map +1 -1
  90. package/dist/elements/WhereBuilder/Condition/Select/index.js +44 -31
  91. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  92. package/dist/exports/client/{CodeEditor-RHQXPDK5.js → CodeEditor-3SOJDDUK.js} +2 -2
  93. package/dist/exports/client/{DatePicker-F432AIH3.js → DatePicker-NMDEHPWL.js} +2 -2
  94. package/dist/exports/client/{chunk-AZDI6MW4.js → chunk-7RGKTZG2.js} +1 -1
  95. package/dist/exports/client/{chunk-AZDI6MW4.js.map → chunk-7RGKTZG2.js.map} +1 -1
  96. package/dist/exports/client/chunk-HDOVBQ3N.js +27 -0
  97. package/dist/exports/client/chunk-HDOVBQ3N.js.map +7 -0
  98. package/dist/exports/client/index.d.ts +4 -5
  99. package/dist/exports/client/index.d.ts.map +1 -1
  100. package/dist/exports/client/index.js +12 -12
  101. package/dist/exports/client/index.js.map +4 -4
  102. package/dist/exports/rsc/index.d.ts +0 -1
  103. package/dist/exports/rsc/index.d.ts.map +1 -1
  104. package/dist/exports/rsc/index.js +0 -1
  105. package/dist/exports/rsc/index.js.map +1 -1
  106. package/dist/fields/Array/ArrayRow.d.ts +3 -2
  107. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  108. package/dist/fields/Array/ArrayRow.js +23 -13
  109. package/dist/fields/Array/ArrayRow.js.map +1 -1
  110. package/dist/fields/Array/index.js +477 -273
  111. package/dist/fields/Array/index.js.map +1 -1
  112. package/dist/fields/Checkbox/Input.js +19 -2
  113. package/dist/fields/Checkbox/Input.js.map +1 -1
  114. package/dist/fields/Code/index.d.ts.map +1 -1
  115. package/dist/fields/Code/index.js +15 -12
  116. package/dist/fields/Code/index.js.map +1 -1
  117. package/dist/fields/FieldError/index.js +29 -30
  118. package/dist/fields/FieldError/index.js.map +1 -1
  119. package/dist/fields/FieldLabel/index.js +64 -12
  120. package/dist/fields/FieldLabel/index.js.map +1 -1
  121. package/dist/fields/Group/index.d.ts +1 -1
  122. package/dist/fields/JSON/index.d.ts.map +1 -1
  123. package/dist/fields/JSON/index.js +34 -17
  124. package/dist/fields/JSON/index.js.map +1 -1
  125. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  126. package/dist/fields/Relationship/Input.js +8 -0
  127. package/dist/fields/Relationship/Input.js.map +1 -1
  128. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +103 -45
  129. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  130. package/dist/fields/Relationship/select-components/SingleValue/index.js +44 -29
  131. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  132. package/dist/fields/Row/index.d.ts +3 -1
  133. package/dist/fields/Row/index.d.ts.map +1 -1
  134. package/dist/fields/Select/Input.js +31 -18
  135. package/dist/fields/Select/Input.js.map +1 -1
  136. package/dist/fields/Tabs/Tab/index.js +11 -2
  137. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  138. package/dist/fields/Tabs/index.d.ts +1 -2
  139. package/dist/fields/Tabs/index.d.ts.map +1 -1
  140. package/dist/fields/Tabs/index.js +225 -185
  141. package/dist/fields/Tabs/index.js.map +1 -1
  142. package/dist/fields/Upload/RelationshipContent/index.js +127 -79
  143. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  144. package/dist/forms/Form/createNestedClientFieldPath.js +1 -1
  145. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
  146. package/dist/forms/Form/index.d.ts.map +1 -1
  147. package/dist/forms/Form/index.js +8 -1
  148. package/dist/forms/Form/index.js.map +1 -1
  149. package/dist/forms/RenderFields/RenderField.js +237 -245
  150. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  151. package/dist/forms/RenderFields/context.d.ts +29 -0
  152. package/dist/forms/RenderFields/context.d.ts.map +1 -1
  153. package/dist/forms/RenderFields/context.js +30 -2
  154. package/dist/forms/RenderFields/context.js.map +1 -1
  155. package/dist/forms/RenderFields/types.d.ts +10 -2
  156. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  157. package/dist/forms/RenderFields/types.js.map +1 -1
  158. package/dist/forms/useField/index.d.ts +0 -5
  159. package/dist/forms/useField/index.d.ts.map +1 -1
  160. package/dist/forms/useField/index.js +45 -74
  161. package/dist/forms/useField/index.js.map +1 -1
  162. package/dist/hooks/useIntersect.js +53 -35
  163. package/dist/hooks/useIntersect.js.map +1 -1
  164. package/dist/hooks/usePayloadAPI.js +44 -36
  165. package/dist/hooks/usePayloadAPI.js.map +1 -1
  166. package/dist/providers/Config/index.d.ts +17 -2
  167. package/dist/providers/Config/index.d.ts.map +1 -1
  168. package/dist/providers/Config/index.js +57 -20
  169. package/dist/providers/Config/index.js.map +1 -1
  170. package/dist/providers/Folders/index.d.ts.map +1 -1
  171. package/dist/providers/Folders/index.js +24 -13
  172. package/dist/providers/Folders/index.js.map +1 -1
  173. package/dist/providers/ServerFunctions/index.d.ts +1 -4
  174. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  175. package/dist/providers/ServerFunctions/index.js +0 -13
  176. package/dist/providers/ServerFunctions/index.js.map +1 -1
  177. package/dist/utilities/buildFormState.d.ts.map +1 -1
  178. package/dist/utilities/buildFormState.js +2 -1
  179. package/dist/utilities/buildFormState.js.map +1 -1
  180. package/dist/utilities/reduceFieldsToOptions.d.ts +1 -1
  181. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  182. package/dist/utilities/reduceFieldsToOptions.js +7 -12
  183. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  184. package/dist/views/BrowseByFolder/index.js +55 -37
  185. package/dist/views/BrowseByFolder/index.js.map +1 -1
  186. package/dist/views/CollectionFolder/index.js +40 -13
  187. package/dist/views/CollectionFolder/index.js.map +1 -1
  188. package/dist/views/Edit/Auth/index.js +105 -93
  189. package/dist/views/Edit/Auth/index.js.map +1 -1
  190. package/package.json +8 -8
  191. package/dist/exports/client/chunk-FKP64OEZ.js +0 -26
  192. package/dist/exports/client/chunk-FKP64OEZ.js.map +0 -7
  193. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +0 -35
  194. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +0 -1
  195. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +0 -83
  196. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +0 -1
  197. /package/dist/exports/client/{CodeEditor-RHQXPDK5.js.map → CodeEditor-3SOJDDUK.js.map} +0 -0
  198. /package/dist/exports/client/{DatePicker-F432AIH3.js.map → DatePicker-NMDEHPWL.js.map} +0 -0
@@ -6,86 +6,199 @@ import EditorImport from '@monaco-editor/react';
6
6
  import React, { useState } from 'react';
7
7
  import { useTheme } from '../../providers/Theme/index.js';
8
8
  import { ShimmerEffect } from '../ShimmerEffect/index.js';
9
+ import { defaultGlobalEditorOptions, defaultOptions } from './constants.js';
9
10
  import './index.scss';
10
11
  const Editor = 'default' in EditorImport ? EditorImport.default : EditorImport;
11
12
  const baseClass = 'code-editor';
12
13
  const CodeEditor = props => {
13
- const $ = _c(4);
14
- const {
15
- className,
16
- maxHeight,
17
- minHeight,
18
- options,
19
- readOnly,
20
- ...rest
21
- } = props;
14
+ const $ = _c(51);
15
+ let className;
16
+ let maxHeight;
17
+ let minHeight;
18
+ let options;
19
+ let readOnly;
20
+ let recalculatedHeightAt;
21
+ let rest;
22
+ let value;
23
+ if ($[0] !== props) {
24
+ ({
25
+ className,
26
+ maxHeight,
27
+ minHeight,
28
+ options,
29
+ readOnly,
30
+ recalculatedHeightAt,
31
+ value,
32
+ ...rest
33
+ } = props);
34
+ $[0] = props;
35
+ $[1] = className;
36
+ $[2] = maxHeight;
37
+ $[3] = minHeight;
38
+ $[4] = options;
39
+ $[5] = readOnly;
40
+ $[6] = recalculatedHeightAt;
41
+ $[7] = rest;
42
+ $[8] = value;
43
+ } else {
44
+ className = $[1];
45
+ maxHeight = $[2];
46
+ minHeight = $[3];
47
+ options = $[4];
48
+ readOnly = $[5];
49
+ recalculatedHeightAt = $[6];
50
+ rest = $[7];
51
+ value = $[8];
52
+ }
22
53
  const MIN_HEIGHT = minHeight ?? 56;
23
- const {
24
- insertSpaces,
25
- tabSize,
26
- trimAutoWhitespace,
27
- ...editorOptions
28
- } = options || {};
54
+ const prevCalculatedHeightAt = React.useRef(recalculatedHeightAt);
55
+ let t0;
56
+ if ($[9] !== options) {
57
+ t0 = options || {};
58
+ $[9] = options;
59
+ $[10] = t0;
60
+ } else {
61
+ t0 = $[10];
62
+ }
63
+ let globalEditorOptions;
64
+ let insertSpaces;
65
+ let tabSize;
66
+ let trimAutoWhitespace;
67
+ if ($[11] !== t0) {
68
+ ({
69
+ insertSpaces,
70
+ tabSize,
71
+ trimAutoWhitespace,
72
+ ...globalEditorOptions
73
+ } = t0);
74
+ $[11] = t0;
75
+ $[12] = globalEditorOptions;
76
+ $[13] = insertSpaces;
77
+ $[14] = tabSize;
78
+ $[15] = trimAutoWhitespace;
79
+ } else {
80
+ globalEditorOptions = $[12];
81
+ insertSpaces = $[13];
82
+ tabSize = $[14];
83
+ trimAutoWhitespace = $[15];
84
+ }
29
85
  const paddingFromProps = options?.padding ? (options.padding.top || 0) + (options.padding?.bottom || 0) : 0;
30
86
  const [dynamicHeight, setDynamicHeight] = useState(MIN_HEIGHT);
31
87
  const {
32
88
  theme
33
89
  } = useTheme();
34
- const t0 = rest?.defaultLanguage ? `language--${rest.defaultLanguage}` : "";
35
- const t1 = readOnly && "read-only";
36
- let t2;
37
- if ($[0] !== className || $[1] !== t0 || $[2] !== t1) {
38
- t2 = [baseClass, className, t0, t1].filter(Boolean);
39
- $[0] = className;
40
- $[1] = t0;
41
- $[2] = t1;
42
- $[3] = t2;
90
+ const t1 = rest?.defaultLanguage ? `language--${rest.defaultLanguage}` : "";
91
+ const t2 = readOnly && "read-only";
92
+ let t3;
93
+ if ($[16] !== className || $[17] !== t1 || $[18] !== t2) {
94
+ t3 = [baseClass, className, t1, t2].filter(Boolean);
95
+ $[16] = className;
96
+ $[17] = t1;
97
+ $[18] = t2;
98
+ $[19] = t3;
43
99
  } else {
44
- t2 = $[3];
100
+ t3 = $[19];
45
101
  }
46
- const classes = t2.join(" ");
47
- return _jsx(Editor, {
48
- className: classes,
49
- loading: _jsx(ShimmerEffect, {
50
- height: dynamicHeight
51
- }),
52
- options: {
53
- detectIndentation: false,
54
- hideCursorInOverviewRuler: true,
55
- insertSpaces: false,
56
- minimap: {
57
- enabled: false
58
- },
59
- overviewRulerBorder: false,
60
- readOnly: Boolean(readOnly),
61
- scrollbar: {
62
- alwaysConsumeMouseWheel: false
63
- },
64
- scrollBeyondLastLine: false,
65
- trimAutoWhitespace: false,
66
- wordWrap: "on",
67
- ...editorOptions
68
- },
69
- theme: theme === "dark" ? "vs-dark" : "vs",
70
- ...rest,
71
- height: maxHeight ? Math.min(dynamicHeight, maxHeight) : dynamicHeight,
72
- onChange: (value, ev) => {
73
- rest.onChange?.(value, ev);
74
- setDynamicHeight(Math.max(MIN_HEIGHT, value.split("\n").length * 18 + 2 + paddingFromProps));
75
- },
76
- onMount: (editor, monaco) => {
77
- rest.onMount?.(editor, monaco);
78
- const model = editor.getModel();
79
- if (model) {
80
- model.updateOptions({
81
- insertSpaces: insertSpaces ?? true,
82
- tabSize: tabSize ?? 4,
83
- trimAutoWhitespace: trimAutoWhitespace ?? true
84
- });
102
+ const classes = t3.join(" ");
103
+ let t4;
104
+ let t5;
105
+ if ($[20] !== MIN_HEIGHT || $[21] !== paddingFromProps || $[22] !== recalculatedHeightAt || $[23] !== value) {
106
+ t4 = () => {
107
+ if (recalculatedHeightAt && recalculatedHeightAt > prevCalculatedHeightAt.current) {
108
+ setDynamicHeight(Math.max(MIN_HEIGHT, value.split("\n").length * 18 + 2 + paddingFromProps));
109
+ prevCalculatedHeightAt.current = recalculatedHeightAt;
85
110
  }
86
- setDynamicHeight(Math.max(MIN_HEIGHT, editor.getValue().split("\n").length * 18 + 2 + paddingFromProps));
111
+ };
112
+ t5 = [value, MIN_HEIGHT, paddingFromProps, recalculatedHeightAt];
113
+ $[20] = MIN_HEIGHT;
114
+ $[21] = paddingFromProps;
115
+ $[22] = recalculatedHeightAt;
116
+ $[23] = value;
117
+ $[24] = t4;
118
+ $[25] = t5;
119
+ } else {
120
+ t4 = $[24];
121
+ t5 = $[25];
122
+ }
123
+ React.useEffect(t4, t5);
124
+ let t6;
125
+ if ($[26] !== MIN_HEIGHT || $[27] !== classes || $[28] !== dynamicHeight || $[29] !== globalEditorOptions || $[30] !== insertSpaces || $[31] !== maxHeight || $[32] !== paddingFromProps || $[33] !== readOnly || $[34] !== rest || $[35] !== tabSize || $[36] !== theme || $[37] !== trimAutoWhitespace || $[38] !== value) {
126
+ let t7;
127
+ if ($[40] !== MIN_HEIGHT || $[41] !== paddingFromProps || $[42] !== rest) {
128
+ t7 = (value_0, ev) => {
129
+ rest.onChange?.(value_0, ev);
130
+ setDynamicHeight(Math.max(MIN_HEIGHT, value_0.split("\n").length * 18 + 2 + paddingFromProps));
131
+ };
132
+ $[40] = MIN_HEIGHT;
133
+ $[41] = paddingFromProps;
134
+ $[42] = rest;
135
+ $[43] = t7;
136
+ } else {
137
+ t7 = $[43];
87
138
  }
88
- });
139
+ let t8;
140
+ if ($[44] !== MIN_HEIGHT || $[45] !== insertSpaces || $[46] !== paddingFromProps || $[47] !== rest || $[48] !== tabSize || $[49] !== trimAutoWhitespace) {
141
+ t8 = (editor, monaco) => {
142
+ rest.onMount?.(editor, monaco);
143
+ const model = editor.getModel();
144
+ if (model) {
145
+ model.updateOptions({
146
+ insertSpaces: insertSpaces ?? defaultOptions.insertSpaces,
147
+ tabSize: tabSize ?? defaultOptions.tabSize,
148
+ trimAutoWhitespace: trimAutoWhitespace ?? defaultOptions.trimAutoWhitespace
149
+ });
150
+ }
151
+ setDynamicHeight(Math.max(MIN_HEIGHT, editor.getValue().split("\n").length * 18 + 2 + paddingFromProps));
152
+ };
153
+ $[44] = MIN_HEIGHT;
154
+ $[45] = insertSpaces;
155
+ $[46] = paddingFromProps;
156
+ $[47] = rest;
157
+ $[48] = tabSize;
158
+ $[49] = trimAutoWhitespace;
159
+ $[50] = t8;
160
+ } else {
161
+ t8 = $[50];
162
+ }
163
+ t6 = _jsx(Editor, {
164
+ className: classes,
165
+ loading: _jsx(ShimmerEffect, {
166
+ height: dynamicHeight
167
+ }),
168
+ options: {
169
+ ...defaultGlobalEditorOptions,
170
+ ...globalEditorOptions,
171
+ readOnly: Boolean(readOnly),
172
+ detectIndentation: false,
173
+ insertSpaces: undefined,
174
+ tabSize: undefined,
175
+ trimAutoWhitespace: undefined
176
+ },
177
+ theme: theme === "dark" ? "vs-dark" : "vs",
178
+ value,
179
+ ...rest,
180
+ height: maxHeight ? Math.min(dynamicHeight, maxHeight) : dynamicHeight,
181
+ onChange: t7,
182
+ onMount: t8
183
+ });
184
+ $[26] = MIN_HEIGHT;
185
+ $[27] = classes;
186
+ $[28] = dynamicHeight;
187
+ $[29] = globalEditorOptions;
188
+ $[30] = insertSpaces;
189
+ $[31] = maxHeight;
190
+ $[32] = paddingFromProps;
191
+ $[33] = readOnly;
192
+ $[34] = rest;
193
+ $[35] = tabSize;
194
+ $[36] = theme;
195
+ $[37] = trimAutoWhitespace;
196
+ $[38] = value;
197
+ $[39] = t6;
198
+ } else {
199
+ t6 = $[39];
200
+ }
201
+ return t6;
89
202
  };
90
203
  // eslint-disable-next-line no-restricted-exports
91
204
  export default CodeEditor;
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditor.js","names":["c","_c","EditorImport","React","useState","useTheme","ShimmerEffect","Editor","default","baseClass","CodeEditor","props","$","className","maxHeight","minHeight","options","readOnly","rest","MIN_HEIGHT","insertSpaces","tabSize","trimAutoWhitespace","editorOptions","paddingFromProps","padding","top","bottom","dynamicHeight","setDynamicHeight","theme","t0","defaultLanguage","t1","t2","filter","Boolean","classes","join","_jsx","loading","height","scrollbar","alwaysConsumeMouseWheel","scrollBeyondLastLine","wordWrap","Math","min","onChange","value","ev","max","split","length","onMount","editor","monaco","model","getModel","updateOptions","getValue"],"sources":["../../../src/elements/CodeEditor/CodeEditor.tsx"],"sourcesContent":["'use client'\nimport EditorImport from '@monaco-editor/react'\nimport React, { useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTheme } from '../../providers/Theme/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\nimport './index.scss'\n\nconst Editor = 'default' in EditorImport ? EditorImport.default : EditorImport\n\nconst baseClass = 'code-editor'\n\nconst CodeEditor: React.FC<Props> = (props) => {\n const { className, maxHeight, minHeight, options, readOnly, ...rest } = props\n const MIN_HEIGHT = minHeight ?? 56 // equivalent to 3 lines\n\n // Extract per-model settings to avoid global conflicts\n const { insertSpaces, tabSize, trimAutoWhitespace, ...editorOptions } = options || {}\n const paddingFromProps = options?.padding\n ? (options.padding.top || 0) + (options.padding?.bottom || 0)\n : 0\n\n const [dynamicHeight, setDynamicHeight] = useState(MIN_HEIGHT)\n const { theme } = useTheme()\n\n const classes = [\n baseClass,\n className,\n rest?.defaultLanguage ? `language--${rest.defaultLanguage}` : '',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <Editor\n className={classes}\n loading={<ShimmerEffect height={dynamicHeight} />}\n options={{\n detectIndentation: false, // use the tabSize on the model, set onMount\n hideCursorInOverviewRuler: true,\n insertSpaces: false,\n minimap: {\n enabled: false,\n },\n overviewRulerBorder: false,\n readOnly: Boolean(readOnly),\n scrollbar: {\n alwaysConsumeMouseWheel: false,\n },\n scrollBeyondLastLine: false,\n trimAutoWhitespace: false,\n wordWrap: 'on',\n ...editorOptions,\n }}\n theme={theme === 'dark' ? 'vs-dark' : 'vs'}\n {...rest}\n // Since we are not building an IDE and the container\n // can already have scrolling, we want the height of the\n // editor to fit its content.\n // See: https://github.com/microsoft/monaco-editor/discussions/3677\n height={maxHeight ? Math.min(dynamicHeight, maxHeight) : dynamicHeight}\n onChange={(value, ev) => {\n rest.onChange?.(value, ev)\n setDynamicHeight(Math.max(MIN_HEIGHT, value.split('\\n').length * 18 + 2 + paddingFromProps))\n }}\n onMount={(editor, monaco) => {\n rest.onMount?.(editor, monaco)\n\n // Set per-model options to avoid global conflicts\n const model = editor.getModel()\n if (model) {\n model.updateOptions({\n insertSpaces: insertSpaces ?? true,\n tabSize: tabSize ?? 4,\n trimAutoWhitespace: trimAutoWhitespace ?? true,\n })\n }\n\n setDynamicHeight(\n Math.max(MIN_HEIGHT, editor.getValue().split('\\n').length * 18 + 2 + paddingFromProps),\n )\n }}\n />\n )\n}\n\n// eslint-disable-next-line no-restricted-exports\nexport default CodeEditor\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CodeEditor.js","names":["c","_c","EditorImport","React","useState","useTheme","ShimmerEffect","defaultGlobalEditorOptions","defaultOptions","Editor","default","baseClass","CodeEditor","props","$","className","maxHeight","minHeight","options","readOnly","recalculatedHeightAt","rest","value","MIN_HEIGHT","prevCalculatedHeightAt","useRef","t0","globalEditorOptions","insertSpaces","tabSize","trimAutoWhitespace","paddingFromProps","padding","top","bottom","dynamicHeight","setDynamicHeight","theme","t1","defaultLanguage","t2","t3","filter","Boolean","classes","join","t4","t5","current","Math","max","split","length","useEffect","t6","t7","value_0","ev","onChange","t8","editor","monaco","onMount","model","getModel","updateOptions","getValue","_jsx","loading","height","detectIndentation","undefined","min"],"sources":["../../../src/elements/CodeEditor/CodeEditor.tsx"],"sourcesContent":["'use client'\nimport EditorImport from '@monaco-editor/react'\nimport React, { useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTheme } from '../../providers/Theme/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\nimport { defaultGlobalEditorOptions, defaultOptions } from './constants.js'\nimport './index.scss'\n\nconst Editor = 'default' in EditorImport ? EditorImport.default : EditorImport\n\nconst baseClass = 'code-editor'\n\nconst CodeEditor: React.FC<Props> = (props) => {\n const {\n className,\n maxHeight,\n minHeight,\n options,\n readOnly,\n recalculatedHeightAt,\n value,\n ...rest\n } = props\n const MIN_HEIGHT = minHeight ?? 56 // equivalent to 3 lines\n const prevCalculatedHeightAt = React.useRef<number | undefined>(recalculatedHeightAt)\n\n // Extract per-model settings to avoid global conflicts\n const { insertSpaces, tabSize, trimAutoWhitespace, ...globalEditorOptions } = options || {}\n const paddingFromProps = options?.padding\n ? (options.padding.top || 0) + (options.padding?.bottom || 0)\n : 0\n\n const [dynamicHeight, setDynamicHeight] = useState(MIN_HEIGHT)\n const { theme } = useTheme()\n\n const classes = [\n baseClass,\n className,\n rest?.defaultLanguage ? `language--${rest.defaultLanguage}` : '',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')\n\n React.useEffect(() => {\n if (recalculatedHeightAt && recalculatedHeightAt > prevCalculatedHeightAt.current) {\n setDynamicHeight(Math.max(MIN_HEIGHT, value.split('\\n').length * 18 + 2 + paddingFromProps))\n prevCalculatedHeightAt.current = recalculatedHeightAt\n }\n }, [value, MIN_HEIGHT, paddingFromProps, recalculatedHeightAt])\n\n return (\n <Editor\n className={classes}\n loading={<ShimmerEffect height={dynamicHeight} />}\n options={{\n ...defaultGlobalEditorOptions,\n ...globalEditorOptions,\n readOnly: Boolean(readOnly),\n /**\n * onMount the model will set:\n * - insertSpaces\n * - tabSize\n * - trimAutoWhitespace\n */\n detectIndentation: false,\n insertSpaces: undefined,\n tabSize: undefined,\n trimAutoWhitespace: undefined,\n }}\n theme={theme === 'dark' ? 'vs-dark' : 'vs'}\n value={value}\n {...rest}\n // Since we are not building an IDE and the container\n // can already have scrolling, we want the height of the\n // editor to fit its content.\n // See: https://github.com/microsoft/monaco-editor/discussions/3677\n height={maxHeight ? Math.min(dynamicHeight, maxHeight) : dynamicHeight}\n onChange={(value, ev) => {\n rest.onChange?.(value, ev)\n setDynamicHeight(Math.max(MIN_HEIGHT, value.split('\\n').length * 18 + 2 + paddingFromProps))\n }}\n onMount={(editor, monaco) => {\n rest.onMount?.(editor, monaco)\n\n // Set per-model options to avoid global conflicts\n const model = editor.getModel()\n if (model) {\n model.updateOptions({\n insertSpaces: insertSpaces ?? defaultOptions.insertSpaces,\n tabSize: tabSize ?? defaultOptions.tabSize,\n trimAutoWhitespace: trimAutoWhitespace ?? defaultOptions.trimAutoWhitespace,\n })\n }\n\n setDynamicHeight(\n Math.max(MIN_HEIGHT, editor.getValue().split('\\n').length * 18 + 2 + paddingFromProps),\n )\n }}\n />\n )\n}\n\n// eslint-disable-next-line no-restricted-exports\nexport default CodeEditor\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { EditorProps } from '@monaco-editor/react';
2
+ export declare const defaultOptions: Pick<EditorProps['options'], 'insertSpaces' | 'tabSize' | 'trimAutoWhitespace'>;
3
+ export declare const defaultGlobalEditorOptions: Omit<EditorProps['options'], 'detectIndentation' | 'insertSpaces' | 'tabSize' | 'trimAutoWhitespace'>;
4
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/elements/CodeEditor/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,eAAO,MAAM,cAAc,EAAE,IAAI,CAC/B,WAAW,CAAC,SAAS,CAAC,EACtB,cAAc,GAAG,SAAS,GAAG,oBAAoB,CAKlD,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,IAAI,CAC3C,WAAW,CAAC,SAAS,CAAC,EACtB,mBAAmB,GAAG,cAAc,GAAG,SAAS,GAAG,oBAAoB,CAaxE,CAAA"}
@@ -0,0 +1,19 @@
1
+ export const defaultOptions = {
2
+ insertSpaces: false,
3
+ tabSize: 4,
4
+ trimAutoWhitespace: false
5
+ };
6
+ export const defaultGlobalEditorOptions = {
7
+ hideCursorInOverviewRuler: true,
8
+ minimap: {
9
+ enabled: false
10
+ },
11
+ overviewRulerBorder: false,
12
+ readOnly: false,
13
+ scrollbar: {
14
+ alwaysConsumeMouseWheel: false
15
+ },
16
+ scrollBeyondLastLine: false,
17
+ wordWrap: 'on'
18
+ };
19
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["defaultOptions","insertSpaces","tabSize","trimAutoWhitespace","defaultGlobalEditorOptions","hideCursorInOverviewRuler","minimap","enabled","overviewRulerBorder","readOnly","scrollbar","alwaysConsumeMouseWheel","scrollBeyondLastLine","wordWrap"],"sources":["../../../src/elements/CodeEditor/constants.ts"],"sourcesContent":["import type { EditorProps } from '@monaco-editor/react'\n\nexport const defaultOptions: Pick<\n EditorProps['options'],\n 'insertSpaces' | 'tabSize' | 'trimAutoWhitespace'\n> = {\n insertSpaces: false,\n tabSize: 4,\n trimAutoWhitespace: false,\n}\n\nexport const defaultGlobalEditorOptions: Omit<\n EditorProps['options'],\n 'detectIndentation' | 'insertSpaces' | 'tabSize' | 'trimAutoWhitespace'\n> = {\n hideCursorInOverviewRuler: true,\n minimap: {\n enabled: false,\n },\n overviewRulerBorder: false,\n readOnly: false,\n scrollbar: {\n alwaysConsumeMouseWheel: false,\n },\n scrollBeyondLastLine: false,\n wordWrap: 'on',\n}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAA,GAGT;EACFC,YAAA,EAAc;EACdC,OAAA,EAAS;EACTC,kBAAA,EAAoB;AACtB;AAEA,OAAO,MAAMC,0BAAA,GAGT;EACFC,yBAAA,EAA2B;EAC3BC,OAAA,EAAS;IACPC,OAAA,EAAS;EACX;EACAC,mBAAA,EAAqB;EACrBC,QAAA,EAAU;EACVC,SAAA,EAAW;IACTC,uBAAA,EAAyB;EAC3B;EACAC,oBAAA,EAAsB;EACtBC,QAAA,EAAU;AACZ","ignoreList":[]}
@@ -6,5 +6,6 @@ export type Props = {
6
6
  */
7
7
  minHeight?: number;
8
8
  readOnly?: boolean;
9
+ recalculatedHeightAt?: number;
9
10
  } & EditorProps;
10
11
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/CodeEditor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,WAAW,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/CodeEditor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B,GAAG,WAAW,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/CodeEditor/types.ts"],"sourcesContent":["import type { EditorProps } from '@monaco-editor/react'\n\nexport type Props = {\n maxHeight?: number\n /**\n * @default 56 (3 lines)\n */\n minHeight?: number\n readOnly?: boolean\n} & EditorProps\n"],"mappings":"AAEA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/CodeEditor/types.ts"],"sourcesContent":["import type { EditorProps } from '@monaco-editor/react'\n\nexport type Props = {\n maxHeight?: number\n /**\n * @default 56 (3 lines)\n */\n minHeight?: number\n readOnly?: boolean\n recalculatedHeightAt?: number\n} & EditorProps\n"],"mappings":"AAEA","ignoreList":[]}
@@ -12,7 +12,7 @@ import { CollapsibleProvider, useCollapsible } from './provider.js';
12
12
  const baseClass = 'collapsible';
13
13
  export { CollapsibleProvider, useCollapsible };
14
14
  export const Collapsible = t0 => {
15
- const $ = _c(24);
15
+ const $ = _c(26);
16
16
  const {
17
17
  actions,
18
18
  children,
@@ -91,6 +91,19 @@ export const Collapsible = t0 => {
91
91
  const t14 = t13.join(" ");
92
92
  let t15;
93
93
  if ($[14] !== actions || $[15] !== children || $[16] !== dragHandleProps || $[17] !== header || $[18] !== isCollapsed || $[19] !== t || $[20] !== t14 || $[21] !== t9 || $[22] !== toggleCollapsible) {
94
+ let t16;
95
+ if ($[24] !== dragHandleProps) {
96
+ t16 = dragHandleProps && _jsx("div", {
97
+ className: `${baseClass}__drag`,
98
+ ...dragHandleProps.attributes,
99
+ ...dragHandleProps.listeners,
100
+ children: _jsx(DragHandleIcon, {})
101
+ });
102
+ $[24] = dragHandleProps;
103
+ $[25] = t16;
104
+ } else {
105
+ t16 = $[25];
106
+ }
94
107
  t15 = _jsx("div", {
95
108
  className: t9,
96
109
  children: _jsxs(CollapsibleProvider, {
@@ -107,12 +120,7 @@ export const Collapsible = t0 => {
107
120
  children: _jsx("span", {
108
121
  children: t("fields:toggleBlock")
109
122
  })
110
- }), dragHandleProps && _jsx("div", {
111
- className: `${baseClass}__drag`,
112
- ...dragHandleProps.attributes,
113
- ...dragHandleProps.listeners,
114
- children: _jsx(DragHandleIcon, {})
115
- }), header ? _jsx("div", {
123
+ }), t16, header ? _jsx("div", {
116
124
  className: [`${baseClass}__header-wrap`, dragHandleProps && `${baseClass}__header-wrap--has-drag-handle`].filter(Boolean).join(" "),
117
125
  children: header
118
126
  }) : null, _jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useState","ChevronIcon","DragHandleIcon","useTranslation","AnimateHeight","CollapsibleProvider","useCollapsible","baseClass","Collapsible","t0","$","actions","children","className","collapsibleStyle","t1","dragHandleProps","header","initCollapsed","isCollapsed","collapsedFromProps","onToggle","undefined","collapsedLocal","setCollapsedLocal","Boolean","hoveringToggle","setHoveringToggle","isWithinCollapsible","t","t2","toggleCollapsible","t3","t4","t5","t6","t7","t8","filter","t9","join","t10","t11","Symbol","for","t12","t13","t14","t15","_jsx","_jsxs","toggle","onMouseEnter","onMouseLeave","onClick","type","attributes","listeners","direction","height"],"sources":["../../../src/elements/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport React, { useState } from 'react'\n\nimport type { DragHandleProps } from '../DraggableSortable/DraggableSortableItem/types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { DragHandleIcon } from '../../icons/DragHandle/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { CollapsibleProvider, useCollapsible } from './provider.js'\n\nconst baseClass = 'collapsible'\n\nexport { CollapsibleProvider, useCollapsible }\n\nexport type Props = {\n actions?: React.ReactNode\n children: React.ReactNode\n className?: string\n collapsibleStyle?: 'default' | 'error'\n dragHandleProps?: DragHandleProps\n header?: React.ReactNode\n initCollapsed?: boolean\n isCollapsed?: boolean\n onToggle?: (collapsed: boolean) => Promise<void> | void\n}\n\nexport const Collapsible: React.FC<Props> = ({\n actions,\n children,\n className,\n collapsibleStyle = 'default',\n dragHandleProps,\n header,\n initCollapsed,\n isCollapsed: collapsedFromProps,\n onToggle,\n}) => {\n const [collapsedLocal, setCollapsedLocal] = useState(Boolean(initCollapsed))\n const [hoveringToggle, setHoveringToggle] = useState(false)\n const { isWithinCollapsible } = useCollapsible()\n const { t } = useTranslation()\n\n const isCollapsed = typeof collapsedFromProps === 'boolean' ? collapsedFromProps : collapsedLocal\n\n const toggleCollapsible = React.useCallback(() => {\n if (typeof onToggle === 'function') {\n void onToggle(!isCollapsed)\n }\n setCollapsedLocal(!isCollapsed)\n }, [onToggle, isCollapsed])\n\n return (\n <div\n className={[\n baseClass,\n className,\n dragHandleProps && `${baseClass}--has-drag-handle`,\n isCollapsed && `${baseClass}--collapsed`,\n isWithinCollapsible && `${baseClass}--nested`,\n hoveringToggle && `${baseClass}--hovered`,\n `${baseClass}--style-${collapsibleStyle}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <CollapsibleProvider isCollapsed={isCollapsed} toggle={toggleCollapsible}>\n <div\n className={`${baseClass}__toggle-wrap`}\n onMouseEnter={() => setHoveringToggle(true)}\n onMouseLeave={() => setHoveringToggle(false)}\n >\n <button\n className={[\n `${baseClass}__toggle`,\n `${baseClass}__toggle--${isCollapsed ? 'collapsed' : 'open'}`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={toggleCollapsible}\n type=\"button\"\n >\n <span>{t('fields:toggleBlock')}</span>\n </button>\n {dragHandleProps && (\n <div\n className={`${baseClass}__drag`}\n {...dragHandleProps.attributes}\n {...dragHandleProps.listeners}\n >\n <DragHandleIcon />\n </div>\n )}\n {header ? (\n <div\n className={[\n `${baseClass}__header-wrap`,\n dragHandleProps && `${baseClass}__header-wrap--has-drag-handle`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {header}\n </div>\n ) : null}\n <div className={`${baseClass}__actions-wrap`}>\n {actions ? <div className={`${baseClass}__actions`}>{actions}</div> : null}\n <div className={`${baseClass}__indicator`}>\n <ChevronIcon direction={!isCollapsed ? 'up' : undefined} />\n </div>\n </div>\n </div>\n <AnimateHeight height={isCollapsed ? 0 : 'auto'}>\n <div className={`${baseClass}__content`}>{children}</div>\n </AnimateHeight>\n </CollapsibleProvider>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useState","ChevronIcon","DragHandleIcon","useTranslation","AnimateHeight","CollapsibleProvider","useCollapsible","baseClass","Collapsible","t0","$","actions","children","className","collapsibleStyle","t1","dragHandleProps","header","initCollapsed","isCollapsed","collapsedFromProps","onToggle","undefined","collapsedLocal","setCollapsedLocal","Boolean","hoveringToggle","setHoveringToggle","isWithinCollapsible","t","t2","toggleCollapsible","t3","t4","t5","t6","t7","t8","filter","t9","join","t10","t11","Symbol","for","t12","t13","t14","t15","t16","_jsx","attributes","listeners","_jsxs","toggle","onMouseEnter","onMouseLeave","onClick","type","direction","height"],"sources":["../../../src/elements/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport React, { useState } from 'react'\n\nimport type { DragHandleProps } from '../DraggableSortable/DraggableSortableItem/types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { DragHandleIcon } from '../../icons/DragHandle/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { CollapsibleProvider, useCollapsible } from './provider.js'\n\nconst baseClass = 'collapsible'\n\nexport { CollapsibleProvider, useCollapsible }\n\nexport type Props = {\n actions?: React.ReactNode\n children: React.ReactNode\n className?: string\n collapsibleStyle?: 'default' | 'error'\n dragHandleProps?: DragHandleProps\n header?: React.ReactNode\n initCollapsed?: boolean\n isCollapsed?: boolean\n onToggle?: (collapsed: boolean) => Promise<void> | void\n}\n\nexport const Collapsible: React.FC<Props> = ({\n actions,\n children,\n className,\n collapsibleStyle = 'default',\n dragHandleProps,\n header,\n initCollapsed,\n isCollapsed: collapsedFromProps,\n onToggle,\n}) => {\n const [collapsedLocal, setCollapsedLocal] = useState(Boolean(initCollapsed))\n const [hoveringToggle, setHoveringToggle] = useState(false)\n const { isWithinCollapsible } = useCollapsible()\n const { t } = useTranslation()\n\n const isCollapsed = typeof collapsedFromProps === 'boolean' ? collapsedFromProps : collapsedLocal\n\n const toggleCollapsible = React.useCallback(() => {\n if (typeof onToggle === 'function') {\n void onToggle(!isCollapsed)\n }\n setCollapsedLocal(!isCollapsed)\n }, [onToggle, isCollapsed])\n\n return (\n <div\n className={[\n baseClass,\n className,\n dragHandleProps && `${baseClass}--has-drag-handle`,\n isCollapsed && `${baseClass}--collapsed`,\n isWithinCollapsible && `${baseClass}--nested`,\n hoveringToggle && `${baseClass}--hovered`,\n `${baseClass}--style-${collapsibleStyle}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <CollapsibleProvider isCollapsed={isCollapsed} toggle={toggleCollapsible}>\n <div\n className={`${baseClass}__toggle-wrap`}\n onMouseEnter={() => setHoveringToggle(true)}\n onMouseLeave={() => setHoveringToggle(false)}\n >\n <button\n className={[\n `${baseClass}__toggle`,\n `${baseClass}__toggle--${isCollapsed ? 'collapsed' : 'open'}`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={toggleCollapsible}\n type=\"button\"\n >\n <span>{t('fields:toggleBlock')}</span>\n </button>\n {dragHandleProps && (\n <div\n className={`${baseClass}__drag`}\n {...dragHandleProps.attributes}\n {...dragHandleProps.listeners}\n >\n <DragHandleIcon />\n </div>\n )}\n {header ? (\n <div\n className={[\n `${baseClass}__header-wrap`,\n dragHandleProps && `${baseClass}__header-wrap--has-drag-handle`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {header}\n </div>\n ) : null}\n <div className={`${baseClass}__actions-wrap`}>\n {actions ? <div className={`${baseClass}__actions`}>{actions}</div> : null}\n <div className={`${baseClass}__indicator`}>\n <ChevronIcon direction={!isCollapsed ? 'up' : undefined} />\n </div>\n </div>\n </div>\n <AnimateHeight height={isCollapsed ? 0 : 'auto'}>\n <div className={`${baseClass}__content`}>{children}</div>\n </AnimateHeight>\n </CollapsibleProvider>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ import { drawerZBase, useDrawerDepth } from '../Drawer/index.js';
10
10
  import './index.scss';
11
11
  const baseClass = 'confirmation-modal';
12
12
  export function ConfirmationModal(props) {
13
- const $ = _c(25);
13
+ const $ = _c(37);
14
14
  const {
15
15
  body,
16
16
  cancelLabel,
@@ -82,6 +82,46 @@ export function ConfirmationModal(props) {
82
82
  const t4 = drawerZBase + editDepth;
83
83
  let t5;
84
84
  if ($[12] !== body || $[13] !== cancelLabel || $[14] !== confirmLabel || $[15] !== confirming || $[16] !== confirmingLabel || $[17] !== heading || $[18] !== modalSlug || $[19] !== onCancel || $[20] !== onConfirm || $[21] !== t || $[22] !== t3 || $[23] !== t4) {
85
+ let t6;
86
+ if ($[25] !== heading) {
87
+ t6 = typeof heading === "string" ? _jsx("h1", {
88
+ children: heading
89
+ }) : heading;
90
+ $[25] = heading;
91
+ $[26] = t6;
92
+ } else {
93
+ t6 = $[26];
94
+ }
95
+ let t7;
96
+ if ($[27] !== body) {
97
+ t7 = typeof body === "string" ? _jsx("p", {
98
+ children: body
99
+ }) : body;
100
+ $[27] = body;
101
+ $[28] = t7;
102
+ } else {
103
+ t7 = $[28];
104
+ }
105
+ let t8;
106
+ if ($[29] !== cancelLabel || $[30] !== t) {
107
+ t8 = cancelLabel || t("general:cancel");
108
+ $[29] = cancelLabel;
109
+ $[30] = t;
110
+ $[31] = t8;
111
+ } else {
112
+ t8 = $[31];
113
+ }
114
+ let t9;
115
+ if ($[32] !== confirmLabel || $[33] !== confirming || $[34] !== confirmingLabel || $[35] !== t) {
116
+ t9 = confirming ? confirmingLabel || `${t("general:loading")}...` : confirmLabel || t("general:confirm");
117
+ $[32] = confirmLabel;
118
+ $[33] = confirming;
119
+ $[34] = confirmingLabel;
120
+ $[35] = t;
121
+ $[36] = t9;
122
+ } else {
123
+ t9 = $[36];
124
+ }
85
125
  t5 = _jsx(Modal, {
86
126
  className: t3,
87
127
  slug: modalSlug,
@@ -92,11 +132,7 @@ export function ConfirmationModal(props) {
92
132
  className: `${baseClass}__wrapper`,
93
133
  children: [_jsxs("div", {
94
134
  className: `${baseClass}__content`,
95
- children: [typeof heading === "string" ? _jsx("h1", {
96
- children: heading
97
- }) : heading, typeof body === "string" ? _jsx("p", {
98
- children: body
99
- }) : body]
135
+ children: [t6, t7]
100
136
  }), _jsxs("div", {
101
137
  className: `${baseClass}__controls`,
102
138
  children: [_jsx(Button, {
@@ -106,12 +142,12 @@ export function ConfirmationModal(props) {
106
142
  onClick: onCancel,
107
143
  size: "large",
108
144
  type: "button",
109
- children: cancelLabel || t("general:cancel")
145
+ children: t8
110
146
  }), _jsx(Button, {
111
147
  id: "confirm-action",
112
148
  onClick: onConfirm,
113
149
  size: "large",
114
- children: confirming ? confirmingLabel || `${t("general:loading")}...` : confirmLabel || t("general:confirm")
150
+ children: t9
115
151
  })]
116
152
  })]
117
153
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","useCallback","useTranslation","Button","drawerZBase","useDrawerDepth","baseClass","ConfirmationModal","props","$","body","cancelLabel","className","confirmingLabel","confirmLabel","heading","modalSlug","onCancel","onCancelFromProps","onConfirm","onConfirmFromProps","editDepth","confirming","setConfirming","useState","closeModal","t","t0","t1","t2","filter","Boolean","t3","join","t4","t5","_jsx","slug","style","zIndex","children","_jsxs","buttonStyle","disabled","id","onClick","size","type"],"sources":["../../../src/elements/ConfirmationModal/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { useCallback } from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { drawerZBase, useDrawerDepth } from '../Drawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'confirmation-modal'\n\nexport type OnCancel = () => void\n\nexport type ConfirmationModalProps = {\n body: React.ReactNode\n cancelLabel?: string\n className?: string\n confirmingLabel?: string\n confirmLabel?: string\n heading: React.ReactNode\n modalSlug: string\n onCancel?: OnCancel\n onConfirm: () => Promise<void> | void\n}\n\nexport function ConfirmationModal(props: ConfirmationModalProps) {\n const {\n body,\n cancelLabel,\n className,\n confirmingLabel,\n confirmLabel,\n heading,\n modalSlug,\n onCancel: onCancelFromProps,\n onConfirm: onConfirmFromProps,\n } = props\n\n const editDepth = useDrawerDepth()\n\n const [confirming, setConfirming] = React.useState(false)\n\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n const onConfirm = useCallback(async () => {\n if (!confirming) {\n setConfirming(true)\n\n if (typeof onConfirmFromProps === 'function') {\n await onConfirmFromProps()\n }\n\n setConfirming(false)\n closeModal(modalSlug)\n }\n }, [confirming, onConfirmFromProps, closeModal, modalSlug])\n\n const onCancel = useCallback(() => {\n if (!confirming) {\n closeModal(modalSlug)\n\n if (typeof onCancelFromProps === 'function') {\n onCancelFromProps()\n }\n }\n }, [confirming, onCancelFromProps, closeModal, modalSlug])\n\n return (\n <Modal\n className={[baseClass, className].filter(Boolean).join(' ')}\n slug={modalSlug}\n style={{\n zIndex: drawerZBase + editDepth,\n }}\n >\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n {typeof heading === 'string' ? <h1>{heading}</h1> : heading}\n {typeof body === 'string' ? <p>{body}</p> : body}\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n disabled={confirming}\n id=\"confirm-cancel\"\n onClick={onCancel}\n size=\"large\"\n type=\"button\"\n >\n {cancelLabel || t('general:cancel')}\n </Button>\n <Button id=\"confirm-action\" onClick={onConfirm} size=\"large\">\n {confirming\n ? confirmingLabel || `${t('general:loading')}...`\n : confirmLabel || t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","Modal","useModal","React","useCallback","useTranslation","Button","drawerZBase","useDrawerDepth","baseClass","ConfirmationModal","props","$","body","cancelLabel","className","confirmingLabel","confirmLabel","heading","modalSlug","onCancel","onCancelFromProps","onConfirm","onConfirmFromProps","editDepth","confirming","setConfirming","useState","closeModal","t","t0","t1","t2","filter","Boolean","t3","join","t4","t5","t6","_jsx","children","t7","t8","t9","slug","style","zIndex","_jsxs","buttonStyle","disabled","id","onClick","size","type"],"sources":["../../../src/elements/ConfirmationModal/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport React, { useCallback } from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { drawerZBase, useDrawerDepth } from '../Drawer/index.js'\nimport './index.scss'\n\nconst baseClass = 'confirmation-modal'\n\nexport type OnCancel = () => void\n\nexport type ConfirmationModalProps = {\n body: React.ReactNode\n cancelLabel?: string\n className?: string\n confirmingLabel?: string\n confirmLabel?: string\n heading: React.ReactNode\n modalSlug: string\n onCancel?: OnCancel\n onConfirm: () => Promise<void> | void\n}\n\nexport function ConfirmationModal(props: ConfirmationModalProps) {\n const {\n body,\n cancelLabel,\n className,\n confirmingLabel,\n confirmLabel,\n heading,\n modalSlug,\n onCancel: onCancelFromProps,\n onConfirm: onConfirmFromProps,\n } = props\n\n const editDepth = useDrawerDepth()\n\n const [confirming, setConfirming] = React.useState(false)\n\n const { closeModal } = useModal()\n const { t } = useTranslation()\n\n const onConfirm = useCallback(async () => {\n if (!confirming) {\n setConfirming(true)\n\n if (typeof onConfirmFromProps === 'function') {\n await onConfirmFromProps()\n }\n\n setConfirming(false)\n closeModal(modalSlug)\n }\n }, [confirming, onConfirmFromProps, closeModal, modalSlug])\n\n const onCancel = useCallback(() => {\n if (!confirming) {\n closeModal(modalSlug)\n\n if (typeof onCancelFromProps === 'function') {\n onCancelFromProps()\n }\n }\n }, [confirming, onCancelFromProps, closeModal, modalSlug])\n\n return (\n <Modal\n className={[baseClass, className].filter(Boolean).join(' ')}\n slug={modalSlug}\n style={{\n zIndex: drawerZBase + editDepth,\n }}\n >\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n {typeof heading === 'string' ? <h1>{heading}</h1> : heading}\n {typeof body === 'string' ? <p>{body}</p> : body}\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n disabled={confirming}\n id=\"confirm-cancel\"\n onClick={onCancel}\n size=\"large\"\n type=\"button\"\n >\n {cancelLabel || t('general:cancel')}\n </Button>\n <Button id=\"confirm-action\" onClick={onConfirm} size=\"large\">\n {confirming\n ? confirmingLabel || `${t('general:loading')}...`\n : confirmLabel || t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,KAAK,EAAEC,QAAQ,QAAQ;AAChC,OAAOC,KAAA,IAASC,WAAW,QAAQ;AAEnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,WAAW,EAAEC,cAAc,QAAQ;AAC5C,OAAO;AAEP,MAAMC,SAAA,GAAY;AAgBlB,OAAO,SAAAC,kBAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EACL;IAAAa,IAAA;IAAAC,WAAA;IAAAC,SAAA;IAAAC,eAAA;IAAAC,YAAA;IAAAC,OAAA;IAAAC,SAAA;IAAAC,QAAA,EAAAC,iBAAA;IAAAC,SAAA,EAAAC;EAAA,IAUIZ,KAAA;EAEJ,MAAAa,SAAA,GAAkBhB,cAAA;EAElB,OAAAiB,UAAA,EAAAC,aAAA,IAAoCvB,KAAA,CAAAwB,QAAA,MAAe;EAEnD;IAAAC;EAAA,IAAuB1B,QAAA;EACvB;IAAA2B;EAAA,IAAcxB,cAAA;EAAA,IAAAyB,EAAA;EAAA,IAAAlB,CAAA,QAAAgB,UAAA,IAAAhB,CAAA,QAAAa,UAAA,IAAAb,CAAA,QAAAO,SAAA,IAAAP,CAAA,QAAAW,kBAAA;IAEgBO,EAAA,SAAAA,CAAA;MAAA,KACvBL,UAAA;QACHC,aAAA,KAAc;QAAA,IAEV,OAAOH,kBAAA,KAAuB;UAAA,MAC1BA,kBAAA;QAAA;QAGRG,aAAA,MAAc;QACdE,UAAA,CAAWT,SAAA;MAAA;IAAA;IAEfP,CAAA,MAAAgB,UAAA;IAAAhB,CAAA,MAAAa,UAAA;IAAAb,CAAA,MAAAO,SAAA;IAAAP,CAAA,MAAAW,kBAAA;IAAAX,CAAA,MAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAXA,MAAAU,SAAA,GAAkBQ,EAWwC;EAAA,IAAAC,EAAA;EAAA,IAAAnB,CAAA,QAAAgB,UAAA,IAAAhB,CAAA,QAAAa,UAAA,IAAAb,CAAA,QAAAO,SAAA,IAAAP,CAAA,QAAAS,iBAAA;IAE7BU,EAAA,GAAAA,CAAA;MAAA,KACtBN,UAAA;QACHG,UAAA,CAAWT,SAAA;QAAA,IAEP,OAAOE,iBAAA,KAAsB;UAC/BA,iBAAA;QAAA;MAAA;IAAA;IAGNT,CAAA,MAAAgB,UAAA;IAAAhB,CAAA,MAAAa,UAAA;IAAAb,CAAA,MAAAO,SAAA;IAAAP,CAAA,MAAAS,iBAAA;IAAAT,CAAA,MAAAmB,EAAA;EAAA;IAAAA,EAAA,GAAAnB,CAAA;EAAA;EARA,MAAAQ,QAAA,GAAiBW,EAQwC;EAAA,IAAAC,EAAA;EAAA,IAAApB,CAAA,SAAAG,SAAA;IAI1CiB,EAAA,IAAAvB,SAAA,EAAYM,SAAA,EAAAkB,MAAA,CAAAC,OAAkB;IAAAtB,CAAA,OAAAG,SAAA;IAAAH,CAAA,OAAAoB,EAAA;EAAA;IAAAA,EAAA,GAAApB,CAAA;EAAA;EAA9B,MAAAuB,EAAA,GAAAH,EAA8B,CAAAI,IAAA,CAAc;EAG7C,MAAAC,EAAA,GAAA9B,WAAA,GAAciB,SAAA;EAAA,IAAAc,EAAA;EAAA,IAAA1B,CAAA,SAAAC,IAAA,IAAAD,CAAA,SAAAE,WAAA,IAAAF,CAAA,SAAAK,YAAA,IAAAL,CAAA,SAAAa,UAAA,IAAAb,CAAA,SAAAI,eAAA,IAAAJ,CAAA,SAAAM,OAAA,IAAAN,CAAA,SAAAO,SAAA,IAAAP,CAAA,SAAAQ,QAAA,IAAAR,CAAA,SAAAU,SAAA,IAAAV,CAAA,SAAAiB,CAAA,IAAAjB,CAAA,SAAAuB,EAAA,IAAAvB,CAAA,SAAAyB,EAAA;IAAA,IAAAE,EAAA;IAAA,IAAA3B,CAAA,SAAAM,OAAA;MAKnBqB,EAAA,UAAOrB,OAAA,KAAY,WAAWsB,IAAA,CAAC;QAAAC,QAAA,EAAIvB;MAAA,C,IAAgBA,OAAA;MAAAN,CAAA,OAAAM,OAAA;MAAAN,CAAA,OAAA2B,EAAA;IAAA;MAAAA,EAAA,GAAA3B,CAAA;IAAA;IAAA,IAAA8B,EAAA;IAAA,IAAA9B,CAAA,SAAAC,IAAA;MACnD6B,EAAA,UAAO7B,IAAA,KAAS,WAAW2B,IAAA,CAAC;QAAAC,QAAA,EAAG5B;MAAA,C,IAAYA,IAAA;MAAAD,CAAA,OAAAC,IAAA;MAAAD,CAAA,OAAA8B,EAAA;IAAA;MAAAA,EAAA,GAAA9B,CAAA;IAAA;IAAA,IAAA+B,EAAA;IAAA,IAAA/B,CAAA,SAAAE,WAAA,IAAAF,CAAA,SAAAiB,CAAA;MAWzCc,EAAA,GAAA7B,WAAA,IAAee,CAAA,CAAE;MAAAjB,CAAA,OAAAE,WAAA;MAAAF,CAAA,OAAAiB,CAAA;MAAAjB,CAAA,OAAA+B,EAAA;IAAA;MAAAA,EAAA,GAAA/B,CAAA;IAAA;IAAA,IAAAgC,EAAA;IAAA,IAAAhC,CAAA,SAAAK,YAAA,IAAAL,CAAA,SAAAa,UAAA,IAAAb,CAAA,SAAAI,eAAA,IAAAJ,CAAA,SAAAiB,CAAA;MAGjBe,EAAA,GAAAnB,UAAA,GACGT,eAAA,IAAmB,GAAGa,CAAA,CAAE,uBAAuB,GAC/CZ,YAAA,IAAgBY,CAAA,CAAE;MAAAjB,CAAA,OAAAK,YAAA;MAAAL,CAAA,OAAAa,UAAA;MAAAb,CAAA,OAAAI,eAAA;MAAAJ,CAAA,OAAAiB,CAAA;MAAAjB,CAAA,OAAAgC,EAAA;IAAA;MAAAA,EAAA,GAAAhC,CAAA;IAAA;IA1B9B0B,EAAA,GAAAE,IAAA,CAAAvC,KAAA;MAAAc,SAAA,EACaoB,EAA4C;MAAAU,IAAA,EACjD1B,SAAA;MAAA2B,KAAA;QAAAC,MAAA,EAEIV;MAAc;MAAAI,QAAA,EAGxBO,KAAA,CAAC;QAAAjC,SAAA,EAAe,GAAAN,SAAA,WAAuB;QAAAgC,QAAA,GACrCO,KAAA,CAAC;UAAAjC,SAAA,EAAe,GAAAN,SAAA,WAAuB;UAAAgC,QAAA,GACpCF,EAAmD,EACnDG,EAA2C;QAAA,C,GAE9CM,KAAA,CAAC;UAAAjC,SAAA,EAAe,GAAAN,SAAA,YAAwB;UAAAgC,QAAA,GACtCD,IAAA,CAAAlC,MAAA;YAAA2C,WAAA,EACc;YAAAC,QAAA,EACFzB,UAAA;YAAA0B,EAAA,EACP;YAAAC,OAAA,EACMhC,QAAA;YAAAiC,IAAA,EACJ;YAAAC,IAAA,EACA;YAAAb,QAAA,EAEJE;UAAiB,C,GAEpBH,IAAA,CAAAlC,MAAA;YAAA6C,EAAA,EAAW;YAAAC,OAAA,EAA0B9B,SAAA;YAAA+B,IAAA,EAAgB;YAAAZ,QAAA,EAClDG;UAEqB,C;;;;;;;;;;;;;;;;;;;;SA1B9BN,E","ignoreList":[]}