@measured/puck 0.17.2-canary.0655fc5 → 0.17.2-canary.66b30db
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.
- package/dist/{chunk-7IH6SUIT.mjs → chunk-LNGCTWA7.mjs} +2 -4
- package/dist/index.css +12 -14
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +665 -559
- package/dist/index.mjs +529 -420
- package/dist/rsc.js +2 -4
- package/dist/rsc.mjs +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
@@ -13,7 +13,7 @@ import {
|
|
13
13
|
resolveRootData,
|
14
14
|
rootDroppableId,
|
15
15
|
setupZone
|
16
|
-
} from "./chunk-
|
16
|
+
} from "./chunk-LNGCTWA7.mjs";
|
17
17
|
|
18
18
|
// ../../node_modules/classnames/index.js
|
19
19
|
var require_classnames = __commonJS({
|
@@ -193,8 +193,9 @@ var styles_module_default2 = { "InputWrapper": "_InputWrapper_1l5m8_1", "Input":
|
|
193
193
|
// components/AutoField/index.tsx
|
194
194
|
import {
|
195
195
|
useCallback as useCallback5,
|
196
|
+
useContext as useContext3,
|
196
197
|
useEffect as useEffect9,
|
197
|
-
useMemo as
|
198
|
+
useMemo as useMemo5,
|
198
199
|
useState as useState10
|
199
200
|
} from "react";
|
200
201
|
|
@@ -1176,21 +1177,66 @@ import { jsx as jsx7 } from "react/jsx-runtime";
|
|
1176
1177
|
var getClassName4 = get_class_name_factory_default("DragIcon", styles_module_default5);
|
1177
1178
|
var DragIcon = ({ isDragDisabled }) => /* @__PURE__ */ jsx7("div", { className: getClassName4({ disabled: isDragDisabled }), children: /* @__PURE__ */ jsx7("svg", { viewBox: "0 0 20 20", width: "12", fill: "currentColor", children: /* @__PURE__ */ jsx7("path", { d: "M7 2a2 2 0 1 0 .001 4.001A2 2 0 0 0 7 2zm0 6a2 2 0 1 0 .001 4.001A2 2 0 0 0 7 8zm0 6a2 2 0 1 0 .001 4.001A2 2 0 0 0 7 14zm6-8a2 2 0 1 0-.001-4.001A2 2 0 0 0 13 6zm0 2a2 2 0 1 0 .001 4.001A2 2 0 0 0 13 8zm0 6a2 2 0 1 0 .001 4.001A2 2 0 0 0 13 14z" }) }) });
|
1178
1179
|
|
1180
|
+
// components/AutoField/context.tsx
|
1181
|
+
init_react_import();
|
1182
|
+
import { createContext as createContext2, useContext as useContext2, useMemo } from "react";
|
1183
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
1184
|
+
var NestedFieldContext = createContext2({});
|
1185
|
+
var useNestedFieldContext = () => {
|
1186
|
+
const context = useContext2(NestedFieldContext);
|
1187
|
+
return __spreadProps(__spreadValues({}, context), {
|
1188
|
+
readOnlyFields: context.readOnlyFields || {}
|
1189
|
+
});
|
1190
|
+
};
|
1191
|
+
var NestedFieldProvider = ({
|
1192
|
+
children,
|
1193
|
+
name,
|
1194
|
+
subName,
|
1195
|
+
wildcardName = name,
|
1196
|
+
readOnlyFields
|
1197
|
+
}) => {
|
1198
|
+
const subPath = `${name}.${subName}`;
|
1199
|
+
const wildcardSubPath = `${wildcardName}.${subName}`;
|
1200
|
+
const subReadOnlyFields = useMemo(
|
1201
|
+
() => Object.keys(readOnlyFields).reduce((acc, readOnlyKey) => {
|
1202
|
+
const isLocal = readOnlyKey.indexOf(subPath) > -1 || readOnlyKey.indexOf(wildcardSubPath) > -1;
|
1203
|
+
if (isLocal) {
|
1204
|
+
const subPathPattern = new RegExp(
|
1205
|
+
`^(${name}|${wildcardName}).`.replace(/\[/g, "\\[").replace(/\]/g, "\\]").replace(/\./g, "\\.").replace(/\*/g, "\\*")
|
1206
|
+
);
|
1207
|
+
const localName = readOnlyKey.replace(subPathPattern, "");
|
1208
|
+
return __spreadProps(__spreadValues({}, acc), {
|
1209
|
+
[localName]: readOnlyFields[readOnlyKey]
|
1210
|
+
});
|
1211
|
+
}
|
1212
|
+
return acc;
|
1213
|
+
}, {}),
|
1214
|
+
[name, subName, wildcardName, readOnlyFields]
|
1215
|
+
);
|
1216
|
+
return /* @__PURE__ */ jsx8(
|
1217
|
+
NestedFieldContext.Provider,
|
1218
|
+
{
|
1219
|
+
value: { readOnlyFields: subReadOnlyFields, localName: subName },
|
1220
|
+
children
|
1221
|
+
}
|
1222
|
+
);
|
1223
|
+
};
|
1224
|
+
|
1179
1225
|
// components/DragDropContext/index.tsx
|
1180
1226
|
init_react_import();
|
1181
1227
|
import {
|
1182
1228
|
DragDropContext as DndDragDropContext
|
1183
1229
|
} from "@measured/dnd";
|
1184
|
-
import { Fragment as Fragment4, jsx as
|
1185
|
-
var DefaultDragDropContext = ({ children }) => /* @__PURE__ */
|
1230
|
+
import { Fragment as Fragment4, jsx as jsx9 } from "react/jsx-runtime";
|
1231
|
+
var DefaultDragDropContext = ({ children }) => /* @__PURE__ */ jsx9(Fragment4, { children });
|
1186
1232
|
var DragDropContext = (props) => {
|
1187
1233
|
const { status } = useAppContext();
|
1188
1234
|
const El = status !== "LOADING" ? DndDragDropContext : DefaultDragDropContext;
|
1189
|
-
return /* @__PURE__ */
|
1235
|
+
return /* @__PURE__ */ jsx9(El, __spreadValues({}, props));
|
1190
1236
|
};
|
1191
1237
|
|
1192
1238
|
// components/AutoField/fields/ArrayField/index.tsx
|
1193
|
-
import { Fragment as Fragment5, jsx as
|
1239
|
+
import { Fragment as Fragment5, jsx as jsx10, jsxs as jsxs4 } from "react/jsx-runtime";
|
1194
1240
|
var getClassName5 = get_class_name_factory_default("ArrayField", styles_module_default3);
|
1195
1241
|
var getClassNameItem = get_class_name_factory_default("ArrayFieldItem", styles_module_default3);
|
1196
1242
|
var ArrayField = ({
|
@@ -1201,10 +1247,10 @@ var ArrayField = ({
|
|
1201
1247
|
label,
|
1202
1248
|
readOnly,
|
1203
1249
|
id,
|
1204
|
-
Label = (props) => /* @__PURE__ */
|
1250
|
+
Label = (props) => /* @__PURE__ */ jsx10("div", __spreadValues({}, props))
|
1205
1251
|
}) => {
|
1206
1252
|
const { state, setUi, selectedItem, getPermissions } = useAppContext();
|
1207
|
-
const readOnlyFields =
|
1253
|
+
const { readOnlyFields, localName = name } = useNestedFieldContext();
|
1208
1254
|
const value = _value;
|
1209
1255
|
const arrayState = state.ui.arrayState[id] || {
|
1210
1256
|
items: Array.from(value || []).map((item, idx) => {
|
@@ -1265,14 +1311,14 @@ var ArrayField = ({
|
|
1265
1311
|
return null;
|
1266
1312
|
}
|
1267
1313
|
const addDisabled = field.max !== void 0 && localState.arrayState.items.length >= field.max || readOnly;
|
1268
|
-
return /* @__PURE__ */
|
1314
|
+
return /* @__PURE__ */ jsx10(
|
1269
1315
|
Label,
|
1270
1316
|
{
|
1271
1317
|
label: label || name,
|
1272
|
-
icon: /* @__PURE__ */
|
1318
|
+
icon: /* @__PURE__ */ jsx10(List, { size: 16 }),
|
1273
1319
|
el: "div",
|
1274
1320
|
readOnly,
|
1275
|
-
children: /* @__PURE__ */
|
1321
|
+
children: /* @__PURE__ */ jsx10(
|
1276
1322
|
DragDropContext,
|
1277
1323
|
{
|
1278
1324
|
onDragEnd: (event) => {
|
@@ -1301,7 +1347,7 @@ var ArrayField = ({
|
|
1301
1347
|
});
|
1302
1348
|
}
|
1303
1349
|
},
|
1304
|
-
children: /* @__PURE__ */
|
1350
|
+
children: /* @__PURE__ */ jsx10(Droppable, { droppableId: "array", isDropDisabled: readOnly, children: (provided, snapshot) => {
|
1305
1351
|
return /* @__PURE__ */ jsxs4(
|
1306
1352
|
"div",
|
1307
1353
|
__spreadProps(__spreadValues({}, provided.droppableProps), {
|
@@ -1326,7 +1372,7 @@ var ArrayField = ({
|
|
1326
1372
|
localState.arrayState.items.map((item, i) => {
|
1327
1373
|
const { _arrayId = `${id}-${i}`, _originalIndex = i } = item;
|
1328
1374
|
const data = Array.from(localState.value || [])[i] || {};
|
1329
|
-
return /* @__PURE__ */
|
1375
|
+
return /* @__PURE__ */ jsx10(
|
1330
1376
|
Draggable,
|
1331
1377
|
{
|
1332
1378
|
id: _arrayId,
|
@@ -1361,7 +1407,7 @@ var ArrayField = ({
|
|
1361
1407
|
field.getItemSummary ? field.getItemSummary(data, i) : `Item #${_originalIndex}`,
|
1362
1408
|
/* @__PURE__ */ jsxs4("div", { className: getClassNameItem("rhs"), children: [
|
1363
1409
|
!readOnly && /* @__PURE__ */ jsxs4("div", { className: getClassNameItem("actions"), children: [
|
1364
|
-
/* @__PURE__ */
|
1410
|
+
/* @__PURE__ */ jsx10("div", { className: getClassNameItem("action"), children: /* @__PURE__ */ jsx10(
|
1365
1411
|
IconButton,
|
1366
1412
|
{
|
1367
1413
|
type: "button",
|
@@ -1384,10 +1430,10 @@ var ArrayField = ({
|
|
1384
1430
|
);
|
1385
1431
|
},
|
1386
1432
|
title: "Duplicate",
|
1387
|
-
children: /* @__PURE__ */
|
1433
|
+
children: /* @__PURE__ */ jsx10(Copy, { size: 16 })
|
1388
1434
|
}
|
1389
1435
|
) }),
|
1390
|
-
/* @__PURE__ */
|
1436
|
+
/* @__PURE__ */ jsx10("div", { className: getClassNameItem("action"), children: /* @__PURE__ */ jsx10(
|
1391
1437
|
IconButton,
|
1392
1438
|
{
|
1393
1439
|
type: "button",
|
@@ -1410,40 +1456,57 @@ var ArrayField = ({
|
|
1410
1456
|
);
|
1411
1457
|
},
|
1412
1458
|
title: "Delete",
|
1413
|
-
children: /* @__PURE__ */
|
1459
|
+
children: /* @__PURE__ */ jsx10(Trash, { size: 16 })
|
1414
1460
|
}
|
1415
1461
|
) })
|
1416
1462
|
] }),
|
1417
|
-
/* @__PURE__ */
|
1463
|
+
/* @__PURE__ */ jsx10("div", { children: /* @__PURE__ */ jsx10(DragIcon, {}) })
|
1418
1464
|
] })
|
1419
1465
|
]
|
1420
1466
|
}
|
1421
1467
|
),
|
1422
|
-
/* @__PURE__ */
|
1423
|
-
(
|
1424
|
-
const subField = field.arrayFields[
|
1425
|
-
const
|
1426
|
-
const
|
1427
|
-
const
|
1428
|
-
|
1429
|
-
|
1468
|
+
/* @__PURE__ */ jsx10("div", { className: getClassNameItem("body"), children: /* @__PURE__ */ jsx10("fieldset", { className: getClassNameItem("fieldset"), children: Object.keys(field.arrayFields).map(
|
1469
|
+
(subName) => {
|
1470
|
+
const subField = field.arrayFields[subName];
|
1471
|
+
const indexName = `${name}[${i}]`;
|
1472
|
+
const subPath = `${indexName}.${subName}`;
|
1473
|
+
const localIndexName = `${localName}[${i}]`;
|
1474
|
+
const localWildcardName = `${localName}[*]`;
|
1475
|
+
const localSubPath = `${localIndexName}.${subName}`;
|
1476
|
+
const localWildcardSubPath = `${localWildcardName}.${subName}`;
|
1477
|
+
const subReadOnly = forceReadOnly ? forceReadOnly : typeof readOnlyFields[subPath] !== "undefined" ? readOnlyFields[localSubPath] : readOnlyFields[localWildcardSubPath];
|
1478
|
+
const label2 = subField.label || subName;
|
1479
|
+
return /* @__PURE__ */ jsx10(
|
1480
|
+
NestedFieldProvider,
|
1430
1481
|
{
|
1431
|
-
name:
|
1432
|
-
|
1433
|
-
|
1434
|
-
|
1435
|
-
|
1436
|
-
|
1437
|
-
|
1438
|
-
|
1439
|
-
|
1440
|
-
|
1441
|
-
|
1442
|
-
|
1443
|
-
|
1444
|
-
|
1482
|
+
name: localIndexName,
|
1483
|
+
wildcardName: localWildcardName,
|
1484
|
+
subName,
|
1485
|
+
readOnlyFields,
|
1486
|
+
children: /* @__PURE__ */ jsx10(
|
1487
|
+
AutoFieldPrivate,
|
1488
|
+
{
|
1489
|
+
name: subPath,
|
1490
|
+
label: label2,
|
1491
|
+
id: `${_arrayId}_${subName}`,
|
1492
|
+
readOnly: subReadOnly,
|
1493
|
+
field: __spreadProps(__spreadValues({}, subField), {
|
1494
|
+
label: label2
|
1495
|
+
// May be used by custom fields
|
1496
|
+
}),
|
1497
|
+
value: data[subName],
|
1498
|
+
onChange: (val, ui) => {
|
1499
|
+
onChange(
|
1500
|
+
replace(value, i, __spreadProps(__spreadValues({}, data), {
|
1501
|
+
[subName]: val
|
1502
|
+
})),
|
1503
|
+
ui
|
1504
|
+
);
|
1505
|
+
}
|
1506
|
+
}
|
1507
|
+
)
|
1445
1508
|
},
|
1446
|
-
|
1509
|
+
subPath
|
1447
1510
|
);
|
1448
1511
|
}
|
1449
1512
|
) }) })
|
@@ -1453,7 +1516,7 @@ var ArrayField = ({
|
|
1453
1516
|
);
|
1454
1517
|
}),
|
1455
1518
|
provided.placeholder,
|
1456
|
-
!addDisabled && /* @__PURE__ */
|
1519
|
+
!addDisabled && /* @__PURE__ */ jsx10(
|
1457
1520
|
"button",
|
1458
1521
|
{
|
1459
1522
|
type: "button",
|
@@ -1467,7 +1530,7 @@ var ArrayField = ({
|
|
1467
1530
|
const newArrayState = regenerateArrayState(newValue);
|
1468
1531
|
onChange(newValue, mapArrayStateToUi(newArrayState));
|
1469
1532
|
},
|
1470
|
-
children: /* @__PURE__ */
|
1533
|
+
children: /* @__PURE__ */ jsx10(Plus, { size: 21 })
|
1471
1534
|
}
|
1472
1535
|
)
|
1473
1536
|
]
|
@@ -1482,7 +1545,7 @@ var ArrayField = ({
|
|
1482
1545
|
|
1483
1546
|
// components/AutoField/fields/DefaultField/index.tsx
|
1484
1547
|
init_react_import();
|
1485
|
-
import { Fragment as Fragment6, jsx as
|
1548
|
+
import { Fragment as Fragment6, jsx as jsx11, jsxs as jsxs5 } from "react/jsx-runtime";
|
1486
1549
|
var getClassName6 = get_class_name_factory_default("Input", styles_module_default2);
|
1487
1550
|
var DefaultField = ({
|
1488
1551
|
field,
|
@@ -1494,16 +1557,16 @@ var DefaultField = ({
|
|
1494
1557
|
Label,
|
1495
1558
|
id
|
1496
1559
|
}) => {
|
1497
|
-
return /* @__PURE__ */
|
1560
|
+
return /* @__PURE__ */ jsx11(
|
1498
1561
|
Label,
|
1499
1562
|
{
|
1500
1563
|
label: label || name,
|
1501
1564
|
icon: /* @__PURE__ */ jsxs5(Fragment6, { children: [
|
1502
|
-
field.type === "text" && /* @__PURE__ */
|
1503
|
-
field.type === "number" && /* @__PURE__ */
|
1565
|
+
field.type === "text" && /* @__PURE__ */ jsx11(Type, { size: 16 }),
|
1566
|
+
field.type === "number" && /* @__PURE__ */ jsx11(Hash, { size: 16 })
|
1504
1567
|
] }),
|
1505
1568
|
readOnly,
|
1506
|
-
children: /* @__PURE__ */
|
1569
|
+
children: /* @__PURE__ */ jsx11(
|
1507
1570
|
"input",
|
1508
1571
|
{
|
1509
1572
|
className: getClassName6("input"),
|
@@ -1514,7 +1577,14 @@ var DefaultField = ({
|
|
1514
1577
|
value: typeof value === "undefined" ? "" : value.toString(),
|
1515
1578
|
onChange: (e) => {
|
1516
1579
|
if (field.type === "number") {
|
1517
|
-
|
1580
|
+
const numberValue = Number(e.currentTarget.value);
|
1581
|
+
if (typeof field.min !== "undefined" && numberValue < field.min) {
|
1582
|
+
return;
|
1583
|
+
}
|
1584
|
+
if (typeof field.max !== "undefined" && numberValue > field.max) {
|
1585
|
+
return;
|
1586
|
+
}
|
1587
|
+
onChange(numberValue);
|
1518
1588
|
} else {
|
1519
1589
|
onChange(e.currentTarget.value);
|
1520
1590
|
}
|
@@ -1537,7 +1607,7 @@ import { useEffect as useEffect8 } from "react";
|
|
1537
1607
|
// components/ExternalInput/index.tsx
|
1538
1608
|
init_react_import();
|
1539
1609
|
import {
|
1540
|
-
useMemo,
|
1610
|
+
useMemo as useMemo2,
|
1541
1611
|
useEffect as useEffect7,
|
1542
1612
|
useState as useState8,
|
1543
1613
|
useCallback as useCallback4,
|
@@ -1558,7 +1628,7 @@ var styles_module_default7 = { "Modal": "_Modal_ikbaj_1", "Modal--isOpen": "_Mod
|
|
1558
1628
|
|
1559
1629
|
// components/Modal/index.tsx
|
1560
1630
|
import { createPortal } from "react-dom";
|
1561
|
-
import { jsx as
|
1631
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
1562
1632
|
var getClassName7 = get_class_name_factory_default("Modal", styles_module_default7);
|
1563
1633
|
var Modal = ({
|
1564
1634
|
children,
|
@@ -1570,10 +1640,10 @@ var Modal = ({
|
|
1570
1640
|
setRootEl(document.getElementById("puck-portal-root"));
|
1571
1641
|
}, []);
|
1572
1642
|
if (!rootEl) {
|
1573
|
-
return /* @__PURE__ */
|
1643
|
+
return /* @__PURE__ */ jsx12("div", {});
|
1574
1644
|
}
|
1575
1645
|
return createPortal(
|
1576
|
-
/* @__PURE__ */
|
1646
|
+
/* @__PURE__ */ jsx12("div", { className: getClassName7({ isOpen }), onClick: onClose, children: /* @__PURE__ */ jsx12(
|
1577
1647
|
"div",
|
1578
1648
|
{
|
1579
1649
|
className: getClassName7("inner"),
|
@@ -1593,11 +1663,11 @@ init_react_import();
|
|
1593
1663
|
var styles_module_default8 = { "Heading": "_Heading_qxrry_1", "Heading--xxxxl": "_Heading--xxxxl_qxrry_12", "Heading--xxxl": "_Heading--xxxl_qxrry_18", "Heading--xxl": "_Heading--xxl_qxrry_22", "Heading--xl": "_Heading--xl_qxrry_26", "Heading--l": "_Heading--l_qxrry_30", "Heading--m": "_Heading--m_qxrry_34", "Heading--s": "_Heading--s_qxrry_38", "Heading--xs": "_Heading--xs_qxrry_42" };
|
1594
1664
|
|
1595
1665
|
// components/Heading/index.tsx
|
1596
|
-
import { jsx as
|
1666
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
1597
1667
|
var getClassName8 = get_class_name_factory_default("Heading", styles_module_default8);
|
1598
1668
|
var Heading = ({ children, rank, size = "m" }) => {
|
1599
1669
|
const Tag = rank ? `h${rank}` : "span";
|
1600
|
-
return /* @__PURE__ */
|
1670
|
+
return /* @__PURE__ */ jsx13(
|
1601
1671
|
Tag,
|
1602
1672
|
{
|
1603
1673
|
className: getClassName8({
|
@@ -1619,57 +1689,29 @@ import { useEffect as useEffect6, useState as useState7 } from "react";
|
|
1619
1689
|
init_react_import();
|
1620
1690
|
var Button_module_default = { "Button": "_Button_1t64k_1", "Button--medium": "_Button--medium_1t64k_29", "Button--large": "_Button--large_1t64k_37", "Button-icon": "_Button-icon_1t64k_44", "Button--primary": "_Button--primary_1t64k_48", "Button--secondary": "_Button--secondary_1t64k_67", "Button--flush": "_Button--flush_1t64k_84", "Button--disabled": "_Button--disabled_1t64k_88", "Button--fullWidth": "_Button--fullWidth_1t64k_95", "Button-spinner": "_Button-spinner_1t64k_100" };
|
1621
1691
|
|
1622
|
-
// lib/filter-data-attrs.ts
|
1623
|
-
init_react_import();
|
1624
|
-
var dataAttrRe = /^(data-.*)$/;
|
1625
|
-
var filterDataAttrs = (props) => {
|
1626
|
-
let filteredProps = {};
|
1627
|
-
for (const prop in props) {
|
1628
|
-
if (Object.prototype.hasOwnProperty.call(props, prop) && dataAttrRe.test(prop)) {
|
1629
|
-
filteredProps[prop] = props[prop];
|
1630
|
-
}
|
1631
|
-
}
|
1632
|
-
return filteredProps;
|
1633
|
-
};
|
1634
|
-
|
1635
1692
|
// components/Button/Button.tsx
|
1636
|
-
import { jsx as
|
1693
|
+
import { jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
|
1637
1694
|
var getClassName9 = get_class_name_factory_default("Button", Button_module_default);
|
1638
|
-
var Button = (
|
1639
|
-
|
1640
|
-
|
1641
|
-
|
1642
|
-
|
1643
|
-
|
1644
|
-
|
1645
|
-
|
1646
|
-
|
1647
|
-
|
1648
|
-
|
1649
|
-
|
1650
|
-
|
1651
|
-
|
1652
|
-
} = _b, props = __objRest(_b, [
|
1653
|
-
"children",
|
1654
|
-
"href",
|
1655
|
-
"onClick",
|
1656
|
-
"variant",
|
1657
|
-
"type",
|
1658
|
-
"disabled",
|
1659
|
-
"tabIndex",
|
1660
|
-
"newTab",
|
1661
|
-
"fullWidth",
|
1662
|
-
"icon",
|
1663
|
-
"size",
|
1664
|
-
"loading"
|
1665
|
-
]);
|
1695
|
+
var Button = ({
|
1696
|
+
children,
|
1697
|
+
href,
|
1698
|
+
onClick,
|
1699
|
+
variant = "primary",
|
1700
|
+
type,
|
1701
|
+
disabled,
|
1702
|
+
tabIndex,
|
1703
|
+
newTab,
|
1704
|
+
fullWidth,
|
1705
|
+
icon,
|
1706
|
+
size = "medium",
|
1707
|
+
loading: loadingProp = false
|
1708
|
+
}) => {
|
1666
1709
|
const [loading, setLoading] = useState7(loadingProp);
|
1667
1710
|
useEffect6(() => setLoading(loadingProp), [loadingProp]);
|
1668
1711
|
const ElementType = href ? "a" : type ? "button" : "span";
|
1669
|
-
const dataAttrs = filterDataAttrs(props);
|
1670
1712
|
const el = /* @__PURE__ */ jsxs6(
|
1671
1713
|
ElementType,
|
1672
|
-
|
1714
|
+
{
|
1673
1715
|
className: getClassName9({
|
1674
1716
|
primary: variant === "primary",
|
1675
1717
|
secondary: variant === "secondary",
|
@@ -1689,20 +1731,19 @@ var Button = (_a) => {
|
|
1689
1731
|
tabIndex,
|
1690
1732
|
target: newTab ? "_blank" : void 0,
|
1691
1733
|
rel: newTab ? "noreferrer" : void 0,
|
1692
|
-
href
|
1693
|
-
}, dataAttrs), {
|
1734
|
+
href,
|
1694
1735
|
children: [
|
1695
|
-
icon && /* @__PURE__ */
|
1736
|
+
icon && /* @__PURE__ */ jsx14("div", { className: getClassName9("icon"), children: icon }),
|
1696
1737
|
children,
|
1697
|
-
loading && /* @__PURE__ */
|
1738
|
+
loading && /* @__PURE__ */ jsx14("div", { className: getClassName9("spinner"), children: /* @__PURE__ */ jsx14(Loader, { size: 14 }) })
|
1698
1739
|
]
|
1699
|
-
}
|
1740
|
+
}
|
1700
1741
|
);
|
1701
1742
|
return el;
|
1702
1743
|
};
|
1703
1744
|
|
1704
1745
|
// components/ExternalInput/index.tsx
|
1705
|
-
import { Fragment as Fragment7, jsx as
|
1746
|
+
import { Fragment as Fragment7, jsx as jsx15, jsxs as jsxs7 } from "react/jsx-runtime";
|
1706
1747
|
var getClassName10 = get_class_name_factory_default("ExternalInput", styles_module_default6);
|
1707
1748
|
var getClassNameModal = get_class_name_factory_default("ExternalInputModal", styles_module_default6);
|
1708
1749
|
var dataCache = {};
|
@@ -1725,10 +1766,10 @@ var ExternalInput = ({
|
|
1725
1766
|
const hasFilterFields = !!filterFields;
|
1726
1767
|
const [filters, setFilters] = useState8(field.initialFilters || {});
|
1727
1768
|
const [filtersToggled, setFiltersToggled] = useState8(hasFilterFields);
|
1728
|
-
const mappedData =
|
1769
|
+
const mappedData = useMemo2(() => {
|
1729
1770
|
return data.map(mapRow);
|
1730
1771
|
}, [data]);
|
1731
|
-
const keys =
|
1772
|
+
const keys = useMemo2(() => {
|
1732
1773
|
const validKeys = /* @__PURE__ */ new Set();
|
1733
1774
|
for (const item of mappedData) {
|
1734
1775
|
for (const key of Object.keys(item)) {
|
@@ -1775,7 +1816,7 @@ var ExternalInput = ({
|
|
1775
1816
|
id,
|
1776
1817
|
children: [
|
1777
1818
|
/* @__PURE__ */ jsxs7("div", { className: getClassName10("actions"), children: [
|
1778
|
-
/* @__PURE__ */
|
1819
|
+
/* @__PURE__ */ jsx15(
|
1779
1820
|
"button",
|
1780
1821
|
{
|
1781
1822
|
type: "button",
|
@@ -1783,12 +1824,12 @@ var ExternalInput = ({
|
|
1783
1824
|
className: getClassName10("button"),
|
1784
1825
|
disabled: readOnly,
|
1785
1826
|
children: value ? field.getItemSummary ? field.getItemSummary(value) : "External item" : /* @__PURE__ */ jsxs7(Fragment7, { children: [
|
1786
|
-
/* @__PURE__ */
|
1787
|
-
/* @__PURE__ */
|
1827
|
+
/* @__PURE__ */ jsx15(Link, { size: "16" }),
|
1828
|
+
/* @__PURE__ */ jsx15("span", { children: field.placeholder })
|
1788
1829
|
] })
|
1789
1830
|
}
|
1790
1831
|
),
|
1791
|
-
value && /* @__PURE__ */
|
1832
|
+
value && /* @__PURE__ */ jsx15(
|
1792
1833
|
"button",
|
1793
1834
|
{
|
1794
1835
|
type: "button",
|
@@ -1797,11 +1838,11 @@ var ExternalInput = ({
|
|
1797
1838
|
onChange(null);
|
1798
1839
|
},
|
1799
1840
|
disabled: readOnly,
|
1800
|
-
children: /* @__PURE__ */
|
1841
|
+
children: /* @__PURE__ */ jsx15(LockOpen, { size: 16 })
|
1801
1842
|
}
|
1802
1843
|
)
|
1803
1844
|
] }),
|
1804
|
-
/* @__PURE__ */
|
1845
|
+
/* @__PURE__ */ jsx15(Modal, { onClose: () => setOpen(false), isOpen, children: /* @__PURE__ */ jsxs7(
|
1805
1846
|
"form",
|
1806
1847
|
{
|
1807
1848
|
className: getClassNameModal({
|
@@ -1815,11 +1856,11 @@ var ExternalInput = ({
|
|
1815
1856
|
search(searchQuery, filters);
|
1816
1857
|
},
|
1817
1858
|
children: [
|
1818
|
-
/* @__PURE__ */
|
1859
|
+
/* @__PURE__ */ jsx15("div", { className: getClassNameModal("masthead"), children: field.showSearch ? /* @__PURE__ */ jsxs7("div", { className: getClassNameModal("searchForm"), children: [
|
1819
1860
|
/* @__PURE__ */ jsxs7("label", { className: getClassNameModal("search"), children: [
|
1820
|
-
/* @__PURE__ */
|
1821
|
-
/* @__PURE__ */
|
1822
|
-
/* @__PURE__ */
|
1861
|
+
/* @__PURE__ */ jsx15("span", { className: getClassNameModal("searchIconText"), children: "Search" }),
|
1862
|
+
/* @__PURE__ */ jsx15("div", { className: getClassNameModal("searchIcon"), children: /* @__PURE__ */ jsx15(Search, { size: "18" }) }),
|
1863
|
+
/* @__PURE__ */ jsx15(
|
1823
1864
|
"input",
|
1824
1865
|
{
|
1825
1866
|
className: getClassNameModal("searchInput"),
|
@@ -1835,8 +1876,8 @@ var ExternalInput = ({
|
|
1835
1876
|
)
|
1836
1877
|
] }),
|
1837
1878
|
/* @__PURE__ */ jsxs7("div", { className: getClassNameModal("searchActions"), children: [
|
1838
|
-
/* @__PURE__ */
|
1839
|
-
hasFilterFields && /* @__PURE__ */
|
1879
|
+
/* @__PURE__ */ jsx15(Button, { type: "submit", loading: isLoading, fullWidth: true, children: "Search" }),
|
1880
|
+
hasFilterFields && /* @__PURE__ */ jsx15("div", { className: getClassNameModal("searchActionIcon"), children: /* @__PURE__ */ jsx15(
|
1840
1881
|
IconButton,
|
1841
1882
|
{
|
1842
1883
|
title: "Toggle filters",
|
@@ -1845,15 +1886,15 @@ var ExternalInput = ({
|
|
1845
1886
|
e.stopPropagation();
|
1846
1887
|
setFiltersToggled(!filtersToggled);
|
1847
1888
|
},
|
1848
|
-
children: /* @__PURE__ */
|
1889
|
+
children: /* @__PURE__ */ jsx15(SlidersHorizontal, { size: 20 })
|
1849
1890
|
}
|
1850
1891
|
) })
|
1851
1892
|
] })
|
1852
|
-
] }) : /* @__PURE__ */
|
1893
|
+
] }) : /* @__PURE__ */ jsx15(Heading, { rank: "2", size: "xs", children: field.placeholder || "Select data" }) }),
|
1853
1894
|
/* @__PURE__ */ jsxs7("div", { className: getClassNameModal("grid"), children: [
|
1854
|
-
hasFilterFields && /* @__PURE__ */
|
1895
|
+
hasFilterFields && /* @__PURE__ */ jsx15("div", { className: getClassNameModal("filters"), children: hasFilterFields && Object.keys(filterFields).map((fieldName) => {
|
1855
1896
|
const filterField = filterFields[fieldName];
|
1856
|
-
return /* @__PURE__ */
|
1897
|
+
return /* @__PURE__ */ jsx15(
|
1857
1898
|
AutoFieldPrivate,
|
1858
1899
|
{
|
1859
1900
|
field: filterField,
|
@@ -1872,7 +1913,7 @@ var ExternalInput = ({
|
|
1872
1913
|
}) }),
|
1873
1914
|
/* @__PURE__ */ jsxs7("div", { className: getClassNameModal("tableWrapper"), children: [
|
1874
1915
|
/* @__PURE__ */ jsxs7("table", { className: getClassNameModal("table"), children: [
|
1875
|
-
/* @__PURE__ */
|
1916
|
+
/* @__PURE__ */ jsx15("thead", { className: getClassNameModal("thead"), children: /* @__PURE__ */ jsx15("tr", { className: getClassNameModal("tr"), children: keys.map((key) => /* @__PURE__ */ jsx15(
|
1876
1917
|
"th",
|
1877
1918
|
{
|
1878
1919
|
className: getClassNameModal("th"),
|
@@ -1881,8 +1922,8 @@ var ExternalInput = ({
|
|
1881
1922
|
},
|
1882
1923
|
key
|
1883
1924
|
)) }) }),
|
1884
|
-
/* @__PURE__ */
|
1885
|
-
return /* @__PURE__ */
|
1925
|
+
/* @__PURE__ */ jsx15("tbody", { className: getClassNameModal("tbody"), children: mappedData.map((item, i) => {
|
1926
|
+
return /* @__PURE__ */ jsx15(
|
1886
1927
|
"tr",
|
1887
1928
|
{
|
1888
1929
|
style: { whiteSpace: "nowrap" },
|
@@ -1891,16 +1932,16 @@ var ExternalInput = ({
|
|
1891
1932
|
onChange(mapProp(data[i]));
|
1892
1933
|
setOpen(false);
|
1893
1934
|
},
|
1894
|
-
children: keys.map((key) => /* @__PURE__ */
|
1935
|
+
children: keys.map((key) => /* @__PURE__ */ jsx15("td", { className: getClassNameModal("td"), children: item[key] }, key))
|
1895
1936
|
},
|
1896
1937
|
i
|
1897
1938
|
);
|
1898
1939
|
}) })
|
1899
1940
|
] }),
|
1900
|
-
/* @__PURE__ */
|
1941
|
+
/* @__PURE__ */ jsx15("div", { className: getClassNameModal("loadingBanner"), children: /* @__PURE__ */ jsx15(Loader, { size: 24 }) })
|
1901
1942
|
] })
|
1902
1943
|
] }),
|
1903
|
-
/* @__PURE__ */
|
1944
|
+
/* @__PURE__ */ jsx15("div", { className: getClassNameModal("footerContainer"), children: /* @__PURE__ */ jsx15(Footer, { items: mappedData }) })
|
1904
1945
|
]
|
1905
1946
|
}
|
1906
1947
|
) })
|
@@ -1910,7 +1951,7 @@ var ExternalInput = ({
|
|
1910
1951
|
};
|
1911
1952
|
|
1912
1953
|
// components/AutoField/fields/ExternalField/index.tsx
|
1913
|
-
import { jsx as
|
1954
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
1914
1955
|
var ExternalField = ({
|
1915
1956
|
field,
|
1916
1957
|
onChange,
|
@@ -1934,7 +1975,7 @@ var ExternalField = ({
|
|
1934
1975
|
if (field.type !== "external") {
|
1935
1976
|
return null;
|
1936
1977
|
}
|
1937
|
-
return /* @__PURE__ */
|
1978
|
+
return /* @__PURE__ */ jsx16(Label, { label: label || name, icon: /* @__PURE__ */ jsx16(Link, { size: 16 }), el: "div", children: /* @__PURE__ */ jsx16(
|
1938
1979
|
ExternalInput,
|
1939
1980
|
{
|
1940
1981
|
name,
|
@@ -1959,7 +2000,7 @@ var ExternalField = ({
|
|
1959
2000
|
|
1960
2001
|
// components/AutoField/fields/RadioField/index.tsx
|
1961
2002
|
init_react_import();
|
1962
|
-
import { useMemo as
|
2003
|
+
import { useMemo as useMemo3 } from "react";
|
1963
2004
|
|
1964
2005
|
// lib/safe-json-parse.ts
|
1965
2006
|
init_react_import();
|
@@ -1973,7 +2014,7 @@ var safeJsonParse = (str) => {
|
|
1973
2014
|
};
|
1974
2015
|
|
1975
2016
|
// components/AutoField/fields/RadioField/index.tsx
|
1976
|
-
import { jsx as
|
2017
|
+
import { jsx as jsx17, jsxs as jsxs8 } from "react/jsx-runtime";
|
1977
2018
|
var getClassName11 = get_class_name_factory_default("Input", styles_module_default2);
|
1978
2019
|
var RadioField = ({
|
1979
2020
|
field,
|
@@ -1985,26 +2026,26 @@ var RadioField = ({
|
|
1985
2026
|
label,
|
1986
2027
|
Label
|
1987
2028
|
}) => {
|
1988
|
-
const flatOptions =
|
2029
|
+
const flatOptions = useMemo3(
|
1989
2030
|
() => field.type === "radio" ? field.options.map(({ value: value2 }) => value2) : [],
|
1990
2031
|
[field]
|
1991
2032
|
);
|
1992
2033
|
if (field.type !== "radio" || !field.options) {
|
1993
2034
|
return null;
|
1994
2035
|
}
|
1995
|
-
return /* @__PURE__ */
|
2036
|
+
return /* @__PURE__ */ jsx17(
|
1996
2037
|
Label,
|
1997
2038
|
{
|
1998
|
-
icon: /* @__PURE__ */
|
2039
|
+
icon: /* @__PURE__ */ jsx17(CircleCheckBig, { size: 16 }),
|
1999
2040
|
label: label || name,
|
2000
2041
|
readOnly,
|
2001
2042
|
el: "div",
|
2002
|
-
children: /* @__PURE__ */
|
2043
|
+
children: /* @__PURE__ */ jsx17("div", { className: getClassName11("radioGroupItems"), id, children: field.options.map((option) => /* @__PURE__ */ jsxs8(
|
2003
2044
|
"label",
|
2004
2045
|
{
|
2005
2046
|
className: getClassName11("radio"),
|
2006
2047
|
children: [
|
2007
|
-
/* @__PURE__ */
|
2048
|
+
/* @__PURE__ */ jsx17(
|
2008
2049
|
"input",
|
2009
2050
|
{
|
2010
2051
|
type: "radio",
|
@@ -2024,7 +2065,7 @@ var RadioField = ({
|
|
2024
2065
|
checked: value === option.value
|
2025
2066
|
}
|
2026
2067
|
),
|
2027
|
-
/* @__PURE__ */
|
2068
|
+
/* @__PURE__ */ jsx17("div", { className: getClassName11("radioInner"), children: option.label || option.value })
|
2028
2069
|
]
|
2029
2070
|
},
|
2030
2071
|
option.label + option.value
|
@@ -2035,8 +2076,8 @@ var RadioField = ({
|
|
2035
2076
|
|
2036
2077
|
// components/AutoField/fields/SelectField/index.tsx
|
2037
2078
|
init_react_import();
|
2038
|
-
import { useMemo as
|
2039
|
-
import { jsx as
|
2079
|
+
import { useMemo as useMemo4 } from "react";
|
2080
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
2040
2081
|
var getClassName12 = get_class_name_factory_default("Input", styles_module_default2);
|
2041
2082
|
var SelectField = ({
|
2042
2083
|
field,
|
@@ -2048,20 +2089,20 @@ var SelectField = ({
|
|
2048
2089
|
readOnly,
|
2049
2090
|
id
|
2050
2091
|
}) => {
|
2051
|
-
const flatOptions =
|
2092
|
+
const flatOptions = useMemo4(
|
2052
2093
|
() => field.type === "select" ? field.options.map(({ value: value2 }) => value2) : [],
|
2053
2094
|
[field]
|
2054
2095
|
);
|
2055
2096
|
if (field.type !== "select" || !field.options) {
|
2056
2097
|
return null;
|
2057
2098
|
}
|
2058
|
-
return /* @__PURE__ */
|
2099
|
+
return /* @__PURE__ */ jsx18(
|
2059
2100
|
Label,
|
2060
2101
|
{
|
2061
2102
|
label: label || name,
|
2062
|
-
icon: /* @__PURE__ */
|
2103
|
+
icon: /* @__PURE__ */ jsx18(ChevronDown, { size: 16 }),
|
2063
2104
|
readOnly,
|
2064
|
-
children: /* @__PURE__ */
|
2105
|
+
children: /* @__PURE__ */ jsx18(
|
2065
2106
|
"select",
|
2066
2107
|
{
|
2067
2108
|
id,
|
@@ -2078,7 +2119,7 @@ var SelectField = ({
|
|
2078
2119
|
}
|
2079
2120
|
},
|
2080
2121
|
value,
|
2081
|
-
children: field.options.map((option) => /* @__PURE__ */
|
2122
|
+
children: field.options.map((option) => /* @__PURE__ */ jsx18(
|
2082
2123
|
"option",
|
2083
2124
|
{
|
2084
2125
|
label: option.label,
|
@@ -2094,7 +2135,7 @@ var SelectField = ({
|
|
2094
2135
|
|
2095
2136
|
// components/AutoField/fields/TextareaField/index.tsx
|
2096
2137
|
init_react_import();
|
2097
|
-
import { jsx as
|
2138
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
2098
2139
|
var getClassName13 = get_class_name_factory_default("Input", styles_module_default2);
|
2099
2140
|
var TextareaField = ({
|
2100
2141
|
onChange,
|
@@ -2105,7 +2146,7 @@ var TextareaField = ({
|
|
2105
2146
|
Label,
|
2106
2147
|
id
|
2107
2148
|
}) => {
|
2108
|
-
return /* @__PURE__ */
|
2149
|
+
return /* @__PURE__ */ jsx19(Label, { label: label || name, icon: /* @__PURE__ */ jsx19(Type, { size: 16 }), readOnly, children: /* @__PURE__ */ jsx19(
|
2109
2150
|
"textarea",
|
2110
2151
|
{
|
2111
2152
|
id,
|
@@ -2132,7 +2173,7 @@ init_react_import();
|
|
2132
2173
|
var styles_module_default9 = { "ObjectField": "_ObjectField_1ua3y_5", "ObjectField-fieldset": "_ObjectField-fieldset_1ua3y_13" };
|
2133
2174
|
|
2134
2175
|
// components/AutoField/fields/ObjectField/index.tsx
|
2135
|
-
import { jsx as
|
2176
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
2136
2177
|
var getClassName14 = get_class_name_factory_default("ObjectField", styles_module_default9);
|
2137
2178
|
var ObjectField = ({
|
2138
2179
|
field,
|
@@ -2144,43 +2185,54 @@ var ObjectField = ({
|
|
2144
2185
|
readOnly,
|
2145
2186
|
id
|
2146
2187
|
}) => {
|
2147
|
-
const {
|
2188
|
+
const { readOnlyFields, localName = name } = useNestedFieldContext();
|
2148
2189
|
if (field.type !== "object" || !field.objectFields) {
|
2149
2190
|
return null;
|
2150
2191
|
}
|
2151
|
-
const readOnlyFields = (selectedItem == null ? void 0 : selectedItem.readOnly) || {};
|
2152
2192
|
const data = value || {};
|
2153
|
-
return /* @__PURE__ */
|
2193
|
+
return /* @__PURE__ */ jsx20(
|
2154
2194
|
Label,
|
2155
2195
|
{
|
2156
2196
|
label: label || name,
|
2157
|
-
icon: /* @__PURE__ */
|
2197
|
+
icon: /* @__PURE__ */ jsx20(EllipsisVertical, { size: 16 }),
|
2158
2198
|
el: "div",
|
2159
2199
|
readOnly,
|
2160
|
-
children: /* @__PURE__ */
|
2161
|
-
const subField = field.objectFields[
|
2162
|
-
const
|
2163
|
-
const
|
2164
|
-
const subReadOnly = readOnly ? readOnly :
|
2165
|
-
|
2166
|
-
|
2200
|
+
children: /* @__PURE__ */ jsx20("div", { className: getClassName14(), children: /* @__PURE__ */ jsx20("fieldset", { className: getClassName14("fieldset"), children: Object.keys(field.objectFields).map((subName) => {
|
2201
|
+
const subField = field.objectFields[subName];
|
2202
|
+
const subPath = `${name}.${subName}`;
|
2203
|
+
const localSubPath = `${localName || name}.${subName}`;
|
2204
|
+
const subReadOnly = readOnly ? readOnly : readOnlyFields[localSubPath];
|
2205
|
+
const label2 = subField.label || subName;
|
2206
|
+
return /* @__PURE__ */ jsx20(
|
2207
|
+
NestedFieldProvider,
|
2167
2208
|
{
|
2168
|
-
name:
|
2169
|
-
|
2170
|
-
|
2171
|
-
|
2172
|
-
|
2173
|
-
|
2174
|
-
|
2175
|
-
|
2176
|
-
|
2177
|
-
|
2209
|
+
name: localName || id,
|
2210
|
+
subName,
|
2211
|
+
readOnlyFields,
|
2212
|
+
children: /* @__PURE__ */ jsx20(
|
2213
|
+
AutoFieldPrivate,
|
2214
|
+
{
|
2215
|
+
name: subPath,
|
2216
|
+
label: subPath,
|
2217
|
+
id: `${id}_${subName}`,
|
2218
|
+
readOnly: subReadOnly,
|
2219
|
+
field: __spreadProps(__spreadValues({}, subField), {
|
2220
|
+
label: label2
|
2221
|
+
// May be used by custom fields
|
2178
2222
|
}),
|
2179
|
-
|
2180
|
-
|
2181
|
-
|
2223
|
+
value: data[subName],
|
2224
|
+
onChange: (val, ui) => {
|
2225
|
+
onChange(
|
2226
|
+
__spreadProps(__spreadValues({}, data), {
|
2227
|
+
[subName]: val
|
2228
|
+
}),
|
2229
|
+
ui
|
2230
|
+
);
|
2231
|
+
}
|
2232
|
+
}
|
2233
|
+
)
|
2182
2234
|
},
|
2183
|
-
|
2235
|
+
subPath
|
2184
2236
|
);
|
2185
2237
|
}) }) })
|
2186
2238
|
}
|
@@ -2206,7 +2258,7 @@ var useSafeId = () => {
|
|
2206
2258
|
};
|
2207
2259
|
|
2208
2260
|
// components/AutoField/index.tsx
|
2209
|
-
import { Fragment as Fragment8, jsx as
|
2261
|
+
import { Fragment as Fragment8, jsx as jsx21, jsxs as jsxs9 } from "react/jsx-runtime";
|
2210
2262
|
var getClassName15 = get_class_name_factory_default("Input", styles_module_default2);
|
2211
2263
|
var getClassNameWrapper = get_class_name_factory_default("InputWrapper", styles_module_default2);
|
2212
2264
|
var FieldLabel = ({
|
@@ -2220,14 +2272,14 @@ var FieldLabel = ({
|
|
2220
2272
|
const El = el;
|
2221
2273
|
return /* @__PURE__ */ jsxs9(El, { className, children: [
|
2222
2274
|
/* @__PURE__ */ jsxs9("div", { className: getClassName15("label"), children: [
|
2223
|
-
icon ? /* @__PURE__ */
|
2275
|
+
icon ? /* @__PURE__ */ jsx21("div", { className: getClassName15("labelIcon"), children: icon }) : /* @__PURE__ */ jsx21(Fragment8, {}),
|
2224
2276
|
label,
|
2225
|
-
readOnly && /* @__PURE__ */
|
2277
|
+
readOnly && /* @__PURE__ */ jsx21("div", { className: getClassName15("disabledIcon"), title: "Read-only", children: /* @__PURE__ */ jsx21(Lock, { size: "12" }) })
|
2226
2278
|
] }),
|
2227
2279
|
children
|
2228
2280
|
] });
|
2229
2281
|
};
|
2230
|
-
var
|
2282
|
+
var FieldLabelInternal = ({
|
2231
2283
|
children,
|
2232
2284
|
icon,
|
2233
2285
|
label,
|
@@ -2235,14 +2287,14 @@ var FieldLabelInternal2 = ({
|
|
2235
2287
|
readOnly
|
2236
2288
|
}) => {
|
2237
2289
|
const { overrides } = useAppContext();
|
2238
|
-
const Wrapper =
|
2290
|
+
const Wrapper = useMemo5(
|
2239
2291
|
() => overrides.fieldLabel || FieldLabel,
|
2240
2292
|
[overrides]
|
2241
2293
|
);
|
2242
2294
|
if (!label) {
|
2243
|
-
return /* @__PURE__ */
|
2295
|
+
return /* @__PURE__ */ jsx21(Fragment8, { children });
|
2244
2296
|
}
|
2245
|
-
return /* @__PURE__ */
|
2297
|
+
return /* @__PURE__ */ jsx21(
|
2246
2298
|
Wrapper,
|
2247
2299
|
{
|
2248
2300
|
label,
|
@@ -2256,8 +2308,9 @@ var FieldLabelInternal2 = ({
|
|
2256
2308
|
};
|
2257
2309
|
function AutoFieldInternal(props) {
|
2258
2310
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
2259
|
-
const { dispatch, overrides } = useAppContext();
|
2260
|
-
const
|
2311
|
+
const { dispatch, overrides, selectedItem } = useAppContext();
|
2312
|
+
const nestedFieldContext = useContext3(NestedFieldContext);
|
2313
|
+
const { id, Label = FieldLabelInternal } = props;
|
2261
2314
|
const field = props.field;
|
2262
2315
|
const label = field.label;
|
2263
2316
|
const defaultId = useSafeId();
|
@@ -2317,20 +2370,29 @@ function AutoFieldInternal(props) {
|
|
2317
2370
|
return null;
|
2318
2371
|
}
|
2319
2372
|
const CustomField = field.render;
|
2320
|
-
return /* @__PURE__ */
|
2373
|
+
return /* @__PURE__ */ jsx21("div", { className: getClassNameWrapper(), onFocus, onBlur, children: /* @__PURE__ */ jsx21("div", { className: getClassName15(), children: /* @__PURE__ */ jsx21(CustomField, __spreadValues({}, mergedProps)) }) });
|
2321
2374
|
}
|
2322
2375
|
const children = defaultFields[field.type](mergedProps);
|
2323
2376
|
const Render2 = render[field.type];
|
2324
|
-
return /* @__PURE__ */
|
2325
|
-
|
2377
|
+
return /* @__PURE__ */ jsx21(
|
2378
|
+
NestedFieldContext.Provider,
|
2326
2379
|
{
|
2327
|
-
|
2328
|
-
|
2329
|
-
|
2330
|
-
onClick: (e) => {
|
2331
|
-
e.stopPropagation();
|
2380
|
+
value: {
|
2381
|
+
readOnlyFields: nestedFieldContext.readOnlyFields || (selectedItem == null ? void 0 : selectedItem.readOnly) || {},
|
2382
|
+
localName: nestedFieldContext.localName
|
2332
2383
|
},
|
2333
|
-
children: /* @__PURE__ */
|
2384
|
+
children: /* @__PURE__ */ jsx21(
|
2385
|
+
"div",
|
2386
|
+
{
|
2387
|
+
className: getClassNameWrapper(),
|
2388
|
+
onFocus,
|
2389
|
+
onBlur,
|
2390
|
+
onClick: (e) => {
|
2391
|
+
e.stopPropagation();
|
2392
|
+
},
|
2393
|
+
children: /* @__PURE__ */ jsx21(Render2, __spreadProps(__spreadValues({}, mergedProps), { children }))
|
2394
|
+
}
|
2395
|
+
)
|
2334
2396
|
}
|
2335
2397
|
);
|
2336
2398
|
}
|
@@ -2358,11 +2420,11 @@ function AutoFieldPrivate(props) {
|
|
2358
2420
|
value: localValue,
|
2359
2421
|
onChange: onChangeLocal
|
2360
2422
|
};
|
2361
|
-
return /* @__PURE__ */
|
2423
|
+
return /* @__PURE__ */ jsx21(AutoFieldInternal, __spreadValues(__spreadValues({}, props), localProps));
|
2362
2424
|
}
|
2363
2425
|
function AutoField(props) {
|
2364
|
-
const DefaultLabel =
|
2365
|
-
const DefaultLabel2 = (labelProps) => /* @__PURE__ */
|
2426
|
+
const DefaultLabel = useMemo5(() => {
|
2427
|
+
const DefaultLabel2 = (labelProps) => /* @__PURE__ */ jsx21(
|
2366
2428
|
"div",
|
2367
2429
|
__spreadProps(__spreadValues({}, labelProps), {
|
2368
2430
|
className: getClassName15({ readOnly: props.readOnly })
|
@@ -2370,7 +2432,7 @@ function AutoField(props) {
|
|
2370
2432
|
);
|
2371
2433
|
return DefaultLabel2;
|
2372
2434
|
}, [props.readOnly]);
|
2373
|
-
return /* @__PURE__ */
|
2435
|
+
return /* @__PURE__ */ jsx21(AutoFieldInternal, __spreadProps(__spreadValues({}, props), { Label: DefaultLabel }));
|
2374
2436
|
}
|
2375
2437
|
|
2376
2438
|
// components/Drawer/index.tsx
|
@@ -2382,14 +2444,14 @@ var styles_module_default10 = { "Drawer": "_Drawer_1oa7v_1", "DrawerItem--disabl
|
|
2382
2444
|
|
2383
2445
|
// components/Drawer/index.tsx
|
2384
2446
|
import {
|
2385
|
-
createContext as
|
2386
|
-
useContext as
|
2387
|
-
useMemo as
|
2447
|
+
createContext as createContext3,
|
2448
|
+
useContext as useContext4,
|
2449
|
+
useMemo as useMemo6
|
2388
2450
|
} from "react";
|
2389
|
-
import { jsx as
|
2451
|
+
import { jsx as jsx22, jsxs as jsxs10 } from "react/jsx-runtime";
|
2390
2452
|
var getClassName16 = get_class_name_factory_default("Drawer", styles_module_default10);
|
2391
2453
|
var getClassNameItem2 = get_class_name_factory_default("DrawerItem", styles_module_default10);
|
2392
|
-
var drawerContext =
|
2454
|
+
var drawerContext = createContext3({
|
2393
2455
|
droppableId: ""
|
2394
2456
|
});
|
2395
2457
|
var DrawerDraggable = ({
|
@@ -2398,7 +2460,7 @@ var DrawerDraggable = ({
|
|
2398
2460
|
index,
|
2399
2461
|
isDragDisabled
|
2400
2462
|
}) => {
|
2401
|
-
return /* @__PURE__ */
|
2463
|
+
return /* @__PURE__ */ jsx22(
|
2402
2464
|
Draggable,
|
2403
2465
|
{
|
2404
2466
|
id,
|
@@ -2420,21 +2482,21 @@ var DrawerItem = ({
|
|
2420
2482
|
index,
|
2421
2483
|
isDragDisabled
|
2422
2484
|
}) => {
|
2423
|
-
const ctx =
|
2485
|
+
const ctx = useContext4(drawerContext);
|
2424
2486
|
const resolvedId = `${ctx.droppableId}::${id || name}`;
|
2425
|
-
const CustomInner =
|
2426
|
-
() => children || (({ children: children2, name: name2 }) => /* @__PURE__ */
|
2487
|
+
const CustomInner = useMemo6(
|
2488
|
+
() => children || (({ children: children2, name: name2 }) => /* @__PURE__ */ jsx22("div", { className: getClassNameItem2("default"), children: children2 })),
|
2427
2489
|
[children]
|
2428
2490
|
);
|
2429
|
-
return /* @__PURE__ */
|
2491
|
+
return /* @__PURE__ */ jsx22(
|
2430
2492
|
DrawerDraggable,
|
2431
2493
|
{
|
2432
2494
|
id: resolvedId,
|
2433
2495
|
index,
|
2434
2496
|
isDragDisabled,
|
2435
|
-
children: /* @__PURE__ */
|
2436
|
-
/* @__PURE__ */
|
2437
|
-
/* @__PURE__ */
|
2497
|
+
children: /* @__PURE__ */ jsx22(CustomInner, { name, children: /* @__PURE__ */ jsx22("div", { className: getClassNameItem2("draggableWrapper"), children: /* @__PURE__ */ jsxs10("div", { className: getClassNameItem2("draggable"), children: [
|
2498
|
+
/* @__PURE__ */ jsx22("div", { className: getClassNameItem2("name"), children: label != null ? label : name }),
|
2499
|
+
/* @__PURE__ */ jsx22("div", { className: getClassNameItem2("icon"), children: /* @__PURE__ */ jsx22(DragIcon, { isDragDisabled }) })
|
2438
2500
|
] }) }) })
|
2439
2501
|
}
|
2440
2502
|
);
|
@@ -2445,7 +2507,7 @@ var Drawer = ({
|
|
2445
2507
|
direction = "vertical"
|
2446
2508
|
}) => {
|
2447
2509
|
const droppableId = `component-list:${_droppableId}`;
|
2448
|
-
return /* @__PURE__ */
|
2510
|
+
return /* @__PURE__ */ jsx22(drawerContext.Provider, { value: { droppableId }, children: /* @__PURE__ */ jsx22(Droppable, { droppableId, isDropDisabled: true, direction, children: (provided, snapshot) => /* @__PURE__ */ jsxs10(
|
2449
2511
|
"div",
|
2450
2512
|
__spreadProps(__spreadValues({}, provided.droppableProps), {
|
2451
2513
|
ref: provided.innerRef,
|
@@ -2454,7 +2516,7 @@ var Drawer = ({
|
|
2454
2516
|
}),
|
2455
2517
|
children: [
|
2456
2518
|
children,
|
2457
|
-
/* @__PURE__ */
|
2519
|
+
/* @__PURE__ */ jsx22("span", { style: { display: "none" }, children: provided.placeholder })
|
2458
2520
|
]
|
2459
2521
|
})
|
2460
2522
|
) }) });
|
@@ -2463,13 +2525,13 @@ Drawer.Item = DrawerItem;
|
|
2463
2525
|
|
2464
2526
|
// components/DropZone/index.tsx
|
2465
2527
|
init_react_import();
|
2466
|
-
import { useContext as
|
2528
|
+
import { useContext as useContext5, useEffect as useEffect12 } from "react";
|
2467
2529
|
|
2468
2530
|
// components/DraggableComponent/index.tsx
|
2469
2531
|
init_react_import();
|
2470
2532
|
import {
|
2471
2533
|
useEffect as useEffect11,
|
2472
|
-
useMemo as
|
2534
|
+
useMemo as useMemo7,
|
2473
2535
|
useState as useState12
|
2474
2536
|
} from "react";
|
2475
2537
|
import { Draggable as Draggable2 } from "@measured/dnd";
|
@@ -2517,7 +2579,7 @@ var isIos = () => [
|
|
2517
2579
|
navigator.userAgent.includes("Mac") && "ontouchend" in document;
|
2518
2580
|
|
2519
2581
|
// components/DraggableComponent/index.tsx
|
2520
|
-
import { jsx as
|
2582
|
+
import { jsx as jsx23, jsxs as jsxs11 } from "react/jsx-runtime";
|
2521
2583
|
var getClassName17 = get_class_name_factory_default("DraggableComponent", styles_module_default11);
|
2522
2584
|
var space = 8;
|
2523
2585
|
var actionsOverlayTop = space * 6.5;
|
@@ -2526,7 +2588,7 @@ var actionsRight = space;
|
|
2526
2588
|
var DefaultActionBar = ({
|
2527
2589
|
label,
|
2528
2590
|
children
|
2529
|
-
}) => /* @__PURE__ */
|
2591
|
+
}) => /* @__PURE__ */ jsx23(ActionBar, { label, children: /* @__PURE__ */ jsx23(ActionBar.Group, { children }) });
|
2530
2592
|
var DraggableComponent = ({
|
2531
2593
|
children,
|
2532
2594
|
id,
|
@@ -2559,14 +2621,14 @@ var DraggableComponent = ({
|
|
2559
2621
|
setDisableSecondaryAnimation(true);
|
2560
2622
|
}
|
2561
2623
|
}, []);
|
2562
|
-
const CustomActionBar =
|
2624
|
+
const CustomActionBar = useMemo7(
|
2563
2625
|
() => overrides.actionBar || DefaultActionBar,
|
2564
2626
|
[overrides.actionBar]
|
2565
2627
|
);
|
2566
2628
|
const permissions = getPermissions({
|
2567
2629
|
item: selectedItem
|
2568
2630
|
});
|
2569
|
-
return /* @__PURE__ */
|
2631
|
+
return /* @__PURE__ */ jsx23(
|
2570
2632
|
El,
|
2571
2633
|
{
|
2572
2634
|
draggableId: id,
|
@@ -2596,15 +2658,15 @@ var DraggableComponent = ({
|
|
2596
2658
|
onClick,
|
2597
2659
|
children: [
|
2598
2660
|
debug,
|
2599
|
-
isLoading && /* @__PURE__ */
|
2600
|
-
isSelected && /* @__PURE__ */
|
2661
|
+
isLoading && /* @__PURE__ */ jsx23("div", { className: getClassName17("loadingOverlay"), children: /* @__PURE__ */ jsx23(Loader, {}) }),
|
2662
|
+
isSelected && /* @__PURE__ */ jsx23(
|
2601
2663
|
"div",
|
2602
2664
|
{
|
2603
2665
|
className: getClassName17("actionsOverlay"),
|
2604
2666
|
style: {
|
2605
2667
|
top: actionsOverlayTop / zoomConfig.zoom
|
2606
2668
|
},
|
2607
|
-
children: /* @__PURE__ */
|
2669
|
+
children: /* @__PURE__ */ jsx23(
|
2608
2670
|
"div",
|
2609
2671
|
{
|
2610
2672
|
className: getClassName17("actions"),
|
@@ -2614,15 +2676,15 @@ var DraggableComponent = ({
|
|
2614
2676
|
right: actionsRight / zoomConfig.zoom
|
2615
2677
|
},
|
2616
2678
|
children: /* @__PURE__ */ jsxs11(CustomActionBar, { label, children: [
|
2617
|
-
permissions.duplicate && /* @__PURE__ */
|
2618
|
-
permissions.delete && /* @__PURE__ */
|
2679
|
+
permissions.duplicate && /* @__PURE__ */ jsx23(ActionBar.Action, { onClick: onDuplicate, label: "Duplicate", children: /* @__PURE__ */ jsx23(Copy, { size: 16 }) }),
|
2680
|
+
permissions.delete && /* @__PURE__ */ jsx23(ActionBar.Action, { onClick: onDelete, label: "Delete", children: /* @__PURE__ */ jsx23(Trash, { size: 16 }) })
|
2619
2681
|
] })
|
2620
2682
|
}
|
2621
2683
|
)
|
2622
2684
|
}
|
2623
2685
|
),
|
2624
|
-
/* @__PURE__ */
|
2625
|
-
/* @__PURE__ */
|
2686
|
+
/* @__PURE__ */ jsx23("div", { className: getClassName17("overlay") }),
|
2687
|
+
/* @__PURE__ */ jsx23("div", { className: getClassName17("contents"), children })
|
2626
2688
|
]
|
2627
2689
|
})
|
2628
2690
|
)
|
@@ -2638,7 +2700,7 @@ var styles_module_default12 = { "DropZone": "_DropZone_djoti_1", "DropZone-conte
|
|
2638
2700
|
// components/DropZone/context.tsx
|
2639
2701
|
init_react_import();
|
2640
2702
|
import {
|
2641
|
-
createContext as
|
2703
|
+
createContext as createContext4,
|
2642
2704
|
useCallback as useCallback6,
|
2643
2705
|
useState as useState13
|
2644
2706
|
} from "react";
|
@@ -2657,8 +2719,8 @@ var getZoneId = (zoneCompound) => {
|
|
2657
2719
|
};
|
2658
2720
|
|
2659
2721
|
// components/DropZone/context.tsx
|
2660
|
-
import { Fragment as Fragment9, jsx as
|
2661
|
-
var dropZoneContext =
|
2722
|
+
import { Fragment as Fragment9, jsx as jsx24 } from "react/jsx-runtime";
|
2723
|
+
var dropZoneContext = createContext4(null);
|
2662
2724
|
var DropZoneProvider = ({
|
2663
2725
|
children,
|
2664
2726
|
value
|
@@ -2735,7 +2797,7 @@ var DropZoneProvider = ({
|
|
2735
2797
|
[value, setPathData]
|
2736
2798
|
);
|
2737
2799
|
const [zoneWillDrag, setZoneWillDrag] = useState13("");
|
2738
|
-
return /* @__PURE__ */
|
2800
|
+
return /* @__PURE__ */ jsx24(Fragment9, { children: value && /* @__PURE__ */ jsx24(
|
2739
2801
|
dropZoneContext.Provider,
|
2740
2802
|
{
|
2741
2803
|
value: __spreadValues({
|
@@ -2761,12 +2823,12 @@ var DropZoneProvider = ({
|
|
2761
2823
|
};
|
2762
2824
|
|
2763
2825
|
// components/DropZone/index.tsx
|
2764
|
-
import { Fragment as Fragment10, jsx as
|
2826
|
+
import { Fragment as Fragment10, jsx as jsx25, jsxs as jsxs12 } from "react/jsx-runtime";
|
2765
2827
|
var getClassName18 = get_class_name_factory_default("DropZone", styles_module_default12);
|
2766
2828
|
function DropZoneEdit({ zone, allow, disallow, style }) {
|
2767
2829
|
var _a;
|
2768
2830
|
const appContext2 = useAppContext();
|
2769
|
-
const ctx =
|
2831
|
+
const ctx = useContext5(dropZoneContext);
|
2770
2832
|
const {
|
2771
2833
|
// These all need setting via context
|
2772
2834
|
data,
|
@@ -2816,7 +2878,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
2816
2878
|
const draggingOverArea = userIsDragging && zoneArea === draggedSourceArea;
|
2817
2879
|
const draggingNewComponent = draggedSourceId == null ? void 0 : draggedSourceId.startsWith("component-list");
|
2818
2880
|
if (!(ctx == null ? void 0 : ctx.config) || !ctx.setHoveringArea || !ctx.setHoveringZone || !ctx.setHoveringComponent || !ctx.setItemSelector || !ctx.registerPath || !ctx.dispatch) {
|
2819
|
-
return /* @__PURE__ */
|
2881
|
+
return /* @__PURE__ */ jsx25("div", { children: "DropZone requires context to work." });
|
2820
2882
|
}
|
2821
2883
|
const {
|
2822
2884
|
hoveringArea = "root",
|
@@ -2857,7 +2919,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
2857
2919
|
}
|
2858
2920
|
const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
|
2859
2921
|
const isAreaSelected = selectedItem && zoneArea === selectedItem.props.id;
|
2860
|
-
return /* @__PURE__ */
|
2922
|
+
return /* @__PURE__ */ jsx25(
|
2861
2923
|
"div",
|
2862
2924
|
{
|
2863
2925
|
className: getClassName18({
|
@@ -2874,7 +2936,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
2874
2936
|
onMouseUp: () => {
|
2875
2937
|
setZoneWillDrag("");
|
2876
2938
|
},
|
2877
|
-
children: /* @__PURE__ */
|
2939
|
+
children: /* @__PURE__ */ jsx25(
|
2878
2940
|
Droppable,
|
2879
2941
|
{
|
2880
2942
|
droppableId: zoneCompound,
|
@@ -2929,13 +2991,13 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
2929
2991
|
className: getClassName18("item"),
|
2930
2992
|
style: { zIndex: isDragging ? 1 : void 0 },
|
2931
2993
|
children: [
|
2932
|
-
/* @__PURE__ */
|
2994
|
+
/* @__PURE__ */ jsx25(
|
2933
2995
|
DropZoneProvider,
|
2934
2996
|
{
|
2935
2997
|
value: __spreadProps(__spreadValues({}, ctx), {
|
2936
2998
|
areaId: componentId
|
2937
2999
|
}),
|
2938
|
-
children: /* @__PURE__ */
|
3000
|
+
children: /* @__PURE__ */ jsx25(
|
2939
3001
|
DraggableComponent,
|
2940
3002
|
{
|
2941
3003
|
label,
|
@@ -3003,12 +3065,12 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
3003
3065
|
style: {
|
3004
3066
|
pointerEvents: userIsDragging && draggingNewComponent ? "all" : void 0
|
3005
3067
|
},
|
3006
|
-
children: /* @__PURE__ */
|
3068
|
+
children: /* @__PURE__ */ jsx25("div", { className: getClassName18("renderWrapper"), children: /* @__PURE__ */ jsx25(Render2, __spreadValues({}, defaultedProps)) })
|
3007
3069
|
}
|
3008
3070
|
)
|
3009
3071
|
}
|
3010
3072
|
),
|
3011
|
-
userIsDragging && /* @__PURE__ */
|
3073
|
+
userIsDragging && /* @__PURE__ */ jsx25(
|
3012
3074
|
"div",
|
3013
3075
|
{
|
3014
3076
|
className: getClassName18("hitbox"),
|
@@ -3025,7 +3087,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
3025
3087
|
);
|
3026
3088
|
}),
|
3027
3089
|
provided == null ? void 0 : provided.placeholder,
|
3028
|
-
(snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */
|
3090
|
+
(snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ jsx25(
|
3029
3091
|
"div",
|
3030
3092
|
{
|
3031
3093
|
"data-puck-placeholder": true,
|
@@ -3046,7 +3108,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
3046
3108
|
);
|
3047
3109
|
}
|
3048
3110
|
function DropZoneRender({ zone }) {
|
3049
|
-
const ctx =
|
3111
|
+
const ctx = useContext5(dropZoneContext);
|
3050
3112
|
const { data, areaId = "root", config } = ctx || {};
|
3051
3113
|
let zoneCompound = rootDroppableId;
|
3052
3114
|
let content = (data == null ? void 0 : data.content) || [];
|
@@ -3057,14 +3119,14 @@ function DropZoneRender({ zone }) {
|
|
3057
3119
|
zoneCompound = `${areaId}:${zone}`;
|
3058
3120
|
content = setupZone(data, zoneCompound).zones[zoneCompound];
|
3059
3121
|
}
|
3060
|
-
return /* @__PURE__ */
|
3122
|
+
return /* @__PURE__ */ jsx25(Fragment10, { children: content.map((item) => {
|
3061
3123
|
const Component = config.components[item.type];
|
3062
3124
|
if (Component) {
|
3063
|
-
return /* @__PURE__ */
|
3125
|
+
return /* @__PURE__ */ jsx25(
|
3064
3126
|
DropZoneProvider,
|
3065
3127
|
{
|
3066
3128
|
value: { data, config, areaId: item.props.id },
|
3067
|
-
children: /* @__PURE__ */
|
3129
|
+
children: /* @__PURE__ */ jsx25(
|
3068
3130
|
Component.render,
|
3069
3131
|
__spreadProps(__spreadValues({}, item.props), {
|
3070
3132
|
puck: { renderDropZone: DropZone }
|
@@ -3078,11 +3140,11 @@ function DropZoneRender({ zone }) {
|
|
3078
3140
|
}) });
|
3079
3141
|
}
|
3080
3142
|
function DropZone(props) {
|
3081
|
-
const ctx =
|
3143
|
+
const ctx = useContext5(dropZoneContext);
|
3082
3144
|
if ((ctx == null ? void 0 : ctx.mode) === "edit") {
|
3083
|
-
return /* @__PURE__ */
|
3145
|
+
return /* @__PURE__ */ jsx25(DropZoneEdit, __spreadValues({}, props));
|
3084
3146
|
}
|
3085
|
-
return /* @__PURE__ */
|
3147
|
+
return /* @__PURE__ */ jsx25(DropZoneRender, __spreadValues({}, props));
|
3086
3148
|
}
|
3087
3149
|
|
3088
3150
|
// components/Puck/index.tsx
|
@@ -3090,7 +3152,7 @@ init_react_import();
|
|
3090
3152
|
import {
|
3091
3153
|
useCallback as useCallback11,
|
3092
3154
|
useEffect as useEffect18,
|
3093
|
-
useMemo as
|
3155
|
+
useMemo as useMemo16,
|
3094
3156
|
useReducer,
|
3095
3157
|
useState as useState21
|
3096
3158
|
} from "react";
|
@@ -3102,11 +3164,11 @@ import { useState as useState14 } from "react";
|
|
3102
3164
|
// lib/get-frame.ts
|
3103
3165
|
init_react_import();
|
3104
3166
|
var getFrame = () => {
|
3105
|
-
let
|
3106
|
-
if ((
|
3107
|
-
|
3167
|
+
let frameEl = document.querySelector("#preview-frame");
|
3168
|
+
if ((frameEl == null ? void 0 : frameEl.tagName) === "IFRAME") {
|
3169
|
+
return frameEl.contentDocument || document;
|
3108
3170
|
}
|
3109
|
-
return
|
3171
|
+
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
3110
3172
|
};
|
3111
3173
|
|
3112
3174
|
// lib/use-placeholder-style.ts
|
@@ -3165,7 +3227,7 @@ var styles_module_default13 = { "SidebarSection": "_SidebarSection_125qe_1", "Si
|
|
3165
3227
|
|
3166
3228
|
// lib/use-breadcrumbs.ts
|
3167
3229
|
init_react_import();
|
3168
|
-
import { useContext as
|
3230
|
+
import { useContext as useContext6, useMemo as useMemo8 } from "react";
|
3169
3231
|
var convertPathDataToBreadcrumbs = (selectedItem, pathData, data) => {
|
3170
3232
|
const id = selectedItem ? selectedItem == null ? void 0 : selectedItem.props.id : "";
|
3171
3233
|
const currentPathData = pathData && id && pathData[id] ? __spreadValues({}, pathData[id]) : { label: "Page", path: [] };
|
@@ -3215,8 +3277,8 @@ var useBreadcrumbs = (renderCount) => {
|
|
3215
3277
|
state: { data },
|
3216
3278
|
selectedItem
|
3217
3279
|
} = useAppContext();
|
3218
|
-
const dzContext =
|
3219
|
-
return
|
3280
|
+
const dzContext = useContext6(dropZoneContext);
|
3281
|
+
return useMemo8(() => {
|
3220
3282
|
const breadcrumbs = convertPathDataToBreadcrumbs(
|
3221
3283
|
selectedItem,
|
3222
3284
|
dzContext == null ? void 0 : dzContext.pathData,
|
@@ -3230,7 +3292,7 @@ var useBreadcrumbs = (renderCount) => {
|
|
3230
3292
|
};
|
3231
3293
|
|
3232
3294
|
// components/SidebarSection/index.tsx
|
3233
|
-
import { jsx as
|
3295
|
+
import { jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
|
3234
3296
|
var getClassName19 = get_class_name_factory_default("SidebarSection", styles_module_default13);
|
3235
3297
|
var SidebarSection = ({
|
3236
3298
|
children,
|
@@ -3249,9 +3311,9 @@ var SidebarSection = ({
|
|
3249
3311
|
className: getClassName19({ noBorderTop, noPadding }),
|
3250
3312
|
style: { background },
|
3251
3313
|
children: [
|
3252
|
-
/* @__PURE__ */
|
3314
|
+
/* @__PURE__ */ jsx26("div", { className: getClassName19("title"), children: /* @__PURE__ */ jsxs13("div", { className: getClassName19("breadcrumbs"), children: [
|
3253
3315
|
showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ jsxs13("div", { className: getClassName19("breadcrumb"), children: [
|
3254
|
-
/* @__PURE__ */
|
3316
|
+
/* @__PURE__ */ jsx26(
|
3255
3317
|
"button",
|
3256
3318
|
{
|
3257
3319
|
type: "button",
|
@@ -3260,12 +3322,12 @@ var SidebarSection = ({
|
|
3260
3322
|
children: breadcrumb.label
|
3261
3323
|
}
|
3262
3324
|
),
|
3263
|
-
/* @__PURE__ */
|
3325
|
+
/* @__PURE__ */ jsx26(ChevronRight, { size: 16 })
|
3264
3326
|
] }, i)) : null,
|
3265
|
-
/* @__PURE__ */
|
3327
|
+
/* @__PURE__ */ jsx26("div", { className: getClassName19("heading"), children: /* @__PURE__ */ jsx26(Heading, { rank: "2", size: "xs", children: title }) })
|
3266
3328
|
] }) }),
|
3267
|
-
/* @__PURE__ */
|
3268
|
-
isLoading && /* @__PURE__ */
|
3329
|
+
/* @__PURE__ */ jsx26("div", { className: getClassName19("content"), children }),
|
3330
|
+
isLoading && /* @__PURE__ */ jsx26("div", { className: getClassName19("loadingOverlay"), children: /* @__PURE__ */ jsx26(Loader, { size: 32 }) })
|
3269
3331
|
]
|
3270
3332
|
}
|
3271
3333
|
);
|
@@ -3468,6 +3530,9 @@ function reduceData(data, action, config) {
|
|
3468
3530
|
});
|
3469
3531
|
}
|
3470
3532
|
if (action.type === "move") {
|
3533
|
+
if (action.sourceZone === action.destinationZone && action.sourceIndex === action.destinationIndex) {
|
3534
|
+
return data;
|
3535
|
+
}
|
3471
3536
|
const newData = setupZone(
|
3472
3537
|
setupZone(data, action.sourceZone),
|
3473
3538
|
action.destinationZone
|
@@ -3646,7 +3711,7 @@ init_react_import();
|
|
3646
3711
|
var styles_module_default14 = { "MenuBar": "_MenuBar_8pf8c_1", "MenuBar--menuOpen": "_MenuBar--menuOpen_8pf8c_14", "MenuBar-inner": "_MenuBar-inner_8pf8c_29", "MenuBar-history": "_MenuBar-history_8pf8c_45" };
|
3647
3712
|
|
3648
3713
|
// components/MenuBar/index.tsx
|
3649
|
-
import { Fragment as Fragment11, jsx as
|
3714
|
+
import { Fragment as Fragment11, jsx as jsx27, jsxs as jsxs14 } from "react/jsx-runtime";
|
3650
3715
|
var getClassName20 = get_class_name_factory_default("MenuBar", styles_module_default14);
|
3651
3716
|
function MenuBar({
|
3652
3717
|
appState,
|
@@ -3660,7 +3725,7 @@ function MenuBar({
|
|
3660
3725
|
history: { back, forward, historyStore }
|
3661
3726
|
} = useAppContext();
|
3662
3727
|
const { hasFuture = false, hasPast = false } = historyStore || {};
|
3663
|
-
return /* @__PURE__ */
|
3728
|
+
return /* @__PURE__ */ jsx27(
|
3664
3729
|
"div",
|
3665
3730
|
{
|
3666
3731
|
className: getClassName20({ menuOpen }),
|
@@ -3676,10 +3741,10 @@ function MenuBar({
|
|
3676
3741
|
},
|
3677
3742
|
children: /* @__PURE__ */ jsxs14("div", { className: getClassName20("inner"), children: [
|
3678
3743
|
/* @__PURE__ */ jsxs14("div", { className: getClassName20("history"), children: [
|
3679
|
-
/* @__PURE__ */
|
3680
|
-
/* @__PURE__ */
|
3744
|
+
/* @__PURE__ */ jsx27(IconButton, { title: "undo", disabled: !hasPast, onClick: back, children: /* @__PURE__ */ jsx27(Undo2, { size: 21 }) }),
|
3745
|
+
/* @__PURE__ */ jsx27(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ jsx27(Redo2, { size: 21 }) })
|
3681
3746
|
] }),
|
3682
|
-
/* @__PURE__ */
|
3747
|
+
/* @__PURE__ */ jsx27(Fragment11, { children: renderHeaderActions && renderHeaderActions({
|
3683
3748
|
state: appState,
|
3684
3749
|
dispatch
|
3685
3750
|
}) })
|
@@ -3700,15 +3765,15 @@ init_react_import();
|
|
3700
3765
|
var styles_module_default16 = { "PuckFields": "_PuckFields_jp3lw_1", "PuckFields--isLoading": "_PuckFields--isLoading_jp3lw_6", "PuckFields-loadingOverlay": "_PuckFields-loadingOverlay_jp3lw_10", "PuckFields-loadingOverlayInner": "_PuckFields-loadingOverlayInner_jp3lw_25" };
|
3701
3766
|
|
3702
3767
|
// components/Puck/components/Fields/index.tsx
|
3703
|
-
import { useCallback as useCallback7, useEffect as useEffect13, useMemo as
|
3768
|
+
import { useCallback as useCallback7, useEffect as useEffect13, useMemo as useMemo9, useState as useState15 } from "react";
|
3704
3769
|
|
3705
3770
|
// lib/use-parent.ts
|
3706
3771
|
init_react_import();
|
3707
|
-
import { useContext as
|
3772
|
+
import { useContext as useContext7 } from "react";
|
3708
3773
|
var useParent = (itemSelector) => {
|
3709
3774
|
var _a;
|
3710
3775
|
const { selectedItem, state } = useAppContext();
|
3711
|
-
const { pathData } =
|
3776
|
+
const { pathData } = useContext7(dropZoneContext) || {};
|
3712
3777
|
const item = itemSelector ? getItem(itemSelector, state.data) : selectedItem;
|
3713
3778
|
const breadcrumbs = convertPathDataToBreadcrumbs(item, pathData, state.data);
|
3714
3779
|
const lastItem = breadcrumbs[breadcrumbs.length - 1];
|
@@ -3717,7 +3782,7 @@ var useParent = (itemSelector) => {
|
|
3717
3782
|
};
|
3718
3783
|
|
3719
3784
|
// components/Puck/components/Fields/index.tsx
|
3720
|
-
import { Fragment as Fragment12, jsx as
|
3785
|
+
import { Fragment as Fragment12, jsx as jsx28, jsxs as jsxs15 } from "react/jsx-runtime";
|
3721
3786
|
var getClassName21 = get_class_name_factory_default("PuckFields", styles_module_default16);
|
3722
3787
|
var defaultPageFields = {
|
3723
3788
|
title: { type: "text" }
|
@@ -3725,7 +3790,7 @@ var defaultPageFields = {
|
|
3725
3790
|
var DefaultFields = ({
|
3726
3791
|
children
|
3727
3792
|
}) => {
|
3728
|
-
return /* @__PURE__ */
|
3793
|
+
return /* @__PURE__ */ jsx28(Fragment12, { children });
|
3729
3794
|
};
|
3730
3795
|
var useResolvedFields = () => {
|
3731
3796
|
var _a, _b;
|
@@ -3734,7 +3799,7 @@ var useResolvedFields = () => {
|
|
3734
3799
|
const { data } = state;
|
3735
3800
|
const rootFields = ((_a = config.root) == null ? void 0 : _a.fields) || defaultPageFields;
|
3736
3801
|
const componentConfig = selectedItem ? config.components[selectedItem.type] : null;
|
3737
|
-
const defaultFields =
|
3802
|
+
const defaultFields = useMemo9(
|
3738
3803
|
() => (selectedItem ? componentConfig == null ? void 0 : componentConfig.fields : rootFields) || {},
|
3739
3804
|
[selectedItem, rootFields, componentConfig == null ? void 0 : componentConfig.fields]
|
3740
3805
|
);
|
@@ -3783,19 +3848,33 @@ var useResolvedFields = () => {
|
|
3783
3848
|
lastData
|
3784
3849
|
});
|
3785
3850
|
}),
|
3786
|
-
[data, config, componentData, selectedItem, resolvedFields, state]
|
3851
|
+
[data, config, componentData, selectedItem, resolvedFields, state, parent]
|
3787
3852
|
);
|
3853
|
+
const [hasParent, setHasParent] = useState15(false);
|
3788
3854
|
useEffect13(() => {
|
3789
|
-
|
3790
|
-
|
3791
|
-
|
3792
|
-
|
3793
|
-
|
3794
|
-
|
3795
|
-
|
3796
|
-
|
3855
|
+
setHasParent(!!parent);
|
3856
|
+
}, [parent]);
|
3857
|
+
useEffect13(() => {
|
3858
|
+
var _a2;
|
3859
|
+
if (!((_a2 = state.ui.itemSelector) == null ? void 0 : _a2.zone) || hasParent) {
|
3860
|
+
if (hasResolver) {
|
3861
|
+
setFieldsLoading(true);
|
3862
|
+
resolveFields(defaultFields).then((fields) => {
|
3863
|
+
setResolvedFields(fields || {});
|
3864
|
+
setFieldsLoading(false);
|
3865
|
+
});
|
3866
|
+
} else {
|
3867
|
+
setResolvedFields(defaultFields);
|
3868
|
+
}
|
3797
3869
|
}
|
3798
|
-
}, [
|
3870
|
+
}, [
|
3871
|
+
data,
|
3872
|
+
defaultFields,
|
3873
|
+
state.ui.itemSelector,
|
3874
|
+
selectedItem,
|
3875
|
+
hasResolver,
|
3876
|
+
hasParent
|
3877
|
+
]);
|
3799
3878
|
return [resolvedFields, fieldsLoading];
|
3800
3879
|
};
|
3801
3880
|
var Fields = () => {
|
@@ -3816,7 +3895,7 @@ var Fields = () => {
|
|
3816
3895
|
const componentResolving = selectedItem ? ((_a = componentState[selectedItem == null ? void 0 : selectedItem.props.id]) == null ? void 0 : _a.loadingCount) > 0 : ((_b = componentState["puck-root"]) == null ? void 0 : _b.loadingCount) > 0;
|
3817
3896
|
const isLoading = fieldsResolving || componentResolving;
|
3818
3897
|
const rootProps = data.root.props || data.root;
|
3819
|
-
const Wrapper =
|
3898
|
+
const Wrapper = useMemo9(() => overrides.fields || DefaultFields, [overrides]);
|
3820
3899
|
return /* @__PURE__ */ jsxs15(
|
3821
3900
|
"form",
|
3822
3901
|
{
|
@@ -3825,7 +3904,7 @@ var Fields = () => {
|
|
3825
3904
|
e.preventDefault();
|
3826
3905
|
},
|
3827
3906
|
children: [
|
3828
|
-
/* @__PURE__ */
|
3907
|
+
/* @__PURE__ */ jsx28(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
|
3829
3908
|
const field = fields[fieldName];
|
3830
3909
|
if (!(field == null ? void 0 : field.type)) return null;
|
3831
3910
|
const onChange = (value, updatedUi) => {
|
@@ -3896,7 +3975,7 @@ var Fields = () => {
|
|
3896
3975
|
item: selectedItem
|
3897
3976
|
});
|
3898
3977
|
const id = `${selectedItem.props.id}_${field.type}_${fieldName}`;
|
3899
|
-
return /* @__PURE__ */
|
3978
|
+
return /* @__PURE__ */ jsx28(
|
3900
3979
|
AutoFieldPrivate,
|
3901
3980
|
{
|
3902
3981
|
field,
|
@@ -3914,7 +3993,7 @@ var Fields = () => {
|
|
3914
3993
|
root: true
|
3915
3994
|
});
|
3916
3995
|
const id = `root_${field.type}_${fieldName}`;
|
3917
|
-
return /* @__PURE__ */
|
3996
|
+
return /* @__PURE__ */ jsx28(
|
3918
3997
|
AutoFieldPrivate,
|
3919
3998
|
{
|
3920
3999
|
field,
|
@@ -3928,7 +4007,7 @@ var Fields = () => {
|
|
3928
4007
|
);
|
3929
4008
|
}
|
3930
4009
|
}) }),
|
3931
|
-
isLoading && /* @__PURE__ */
|
4010
|
+
isLoading && /* @__PURE__ */ jsx28("div", { className: getClassName21("loadingOverlay"), children: /* @__PURE__ */ jsx28("div", { className: getClassName21("loadingOverlayInner"), children: /* @__PURE__ */ jsx28(Loader, { size: 16 }) }) })
|
3932
4011
|
]
|
3933
4012
|
}
|
3934
4013
|
);
|
@@ -3949,7 +4028,7 @@ init_react_import();
|
|
3949
4028
|
var styles_module_default17 = { "ComponentList": "_ComponentList_odh9d_1", "ComponentList--isExpanded": "_ComponentList--isExpanded_odh9d_5", "ComponentList-content": "_ComponentList-content_odh9d_9", "ComponentList-title": "_ComponentList-title_odh9d_17", "ComponentList-titleIcon": "_ComponentList-titleIcon_odh9d_53" };
|
3950
4029
|
|
3951
4030
|
// components/ComponentList/index.tsx
|
3952
|
-
import { jsx as
|
4031
|
+
import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
|
3953
4032
|
var getClassName22 = get_class_name_factory_default("ComponentList", styles_module_default17);
|
3954
4033
|
var ComponentListItem = ({
|
3955
4034
|
name,
|
@@ -3960,7 +4039,7 @@ var ComponentListItem = ({
|
|
3960
4039
|
const canInsert = getPermissions({
|
3961
4040
|
type: name
|
3962
4041
|
}).insert;
|
3963
|
-
return /* @__PURE__ */
|
4042
|
+
return /* @__PURE__ */ jsx29(
|
3964
4043
|
Drawer.Item,
|
3965
4044
|
{
|
3966
4045
|
label,
|
@@ -3993,14 +4072,14 @@ var ComponentList = ({
|
|
3993
4072
|
}),
|
3994
4073
|
title: expanded ? `Collapse${title ? ` ${title}` : ""}` : `Expand${title ? ` ${title}` : ""}`,
|
3995
4074
|
children: [
|
3996
|
-
/* @__PURE__ */
|
3997
|
-
/* @__PURE__ */
|
4075
|
+
/* @__PURE__ */ jsx29("div", { children: title }),
|
4076
|
+
/* @__PURE__ */ jsx29("div", { className: getClassName22("titleIcon"), children: expanded ? /* @__PURE__ */ jsx29(ChevronUp, { size: 12 }) : /* @__PURE__ */ jsx29(ChevronDown, { size: 12 }) })
|
3998
4077
|
]
|
3999
4078
|
}
|
4000
4079
|
),
|
4001
|
-
/* @__PURE__ */
|
4080
|
+
/* @__PURE__ */ jsx29("div", { className: getClassName22("content"), children: /* @__PURE__ */ jsx29(Drawer, { droppableId: title, children: children || Object.keys(config.components).map((componentKey, i) => {
|
4002
4081
|
var _a;
|
4003
|
-
return /* @__PURE__ */
|
4082
|
+
return /* @__PURE__ */ jsx29(
|
4004
4083
|
ComponentListItem,
|
4005
4084
|
{
|
4006
4085
|
label: (_a = config.components[componentKey]["label"]) != null ? _a : componentKey,
|
@@ -4015,7 +4094,7 @@ var ComponentList = ({
|
|
4015
4094
|
ComponentList.Item = ComponentListItem;
|
4016
4095
|
|
4017
4096
|
// lib/use-component-list.tsx
|
4018
|
-
import { jsx as
|
4097
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
4019
4098
|
var useComponentList = (config, ui) => {
|
4020
4099
|
const [componentList, setComponentList] = useState16();
|
4021
4100
|
useEffect14(() => {
|
@@ -4028,7 +4107,7 @@ var useComponentList = (config, ui) => {
|
|
4028
4107
|
if (category.visible === false || !category.components) {
|
4029
4108
|
return null;
|
4030
4109
|
}
|
4031
|
-
return /* @__PURE__ */
|
4110
|
+
return /* @__PURE__ */ jsx30(
|
4032
4111
|
ComponentList,
|
4033
4112
|
{
|
4034
4113
|
id: categoryKey,
|
@@ -4037,7 +4116,7 @@ var useComponentList = (config, ui) => {
|
|
4037
4116
|
var _a2;
|
4038
4117
|
matchedComponents.push(componentName);
|
4039
4118
|
const componentConf = config.components[componentName] || {};
|
4040
|
-
return /* @__PURE__ */
|
4119
|
+
return /* @__PURE__ */ jsx30(
|
4041
4120
|
ComponentList.Item,
|
4042
4121
|
{
|
4043
4122
|
label: (_a2 = componentConf["label"]) != null ? _a2 : componentName,
|
@@ -4057,7 +4136,7 @@ var useComponentList = (config, ui) => {
|
|
4057
4136
|
);
|
4058
4137
|
if (remainingComponents.length > 0 && !((_a = ui.componentList.other) == null ? void 0 : _a.components) && ((_b = ui.componentList.other) == null ? void 0 : _b.visible) !== false) {
|
4059
4138
|
_componentList.push(
|
4060
|
-
/* @__PURE__ */
|
4139
|
+
/* @__PURE__ */ jsx30(
|
4061
4140
|
ComponentList,
|
4062
4141
|
{
|
4063
4142
|
id: "other",
|
@@ -4065,7 +4144,7 @@ var useComponentList = (config, ui) => {
|
|
4065
4144
|
children: remainingComponents.map((componentName, i) => {
|
4066
4145
|
var _a2;
|
4067
4146
|
const componentConf = config.components[componentName] || {};
|
4068
|
-
return /* @__PURE__ */
|
4147
|
+
return /* @__PURE__ */ jsx30(
|
4069
4148
|
ComponentList.Item,
|
4070
4149
|
{
|
4071
4150
|
name: componentName,
|
@@ -4087,31 +4166,31 @@ var useComponentList = (config, ui) => {
|
|
4087
4166
|
};
|
4088
4167
|
|
4089
4168
|
// components/Puck/components/Components/index.tsx
|
4090
|
-
import { useMemo as
|
4091
|
-
import { jsx as
|
4169
|
+
import { useMemo as useMemo10 } from "react";
|
4170
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
4092
4171
|
var Components = () => {
|
4093
4172
|
const { config, state, overrides } = useAppContext();
|
4094
4173
|
const componentList = useComponentList(config, state.ui);
|
4095
|
-
const Wrapper =
|
4096
|
-
return /* @__PURE__ */
|
4174
|
+
const Wrapper = useMemo10(() => overrides.components || "div", [overrides]);
|
4175
|
+
return /* @__PURE__ */ jsx31(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ jsx31(ComponentList, { id: "all" }) });
|
4097
4176
|
};
|
4098
4177
|
|
4099
4178
|
// components/Puck/components/Preview/index.tsx
|
4100
4179
|
init_react_import();
|
4101
|
-
import { useCallback as useCallback8, useMemo as
|
4180
|
+
import { useCallback as useCallback8, useMemo as useMemo11 } from "react";
|
4102
4181
|
|
4103
4182
|
// components/AutoFrame/index.tsx
|
4104
4183
|
init_react_import();
|
4105
4184
|
import {
|
4106
|
-
createContext as
|
4107
|
-
useContext as
|
4185
|
+
createContext as createContext5,
|
4186
|
+
useContext as useContext8,
|
4108
4187
|
useEffect as useEffect15,
|
4109
|
-
useRef as
|
4188
|
+
useRef as useRef2,
|
4110
4189
|
useState as useState17
|
4111
4190
|
} from "react";
|
4112
4191
|
import hash from "object-hash";
|
4113
4192
|
import { createPortal as createPortal2 } from "react-dom";
|
4114
|
-
import { Fragment as Fragment13, jsx as
|
4193
|
+
import { Fragment as Fragment13, jsx as jsx32 } from "react/jsx-runtime";
|
4115
4194
|
var styleSelector = 'style, link[rel="stylesheet"]';
|
4116
4195
|
var collectStyles = (doc) => {
|
4117
4196
|
const collected = [];
|
@@ -4311,10 +4390,10 @@ var CopyHostStyles = ({
|
|
4311
4390
|
observer.disconnect();
|
4312
4391
|
};
|
4313
4392
|
}, []);
|
4314
|
-
return /* @__PURE__ */
|
4393
|
+
return /* @__PURE__ */ jsx32(Fragment13, { children });
|
4315
4394
|
};
|
4316
|
-
var autoFrameContext =
|
4317
|
-
var useFrame = () =>
|
4395
|
+
var autoFrameContext = createContext5({});
|
4396
|
+
var useFrame = () => useContext8(autoFrameContext);
|
4318
4397
|
function AutoFrame(_a) {
|
4319
4398
|
var _b = _a, {
|
4320
4399
|
children,
|
@@ -4331,7 +4410,7 @@ function AutoFrame(_a) {
|
|
4331
4410
|
]);
|
4332
4411
|
const [loaded, setLoaded] = useState17(false);
|
4333
4412
|
const [ctx, setCtx] = useState17({});
|
4334
|
-
const ref =
|
4413
|
+
const ref = useRef2(null);
|
4335
4414
|
const [mountTarget, setMountTarget] = useState17();
|
4336
4415
|
useEffect15(() => {
|
4337
4416
|
var _a2;
|
@@ -4343,7 +4422,7 @@ function AutoFrame(_a) {
|
|
4343
4422
|
setMountTarget((_a2 = ref.current.contentDocument) == null ? void 0 : _a2.getElementById("frame-root"));
|
4344
4423
|
}
|
4345
4424
|
}, [ref, loaded]);
|
4346
|
-
return /* @__PURE__ */
|
4425
|
+
return /* @__PURE__ */ jsx32(
|
4347
4426
|
"iframe",
|
4348
4427
|
__spreadProps(__spreadValues({}, props), {
|
4349
4428
|
className,
|
@@ -4353,7 +4432,7 @@ function AutoFrame(_a) {
|
|
4353
4432
|
onLoad: () => {
|
4354
4433
|
setLoaded(true);
|
4355
4434
|
},
|
4356
|
-
children: /* @__PURE__ */
|
4435
|
+
children: /* @__PURE__ */ jsx32(autoFrameContext.Provider, { value: ctx, children: loaded && mountTarget && /* @__PURE__ */ jsx32(CopyHostStyles, { debug, onStylesLoaded, children: createPortal2(children, mountTarget) }) })
|
4357
4436
|
})
|
4358
4437
|
);
|
4359
4438
|
}
|
@@ -4365,7 +4444,7 @@ init_react_import();
|
|
4365
4444
|
var styles_module_default18 = { "PuckPreview": "_PuckPreview_rxwlr_1", "PuckPreview-frame": "_PuckPreview-frame_rxwlr_5" };
|
4366
4445
|
|
4367
4446
|
// components/Puck/components/Preview/index.tsx
|
4368
|
-
import { Fragment as Fragment14, jsx as
|
4447
|
+
import { Fragment as Fragment14, jsx as jsx33 } from "react/jsx-runtime";
|
4369
4448
|
var getClassName23 = get_class_name_factory_default("PuckPreview", styles_module_default18);
|
4370
4449
|
var Preview = ({ id = "puck-preview" }) => {
|
4371
4450
|
const { config, dispatch, state, setStatus, iframe, overrides } = useAppContext();
|
@@ -4374,13 +4453,13 @@ var Preview = ({ id = "puck-preview" }) => {
|
|
4374
4453
|
var _a, _b;
|
4375
4454
|
return ((_a = config.root) == null ? void 0 : _a.render) ? (_b = config.root) == null ? void 0 : _b.render(__spreadValues({
|
4376
4455
|
id: "puck-root"
|
4377
|
-
}, pageProps)) : /* @__PURE__ */
|
4456
|
+
}, pageProps)) : /* @__PURE__ */ jsx33(Fragment14, { children: pageProps.children });
|
4378
4457
|
},
|
4379
4458
|
[config.root]
|
4380
4459
|
);
|
4381
|
-
const Frame =
|
4460
|
+
const Frame = useMemo11(() => overrides.iframe, [overrides]);
|
4382
4461
|
const rootProps = state.data.root.props || state.data.root;
|
4383
|
-
return /* @__PURE__ */
|
4462
|
+
return /* @__PURE__ */ jsx33(
|
4384
4463
|
"div",
|
4385
4464
|
{
|
4386
4465
|
className: getClassName23(),
|
@@ -4388,7 +4467,7 @@ var Preview = ({ id = "puck-preview" }) => {
|
|
4388
4467
|
onClick: () => {
|
4389
4468
|
dispatch({ type: "setUi", ui: __spreadProps(__spreadValues({}, state.ui), { itemSelector: null }) });
|
4390
4469
|
},
|
4391
|
-
children: iframe.enabled ? /* @__PURE__ */
|
4470
|
+
children: iframe.enabled ? /* @__PURE__ */ jsx33(
|
4392
4471
|
AutoFrame_default,
|
4393
4472
|
{
|
4394
4473
|
id: "preview-frame",
|
@@ -4397,27 +4476,27 @@ var Preview = ({ id = "puck-preview" }) => {
|
|
4397
4476
|
onStylesLoaded: () => {
|
4398
4477
|
setStatus("READY");
|
4399
4478
|
},
|
4400
|
-
children: /* @__PURE__ */
|
4401
|
-
const inner = /* @__PURE__ */
|
4479
|
+
children: /* @__PURE__ */ jsx33(autoFrameContext.Consumer, { children: ({ document: document2 }) => {
|
4480
|
+
const inner = /* @__PURE__ */ jsx33(
|
4402
4481
|
Page,
|
4403
4482
|
__spreadProps(__spreadValues({}, rootProps), {
|
4404
4483
|
puck: { renderDropZone: DropZone, isEditing: true },
|
4405
4484
|
editMode: true,
|
4406
|
-
children: /* @__PURE__ */
|
4485
|
+
children: /* @__PURE__ */ jsx33(DropZone, { zone: rootDroppableId })
|
4407
4486
|
})
|
4408
4487
|
);
|
4409
4488
|
if (Frame) {
|
4410
|
-
return /* @__PURE__ */
|
4489
|
+
return /* @__PURE__ */ jsx33(Frame, { document: document2, children: inner });
|
4411
4490
|
}
|
4412
4491
|
return inner;
|
4413
4492
|
} })
|
4414
4493
|
}
|
4415
|
-
) : /* @__PURE__ */
|
4494
|
+
) : /* @__PURE__ */ jsx33("div", { id: "preview-frame", className: getClassName23("frame"), children: /* @__PURE__ */ jsx33(
|
4416
4495
|
Page,
|
4417
4496
|
__spreadProps(__spreadValues({}, rootProps), {
|
4418
4497
|
puck: { renderDropZone: DropZone, isEditing: true },
|
4419
4498
|
editMode: true,
|
4420
|
-
children: /* @__PURE__ */
|
4499
|
+
children: /* @__PURE__ */ jsx33(DropZone, { zone: rootDroppableId })
|
4421
4500
|
})
|
4422
4501
|
) })
|
4423
4502
|
}
|
@@ -4467,7 +4546,7 @@ var scrollIntoView = (el) => {
|
|
4467
4546
|
};
|
4468
4547
|
|
4469
4548
|
// components/LayerTree/index.tsx
|
4470
|
-
import { useContext as
|
4549
|
+
import { useContext as useContext9 } from "react";
|
4471
4550
|
|
4472
4551
|
// lib/is-child-of-zone.ts
|
4473
4552
|
init_react_import();
|
@@ -4481,7 +4560,7 @@ var isChildOfZone = (item, maybeChild, ctx) => {
|
|
4481
4560
|
};
|
4482
4561
|
|
4483
4562
|
// components/LayerTree/index.tsx
|
4484
|
-
import { Fragment as Fragment15, jsx as
|
4563
|
+
import { Fragment as Fragment15, jsx as jsx34, jsxs as jsxs17 } from "react/jsx-runtime";
|
4485
4564
|
var getClassName24 = get_class_name_factory_default("LayerTree", styles_module_default19);
|
4486
4565
|
var getClassNameLayer = get_class_name_factory_default("Layer", styles_module_default19);
|
4487
4566
|
var LayerTree = ({
|
@@ -4494,15 +4573,15 @@ var LayerTree = ({
|
|
4494
4573
|
label
|
4495
4574
|
}) => {
|
4496
4575
|
const zones = data.zones || {};
|
4497
|
-
const ctx =
|
4576
|
+
const ctx = useContext9(dropZoneContext);
|
4498
4577
|
return /* @__PURE__ */ jsxs17(Fragment15, { children: [
|
4499
4578
|
label && /* @__PURE__ */ jsxs17("div", { className: getClassName24("zoneTitle"), children: [
|
4500
|
-
/* @__PURE__ */
|
4579
|
+
/* @__PURE__ */ jsx34("div", { className: getClassName24("zoneIcon"), children: /* @__PURE__ */ jsx34(Layers, { size: "16" }) }),
|
4501
4580
|
" ",
|
4502
4581
|
label
|
4503
4582
|
] }),
|
4504
4583
|
/* @__PURE__ */ jsxs17("ul", { className: getClassName24(), children: [
|
4505
|
-
zoneContent.length === 0 && /* @__PURE__ */
|
4584
|
+
zoneContent.length === 0 && /* @__PURE__ */ jsx34("div", { className: getClassName24("helper"), children: "No items" }),
|
4506
4585
|
zoneContent.map((item, i) => {
|
4507
4586
|
var _a;
|
4508
4587
|
const isSelected = (itemSelector == null ? void 0 : itemSelector.index) === i && (itemSelector.zone === zone || itemSelector.zone === rootDroppableId && !zone);
|
@@ -4530,7 +4609,7 @@ var LayerTree = ({
|
|
4530
4609
|
childIsSelected
|
4531
4610
|
}),
|
4532
4611
|
children: [
|
4533
|
-
/* @__PURE__ */
|
4612
|
+
/* @__PURE__ */ jsx34("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ jsxs17(
|
4534
4613
|
"button",
|
4535
4614
|
{
|
4536
4615
|
type: "button",
|
@@ -4563,22 +4642,22 @@ var LayerTree = ({
|
|
4563
4642
|
setHoveringComponent(null);
|
4564
4643
|
},
|
4565
4644
|
children: [
|
4566
|
-
containsZone && /* @__PURE__ */
|
4645
|
+
containsZone && /* @__PURE__ */ jsx34(
|
4567
4646
|
"div",
|
4568
4647
|
{
|
4569
4648
|
className: getClassNameLayer("chevron"),
|
4570
4649
|
title: isSelected ? "Collapse" : "Expand",
|
4571
|
-
children: /* @__PURE__ */
|
4650
|
+
children: /* @__PURE__ */ jsx34(ChevronDown, { size: "12" })
|
4572
4651
|
}
|
4573
4652
|
),
|
4574
4653
|
/* @__PURE__ */ jsxs17("div", { className: getClassNameLayer("title"), children: [
|
4575
|
-
/* @__PURE__ */
|
4576
|
-
/* @__PURE__ */
|
4654
|
+
/* @__PURE__ */ jsx34("div", { className: getClassNameLayer("icon"), children: item.type === "Text" || item.type === "Heading" ? /* @__PURE__ */ jsx34(Type, { size: "16" }) : /* @__PURE__ */ jsx34(LayoutGrid, { size: "16" }) }),
|
4655
|
+
/* @__PURE__ */ jsx34("div", { className: getClassNameLayer("name"), children: label2 })
|
4577
4656
|
] })
|
4578
4657
|
]
|
4579
4658
|
}
|
4580
4659
|
) }),
|
4581
|
-
containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */
|
4660
|
+
containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ jsx34("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ jsx34(
|
4582
4661
|
LayerTree,
|
4583
4662
|
{
|
4584
4663
|
config,
|
@@ -4600,8 +4679,8 @@ var LayerTree = ({
|
|
4600
4679
|
};
|
4601
4680
|
|
4602
4681
|
// components/Puck/components/Outline/index.tsx
|
4603
|
-
import { useCallback as useCallback9, useMemo as
|
4604
|
-
import { Fragment as Fragment16, jsx as
|
4682
|
+
import { useCallback as useCallback9, useMemo as useMemo12 } from "react";
|
4683
|
+
import { Fragment as Fragment16, jsx as jsx35, jsxs as jsxs18 } from "react/jsx-runtime";
|
4605
4684
|
var Outline = () => {
|
4606
4685
|
const { dispatch, state, overrides, config } = useAppContext();
|
4607
4686
|
const { data, ui } = state;
|
@@ -4615,9 +4694,9 @@ var Outline = () => {
|
|
4615
4694
|
},
|
4616
4695
|
[]
|
4617
4696
|
);
|
4618
|
-
const Wrapper =
|
4619
|
-
return /* @__PURE__ */
|
4620
|
-
(ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */
|
4697
|
+
const Wrapper = useMemo12(() => overrides.outline || "div", [overrides]);
|
4698
|
+
return /* @__PURE__ */ jsx35(Wrapper, { children: /* @__PURE__ */ jsx35(dropZoneContext.Consumer, { children: (ctx) => /* @__PURE__ */ jsxs18(Fragment16, { children: [
|
4699
|
+
(ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ jsx35(
|
4621
4700
|
LayerTree,
|
4622
4701
|
{
|
4623
4702
|
config,
|
@@ -4630,7 +4709,7 @@ var Outline = () => {
|
|
4630
4709
|
),
|
4631
4710
|
Object.entries(findZonesForArea(data, "root")).map(
|
4632
4711
|
([zoneKey, zone]) => {
|
4633
|
-
return /* @__PURE__ */
|
4712
|
+
return /* @__PURE__ */ jsx35(
|
4634
4713
|
LayerTree,
|
4635
4714
|
{
|
4636
4715
|
config,
|
@@ -4654,7 +4733,8 @@ import { useHotkeys } from "react-hotkeys-hook";
|
|
4654
4733
|
function usePuckHistory({
|
4655
4734
|
dispatch,
|
4656
4735
|
initialAppState,
|
4657
|
-
historyStore
|
4736
|
+
historyStore,
|
4737
|
+
iframeEnabled
|
4658
4738
|
}) {
|
4659
4739
|
const back = () => {
|
4660
4740
|
var _a;
|
@@ -4672,6 +4752,16 @@ function usePuckHistory({
|
|
4672
4752
|
historyStore.forward();
|
4673
4753
|
}
|
4674
4754
|
};
|
4755
|
+
const backIframe = () => {
|
4756
|
+
if (iframeEnabled) {
|
4757
|
+
back();
|
4758
|
+
}
|
4759
|
+
};
|
4760
|
+
const forwardIframe = () => {
|
4761
|
+
if (iframeEnabled) {
|
4762
|
+
forward();
|
4763
|
+
}
|
4764
|
+
};
|
4675
4765
|
const setHistories = (histories) => {
|
4676
4766
|
var _a;
|
4677
4767
|
dispatch({
|
@@ -4690,9 +4780,23 @@ function usePuckHistory({
|
|
4690
4780
|
historyStore.setHistoryIndex(index);
|
4691
4781
|
}
|
4692
4782
|
};
|
4783
|
+
const frame = getFrame();
|
4784
|
+
const resolvedFrame = frame !== document ? frame : void 0;
|
4693
4785
|
useHotkeys("meta+z", back, { preventDefault: true });
|
4694
4786
|
useHotkeys("meta+shift+z", forward, { preventDefault: true });
|
4695
4787
|
useHotkeys("meta+y", forward, { preventDefault: true });
|
4788
|
+
useHotkeys("meta+z", backIframe, {
|
4789
|
+
preventDefault: true,
|
4790
|
+
document: resolvedFrame
|
4791
|
+
});
|
4792
|
+
useHotkeys("meta+shift+z", forwardIframe, {
|
4793
|
+
preventDefault: true,
|
4794
|
+
document: resolvedFrame
|
4795
|
+
});
|
4796
|
+
useHotkeys("meta+y", forwardIframe, {
|
4797
|
+
preventDefault: true,
|
4798
|
+
document: resolvedFrame
|
4799
|
+
});
|
4696
4800
|
return {
|
4697
4801
|
back,
|
4698
4802
|
forward,
|
@@ -4879,25 +4983,25 @@ var getBox = function getBox2(el) {
|
|
4879
4983
|
import {
|
4880
4984
|
useCallback as useCallback10,
|
4881
4985
|
useEffect as useEffect17,
|
4882
|
-
useMemo as
|
4883
|
-
useRef as
|
4986
|
+
useMemo as useMemo14,
|
4987
|
+
useRef as useRef3,
|
4884
4988
|
useState as useState20
|
4885
4989
|
} from "react";
|
4886
4990
|
|
4887
4991
|
// components/ViewportControls/index.tsx
|
4888
4992
|
init_react_import();
|
4889
|
-
import { useEffect as useEffect16, useMemo as
|
4993
|
+
import { useEffect as useEffect16, useMemo as useMemo13, useState as useState19 } from "react";
|
4890
4994
|
|
4891
4995
|
// css-module:/home/runner/work/puck/puck/packages/core/components/ViewportControls/styles.module.css#css-module
|
4892
4996
|
init_react_import();
|
4893
4997
|
var styles_module_default20 = { "ViewportControls": "_ViewportControls_g1wgg_1", "ViewportControls-divider": "_ViewportControls-divider_g1wgg_15", "ViewportControls-zoomSelect": "_ViewportControls-zoomSelect_g1wgg_21", "ViewportButton--isActive": "_ViewportButton--isActive_g1wgg_34", "ViewportButton-inner": "_ViewportButton-inner_g1wgg_34" };
|
4894
4998
|
|
4895
4999
|
// components/ViewportControls/index.tsx
|
4896
|
-
import { jsx as
|
5000
|
+
import { jsx as jsx36, jsxs as jsxs19 } from "react/jsx-runtime";
|
4897
5001
|
var icons = {
|
4898
|
-
Smartphone: /* @__PURE__ */
|
4899
|
-
Tablet: /* @__PURE__ */
|
4900
|
-
Monitor: /* @__PURE__ */
|
5002
|
+
Smartphone: /* @__PURE__ */ jsx36(Smartphone, { size: 16 }),
|
5003
|
+
Tablet: /* @__PURE__ */ jsx36(Tablet, { size: 16 }),
|
5004
|
+
Monitor: /* @__PURE__ */ jsx36(Monitor, { size: 16 })
|
4901
5005
|
};
|
4902
5006
|
var getClassName25 = get_class_name_factory_default("ViewportControls", styles_module_default20);
|
4903
5007
|
var getClassNameButton = get_class_name_factory_default("ViewportButton", styles_module_default20);
|
@@ -4913,7 +5017,7 @@ var ViewportButton = ({
|
|
4913
5017
|
useEffect16(() => {
|
4914
5018
|
setIsActive(width === state.ui.viewports.current.width);
|
4915
5019
|
}, [width, state.ui.viewports.current.width]);
|
4916
|
-
return /* @__PURE__ */
|
5020
|
+
return /* @__PURE__ */ jsx36("span", { className: getClassNameButton({ isActive }), children: /* @__PURE__ */ jsx36(
|
4917
5021
|
IconButton,
|
4918
5022
|
{
|
4919
5023
|
title,
|
@@ -4922,7 +5026,7 @@ var ViewportButton = ({
|
|
4922
5026
|
e.stopPropagation();
|
4923
5027
|
onClick({ width, height });
|
4924
5028
|
},
|
4925
|
-
children: /* @__PURE__ */
|
5029
|
+
children: /* @__PURE__ */ jsx36("span", { className: getClassNameButton("inner"), children })
|
4926
5030
|
}
|
4927
5031
|
) });
|
4928
5032
|
};
|
@@ -4946,7 +5050,7 @@ var ViewportControls = ({
|
|
4946
5050
|
const defaultsContainAutoZoom = defaultZoomOptions.find(
|
4947
5051
|
(option) => option.value === autoZoom
|
4948
5052
|
);
|
4949
|
-
const zoomOptions =
|
5053
|
+
const zoomOptions = useMemo13(
|
4950
5054
|
() => [
|
4951
5055
|
...defaultZoomOptions,
|
4952
5056
|
...defaultsContainAutoZoom ? [] : [
|
@@ -4959,7 +5063,7 @@ var ViewportControls = ({
|
|
4959
5063
|
[autoZoom]
|
4960
5064
|
);
|
4961
5065
|
return /* @__PURE__ */ jsxs19("div", { className: getClassName25(), children: [
|
4962
|
-
viewports.map((viewport, i) => /* @__PURE__ */
|
5066
|
+
viewports.map((viewport, i) => /* @__PURE__ */ jsx36(
|
4963
5067
|
ViewportButton,
|
4964
5068
|
{
|
4965
5069
|
height: viewport.height,
|
@@ -4970,8 +5074,8 @@ var ViewportControls = ({
|
|
4970
5074
|
},
|
4971
5075
|
i
|
4972
5076
|
)),
|
4973
|
-
/* @__PURE__ */
|
4974
|
-
/* @__PURE__ */
|
5077
|
+
/* @__PURE__ */ jsx36("div", { className: getClassName25("divider") }),
|
5078
|
+
/* @__PURE__ */ jsx36(
|
4975
5079
|
IconButton,
|
4976
5080
|
{
|
4977
5081
|
title: "Zoom viewport out",
|
@@ -4985,10 +5089,10 @@ var ViewportControls = ({
|
|
4985
5089
|
)].value
|
4986
5090
|
);
|
4987
5091
|
},
|
4988
|
-
children: /* @__PURE__ */
|
5092
|
+
children: /* @__PURE__ */ jsx36(ZoomOut, { size: 16 })
|
4989
5093
|
}
|
4990
5094
|
),
|
4991
|
-
/* @__PURE__ */
|
5095
|
+
/* @__PURE__ */ jsx36(
|
4992
5096
|
IconButton,
|
4993
5097
|
{
|
4994
5098
|
title: "Zoom viewport in",
|
@@ -5002,11 +5106,11 @@ var ViewportControls = ({
|
|
5002
5106
|
)].value
|
5003
5107
|
);
|
5004
5108
|
},
|
5005
|
-
children: /* @__PURE__ */
|
5109
|
+
children: /* @__PURE__ */ jsx36(ZoomIn, { size: 16 })
|
5006
5110
|
}
|
5007
5111
|
),
|
5008
|
-
/* @__PURE__ */
|
5009
|
-
/* @__PURE__ */
|
5112
|
+
/* @__PURE__ */ jsx36("div", { className: getClassName25("divider") }),
|
5113
|
+
/* @__PURE__ */ jsx36(
|
5010
5114
|
"select",
|
5011
5115
|
{
|
5012
5116
|
className: getClassName25("zoomSelect"),
|
@@ -5014,7 +5118,7 @@ var ViewportControls = ({
|
|
5014
5118
|
onChange: (e) => {
|
5015
5119
|
onZoom(parseFloat(e.currentTarget.value));
|
5016
5120
|
},
|
5017
|
-
children: zoomOptions.map((option) => /* @__PURE__ */
|
5121
|
+
children: zoomOptions.map((option) => /* @__PURE__ */ jsx36(
|
5018
5122
|
"option",
|
5019
5123
|
{
|
5020
5124
|
value: option.value,
|
@@ -5029,7 +5133,7 @@ var ViewportControls = ({
|
|
5029
5133
|
|
5030
5134
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Canvas/styles.module.css#css-module
|
5031
5135
|
init_react_import();
|
5032
|
-
var styles_module_default21 = { "PuckCanvas": "
|
5136
|
+
var styles_module_default21 = { "PuckCanvas": "_PuckCanvas_18jay_1", "PuckCanvas-controls": "_PuckCanvas-controls_18jay_16", "PuckCanvas-inner": "_PuckCanvas-inner_18jay_21", "PuckCanvas-root": "_PuckCanvas-root_18jay_30", "PuckCanvas--ready": "_PuckCanvas--ready_18jay_55", "PuckCanvas-loader": "_PuckCanvas-loader_18jay_60", "PuckCanvas--showLoader": "_PuckCanvas--showLoader_18jay_70" };
|
5033
5137
|
|
5034
5138
|
// lib/get-zoom-config.ts
|
5035
5139
|
init_react_import();
|
@@ -5062,20 +5166,20 @@ var getZoomConfig = (uiViewport, frame, zoom) => {
|
|
5062
5166
|
};
|
5063
5167
|
|
5064
5168
|
// components/Puck/components/Canvas/index.tsx
|
5065
|
-
import { Fragment as Fragment17, jsx as
|
5169
|
+
import { Fragment as Fragment17, jsx as jsx37, jsxs as jsxs20 } from "react/jsx-runtime";
|
5066
5170
|
var getClassName26 = get_class_name_factory_default("PuckCanvas", styles_module_default21);
|
5067
5171
|
var ZOOM_ON_CHANGE = true;
|
5068
5172
|
var Canvas = () => {
|
5069
5173
|
const { status, iframe } = useAppContext();
|
5070
5174
|
const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext();
|
5071
5175
|
const { ui } = state;
|
5072
|
-
const frameRef =
|
5176
|
+
const frameRef = useRef3(null);
|
5073
5177
|
const [showTransition, setShowTransition] = useState20(false);
|
5074
|
-
const defaultRender =
|
5075
|
-
const PuckDefault = ({ children }) => /* @__PURE__ */
|
5178
|
+
const defaultRender = useMemo14(() => {
|
5179
|
+
const PuckDefault = ({ children }) => /* @__PURE__ */ jsx37(Fragment17, { children });
|
5076
5180
|
return PuckDefault;
|
5077
5181
|
}, []);
|
5078
|
-
const CustomPreview =
|
5182
|
+
const CustomPreview = useMemo14(
|
5079
5183
|
() => overrides.preview || defaultRender,
|
5080
5184
|
[overrides]
|
5081
5185
|
);
|
@@ -5146,7 +5250,7 @@ var Canvas = () => {
|
|
5146
5250
|
recordHistory: true
|
5147
5251
|
}),
|
5148
5252
|
children: [
|
5149
|
-
ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */
|
5253
|
+
ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ jsx37("div", { className: getClassName26("controls"), children: /* @__PURE__ */ jsx37(
|
5150
5254
|
ViewportControls,
|
5151
5255
|
{
|
5152
5256
|
autoZoom: zoomConfig.autoZoom,
|
@@ -5172,7 +5276,7 @@ var Canvas = () => {
|
|
5172
5276
|
}
|
5173
5277
|
) }),
|
5174
5278
|
/* @__PURE__ */ jsxs20("div", { className: getClassName26("inner"), ref: frameRef, children: [
|
5175
|
-
/* @__PURE__ */
|
5279
|
+
/* @__PURE__ */ jsx37(
|
5176
5280
|
"div",
|
5177
5281
|
{
|
5178
5282
|
className: getClassName26("root"),
|
@@ -5184,10 +5288,10 @@ var Canvas = () => {
|
|
5184
5288
|
overflow: iframe.enabled ? void 0 : "auto"
|
5185
5289
|
},
|
5186
5290
|
suppressHydrationWarning: true,
|
5187
|
-
children: /* @__PURE__ */
|
5291
|
+
children: /* @__PURE__ */ jsx37(CustomPreview, { children: /* @__PURE__ */ jsx37(Preview, {}) })
|
5188
5292
|
}
|
5189
5293
|
),
|
5190
|
-
/* @__PURE__ */
|
5294
|
+
/* @__PURE__ */ jsx37("div", { className: getClassName26("loader"), children: /* @__PURE__ */ jsx37(Loader, { size: 24 }) })
|
5191
5295
|
] })
|
5192
5296
|
]
|
5193
5297
|
}
|
@@ -5231,7 +5335,7 @@ var insertComponent = (componentType, zone, index, {
|
|
5231
5335
|
|
5232
5336
|
// lib/use-loaded-overrides.ts
|
5233
5337
|
init_react_import();
|
5234
|
-
import { useMemo as
|
5338
|
+
import { useMemo as useMemo15 } from "react";
|
5235
5339
|
|
5236
5340
|
// lib/load-overrides.ts
|
5237
5341
|
init_react_import();
|
@@ -5270,18 +5374,18 @@ var useLoadedOverrides = ({
|
|
5270
5374
|
overrides,
|
5271
5375
|
plugins
|
5272
5376
|
}) => {
|
5273
|
-
return
|
5377
|
+
return useMemo15(() => {
|
5274
5378
|
return loadOverrides({ overrides, plugins });
|
5275
5379
|
}, [plugins, overrides]);
|
5276
5380
|
};
|
5277
5381
|
|
5278
5382
|
// components/DefaultOverride/index.tsx
|
5279
5383
|
init_react_import();
|
5280
|
-
import { Fragment as Fragment18, jsx as
|
5281
|
-
var DefaultOverride = ({ children }) => /* @__PURE__ */
|
5384
|
+
import { Fragment as Fragment18, jsx as jsx38 } from "react/jsx-runtime";
|
5385
|
+
var DefaultOverride = ({ children }) => /* @__PURE__ */ jsx38(Fragment18, { children });
|
5282
5386
|
|
5283
5387
|
// components/Puck/index.tsx
|
5284
|
-
import { Fragment as Fragment19, jsx as
|
5388
|
+
import { Fragment as Fragment19, jsx as jsx39, jsxs as jsxs21 } from "react/jsx-runtime";
|
5285
5389
|
var getClassName27 = get_class_name_factory_default("Puck", styles_module_default15);
|
5286
5390
|
var getLayoutClassName = get_class_name_factory_default("PuckLayout", styles_module_default15);
|
5287
5391
|
function Puck({
|
@@ -5304,13 +5408,13 @@ function Puck({
|
|
5304
5408
|
dnd,
|
5305
5409
|
initialHistory: _initialHistory
|
5306
5410
|
}) {
|
5307
|
-
var _a;
|
5411
|
+
var _a, _b;
|
5308
5412
|
const iframe = __spreadValues({
|
5309
5413
|
enabled: true,
|
5310
5414
|
waitForStyles: true
|
5311
5415
|
}, _iframe);
|
5312
5416
|
const [generatedAppState] = useState21(() => {
|
5313
|
-
var _a2,
|
5417
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i;
|
5314
5418
|
const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
|
5315
5419
|
let clientUiState = {};
|
5316
5420
|
if (typeof window !== "undefined") {
|
@@ -5330,7 +5434,7 @@ function Puck({
|
|
5330
5434
|
clientUiState = __spreadProps(__spreadValues({}, clientUiState), {
|
5331
5435
|
viewports: __spreadProps(__spreadValues({}, initial.viewports), {
|
5332
5436
|
current: __spreadProps(__spreadValues({}, initial.viewports.current), {
|
5333
|
-
height: ((
|
5437
|
+
height: ((_b2 = (_a2 = initialUi == null ? void 0 : initialUi.viewports) == null ? void 0 : _a2.current) == null ? void 0 : _b2.height) || ((_c = viewports[closestViewport]) == null ? void 0 : _c.height) || "auto",
|
5334
5438
|
width: ((_e = (_d = initialUi == null ? void 0 : initialUi.viewports) == null ? void 0 : _d.current) == null ? void 0 : _e.width) || ((_f = viewports[closestViewport]) == null ? void 0 : _f.width)
|
5335
5439
|
})
|
5336
5440
|
})
|
@@ -5393,7 +5497,12 @@ function Puck({
|
|
5393
5497
|
flushZones(initialAppState)
|
5394
5498
|
);
|
5395
5499
|
const { data, ui } = appState;
|
5396
|
-
const history = usePuckHistory({
|
5500
|
+
const history = usePuckHistory({
|
5501
|
+
dispatch,
|
5502
|
+
initialAppState,
|
5503
|
+
historyStore,
|
5504
|
+
iframeEnabled: (_a = _iframe == null ? void 0 : _iframe.enabled) != null ? _a : true
|
5505
|
+
});
|
5397
5506
|
const [menuOpen, setMenuOpen] = useState21(false);
|
5398
5507
|
const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
|
5399
5508
|
const setItemSelector = useCallback11(
|
@@ -5451,28 +5560,28 @@ function Puck({
|
|
5451
5560
|
window.removeEventListener("resize", handleResize);
|
5452
5561
|
};
|
5453
5562
|
}, []);
|
5454
|
-
const defaultHeaderRender =
|
5563
|
+
const defaultHeaderRender = useMemo16(() => {
|
5455
5564
|
if (renderHeader) {
|
5456
5565
|
console.warn(
|
5457
5566
|
"`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
|
5458
5567
|
);
|
5459
5568
|
const RenderHeader = (_a2) => {
|
5460
|
-
var
|
5569
|
+
var _b2 = _a2, { actions } = _b2, props = __objRest(_b2, ["actions"]);
|
5461
5570
|
const Comp = renderHeader;
|
5462
|
-
return /* @__PURE__ */
|
5571
|
+
return /* @__PURE__ */ jsx39(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState, children: actions }));
|
5463
5572
|
};
|
5464
5573
|
return RenderHeader;
|
5465
5574
|
}
|
5466
5575
|
return DefaultOverride;
|
5467
5576
|
}, [renderHeader]);
|
5468
|
-
const defaultHeaderActionsRender =
|
5577
|
+
const defaultHeaderActionsRender = useMemo16(() => {
|
5469
5578
|
if (renderHeaderActions) {
|
5470
5579
|
console.warn(
|
5471
5580
|
"`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
|
5472
5581
|
);
|
5473
5582
|
const RenderHeader = (props) => {
|
5474
5583
|
const Comp = renderHeaderActions;
|
5475
|
-
return /* @__PURE__ */
|
5584
|
+
return /* @__PURE__ */ jsx39(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState }));
|
5476
5585
|
};
|
5477
5586
|
return RenderHeader;
|
5478
5587
|
}
|
@@ -5482,15 +5591,15 @@ function Puck({
|
|
5482
5591
|
overrides,
|
5483
5592
|
plugins
|
5484
5593
|
});
|
5485
|
-
const CustomPuck =
|
5594
|
+
const CustomPuck = useMemo16(
|
5486
5595
|
() => loadedOverrides.puck || DefaultOverride,
|
5487
5596
|
[loadedOverrides]
|
5488
5597
|
);
|
5489
|
-
const CustomHeader =
|
5598
|
+
const CustomHeader = useMemo16(
|
5490
5599
|
() => loadedOverrides.header || defaultHeaderRender,
|
5491
5600
|
[loadedOverrides]
|
5492
5601
|
);
|
5493
|
-
const CustomHeaderActions =
|
5602
|
+
const CustomHeaderActions = useMemo16(
|
5494
5603
|
() => loadedOverrides.headerActions || defaultHeaderActionsRender,
|
5495
5604
|
[loadedOverrides]
|
5496
5605
|
);
|
@@ -5499,9 +5608,9 @@ function Puck({
|
|
5499
5608
|
setMounted(true);
|
5500
5609
|
}, []);
|
5501
5610
|
const selectedComponentConfig = selectedItem && config.components[selectedItem.type];
|
5502
|
-
const selectedComponentLabel = selectedItem ? (
|
5611
|
+
const selectedComponentLabel = selectedItem ? (_b = selectedComponentConfig == null ? void 0 : selectedComponentConfig["label"]) != null ? _b : selectedItem.type.toString() : "";
|
5503
5612
|
return /* @__PURE__ */ jsxs21("div", { className: `Puck ${getClassName27()}`, children: [
|
5504
|
-
/* @__PURE__ */
|
5613
|
+
/* @__PURE__ */ jsx39(
|
5505
5614
|
AppProvider,
|
5506
5615
|
{
|
5507
5616
|
value: {
|
@@ -5523,7 +5632,7 @@ function Puck({
|
|
5523
5632
|
getPermissions: () => ({}),
|
5524
5633
|
refreshPermissions: () => null
|
5525
5634
|
},
|
5526
|
-
children: /* @__PURE__ */
|
5635
|
+
children: /* @__PURE__ */ jsx39(appContext.Consumer, { children: ({ resolveData }) => /* @__PURE__ */ jsx39(
|
5527
5636
|
DragDropContext,
|
5528
5637
|
{
|
5529
5638
|
autoScrollerOptions: { disabled: dnd == null ? void 0 : dnd.disableAutoScroll },
|
@@ -5575,7 +5684,7 @@ function Puck({
|
|
5575
5684
|
});
|
5576
5685
|
}
|
5577
5686
|
},
|
5578
|
-
children: /* @__PURE__ */
|
5687
|
+
children: /* @__PURE__ */ jsx39(
|
5579
5688
|
DropZoneProvider,
|
5580
5689
|
{
|
5581
5690
|
value: {
|
@@ -5589,7 +5698,7 @@ function Puck({
|
|
5589
5698
|
mode: "edit",
|
5590
5699
|
areaId: "root"
|
5591
5700
|
},
|
5592
|
-
children: /* @__PURE__ */
|
5701
|
+
children: /* @__PURE__ */ jsx39(CustomPuck, { children: children || /* @__PURE__ */ jsx39(
|
5593
5702
|
"div",
|
5594
5703
|
{
|
5595
5704
|
className: getLayoutClassName({
|
@@ -5599,57 +5708,57 @@ function Puck({
|
|
5599
5708
|
rightSideBarVisible
|
5600
5709
|
}),
|
5601
5710
|
children: /* @__PURE__ */ jsxs21("div", { className: getLayoutClassName("inner"), children: [
|
5602
|
-
/* @__PURE__ */
|
5711
|
+
/* @__PURE__ */ jsx39(
|
5603
5712
|
CustomHeader,
|
5604
5713
|
{
|
5605
|
-
actions: /* @__PURE__ */
|
5714
|
+
actions: /* @__PURE__ */ jsx39(Fragment19, { children: /* @__PURE__ */ jsx39(CustomHeaderActions, { children: /* @__PURE__ */ jsx39(
|
5606
5715
|
Button,
|
5607
5716
|
{
|
5608
5717
|
onClick: () => {
|
5609
5718
|
onPublish && onPublish(data);
|
5610
5719
|
},
|
5611
|
-
icon: /* @__PURE__ */
|
5720
|
+
icon: /* @__PURE__ */ jsx39(Globe, { size: "14px" }),
|
5612
5721
|
children: "Publish"
|
5613
5722
|
}
|
5614
5723
|
) }) }),
|
5615
|
-
children: /* @__PURE__ */
|
5724
|
+
children: /* @__PURE__ */ jsx39("header", { className: getLayoutClassName("header"), children: /* @__PURE__ */ jsxs21("div", { className: getLayoutClassName("headerInner"), children: [
|
5616
5725
|
/* @__PURE__ */ jsxs21(
|
5617
5726
|
"div",
|
5618
5727
|
{
|
5619
5728
|
className: getLayoutClassName("headerToggle"),
|
5620
5729
|
children: [
|
5621
|
-
/* @__PURE__ */
|
5730
|
+
/* @__PURE__ */ jsx39(
|
5622
5731
|
"div",
|
5623
5732
|
{
|
5624
5733
|
className: getLayoutClassName(
|
5625
5734
|
"leftSideBarToggle"
|
5626
5735
|
),
|
5627
|
-
children: /* @__PURE__ */
|
5736
|
+
children: /* @__PURE__ */ jsx39(
|
5628
5737
|
IconButton,
|
5629
5738
|
{
|
5630
5739
|
onClick: () => {
|
5631
5740
|
toggleSidebars("left");
|
5632
5741
|
},
|
5633
5742
|
title: "Toggle left sidebar",
|
5634
|
-
children: /* @__PURE__ */
|
5743
|
+
children: /* @__PURE__ */ jsx39(PanelLeft, { focusable: "false" })
|
5635
5744
|
}
|
5636
5745
|
)
|
5637
5746
|
}
|
5638
5747
|
),
|
5639
|
-
/* @__PURE__ */
|
5748
|
+
/* @__PURE__ */ jsx39(
|
5640
5749
|
"div",
|
5641
5750
|
{
|
5642
5751
|
className: getLayoutClassName(
|
5643
5752
|
"rightSideBarToggle"
|
5644
5753
|
),
|
5645
|
-
children: /* @__PURE__ */
|
5754
|
+
children: /* @__PURE__ */ jsx39(
|
5646
5755
|
IconButton,
|
5647
5756
|
{
|
5648
5757
|
onClick: () => {
|
5649
5758
|
toggleSidebars("right");
|
5650
5759
|
},
|
5651
5760
|
title: "Toggle right sidebar",
|
5652
|
-
children: /* @__PURE__ */
|
5761
|
+
children: /* @__PURE__ */ jsx39(PanelRight, { focusable: "false" })
|
5653
5762
|
}
|
5654
5763
|
)
|
5655
5764
|
}
|
@@ -5657,7 +5766,7 @@ function Puck({
|
|
5657
5766
|
]
|
5658
5767
|
}
|
5659
5768
|
),
|
5660
|
-
/* @__PURE__ */
|
5769
|
+
/* @__PURE__ */ jsx39(
|
5661
5770
|
"div",
|
5662
5771
|
{
|
5663
5772
|
className: getLayoutClassName("headerTitle"),
|
@@ -5665,7 +5774,7 @@ function Puck({
|
|
5665
5774
|
headerTitle || rootProps.title || "Page",
|
5666
5775
|
headerPath && /* @__PURE__ */ jsxs21(Fragment19, { children: [
|
5667
5776
|
" ",
|
5668
|
-
/* @__PURE__ */
|
5777
|
+
/* @__PURE__ */ jsx39(
|
5669
5778
|
"code",
|
5670
5779
|
{
|
5671
5780
|
className: getLayoutClassName(
|
@@ -5683,36 +5792,36 @@ function Puck({
|
|
5683
5792
|
{
|
5684
5793
|
className: getLayoutClassName("headerTools"),
|
5685
5794
|
children: [
|
5686
|
-
/* @__PURE__ */
|
5795
|
+
/* @__PURE__ */ jsx39(
|
5687
5796
|
"div",
|
5688
5797
|
{
|
5689
5798
|
className: getLayoutClassName("menuButton"),
|
5690
|
-
children: /* @__PURE__ */
|
5799
|
+
children: /* @__PURE__ */ jsx39(
|
5691
5800
|
IconButton,
|
5692
5801
|
{
|
5693
5802
|
onClick: () => {
|
5694
5803
|
return setMenuOpen(!menuOpen);
|
5695
5804
|
},
|
5696
5805
|
title: "Toggle menu bar",
|
5697
|
-
children: menuOpen ? /* @__PURE__ */
|
5806
|
+
children: menuOpen ? /* @__PURE__ */ jsx39(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ jsx39(ChevronDown, { focusable: "false" })
|
5698
5807
|
}
|
5699
5808
|
)
|
5700
5809
|
}
|
5701
5810
|
),
|
5702
|
-
/* @__PURE__ */
|
5811
|
+
/* @__PURE__ */ jsx39(
|
5703
5812
|
MenuBar,
|
5704
5813
|
{
|
5705
5814
|
appState,
|
5706
5815
|
dispatch,
|
5707
5816
|
onPublish,
|
5708
5817
|
menuOpen,
|
5709
|
-
renderHeaderActions: () => /* @__PURE__ */
|
5818
|
+
renderHeaderActions: () => /* @__PURE__ */ jsx39(CustomHeaderActions, { children: /* @__PURE__ */ jsx39(
|
5710
5819
|
Button,
|
5711
5820
|
{
|
5712
5821
|
onClick: () => {
|
5713
5822
|
onPublish && onPublish(data);
|
5714
5823
|
},
|
5715
|
-
icon: /* @__PURE__ */
|
5824
|
+
icon: /* @__PURE__ */ jsx39(Globe, { size: "14px" }),
|
5716
5825
|
children: "Publish"
|
5717
5826
|
}
|
5718
5827
|
) }),
|
@@ -5726,18 +5835,18 @@ function Puck({
|
|
5726
5835
|
}
|
5727
5836
|
),
|
5728
5837
|
/* @__PURE__ */ jsxs21("div", { className: getLayoutClassName("leftSideBar"), children: [
|
5729
|
-
/* @__PURE__ */
|
5730
|
-
/* @__PURE__ */
|
5838
|
+
/* @__PURE__ */ jsx39(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ jsx39(Components, {}) }),
|
5839
|
+
/* @__PURE__ */ jsx39(SidebarSection, { title: "Outline", children: /* @__PURE__ */ jsx39(Outline, {}) })
|
5731
5840
|
] }),
|
5732
|
-
/* @__PURE__ */
|
5733
|
-
/* @__PURE__ */
|
5841
|
+
/* @__PURE__ */ jsx39(Canvas, {}),
|
5842
|
+
/* @__PURE__ */ jsx39("div", { className: getLayoutClassName("rightSideBar"), children: /* @__PURE__ */ jsx39(
|
5734
5843
|
SidebarSection,
|
5735
5844
|
{
|
5736
5845
|
noPadding: true,
|
5737
5846
|
noBorderTop: true,
|
5738
5847
|
showBreadcrumbs: true,
|
5739
5848
|
title: selectedItem ? selectedComponentLabel : "Page",
|
5740
|
-
children: /* @__PURE__ */
|
5849
|
+
children: /* @__PURE__ */ jsx39(Fields, {})
|
5741
5850
|
}
|
5742
5851
|
) })
|
5743
5852
|
] })
|
@@ -5749,7 +5858,7 @@ function Puck({
|
|
5749
5858
|
) })
|
5750
5859
|
}
|
5751
5860
|
),
|
5752
|
-
/* @__PURE__ */
|
5861
|
+
/* @__PURE__ */ jsx39("div", { id: "puck-portal-root", className: getClassName27("portal") })
|
5753
5862
|
] });
|
5754
5863
|
}
|
5755
5864
|
Puck.Components = Components;
|
@@ -5759,7 +5868,7 @@ Puck.Preview = Preview;
|
|
5759
5868
|
|
5760
5869
|
// components/Render/index.tsx
|
5761
5870
|
init_react_import();
|
5762
|
-
import { jsx as
|
5871
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
5763
5872
|
function Render({
|
5764
5873
|
config,
|
5765
5874
|
data
|
@@ -5772,7 +5881,7 @@ function Render({
|
|
5772
5881
|
const rootProps = defaultedData.root.props || defaultedData.root;
|
5773
5882
|
const title = (rootProps == null ? void 0 : rootProps.title) || "";
|
5774
5883
|
if ((_a = config.root) == null ? void 0 : _a.render) {
|
5775
|
-
return /* @__PURE__ */
|
5884
|
+
return /* @__PURE__ */ jsx40(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ jsx40(
|
5776
5885
|
config.root.render,
|
5777
5886
|
__spreadProps(__spreadValues({}, rootProps), {
|
5778
5887
|
puck: {
|
@@ -5782,11 +5891,11 @@ function Render({
|
|
5782
5891
|
title,
|
5783
5892
|
editMode: false,
|
5784
5893
|
id: "puck-root",
|
5785
|
-
children: /* @__PURE__ */
|
5894
|
+
children: /* @__PURE__ */ jsx40(DropZone, { zone: rootDroppableId })
|
5786
5895
|
})
|
5787
5896
|
) });
|
5788
5897
|
}
|
5789
|
-
return /* @__PURE__ */
|
5898
|
+
return /* @__PURE__ */ jsx40(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ jsx40(DropZone, { zone: rootDroppableId }) });
|
5790
5899
|
}
|
5791
5900
|
|
5792
5901
|
// lib/migrate.ts
|