slice-machine-ui 2.2.0 → 2.2.1-alpha.lg-advanced-groups.1

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 (34) hide show
  1. package/out/404.html +1 -1
  2. package/out/_next/static/{Iqv1HthWic_kBlUfMjHlt → cCW7yrYdbRdLclgTHkdeP}/_buildManifest.js +1 -1
  3. package/out/_next/static/chunks/{264-4bb6f3fb14863ef3.js → 264-87017e3502fe6dce.js} +1 -1
  4. package/out/_next/static/chunks/574-1f75e133d3d73ee7.js +1 -0
  5. package/out/_next/static/chunks/756-7550e11414d44604.js +10 -0
  6. package/out/_next/static/chunks/pages/{_app-c773b1b7239e6543.js → _app-b5abfee5e4d1b6a8.js} +2 -2
  7. package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/{[variation]-996e20b9b295a912.js → [variation]-2e102067840fd3ad.js} +1 -1
  8. package/out/changelog.html +1 -1
  9. package/out/changes.html +1 -1
  10. package/out/custom-types/[customTypeId].html +1 -1
  11. package/out/custom-types.html +1 -1
  12. package/out/index.html +1 -1
  13. package/out/labs.html +1 -1
  14. package/out/page-types/[pageTypeId].html +1 -1
  15. package/out/settings.html +1 -1
  16. package/out/slices/[lib]/[sliceName]/[variation]/simulator.html +1 -1
  17. package/out/slices/[lib]/[sliceName]/[variation].html +1 -1
  18. package/out/slices.html +1 -1
  19. package/package.json +6 -5
  20. package/src/legacy/lib/builders/common/Zone/Card/components/NewField.tsx +1 -1
  21. package/src/legacy/lib/builders/utils/index.ts +8 -0
  22. package/src/legacy/lib/models/common/Group.ts +26 -11
  23. package/src/legacy/lib/models/common/NestedGroup.ts +82 -0
  24. package/src/legacy/lib/models/common/widgets/Group/ListItem/index.jsx +14 -2
  25. package/src/legacy/lib/models/common/widgets/NestedGroup/Form.jsx +70 -0
  26. package/src/legacy/lib/models/common/widgets/NestedGroup/ListItem/index.jsx +288 -0
  27. package/src/legacy/lib/models/common/widgets/NestedGroup/index.ts +45 -0
  28. package/src/legacy/lib/models/common/widgets/allWidgets.ts +3 -0
  29. package/src/legacy/lib/models/common/widgets/groupBuilderArray.ts +2 -1
  30. package/src/legacy/lib/models/common/widgets/nestedGroupBuilderArray.ts +18 -0
  31. package/src/legacy/lib/models/common/widgets/withNestedGroup.ts +2 -0
  32. package/out/_next/static/chunks/574-6039c48fbc93b4a8.js +0 -1
  33. package/out/_next/static/chunks/756-1e44fe84bedc262b.js +0 -10
  34. /package/out/_next/static/{Iqv1HthWic_kBlUfMjHlt → cCW7yrYdbRdLclgTHkdeP}/_ssgManifest.js +0 -0
@@ -17,8 +17,8 @@ import Hint from "@/legacy/lib/builders/common/Zone/Card/components/Hints";
17
17
  import NewField from "@/legacy/lib/builders/common/Zone/Card/components/NewField";
18
18
  import { findWidgetByConfigOrType } from "@/legacy/lib/builders/utils";
19
19
  import { Groups } from "@/legacy/lib/models/common/Group";
20
- import * as Widgets from "@/legacy/lib/models/common/widgets";
21
20
  import groupBuilderWidgetsArray from "@/legacy/lib/models/common/widgets/groupBuilderArray";
21
+ import * as Widgets from "@/legacy/lib/models/common/widgets/withNestedGroup";
22
22
  import { ensureDnDDestination } from "@/legacy/lib/utils";
23
23
  import { transformKeyAccessor } from "@/legacy/lib/utils/str";
24
24
  import { getContentTypeForTracking } from "@/utils/getContentTypeForTracking";
@@ -86,7 +86,7 @@ const CustomListItem = ({
86
86
  group: Groups.fromSM(groupItem.value),
87
87
  previousFieldId: previousKey,
88
88
  newFieldId: newKey,
89
- field: value,
89
+ field: Groups.fromSM(value),
90
90
  });
91
91
 
92
92
  saveItem({
@@ -215,6 +215,7 @@ const CustomListItem = ({
215
215
  key: item.key,
216
216
  enterEditMode,
217
217
  deleteItem: onDeleteItem,
218
+ saveItem: onSaveField,
218
219
  renderFieldAccessor: (key) =>
219
220
  `item${transformKeyAccessor(item.key)}`,
220
221
  // eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/restrict-template-expressions
@@ -239,6 +240,17 @@ const CustomListItem = ({
239
240
  typeName={widget.CUSTOM_NAME || widget.TYPE_NAME}
240
241
  />
241
242
  );
243
+
244
+ if (widget.CustomListItem) {
245
+ const { CustomListItem } = widget;
246
+ return (
247
+ <CustomListItem
248
+ {...props}
249
+ HintElement={HintElement}
250
+ />
251
+ );
252
+ }
253
+
242
254
  return (
243
255
  <ListItem {...props} HintElement={HintElement} />
244
256
  );
@@ -0,0 +1,70 @@
1
+ import { Box, Checkbox, Label } from "theme-ui";
2
+
3
+ import { Col, Flex as FlexGrid } from "@/legacy/components/Flex";
4
+ import WidgetFormField from "@/legacy/lib/builders/common/EditModal/Field";
5
+ import { createFieldNameFromKey } from "@/legacy/lib/forms";
6
+ import { DefaultFields } from "@/legacy/lib/forms/defaults";
7
+ import { CheckBox } from "@/legacy/lib/forms/fields";
8
+
9
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
10
+ const FormFields = {
11
+ ...DefaultFields,
12
+ repeat: CheckBox("Repeatable", false, true),
13
+ };
14
+
15
+ const Form = (props) => {
16
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
17
+ const { initialValues, fields, values, setFieldValue } = props;
18
+
19
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
20
+ const {
21
+ config: { repeat },
22
+ } = values;
23
+
24
+ return (
25
+ <FlexGrid>
26
+ {
27
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
28
+ Object.entries(FormFields)
29
+ .filter(([key]) => key !== "repeat")
30
+ .map(([key, field]) => (
31
+ <Col key={key}>
32
+ <WidgetFormField
33
+ fieldName={createFieldNameFromKey(key)}
34
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
35
+ formField={field}
36
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
37
+ fields={fields}
38
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
39
+ initialValues={initialValues}
40
+ />
41
+ </Col>
42
+ ))
43
+ }
44
+
45
+ <Col>
46
+ <Box
47
+ sx={{
48
+ mt: 2,
49
+ alignItems: "center",
50
+ display: "flex",
51
+ height: "130%",
52
+ }}
53
+ >
54
+ <Label variant="label.border" sx={{ mb: 0 }}>
55
+ <Checkbox
56
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
57
+ checked={repeat}
58
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/strict-boolean-expressions
59
+ onChange={() => setFieldValue("config.repeat", !repeat)}
60
+ />
61
+ Repeatable
62
+ </Label>
63
+ </Box>
64
+ </Col>
65
+ </FlexGrid>
66
+ );
67
+ };
68
+
69
+ export { FormFields };
70
+ export default Form;
@@ -0,0 +1,288 @@
1
+ import { Fragment, useState } from "react";
2
+ import { DragDropContext, Droppable } from "react-beautiful-dnd";
3
+ import { flushSync } from "react-dom";
4
+ import { Box, Button } from "theme-ui";
5
+
6
+ import { telemetry } from "@/apiClient";
7
+ import {
8
+ addFieldToGroup,
9
+ deleteFieldFromGroup,
10
+ reorderFieldInGroup,
11
+ updateFieldInGroup,
12
+ } from "@/domain/group";
13
+ import ListItem from "@/legacy/components/ListItem";
14
+ import EditModal from "@/legacy/lib/builders/common/EditModal";
15
+ import SelectFieldTypeModal from "@/legacy/lib/builders/common/SelectFieldTypeModal";
16
+ import Hint from "@/legacy/lib/builders/common/Zone/Card/components/Hints";
17
+ import NewField from "@/legacy/lib/builders/common/Zone/Card/components/NewField";
18
+ import { findWidgetByConfigOrType } from "@/legacy/lib/builders/utils";
19
+ import { Groups } from "@/legacy/lib/models/common/Group";
20
+ import * as Widgets from "@/legacy/lib/models/common/widgets";
21
+ import nestedGroupBuilderArray from "@/legacy/lib/models/common/widgets/nestedGroupBuilderArray";
22
+ import { ensureDnDDestination } from "@/legacy/lib/utils";
23
+ import { transformKeyAccessor } from "@/legacy/lib/utils/str";
24
+ import { getContentTypeForTracking } from "@/utils/getContentTypeForTracking";
25
+
26
+ /* eslint-disable */
27
+ const CustomListItem = ({
28
+ tabId,
29
+ widget,
30
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
31
+ parentSnapshot,
32
+ showHints,
33
+ isRepeatable,
34
+ item: groupItem,
35
+ draggableId,
36
+ saveItem,
37
+ HintElement,
38
+ ...rest
39
+ }) => {
40
+ const [selectMode, setSelectMode] = useState(false);
41
+ const [newFieldData, setNewFieldData] = useState(null);
42
+ const [editModalData, setEditModalData] = useState({ isOpen: false });
43
+
44
+ const onSelectFieldType = (widgetTypeName) => {
45
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
46
+ setNewFieldData({ widgetTypeName });
47
+ setSelectMode(false);
48
+ };
49
+
50
+ const onCancelNewField = () => {
51
+ setNewFieldData(null);
52
+ };
53
+
54
+ const closeEditModal = () => {
55
+ setEditModalData({ isOpen: false });
56
+ };
57
+
58
+ const onSaveNewField = ({ id, label, widgetTypeName }) => {
59
+ const widget = Widgets[widgetTypeName];
60
+ const newField = widget.create(label);
61
+
62
+ const newGroupValue = addFieldToGroup({
63
+ group: Groups.fromSM(groupItem.value),
64
+ fieldId: id,
65
+ field: newField,
66
+ });
67
+
68
+ saveItem({
69
+ apiId: groupItem.key,
70
+ newKey: groupItem.key,
71
+ value: Groups.toSM(newGroupValue),
72
+ });
73
+
74
+ void telemetry.track({
75
+ event: "field:added",
76
+ id,
77
+ name: label,
78
+ type: newField.type,
79
+ isInAGroup: true,
80
+ contentType: getContentTypeForTracking(window.location.pathname),
81
+ });
82
+ };
83
+
84
+ const onSaveField = ({ apiId: previousKey, newKey, value }) => {
85
+ const newGroupValue = updateFieldInGroup({
86
+ group: Groups.fromSM(groupItem.value),
87
+ previousFieldId: previousKey,
88
+ newFieldId: newKey,
89
+ field: value,
90
+ });
91
+
92
+ saveItem({
93
+ apiId: groupItem.key,
94
+ newKey: groupItem.key,
95
+ value: Groups.toSM(newGroupValue),
96
+ });
97
+ };
98
+
99
+ const onDragEnd = (result) => {
100
+ if (ensureDnDDestination(result)) {
101
+ return;
102
+ }
103
+
104
+ const { source, destination } = result;
105
+ if (!destination) {
106
+ return;
107
+ }
108
+
109
+ const { index: sourceIndex } = source;
110
+ const { index: destinationIndex } = destination;
111
+
112
+ const newGroupValue = reorderFieldInGroup({
113
+ group: Groups.fromSM(groupItem.value),
114
+ sourceIndex,
115
+ destinationIndex,
116
+ });
117
+
118
+ // When removing redux and replacing it by a simple useState, react-beautiful-dnd (that is deprecated library) was making the fields flickering on reorder.
119
+ // The problem seems to come from the react non-synchronous way to handle our state update that didn't work well with the library.
120
+ // It's a hack and since it's used on an old pure JavaScript code with a deprecated library it will be removed when updating the UI of the fields.
121
+ flushSync(() => {
122
+ saveItem({
123
+ apiId: groupItem.key,
124
+ newKey: groupItem.key,
125
+ value: Groups.toSM(newGroupValue),
126
+ });
127
+ });
128
+ };
129
+
130
+ const onDeleteItem = (key) => {
131
+ const newGroupValue = deleteFieldFromGroup({
132
+ group: Groups.fromSM(groupItem.value),
133
+ fieldId: key,
134
+ });
135
+
136
+ saveItem({
137
+ apiId: groupItem.key,
138
+ newKey: groupItem.key,
139
+ value: Groups.toSM(newGroupValue),
140
+ });
141
+ };
142
+
143
+ /** @param {[string, import("@prismicio/types-internal/lib/customtypes").NestableWidget]} field */
144
+ const enterEditMode = (field) => {
145
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
146
+ setEditModalData({ isOpen: true, field });
147
+
148
+ const [id, model] = field;
149
+ void telemetry.track({
150
+ event: "field:settings-opened",
151
+ id,
152
+ name: model.config.label,
153
+ type: model.type,
154
+ isInAGroup: true,
155
+ contentType: getContentTypeForTracking(window.location.pathname),
156
+ });
157
+ };
158
+
159
+ return (
160
+ <Fragment>
161
+ <ListItem
162
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
163
+ item={groupItem}
164
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
165
+ widget={widget}
166
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
167
+ draggableId={draggableId}
168
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unused-vars, @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-member-access
169
+ {...rest}
170
+ HintElement={HintElement}
171
+ CustomEditElements={[
172
+ <Button
173
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-member-access
174
+ key={`custom-edit-element-${groupItem.key}`}
175
+ mr={2}
176
+ variant="buttons.darkSmall"
177
+ onClick={() => setSelectMode(true)}
178
+ >
179
+ Add Field
180
+ </Button>,
181
+ ]}
182
+ children={
183
+ <Box sx={{ ml: 4 }}>
184
+ <DragDropContext onDragEnd={onDragEnd}>
185
+ <Droppable
186
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/restrict-template-expressions, @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-member-access
187
+ droppableId={`${tabId}-${groupItem.key}-zone`}
188
+ >
189
+ {(provided) => (
190
+ <ul ref={provided.innerRef} {...provided.droppableProps}>
191
+ {
192
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
193
+ groupItem.value.config.fields.map((item, index) => {
194
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
195
+ const {
196
+ value: { config, type },
197
+ } = item;
198
+ const widget = findWidgetByConfigOrType(
199
+ Widgets,
200
+ config,
201
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
202
+ type,
203
+ );
204
+ if (!widget) {
205
+ return null;
206
+ }
207
+
208
+ const props = {
209
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/restrict-template-expressions, @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
210
+ item,
211
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
212
+ index,
213
+ widget,
214
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
215
+ key: item.key,
216
+ enterEditMode,
217
+ deleteItem: onDeleteItem,
218
+ renderFieldAccessor: (key) =>
219
+ `item${transformKeyAccessor(item.key)}`,
220
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/restrict-template-expressions
221
+ draggableId: `group-${groupItem.key}-${item.key}-${index}`,
222
+ testId: `list-item-group-${groupItem.key}-${item.key}`,
223
+ };
224
+
225
+ const HintElement = (
226
+ <Hint
227
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-assignment
228
+ item={item}
229
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
230
+ show={showHints}
231
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
232
+ isRepeatable={isRepeatable}
233
+ renderHintBase={({ item }) =>
234
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-member-access
235
+ `item${transformKeyAccessor(item.key)}`
236
+ }
237
+ Widgets={Widgets}
238
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
239
+ typeName={widget.CUSTOM_NAME || widget.TYPE_NAME}
240
+ />
241
+ );
242
+ return (
243
+ <ListItem {...props} HintElement={HintElement} />
244
+ );
245
+ })
246
+ }
247
+ {provided.placeholder}
248
+
249
+ {newFieldData && (
250
+ <NewField
251
+ {...newFieldData}
252
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
253
+ fields={groupItem.value.config.fields || []}
254
+ onSave={(...args) => {
255
+ console.log({ log: "onSave", ...args });
256
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
257
+ onSaveNewField(...args);
258
+ setNewFieldData(null);
259
+ }}
260
+ onCancelNewField={onCancelNewField}
261
+ />
262
+ )}
263
+ </ul>
264
+ )}
265
+ </Droppable>
266
+ </DragDropContext>
267
+ </Box>
268
+ }
269
+ />
270
+ <SelectFieldTypeModal
271
+ data={{ isOpen: selectMode }}
272
+ close={() => setSelectMode(false)}
273
+ onSelect={onSelectFieldType}
274
+ widgetsArray={nestedGroupBuilderArray}
275
+ />
276
+ <EditModal
277
+ data={editModalData}
278
+ close={closeEditModal}
279
+ onSave={onSaveField}
280
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
281
+ fields={groupItem.value.config.fields}
282
+ />
283
+ </Fragment>
284
+ );
285
+ };
286
+
287
+ export default CustomListItem;
288
+ /* eslint-enable */
@@ -0,0 +1,45 @@
1
+ import { MdPlaylistAdd } from "react-icons/md";
2
+ import * as yup from "yup";
3
+
4
+ import { NestedGroupSM } from "@/legacy/lib/models/common/NestedGroup";
5
+
6
+ import { Widget } from "../Widget";
7
+ import Form, { FormFields } from "./Form";
8
+ import CustomListItem from "./ListItem";
9
+
10
+ const Meta = {
11
+ icon: MdPlaylistAdd,
12
+ title: "Group",
13
+ description: "A repeatable set of fields",
14
+ };
15
+
16
+ const schema = yup.object().shape({
17
+ type: yup
18
+ .string()
19
+ .matches(/^NestedGroup$/, { excludeEmptyString: true })
20
+ .required(),
21
+ config: yup.object().shape({
22
+ fields: yup.array(),
23
+ label: yup.string(),
24
+ placeholder: yup.string(),
25
+ repeat: yup.boolean().optional(),
26
+ }),
27
+ });
28
+
29
+ export const NestedGroupWidget: Widget<NestedGroupSM, typeof schema> = {
30
+ Meta,
31
+ Form,
32
+ FormFields,
33
+ schema,
34
+ create: (label: string) => ({
35
+ type: "Group",
36
+ config: {
37
+ label,
38
+ repeat: true,
39
+ fields: [],
40
+ },
41
+ }),
42
+ CustomListItem,
43
+ TYPE_NAME: "Group",
44
+ CUSTOM_NAME: "NestedGroup",
45
+ };
@@ -0,0 +1,3 @@
1
+ export * from ".";
2
+ export { GroupWidget as Group } from "./Group";
3
+ export { NestedGroupWidget as NestedGroup } from "./NestedGroup";
@@ -1,6 +1,7 @@
1
- import * as Widgets from ".";
1
+ import * as Widgets from "./withNestedGroup";
2
2
 
3
3
  export default [
4
+ Widgets.NestedGroup,
4
5
  Widgets.StructuredText,
5
6
  Widgets.Image,
6
7
  Widgets.Link,
@@ -0,0 +1,18 @@
1
+ import * as Widgets from ".";
2
+
3
+ export default [
4
+ Widgets.StructuredText,
5
+ Widgets.Image,
6
+ Widgets.Link,
7
+ Widgets.LinkToMedia,
8
+ Widgets.ContentRelationship,
9
+ Widgets.Select,
10
+ Widgets.Boolean,
11
+ Widgets.Date,
12
+ Widgets.Timestamp,
13
+ Widgets.Embed,
14
+ Widgets.Number,
15
+ Widgets.GeoPoint,
16
+ Widgets.Color,
17
+ Widgets.Text,
18
+ ];
@@ -0,0 +1,2 @@
1
+ export * from ".";
2
+ export { NestedGroupWidget as NestedGroup } from "./NestedGroup";
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[574],{85513:function(e,n,t){"use strict";t.d(n,{aV:function(){return u},Bu:function(){return f}});var i=t(62230),r=t(85244),o=t(98240),l=t(52322),a=t(22715),s=t(6277),c=t(41350),d=t.n(c),u=function(e){var n=e.border,t=(0,o.Z)(e,["border"]);return(0,l.jsx)("div",(0,r.Z)((0,i.Z)({},t),{className:(0,s.Z)(d().root,(void 0===n||n)&&d()["root-border"])}))},f=function(e){var n=e.actions,t=e.children,s=e.toggle,c=(0,o.Z)(e,["actions","children","toggle"]);return(0,l.jsxs)("div",(0,r.Z)((0,i.Z)({},c),{className:d().header,children:[(0,l.jsx)(a.xv,{color:"grey11",component:"span",noWrap:!0,variant:"bold",children:t}),s,Boolean(n)?(0,l.jsx)("div",{className:d().headerActions,children:n}):null]}))}},90104:function(e,n,t){"use strict";t.d(n,{X:function(){return o}});var i=t(52322),r=t(22715),o=function(e){var n,t=e.status;switch(t){case"pending":n={icon:(0,i.jsx)(r._3,{color:"grey11"}),text:"Saving..."};break;case"failed":n={icon:(0,i.jsx)(r.I5,{name:"close",color:"tomato11",size:"medium"}),text:"Failed to save"};break;case"done":n={icon:(0,i.jsx)(r.I5,{name:"check",color:"green11",size:"medium"}),text:"Auto-saved"}}return(0,i.jsxs)(r.xu,{gap:8,alignItems:"center",children:[n.icon,(0,i.jsx)(r.xv,{color:"grey11",children:n.text})]})}},51279:function(e,n,t){"use strict";t.d(n,{Z:function(){return d}});var i=t(62230),r=t(52322),o=t(61183);t(2784);var l=t(59326),a=t(75289),s=function(e){return{subLanguage:"xml",contains:[e.COMMENT("<!--","-->",{relevance:10}),{begin:/^(\s*)(<script(\s*context="module")?>)/gm,end:/^(\s*)(<\/script>)/gm,subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,contains:[{begin:/^(\s*)(\$:)/gm,end:/(\s*)/gm,className:"keyword"},]},{begin:/^(\s*)(<style.*>)/gm,end:/^(\s*)(<\/style>)/gm,subLanguage:"css",excludeBegin:!0,excludeEnd:!0},{begin:/\{/gm,end:/\}/gm,subLanguage:"javascript",contains:[{begin:/[\{]/,end:/[\}]/,skip:!0},{begin:/([#:\/@])(if|else|each|await|then|catch|debug|html)/gm,className:"keyword",relevance:10},]},]}};o.Z.registerLanguage("svelte",s);var c=["javascript","bash","xml","html","json"],d=function(e){var n,t=e.children,s=e.lang,d=e.sx,u=e.codeStyle,f=e.codeClass,p=e.Header,x=(0,l.B7)().theme,m=s?o.Z.highlight(t,{language:"vue"===s?"html":s}).value:o.Z.highlightAuto(t,c).value;return(0,r.jsxs)(a.kC,{as:"pre",sx:d,children:[p?(0,r.jsx)(p,{}):null,(0,r.jsx)("code",{className:"hljs".concat(f?" ".concat(f):""),style:(0,i.Z)({overflowX:"auto",padding:"3px 5px",borderRadius:"6px",border:"1px solid",borderColor:String(null===(n=x.colors)||void 0===n?void 0:n.textClear)},u),dangerouslySetInnerHTML:{__html:m}})]})}},26950:function(e,n,t){"use strict";t.d(n,{J:function(){return c},k:function(){return s}});var i=t(62230),r=t(85244),o=t(98240),l=t(52322);t(2784);var a=t(75289),s=function(e){var n=e.children,t=e.sx,s=(0,o.Z)(e,["children","sx"]);return(0,l.jsx)(a.xu,(0,r.Z)((0,i.Z)({sx:(0,i.Z)({display:["block","block","flex"],flexWrap:"wrap",justifyContent:"space-between"},t)},s),{children:n}))},c=function(e){var n=e.children,t=e.cols;return(0,l.jsx)(a.xu,{sx:{flex:"0 ".concat(100/(void 0===t?2:t)-1,"%"),mb:1},children:n})}},35549:function(e,n,t){"use strict";t.d(n,{$w:function(){return i},Hq:function(){return u},tM:function(){return d}});var i,r=t(62230),o=t(85244),l=t(52322),a=t(63397);t(2784);var s,c=t(75289);(s=i||(i={}))[s.ERROR=0]="ERROR",s[s.DISABLED=1]="DISABLED",s[s.WARNING=2]="WARNING";var d=function(e){var n={"&::placeholder":{color:"#C9D0D8"}};switch(e){case i.DISABLED:return(0,o.Z)((0,r.Z)({},n),{border:"1px solid #E6E6EA",backgroundColor:"#F3F5F7"});case i.ERROR:return(0,o.Z)((0,r.Z)({},n),{border:"1px solid #E26049","&:focus":{outline:"none",borderColor:"#E26049",boxShadow:"0 0 0 3px rgba(226, 96, 73, 0.2), inset 0 1px 2px rgba(226, 96, 73, 0.2)"}});case i.WARNING:return(0,o.Z)((0,r.Z)({},n),{border:"1px solid orange","&:focus":{outline:"none",borderColor:"orange",boxShadow:"0 0 0 3px rgba(255, 165, 0, 0.2), inset 0 1px 2px rgba(255, 165, 0, 0.2)"}});default:return n}},u=function(e){var n=e.sx,t=e.field,s=e.meta,u=e.formField,f=e.fieldName,p=e.fields,x=e.initialValues,m=e.isDisabled,h=s.error?i.ERROR:m||u.disabled?i.DISABLED:void 0;return(0,l.jsxs)(c.xu,{sx:void 0===n?{}:n,children:[(0,l.jsxs)(c.__,{variant:"label.primary",htmlFor:f,children:[u.label||f,s.touched&&s.error?(0,l.jsx)(c.xv,{as:"span",variant:"text.labelError",children:s.error}):null]}),(0,l.jsx)(a.gN,(0,o.Z)((0,r.Z)({id:f,name:f,type:"text",placeholder:u.placeholder||u.label||f},u.fieldLevelValidation&&x?{validate:function(e){return u.fieldLevelValidation&&u.fieldLevelValidation({value:e,fields:p,initialId:x.id})}}:null,t),{as:c.II,sx:d(h),disabled:m||u.disabled}))]})}},20180:function(e,n,t){"use strict";t.d(n,{kp:function(){return c},sP:function(){return u},w8:function(){return f},Hq:function(){return p.Hq}});var i=t(62230),r=t(85244),o=t(52322),l=t(63397),a=t(2784),s=t(75289),c=function(e){var n=e.field,t=e.meta,c=e.fieldName,d=e.label,u=e.focusOnNewEntry,f=void 0===u||u,p=e.inputPlaceholder,x=e.buttonLabel,m=(0,a.useState)(t.value.length),h=m[0],v=m[1],g=(0,a.useRef)(Array(t.value.length));return(0,a.useEffect)(function(){g.current=g.current.slice(0,t.value.length)},[t.value.length]),(0,a.useEffect)(function(){var e=g.current.length;f&&e>h&&g.current[e-1].focus(),v(e)},[g.current.length,f,h]),(0,o.jsxs)(a.Fragment,{children:[(0,o.jsxs)(s.__,{variant:"label.primary",htmlFor:c,children:[d,t.touched&&t.error?(0,o.jsx)(s.xv,{as:"span",variant:"text.labelError",children:t.error}):null]}),(0,o.jsx)(l.F2,(0,r.Z)((0,i.Z)({name:c,id:c},n),{render:function(e){return(0,o.jsxs)("div",{children:[n.value&&n.value.length>0?n.value.map(function(n,t){return(0,o.jsxs)(s.kC,{my:2,children:[(0,o.jsx)(s.II,{placeholder:p,name:"".concat(c,".").concat(t),value:n,ref:function(e){return g.current[t]=e},onChange:function(n){var i=n.target.value;return e.replace(t,i)}}),(0,o.jsx)(s.zx,{ml:2,type:"button",variant:"secondary",onClick:function(){return e.remove(t)},children:"-"})]},"".concat(c,"-").concat(+t+1))}):null,(0,o.jsx)(s.zx,{type:"button",onClick:function(){return e.insert(n.value.length,"")},children:x})]})}}))]})},d=t(98240),u=function(e){e.initialValues;var n=e.meta,t=e.label,a=e.fieldName,c=e.onChange,u=(0,d.Z)(e,["initialValues","meta","label","fieldName","onChange"]);return(0,o.jsxs)(s.__,(0,r.Z)((0,i.Z)({variant:"label.border"},u),{children:[(0,o.jsx)(l.gN,{as:s.XZ,type:"checkbox",name:a,onChange:function(){return c(!n.value)},checked:n.value}),t]}))},f=function(e){var n=e.field,t=e.label,i=e.defaultValue,r=e.onChange,l=e.controlledValue,s=e.setControlledValue,c=e.buildControlledValue,d=(0,a.useState)(i||n.defaultValue||!1),f=d[0],p=d[1];return(0,a.useEffect)(function(){c?s(c(l,f)):s(c)},[f,l,c]),(0,o.jsx)(u,{meta:{value:f},fieldName:n.name,onChange:function(e){return p(e)&&r&&r(e)},label:"function"==typeof t?t(l,f):t})},p=t(35549)},82004:function(e,n,t){"use strict";var i=t(62230),r=t(85244),o=t(98240),l=t(52322),a=t(2784),s=t(75289),c=(0,a.forwardRef)(function(e,n){var t=e.children,a=e.Component,c=void 0===a?s.kC:a,d=e.sx,u=(0,o.Z)(e,["children","Component","sx"]);return(0,l.jsx)(c,(0,r.Z)((0,i.Z)({as:"li",sx:(0,i.Z)({p:3,mx:3,alignItems:"center",variant:"styles.listItem"},void 0===d?{}:d),ref:n},u),{children:t}))});n.Z=c},1225:function(e,n,t){"use strict";t.d(n,{Z:function(){return j}});var i=t(62230),r=t(85244),o=t(52322),l=t(5446),a=t(2784),s=t(40023),c=t(951),d=t(8799),u=t(18978),f=t(59326),p=t(75289),x=t(82004),m=t(26474),h=t(98240),v=t(33710),g=t(79401),b=function(e){var n=e.text,t=e.as,l=e.sx,s=(0,h.Z)(e,["text","as","sx"]),c=(0,a.useRef)(null),d=(0,a.useState)(null),u=d[0],f=d[1],x=function(){f(c.current&&c.current.offsetWidth<c.current.scrollWidth)};return(0,a.useEffect)(function(){return x(),window.addEventListener("resize",x),function(){window.removeEventListener("resize",x)}},[]),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(p.xv,(0,r.Z)((0,i.Z)({"data-for":n,"data-tip":!0,sx:(0,i.Z)({flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},void 0===l?{}:l),as:t,ref:c},s),{children:n})),u&&(0,o.jsx)(g.X,{children:(0,o.jsx)(v.Z,{id:n,type:"dark",multiline:!0,border:!0,borderColor:"black",place:"bottom",effect:"solid",children:n})})]})},y=function(e){var n,t,i=e.text,r=e.sliceFieldName,l=e.theme,a=e.WidgetIcon;return(0,o.jsxs)(p.kC,{sx:{alignItems:"center",position:"relative"},children:[(0,o.jsx)(a,{size:28,style:{color:null===(n=l.colors)||void 0===n?void 0:n.primary,marginRight:"8px",borderRadius:"4px",padding:"4px",border:"2px solid",borderColor:null===(t=l.colors)||void 0===t?void 0:t.primary}}),(0,o.jsx)(b,{text:i,as:"p",sx:{py:0,px:1,fontWeight:"label",fontSize:"15px"},"data-testid":"field-name"}),(0,o.jsx)(p.xv,{as:"p",sx:{display:["none","none","initial"],fontSize:"14px",ml:1,color:"textClear"},"data-testid":"field-id",children:r})]})},j=function(e){var n=e.item,t=e.index,h=e.deleteItem,v=e.enterEditMode,g=e.modelFieldName,b=e.renderFieldAccessor,j=e.HintElement,Z=e.CustomEditElement,k=e.CustomEditElements,C=e.widget,I=e.draggableId,S=e.testId,F=e.isRepeatableCustomType,E=e.children,w=(0,f.B7)().theme,T=n.key,_=n.value,A=_.config,M=_.type;return(0,o.jsx)(a.Fragment,{children:(0,o.jsx)(s._l,{draggableId:I,index:t,children:function(e){var s,f,I,_,N;return(0,o.jsx)(a.Fragment,{children:(0,o.jsxs)(x.Z,(0,r.Z)((0,i.Z)({"data-testid":S,ref:e.innerRef},e.draggableProps),{Component:p.xu,sx:{p:0,mx:0,my:3},children:[(0,o.jsxs)(p.kC,{sx:{width:"100%"},children:[(0,o.jsx)(m.Z,(0,i.Z)({label:"Reorder slice field (drag and drop)",Icon:u.Fm7,color:null===(s=w.colors)||void 0===s?void 0:s.icons,mr:1,mt:3},e.dragHandleProps)),(0,o.jsxs)(p.xu,{sx:{bg:"headSection",width:"100%",borderRadius:"3px",border:function(e){var n;return"1px solid ".concat(String(null===(n=e.colors)||void 0===n?void 0:n.borders))}},children:[(0,o.jsxs)(p.kC,{sx:{p:3,alignItems:"center",justifyContent:"space-between",width:"100%"},children:[(0,o.jsx)(y,{theme:w,text:(null==A?void 0:A.label)||T,sliceFieldName:b&&b(T),WidgetIcon:C.Meta.icon}),(0,o.jsxs)(p.kC,{children:[k||null,Z||(0,o.jsx)(m.Z,{size:22,Icon:c.$iz,label:"Edit field",sx:{cursor:"pointer",color:null===(f=w.colors)||void 0===f?void 0:f.icons},onClick:function(){return v([T,n.value],g,t)}}),!(!0===F&&"UID"==M)&&(0,o.jsxs)(l.v2,{children:[(0,o.jsx)(l.j2,{className:"sliceMenuButton","data-testid":"field-menu-button",style:{padding:"0",cursor:"pointer",width:"32px",height:"32px",border:"none",background:"transparent",outline:"0"},children:(0,o.jsx)(d.FQA,{size:20,color:null===(I=w.colors)||void 0===I?void 0:I.icons,style:{pointerEvents:"none"}})}),(0,o.jsx)(l.qy,{style:{background:null===(_=w.colors)||void 0===_?void 0:_.gray,border:"1px solid",borderRadius:"3px",borderColor:null===(N=w.colors)||void 0===N?void 0:N.borders,outline:"0"},children:(0,o.jsx)(l.sN,{style:{padding:"6px",cursor:"pointer"},onSelect:function(){return h(T)},children:"Delete field"})})]})]})]}),j||null]})]}),E]}))})}})})}},26474:function(e,n,t){"use strict";var i=t(62230),r=t(85244),o=t(98240),l=t(52322),a=t(75289),s=function(e,n){return n?{border:function(e){var n=e.colors;return"1px solid ".concat(n.error)}}:e?{border:function(e){var n=e.colors;return"1px solid ".concat(n.primary)}}:{border:function(e){var n=e.colors;return"1px solid ".concat(n.borders)}}},c=function(e){var n=e.sx,t=e.onClick,c=e.label,d=e.Icon,u=e.error,f=e.size,p=void 0===f?16:f,x=e.fitButton,m=e.active,h=e.useActive,v=e.activeSx,g=(0,o.Z)(e,["sx","onClick","label","Icon","error","size","fitButton","active","useActive","activeSx"]);return(0,l.jsx)(a.hU,(0,r.Z)((0,i.Z)({onClick:void 0===t?function(){return null}:t,"aria-label":c,type:"button",sx:(0,i.Z)({},void 0!==x&&x?{width:p,height:p}:null,void 0!==h&&h&&(void 0===v?s:v)(void 0!==m&&m,void 0===u?null:u),void 0===n?null:n)},g),{children:(0,l.jsx)(d,{size:p})}))};n.Z=c},79474:function(e,n,t){"use strict";var i=t(62230),r=t(17064),o=t(52322),l=t(63397),a=t(2784),s=t(75289),c=t(20180),d=t(33413),u=function(e){var n=e.fieldName,t=e.formField,u=e.fields,f=e.initialValues,p=(0,r.Z)((0,l.U$)(n),3),x=p[0],m=p[1],h=p[2],v=t.component;return(0,o.jsx)(s.xu,{sx:(0,i.Z)({mt:2,alignItems:"center"},t.type===d.h.CHECKBOX?{display:"flex",height:"130%"}:null),children:v?(0,o.jsx)(v,{meta:m,field:x,helpers:h,fieldName:n,formField:t,initialValues:f}):(0,o.jsxs)(a.Fragment,{children:[t.type===d.h.INPUT?(0,o.jsx)(c.Hq,{meta:m,field:x,fields:u,formField:t,fieldName:n,initialValues:f}):null,t.type===d.h.CHECKBOX&&(0,o.jsx)(c.sP,{meta:m,label:t.label,fieldName:n,initialValues:f,onChange:function(e){return h.setValue(e)}})]})})};n.Z=u},1411:function(e,n,t){"use strict";t.d(n,{Z:function(){return B}});var i=t(62230),r=t(85244),o=t(17064),l=t(52322),a=t(37149),s=t.n(a),c=t(59326),d=t(75289),u=t(65413),f=t(2784),p=t(92928),x=t(2978),m=t(98240),h=function(e){var n=e.children,t=(0,m.Z)(e,["children"]);return(0,l.jsx)(d.xu,(0,r.Z)((0,i.Z)({as:"ul",sx:{p:0,m:0,px:function(e){return"calc(".concat(e.space[3],"px + 8px)")},borderBottom:"1px solid #DFE1E5",position:"relative"}},t),{children:n}))};h.tabsRole="TabList";var v=function(e){var n=e.children,t=(0,m.Z)(e,["children"]),o=(0,c.B7)().theme;return(0,l.jsx)(p.OK,(0,r.Z)((0,i.Z)({},t),{style:(0,i.Z)({margin:"0 32px 0 0",top:"0",padding:"8px 0px",border:"none",bottom:"-1px",opacity:"0.8",transition:"all 150ms cubic-bezier(0.215,0.60,0.355,1)",borderRadius:"0"},t.selected?{borderBottom:"3px solid ".concat(o.colors.primary),color:o.colors.text,fontWeight:"500",opacity:"1",backgroundColor:"transparent"}:{borderBottom:"3px solid transparent"}),children:n}))};v.tabsRole="Tab";var g=function(e){var n=e.children,t=e.Footer,r=e.Header,o=e.tabs,a=e.bodySx,s=e.footerSx,c=e.defaultIndex,u=void 0===c?0:c,m=(0,f.useState)(u),g=m[0],b=m[1];return(0,l.jsx)(x.Z,{borderFooter:!0,footerSx:(0,i.Z)({p:0},s),bodySx:(0,i.Z)({p:0},a),sx:{border:"none"},Header:r,Footer:t,children:(0,l.jsxs)(p.mQ,{defaultIndex:u,onSelect:function(e){return b(e)},children:[(0,l.jsx)(h,{children:(o||[]).map(function(e){return(0,l.jsx)(v,{children:e},e)})}),f.Children.map(n,function(e,n){return(0,l.jsx)(d.xu,{sx:{p:function(e){return"calc(".concat(e.space[3],"px + 8px)")},display:n===g?"block":"none"},children:(0,l.jsx)(p.x4,{children:e})})})]})})},b=(0,f.memo)(g),y=t(26950),j=function(e){var n,t,i=e.text,r=e.sliceFieldName,o=e.theme,a=e.WidgetIcon;return(0,l.jsxs)(d.kC,{sx:{alignItems:"center"},children:[(0,l.jsx)(a,{size:28,style:{color:null===(n=o.colors)||void 0===n?void 0:n.primary,marginRight:"8px",borderRadius:"4px",padding:"4px",border:"2px solid",borderColor:null===(t=o.colors)||void 0===t?void 0:t.primary}}),(0,l.jsx)(d.xv,{as:"p","data-testid":"item-header-text",sx:{py:0,px:1,fontWeight:"label",fontSize:"15px"},children:i}),(0,l.jsx)(d.xv,{as:"p",sx:{display:["none","none","initial"],fontSize:"14px",ml:1,color:"textClear"},children:r})]})},Z=t(28199),k=t(86163),C=t(5632),I=t(65186),S=t(25978),F=function(){var e=(0,C.useRouter)();return(0,l.jsxs)(d.xu,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",padding:"60px"},children:[(0,l.jsx)(I.wr$,{size:48,color:"#C9D0D8"}),(0,l.jsx)(d.xu,{sx:{height:"12px"}}),(0,l.jsx)(d.xv,{color:"text",sx:{fontWeight:600,fontSize:"24px",lineHeight:"32px",textAlign:"center"},children:"Your mock data has moved"}),(0,l.jsx)(d.xu,{sx:{height:"8px"}}),(0,l.jsx)(d.xv,{color:"text",sx:{fontWeight:400,fontSize:"14px",lineHeight:"24px",textAlign:"center"},children:"You can now edit directly your mock data in the new Slice Simulator."}),(0,l.jsx)(d.xu,{sx:{height:"24px"}}),(0,l.jsx)(d.zx,{onClick:function(n){n.preventDefault(),window.open("".concat(e.asPath,"/simulator"),S.pq)},children:"Go to the Slice Simulator"})]})},E=t(40826),w=t(50535),T=t(69114),_=t(79474),A=t(67557),M=t(77033),N=t(63397),R=function(e){var n=e.formId,t=e.initialValues,a=e.validationSchema,s=e.onSave,c=e.FormFields,u=e.children;return(0,l.jsx)(d.xu,{children:(0,l.jsx)(N.J9,{initialValues:t,validationSchema:a,onSubmit:function(e,n){var t;s({newKey:e.id,value:Object.entries((0,m.Z)(e,["id"])).reduce(function(e,n){var t=(0,o.Z)(n,2),l=t[0],a=t[1];if((void 0===a?"undefined":(0,M.Z)(a))!==Boolean&&!a){var s,d=null===(s=c[l])||void 0===s?void 0:s.defaultValue;if(void 0!==d)return(0,r.Z)((0,i.Z)({},e),(0,A.Z)({},l,d))}return(0,r.Z)((0,i.Z)({},e),(0,A.Z)({},l,a))},{})})},children:function(e){return(0,l.jsx)(N.l0,{id:n,children:u((0,r.Z)((0,i.Z)({},e),{initialValues:t}))})}})})},L=(0,f.memo)(R);s().setAppElement("#__next");var B=function(e){var n=e.close,t=e.data,a=e.fields,s=e.onSave,f=e.zoneType,p=(0,c.B7)().theme;if(!t.isOpen)return null;var x=(0,o.Z)(t.field,2),m=x[0],h=x[1],v=(0,T.t)(E,h.config,h.type);if(!v)return(0,l.jsxs)("div",{children:[h.type," not found"]});var g=v.Meta.icon,C=v.FormFields,I=v.Form,S=v.schema,A=(0,i.Z)({},(0,k.f7)((0,w.B9)(C,"id")),v.prepareInitialValues?v.prepareInitialValues(h.config):h.config),M=function(){try{return{res:S.validateSync({type:h.type,config:A},{stripUnknown:!0})}}catch(e){return{err:e}}}(),N=M.res,R=M.err;R&&(console.error("[EditModal] Failed to validate field of type ".concat(h.type,".\n Please update model.json accordingly.")),console.error(R));var B={id:m,config:N?N.config:A},O=(0,o.Z)(C.id.validate.matches,2),V=O[0],q=O[1],D=u.object().shape({id:u.string().matches(V,q).min(3).max(35).required(),config:S.fields.config}),z="".concat("edit-modal-form","-").concat(Math.random().toString());return(0,l.jsx)(Z.Z,{isOpen:!0,shouldCloseOnOverlayClick:!0,onRequestClose:n,contentLabel:"Widget Form Modal",children:(0,l.jsx)(L,{apiId:m,formId:z,initialValues:B,validationSchema:D,FormFields:C,onSave:function(e){var t=e.newKey,r=e.value;s({apiId:m,newKey:t,value:(0,i.Z)({},h,r)}),n()},children:function(e){var t=e.values,s=t.id,c=t.config.label,u=e.isValid,x=e.isSubmitting,m=e.initialValues,h=I?(0,l.jsx)(I,(0,r.Z)((0,i.Z)({},e),{fields:a}),"field-model-tab-content"):(0,l.jsx)(y.k,{children:Object.entries(C).map(function(e){var n=(0,o.Z)(e,2),t=n[0],i=n[1];return(0,l.jsx)(y.J,{children:(0,l.jsx)(_.Z,{fieldName:(0,k.lm)(t),formField:i,fields:a,initialValues:m})},t)})},"field-model-tab-content"),v=["Field Model"],Z=[h];if("slice"===f){var S=(0,l.jsx)(d.xu,{children:(0,l.jsx)(F,{})},"mock-data-tab-content");v.push("Mock Data"),Z.push(S)}return(0,l.jsx)(b,{borderFooter:!0,footerSx:{position:"sticky",bottom:0,p:0},tabs:v,Header:function(e){var t=e.radius;return(0,l.jsxs)(d.kC,{sx:{position:"sticky",zIndex:1,top:0,p:3,bg:"headSection",alignItems:"center",justifyContent:"space-between",borderTopLeftRadius:t,borderTopRightRadius:t},children:[(0,l.jsx)(j,{theme:p,text:c||s,WidgetIcon:g}),(0,l.jsx)(d.x8,{onClick:n,type:"button"})]})},Footer:(0,l.jsxs)(d.kC,{sx:{position:"sticky",bottom:0,alignItems:"space-between",bg:"headSection",p:3},children:[(0,l.jsx)(d.xu,{sx:{ml:"auto"}}),(0,l.jsx)(d.zx,{mr:2,type:"button",onClick:n,variant:"secondary",children:"Cancel"}),(0,l.jsx)(d.zx,{form:z,type:"submit",disabled:!u&&x,sx:{fontWeight:"400",paddingBlock:"8px",paddingInline:"16px",fontSize:"14px",borderRadius:"4px"},children:"Done"})]}),children:Z})}})})}},14424:function(e,n,t){"use strict";t.d(n,{Z:function(){return x}});var i=t(62230),r=t(85244),o=t(52322),l=t(37149),a=t.n(l),s=t(75289),c=t(2978),d=t(26950),u=t(28199),f=t(59326),p=function(e){var n=e.title,t=e.description,i=e.icon,r=e.onSelect,l=(0,f.B7)().theme;return(0,o.jsxs)(s.kC,{sx:{p:3,my:2,alignItems:"center",cursor:"pointer",borderRadius:"3px",border:function(e){var n;return"1px solid ".concat(null===(n=e.colors)||void 0===n?void 0:n.borders)},"&:hover":{border:function(e){var n=e.colors;return"1px solid ".concat(n.primary)},boxShadow:"0 0 0 3px rgba(81, 99, 186, 0.2)"}},"data-testid":n,onClick:r,children:[(0,o.jsx)(i,{label:'Select field of type "'.concat(n,'"'),style:{color:l.colors.primary,marginRight:"8px",borderRadius:"4px",padding:"5px",border:"2px solid",borderColor:l.colors.primary},size:32}),(0,o.jsxs)(s.xu,{ml:1,children:[(0,o.jsx)(s.X6,{as:"h4",sx:{fontSize:1},children:(0,o.jsx)("b",{children:n})}),(0,o.jsx)(s.xv,{as:"p",variant:"xs",children:t})]})]})};a().setAppElement("#__next");var x=function(e){var n=e.data,t=e.close,l=e.onSelect,a=e.widgetsArray;return n.isOpen?(0,o.jsx)(u.Z,{isOpen:!0,shouldCloseOnOverlayClick:!0,onRequestClose:t,contentLabel:"Widget Form Modal",children:(0,o.jsx)(c.Z,{borderFooter:!0,footerSx:{p:3},bodySx:{pt:2,pb:4,px:4},sx:{border:"none"},Header:function(e){var n=e.radius;return(0,o.jsxs)(s.kC,{sx:{position:"sticky",top:0,zIndex:1,p:3,pl:4,bg:"headSection",alignItems:"center",justifyContent:"space-between",borderTopLeftRadius:n,borderTopRightRadius:n,borderBottom:function(e){var n;return"1px solid ".concat(null===(n=e.colors)||void 0===n?void 0:n.borders)}},children:[(0,o.jsx)(s.X6,{children:"Add a new field"}),(0,o.jsx)(s.x8,{onClick:t})]})},children:(0,o.jsx)(d.k,{children:a.filter(function(e){return e}).map(function(e){var n=e.Meta,t=e.TYPE_NAME,a=e.CUSTOM_NAME;return(0,o.jsx)(d.J,{children:(0,o.jsx)(p,(0,r.Z)((0,i.Z)({},n),{onSelect:function(){return l(a||t)}}))},a||t)})})})}):null}},63928:function(e,n,t){"use strict";t.d(n,{Z:function(){return v}});var i=t(22710),r=t(99267),o=t(52322),l=t(2784),a=t(49857),s=t(7604),c=t(77245),d=t(8799),u=t(65186),f=t(59326),p=t(75289),x=t(51279),m={position:"relative",top:"3px"},h=function(e){var n,t,i,r=e.code,a=e.lang,s=(0,f.B7)().theme,h=(0,l.useState)(!1),v=h[0],g=h[1],b=function(){r&&navigator.clipboard.writeText(r).then(function(){g(!0),setTimeout(function(){g(!1)},1200)})};return r?(0,o.jsxs)(p.kC,{sx:{p:2,px:3,alignItems:"center",borderTop:"1px solid",borderColor:"borders",justifyContent:"space-between"},children:[(0,o.jsxs)(p.kC,{sx:{alignItems:"center",display:["none","none","flex"],maxWidth:"80%"},children:[(0,o.jsx)(d.vcz,{size:26,color:null==s?void 0:null===(n=s.colors)||void 0===n?void 0:n.icons,style:{border:"1px solid",borderColor:null==s?void 0:null===(t=s.colors)||void 0===t?void 0:t.borders,borderRadius:"3px",padding:"4px",marginRight:"2px"}}),(0,o.jsx)(x.Z,{sx:{margin:"0px 8px",border:"none",borderRadius:"3px",fontSize:"13px"},lang:a,children:r})]}),(0,o.jsx)(p.xu,{children:(0,o.jsxs)(p.zx,{"aria-label":v?"Code snippet copied":"Copy code snippet",onClick:b,variant:"textButton",children:[v?(0,o.jsx)(u.HhX,{size:16,color:null==s?void 0:null===(i=s.colors)||void 0===i?void 0:i.success,style:m}):(0,o.jsx)(c.LhG,{size:16,style:m}),(0,o.jsx)(p.xv,{as:"span",sx:{display:["none","inline","none","inline"]},children:"\xa0Copy"})]})})]}):null},v=function(e){var n=e.show,t=e.renderHintBase,l=e.item,c=t({item:l}),d=(0,a.ZP)(c,(0,i.Z)(function(){return(0,r.__generator)(this,function(e){switch(e.label){case 0:return[4,s.j.snippets.readSnippets({fieldPath:c.split("."),model:l.value})];case 1:return[2,e.sent()]}})})),u=d.data,f=d.error;if(f&&console.error(f),!u||f)return null;var p=u.snippets||[];return p[0]?(0,o.jsx)("div",{style:{display:n?"initial":"none"},children:(0,o.jsx)(h,{code:p[0].code,lang:p[0].language})}):null}},8033:function(e,n,t){"use strict";t.d(n,{Z:function(){return Z}});var i=t(62230),r=t(85244),o=t(98240),l=t(52322),a=t(22715),s=t(63397),c=t(2784),d=t(75289),u=t(59326),f=t(35549),p=t(86163),x=t(58428),m=t(40826),h=t(55197),v=t(18978),g=t(33710),b=t(79401),y=function(e){var n=e.error;return n?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(b.X,{children:(0,l.jsx)(g.Z,{type:"light",multiline:!0,border:!0,borderColor:"tomato"})}),(0,l.jsx)(v.Zlu,{color:"tomato","data-tip":n,style:{position:"absolute",right:"8px"},size:16})]}):null},j=function(e){var n=e.innerRef,t=(0,o.Z)(e,["innerRef"]);return(0,l.jsx)(d.II,(0,r.Z)((0,i.Z)({},t),{ref:n}))},Z=function(e){var n=e.widgetTypeName,t=e.fields,o=e.onSave,v=e.onCancelNewField,g=(0,c.useRef)(null),b=(0,u.B7)().theme,Z=(0,c.useState)(!0),k=Z[0],C=Z[1];(0,c.useEffect)(function(){g.current&&g.current.focus()},[g]);var I=m[n];if(!I)return console.error('Widget of type "'.concat(n,'" not found. This is a problem on our side!')),(0,l.jsx)("div",{children:"Unexpected error. Contact us for more info."});var S=I.FormFields,F=I.Meta.icon,E={id:S.id,label:S.label},w=(0,r.Z)((0,i.Z)({},(0,p.f7)(E),"UID"===n?{id:"uid"}:{}),{widgetTypeName:n}),T=(0,p.gc)(E),_=function(e,n,t){t(k&&!E.id.disabled?(0,r.Z)((0,i.Z)({},n),{label:e.target.value,id:(0,h.lV)(e.target.value)}):(0,r.Z)((0,i.Z)({},n),{label:e.target.value}))},A=function(e,n){n("id",e.target.value),C(!1)};return(0,l.jsx)(s.J9,{onSubmit:o,validationSchema:T,initialValues:w,children:function(e){var n,o,c=e.errors,u=e.values,p=e.setValues,m=e.setFieldValue,h=e.submitForm;return(0,l.jsx)(s.l0,{"data-testid":"new-field-form",children:(0,l.jsxs)(d.kC,{as:"li",sx:{bg:"white",p:3,px:3,mx:0,ml:"34px",alignItems:"center",variant:"styles.listItem",border:function(e){var n,t;return"1px solid ".concat((null===(n=e.colors)||void 0===n?void 0:null===(t=n.borders)||void 0===t?void 0:t.toString())||"")},flexWrap:"wrap",gap:"12px",justifyContent:"flex-start"},children:[(0,l.jsx)(F,{style:{color:null===(n=b.colors)||void 0===n?void 0:n.primary,borderRadius:"4px",padding:"4px",border:"2px solid",borderColor:null===(o=b.colors)||void 0===o?void 0:o.primary},size:28}),(0,l.jsxs)(d.kC,{sx:{alignItems:"center",flexGrow:1,gap:2,position:"relative"},children:[(0,l.jsx)(d.xv,{as:"p",sx:{fontWeight:500,whiteSpace:"nowrap"},children:"Field Name"}),(0,l.jsx)(s.gN,{onChange:function(e){return _(e,u,p)},onKeyDown:function(e){"Enter"===e.key&&h()},name:"label",placeholder:"Field Name",type:"text",validate:function(e){if(!e.length)return"This field is required"},as:j,innerRef:g,sx:(0,r.Z)((0,i.Z)({},(0,f.tM)(E.label.disabled?f.$w.DISABLED:c.label?f.$w.ERROR:void 0)),{flexGrow:1,minWidth:"128px",width:"initial"}),"aria-label":"label-input","data-testid":"new-field-name-input"}),(0,l.jsx)(y,{error:c.label})]}),(0,l.jsxs)(d.kC,{sx:{alignItems:"center",flexGrow:1,gap:2,position:"relative"},children:[(0,l.jsx)(d.xv,{as:"p",sx:{fontWeight:500,whiteSpace:"nowrap"},children:"Field ID"}),(0,l.jsx)(s.gN,{onChange:function(e){return A(e,m)},onKeyDown:function(e){"Enter"===e.key&&h()},name:"id",placeholder:"e.g. buttonLink",type:"text",disabled:E.id.disabled,validate:function(e){return(0,x.u)({value:e,fields:t,initialId:null})},as:j,sx:(0,r.Z)((0,i.Z)({},(0,f.tM)(E.id.disabled?f.$w.DISABLED:c.id?f.$w.ERROR:void 0)),{flexGrow:1,minWidth:"128px",width:"initial"}),"data-testid":"new-field-id-input"}),(0,l.jsx)(y,{error:c.id})]}),(0,l.jsxs)(d.kC,{sx:{gap:2},children:[(0,l.jsx)(a.zx,{onClick:v,color:"grey",children:"Cancel"}),(0,l.jsx)(a.zx,{onClick:function(){h()},children:"Add"})]})]})})}})}},75843:function(e,n,t){"use strict";t.d(n,{Z:function(){return w}});var i=t(62230),r=t(85244),o=t(17064),l=t(81541),a=t(52322),s=t(22715),c=t(13980),d=t(2784),u=t(65077),f=t(12189),p=t(85513),x=t(21112),m=t(14424),h=t(40023),v=t(75289),g=t(82004),b=t(1225),y=t(40826),j=t(69114),Z=t(63928),k=function(e){var n=e.fields,t=e.title,o=e.tabId,l=e.enterEditMode,s=e.enterSelectMode,c=e.onDragEnd,d=e.renderFieldAccessor,u=e.onDeleteItem,f=e.onSave,p=e.showHints,x=e.newField,m=e.renderHintBase,k=e.isRepeatable,C=e.testId,I=e.isRepeatableCustomType;return(0,a.jsx)(h.Z5,{onDragEnd:c,children:(0,a.jsx)(h.bK,{droppableId:t,children:function(e,t){return(0,a.jsxs)(v.xu,(0,r.Z)((0,i.Z)({as:"ul",ref:e.innerRef},e.droppableProps),{"data-testid":C,sx:{paddingInline:"16px !important"},children:[n.map(function(e,n){var c=e.value,x=c.config,h=c.type,C=(0,j.t)(y,x,h);if(!C)return(0,a.jsx)(g.Z,{children:(0,a.jsxs)(v.xv,{children:['Field type "',h,'" not supported']})});var S={item:e,index:n,tabId:o,widget:C,showHints:p,key:e.key,enterSelectMode:s,renderFieldAccessor:d,enterEditMode:l,parentSnapshot:t,deleteItem:u,saveItem:f,draggableId:"list-item-".concat(e.key),isRepeatableCustomType:I,testId:"list-item-".concat(e.key)},F=(0,a.jsx)(Z.Z,{item:e,show:p,isRepeatable:k,renderHintBase:m,Widgets:y,typeName:C.CUSTOM_NAME||C.TYPE_NAME});if(C.CustomListItem){var E=C.CustomListItem;return(0,a.jsx)(E,(0,r.Z)((0,i.Z)({},S),{HintElement:F}))}return(0,a.jsx)(b.Z,(0,r.Z)((0,i.Z)({},S),{HintElement:F}))}),e.placeholder,x]}))}})})},C=t(8033),I=t(73539),S=t.n(I),F=function(e){var n=e.zoneType,t=e.heading,i=void 0===t?"Your ".concat(n," has no fields yet"):t,r=e.onActionClick,o=e.actionTestId;return(0,a.jsxs)("div",{className:S().root,children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(s.xv,{variant:"bold",children:i}),(0,a.jsx)(s.xv,{color:"grey11",children:"A field is an input for content (e.g. text, images, links)."})]}),(0,a.jsx)(s.zx,{color:"grey",onClick:function(){return r()},"data-testid":o,startIcon:"add",children:"Add a field"})]})},E=function(e){var n,t,c=e.zoneType,h=e.zoneTypeFormat,v=e.tabId,g=e.title,b=e.fields,y=e.poolOfFieldsToCheck,j=e.widgetsArray,Z=e.isRepeatable,I=e.onDeleteItem,S=e.onSaveNewField,E=e.onDragEnd,w=e.EditModal,T=e.onSave,_=e.dataTip,A=e.renderHintBase,M=e.renderFieldAccessor,N=e.testId,R=e.isRepeatableCustomType,L=e.emptyStateHeading,B=e.emptyStateActionTestId,O=Object.entries(y).find(function(e){return"UID"===(0,o.Z)(e,2)[1].value.type})?j.filter(function(e){return"UID"!==e.TYPE_NAME}):j,V=(0,d.useState)(!1),q=V[0],D=V[1],z=(0,d.useState)({isOpen:!1}),P=z[0],J=z[1],H=(0,d.useState)({isOpen:!1}),W=H[0],U=H[1],$=(0,d.useState)(null),G=$[0],Y=$[1],K=function(e){J({isOpen:!0,field:e});var n=(0,o.Z)(e,2),t=n[0],i=n[1];f.Xe.track({event:"field:settings-opened",id:t,name:i.config.label,type:i.type,isInAGroup:!1,contentType:(0,x.T)(window.location.pathname)})},X=function(){U({isOpen:!0})},Q=function(){J({isOpen:!1})},ee=function(){return U({isOpen:!1})},en=function(e){Y({widgetTypeName:e,fields:b}),U({isOpen:!1})},et=function(){return Y(null)};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.Bu,{actions:b.length>0?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.xv,{color:"grey11",component:"span",noWrap:!0,children:"Show code snippets?"}),(0,a.jsx)(s.rs,{checked:q,onCheckedChange:D,size:"small",style:{flexShrink:0},"data-testid":"code-snippets-switch"}),(0,a.jsx)(s.zx,{"data-testid":"add-".concat(Z?"Repeatable":"Static","-field"),onClick:X,startIcon:"add",color:"grey",disabled:null!==G,children:"Add a field"})]}):void 0,children:g}),0!==b.length||G?b.length>0||G?(0,a.jsx)(u.xR,{children:(0,a.jsx)(k,{tabId:v,isRepeatable:Z,fields:b,showHints:q,dataTip:_,title:g,renderFieldAccessor:M,renderHintBase:A,enterEditMode:K,enterSelectMode:X,onDragEnd:E,onDeleteItem:I,onSave:T,testId:N,isRepeatableCustomType:R,newField:G&&(0,a.jsx)(C.Z,(0,r.Z)((0,i.Z)({},G),{fields:y||b,onSave:function(){for(var e=arguments.length,n=Array(e),t=0;t<e;t++)n[t]=arguments[t];S.apply(void 0,(0,l.Z)(n)),Y(null)},onCancelNewField:et}))})}):void 0:(0,a.jsx)(F,{zoneType:(n=c,t=h,"customType"===n?"page"===t?"page type":"custom type":n),heading:L,onActionClick:function(){return X()},actionTestId:B}),(0,a.jsx)(w,{data:P,close:Q,onSave:T,fields:y,zoneType:c}),(0,a.jsx)(m.Z,{data:W,close:ee,onSelect:en,widgetsArray:O})]})};E.propTypes={isRepeatable:c.bool,title:c.string.isRequired,dataTip:c.string.isRequired,onSave:c.func.isRequired,onSaveNewField:c.func.isRequired,onDragEnd:c.func.isRequired,onDeleteItem:c.func.isRequired,poolOfFieldsToCheck:(0,c.arrayOf)((0,c.shape)({key:c.string,value:c.object})),renderHintBase:c.func.isRequired,renderFieldAccessor:c.func.isRequired,widgetsArray:c.array.isRequired,fields:(0,c.arrayOf)((0,c.shape)({key:c.string.isRequired,value:(0,c.shape)({config:c.object,fields:c.array,type:c.string.isRequired})}))};var w=E},69114:function(e,n,t){"use strict";t.d(n,{t:function(){return i}});var i=function(e,n,t){if("Link"===t)switch(null==n?void 0:n.select){case"document":return e.ContentRelationship;case"media":return e.LinkToMedia;default:return e.Link}return e[t]}},58428:function(e,n,t){"use strict";t.d(n,{J:function(){return l},u:function(){return o}});var i=t(25978),r=t(77362),o=function(e){var n=e.value,t=e.fields,i=e.initialId;return n?t.find(function(e){return e.key===n})&&n!==i?'Field "'.concat(n,'" already exists.'):void 0:"Field is required"},l={label:(0,r.II)("Label",{required:"This field is required",max:!0},void 0,void 0,"Label for content creators (defaults to field type)"),id:(0,r.II)("API ID*",{min:!0,max:!0,required:"This field is required",matches:[i.xo,"No special characters allowed (except _)"]},o,void 0,"A unique identifier for the field (e.g. buttonLink)"),placeholder:(0,r.II)("Placeholder",{required:"This field is required",max:[100,"String is too long. Max: 100"]},void 0,void 0,"Placeholder text for content creators")}},77362:function(e,n,t){"use strict";t.d(n,{II:function(){return c},Jg:function(){return o}});var i=t(86163),r=t(33413),o=function(e){var n=!(arguments.length>1)||void 0===arguments[1]||arguments[1],t=!(arguments.length>2)||void 0===arguments[2]||arguments[2];return{type:r.h.CHECKBOX,validate:{required:(0,i.MJ)(n,s)},required:n,label:e,defaultValue:t,yupType:"boolean"}},l=[3,"String is too short. Min: 3"],a=[35,"String is too long. Max: 35"],s=["Field is required"],c=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{min:l,max:a,required:s},t=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,c=arguments.length>4?arguments[4]:void 0,d=n||{},u=d.min,f=d.max,p=d.required,x=d.matches;return{type:r.h.INPUT,label:e,validate:{required:(0,i.MJ)(p,s),min:(0,i.MJ)(u,l),max:(0,i.MJ)(f,a),matches:x},defaultValue:o,fieldLevelValidation:t,yupType:"string",placeholder:c}}},86163:function(e,n,t){"use strict";t.d(n,{MJ:function(){return u},f7:function(){return f},gc:function(){return p},lm:function(){return d}});var i=t(67557),r=t(62230),o=t(85244),l=t(17064),a=t(81541),s=t(65413),c=t(33413),d=function(e){return"id"===e?"id":"config.".concat(e)},u=function(e,n){return Array.isArray(e)?e:"boolean"==typeof e&&e?n:null},f=function(e){return Object.entries(e).reduce(function(e,n){var t,a=(0,l.Z)(n,2),s=a[0],d=null===(t=a[1]).defaultValue?void 0:void 0!==t.defaultValue?t.defaultValue:t.type===c.h.CHECKBOX||(t.type===c.h.INPUT?"":t.type===c.h.SELECT?[]:void 0);return void 0!==d?(0,o.Z)((0,r.Z)({},e),(0,i.Z)({},s,d)):e},{})},p=function(e){return s.object().shape(Object.entries(e).filter(function(e){return e}).reduce(function(e,n){var t=(0,l.Z)(n,2),c=t[0],d=t[1],u=d.validate,f=d.yupType;if(!u)return e;if("function"==typeof u)return(0,o.Z)((0,r.Z)({},e),(0,i.Z)({},c,u(c,d)));var p=s[f]();return Object.entries(u).filter(function(e){return e&&e[1]}).forEach(function(e){var n,t=(0,l.Z)(e,2),i=t[0],r=t[1];if(r&&p[i]){p=(n=p)[i].apply(n,(0,a.Z)(Array.isArray(r)?r:[r]));return}console.warn('Invalid Yup validator for field "'.concat(c,'"'))}),(0,o.Z)((0,r.Z)({},e),(0,i.Z)({},c,p))},{})).required().default(void 0).noUnknown(!0)}},33413:function(e,n,t){"use strict";var i,r;t.d(n,{h:function(){return i}}),(r=i||(i={})).CHECKBOX="checkbox",r.INPUT="input",r.SELECT="select"},27594:function(e,n,t){"use strict";var i=t(64831);n.Z=[i.StructuredText,i.Image,i.Link,i.LinkToMedia,i.ContentRelationship,i.Select,i.Boolean,i.Date,i.Timestamp,i.Embed,i.Number,i.GeoPoint,i.Color,i.Text,]},64831:function(e,n,t){"use strict";t.r(n),t.d(n,{Boolean:function(){return v},Color:function(){return Z},ContentRelationship:function(){return H},Date:function(){return $},Embed:function(){return K},GeoPoint:function(){return Q},Image:function(){return eh},Link:function(){return B},LinkToMedia:function(){return ej},Number:function(){return eI},Select:function(){return eA},StructuredText:function(){return eG},Text:function(){return eX},Timestamp:function(){return e0},UID:function(){return e3}});var i,r,o,l,a,s=t(8799),c=t(65413),d=t(86163),u=t(58428),f=t(77362),p=t(50535),x={icon:s.XGl,title:"Boolean",description:"An input that is either true or false"},m={label:u.J.label,id:u.J.id,placeholder_false:(0,f.II)("False Placeholder",{required:!1},null,"false","Value the content creator sees (Output as 'false' in the API)."),placeholder_true:(0,f.II)("True Placeholder",{required:!1},null,"true","Value the content creator sees (Output as 'true' in the API)"),default_value:(0,f.Jg)("Default to true")},h=c.object().shape({type:c.string().matches(/^Boolean$/,{excludeEmptyString:!0}).required(),config:(0,d.gc)((0,p.B9)(m,"id"))}),v={TYPE_NAME:"Boolean",create:function(e){return{type:"Boolean",config:{label:e,default_value:!1,placeholder_true:"true",placeholder_false:"false"}}},Meta:x,schema:h,FormFields:m},g=t(65186),b={icon:g.jqW,title:"Color",description:"A color picker"},y=(0,p.zg)("Color"),j=y.TYPE_NAME,Z={create:function(e){return{type:"Color",config:{label:e,placeholder:""}}},FormFields:y.FormFields,TYPE_NAME:j,schema:y.schema,Meta:b},k=t(62230),C=t(85244),I=t(56580),S=t(93290),F=t(7781),E=t(34543),w=t(17064),T=t(52322),_=t(26950),A=t(79474),M=(0,C.Z)((0,k.Z)({},u.J),{allowTargetBlank:(0,f.Jg)("Allow target blank",!1,!1)}),N=function(e){var n=e.initialValues,t=e.fields;return(0,T.jsx)(_.k,{children:Object.entries(M).map(function(e){var i=(0,w.Z)(e,2),r=i[0],o=i[1];return(0,T.jsx)(_.J,{children:(0,T.jsx)(A.Z,{fieldName:(0,d.lm)(r),formField:o,fields:t,initialValues:n})},r)})})},R={icon:E.eR7,title:"Link",description:"A link to web, media or Prismic document"},L=c.object().shape({label:c.string().optional(),useAsTitle:c.boolean().optional(),placeholder:c.string().optional(),select:c.string().optional().oneOf(["media","document","web",null]).nullable(),customtypes:c.array(c.string()).strict().optional(),masks:c.array(c.string()).optional(),tags:c.array(c.string()).optional(),allowTargetBlank:c.boolean().strict().optional()}).required().default(void 0).noUnknown(!0),B={Meta:R,FormFields:M,schema:c.object().shape({type:c.string().matches(/^Link$/,{excludeEmptyString:!0}).required(),config:L.optional()}),Form:N,create:function(e){return{type:"Link",config:{label:e,placeholder:"",select:null}}},TYPE_NAME:"Link"},O=t(36131),V=t(75289),q={label:u.J.label,id:u.J.id,customtypes:{validate:function(){return c.array().of(c.string())}}},D=function(e){var n=e.initialValues,t=e.values,i=e.fields,r=e.setFieldValue,o=(0,I.v9)(F.Ch).filter(S.TG),l=o.map(function(e){return{value:e.local.id,label:e.local.label}}),a=t.config.customtypes?t.config.customtypes.map(function(e){var n=o.find(function(n){return n.local.id===e});return{value:null==n?void 0:n.local.id,label:null==n?void 0:n.local.label}}):null;return(0,T.jsxs)(_.k,{children:[Object.entries(q).filter(function(e){return"customtypes"!==e[0]}).map(function(e){var t=(0,w.Z)(e,2),r=t[0],o=t[1];return(0,T.jsx)(_.J,{children:(0,T.jsx)(A.Z,{fieldName:(0,d.lm)(r),formField:o,fields:i,initialValues:n})},r)}),(0,T.jsx)(_.J,{children:(0,T.jsxs)(V.xu,{sx:{mt:2,alignItems:"center"},children:[(0,T.jsx)(V.__,{htmlFor:"origin",mb:"1",children:"Types"}),(0,T.jsx)(O.ZP,{isMulti:!0,name:"origin",options:l,onChange:function(e){e&&r("config.customtypes",e.map(function(e){return e.value}))},value:a,theme:function(e){return(0,C.Z)((0,k.Z)({},e),{colors:(0,C.Z)((0,k.Z)({},e.colors),{text:"text",primary:"background"})})}})]})})]})},z={icon:g.I2R,title:"Content Relationship",description:"Define content relations & internal links"},P=L.shape({label:c.string().max(35,"String is too long. Max: 35"),select:c.string().required().matches(/^document$/,{excludeEmptyString:!0}),customtypes:c.array(c.string()).strict().optional()}),J=c.object().shape({type:c.string().matches(/^Link$/,{excludeEmptyString:!0}).required(),config:P}),H={create:function(e){return{type:"Link",config:{label:e,select:"document"}}},Meta:z,schema:J,TYPE_NAME:"Link",FormFields:q,CUSTOM_NAME:"ContentRelationship",Form:D,prepareInitialValues:function(e){var n=(0,I.v9)(F.Ch).filter(S.TG);return(null==e?void 0:e.customtypes)?(0,C.Z)((0,k.Z)({},e),{customtypes:e.customtypes.filter(function(e){return n.find(function(n){return n.local.id===e})})}):e}},W=(0,p.zg)("Date"),U=W.FormFields,$={create:function(e){return{type:"Date",config:{label:e,placeholder:""}}},FormFields:U,TYPE_NAME:"Date",schema:W.schema,Meta:{icon:g.f$3,title:"Date",description:"A calendar date picker"}},G=(0,p.zg)("Embed"),Y=G.FormFields,K={create:function(e){return{type:"Embed",config:{label:e,placeholder:""}}},FormFields:Y,TYPE_NAME:"Embed",schema:G.schema,Meta:{icon:E.xqv,title:"Embed",description:"Embed videos, songs, tweets, slides, …"}},X={label:u.J.label,id:u.J.id},Q={create:function(e){return{type:"GeoPoint",config:{label:e}}},FormFields:X,TYPE_NAME:"GeoPoint",schema:c.object().shape({type:c.string().matches(/^GeoPoint$/,{excludeEmptyString:!0}).required(),config:c.object().shape({label:c.string()}).required().default(void 0).noUnknown(!0)}),Meta:{icon:g.c7Z,title:"GeoPoint",description:"A field for storing geo-coordinates"}},ee=t(2784),en=t(63397),et=t(98240),ei=t(20180),er=t(26474),eo=function(e){var n=e.onClick,t=e.error,i=e.onDelete,r=e.active,o=e.text,l=e.sx;return(0,T.jsx)(er.Z,{useActive:!0,fitButton:!0,error:t,onClick:n,active:r,sx:(0,k.Z)({position:"relative",width:"64px",height:"64px"},l),Icon:function(){return(0,T.jsxs)(ee.Fragment,{children:[(0,T.jsxs)(V.kC,{sx:{flexDirection:"column",justifyContent:"center",alignItems:"center"},children:[(0,T.jsx)(s.jnY,{size:22}),(0,T.jsx)(V.xv,{mt:1,children:o})]}),i?(0,T.jsx)(V.Ct,{onClick:i,variant:"circle-right",children:(0,T.jsx)(g.B4e,{})}):null]})}})},el=function(e){var n=e.onClick;return(0,T.jsx)(er.Z,{fitButton:!0,onClick:n,sx:{width:"64px",height:"64px",border:function(e){var n=e.colors;return"1px solid ".concat(String(null==n?void 0:n.borders))}},Icon:function(){return(0,T.jsx)(V.kC,{sx:{flexDirection:"column",justifyContent:"center",alignItems:"center"},children:(0,T.jsx)(s.iTs,{size:34,color:"#5263BA","aria-label":"Add a thumbnail"})})}})},ea=function(e){var n=e.prefix,t=e.required,i=e.display,r=(0,w.Z)((0,en.U$)(n),2),o=(r[0],r[1]),l=void 0!==t&&t?"*":"";return i?(0,T.jsxs)(ee.Fragment,{children:[(0,T.jsx)(es,{name:"".concat(n,".name"),label:"Name".concat(l),placeholder:"main",sx:{mb:3},isConstraint:"config.constraint"===n,meta:o}),(0,T.jsx)(ec,{name:"".concat(n,".width"),label:"Width (px)".concat(l),placeholder:" ",sx:{mb:3}}),(0,T.jsx)(ec,{name:"".concat(n,".height"),label:"Height (px)".concat(l),placeholder:" "})]}):null},es=function(e){var n=e.name,t=e.label,i=e.placeholder,r=e.meta,o=e.isConstraint,l=(0,et.Z)(e,["name","label","placeholder","meta","isConstraint"]),a=(0,w.Z)((0,en.U$)(n),1)[0];return(0,T.jsx)(ei.Hq,(0,C.Z)((0,k.Z)({},l),{fieldName:n,meta:r,formField:{label:t,placeholder:i},field:o?{value:"main",readOnly:!0}:{value:a.value},variant:o?"disabled":"primary"}))},ec=function(e){var n=e.name,t=e.label,i=e.placeholder,r=(0,et.Z)(e,["name","label","placeholder"]),o=(0,w.Z)((0,en.U$)(n),2),l=o[0],a=o[1];return(0,T.jsx)(ei.Hq,(0,C.Z)((0,k.Z)({},r),{fieldName:n,formField:{label:t,placeholder:i},meta:a,field:{min:0,type:"number",value:l.value||"",onKeyDown:function(e){("e"===e.key||"-"===e.key||"+"===e.key)&&e.preventDefault()}}}))},ed=function(){return c.number().nullable().transform(function(e,n){return""===n?null:e})},eu={label:u.J.label,id:u.J.id,constraint:{validate:function(){return c.object().defined().shape({width:ed(),height:ed()})}},thumbnails:{validate:function(){return c.array().defined().of(c.object().test({name:"Thumbnails",message:"Must set name and width or height at minimum",test:function(e){if(!e.name)return!1;var n="number"==typeof e.width&&e.width,t="number"==typeof e.height&&e.height;return e.name&&(n||t)}}))}}},ef={name:"",width:"",height:""},ep=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.width,t=e.height,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!i||n||t?n||t?"".concat(n||"auto","x").concat(t||"auto"):"...":"auto"},ex=function(e){var n=e.initialValues,t=e.values,i=e.errors,r=e.fields,o=e.touched,l=(0,ee.useState)(0),a=l[0],s=l[1],c=t.config,u=c.thumbnails,f=c.constraint;return(0,ee.useEffect)(function(){s(u.length)},[u.length]),(0,T.jsxs)(_.k,{children:[Object.entries(eu).map(function(e){var t=(0,w.Z)(e,2),i=t[0],o=t[1];return(0,T.jsx)(_.J,{children:(0,T.jsx)(A.Z,{fieldName:(0,d.lm)(i),formField:o,fields:r,initialValues:n})},i)}),(0,T.jsxs)(_.J,{children:[(0,T.jsx)(V.__,{htmlFor:"thumbnails",variant:"label.primary",sx:{mt:1,display:"flex",alignItems:"center"},children:"Responsive views*"}),(0,T.jsx)(V.Zb,{p:3,children:(0,T.jsx)(en.F2,{name:"config.thumbnails",render:function(n){var t=n.push,r=n.remove;return(0,T.jsxs)(ee.Fragment,{children:[(0,T.jsxs)(V.kC,{mb:3,children:[(0,T.jsx)(eo,{active:0===a,text:ep(f,!0),sx:{mr:2},onClick:function(){return s(0)}}),u.map(function(e,n){return(0,T.jsx)(eo,{sx:{mr:3},active:a===+n+1,text:ep(e),error:!!i.thumbnails&&!!o.thumbnails&&!!o.thumbnails[n]&&!!i.thumbnails&&!!i.thumbnails[n],onDelete:function(){return r(n)},onClick:function(){return s(+n+1)}},"thumbnail-button-".concat(+n+1))}),(0,T.jsx)(el,{onClick:function(){t(ef)}})]}),(0,T.jsx)(ea,(0,C.Z)((0,k.Z)({},e),{display:0===a,prefix:"config.constraint"})),u.map(function(n,t){return(0,ee.createElement)(ea,(0,C.Z)((0,k.Z)({},e),{required:!0,key:"thumbnail-".concat(+t+1),display:a===+t+1,prefix:"config.thumbnails[".concat(t,"]")}))})]})}})})]})]})},em=c.object().shape({type:c.string().matches(/^Image$/,{excludeEmptyString:!0}).required(),config:(0,d.gc)((0,p.B9)(eu,"id"))}),eh={Meta:{icon:s.jnY,title:"Image",description:"A responsive image field with constraints"},Form:ex,schema:em,create:function(e){return{type:"Image",config:{label:e,constraint:{},thumbnails:[]}}},FormFields:eu,TYPE_NAME:"Image"},ev=(0,k.Z)({},u.J),eg=function(e){var n=e.initialValues,t=e.fields;return(0,T.jsx)(_.k,{children:Object.entries(ev).map(function(e){var i=(0,w.Z)(e,2),r=i[0],o=i[1];return(0,T.jsx)(_.J,{children:(0,T.jsx)(A.Z,{fieldName:(0,d.lm)(r),formField:o,fields:t,initialValues:n})},r)})})},eb={icon:g.x2k,title:"Link to media",description:"A link to files, document and media"},ey=L.shape({select:c.string().required().matches(/^media$/,{excludeEmptyString:!0})}),ej={Meta:eb,FormFields:ev,schema:c.object().shape({type:c.string().matches(/^Link$/,{excludeEmptyString:!0}).required(),config:ey.optional()}),Form:eg,create:function(e){return{type:"Link",config:{label:e,placeholder:"",select:"media"}}},TYPE_NAME:"Link",CUSTOM_NAME:"LinkToMedia"},eZ=t(951),ek=(0,p.zg)("Number"),eC=ek.FormFields,eI={create:function(e){return{type:"Number",config:{label:e,placeholder:""}}},FormFields:eC,TYPE_NAME:"Number",schema:ek.schema,Meta:{icon:eZ.JUs,title:"Number",description:"A number input field"}},eS=t(33413),eF=function(e){return"use first value as default ".concat(e?'("'.concat(e,'")'):"")},eE=function(e,n){return n?e:void 0},ew=(0,C.Z)((0,k.Z)({},u.J),{default_value:{type:eS.h.CHECKBOX,yupType:"string",defaultValue:null,validate:function(){return c.string().test({name:"default_value",message:'Default value is not part of field "options" in Select',test:function(e){return void 0===e||this.parent&&this.parent.options&&this.parent.options.find(function(n){return n===e})}})},component:function(e){var n,t=null===(n=(0,en.u6)().values.config)||void 0===n?void 0:n.options[0];return(0,T.jsx)(ei.w8,(0,C.Z)((0,k.Z)({},e),{defaultValue:e.field.value,controlledValue:t,setControlledValue:e.helpers.setValue,buildControlledValue:eE,label:eF}))}},options:{yupType:"array",defaultValue:["1","2"],validate:{required:["Select requires a minimum of 2 options"],min:[2,"Choose at least 2 options"],test:{name:"non-empty values",message:"Values cannot be empty",test:function(e){return!e.some(function(e){return!e||!e.length})}}},component:function(e){return(0,T.jsx)(ei.kp,(0,k.Z)({label:"Options",inputPlaceholder:"Select option output in API (e.g. 'blueTheme')",buttonLabel:"Add option"},e))}}}),eT={icon:g.dzP,title:"Select",description:"A dropdown field of options for content creators."},e_=c.object().shape({type:c.string().matches(/^Select$/,{excludeEmptyString:!0}).required(),config:(0,d.gc)((0,p.B9)(ew,"id"))}),eA={FormFields:ew,create:function(e){return{type:"Select",config:{label:e,placeholder:"",options:["1","2"]}}},schema:e_,Meta:eT,TYPE_NAME:"Select"},eM=t(81541),eN=t(47927),eR=t(76635),eL=function(e){return function(n){var t=n.size;return(0,T.jsx)("span",{style:{fontSize:t},children:e})}},eB=[{value:"paragraph",label:"P",icon:eL("p")},{value:"preformatted",label:"PRE",icon:eL("pre")},{value:"heading1",label:"H1",icon:eL("h1")},{value:"heading2",label:"H2",icon:eL("h2")},{value:"heading3",label:"H3",icon:eL("h3")},{value:"heading4",label:"H4",icon:eL("h4")},{value:"heading5",label:"H5",icon:eL("h5")},{value:"heading6",label:"H6",icon:eL("h6")},{value:"strong",label:"Strong",icon:eL((0,T.jsx)("b",{children:"b"}))},{value:"em",label:"em",icon:eL((0,T.jsx)("em",{style:{fontFamily:"serif"},children:"I"}))},{value:"hyperlink",label:"hyperlink",icon:eL((0,T.jsx)(E.eR7,{}))},{value:"image",label:"image",icon:eL((0,T.jsx)(E.LFN,{}))},{value:"embed",label:"embed",icon:eL((0,T.jsx)(E.xqv,{}))},{value:"list-item",label:"list",icon:eL((0,T.jsx)(E.SnF,{}))},{value:"o-list-item",label:"o",icon:eL((0,T.jsx)(s.KyO,{}))},{value:"rtl",label:"rtl",icon:eL("rtl")},],eO=eB.map(function(e){return e.value}),eV=function(e){return!eO.find(function(n){return!e.includes(n)})},eq=function(e){var n=e.split(",");return eB.reduce(function(e,t){var i=t.value;return n.includes(i)?(0,eM.Z)(e).concat([i]):e},[])};function eD(e,n){return(0,eN.has)("parent",e)&&(0,eR.isObject)(e.parent)&&(0,eN.has)(n,e.parent)&&(0,eR.isString)(e.parent[n])?e.parent[n]:null}function ez(e){return function(){return c.string().test({name:e,message:"Options cannot be empty",test:function(n,t){var i=eD(t,e),r=eD(t,"single"===e?"multi":"single");return!!r&&"string"==typeof r||"string"==typeof i&&(!!i&&!!i.length||!!r&&!!r.length)&&!i.split(",").find(function(e){return!eO.includes(e)})}})}}var eP,eJ=(0,C.Z)((0,k.Z)({},u.J),{allowTargetBlank:(0,f.Jg)("Allow target blank for links"),single:{validate:ez("single")},multi:{validate:ez("multi")}}),eH=["config.single","config.multi"],eW=function(e){var n,t=e.initialValues,i=e.values,r=e.errors,o=e.fields,l=e.setFieldValue,a=i.config,s=a.single,c=a.multi,u=s?eq(s):c&&eq(c)||eO,f=(0,ee.useState)(!s),p=f[0],x=f[1],m=(0,ee.useState)(u),h=m[0],v=m[1];return(0,ee.useEffect)(function(){var e=p?1:0;l(eH[e],h.join(",")),setTimeout(function(){l(eH[1-e],void 0)},100)},[p,h]),(0,T.jsxs)(_.k,{children:[Object.entries(eJ).map(function(e){var n=(0,w.Z)(e,2),i=n[0],r=n[1];return(0,T.jsx)(_.J,{children:(0,T.jsx)(A.Z,{fieldName:(0,d.lm)(i),formField:r,fields:o,initialValues:t})},i)}),(0,T.jsxs)(_.J,{children:[(0,T.jsxs)(V.__,{htmlFor:"accept",variant:"label.primary",sx:{mt:1,display:"flex",alignItems:"center"},children:["Accept*",(0,T.jsx)(V.zx,{type:"button",variant:"buttons.textButton",onClick:function(){if(eV(h))return v([]);v(eO)},children:eV(h)?"Unselect All":"Select all"})]}),eB.map(function(e){return(0,T.jsx)(er.Z,{fitButton:!0,useActive:!0,label:e.label,size:14,Icon:e.icon,sx:{p:"16px",mb:2,mr:2,variant:"buttons.selectIcon"},active:h.includes(e.value),onClick:function(){if(h.find(function(n){return n===e.value}))return v(h.filter(function(n){return n!==e.value}));v((0,eM.Z)(h).concat([e.value]))}},e.value)}),(null===(n=r.config)||void 0===n?void 0:n[p?"multi":"single"])?(0,T.jsx)(V.xu,{sx:{position:"absolute"},children:(0,T.jsx)(V.xv,{as:"span",variant:"text.labelError",pl:0,children:r.config[p?"multi":"single"]})}):null]}),(0,T.jsx)(_.J,{children:(0,T.jsx)(V.kC,{sx:{mt:2,alignItems:"center",height:"100%"},children:(0,T.jsxs)(V.__,{variant:"label.border",children:[(0,T.jsx)(V.XZ,{checked:p,onChange:function(){return x(!p)}}),"Allow multiple paragraphs"]})})})]})},eU={icon:g.BAW,title:"Rich Text",description:"A rich text field with formatting options"},e$=c.object().shape({type:c.string().matches(/^StructuredText$/,{excludeEmptyString:!0}).required(),config:(0,d.gc)((0,p.B9)((0,k.Z)({},eJ,{labels:{yupType:"array",validate:{}}}),"id"))}),eG={create:function(e){return{type:"StructuredText",config:{label:e,placeholder:"",allowTargetBlank:!0,multi:eO.join(",")}}},FormFields:eJ,Meta:eU,schema:e$,TYPE_NAME:"StructuredText",Form:eW},eY=u.J,eK=c.object().shape({type:c.string().matches(/^Text$/,{excludeEmptyString:!0}).required(),config:(0,d.gc)((0,p.B9)(eY,"id"))}),eX={create:function(e){return{type:"Text",config:{label:e,placeholder:""}}},Meta:{icon:g.SQS,title:"Key Text",description:"A simple text string field"},schema:eK,TYPE_NAME:"Text",FormFields:eY},eQ=u.J,e0={create:function(e){return{type:"Timestamp",config:{label:e,placeholder:""}}},schema:c.object().shape({type:c.string().matches(/^Timestamp$/,{excludeEmptyString:!0}).required(),config:(0,d.gc)((0,p.B9)(eQ,"id"))}),FormFields:eQ,TYPE_NAME:"Timestamp",Meta:{icon:g.f$3,title:"Timestamp",description:"A calendar date picker with time"}},e2={label:u.J.label,id:(0,C.Z)((0,k.Z)({},u.J.id),{validate:{required:"This field is required",matches:[/^uid$/,"Api ID must be 'uid' for this field."]},disabled:!0}),placeholder:u.J.placeholder},e1=c.object().shape({type:c.string().matches(/^UID$/,{excludeEmptyString:!0}).required(),config:(0,d.gc)((0,p.B9)(e2,"id"))}),e3={create:function(e){return{type:"UID",config:{label:e,placeholder:""}}},Meta:{icon:g.izl,title:"UID",description:"Unique Identifier"},schema:e1,TYPE_NAME:"UID",FormFields:e2}},40826:function(e,n,t){"use strict";t.r(n),t.d(n,{Boolean:function(){return l.Boolean},Color:function(){return l.Color},ContentRelationship:function(){return l.ContentRelationship},Date:function(){return l.Date},Embed:function(){return l.Embed},GeoPoint:function(){return l.GeoPoint},Group:function(){return V},Image:function(){return l.Image},Link:function(){return l.Link},LinkToMedia:function(){return l.LinkToMedia},Number:function(){return l.Number},Select:function(){return l.Select},StructuredText:function(){return l.StructuredText},Text:function(){return l.Text},Timestamp:function(){return l.Timestamp},UID:function(){return l.UID}});var i,r,o,l=t(64831),a=t(65186),s=t(65413),c=t(62230),d=t(85244),u=t(17064),f=t(52322),p=t(75289),x=t(26950),m=t(79474),h=t(86163),v=t(58428),g=t(77362),b=(0,d.Z)((0,c.Z)({},v.J),{repeat:(0,g.Jg)("Repeatable",!1,!0)}),y=function(e){var n=e.initialValues,t=e.fields,i=e.values,r=e.setFieldValue,o=i.config.repeat;return(0,f.jsxs)(x.k,{children:[Object.entries(b).filter(function(e){return"repeat"!==(0,u.Z)(e,1)[0]}).map(function(e){var i=(0,u.Z)(e,2),r=i[0],o=i[1];return(0,f.jsx)(x.J,{children:(0,f.jsx)(m.Z,{fieldName:(0,h.lm)(r),formField:o,fields:t,initialValues:n})},r)}),(0,f.jsx)(x.J,{children:(0,f.jsx)(p.xu,{sx:{mt:2,alignItems:"center",display:"flex",height:"130%"},children:(0,f.jsxs)(p.__,{variant:"label.border",sx:{mb:0},children:[(0,f.jsx)(p.XZ,{checked:o,onChange:function(){return r("config.repeat",!o)}}),"Repeatable"]})})})]})},j=t(98240),Z=t(81541),k=t(2784),C=t(40023),I=t(28316),S=t(12189),F=t(1225),E=t(1411),w=t(14424),T=t(63928),_=t(8033),A=t(69114),M=t(63987),N=t(27594),R=t(50535),L=t(55197),B=t(21112),O=function(e){var n=e.tabId,t=e.widget,o=(e.parentSnapshot,e.showHints),a=e.isRepeatable,s=e.item,x=e.draggableId,m=e.saveItem,h=e.HintElement,v=(0,j.Z)(e,["tabId","widget","parentSnapshot","showHints","isRepeatable","item","draggableId","saveItem","HintElement"]),g=(0,k.useState)(!1),b=g[0],y=g[1],O=(0,k.useState)(null),V=O[0],q=O[1],D=(0,k.useState)({isOpen:!1}),z=D[0],P=D[1],J=function(e){q({widgetTypeName:e}),y(!1)},H=function(){q(null)},W=function(){P({isOpen:!1})},U=function(e){var n,t,o,a,c=e.id,d=e.label,u=l[e.widgetTypeName].create(d),f=(n={group:M.Fl.fromSM(s.value),fieldId:c,field:u},null!==(t=(i=a=structuredClone(n.group)).config)&&void 0!==t||(i.config={}),null!==(o=(r=a.config).fields)&&void 0!==o||(r.fields={}),a.config.fields[n.fieldId]=n.field,a);m({apiId:s.key,newKey:s.key,value:M.Fl.toSM(f)}),S.Xe.track({event:"field:added",id:c,name:d,type:u.type,isInAGroup:!0,contentType:(0,B.T)(window.location.pathname)})},$=function(e){var n=e.apiId,t=e.newKey,i=e.value,r=function(e){var n,t,i=structuredClone(e.group);if(!(null===(n=i.config)||void 0===n?void 0:n.fields)||!(null===(t=e.group.config)||void 0===t?void 0:t.fields))return i;for(var r in i.config.fields={},e.group.config.fields)r===e.previousFieldId?i.config.fields[e.newFieldId]=e.field:i.config.fields[r]=e.group.config.fields[r];return i}({group:M.Fl.fromSM(s.value),previousFieldId:n,newFieldId:t,field:i});m({apiId:s.key,newKey:s.key,value:M.Fl.toSM(r)})},G=function(e){if(!(0,R.uS)(e)){var n=e.source,t=e.destination;if(t){var i=n.index,r=t.index,o=function(e){var n,t=structuredClone(e.group);if(!(null===(n=t.config)||void 0===n?void 0:n.fields))return t;var i=Object.entries(t.config.fields),r=(0,u.Z)(i.splice(e.sourceIndex,1),1)[0];return i.splice(e.destinationIndex,0,r),t.config.fields=Object.fromEntries(i),t}({group:M.Fl.fromSM(s.value),sourceIndex:i,destinationIndex:r});(0,I.flushSync)(function(){m({apiId:s.key,newKey:s.key,value:M.Fl.toSM(o)})})}}},Y=function(e){var n,t,i,r,o=(n={group:M.Fl.fromSM(s.value),fieldId:e},null===(t=(r=structuredClone(n.group)).config)||void 0===t||null===(i=t.fields)||void 0===i||delete i[n.fieldId],r);m({apiId:s.key,newKey:s.key,value:M.Fl.toSM(o)})},K=function(e){P({isOpen:!0,field:e});var n=(0,u.Z)(e,2),t=n[0],i=n[1];S.Xe.track({event:"field:settings-opened",id:t,name:i.config.label,type:i.type,isInAGroup:!0,contentType:(0,B.T)(window.location.pathname)})};return(0,f.jsxs)(k.Fragment,{children:[(0,f.jsx)(F.Z,(0,d.Z)((0,c.Z)({item:s,widget:t,draggableId:x},v),{HintElement:h,CustomEditElements:[(0,f.jsx)(p.zx,{mr:2,variant:"buttons.darkSmall",onClick:function(){return y(!0)},children:"Add Field"},"custom-edit-element-".concat(s.key)),],children:(0,f.jsx)(p.xu,{sx:{ml:4},children:(0,f.jsx)(C.Z5,{onDragEnd:G,children:(0,f.jsx)(C.bK,{droppableId:"".concat(n,"-").concat(s.key,"-zone"),children:function(e){return(0,f.jsxs)("ul",(0,d.Z)((0,c.Z)({ref:e.innerRef},e.droppableProps),{children:[s.value.config.fields.map(function(e,n){var t=e.value,i=t.config,r=t.type,u=(0,A.t)(l,i,r);if(!u)return null;var p={item:e,index:n,widget:u,key:e.key,enterEditMode:K,deleteItem:Y,renderFieldAccessor:function(n){return"item".concat((0,L.Ti)(e.key))},draggableId:"group-".concat(s.key,"-").concat(e.key,"-").concat(n),testId:"list-item-group-".concat(s.key,"-").concat(e.key)},x=(0,f.jsx)(T.Z,{item:e,show:o,isRepeatable:a,renderHintBase:function(e){var n=e.item;return"item".concat((0,L.Ti)(n.key))},Widgets:l,typeName:u.CUSTOM_NAME||u.TYPE_NAME});return(0,f.jsx)(F.Z,(0,d.Z)((0,c.Z)({},p),{HintElement:x}))}),e.placeholder,V&&(0,f.jsx)(_.Z,(0,d.Z)((0,c.Z)({},V),{fields:s.value.config.fields||[],onSave:function(){for(var e=arguments.length,n=Array(e),t=0;t<e;t++)n[t]=arguments[t];U.apply(void 0,(0,Z.Z)(n)),q(null)},onCancelNewField:H}))]}))}})})})})),(0,f.jsx)(w.Z,{data:{isOpen:b},close:function(){return y(!1)},onSelect:J,widgetsArray:N.Z}),(0,f.jsx)(E.Z,{data:z,close:W,onSave:$,fields:s.value.config.fields})]})},V={Meta:{icon:a.cC1,title:"Group",description:"A repeatable set of fields"},Form:y,FormFields:b,schema:s.object().shape({type:s.string().matches(/^Group$/,{excludeEmptyString:!0}).required(),config:s.object().shape({fields:s.array(),label:s.string(),placeholder:s.string(),repeat:s.boolean().optional()})}),create:function(e){return{type:"Group",config:{label:e,repeat:!0,fields:[]}}},CustomListItem:O,TYPE_NAME:"Group"}},50535:function(e,n,t){"use strict";t.d(n,{B9:function(){return s},Ss:function(){return d},uS:function(){return c},zg:function(){return u}});var i=t(98240),r=t(9849),o=t(65413),l=t(86163),a=t(58428),s=function(e,n){return e[n],(0,i.Z)(e,[n].map(r.Z))},c=function(e){return!e.destination||e.source.index===e.destination.index||e.source.droppableId!==e.destination.droppableId},d=function(e,n){return!e[n]&&(console.log('Could not find widget with type name "'.concat(n,'".')),!0)},u=function(e){return{TYPE_NAME:e,FormFields:a.J,schema:o.object().shape({type:o.string().test({name:"type",test:function(n){return n===e}}),config:(0,l.gc)(s(a.J,"id"))}),create:function(){return{type:e,config:(0,l.f7)(s(a.J,"id"))}}}}},21112:function(e,n,t){"use strict";function i(e){if(e.startsWith("/slices/"))return"slice";if(e.startsWith("/custom-types/"))return"custom type";if(e.startsWith("/page-types/"))return"page type";throw Error("Did not detect a content type from: ".concat(e))}t.d(n,{T:function(){return i}})},41350:function(e){e.exports={flex:"List_flex__v0QQS",row:"List_row__sBVx1 List_flex__v0QQS",root:"List_root__f9klF List_flex__v0QQS","root-border":"List_root-border__2nh4p",child:"List_child__O_eM9 List_row__sBVx1 List_flex__v0QQS",header:"List_header__J5e8m List_child__O_eM9 List_row__sBVx1 List_flex__v0QQS",headerActions:"List_headerActions__FqUvW List_row__sBVx1 List_flex__v0QQS",item:"List_item__t5SQz List_child__O_eM9 List_row__sBVx1 List_flex__v0QQS"}},73539:function(e){e.exports={root:"ZoneEmptyState_root__K6dwt"}}}]);