@measured/puck 0.18.0-canary.066aba9 → 0.18.0-canary.1ea6f98
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-EXKSBUY5.mjs → chunk-CHWFBYEM.mjs} +2 -4
- package/dist/index.css +27 -34
- package/dist/index.d.mts +0 -6
- package/dist/index.d.ts +0 -6
- package/dist/index.js +1218 -888
- package/dist/index.mjs +1132 -799
- package/dist/rsc.js +2 -4
- package/dist/rsc.mjs +1 -1
- package/package.json +3 -2
package/dist/index.js
CHANGED
@@ -311,7 +311,7 @@ init_react_import();
|
|
311
311
|
var styles_module_default2 = { "InputWrapper": "_InputWrapper_1l5m8_1", "Input": "_Input_1l5m8_1", "Input-label": "_Input-label_1l5m8_26", "Input-labelIcon": "_Input-labelIcon_1l5m8_35", "Input-disabledIcon": "_Input-disabledIcon_1l5m8_42", "Input-input": "_Input-input_1l5m8_47", "Input--readOnly": "_Input--readOnly_1l5m8_91", "Input-radioGroupItems": "_Input-radioGroupItems_1l5m8_102", "Input-radio": "_Input-radio_1l5m8_102", "Input-radioInner": "_Input-radioInner_1l5m8_119", "Input-radioInput": "_Input-radioInput_1l5m8_164" };
|
312
312
|
|
313
313
|
// components/AutoField/index.tsx
|
314
|
-
var
|
314
|
+
var import_react20 = require("react");
|
315
315
|
|
316
316
|
// components/AutoField/fields/index.tsx
|
317
317
|
init_react_import();
|
@@ -771,7 +771,7 @@ var IconButton = ({
|
|
771
771
|
};
|
772
772
|
|
773
773
|
// components/AutoField/fields/ArrayField/index.tsx
|
774
|
-
var
|
774
|
+
var import_react12 = require("react");
|
775
775
|
|
776
776
|
// components/DragIcon/index.tsx
|
777
777
|
init_react_import();
|
@@ -988,13 +988,11 @@ var resolveComponentData = (item, config, onResolveStart, onResolveEnd) => __asy
|
|
988
988
|
onResolveStart(item);
|
989
989
|
}
|
990
990
|
const { props: resolvedProps, readOnly = {} } = yield configForItem.resolveData(item, { changed, lastData: oldItem });
|
991
|
-
const { readOnly: existingReadOnly = {} } = item || {};
|
992
|
-
const newReadOnly = __spreadValues(__spreadValues({}, existingReadOnly), readOnly);
|
993
991
|
const resolvedItem = __spreadProps(__spreadValues({}, item), {
|
994
992
|
props: __spreadValues(__spreadValues({}, item.props), resolvedProps)
|
995
993
|
});
|
996
|
-
if (Object.keys(
|
997
|
-
resolvedItem.readOnly =
|
994
|
+
if (Object.keys(readOnly).length) {
|
995
|
+
resolvedItem.readOnly = readOnly;
|
998
996
|
}
|
999
997
|
cache.lastChange[item.props.id] = {
|
1000
998
|
item,
|
@@ -1284,7 +1282,7 @@ init_react_import();
|
|
1284
1282
|
var import_react9 = require("@dnd-kit/react");
|
1285
1283
|
var import_react10 = require("react");
|
1286
1284
|
|
1287
|
-
// lib/dnd-kit/safe.ts
|
1285
|
+
// lib/dnd/dnd-kit/safe.ts
|
1288
1286
|
init_react_import();
|
1289
1287
|
var import_react8 = require("@dnd-kit/react");
|
1290
1288
|
var import_sortable = require("@dnd-kit/react/sortable");
|
@@ -1361,8 +1359,53 @@ var Sortable = ({
|
|
1361
1359
|
return children({ status, ref: sortableRef });
|
1362
1360
|
};
|
1363
1361
|
|
1364
|
-
// components/AutoField/
|
1362
|
+
// components/AutoField/context.tsx
|
1363
|
+
init_react_import();
|
1364
|
+
var import_react11 = require("react");
|
1365
1365
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
1366
|
+
var NestedFieldContext = (0, import_react11.createContext)({});
|
1367
|
+
var useNestedFieldContext = () => {
|
1368
|
+
const context = (0, import_react11.useContext)(NestedFieldContext);
|
1369
|
+
return __spreadProps(__spreadValues({}, context), {
|
1370
|
+
readOnlyFields: context.readOnlyFields || {}
|
1371
|
+
});
|
1372
|
+
};
|
1373
|
+
var NestedFieldProvider = ({
|
1374
|
+
children,
|
1375
|
+
name,
|
1376
|
+
subName,
|
1377
|
+
wildcardName = name,
|
1378
|
+
readOnlyFields
|
1379
|
+
}) => {
|
1380
|
+
const subPath = `${name}.${subName}`;
|
1381
|
+
const wildcardSubPath = `${wildcardName}.${subName}`;
|
1382
|
+
const subReadOnlyFields = (0, import_react11.useMemo)(
|
1383
|
+
() => Object.keys(readOnlyFields).reduce((acc, readOnlyKey) => {
|
1384
|
+
const isLocal = readOnlyKey.indexOf(subPath) > -1 || readOnlyKey.indexOf(wildcardSubPath) > -1;
|
1385
|
+
if (isLocal) {
|
1386
|
+
const subPathPattern = new RegExp(
|
1387
|
+
`^(${name}|${wildcardName}).`.replace(/\[/g, "\\[").replace(/\]/g, "\\]").replace(/\./g, "\\.").replace(/\*/g, "\\*")
|
1388
|
+
);
|
1389
|
+
const localName = readOnlyKey.replace(subPathPattern, "");
|
1390
|
+
return __spreadProps(__spreadValues({}, acc), {
|
1391
|
+
[localName]: readOnlyFields[readOnlyKey]
|
1392
|
+
});
|
1393
|
+
}
|
1394
|
+
return acc;
|
1395
|
+
}, {}),
|
1396
|
+
[name, subName, wildcardName, readOnlyFields]
|
1397
|
+
);
|
1398
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
1399
|
+
NestedFieldContext.Provider,
|
1400
|
+
{
|
1401
|
+
value: { readOnlyFields: subReadOnlyFields, localName: subName },
|
1402
|
+
children
|
1403
|
+
}
|
1404
|
+
);
|
1405
|
+
};
|
1406
|
+
|
1407
|
+
// components/AutoField/fields/ArrayField/index.tsx
|
1408
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
1366
1409
|
var getClassName5 = get_class_name_factory_default("ArrayField", styles_module_default3);
|
1367
1410
|
var getClassNameItem = get_class_name_factory_default("ArrayFieldItem", styles_module_default3);
|
1368
1411
|
var ArrayField = ({
|
@@ -1373,10 +1416,10 @@ var ArrayField = ({
|
|
1373
1416
|
label,
|
1374
1417
|
readOnly,
|
1375
1418
|
id,
|
1376
|
-
Label: Label2 = (props) => /* @__PURE__ */ (0,
|
1419
|
+
Label: Label2 = (props) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", __spreadValues({}, props))
|
1377
1420
|
}) => {
|
1378
1421
|
const { state, setUi, selectedItem, getPermissions } = useAppContext();
|
1379
|
-
const readOnlyFields =
|
1422
|
+
const { readOnlyFields, localName = name } = useNestedFieldContext();
|
1380
1423
|
const value = _value;
|
1381
1424
|
const arrayState = state.ui.arrayState[id] || {
|
1382
1425
|
items: Array.from(value || []).map((item, idx) => {
|
@@ -1387,11 +1430,11 @@ var ArrayField = ({
|
|
1387
1430
|
}),
|
1388
1431
|
openId: ""
|
1389
1432
|
};
|
1390
|
-
const [localState, setLocalState] = (0,
|
1391
|
-
(0,
|
1433
|
+
const [localState, setLocalState] = (0, import_react12.useState)({ arrayState, value });
|
1434
|
+
(0, import_react12.useEffect)(() => {
|
1392
1435
|
setLocalState({ arrayState, value });
|
1393
1436
|
}, [value, state.ui.arrayState[id]]);
|
1394
|
-
const mapArrayStateToUi = (0,
|
1437
|
+
const mapArrayStateToUi = (0, import_react12.useCallback)(
|
1395
1438
|
(partialArrayState) => {
|
1396
1439
|
return {
|
1397
1440
|
arrayState: __spreadProps(__spreadValues({}, state.ui.arrayState), {
|
@@ -1401,13 +1444,13 @@ var ArrayField = ({
|
|
1401
1444
|
},
|
1402
1445
|
[arrayState]
|
1403
1446
|
);
|
1404
|
-
const getHighestIndex = (0,
|
1447
|
+
const getHighestIndex = (0, import_react12.useCallback)(() => {
|
1405
1448
|
return arrayState.items.reduce(
|
1406
1449
|
(acc, item) => item._originalIndex > acc ? item._originalIndex : acc,
|
1407
1450
|
-1
|
1408
1451
|
);
|
1409
1452
|
}, [arrayState]);
|
1410
|
-
const regenerateArrayState = (0,
|
1453
|
+
const regenerateArrayState = (0, import_react12.useCallback)(
|
1411
1454
|
(value2) => {
|
1412
1455
|
let highestIndex = getHighestIndex();
|
1413
1456
|
const newItems = Array.from(value2 || []).map((item, idx) => {
|
@@ -1426,7 +1469,7 @@ var ArrayField = ({
|
|
1426
1469
|
},
|
1427
1470
|
[arrayState]
|
1428
1471
|
);
|
1429
|
-
(0,
|
1472
|
+
(0, import_react12.useEffect)(() => {
|
1430
1473
|
if (arrayState.items.length > 0) {
|
1431
1474
|
setUi(mapArrayStateToUi(arrayState));
|
1432
1475
|
}
|
@@ -1436,14 +1479,14 @@ var ArrayField = ({
|
|
1436
1479
|
return null;
|
1437
1480
|
}
|
1438
1481
|
const addDisabled = field.max !== void 0 && localState.arrayState.items.length >= field.max || readOnly;
|
1439
|
-
return /* @__PURE__ */ (0,
|
1482
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
1440
1483
|
Label2,
|
1441
1484
|
{
|
1442
1485
|
label: label || name,
|
1443
|
-
icon: /* @__PURE__ */ (0,
|
1486
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(List, { size: 16 }),
|
1444
1487
|
el: "div",
|
1445
1488
|
readOnly,
|
1446
|
-
children: /* @__PURE__ */ (0,
|
1489
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
1447
1490
|
SortableProvider,
|
1448
1491
|
{
|
1449
1492
|
onMove: (move) => {
|
@@ -1465,7 +1508,7 @@ var ArrayField = ({
|
|
1465
1508
|
arrayState: __spreadProps(__spreadValues({}, arrayState), { items: newArrayStateItems })
|
1466
1509
|
});
|
1467
1510
|
},
|
1468
|
-
children: /* @__PURE__ */ (0,
|
1511
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
1469
1512
|
"div",
|
1470
1513
|
{
|
1471
1514
|
className: getClassName5({
|
@@ -1479,13 +1522,13 @@ var ArrayField = ({
|
|
1479
1522
|
localState.arrayState.items.map((item, i) => {
|
1480
1523
|
const { _arrayId = `${id}-${i}`, _originalIndex = i } = item;
|
1481
1524
|
const data = Array.from(localState.value || [])[i] || {};
|
1482
|
-
return /* @__PURE__ */ (0,
|
1525
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
1483
1526
|
Sortable,
|
1484
1527
|
{
|
1485
1528
|
id: _arrayId,
|
1486
1529
|
index: i,
|
1487
1530
|
disabled: readOnly,
|
1488
|
-
children: ({ status, ref }) => /* @__PURE__ */ (0,
|
1531
|
+
children: ({ status, ref }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
1489
1532
|
"div",
|
1490
1533
|
{
|
1491
1534
|
ref,
|
@@ -1495,7 +1538,7 @@ var ArrayField = ({
|
|
1495
1538
|
readOnly
|
1496
1539
|
}),
|
1497
1540
|
children: [
|
1498
|
-
/* @__PURE__ */ (0,
|
1541
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
1499
1542
|
"div",
|
1500
1543
|
{
|
1501
1544
|
onClick: (e) => {
|
@@ -1518,9 +1561,9 @@ var ArrayField = ({
|
|
1518
1561
|
className: getClassNameItem("summary"),
|
1519
1562
|
children: [
|
1520
1563
|
field.getItemSummary ? field.getItemSummary(data, i) : `Item #${_originalIndex}`,
|
1521
|
-
/* @__PURE__ */ (0,
|
1522
|
-
!readOnly && /* @__PURE__ */ (0,
|
1523
|
-
/* @__PURE__ */ (0,
|
1564
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: getClassNameItem("rhs"), children: [
|
1565
|
+
!readOnly && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: getClassNameItem("actions"), children: [
|
1566
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassNameItem("action"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
1524
1567
|
IconButton,
|
1525
1568
|
{
|
1526
1569
|
type: "button",
|
@@ -1537,10 +1580,10 @@ var ArrayField = ({
|
|
1537
1580
|
);
|
1538
1581
|
},
|
1539
1582
|
title: "Duplicate",
|
1540
|
-
children: /* @__PURE__ */ (0,
|
1583
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Copy, { size: 16 })
|
1541
1584
|
}
|
1542
1585
|
) }),
|
1543
|
-
/* @__PURE__ */ (0,
|
1586
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassNameItem("action"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
1544
1587
|
IconButton,
|
1545
1588
|
{
|
1546
1589
|
type: "button",
|
@@ -1561,39 +1604,56 @@ var ArrayField = ({
|
|
1561
1604
|
);
|
1562
1605
|
},
|
1563
1606
|
title: "Delete",
|
1564
|
-
children: /* @__PURE__ */ (0,
|
1607
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Trash, { size: 16 })
|
1565
1608
|
}
|
1566
1609
|
) })
|
1567
1610
|
] }),
|
1568
|
-
/* @__PURE__ */ (0,
|
1611
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(DragIcon, {}) })
|
1569
1612
|
] })
|
1570
1613
|
]
|
1571
1614
|
}
|
1572
1615
|
),
|
1573
|
-
/* @__PURE__ */ (0,
|
1574
|
-
const subField = field.arrayFields[
|
1575
|
-
const
|
1576
|
-
const
|
1577
|
-
const
|
1578
|
-
|
1579
|
-
|
1616
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: getClassNameItem("body"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("fieldset", { className: getClassNameItem("fieldset"), children: Object.keys(field.arrayFields).map((subName) => {
|
1617
|
+
const subField = field.arrayFields[subName];
|
1618
|
+
const indexName = `${name}[${i}]`;
|
1619
|
+
const subPath = `${indexName}.${subName}`;
|
1620
|
+
const localIndexName = `${localName}[${i}]`;
|
1621
|
+
const localWildcardName = `${localName}[*]`;
|
1622
|
+
const localSubPath = `${localIndexName}.${subName}`;
|
1623
|
+
const localWildcardSubPath = `${localWildcardName}.${subName}`;
|
1624
|
+
const subReadOnly = forceReadOnly ? forceReadOnly : typeof readOnlyFields[subPath] !== "undefined" ? readOnlyFields[localSubPath] : readOnlyFields[localWildcardSubPath];
|
1625
|
+
const label2 = subField.label || subName;
|
1626
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
1627
|
+
NestedFieldProvider,
|
1580
1628
|
{
|
1581
|
-
name:
|
1582
|
-
|
1583
|
-
|
1584
|
-
|
1585
|
-
|
1586
|
-
|
1587
|
-
|
1588
|
-
|
1589
|
-
|
1590
|
-
|
1591
|
-
|
1592
|
-
|
1593
|
-
|
1594
|
-
|
1629
|
+
name: localIndexName,
|
1630
|
+
wildcardName: localWildcardName,
|
1631
|
+
subName,
|
1632
|
+
readOnlyFields,
|
1633
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
1634
|
+
AutoFieldPrivate,
|
1635
|
+
{
|
1636
|
+
name: subPath,
|
1637
|
+
label: label2,
|
1638
|
+
id: `${_arrayId}_${subName}`,
|
1639
|
+
readOnly: subReadOnly,
|
1640
|
+
field: __spreadProps(__spreadValues({}, subField), {
|
1641
|
+
label: label2
|
1642
|
+
// May be used by custom fields
|
1643
|
+
}),
|
1644
|
+
value: data[subName],
|
1645
|
+
onChange: (val, ui) => {
|
1646
|
+
onChange(
|
1647
|
+
replace(value, i, __spreadProps(__spreadValues({}, data), {
|
1648
|
+
[subName]: val
|
1649
|
+
})),
|
1650
|
+
ui
|
1651
|
+
);
|
1652
|
+
}
|
1653
|
+
}
|
1654
|
+
)
|
1595
1655
|
},
|
1596
|
-
|
1656
|
+
subPath
|
1597
1657
|
);
|
1598
1658
|
}) }) })
|
1599
1659
|
]
|
@@ -1603,7 +1663,7 @@ var ArrayField = ({
|
|
1603
1663
|
_arrayId
|
1604
1664
|
);
|
1605
1665
|
}),
|
1606
|
-
!addDisabled && /* @__PURE__ */ (0,
|
1666
|
+
!addDisabled && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
1607
1667
|
"button",
|
1608
1668
|
{
|
1609
1669
|
type: "button",
|
@@ -1617,7 +1677,7 @@ var ArrayField = ({
|
|
1617
1677
|
const newArrayState = regenerateArrayState(newValue);
|
1618
1678
|
onChange(newValue, mapArrayStateToUi(newArrayState));
|
1619
1679
|
},
|
1620
|
-
children: /* @__PURE__ */ (0,
|
1680
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Plus, { size: 21 })
|
1621
1681
|
}
|
1622
1682
|
)
|
1623
1683
|
]
|
@@ -1631,7 +1691,7 @@ var ArrayField = ({
|
|
1631
1691
|
|
1632
1692
|
// components/AutoField/fields/DefaultField/index.tsx
|
1633
1693
|
init_react_import();
|
1634
|
-
var
|
1694
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
1635
1695
|
var getClassName6 = get_class_name_factory_default("Input", styles_module_default2);
|
1636
1696
|
var DefaultField = ({
|
1637
1697
|
field,
|
@@ -1643,16 +1703,16 @@ var DefaultField = ({
|
|
1643
1703
|
Label: Label2,
|
1644
1704
|
id
|
1645
1705
|
}) => {
|
1646
|
-
return /* @__PURE__ */ (0,
|
1706
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
1647
1707
|
Label2,
|
1648
1708
|
{
|
1649
1709
|
label: label || name,
|
1650
|
-
icon: /* @__PURE__ */ (0,
|
1651
|
-
field.type === "text" && /* @__PURE__ */ (0,
|
1652
|
-
field.type === "number" && /* @__PURE__ */ (0,
|
1710
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
|
1711
|
+
field.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Type, { size: 16 }),
|
1712
|
+
field.type === "number" && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Hash, { size: 16 })
|
1653
1713
|
] }),
|
1654
1714
|
readOnly,
|
1655
|
-
children: /* @__PURE__ */ (0,
|
1715
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
1656
1716
|
"input",
|
1657
1717
|
{
|
1658
1718
|
className: getClassName6("input"),
|
@@ -1663,7 +1723,14 @@ var DefaultField = ({
|
|
1663
1723
|
value: typeof value === "undefined" ? "" : value.toString(),
|
1664
1724
|
onChange: (e) => {
|
1665
1725
|
if (field.type === "number") {
|
1666
|
-
|
1726
|
+
const numberValue = Number(e.currentTarget.value);
|
1727
|
+
if (typeof field.min !== "undefined" && numberValue < field.min) {
|
1728
|
+
return;
|
1729
|
+
}
|
1730
|
+
if (typeof field.max !== "undefined" && numberValue > field.max) {
|
1731
|
+
return;
|
1732
|
+
}
|
1733
|
+
onChange(numberValue);
|
1667
1734
|
} else {
|
1668
1735
|
onChange(e.currentTarget.value);
|
1669
1736
|
}
|
@@ -1681,11 +1748,11 @@ var DefaultField = ({
|
|
1681
1748
|
|
1682
1749
|
// components/AutoField/fields/ExternalField/index.tsx
|
1683
1750
|
init_react_import();
|
1684
|
-
var
|
1751
|
+
var import_react16 = require("react");
|
1685
1752
|
|
1686
1753
|
// components/ExternalInput/index.tsx
|
1687
1754
|
init_react_import();
|
1688
|
-
var
|
1755
|
+
var import_react15 = require("react");
|
1689
1756
|
|
1690
1757
|
// css-module:/home/runner/work/puck/puck/packages/core/components/ExternalInput/styles.module.css#css-module
|
1691
1758
|
init_react_import();
|
@@ -1693,7 +1760,7 @@ var styles_module_default6 = { "ExternalInput-actions": "_ExternalInput-actions_
|
|
1693
1760
|
|
1694
1761
|
// components/Modal/index.tsx
|
1695
1762
|
init_react_import();
|
1696
|
-
var
|
1763
|
+
var import_react13 = require("react");
|
1697
1764
|
|
1698
1765
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Modal/styles.module.css#css-module
|
1699
1766
|
init_react_import();
|
@@ -1701,22 +1768,22 @@ var styles_module_default7 = { "Modal": "_Modal_ikbaj_1", "Modal--isOpen": "_Mod
|
|
1701
1768
|
|
1702
1769
|
// components/Modal/index.tsx
|
1703
1770
|
var import_react_dom = require("react-dom");
|
1704
|
-
var
|
1771
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
1705
1772
|
var getClassName7 = get_class_name_factory_default("Modal", styles_module_default7);
|
1706
1773
|
var Modal = ({
|
1707
1774
|
children,
|
1708
1775
|
onClose,
|
1709
1776
|
isOpen
|
1710
1777
|
}) => {
|
1711
|
-
const [rootEl, setRootEl] = (0,
|
1712
|
-
(0,
|
1778
|
+
const [rootEl, setRootEl] = (0, import_react13.useState)(null);
|
1779
|
+
(0, import_react13.useEffect)(() => {
|
1713
1780
|
setRootEl(document.getElementById("puck-portal-root"));
|
1714
1781
|
}, []);
|
1715
1782
|
if (!rootEl) {
|
1716
|
-
return /* @__PURE__ */ (0,
|
1783
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", {});
|
1717
1784
|
}
|
1718
1785
|
return (0, import_react_dom.createPortal)(
|
1719
|
-
/* @__PURE__ */ (0,
|
1786
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: getClassName7({ isOpen }), onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
1720
1787
|
"div",
|
1721
1788
|
{
|
1722
1789
|
className: getClassName7("inner"),
|
@@ -1736,11 +1803,11 @@ init_react_import();
|
|
1736
1803
|
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" };
|
1737
1804
|
|
1738
1805
|
// components/Heading/index.tsx
|
1739
|
-
var
|
1806
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
1740
1807
|
var getClassName8 = get_class_name_factory_default("Heading", styles_module_default8);
|
1741
1808
|
var Heading = ({ children, rank, size = "m" }) => {
|
1742
1809
|
const Tag = rank ? `h${rank}` : "span";
|
1743
|
-
return /* @__PURE__ */ (0,
|
1810
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
1744
1811
|
Tag,
|
1745
1812
|
{
|
1746
1813
|
className: getClassName8({
|
@@ -1756,7 +1823,7 @@ init_react_import();
|
|
1756
1823
|
|
1757
1824
|
// components/Button/Button.tsx
|
1758
1825
|
init_react_import();
|
1759
|
-
var
|
1826
|
+
var import_react14 = require("react");
|
1760
1827
|
|
1761
1828
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Button/Button.module.css#css-module
|
1762
1829
|
init_react_import();
|
@@ -1776,7 +1843,7 @@ var filterDataAttrs = (props) => {
|
|
1776
1843
|
};
|
1777
1844
|
|
1778
1845
|
// components/Button/Button.tsx
|
1779
|
-
var
|
1846
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
1780
1847
|
var getClassName9 = get_class_name_factory_default("Button", Button_module_default);
|
1781
1848
|
var Button = (_a) => {
|
1782
1849
|
var _b = _a, {
|
@@ -1806,11 +1873,11 @@ var Button = (_a) => {
|
|
1806
1873
|
"size",
|
1807
1874
|
"loading"
|
1808
1875
|
]);
|
1809
|
-
const [loading, setLoading] = (0,
|
1810
|
-
(0,
|
1876
|
+
const [loading, setLoading] = (0, import_react14.useState)(loadingProp);
|
1877
|
+
(0, import_react14.useEffect)(() => setLoading(loadingProp), [loadingProp]);
|
1811
1878
|
const ElementType = href ? "a" : type ? "button" : "span";
|
1812
1879
|
const dataAttrs = filterDataAttrs(props);
|
1813
|
-
const el = /* @__PURE__ */ (0,
|
1880
|
+
const el = /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
1814
1881
|
ElementType,
|
1815
1882
|
__spreadProps(__spreadValues({
|
1816
1883
|
className: getClassName9({
|
@@ -1835,9 +1902,9 @@ var Button = (_a) => {
|
|
1835
1902
|
href
|
1836
1903
|
}, dataAttrs), {
|
1837
1904
|
children: [
|
1838
|
-
icon && /* @__PURE__ */ (0,
|
1905
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName9("icon"), children: icon }),
|
1839
1906
|
children,
|
1840
|
-
loading && /* @__PURE__ */ (0,
|
1907
|
+
loading && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName9("spinner"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Loader, { size: 14 }) })
|
1841
1908
|
]
|
1842
1909
|
})
|
1843
1910
|
);
|
@@ -1845,7 +1912,7 @@ var Button = (_a) => {
|
|
1845
1912
|
};
|
1846
1913
|
|
1847
1914
|
// components/ExternalInput/index.tsx
|
1848
|
-
var
|
1915
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
1849
1916
|
var getClassName10 = get_class_name_factory_default("ExternalInput", styles_module_default6);
|
1850
1917
|
var getClassNameModal = get_class_name_factory_default("ExternalInputModal", styles_module_default6);
|
1851
1918
|
var dataCache = {};
|
@@ -1862,28 +1929,28 @@ var ExternalInput = ({
|
|
1862
1929
|
mapRow = (val) => val,
|
1863
1930
|
filterFields
|
1864
1931
|
} = field || {};
|
1865
|
-
const [data, setData] = (0,
|
1866
|
-
const [isOpen, setOpen] = (0,
|
1867
|
-
const [isLoading, setIsLoading] = (0,
|
1932
|
+
const [data, setData] = (0, import_react15.useState)([]);
|
1933
|
+
const [isOpen, setOpen] = (0, import_react15.useState)(false);
|
1934
|
+
const [isLoading, setIsLoading] = (0, import_react15.useState)(true);
|
1868
1935
|
const hasFilterFields = !!filterFields;
|
1869
|
-
const [filters, setFilters] = (0,
|
1870
|
-
const [filtersToggled, setFiltersToggled] = (0,
|
1871
|
-
const mappedData = (0,
|
1936
|
+
const [filters, setFilters] = (0, import_react15.useState)(field.initialFilters || {});
|
1937
|
+
const [filtersToggled, setFiltersToggled] = (0, import_react15.useState)(hasFilterFields);
|
1938
|
+
const mappedData = (0, import_react15.useMemo)(() => {
|
1872
1939
|
return data.map(mapRow);
|
1873
1940
|
}, [data]);
|
1874
|
-
const keys = (0,
|
1941
|
+
const keys = (0, import_react15.useMemo)(() => {
|
1875
1942
|
const validKeys = /* @__PURE__ */ new Set();
|
1876
1943
|
for (const item of mappedData) {
|
1877
1944
|
for (const key of Object.keys(item)) {
|
1878
|
-
if (typeof item[key] === "string" || typeof item[key] === "number" || (0,
|
1945
|
+
if (typeof item[key] === "string" || typeof item[key] === "number" || (0, import_react15.isValidElement)(item[key])) {
|
1879
1946
|
validKeys.add(key);
|
1880
1947
|
}
|
1881
1948
|
}
|
1882
1949
|
}
|
1883
1950
|
return Array.from(validKeys);
|
1884
1951
|
}, [mappedData]);
|
1885
|
-
const [searchQuery, setSearchQuery] = (0,
|
1886
|
-
const search = (0,
|
1952
|
+
const [searchQuery, setSearchQuery] = (0, import_react15.useState)(field.initialQuery || "");
|
1953
|
+
const search = (0, import_react15.useCallback)(
|
1887
1954
|
(query, filters2) => __async(void 0, null, function* () {
|
1888
1955
|
setIsLoading(true);
|
1889
1956
|
const cacheKey = `${id}-${query}-${JSON.stringify(filters2)}`;
|
@@ -1896,18 +1963,18 @@ var ExternalInput = ({
|
|
1896
1963
|
}),
|
1897
1964
|
[id, field]
|
1898
1965
|
);
|
1899
|
-
const Footer = (0,
|
1900
|
-
(props) => field.renderFooter ? field.renderFooter(props) : /* @__PURE__ */ (0,
|
1966
|
+
const Footer = (0, import_react15.useCallback)(
|
1967
|
+
(props) => field.renderFooter ? field.renderFooter(props) : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("span", { className: getClassNameModal("footer"), children: [
|
1901
1968
|
props.items.length,
|
1902
1969
|
" result",
|
1903
1970
|
props.items.length === 1 ? "" : "s"
|
1904
1971
|
] }),
|
1905
1972
|
[field.renderFooter]
|
1906
1973
|
);
|
1907
|
-
(0,
|
1974
|
+
(0, import_react15.useEffect)(() => {
|
1908
1975
|
search(searchQuery, filters);
|
1909
1976
|
}, []);
|
1910
|
-
return /* @__PURE__ */ (0,
|
1977
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
1911
1978
|
"div",
|
1912
1979
|
{
|
1913
1980
|
className: getClassName10({
|
@@ -1917,21 +1984,21 @@ var ExternalInput = ({
|
|
1917
1984
|
}),
|
1918
1985
|
id,
|
1919
1986
|
children: [
|
1920
|
-
/* @__PURE__ */ (0,
|
1921
|
-
/* @__PURE__ */ (0,
|
1987
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassName10("actions"), children: [
|
1988
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
1922
1989
|
"button",
|
1923
1990
|
{
|
1924
1991
|
type: "button",
|
1925
1992
|
onClick: () => setOpen(true),
|
1926
1993
|
className: getClassName10("button"),
|
1927
1994
|
disabled: readOnly,
|
1928
|
-
children: value ? field.getItemSummary ? field.getItemSummary(value) : "External item" : /* @__PURE__ */ (0,
|
1929
|
-
/* @__PURE__ */ (0,
|
1930
|
-
/* @__PURE__ */ (0,
|
1995
|
+
children: value ? field.getItemSummary ? field.getItemSummary(value) : "External item" : /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
|
1996
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Link, { size: "16" }),
|
1997
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: field.placeholder })
|
1931
1998
|
] })
|
1932
1999
|
}
|
1933
2000
|
),
|
1934
|
-
value && /* @__PURE__ */ (0,
|
2001
|
+
value && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
1935
2002
|
"button",
|
1936
2003
|
{
|
1937
2004
|
type: "button",
|
@@ -1940,11 +2007,11 @@ var ExternalInput = ({
|
|
1940
2007
|
onChange(null);
|
1941
2008
|
},
|
1942
2009
|
disabled: readOnly,
|
1943
|
-
children: /* @__PURE__ */ (0,
|
2010
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(LockOpen, { size: 16 })
|
1944
2011
|
}
|
1945
2012
|
)
|
1946
2013
|
] }),
|
1947
|
-
/* @__PURE__ */ (0,
|
2014
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Modal, { onClose: () => setOpen(false), isOpen, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
1948
2015
|
"form",
|
1949
2016
|
{
|
1950
2017
|
className: getClassNameModal({
|
@@ -1958,11 +2025,11 @@ var ExternalInput = ({
|
|
1958
2025
|
search(searchQuery, filters);
|
1959
2026
|
},
|
1960
2027
|
children: [
|
1961
|
-
/* @__PURE__ */ (0,
|
1962
|
-
/* @__PURE__ */ (0,
|
1963
|
-
/* @__PURE__ */ (0,
|
1964
|
-
/* @__PURE__ */ (0,
|
1965
|
-
/* @__PURE__ */ (0,
|
2028
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("masthead"), children: field.showSearch ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassNameModal("searchForm"), children: [
|
2029
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("label", { className: getClassNameModal("search"), children: [
|
2030
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: getClassNameModal("searchIconText"), children: "Search" }),
|
2031
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("searchIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Search, { size: "18" }) }),
|
2032
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
1966
2033
|
"input",
|
1967
2034
|
{
|
1968
2035
|
className: getClassNameModal("searchInput"),
|
@@ -1977,9 +2044,9 @@ var ExternalInput = ({
|
|
1977
2044
|
}
|
1978
2045
|
)
|
1979
2046
|
] }),
|
1980
|
-
/* @__PURE__ */ (0,
|
1981
|
-
/* @__PURE__ */ (0,
|
1982
|
-
hasFilterFields && /* @__PURE__ */ (0,
|
2047
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassNameModal("searchActions"), children: [
|
2048
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Button, { type: "submit", loading: isLoading, fullWidth: true, children: "Search" }),
|
2049
|
+
hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("searchActionIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
1983
2050
|
IconButton,
|
1984
2051
|
{
|
1985
2052
|
title: "Toggle filters",
|
@@ -1988,15 +2055,15 @@ var ExternalInput = ({
|
|
1988
2055
|
e.stopPropagation();
|
1989
2056
|
setFiltersToggled(!filtersToggled);
|
1990
2057
|
},
|
1991
|
-
children: /* @__PURE__ */ (0,
|
2058
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SlidersHorizontal, { size: 20 })
|
1992
2059
|
}
|
1993
2060
|
) })
|
1994
2061
|
] })
|
1995
|
-
] }) : /* @__PURE__ */ (0,
|
1996
|
-
/* @__PURE__ */ (0,
|
1997
|
-
hasFilterFields && /* @__PURE__ */ (0,
|
2062
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Heading, { rank: "2", size: "xs", children: field.placeholder || "Select data" }) }),
|
2063
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassNameModal("grid"), children: [
|
2064
|
+
hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("filters"), children: hasFilterFields && Object.keys(filterFields).map((fieldName) => {
|
1998
2065
|
const filterField = filterFields[fieldName];
|
1999
|
-
return /* @__PURE__ */ (0,
|
2066
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
2000
2067
|
AutoFieldPrivate,
|
2001
2068
|
{
|
2002
2069
|
field: filterField,
|
@@ -2013,9 +2080,9 @@ var ExternalInput = ({
|
|
2013
2080
|
fieldName
|
2014
2081
|
);
|
2015
2082
|
}) }),
|
2016
|
-
/* @__PURE__ */ (0,
|
2017
|
-
/* @__PURE__ */ (0,
|
2018
|
-
/* @__PURE__ */ (0,
|
2083
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassNameModal("tableWrapper"), children: [
|
2084
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("table", { className: getClassNameModal("table"), children: [
|
2085
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("thead", { className: getClassNameModal("thead"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("tr", { className: getClassNameModal("tr"), children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
2019
2086
|
"th",
|
2020
2087
|
{
|
2021
2088
|
className: getClassNameModal("th"),
|
@@ -2024,8 +2091,8 @@ var ExternalInput = ({
|
|
2024
2091
|
},
|
2025
2092
|
key
|
2026
2093
|
)) }) }),
|
2027
|
-
/* @__PURE__ */ (0,
|
2028
|
-
return /* @__PURE__ */ (0,
|
2094
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("tbody", { className: getClassNameModal("tbody"), children: mappedData.map((item, i) => {
|
2095
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
2029
2096
|
"tr",
|
2030
2097
|
{
|
2031
2098
|
style: { whiteSpace: "nowrap" },
|
@@ -2034,16 +2101,16 @@ var ExternalInput = ({
|
|
2034
2101
|
onChange(mapProp(data[i]));
|
2035
2102
|
setOpen(false);
|
2036
2103
|
},
|
2037
|
-
children: keys.map((key) => /* @__PURE__ */ (0,
|
2104
|
+
children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("td", { className: getClassNameModal("td"), children: item[key] }, key))
|
2038
2105
|
},
|
2039
2106
|
i
|
2040
2107
|
);
|
2041
2108
|
}) })
|
2042
2109
|
] }),
|
2043
|
-
/* @__PURE__ */ (0,
|
2110
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("loadingBanner"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Loader, { size: 24 }) })
|
2044
2111
|
] })
|
2045
2112
|
] }),
|
2046
|
-
/* @__PURE__ */ (0,
|
2113
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: getClassNameModal("footerContainer"), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Footer, { items: mappedData }) })
|
2047
2114
|
]
|
2048
2115
|
}
|
2049
2116
|
) })
|
@@ -2053,7 +2120,7 @@ var ExternalInput = ({
|
|
2053
2120
|
};
|
2054
2121
|
|
2055
2122
|
// components/AutoField/fields/ExternalField/index.tsx
|
2056
|
-
var
|
2123
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
2057
2124
|
var ExternalField = ({
|
2058
2125
|
field,
|
2059
2126
|
onChange,
|
@@ -2067,7 +2134,7 @@ var ExternalField = ({
|
|
2067
2134
|
var _a, _b, _c;
|
2068
2135
|
const validField = field;
|
2069
2136
|
const deprecatedField = field;
|
2070
|
-
(0,
|
2137
|
+
(0, import_react16.useEffect)(() => {
|
2071
2138
|
if (deprecatedField.adaptor) {
|
2072
2139
|
console.error(
|
2073
2140
|
"Warning: The `adaptor` API is deprecated. Please use updated APIs on the `external` field instead. This will be a breaking change in a future release."
|
@@ -2077,7 +2144,7 @@ var ExternalField = ({
|
|
2077
2144
|
if (field.type !== "external") {
|
2078
2145
|
return null;
|
2079
2146
|
}
|
2080
|
-
return /* @__PURE__ */ (0,
|
2147
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Label2, { label: label || name, icon: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Link, { size: 16 }), el: "div", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
2081
2148
|
ExternalInput,
|
2082
2149
|
{
|
2083
2150
|
name,
|
@@ -2102,7 +2169,7 @@ var ExternalField = ({
|
|
2102
2169
|
|
2103
2170
|
// components/AutoField/fields/RadioField/index.tsx
|
2104
2171
|
init_react_import();
|
2105
|
-
var
|
2172
|
+
var import_react17 = require("react");
|
2106
2173
|
|
2107
2174
|
// lib/safe-json-parse.ts
|
2108
2175
|
init_react_import();
|
@@ -2116,7 +2183,7 @@ var safeJsonParse = (str) => {
|
|
2116
2183
|
};
|
2117
2184
|
|
2118
2185
|
// components/AutoField/fields/RadioField/index.tsx
|
2119
|
-
var
|
2186
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
2120
2187
|
var getClassName11 = get_class_name_factory_default("Input", styles_module_default2);
|
2121
2188
|
var RadioField = ({
|
2122
2189
|
field,
|
@@ -2128,26 +2195,26 @@ var RadioField = ({
|
|
2128
2195
|
label,
|
2129
2196
|
Label: Label2
|
2130
2197
|
}) => {
|
2131
|
-
const flatOptions = (0,
|
2198
|
+
const flatOptions = (0, import_react17.useMemo)(
|
2132
2199
|
() => field.type === "radio" ? field.options.map(({ value: value2 }) => value2) : [],
|
2133
2200
|
[field]
|
2134
2201
|
);
|
2135
2202
|
if (field.type !== "radio" || !field.options) {
|
2136
2203
|
return null;
|
2137
2204
|
}
|
2138
|
-
return /* @__PURE__ */ (0,
|
2205
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
2139
2206
|
Label2,
|
2140
2207
|
{
|
2141
|
-
icon: /* @__PURE__ */ (0,
|
2208
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(CircleCheckBig, { size: 16 }),
|
2142
2209
|
label: label || name,
|
2143
2210
|
readOnly,
|
2144
2211
|
el: "div",
|
2145
|
-
children: /* @__PURE__ */ (0,
|
2212
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassName11("radioGroupItems"), id, children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
2146
2213
|
"label",
|
2147
2214
|
{
|
2148
2215
|
className: getClassName11("radio"),
|
2149
2216
|
children: [
|
2150
|
-
/* @__PURE__ */ (0,
|
2217
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
2151
2218
|
"input",
|
2152
2219
|
{
|
2153
2220
|
type: "radio",
|
@@ -2167,7 +2234,7 @@ var RadioField = ({
|
|
2167
2234
|
checked: value === option.value
|
2168
2235
|
}
|
2169
2236
|
),
|
2170
|
-
/* @__PURE__ */ (0,
|
2237
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassName11("radioInner"), children: option.label || option.value })
|
2171
2238
|
]
|
2172
2239
|
},
|
2173
2240
|
option.label + option.value
|
@@ -2178,8 +2245,8 @@ var RadioField = ({
|
|
2178
2245
|
|
2179
2246
|
// components/AutoField/fields/SelectField/index.tsx
|
2180
2247
|
init_react_import();
|
2181
|
-
var
|
2182
|
-
var
|
2248
|
+
var import_react18 = require("react");
|
2249
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
2183
2250
|
var getClassName12 = get_class_name_factory_default("Input", styles_module_default2);
|
2184
2251
|
var SelectField = ({
|
2185
2252
|
field,
|
@@ -2191,20 +2258,20 @@ var SelectField = ({
|
|
2191
2258
|
readOnly,
|
2192
2259
|
id
|
2193
2260
|
}) => {
|
2194
|
-
const flatOptions = (0,
|
2261
|
+
const flatOptions = (0, import_react18.useMemo)(
|
2195
2262
|
() => field.type === "select" ? field.options.map(({ value: value2 }) => value2) : [],
|
2196
2263
|
[field]
|
2197
2264
|
);
|
2198
2265
|
if (field.type !== "select" || !field.options) {
|
2199
2266
|
return null;
|
2200
2267
|
}
|
2201
|
-
return /* @__PURE__ */ (0,
|
2268
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
2202
2269
|
Label2,
|
2203
2270
|
{
|
2204
2271
|
label: label || name,
|
2205
|
-
icon: /* @__PURE__ */ (0,
|
2272
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ChevronDown, { size: 16 }),
|
2206
2273
|
readOnly,
|
2207
|
-
children: /* @__PURE__ */ (0,
|
2274
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
2208
2275
|
"select",
|
2209
2276
|
{
|
2210
2277
|
id,
|
@@ -2221,7 +2288,7 @@ var SelectField = ({
|
|
2221
2288
|
}
|
2222
2289
|
},
|
2223
2290
|
value,
|
2224
|
-
children: field.options.map((option) => /* @__PURE__ */ (0,
|
2291
|
+
children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
2225
2292
|
"option",
|
2226
2293
|
{
|
2227
2294
|
label: option.label,
|
@@ -2237,7 +2304,7 @@ var SelectField = ({
|
|
2237
2304
|
|
2238
2305
|
// components/AutoField/fields/TextareaField/index.tsx
|
2239
2306
|
init_react_import();
|
2240
|
-
var
|
2307
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
2241
2308
|
var getClassName13 = get_class_name_factory_default("Input", styles_module_default2);
|
2242
2309
|
var TextareaField = ({
|
2243
2310
|
onChange,
|
@@ -2248,7 +2315,7 @@ var TextareaField = ({
|
|
2248
2315
|
Label: Label2,
|
2249
2316
|
id
|
2250
2317
|
}) => {
|
2251
|
-
return /* @__PURE__ */ (0,
|
2318
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Label2, { label: label || name, icon: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Type, { size: 16 }), readOnly, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
2252
2319
|
"textarea",
|
2253
2320
|
{
|
2254
2321
|
id,
|
@@ -2275,7 +2342,7 @@ init_react_import();
|
|
2275
2342
|
var styles_module_default9 = { "ObjectField": "_ObjectField_1ua3y_5", "ObjectField-fieldset": "_ObjectField-fieldset_1ua3y_13" };
|
2276
2343
|
|
2277
2344
|
// components/AutoField/fields/ObjectField/index.tsx
|
2278
|
-
var
|
2345
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
2279
2346
|
var getClassName14 = get_class_name_factory_default("ObjectField", styles_module_default9);
|
2280
2347
|
var ObjectField = ({
|
2281
2348
|
field,
|
@@ -2287,43 +2354,54 @@ var ObjectField = ({
|
|
2287
2354
|
readOnly,
|
2288
2355
|
id
|
2289
2356
|
}) => {
|
2290
|
-
const {
|
2357
|
+
const { readOnlyFields, localName = name } = useNestedFieldContext();
|
2291
2358
|
if (field.type !== "object" || !field.objectFields) {
|
2292
2359
|
return null;
|
2293
2360
|
}
|
2294
|
-
const readOnlyFields = (selectedItem == null ? void 0 : selectedItem.readOnly) || {};
|
2295
2361
|
const data = value || {};
|
2296
|
-
return /* @__PURE__ */ (0,
|
2362
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
2297
2363
|
Label2,
|
2298
2364
|
{
|
2299
2365
|
label: label || name,
|
2300
|
-
icon: /* @__PURE__ */ (0,
|
2366
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(EllipsisVertical, { size: 16 }),
|
2301
2367
|
el: "div",
|
2302
2368
|
readOnly,
|
2303
|
-
children: /* @__PURE__ */ (0,
|
2304
|
-
const subField = field.objectFields[
|
2305
|
-
const
|
2306
|
-
const
|
2307
|
-
const subReadOnly = readOnly ? readOnly :
|
2308
|
-
|
2309
|
-
|
2369
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassName14(), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("fieldset", { className: getClassName14("fieldset"), children: Object.keys(field.objectFields).map((subName) => {
|
2370
|
+
const subField = field.objectFields[subName];
|
2371
|
+
const subPath = `${name}.${subName}`;
|
2372
|
+
const localSubPath = `${localName || name}.${subName}`;
|
2373
|
+
const subReadOnly = readOnly ? readOnly : readOnlyFields[localSubPath];
|
2374
|
+
const label2 = subField.label || subName;
|
2375
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
2376
|
+
NestedFieldProvider,
|
2310
2377
|
{
|
2311
|
-
name:
|
2312
|
-
|
2313
|
-
|
2314
|
-
|
2315
|
-
|
2316
|
-
|
2317
|
-
|
2318
|
-
|
2319
|
-
|
2320
|
-
|
2378
|
+
name: localName || id,
|
2379
|
+
subName,
|
2380
|
+
readOnlyFields,
|
2381
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
2382
|
+
AutoFieldPrivate,
|
2383
|
+
{
|
2384
|
+
name: subPath,
|
2385
|
+
label: subPath,
|
2386
|
+
id: `${id}_${subName}`,
|
2387
|
+
readOnly: subReadOnly,
|
2388
|
+
field: __spreadProps(__spreadValues({}, subField), {
|
2389
|
+
label: label2
|
2390
|
+
// May be used by custom fields
|
2321
2391
|
}),
|
2322
|
-
|
2323
|
-
|
2324
|
-
|
2392
|
+
value: data[subName],
|
2393
|
+
onChange: (val, ui) => {
|
2394
|
+
onChange(
|
2395
|
+
__spreadProps(__spreadValues({}, data), {
|
2396
|
+
[subName]: val
|
2397
|
+
}),
|
2398
|
+
ui
|
2399
|
+
);
|
2400
|
+
}
|
2401
|
+
}
|
2402
|
+
)
|
2325
2403
|
},
|
2326
|
-
|
2404
|
+
subPath
|
2327
2405
|
);
|
2328
2406
|
}) }) })
|
2329
2407
|
}
|
@@ -2332,7 +2410,7 @@ var ObjectField = ({
|
|
2332
2410
|
|
2333
2411
|
// lib/use-safe-id.ts
|
2334
2412
|
init_react_import();
|
2335
|
-
var
|
2413
|
+
var import_react19 = __toESM(require("react"));
|
2336
2414
|
|
2337
2415
|
// lib/generate-id.ts
|
2338
2416
|
init_react_import();
|
@@ -2341,15 +2419,15 @@ var generateId = (type) => type ? `${type}-${(0, import_uuid.v4)()}` : (0, impor
|
|
2341
2419
|
|
2342
2420
|
// lib/use-safe-id.ts
|
2343
2421
|
var useSafeId = () => {
|
2344
|
-
if (typeof
|
2345
|
-
return
|
2422
|
+
if (typeof import_react19.default.useId !== "undefined") {
|
2423
|
+
return import_react19.default.useId();
|
2346
2424
|
}
|
2347
|
-
const [id] = (0,
|
2425
|
+
const [id] = (0, import_react19.useState)(generateId());
|
2348
2426
|
return id;
|
2349
2427
|
};
|
2350
2428
|
|
2351
2429
|
// components/AutoField/index.tsx
|
2352
|
-
var
|
2430
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
2353
2431
|
var getClassName15 = get_class_name_factory_default("Input", styles_module_default2);
|
2354
2432
|
var getClassNameWrapper = get_class_name_factory_default("InputWrapper", styles_module_default2);
|
2355
2433
|
var FieldLabel = ({
|
@@ -2361,16 +2439,16 @@ var FieldLabel = ({
|
|
2361
2439
|
className
|
2362
2440
|
}) => {
|
2363
2441
|
const El = el;
|
2364
|
-
return /* @__PURE__ */ (0,
|
2365
|
-
/* @__PURE__ */ (0,
|
2366
|
-
icon ? /* @__PURE__ */ (0,
|
2442
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(El, { className, children: [
|
2443
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: getClassName15("label"), children: [
|
2444
|
+
icon ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: getClassName15("labelIcon"), children: icon }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_jsx_runtime19.Fragment, {}),
|
2367
2445
|
label,
|
2368
|
-
readOnly && /* @__PURE__ */ (0,
|
2446
|
+
readOnly && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: getClassName15("disabledIcon"), title: "Read-only", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Lock, { size: "12" }) })
|
2369
2447
|
] }),
|
2370
2448
|
children
|
2371
2449
|
] });
|
2372
2450
|
};
|
2373
|
-
var
|
2451
|
+
var FieldLabelInternal = ({
|
2374
2452
|
children,
|
2375
2453
|
icon,
|
2376
2454
|
label,
|
@@ -2378,14 +2456,14 @@ var FieldLabelInternal2 = ({
|
|
2378
2456
|
readOnly
|
2379
2457
|
}) => {
|
2380
2458
|
const { overrides } = useAppContext();
|
2381
|
-
const Wrapper = (0,
|
2459
|
+
const Wrapper = (0, import_react20.useMemo)(
|
2382
2460
|
() => overrides.fieldLabel || FieldLabel,
|
2383
2461
|
[overrides]
|
2384
2462
|
);
|
2385
2463
|
if (!label) {
|
2386
|
-
return /* @__PURE__ */ (0,
|
2464
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_jsx_runtime19.Fragment, { children });
|
2387
2465
|
}
|
2388
|
-
return /* @__PURE__ */ (0,
|
2466
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
2389
2467
|
Wrapper,
|
2390
2468
|
{
|
2391
2469
|
label,
|
@@ -2399,8 +2477,9 @@ var FieldLabelInternal2 = ({
|
|
2399
2477
|
};
|
2400
2478
|
function AutoFieldInternal(props) {
|
2401
2479
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
2402
|
-
const { dispatch, overrides } = useAppContext();
|
2403
|
-
const
|
2480
|
+
const { dispatch, overrides, selectedItem } = useAppContext();
|
2481
|
+
const nestedFieldContext = (0, import_react20.useContext)(NestedFieldContext);
|
2482
|
+
const { id, Label: Label2 = FieldLabelInternal } = props;
|
2404
2483
|
const field = props.field;
|
2405
2484
|
const label = field.label;
|
2406
2485
|
const defaultId = useSafeId();
|
@@ -2431,7 +2510,7 @@ function AutoFieldInternal(props) {
|
|
2431
2510
|
Label: Label2,
|
2432
2511
|
id: resolvedId
|
2433
2512
|
});
|
2434
|
-
const onFocus = (0,
|
2513
|
+
const onFocus = (0, import_react20.useCallback)(
|
2435
2514
|
(e) => {
|
2436
2515
|
if (mergedProps.name && e.target.nodeName === "INPUT") {
|
2437
2516
|
e.stopPropagation();
|
@@ -2445,7 +2524,7 @@ function AutoFieldInternal(props) {
|
|
2445
2524
|
},
|
2446
2525
|
[mergedProps.name]
|
2447
2526
|
);
|
2448
|
-
const onBlur = (0,
|
2527
|
+
const onBlur = (0, import_react20.useCallback)((e) => {
|
2449
2528
|
if ("name" in e.target) {
|
2450
2529
|
dispatch({
|
2451
2530
|
type: "setUi",
|
@@ -2460,27 +2539,36 @@ function AutoFieldInternal(props) {
|
|
2460
2539
|
return null;
|
2461
2540
|
}
|
2462
2541
|
const CustomField = field.render;
|
2463
|
-
return /* @__PURE__ */ (0,
|
2542
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: getClassNameWrapper(), onFocus, onBlur, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: getClassName15(), children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(CustomField, __spreadValues({}, mergedProps)) }) });
|
2464
2543
|
}
|
2465
2544
|
const children = defaultFields[field.type](mergedProps);
|
2466
2545
|
const Render2 = render[field.type];
|
2467
|
-
return /* @__PURE__ */ (0,
|
2468
|
-
|
2546
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
2547
|
+
NestedFieldContext.Provider,
|
2469
2548
|
{
|
2470
|
-
|
2471
|
-
|
2472
|
-
|
2473
|
-
onClick: (e) => {
|
2474
|
-
e.stopPropagation();
|
2549
|
+
value: {
|
2550
|
+
readOnlyFields: nestedFieldContext.readOnlyFields || (selectedItem == null ? void 0 : selectedItem.readOnly) || {},
|
2551
|
+
localName: nestedFieldContext.localName
|
2475
2552
|
},
|
2476
|
-
children: /* @__PURE__ */ (0,
|
2553
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
2554
|
+
"div",
|
2555
|
+
{
|
2556
|
+
className: getClassNameWrapper(),
|
2557
|
+
onFocus,
|
2558
|
+
onBlur,
|
2559
|
+
onClick: (e) => {
|
2560
|
+
e.stopPropagation();
|
2561
|
+
},
|
2562
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Render2, __spreadProps(__spreadValues({}, mergedProps), { children }))
|
2563
|
+
}
|
2564
|
+
)
|
2477
2565
|
}
|
2478
2566
|
);
|
2479
2567
|
}
|
2480
2568
|
function AutoFieldPrivate(props) {
|
2481
2569
|
const { state } = useAppContext();
|
2482
2570
|
const { value, onChange } = props;
|
2483
|
-
const [localValue, setLocalValue] = (0,
|
2571
|
+
const [localValue, setLocalValue] = (0, import_react20.useState)(value);
|
2484
2572
|
const onChangeDb = (0, import_use_debounce.useDebouncedCallback)(
|
2485
2573
|
(val, ui) => {
|
2486
2574
|
onChange(val, ui);
|
@@ -2488,11 +2576,11 @@ function AutoFieldPrivate(props) {
|
|
2488
2576
|
50,
|
2489
2577
|
{ leading: true }
|
2490
2578
|
);
|
2491
|
-
const onChangeLocal = (0,
|
2579
|
+
const onChangeLocal = (0, import_react20.useCallback)((val, ui) => {
|
2492
2580
|
setLocalValue(val);
|
2493
2581
|
onChangeDb(val, ui);
|
2494
2582
|
}, []);
|
2495
|
-
(0,
|
2583
|
+
(0, import_react20.useEffect)(() => {
|
2496
2584
|
if (state.ui.field.focus !== props.name) {
|
2497
2585
|
setLocalValue(value);
|
2498
2586
|
}
|
@@ -2501,11 +2589,11 @@ function AutoFieldPrivate(props) {
|
|
2501
2589
|
value: localValue,
|
2502
2590
|
onChange: onChangeLocal
|
2503
2591
|
};
|
2504
|
-
return /* @__PURE__ */ (0,
|
2592
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AutoFieldInternal, __spreadValues(__spreadValues({}, props), localProps));
|
2505
2593
|
}
|
2506
2594
|
function AutoField(props) {
|
2507
|
-
const DefaultLabel = (0,
|
2508
|
-
const DefaultLabel2 = (labelProps) => /* @__PURE__ */ (0,
|
2595
|
+
const DefaultLabel = (0, import_react20.useMemo)(() => {
|
2596
|
+
const DefaultLabel2 = (labelProps) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
2509
2597
|
"div",
|
2510
2598
|
__spreadProps(__spreadValues({}, labelProps), {
|
2511
2599
|
className: getClassName15({ readOnly: props.readOnly })
|
@@ -2513,7 +2601,7 @@ function AutoField(props) {
|
|
2513
2601
|
);
|
2514
2602
|
return DefaultLabel2;
|
2515
2603
|
}, [props.readOnly]);
|
2516
|
-
return /* @__PURE__ */ (0,
|
2604
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AutoFieldInternal, __spreadProps(__spreadValues({}, props), { Label: DefaultLabel }));
|
2517
2605
|
}
|
2518
2606
|
|
2519
2607
|
// components/Drawer/index.tsx
|
@@ -2524,21 +2612,21 @@ init_react_import();
|
|
2524
2612
|
var styles_module_default10 = { "Drawer": "_Drawer_fkqfo_1", "Drawer-draggable": "_Drawer-draggable_fkqfo_8", "Drawer-draggableBg": "_Drawer-draggableBg_fkqfo_12", "Drawer-draggableFg": "_Drawer-draggableFg_fkqfo_21", "DrawerItem-draggable": "_DrawerItem-draggable_fkqfo_25", "DrawerItem--disabled": "_DrawerItem--disabled_fkqfo_38", "DrawerItem": "_DrawerItem_fkqfo_25", "Drawer--isDraggingFrom": "_Drawer--isDraggingFrom_fkqfo_48", "DrawerItem-name": "_DrawerItem-name_fkqfo_66" };
|
2525
2613
|
|
2526
2614
|
// components/Drawer/index.tsx
|
2527
|
-
var
|
2615
|
+
var import_react32 = require("react");
|
2528
2616
|
|
2529
2617
|
// components/DragDropContext/index.tsx
|
2530
2618
|
init_react_import();
|
2531
|
-
var
|
2532
|
-
var
|
2619
|
+
var import_react30 = require("@dnd-kit/react");
|
2620
|
+
var import_react31 = require("react");
|
2533
2621
|
var import_dom = require("@dnd-kit/dom");
|
2534
2622
|
|
2535
2623
|
// components/DropZone/index.tsx
|
2536
2624
|
init_react_import();
|
2537
|
-
var
|
2625
|
+
var import_react29 = require("react");
|
2538
2626
|
|
2539
2627
|
// components/DraggableComponent/index.tsx
|
2540
2628
|
init_react_import();
|
2541
|
-
var
|
2629
|
+
var import_react23 = require("react");
|
2542
2630
|
|
2543
2631
|
// css-module:/home/runner/work/puck/puck/packages/core/components/DraggableComponent/styles.module.css#css-module
|
2544
2632
|
init_react_import();
|
@@ -2547,15 +2635,15 @@ var styles_module_default11 = { "DraggableComponent": "_DraggableComponent_1ukn8
|
|
2547
2635
|
// components/DraggableComponent/index.tsx
|
2548
2636
|
var import_react_dom2 = require("react-dom");
|
2549
2637
|
|
2550
|
-
//
|
2638
|
+
// lib/dnd/collision/dynamic/index.ts
|
2551
2639
|
init_react_import();
|
2552
2640
|
var import_abstract8 = require("@dnd-kit/abstract");
|
2553
2641
|
|
2554
|
-
//
|
2642
|
+
// lib/dnd/collision/directional/index.ts
|
2555
2643
|
init_react_import();
|
2556
2644
|
var import_abstract = require("@dnd-kit/abstract");
|
2557
2645
|
|
2558
|
-
//
|
2646
|
+
// lib/dnd/collision/collision-debug.ts
|
2559
2647
|
init_react_import();
|
2560
2648
|
var DEBUG = false;
|
2561
2649
|
var debugElements = {};
|
@@ -2604,7 +2692,7 @@ var collisionDebug = (a, b, id, color, label) => {
|
|
2604
2692
|
});
|
2605
2693
|
};
|
2606
2694
|
|
2607
|
-
//
|
2695
|
+
// lib/dnd/collision/directional/index.ts
|
2608
2696
|
var distanceChange = "increasing";
|
2609
2697
|
var directionalCollision = (input, previous) => {
|
2610
2698
|
var _a;
|
@@ -2637,7 +2725,7 @@ var directionalCollision = (input, previous) => {
|
|
2637
2725
|
return null;
|
2638
2726
|
};
|
2639
2727
|
|
2640
|
-
//
|
2728
|
+
// lib/dnd/collision/dynamic/get-direction.ts
|
2641
2729
|
init_react_import();
|
2642
2730
|
var getDirection = (dragAxis, delta) => {
|
2643
2731
|
if (dragAxis === "dynamic") {
|
@@ -2652,7 +2740,7 @@ var getDirection = (dragAxis, delta) => {
|
|
2652
2740
|
return delta.y === 0 ? null : delta.y > 0 ? "down" : "up";
|
2653
2741
|
};
|
2654
2742
|
|
2655
|
-
//
|
2743
|
+
// lib/dnd/collision/dynamic/get-midpoint-impact.ts
|
2656
2744
|
init_react_import();
|
2657
2745
|
var getMidpointImpact = (dragShape, dropShape, direction, offsetMultiplier = 0) => {
|
2658
2746
|
const dragRect = dragShape.boundingRectangle;
|
@@ -2671,7 +2759,7 @@ var getMidpointImpact = (dragShape, dropShape, direction, offsetMultiplier = 0)
|
|
2671
2759
|
return dragRect.right - offset >= dropCenter.x;
|
2672
2760
|
};
|
2673
2761
|
|
2674
|
-
//
|
2762
|
+
// lib/dnd/collision/dynamic/track-movement-interval.ts
|
2675
2763
|
init_react_import();
|
2676
2764
|
var import_geometry = require("@dnd-kit/geometry");
|
2677
2765
|
var INTERVAL_SENSITIVITY = 10;
|
@@ -2775,7 +2863,14 @@ var closestCorners = (input) => {
|
|
2775
2863
|
};
|
2776
2864
|
};
|
2777
2865
|
|
2778
|
-
//
|
2866
|
+
// lib/dnd/collision/dynamic/store.ts
|
2867
|
+
init_react_import();
|
2868
|
+
var import_vanilla = require("zustand/vanilla");
|
2869
|
+
var collisionStore = (0, import_vanilla.createStore)(() => ({
|
2870
|
+
fallbackEnabled: false
|
2871
|
+
}));
|
2872
|
+
|
2873
|
+
// lib/dnd/collision/dynamic/index.ts
|
2779
2874
|
var flushNext = "";
|
2780
2875
|
var createDynamicCollisionDetector = (dragAxis, midpointOffset = 0.05) => (input) => {
|
2781
2876
|
var _a, _b, _c, _d, _e;
|
@@ -2787,6 +2882,7 @@ var createDynamicCollisionDetector = (dragAxis, midpointOffset = 0.05) => (input
|
|
2787
2882
|
return null;
|
2788
2883
|
}
|
2789
2884
|
const { center: dragCenter } = dragShape;
|
2885
|
+
const { fallbackEnabled } = collisionStore.getState();
|
2790
2886
|
const interval = trackMovementInterval(position.current, dragAxis);
|
2791
2887
|
dragOperation.data = __spreadProps(__spreadValues({}, dragOperation.data), {
|
2792
2888
|
direction: interval.direction
|
@@ -2832,7 +2928,7 @@ var createDynamicCollisionDetector = (dragAxis, midpointOffset = 0.05) => (input
|
|
2832
2928
|
flushNext = "";
|
2833
2929
|
return __spreadProps(__spreadValues({}, collision), { id: shouldFlushId ? "flush" : collision.id });
|
2834
2930
|
}
|
2835
|
-
if (((_c = dragOperation.source) == null ? void 0 : _c.id) !== droppable.id) {
|
2931
|
+
if (fallbackEnabled && ((_c = dragOperation.source) == null ? void 0 : _c.id) !== droppable.id) {
|
2836
2932
|
const xAxisIntersection = dropShape.boundingRectangle.right > dragShape.boundingRectangle.left && dropShape.boundingRectangle.left < dragShape.boundingRectangle.right;
|
2837
2933
|
const yAxisIntersection = dropShape.boundingRectangle.bottom > dragShape.boundingRectangle.top && dropShape.boundingRectangle.top < dragShape.boundingRectangle.bottom;
|
2838
2934
|
if (dragAxis === "y" && xAxisIntersection || yAxisIntersection) {
|
@@ -2893,8 +2989,102 @@ function getDeepScrollPosition(element) {
|
|
2893
2989
|
return totalScroll;
|
2894
2990
|
}
|
2895
2991
|
|
2992
|
+
// components/DropZone/context.tsx
|
2993
|
+
init_react_import();
|
2994
|
+
var import_react21 = require("react");
|
2995
|
+
var import_zustand = require("zustand");
|
2996
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
2997
|
+
var dropZoneContext = (0, import_react21.createContext)(null);
|
2998
|
+
var ZoneStoreContext = (0, import_react21.createContext)(
|
2999
|
+
(0, import_zustand.createStore)(() => ({
|
3000
|
+
zoneDepthIndex: {},
|
3001
|
+
nextZoneDepthIndex: {},
|
3002
|
+
areaDepthIndex: {},
|
3003
|
+
nextAreaDepthIndex: {},
|
3004
|
+
draggedItem: null,
|
3005
|
+
previewIndex: {}
|
3006
|
+
}))
|
3007
|
+
);
|
3008
|
+
var ZoneStoreProvider = ({
|
3009
|
+
children,
|
3010
|
+
store
|
3011
|
+
}) => {
|
3012
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ZoneStoreContext.Provider, { value: store, children });
|
3013
|
+
};
|
3014
|
+
var DropZoneProvider = ({
|
3015
|
+
children,
|
3016
|
+
value
|
3017
|
+
}) => {
|
3018
|
+
const [hoveringComponent, setHoveringComponent] = (0, import_react21.useState)();
|
3019
|
+
const [areasWithZones, setAreasWithZones] = (0, import_react21.useState)(
|
3020
|
+
{}
|
3021
|
+
);
|
3022
|
+
const [activeZones, setActiveZones] = (0, import_react21.useState)({});
|
3023
|
+
const { dispatch } = useAppContext();
|
3024
|
+
const registerZoneArea = (0, import_react21.useCallback)(
|
3025
|
+
(area) => {
|
3026
|
+
setAreasWithZones((latest) => __spreadProps(__spreadValues({}, latest), { [area]: true }));
|
3027
|
+
},
|
3028
|
+
[setAreasWithZones]
|
3029
|
+
);
|
3030
|
+
const registerZone = (0, import_react21.useCallback)(
|
3031
|
+
(zoneCompound) => {
|
3032
|
+
if (!dispatch) {
|
3033
|
+
return;
|
3034
|
+
}
|
3035
|
+
dispatch({
|
3036
|
+
type: "registerZone",
|
3037
|
+
zone: zoneCompound
|
3038
|
+
});
|
3039
|
+
setActiveZones((latest) => __spreadProps(__spreadValues({}, latest), { [zoneCompound]: true }));
|
3040
|
+
},
|
3041
|
+
[setActiveZones, dispatch]
|
3042
|
+
);
|
3043
|
+
const unregisterZone = (0, import_react21.useCallback)(
|
3044
|
+
(zoneCompound) => {
|
3045
|
+
if (!dispatch) {
|
3046
|
+
return;
|
3047
|
+
}
|
3048
|
+
dispatch({
|
3049
|
+
type: "unregisterZone",
|
3050
|
+
zone: zoneCompound
|
3051
|
+
});
|
3052
|
+
setActiveZones((latest) => __spreadProps(__spreadValues({}, latest), {
|
3053
|
+
[zoneCompound]: false
|
3054
|
+
}));
|
3055
|
+
},
|
3056
|
+
[setActiveZones, dispatch]
|
3057
|
+
);
|
3058
|
+
const memoValue = (0, import_react21.useMemo)(
|
3059
|
+
() => __spreadValues({
|
3060
|
+
hoveringComponent,
|
3061
|
+
setHoveringComponent,
|
3062
|
+
registerZoneArea,
|
3063
|
+
areasWithZones,
|
3064
|
+
registerZone,
|
3065
|
+
unregisterZone,
|
3066
|
+
activeZones
|
3067
|
+
}, value),
|
3068
|
+
[value, hoveringComponent, areasWithZones, activeZones]
|
3069
|
+
);
|
3070
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, { children: memoValue && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(dropZoneContext.Provider, { value: memoValue, children }) });
|
3071
|
+
};
|
3072
|
+
|
3073
|
+
// lib/use-context-store.ts
|
3074
|
+
init_react_import();
|
3075
|
+
var import_react22 = require("react");
|
3076
|
+
var import_zustand2 = require("zustand");
|
3077
|
+
var import_shallow = require("zustand/react/shallow");
|
3078
|
+
function useContextStore(context, selector) {
|
3079
|
+
const store = (0, import_react22.useContext)(context);
|
3080
|
+
if (!store) {
|
3081
|
+
throw new Error("useContextStore must be used inside context");
|
3082
|
+
}
|
3083
|
+
return (0, import_zustand2.useStore)(store, (0, import_shallow.useShallow)(selector));
|
3084
|
+
}
|
3085
|
+
|
2896
3086
|
// components/DraggableComponent/index.tsx
|
2897
|
-
var
|
3087
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
2898
3088
|
var getClassName16 = get_class_name_factory_default("DraggableComponent", styles_module_default11);
|
2899
3089
|
var DEBUG2 = false;
|
2900
3090
|
var space = 8;
|
@@ -2905,12 +3095,12 @@ var DefaultActionBar = ({
|
|
2905
3095
|
label,
|
2906
3096
|
children,
|
2907
3097
|
parentAction
|
2908
|
-
}) => /* @__PURE__ */ (0,
|
2909
|
-
/* @__PURE__ */ (0,
|
3098
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(ActionBar, { children: [
|
3099
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(ActionBar.Group, { children: [
|
2910
3100
|
parentAction,
|
2911
|
-
label && /* @__PURE__ */ (0,
|
3101
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ActionBar.Label, { label })
|
2912
3102
|
] }),
|
2913
|
-
/* @__PURE__ */ (0,
|
3103
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ActionBar.Group, { children })
|
2914
3104
|
] });
|
2915
3105
|
var convertIdToSelector = (id, zoneCompound, data) => {
|
2916
3106
|
const content = zoneCompound && data.zones && zoneCompound !== "default-zone" ? data.zones[zoneCompound] : data.content;
|
@@ -2945,9 +3135,9 @@ var DraggableComponent = ({
|
|
2945
3135
|
iframe,
|
2946
3136
|
state
|
2947
3137
|
} = useAppContext();
|
2948
|
-
const ctx = (0,
|
2949
|
-
const [localZones, setLocalZones] = (0,
|
2950
|
-
const registerLocalZone = (0,
|
3138
|
+
const ctx = (0, import_react23.useContext)(dropZoneContext);
|
3139
|
+
const [localZones, setLocalZones] = (0, import_react23.useState)({});
|
3140
|
+
const registerLocalZone = (0, import_react23.useCallback)(
|
2951
3141
|
(zoneCompound2, active) => {
|
2952
3142
|
var _a;
|
2953
3143
|
(_a = ctx == null ? void 0 : ctx.registerLocalZone) == null ? void 0 : _a.call(ctx, zoneCompound2, active);
|
@@ -2957,7 +3147,7 @@ var DraggableComponent = ({
|
|
2957
3147
|
},
|
2958
3148
|
[setLocalZones]
|
2959
3149
|
);
|
2960
|
-
const unregisterLocalZone = (0,
|
3150
|
+
const unregisterLocalZone = (0, import_react23.useCallback)(
|
2961
3151
|
(zoneCompound2) => {
|
2962
3152
|
var _a;
|
2963
3153
|
(_a = ctx == null ? void 0 : ctx.unregisterLocalZone) == null ? void 0 : _a.call(ctx, zoneCompound2);
|
@@ -2971,8 +3161,8 @@ var DraggableComponent = ({
|
|
2971
3161
|
);
|
2972
3162
|
const containsActiveZone = Object.values(localZones).filter(Boolean).length > 0;
|
2973
3163
|
const { path = [] } = ctx || {};
|
2974
|
-
const [canDrag, setCanDrag] = (0,
|
2975
|
-
(0,
|
3164
|
+
const [canDrag, setCanDrag] = (0, import_react23.useState)(false);
|
3165
|
+
(0, import_react23.useEffect)(() => {
|
2976
3166
|
var _a;
|
2977
3167
|
const item = getItem({ index, zone: zoneCompound }, state.data);
|
2978
3168
|
if (item) {
|
@@ -2982,10 +3172,13 @@ var DraggableComponent = ({
|
|
2982
3172
|
setCanDrag((_a = perms.drag) != null ? _a : true);
|
2983
3173
|
}
|
2984
3174
|
}, [state, index, zoneCompound, getPermissions]);
|
2985
|
-
const userIsDragging =
|
3175
|
+
const userIsDragging = useContextStore(
|
3176
|
+
ZoneStoreContext,
|
3177
|
+
(s) => !!s.draggedItem
|
3178
|
+
);
|
2986
3179
|
const canCollide = canDrag || userIsDragging;
|
2987
3180
|
const disabled = !isEnabled || !canCollide;
|
2988
|
-
const [dragAxis, setDragAxis] = (0,
|
3181
|
+
const [dragAxis, setDragAxis] = (0, import_react23.useState)(userDragAxis || autoDragAxis);
|
2989
3182
|
const { ref: sortableRef, status } = useSortableSafe({
|
2990
3183
|
id,
|
2991
3184
|
index,
|
@@ -3011,8 +3204,8 @@ var DraggableComponent = ({
|
|
3011
3204
|
}
|
3012
3205
|
});
|
3013
3206
|
const thisIsDragging = status === "dragging";
|
3014
|
-
const ref = (0,
|
3015
|
-
const refSetter = (0,
|
3207
|
+
const ref = (0, import_react23.useRef)(null);
|
3208
|
+
const refSetter = (0, import_react23.useCallback)(
|
3016
3209
|
(el) => {
|
3017
3210
|
sortableRef(el);
|
3018
3211
|
if (el) {
|
@@ -3021,14 +3214,14 @@ var DraggableComponent = ({
|
|
3021
3214
|
},
|
3022
3215
|
[sortableRef]
|
3023
3216
|
);
|
3024
|
-
const [portalEl, setPortalEl] = (0,
|
3025
|
-
(0,
|
3217
|
+
const [portalEl, setPortalEl] = (0, import_react23.useState)();
|
3218
|
+
(0, import_react23.useEffect)(() => {
|
3026
3219
|
var _a, _b, _c;
|
3027
3220
|
setPortalEl(
|
3028
3221
|
iframe.enabled ? (_a = ref.current) == null ? void 0 : _a.ownerDocument.body : (_c = (_b = ref.current) == null ? void 0 : _b.closest("[data-puck-preview]")) != null ? _c : document.body
|
3029
3222
|
);
|
3030
3223
|
}, [iframe.enabled, ref.current]);
|
3031
|
-
const getStyle = (0,
|
3224
|
+
const getStyle = (0, import_react23.useCallback)(() => {
|
3032
3225
|
var _a, _b, _c;
|
3033
3226
|
if (!ref.current) return;
|
3034
3227
|
const rect = ref.current.getBoundingClientRect();
|
@@ -3048,11 +3241,11 @@ var DraggableComponent = ({
|
|
3048
3241
|
};
|
3049
3242
|
return style2;
|
3050
3243
|
}, [ref.current]);
|
3051
|
-
const [style, setStyle] = (0,
|
3052
|
-
const sync = (0,
|
3244
|
+
const [style, setStyle] = (0, import_react23.useState)();
|
3245
|
+
const sync = (0, import_react23.useCallback)(() => {
|
3053
3246
|
setStyle(getStyle());
|
3054
3247
|
}, [ref.current, iframe]);
|
3055
|
-
(0,
|
3248
|
+
(0, import_react23.useEffect)(() => {
|
3056
3249
|
if (ref.current) {
|
3057
3250
|
const observer = new ResizeObserver(sync);
|
3058
3251
|
observer.observe(ref.current);
|
@@ -3061,20 +3254,22 @@ var DraggableComponent = ({
|
|
3061
3254
|
};
|
3062
3255
|
}
|
3063
3256
|
}, [ref.current]);
|
3064
|
-
(0,
|
3065
|
-
|
3066
|
-
|
3067
|
-
|
3068
|
-
|
3257
|
+
(0, import_react23.useEffect)(() => {
|
3258
|
+
if (isSelected) {
|
3259
|
+
ctx == null ? void 0 : ctx.registerPath({
|
3260
|
+
index,
|
3261
|
+
zone: zoneCompound
|
3262
|
+
});
|
3263
|
+
}
|
3069
3264
|
}, [isSelected]);
|
3070
|
-
const CustomActionBar = (0,
|
3265
|
+
const CustomActionBar = (0, import_react23.useMemo)(
|
3071
3266
|
() => overrides.actionBar || DefaultActionBar,
|
3072
3267
|
[overrides.actionBar]
|
3073
3268
|
);
|
3074
3269
|
const permissions = getPermissions({
|
3075
3270
|
item: selectedItem
|
3076
3271
|
});
|
3077
|
-
const onClick = (0,
|
3272
|
+
const onClick = (0, import_react23.useCallback)(
|
3078
3273
|
(e) => {
|
3079
3274
|
e.stopPropagation();
|
3080
3275
|
dispatch({
|
@@ -3086,7 +3281,7 @@ var DraggableComponent = ({
|
|
3086
3281
|
},
|
3087
3282
|
[index, zoneCompound, id]
|
3088
3283
|
);
|
3089
|
-
const onSelectParent = (0,
|
3284
|
+
const onSelectParent = (0, import_react23.useCallback)(() => {
|
3090
3285
|
if (!(ctx == null ? void 0 : ctx.areaId)) {
|
3091
3286
|
return;
|
3092
3287
|
}
|
@@ -3104,23 +3299,23 @@ var DraggableComponent = ({
|
|
3104
3299
|
}
|
3105
3300
|
});
|
3106
3301
|
}, [ctx, path]);
|
3107
|
-
const onDuplicate = (0,
|
3302
|
+
const onDuplicate = (0, import_react23.useCallback)(() => {
|
3108
3303
|
dispatch({
|
3109
3304
|
type: "duplicate",
|
3110
3305
|
sourceIndex: index,
|
3111
3306
|
sourceZone: zoneCompound
|
3112
3307
|
});
|
3113
3308
|
}, [index, zoneCompound]);
|
3114
|
-
const onDelete = (0,
|
3309
|
+
const onDelete = (0, import_react23.useCallback)(() => {
|
3115
3310
|
dispatch({
|
3116
3311
|
type: "remove",
|
3117
3312
|
index,
|
3118
3313
|
zone: zoneCompound
|
3119
3314
|
});
|
3120
3315
|
}, [index, zoneCompound]);
|
3121
|
-
const [hover, setHover] = (0,
|
3316
|
+
const [hover, setHover] = (0, import_react23.useState)(false);
|
3122
3317
|
const indicativeHover = (ctx == null ? void 0 : ctx.hoveringComponent) === id;
|
3123
|
-
(0,
|
3318
|
+
(0, import_react23.useEffect)(() => {
|
3124
3319
|
if (!ref.current) {
|
3125
3320
|
return;
|
3126
3321
|
}
|
@@ -3170,7 +3365,7 @@ var DraggableComponent = ({
|
|
3170
3365
|
thisIsDragging,
|
3171
3366
|
inDroppableZone
|
3172
3367
|
]);
|
3173
|
-
(0,
|
3368
|
+
(0, import_react23.useEffect)(() => {
|
3174
3369
|
if (ref.current && disabled) {
|
3175
3370
|
ref.current.setAttribute("data-puck-disabled", "");
|
3176
3371
|
return () => {
|
@@ -3179,8 +3374,8 @@ var DraggableComponent = ({
|
|
3179
3374
|
};
|
3180
3375
|
}
|
3181
3376
|
}, [disabled, ref]);
|
3182
|
-
const [isVisible, setIsVisible] = (0,
|
3183
|
-
(0,
|
3377
|
+
const [isVisible, setIsVisible] = (0, import_react23.useState)(false);
|
3378
|
+
(0, import_react23.useEffect)(() => {
|
3184
3379
|
sync();
|
3185
3380
|
if ((isSelected || hover || indicativeHover) && !userIsDragging) {
|
3186
3381
|
setIsVisible(true);
|
@@ -3188,7 +3383,7 @@ var DraggableComponent = ({
|
|
3188
3383
|
setIsVisible(false);
|
3189
3384
|
}
|
3190
3385
|
}, [isSelected, hover, indicativeHover, iframe, state.data, userIsDragging]);
|
3191
|
-
const syncActionsPosition = (0,
|
3386
|
+
const syncActionsPosition = (0, import_react23.useCallback)(
|
3192
3387
|
(el) => {
|
3193
3388
|
if (el) {
|
3194
3389
|
const view = el.ownerDocument.defaultView;
|
@@ -3205,7 +3400,7 @@ var DraggableComponent = ({
|
|
3205
3400
|
},
|
3206
3401
|
[zoomConfig]
|
3207
3402
|
);
|
3208
|
-
(0,
|
3403
|
+
(0, import_react23.useEffect)(() => {
|
3209
3404
|
if (userDragAxis) {
|
3210
3405
|
setDragAxis(userDragAxis);
|
3211
3406
|
return;
|
@@ -3219,8 +3414,8 @@ var DraggableComponent = ({
|
|
3219
3414
|
}
|
3220
3415
|
setDragAxis(autoDragAxis);
|
3221
3416
|
}, [ref, userDragAxis, autoDragAxis]);
|
3222
|
-
const parentAction = (ctx == null ? void 0 : ctx.areaId) && (ctx == null ? void 0 : ctx.areaId) !== "root" && /* @__PURE__ */ (0,
|
3223
|
-
return /* @__PURE__ */ (0,
|
3417
|
+
const parentAction = (ctx == null ? void 0 : ctx.areaId) && (ctx == null ? void 0 : ctx.areaId) !== "root" && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ActionBar.Action, { onClick: onSelectParent, label: "Select parent", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(CornerLeftUp, { size: 16 }) });
|
3418
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
3224
3419
|
DropZoneProvider,
|
3225
3420
|
{
|
3226
3421
|
value: __spreadProps(__spreadValues({}, ctx), {
|
@@ -3234,7 +3429,7 @@ var DraggableComponent = ({
|
|
3234
3429
|
}),
|
3235
3430
|
children: [
|
3236
3431
|
isVisible && (0, import_react_dom2.createPortal)(
|
3237
|
-
/* @__PURE__ */ (0,
|
3432
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
3238
3433
|
"div",
|
3239
3434
|
{
|
3240
3435
|
className: getClassName16({
|
@@ -3246,15 +3441,15 @@ var DraggableComponent = ({
|
|
3246
3441
|
"data-puck-overlay": true,
|
3247
3442
|
children: [
|
3248
3443
|
debug,
|
3249
|
-
isLoading && /* @__PURE__ */ (0,
|
3250
|
-
/* @__PURE__ */ (0,
|
3444
|
+
isLoading && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName16("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Loader, {}) }),
|
3445
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
3251
3446
|
"div",
|
3252
3447
|
{
|
3253
3448
|
className: getClassName16("actionsOverlay"),
|
3254
3449
|
style: {
|
3255
3450
|
top: actionsOverlayTop / zoomConfig.zoom
|
3256
3451
|
},
|
3257
|
-
children: /* @__PURE__ */ (0,
|
3452
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
3258
3453
|
"div",
|
3259
3454
|
{
|
3260
3455
|
className: getClassName16("actions"),
|
@@ -3266,14 +3461,14 @@ var DraggableComponent = ({
|
|
3266
3461
|
paddingRight: actionsSide
|
3267
3462
|
},
|
3268
3463
|
ref: syncActionsPosition,
|
3269
|
-
children: /* @__PURE__ */ (0,
|
3464
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
3270
3465
|
CustomActionBar,
|
3271
3466
|
{
|
3272
3467
|
parentAction,
|
3273
3468
|
label: DEBUG2 ? id : label,
|
3274
3469
|
children: [
|
3275
|
-
permissions.duplicate && /* @__PURE__ */ (0,
|
3276
|
-
permissions.delete && /* @__PURE__ */ (0,
|
3470
|
+
permissions.duplicate && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ActionBar.Action, { onClick: onDuplicate, label: "Duplicate", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Copy, { size: 16 }) }),
|
3471
|
+
permissions.delete && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ActionBar.Action, { onClick: onDelete, label: "Delete", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Trash, { size: 16 }) })
|
3277
3472
|
]
|
3278
3473
|
}
|
3279
3474
|
)
|
@@ -3281,7 +3476,7 @@ var DraggableComponent = ({
|
|
3281
3476
|
)
|
3282
3477
|
}
|
3283
3478
|
),
|
3284
|
-
/* @__PURE__ */ (0,
|
3479
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: getClassName16("overlay") })
|
3285
3480
|
]
|
3286
3481
|
}
|
3287
3482
|
),
|
@@ -3297,70 +3492,74 @@ var DraggableComponent = ({
|
|
3297
3492
|
init_react_import();
|
3298
3493
|
var styles_module_default12 = { "DropZone": "_DropZone_kmkdc_1", "DropZone--isActive": "_DropZone--isActive_kmkdc_10", "DropZone--hasChildren": "_DropZone--hasChildren_kmkdc_14", "DropZone--userIsDragging": "_DropZone--userIsDragging_kmkdc_22", "DropZone--isAreaSelected": "_DropZone--isAreaSelected_kmkdc_26", "DropZone--hoveringOverArea": "_DropZone--hoveringOverArea_kmkdc_27", "DropZone--isRootZone": "_DropZone--isRootZone_kmkdc_27", "DropZone--isDestination": "_DropZone--isDestination_kmkdc_37", "DropZone-item": "_DropZone-item_kmkdc_49", "DropZone-hitbox": "_DropZone-hitbox_kmkdc_53", "DropZone--isEnabled": "_DropZone--isEnabled_kmkdc_61", "DropZone--isAnimating": "_DropZone--isAnimating_kmkdc_70" };
|
3299
3494
|
|
3300
|
-
// components/DropZone/
|
3495
|
+
// components/DropZone/lib/use-min-empty-height.ts
|
3301
3496
|
init_react_import();
|
3302
|
-
var
|
3303
|
-
var
|
3304
|
-
|
3305
|
-
|
3306
|
-
|
3307
|
-
value
|
3497
|
+
var import_react24 = require("react");
|
3498
|
+
var useMinEmptyHeight = ({
|
3499
|
+
zoneCompound,
|
3500
|
+
userMinEmptyHeight,
|
3501
|
+
ref
|
3308
3502
|
}) => {
|
3309
|
-
const [
|
3310
|
-
const [
|
3311
|
-
|
3312
|
-
|
3313
|
-
|
3314
|
-
|
3315
|
-
|
3316
|
-
|
3317
|
-
|
3318
|
-
|
3319
|
-
|
3320
|
-
|
3321
|
-
|
3322
|
-
|
3323
|
-
|
3324
|
-
return;
|
3325
|
-
}
|
3326
|
-
dispatch({
|
3327
|
-
type: "registerZone",
|
3328
|
-
zone: zoneCompound
|
3329
|
-
});
|
3330
|
-
setActiveZones((latest) => __spreadProps(__spreadValues({}, latest), { [zoneCompound]: true }));
|
3331
|
-
},
|
3332
|
-
[setActiveZones, dispatch]
|
3333
|
-
);
|
3334
|
-
const unregisterZone = (0, import_react21.useCallback)(
|
3335
|
-
(zoneCompound) => {
|
3336
|
-
if (!dispatch) {
|
3503
|
+
const [prevHeight, setPrevHeight] = (0, import_react24.useState)(0);
|
3504
|
+
const [isAnimating, setIsAnimating] = (0, import_react24.useState)(false);
|
3505
|
+
const { draggedItem, isZone } = useContextStore(ZoneStoreContext, (s) => {
|
3506
|
+
var _a, _b;
|
3507
|
+
return {
|
3508
|
+
draggedItem: ((_a = s.draggedItem) == null ? void 0 : _a.data.zone) === zoneCompound ? s.draggedItem : null,
|
3509
|
+
isZone: ((_b = s.draggedItem) == null ? void 0 : _b.data.zone) === zoneCompound
|
3510
|
+
};
|
3511
|
+
});
|
3512
|
+
(0, import_react24.useEffect)(() => {
|
3513
|
+
if (draggedItem && ref.current) {
|
3514
|
+
if (isZone) {
|
3515
|
+
const rect = ref.current.getBoundingClientRect();
|
3516
|
+
setPrevHeight(rect.height);
|
3517
|
+
setIsAnimating(true);
|
3337
3518
|
return;
|
3338
3519
|
}
|
3339
|
-
|
3340
|
-
|
3341
|
-
|
3342
|
-
|
3343
|
-
|
3344
|
-
|
3345
|
-
|
3346
|
-
},
|
3347
|
-
[setActiveZones, dispatch]
|
3348
|
-
);
|
3349
|
-
const memoValue = (0, import_react21.useMemo)(
|
3350
|
-
() => __spreadValues({
|
3351
|
-
hoveringComponent,
|
3352
|
-
setHoveringComponent,
|
3353
|
-
registerZoneArea,
|
3354
|
-
areasWithZones,
|
3355
|
-
registerZone,
|
3356
|
-
unregisterZone,
|
3357
|
-
activeZones
|
3358
|
-
}, value),
|
3359
|
-
[value, hoveringComponent, areasWithZones, activeZones]
|
3360
|
-
);
|
3361
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, { children: memoValue && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(dropZoneContext.Provider, { value: memoValue, children }) });
|
3520
|
+
}
|
3521
|
+
setPrevHeight(0);
|
3522
|
+
setTimeout(() => {
|
3523
|
+
setIsAnimating(false);
|
3524
|
+
}, 400);
|
3525
|
+
}, [ref.current, draggedItem, zoneCompound]);
|
3526
|
+
return [prevHeight || userMinEmptyHeight, isAnimating];
|
3362
3527
|
};
|
3363
3528
|
|
3529
|
+
// lib/assign-refs.ts
|
3530
|
+
init_react_import();
|
3531
|
+
function assignRef(ref, node) {
|
3532
|
+
if (typeof ref === "function") {
|
3533
|
+
ref(node);
|
3534
|
+
} else if (ref && typeof ref === "object" && "current" in ref) {
|
3535
|
+
ref.current = node;
|
3536
|
+
}
|
3537
|
+
}
|
3538
|
+
function assignRefs(refs, node) {
|
3539
|
+
refs.forEach((ref) => {
|
3540
|
+
assignRef(ref, node);
|
3541
|
+
});
|
3542
|
+
}
|
3543
|
+
|
3544
|
+
// components/DropZone/lib/use-content-with-preview.ts
|
3545
|
+
init_react_import();
|
3546
|
+
var import_react27 = require("react");
|
3547
|
+
|
3548
|
+
// lib/dnd/use-rendered-callback.ts
|
3549
|
+
init_react_import();
|
3550
|
+
var import_react25 = require("@dnd-kit/react");
|
3551
|
+
var import_react26 = require("react");
|
3552
|
+
function useRenderedCallback(callback, deps) {
|
3553
|
+
const manager = (0, import_react25.useDragDropManager)();
|
3554
|
+
return (0, import_react26.useCallback)(
|
3555
|
+
(...args) => __async(this, null, function* () {
|
3556
|
+
yield manager == null ? void 0 : manager.renderer.rendering;
|
3557
|
+
return callback(...args);
|
3558
|
+
}),
|
3559
|
+
[...deps, manager]
|
3560
|
+
);
|
3561
|
+
}
|
3562
|
+
|
3364
3563
|
// lib/insert.ts
|
3365
3564
|
init_react_import();
|
3366
3565
|
var insert = (list, index, item) => {
|
@@ -3369,58 +3568,102 @@ var insert = (list, index, item) => {
|
|
3369
3568
|
return result;
|
3370
3569
|
};
|
3371
3570
|
|
3372
|
-
// components/DropZone/use-
|
3571
|
+
// components/DropZone/lib/use-content-with-preview.ts
|
3572
|
+
var useContentWithPreview = (content, zoneCompound) => {
|
3573
|
+
const { draggedItemId, preview, previewExists } = useContextStore(
|
3574
|
+
ZoneStoreContext,
|
3575
|
+
(s) => {
|
3576
|
+
var _a;
|
3577
|
+
return {
|
3578
|
+
draggedItemId: (_a = s.draggedItem) == null ? void 0 : _a.id,
|
3579
|
+
preview: s.previewIndex[zoneCompound],
|
3580
|
+
previewExists: Object.keys(s.previewIndex || {}).length > 0
|
3581
|
+
};
|
3582
|
+
}
|
3583
|
+
);
|
3584
|
+
const [contentWithPreview, setContentWithPreview] = (0, import_react27.useState)(content);
|
3585
|
+
const updateContent = useRenderedCallback(
|
3586
|
+
(content2, preview2) => {
|
3587
|
+
if (preview2) {
|
3588
|
+
if (preview2.type === "insert") {
|
3589
|
+
setContentWithPreview(
|
3590
|
+
insert(
|
3591
|
+
content2.filter((item) => item.props.id !== preview2.props.id),
|
3592
|
+
preview2.index,
|
3593
|
+
{
|
3594
|
+
type: "preview",
|
3595
|
+
props: { id: preview2.props.id }
|
3596
|
+
}
|
3597
|
+
)
|
3598
|
+
);
|
3599
|
+
} else {
|
3600
|
+
setContentWithPreview(
|
3601
|
+
insert(
|
3602
|
+
content2.filter((item) => item.props.id !== preview2.props.id),
|
3603
|
+
preview2.index,
|
3604
|
+
{
|
3605
|
+
type: preview2.componentType,
|
3606
|
+
props: preview2.props
|
3607
|
+
}
|
3608
|
+
)
|
3609
|
+
);
|
3610
|
+
}
|
3611
|
+
} else {
|
3612
|
+
setContentWithPreview(
|
3613
|
+
previewExists ? content2.filter((item) => item.props.id !== draggedItemId) : content2
|
3614
|
+
);
|
3615
|
+
}
|
3616
|
+
},
|
3617
|
+
[draggedItemId, previewExists]
|
3618
|
+
);
|
3619
|
+
(0, import_react27.useEffect)(() => {
|
3620
|
+
updateContent(content, preview);
|
3621
|
+
}, [content, preview]);
|
3622
|
+
return contentWithPreview;
|
3623
|
+
};
|
3624
|
+
|
3625
|
+
// components/DropZone/lib/use-drag-axis.ts
|
3373
3626
|
init_react_import();
|
3374
|
-
var
|
3375
|
-
var
|
3376
|
-
|
3377
|
-
|
3378
|
-
|
3379
|
-
|
3380
|
-
|
3381
|
-
|
3382
|
-
|
3383
|
-
(0,
|
3384
|
-
if (
|
3385
|
-
const
|
3386
|
-
if (
|
3387
|
-
|
3388
|
-
|
3389
|
-
|
3390
|
-
|
3627
|
+
var import_react28 = require("react");
|
3628
|
+
var GRID_DRAG_AXIS = "dynamic";
|
3629
|
+
var FLEX_ROW_DRAG_AXIS = "x";
|
3630
|
+
var DEFAULT_DRAG_AXIS = "y";
|
3631
|
+
var useDragAxis = (ref, collisionAxis) => {
|
3632
|
+
const { status } = useAppContext();
|
3633
|
+
const [dragAxis, setDragAxis] = (0, import_react28.useState)(
|
3634
|
+
collisionAxis || DEFAULT_DRAG_AXIS
|
3635
|
+
);
|
3636
|
+
const calculateDragAxis = (0, import_react28.useCallback)(() => {
|
3637
|
+
if (ref.current) {
|
3638
|
+
const computedStyle = window.getComputedStyle(ref.current);
|
3639
|
+
if (computedStyle.display === "grid") {
|
3640
|
+
setDragAxis(GRID_DRAG_AXIS);
|
3641
|
+
} else if (computedStyle.display === "flex" && computedStyle.flexDirection === "row") {
|
3642
|
+
setDragAxis(FLEX_ROW_DRAG_AXIS);
|
3643
|
+
} else {
|
3644
|
+
setDragAxis(DEFAULT_DRAG_AXIS);
|
3391
3645
|
}
|
3392
3646
|
}
|
3393
|
-
|
3394
|
-
|
3395
|
-
|
3396
|
-
|
3397
|
-
|
3398
|
-
|
3647
|
+
}, [ref.current]);
|
3648
|
+
(0, import_react28.useEffect)(() => {
|
3649
|
+
const onViewportChange = () => {
|
3650
|
+
calculateDragAxis();
|
3651
|
+
};
|
3652
|
+
window.addEventListener("viewportchange", onViewportChange);
|
3653
|
+
return () => {
|
3654
|
+
window.removeEventListener("viewportchange", onViewportChange);
|
3655
|
+
};
|
3656
|
+
}, []);
|
3657
|
+
(0, import_react28.useEffect)(calculateDragAxis, [status, collisionAxis]);
|
3658
|
+
return [dragAxis, calculateDragAxis];
|
3399
3659
|
};
|
3400
3660
|
|
3401
|
-
// lib/assign-refs.ts
|
3402
|
-
init_react_import();
|
3403
|
-
function assignRef(ref, node) {
|
3404
|
-
if (typeof ref === "function") {
|
3405
|
-
ref(node);
|
3406
|
-
} else if (ref && typeof ref === "object" && "current" in ref) {
|
3407
|
-
ref.current = node;
|
3408
|
-
}
|
3409
|
-
}
|
3410
|
-
function assignRefs(refs, node) {
|
3411
|
-
refs.forEach((ref) => {
|
3412
|
-
assignRef(ref, node);
|
3413
|
-
});
|
3414
|
-
}
|
3415
|
-
|
3416
3661
|
// components/DropZone/index.tsx
|
3417
|
-
var
|
3662
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
3418
3663
|
var getClassName17 = get_class_name_factory_default("DropZone", styles_module_default12);
|
3419
|
-
var
|
3420
|
-
var
|
3421
|
-
var
|
3422
|
-
var DEFAULT_DRAG_AXIS = "y";
|
3423
|
-
var DropZoneEdit = (0, import_react23.forwardRef)(
|
3664
|
+
var getRandomColor = () => `#${Math.floor(Math.random() * 16777215).toString(16)}`;
|
3665
|
+
var RENDER_DEBUG = false;
|
3666
|
+
var DropZoneEdit = (0, import_react29.forwardRef)(
|
3424
3667
|
function DropZoneEdit2({
|
3425
3668
|
zone,
|
3426
3669
|
allow,
|
@@ -3431,31 +3674,50 @@ var DropZoneEdit = (0, import_react23.forwardRef)(
|
|
3431
3674
|
collisionAxis
|
3432
3675
|
}, userRef) {
|
3433
3676
|
const appContext2 = useAppContext();
|
3434
|
-
const ctx = (0,
|
3677
|
+
const ctx = (0, import_react29.useContext)(dropZoneContext);
|
3435
3678
|
const {
|
3436
3679
|
// These all need setting via context
|
3437
3680
|
data,
|
3438
3681
|
config,
|
3439
3682
|
areaId,
|
3440
|
-
draggedItem,
|
3441
3683
|
registerZoneArea,
|
3442
3684
|
depth,
|
3443
3685
|
registerLocalZone,
|
3444
3686
|
unregisterLocalZone,
|
3445
|
-
deepestZone = rootDroppableId,
|
3446
|
-
deepestArea,
|
3447
|
-
nextDeepestArea,
|
3448
3687
|
path = [],
|
3449
3688
|
activeZones
|
3450
3689
|
} = ctx;
|
3451
|
-
const { itemSelector } = appContext2.state.ui;
|
3452
3690
|
let zoneCompound = rootDroppableId;
|
3453
|
-
|
3691
|
+
if (areaId) {
|
3692
|
+
if (zone !== rootDroppableId) {
|
3693
|
+
zoneCompound = `${areaId}:${zone}`;
|
3694
|
+
}
|
3695
|
+
}
|
3696
|
+
const isRootZone = zoneCompound === rootDroppableId || zone === rootDroppableId || areaId === "root";
|
3697
|
+
const {
|
3698
|
+
isDeepestZone,
|
3699
|
+
inNextDeepestArea,
|
3700
|
+
draggedComponentType,
|
3701
|
+
userIsDragging,
|
3702
|
+
preview
|
3703
|
+
} = useContextStore(ZoneStoreContext, (s) => {
|
3704
|
+
var _a, _b, _c;
|
3705
|
+
return {
|
3706
|
+
isDeepestZone: (_a = s.zoneDepthIndex[zoneCompound]) != null ? _a : false,
|
3707
|
+
inNextDeepestArea: s.nextAreaDepthIndex[areaId || ""],
|
3708
|
+
draggedItemId: (_b = s.draggedItem) == null ? void 0 : _b.id,
|
3709
|
+
draggedComponentType: (_c = s.draggedItem) == null ? void 0 : _c.data.componentType,
|
3710
|
+
userIsDragging: !!s.draggedItem,
|
3711
|
+
preview: s.previewIndex[zoneCompound]
|
3712
|
+
};
|
3713
|
+
});
|
3714
|
+
const { itemSelector } = appContext2.state.ui;
|
3715
|
+
(0, import_react29.useEffect)(() => {
|
3454
3716
|
if (areaId && registerZoneArea) {
|
3455
3717
|
registerZoneArea(areaId);
|
3456
3718
|
}
|
3457
3719
|
}, [areaId]);
|
3458
|
-
(0,
|
3720
|
+
(0, import_react29.useEffect)(() => {
|
3459
3721
|
if (ctx == null ? void 0 : ctx.registerZone) {
|
3460
3722
|
ctx == null ? void 0 : ctx.registerZone(zoneCompound);
|
3461
3723
|
}
|
@@ -3465,25 +3727,18 @@ var DropZoneEdit = (0, import_react23.forwardRef)(
|
|
3465
3727
|
}
|
3466
3728
|
};
|
3467
3729
|
}, []);
|
3468
|
-
|
3469
|
-
if (zone !== rootDroppableId) {
|
3470
|
-
zoneCompound = `${areaId}:${zone}`;
|
3471
|
-
}
|
3472
|
-
}
|
3473
|
-
const content = (0, import_react23.useMemo)(() => {
|
3730
|
+
const content = (0, import_react29.useMemo)(() => {
|
3474
3731
|
if (areaId && zone !== rootDroppableId) {
|
3475
3732
|
return setupZone(data, zoneCompound).zones[zoneCompound];
|
3476
3733
|
}
|
3477
3734
|
return data.content || [];
|
3478
3735
|
}, [data, zoneCompound]);
|
3479
|
-
const ref = (0,
|
3480
|
-
const acceptsTarget = (0,
|
3481
|
-
(
|
3482
|
-
if (!
|
3736
|
+
const ref = (0, import_react29.useRef)(null);
|
3737
|
+
const acceptsTarget = (0, import_react29.useCallback)(
|
3738
|
+
(componentType) => {
|
3739
|
+
if (!componentType) {
|
3483
3740
|
return true;
|
3484
3741
|
}
|
3485
|
-
const data2 = target.data;
|
3486
|
-
const { componentType } = data2;
|
3487
3742
|
if (disallow) {
|
3488
3743
|
const defaultedAllow = allow || [];
|
3489
3744
|
const filteredDisallow = (disallow || []).filter(
|
@@ -3501,49 +3756,26 @@ var DropZoneEdit = (0, import_react23.forwardRef)(
|
|
3501
3756
|
},
|
3502
3757
|
[allow, disallow]
|
3503
3758
|
);
|
3504
|
-
(0,
|
3759
|
+
(0, import_react29.useEffect)(() => {
|
3505
3760
|
if (registerLocalZone) {
|
3506
|
-
registerLocalZone(zoneCompound, acceptsTarget(
|
3761
|
+
registerLocalZone(zoneCompound, acceptsTarget(draggedComponentType));
|
3507
3762
|
}
|
3508
3763
|
return () => {
|
3509
3764
|
if (unregisterLocalZone) {
|
3510
3765
|
unregisterLocalZone(zoneCompound);
|
3511
3766
|
}
|
3512
3767
|
};
|
3513
|
-
}, [
|
3514
|
-
const
|
3515
|
-
const hoveringOverArea = nextDeepestArea ? nextDeepestArea === areaId : isRootZone;
|
3516
|
-
const userIsDragging = !!draggedItem;
|
3768
|
+
}, [draggedComponentType, zoneCompound]);
|
3769
|
+
const hoveringOverArea = inNextDeepestArea || isRootZone;
|
3517
3770
|
let isEnabled = true;
|
3518
|
-
if (
|
3519
|
-
isEnabled =
|
3771
|
+
if (userIsDragging) {
|
3772
|
+
isEnabled = isDeepestZone;
|
3520
3773
|
}
|
3521
3774
|
if (isEnabled) {
|
3522
|
-
isEnabled = acceptsTarget(
|
3523
|
-
}
|
3524
|
-
const
|
3525
|
-
const
|
3526
|
-
const contentWithPreview = (0, import_react23.useMemo)(() => {
|
3527
|
-
let contentWithPreview2 = preview ? content.filter((item) => item.props.id !== preview.props.id) : content;
|
3528
|
-
if (previewInZone) {
|
3529
|
-
contentWithPreview2 = content.filter(
|
3530
|
-
(item) => item.props.id !== preview.props.id
|
3531
|
-
);
|
3532
|
-
if (preview.type === "insert") {
|
3533
|
-
contentWithPreview2 = insert(contentWithPreview2, preview.index, {
|
3534
|
-
type: "preview",
|
3535
|
-
props: { id: preview.props.id }
|
3536
|
-
});
|
3537
|
-
} else {
|
3538
|
-
contentWithPreview2 = insert(contentWithPreview2, preview.index, {
|
3539
|
-
type: preview.componentType,
|
3540
|
-
props: preview.props
|
3541
|
-
});
|
3542
|
-
}
|
3543
|
-
}
|
3544
|
-
return contentWithPreview2;
|
3545
|
-
}, [preview, content]);
|
3546
|
-
const isDropEnabled = isEnabled && (previewInZone ? contentWithPreview.length === 1 : contentWithPreview.length === 0);
|
3775
|
+
isEnabled = acceptsTarget(draggedComponentType);
|
3776
|
+
}
|
3777
|
+
const contentWithPreview = useContentWithPreview(content, zoneCompound);
|
3778
|
+
const isDropEnabled = isEnabled && (preview ? contentWithPreview.length === 1 : contentWithPreview.length === 0);
|
3547
3779
|
const droppableConfig = {
|
3548
3780
|
id: zoneCompound,
|
3549
3781
|
collisionPriority: isEnabled ? depth : 0,
|
@@ -3553,45 +3785,20 @@ var DropZoneEdit = (0, import_react23.forwardRef)(
|
|
3553
3785
|
data: {
|
3554
3786
|
areaId,
|
3555
3787
|
depth,
|
3556
|
-
isDroppableTarget: acceptsTarget(
|
3788
|
+
isDroppableTarget: acceptsTarget(draggedComponentType),
|
3557
3789
|
path
|
3558
3790
|
}
|
3559
3791
|
};
|
3560
3792
|
const { ref: dropRef } = useDroppableSafe(droppableConfig);
|
3561
3793
|
const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
|
3562
3794
|
const isAreaSelected = selectedItem && areaId === selectedItem.props.id;
|
3563
|
-
const [dragAxis
|
3564
|
-
collisionAxis || DEFAULT_DRAG_AXIS
|
3565
|
-
);
|
3566
|
-
const calculateDragAxis = (0, import_react23.useCallback)(() => {
|
3567
|
-
if (ref.current) {
|
3568
|
-
const computedStyle = window.getComputedStyle(ref.current);
|
3569
|
-
if (computedStyle.display === "grid") {
|
3570
|
-
setDragAxis(GRID_DRAG_AXIS);
|
3571
|
-
} else if (computedStyle.display === "flex" && computedStyle.flexDirection === "row") {
|
3572
|
-
setDragAxis(FLEX_ROW_DRAG_AXIS);
|
3573
|
-
} else {
|
3574
|
-
setDragAxis(DEFAULT_DRAG_AXIS);
|
3575
|
-
}
|
3576
|
-
}
|
3577
|
-
}, [ref.current]);
|
3578
|
-
(0, import_react23.useEffect)(calculateDragAxis, [appContext2.status, collisionAxis]);
|
3579
|
-
(0, import_react23.useEffect)(() => {
|
3580
|
-
const onViewportChange = () => {
|
3581
|
-
calculateDragAxis();
|
3582
|
-
};
|
3583
|
-
window.addEventListener("viewportchange", onViewportChange);
|
3584
|
-
return () => {
|
3585
|
-
window.removeEventListener("viewportchange", onViewportChange);
|
3586
|
-
};
|
3587
|
-
}, []);
|
3795
|
+
const [dragAxis] = useDragAxis(ref, collisionAxis);
|
3588
3796
|
const [minEmptyHeight, isAnimating] = useMinEmptyHeight({
|
3589
|
-
draggedItem,
|
3590
3797
|
zoneCompound,
|
3591
3798
|
userMinEmptyHeight,
|
3592
3799
|
ref
|
3593
3800
|
});
|
3594
|
-
return /* @__PURE__ */ (0,
|
3801
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
3595
3802
|
"div",
|
3596
3803
|
{
|
3597
3804
|
className: `${getClassName17({
|
@@ -3611,88 +3818,83 @@ var DropZoneEdit = (0, import_react23.forwardRef)(
|
|
3611
3818
|
"data-puck-dropzone": zoneCompound,
|
3612
3819
|
"data-puck-dnd": zoneCompound,
|
3613
3820
|
style: __spreadProps(__spreadValues({}, style), {
|
3614
|
-
"--min-empty-height": `${minEmptyHeight}px
|
3821
|
+
"--min-empty-height": `${minEmptyHeight}px`,
|
3822
|
+
backgroundColor: RENDER_DEBUG ? getRandomColor() : void 0
|
3615
3823
|
}),
|
3616
|
-
children:
|
3617
|
-
|
3618
|
-
|
3619
|
-
|
3620
|
-
|
3621
|
-
|
3622
|
-
|
3623
|
-
|
3624
|
-
|
3625
|
-
|
3626
|
-
|
3627
|
-
|
3824
|
+
children: contentWithPreview.map((item, i) => {
|
3825
|
+
var _a, _b, _c, _d, _e;
|
3826
|
+
const componentId = item.props.id;
|
3827
|
+
const puckProps = {
|
3828
|
+
renderDropZone: DropZone,
|
3829
|
+
isEditing: true,
|
3830
|
+
dragRef: null
|
3831
|
+
};
|
3832
|
+
const defaultedProps = __spreadProps(__spreadValues(__spreadValues({}, (_a = config.components[item.type]) == null ? void 0 : _a.defaultProps), item.props), {
|
3833
|
+
puck: puckProps,
|
3834
|
+
editMode: true
|
3835
|
+
// DEPRECATED
|
3836
|
+
});
|
3837
|
+
const isSelected = (selectedItem == null ? void 0 : selectedItem.props.id) === componentId || false;
|
3838
|
+
let Render2 = config.components[item.type] && item.type !== "preview" ? config.components[item.type].render : () => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { style: { padding: 48, textAlign: "center" }, children: [
|
3839
|
+
"No configuration for ",
|
3840
|
+
item.type
|
3841
|
+
] });
|
3842
|
+
const componentConfig = config.components[item.type];
|
3843
|
+
let componentType = item.type;
|
3844
|
+
let label = (_b = componentConfig == null ? void 0 : componentConfig["label"]) != null ? _b : item.type.toString();
|
3845
|
+
if (item.type === "preview" && preview) {
|
3846
|
+
let Preview4 = function() {
|
3847
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DrawerItemInner, { name: label, children: appContext2.overrides.componentItem });
|
3628
3848
|
};
|
3629
|
-
|
3630
|
-
|
3631
|
-
|
3632
|
-
|
3633
|
-
|
3634
|
-
|
3635
|
-
|
3636
|
-
|
3637
|
-
|
3638
|
-
|
3639
|
-
|
3640
|
-
|
3641
|
-
|
3642
|
-
|
3643
|
-
|
3644
|
-
|
3645
|
-
|
3646
|
-
|
3647
|
-
|
3648
|
-
|
3649
|
-
|
3650
|
-
|
3651
|
-
|
3652
|
-
|
3653
|
-
|
3654
|
-
|
3655
|
-
|
3656
|
-
|
3657
|
-
|
3658
|
-
id: componentId,
|
3659
|
-
componentType,
|
3660
|
-
zoneCompound,
|
3661
|
-
depth: depth + 1,
|
3662
|
-
index: i,
|
3663
|
-
isLoading: ((_e = appContext2.componentState[componentId]) == null ? void 0 : _e.loadingCount) > 0,
|
3664
|
-
isSelected,
|
3665
|
-
label,
|
3666
|
-
isEnabled,
|
3667
|
-
autoDragAxis: dragAxis,
|
3668
|
-
userDragAxis: collisionAxis,
|
3669
|
-
inDroppableZone: acceptsTarget(draggedItem),
|
3670
|
-
children: (dragRef) => (componentConfig == null ? void 0 : componentConfig.inline) ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
3671
|
-
Render2,
|
3672
|
-
__spreadProps(__spreadValues({}, defaultedProps), {
|
3673
|
-
puck: __spreadProps(__spreadValues({}, defaultedProps.puck), {
|
3674
|
-
dragRef
|
3675
|
-
})
|
3849
|
+
var Preview3 = Preview4;
|
3850
|
+
componentType = preview.componentType;
|
3851
|
+
label = (_d = (_c = config.components[componentType]) == null ? void 0 : _c.label) != null ? _d : preview.componentType;
|
3852
|
+
Render2 = Preview4;
|
3853
|
+
}
|
3854
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
3855
|
+
DropZoneProvider,
|
3856
|
+
{
|
3857
|
+
value: __spreadProps(__spreadValues({}, ctx), { path: [...path, zoneCompound] }),
|
3858
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
3859
|
+
DraggableComponent,
|
3860
|
+
{
|
3861
|
+
id: componentId,
|
3862
|
+
componentType,
|
3863
|
+
zoneCompound,
|
3864
|
+
depth: depth + 1,
|
3865
|
+
index: i,
|
3866
|
+
isLoading: ((_e = appContext2.componentState[componentId]) == null ? void 0 : _e.loadingCount) > 0,
|
3867
|
+
isSelected,
|
3868
|
+
label,
|
3869
|
+
isEnabled,
|
3870
|
+
autoDragAxis: dragAxis,
|
3871
|
+
userDragAxis: collisionAxis,
|
3872
|
+
inDroppableZone: acceptsTarget(draggedComponentType),
|
3873
|
+
children: (dragRef) => (componentConfig == null ? void 0 : componentConfig.inline) ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
3874
|
+
Render2,
|
3875
|
+
__spreadProps(__spreadValues({}, defaultedProps), {
|
3876
|
+
puck: __spreadProps(__spreadValues({}, defaultedProps.puck), {
|
3877
|
+
dragRef
|
3676
3878
|
})
|
3677
|
-
|
3678
|
-
}
|
3679
|
-
|
3680
|
-
|
3681
|
-
|
3682
|
-
|
3683
|
-
|
3684
|
-
|
3879
|
+
})
|
3880
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { ref: dragRef, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Render2, __spreadValues({}, defaultedProps)) })
|
3881
|
+
}
|
3882
|
+
)
|
3883
|
+
},
|
3884
|
+
componentId
|
3885
|
+
);
|
3886
|
+
})
|
3685
3887
|
}
|
3686
3888
|
);
|
3687
3889
|
}
|
3688
3890
|
);
|
3689
|
-
var DropZoneRender = (0,
|
3891
|
+
var DropZoneRender = (0, import_react29.forwardRef)(
|
3690
3892
|
function DropZoneRender2({ className, style, zone }, ref) {
|
3691
|
-
const ctx = (0,
|
3893
|
+
const ctx = (0, import_react29.useContext)(dropZoneContext);
|
3692
3894
|
const { data, areaId = "root", config } = ctx || {};
|
3693
3895
|
let zoneCompound = rootDroppableId;
|
3694
3896
|
let content = (data == null ? void 0 : data.content) || [];
|
3695
|
-
(0,
|
3897
|
+
(0, import_react29.useEffect)(() => {
|
3696
3898
|
if (ctx == null ? void 0 : ctx.registerZone) {
|
3697
3899
|
ctx == null ? void 0 : ctx.registerZone(zoneCompound);
|
3698
3900
|
}
|
@@ -3709,10 +3911,10 @@ var DropZoneRender = (0, import_react23.forwardRef)(
|
|
3709
3911
|
zoneCompound = `${areaId}:${zone}`;
|
3710
3912
|
content = setupZone(data, zoneCompound).zones[zoneCompound];
|
3711
3913
|
}
|
3712
|
-
return /* @__PURE__ */ (0,
|
3914
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className, style, ref, children: content.map((item) => {
|
3713
3915
|
const Component = config.components[item.type];
|
3714
3916
|
if (Component) {
|
3715
|
-
return /* @__PURE__ */ (0,
|
3917
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
3716
3918
|
DropZoneProvider,
|
3717
3919
|
{
|
3718
3920
|
value: {
|
@@ -3722,7 +3924,7 @@ var DropZoneRender = (0, import_react23.forwardRef)(
|
|
3722
3924
|
depth: 1,
|
3723
3925
|
path: []
|
3724
3926
|
},
|
3725
|
-
children: /* @__PURE__ */ (0,
|
3927
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
3726
3928
|
Component.render,
|
3727
3929
|
__spreadProps(__spreadValues({}, item.props), {
|
3728
3930
|
puck: { renderDropZone: DropZoneRender2 }
|
@@ -3736,13 +3938,13 @@ var DropZoneRender = (0, import_react23.forwardRef)(
|
|
3736
3938
|
}) });
|
3737
3939
|
}
|
3738
3940
|
);
|
3739
|
-
var DropZone = (0,
|
3941
|
+
var DropZone = (0, import_react29.forwardRef)(
|
3740
3942
|
function DropZone2(props, ref) {
|
3741
|
-
const ctx = (0,
|
3943
|
+
const ctx = (0, import_react29.useContext)(dropZoneContext);
|
3742
3944
|
if ((ctx == null ? void 0 : ctx.mode) === "edit") {
|
3743
|
-
return /* @__PURE__ */ (0,
|
3945
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_jsx_runtime22.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropZoneEdit, __spreadProps(__spreadValues({}, props), { ref })) });
|
3744
3946
|
}
|
3745
|
-
return /* @__PURE__ */ (0,
|
3947
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_jsx_runtime22.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropZoneRender, __spreadProps(__spreadValues({}, props), { ref })) });
|
3746
3948
|
}
|
3747
3949
|
);
|
3748
3950
|
|
@@ -3758,7 +3960,7 @@ var getZoneId = (zoneCompound) => {
|
|
3758
3960
|
return [rootDroppableId, zoneCompound];
|
3759
3961
|
};
|
3760
3962
|
|
3761
|
-
//
|
3963
|
+
// lib/dnd/NestedDroppablePlugin.ts
|
3762
3964
|
init_react_import();
|
3763
3965
|
var import_abstract9 = require("@dnd-kit/abstract");
|
3764
3966
|
var import_state = require("@dnd-kit/state");
|
@@ -3800,7 +4002,49 @@ var getFrame = () => {
|
|
3800
4002
|
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
3801
4003
|
};
|
3802
4004
|
|
3803
|
-
//
|
4005
|
+
// lib/global-position.ts
|
4006
|
+
init_react_import();
|
4007
|
+
var GlobalPosition = class {
|
4008
|
+
constructor(target, original) {
|
4009
|
+
this.scaleFactor = 1;
|
4010
|
+
this.frameEl = null;
|
4011
|
+
this.frameRect = null;
|
4012
|
+
var _a;
|
4013
|
+
this.target = target;
|
4014
|
+
this.original = original;
|
4015
|
+
this.frameEl = document.querySelector("iframe");
|
4016
|
+
if (this.frameEl) {
|
4017
|
+
this.frameRect = this.frameEl.getBoundingClientRect();
|
4018
|
+
this.scaleFactor = this.frameRect.width / (((_a = this.frameEl.contentWindow) == null ? void 0 : _a.innerWidth) || 1);
|
4019
|
+
}
|
4020
|
+
}
|
4021
|
+
get x() {
|
4022
|
+
return this.original.x;
|
4023
|
+
}
|
4024
|
+
get y() {
|
4025
|
+
return this.original.y;
|
4026
|
+
}
|
4027
|
+
get global() {
|
4028
|
+
if (document !== this.target.ownerDocument && this.frameRect) {
|
4029
|
+
return {
|
4030
|
+
x: this.x * this.scaleFactor + this.frameRect.left,
|
4031
|
+
y: this.y * this.scaleFactor + this.frameRect.top
|
4032
|
+
};
|
4033
|
+
}
|
4034
|
+
return this.original;
|
4035
|
+
}
|
4036
|
+
get frame() {
|
4037
|
+
if (document === this.target.ownerDocument && this.frameRect) {
|
4038
|
+
return {
|
4039
|
+
x: (this.x - this.frameRect.left) / this.scaleFactor,
|
4040
|
+
y: (this.y - this.frameRect.top) / this.scaleFactor
|
4041
|
+
};
|
4042
|
+
}
|
4043
|
+
return this.original;
|
4044
|
+
}
|
4045
|
+
};
|
4046
|
+
|
4047
|
+
// lib/dnd/NestedDroppablePlugin.ts
|
3804
4048
|
var depthSort = (candidates) => {
|
3805
4049
|
return candidates.sort((a, b) => {
|
3806
4050
|
const aData = a.data;
|
@@ -3829,10 +4073,12 @@ var getZoneId2 = (candidate) => {
|
|
3829
4073
|
}
|
3830
4074
|
return id;
|
3831
4075
|
};
|
3832
|
-
var getPointerCollisions = (position, manager
|
3833
|
-
var _a;
|
4076
|
+
var getPointerCollisions = (position, manager) => {
|
3834
4077
|
const candidates = [];
|
3835
|
-
let elements = ownerDocument.elementsFromPoint(
|
4078
|
+
let elements = position.target.ownerDocument.elementsFromPoint(
|
4079
|
+
position.x,
|
4080
|
+
position.y
|
4081
|
+
);
|
3836
4082
|
const previewFrame = elements.find(
|
3837
4083
|
(el) => el.getAttribute("data-puck-preview")
|
3838
4084
|
);
|
@@ -3841,17 +4087,9 @@ var getPointerCollisions = (position, manager, ownerDocument) => {
|
|
3841
4087
|
elements = [drawer];
|
3842
4088
|
}
|
3843
4089
|
if (previewFrame) {
|
3844
|
-
const
|
3845
|
-
if (
|
3846
|
-
|
3847
|
-
const frame = getFrame();
|
3848
|
-
if (frame) {
|
3849
|
-
const scaleFactor = rect.width / (((_a = iframe.contentWindow) == null ? void 0 : _a.innerWidth) || 1);
|
3850
|
-
elements = frame.elementsFromPoint(
|
3851
|
-
(position.x - rect.left) / scaleFactor,
|
3852
|
-
(position.y - rect.top) / scaleFactor
|
3853
|
-
);
|
3854
|
-
}
|
4090
|
+
const frame = getFrame();
|
4091
|
+
if (frame) {
|
4092
|
+
elements = frame.elementsFromPoint(position.frame.x, position.frame.y);
|
3855
4093
|
}
|
3856
4094
|
}
|
3857
4095
|
if (elements) {
|
@@ -3868,9 +4106,9 @@ var getPointerCollisions = (position, manager, ownerDocument) => {
|
|
3868
4106
|
}
|
3869
4107
|
return candidates;
|
3870
4108
|
};
|
3871
|
-
var findDeepestCandidate = (position, manager
|
4109
|
+
var findDeepestCandidate = (position, manager) => {
|
3872
4110
|
var _a;
|
3873
|
-
const candidates = getPointerCollisions(position, manager
|
4111
|
+
const candidates = getPointerCollisions(position, manager);
|
3874
4112
|
if (candidates.length > 0) {
|
3875
4113
|
const sortedCandidates = depthSort(candidates);
|
3876
4114
|
const draggable = manager.dragOperation.source;
|
@@ -3915,9 +4153,7 @@ var findDeepestCandidate = (position, manager, ownerDocument) => {
|
|
3915
4153
|
area: null
|
3916
4154
|
};
|
3917
4155
|
};
|
3918
|
-
var createNestedDroppablePlugin = ({
|
3919
|
-
onChange
|
3920
|
-
}) => class NestedDroppablePlugin extends import_abstract9.Plugin {
|
4156
|
+
var createNestedDroppablePlugin = ({ onChange }, id) => class NestedDroppablePlugin extends import_abstract9.Plugin {
|
3921
4157
|
constructor(manager, options) {
|
3922
4158
|
super(manager);
|
3923
4159
|
if (typeof window === "undefined") {
|
@@ -3925,16 +4161,19 @@ var createNestedDroppablePlugin = ({
|
|
3925
4161
|
}
|
3926
4162
|
const cleanupEffect = (0, import_state.effects)(() => {
|
3927
4163
|
const handleMove = (event) => {
|
3928
|
-
const
|
4164
|
+
const target = event.originalTarget || event.target;
|
4165
|
+
const position = new GlobalPosition(target, {
|
3929
4166
|
x: event.clientX,
|
3930
4167
|
y: event.clientY
|
3931
|
-
};
|
3932
|
-
const
|
3933
|
-
|
3934
|
-
|
3935
|
-
findDeepestCandidate(position, manager, ownerDocument),
|
3936
|
-
manager
|
4168
|
+
});
|
4169
|
+
const elements = document.elementsFromPoint(
|
4170
|
+
position.global.x,
|
4171
|
+
position.global.y
|
3937
4172
|
);
|
4173
|
+
const overEl = elements.some((el) => el.id === id);
|
4174
|
+
if (overEl) {
|
4175
|
+
onChange(findDeepestCandidate(position, manager), manager);
|
4176
|
+
}
|
3938
4177
|
};
|
3939
4178
|
const handleMoveThrottled = throttle(handleMove, 50);
|
3940
4179
|
const handlePointerMove = (event) => {
|
@@ -4351,7 +4590,7 @@ var insertComponent = (componentType, zone, index, {
|
|
4351
4590
|
var import_use_debounce2 = require("use-debounce");
|
4352
4591
|
var import_utilities2 = require("@dnd-kit/dom/utilities");
|
4353
4592
|
|
4354
|
-
//
|
4593
|
+
// lib/dnd/PointerSensor.ts
|
4355
4594
|
init_react_import();
|
4356
4595
|
var import_state3 = require("@dnd-kit/state");
|
4357
4596
|
var import_abstract10 = require("@dnd-kit/abstract");
|
@@ -4613,13 +4852,15 @@ function patchWindow(window2) {
|
|
4613
4852
|
}
|
4614
4853
|
|
4615
4854
|
// components/DragDropContext/index.tsx
|
4616
|
-
var
|
4617
|
-
var
|
4855
|
+
var import_zustand3 = require("zustand");
|
4856
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
4857
|
+
var DEBUG3 = false;
|
4858
|
+
var dragListenerContext = (0, import_react31.createContext)({
|
4618
4859
|
dragListeners: {}
|
4619
4860
|
});
|
4620
4861
|
function useDragListener(type, fn, deps = []) {
|
4621
|
-
const { setDragListeners } = (0,
|
4622
|
-
(0,
|
4862
|
+
const { setDragListeners } = (0, import_react31.useContext)(dragListenerContext);
|
4863
|
+
(0, import_react31.useEffect)(() => {
|
4623
4864
|
if (setDragListeners) {
|
4624
4865
|
setDragListeners((old) => __spreadProps(__spreadValues({}, old), {
|
4625
4866
|
[type]: [...old[type] || [], fn]
|
@@ -4627,80 +4868,147 @@ function useDragListener(type, fn, deps = []) {
|
|
4627
4868
|
}
|
4628
4869
|
}, deps);
|
4629
4870
|
}
|
4630
|
-
var previewContext = (0, import_react25.createContext)(null);
|
4631
4871
|
var AREA_CHANGE_DEBOUNCE_MS = 100;
|
4872
|
+
var useTempDisableFallback = (timeout3) => {
|
4873
|
+
const lastFallbackDisable = (0, import_react31.useRef)(null);
|
4874
|
+
return (0, import_react31.useCallback)((manager) => {
|
4875
|
+
collisionStore.setState({ fallbackEnabled: false });
|
4876
|
+
const fallbackId = generateId();
|
4877
|
+
lastFallbackDisable.current = fallbackId;
|
4878
|
+
setTimeout(() => {
|
4879
|
+
if (lastFallbackDisable.current === fallbackId) {
|
4880
|
+
collisionStore.setState({ fallbackEnabled: true });
|
4881
|
+
manager.collisionObserver.forceUpdate(true);
|
4882
|
+
}
|
4883
|
+
}, timeout3);
|
4884
|
+
}, []);
|
4885
|
+
};
|
4632
4886
|
var DragDropContextClient = ({
|
4633
4887
|
children,
|
4634
4888
|
disableAutoScroll
|
4635
4889
|
}) => {
|
4636
4890
|
const { state, config, dispatch, resolveData } = useAppContext();
|
4637
|
-
const
|
4638
|
-
const previewRef = (0, import_react25.useRef)(null);
|
4891
|
+
const id = (0, import_react31.useId)();
|
4639
4892
|
const { data } = state;
|
4640
|
-
const
|
4641
|
-
const
|
4642
|
-
const
|
4643
|
-
|
4644
|
-
|
4893
|
+
const debouncedParamsRef = (0, import_react31.useRef)(null);
|
4894
|
+
const tempDisableFallback = useTempDisableFallback(100);
|
4895
|
+
const [zoneStore] = (0, import_react31.useState)(
|
4896
|
+
() => (0, import_zustand3.createStore)(() => ({
|
4897
|
+
zoneDepthIndex: {},
|
4898
|
+
nextZoneDepthIndex: {},
|
4899
|
+
areaDepthIndex: {},
|
4900
|
+
nextAreaDepthIndex: {},
|
4901
|
+
draggedItem: null,
|
4902
|
+
previewIndex: {}
|
4903
|
+
}))
|
4904
|
+
);
|
4905
|
+
const getChanged2 = (0, import_react31.useCallback)(
|
4906
|
+
(params, id2) => {
|
4907
|
+
const { zoneDepthIndex = {}, areaDepthIndex = {} } = zoneStore.getState() || {};
|
4908
|
+
const stateHasZone = Object.keys(zoneDepthIndex).length > 0;
|
4909
|
+
const stateHasArea = Object.keys(areaDepthIndex).length > 0;
|
4910
|
+
let zoneChanged = false;
|
4911
|
+
let areaChanged = false;
|
4912
|
+
if (params.zone && !zoneDepthIndex[params.zone]) {
|
4913
|
+
zoneChanged = true;
|
4914
|
+
} else if (!params.zone && stateHasZone) {
|
4915
|
+
zoneChanged = true;
|
4916
|
+
}
|
4917
|
+
if (params.area && !areaDepthIndex[params.area]) {
|
4918
|
+
areaChanged = true;
|
4919
|
+
} else if (!params.area && stateHasArea) {
|
4920
|
+
areaChanged = true;
|
4921
|
+
}
|
4922
|
+
return { zoneChanged, areaChanged };
|
4923
|
+
},
|
4924
|
+
[zoneStore]
|
4925
|
+
);
|
4926
|
+
const setDeepestAndCollide = (0, import_react31.useCallback)(
|
4645
4927
|
(params, manager) => {
|
4646
|
-
|
4928
|
+
const { zoneChanged, areaChanged } = getChanged2(params, id);
|
4929
|
+
if (!zoneChanged && !areaChanged) return;
|
4930
|
+
zoneStore.setState({
|
4931
|
+
zoneDepthIndex: params.zone ? { [params.zone]: true } : {},
|
4932
|
+
areaDepthIndex: params.area ? { [params.area]: true } : {}
|
4933
|
+
});
|
4934
|
+
tempDisableFallback(manager);
|
4647
4935
|
setTimeout(() => {
|
4648
4936
|
manager.collisionObserver.forceUpdate(true);
|
4649
4937
|
}, 50);
|
4650
4938
|
debouncedParamsRef.current = null;
|
4651
4939
|
},
|
4652
|
-
[]
|
4940
|
+
[zoneStore]
|
4653
4941
|
);
|
4654
4942
|
const setDeepestDb = (0, import_use_debounce2.useDebouncedCallback)(
|
4655
4943
|
setDeepestAndCollide,
|
4656
4944
|
AREA_CHANGE_DEBOUNCE_MS
|
4657
4945
|
);
|
4658
|
-
(0, import_react25.useEffect)(() => {
|
4659
|
-
deepestRef.current = deepest;
|
4660
|
-
}, [deepest]);
|
4661
4946
|
const cancelDb = () => {
|
4662
4947
|
setDeepestDb.cancel();
|
4663
4948
|
debouncedParamsRef.current = null;
|
4664
4949
|
};
|
4665
|
-
|
4666
|
-
|
4667
|
-
|
4668
|
-
|
4669
|
-
|
4670
|
-
|
4671
|
-
|
4672
|
-
|
4673
|
-
|
4674
|
-
|
4675
|
-
}
|
4676
|
-
if (params.zone !== "void" && (lastParams == null ? void 0 : lastParams.zone) === "void") {
|
4677
|
-
setDeepest(params);
|
4678
|
-
manager.collisionObserver.forceUpdate(true);
|
4679
|
-
return;
|
4950
|
+
(0, import_react31.useEffect)(() => {
|
4951
|
+
if (DEBUG3) {
|
4952
|
+
zoneStore.subscribe(
|
4953
|
+
(s) => {
|
4954
|
+
var _a, _b;
|
4955
|
+
return console.log(
|
4956
|
+
s.previewIndex,
|
4957
|
+
(_a = Object.entries(s.zoneDepthIndex || {})[0]) == null ? void 0 : _a[0],
|
4958
|
+
(_b = Object.entries(s.areaDepthIndex || {})[0]) == null ? void 0 : _b[0]
|
4959
|
+
);
|
4680
4960
|
}
|
4681
|
-
|
4682
|
-
|
4683
|
-
|
4684
|
-
|
4685
|
-
|
4961
|
+
);
|
4962
|
+
}
|
4963
|
+
}, []);
|
4964
|
+
const [plugins] = (0, import_react31.useState)(() => [
|
4965
|
+
...disableAutoScroll ? import_dom.defaultPreset.plugins.filter((plugin) => plugin !== import_dom.AutoScroller) : import_dom.defaultPreset.plugins,
|
4966
|
+
createNestedDroppablePlugin(
|
4967
|
+
{
|
4968
|
+
onChange: (params, manager) => {
|
4969
|
+
const state2 = zoneStore.getState();
|
4970
|
+
const { zoneChanged, areaChanged } = getChanged2(params, id);
|
4971
|
+
const isDragging = manager.dragOperation.status.dragging;
|
4972
|
+
if (areaChanged || zoneChanged) {
|
4973
|
+
let nextZoneDepthIndex = {};
|
4974
|
+
let nextAreaDepthIndex = {};
|
4975
|
+
if (params.zone) {
|
4976
|
+
nextZoneDepthIndex = { [params.zone]: true };
|
4977
|
+
}
|
4978
|
+
if (params.area) {
|
4979
|
+
nextAreaDepthIndex = { [params.area]: true };
|
4980
|
+
}
|
4981
|
+
zoneStore.setState({ nextZoneDepthIndex, nextAreaDepthIndex });
|
4982
|
+
}
|
4983
|
+
if (params.zone !== "void" && (state2 == null ? void 0 : state2.zoneDepthIndex["void"])) {
|
4984
|
+
setDeepestAndCollide(params, manager);
|
4985
|
+
return;
|
4986
|
+
}
|
4987
|
+
if (areaChanged) {
|
4988
|
+
if (isDragging) {
|
4989
|
+
const debouncedParams = debouncedParamsRef.current;
|
4990
|
+
const isSameParams = debouncedParams && debouncedParams.area === params.area && debouncedParams.zone === params.zone;
|
4991
|
+
if (!isSameParams) {
|
4992
|
+
cancelDb();
|
4993
|
+
setDeepestDb(params, manager);
|
4994
|
+
debouncedParamsRef.current = params;
|
4995
|
+
}
|
4996
|
+
} else {
|
4686
4997
|
cancelDb();
|
4687
|
-
|
4688
|
-
debouncedParamsRef.current = params;
|
4998
|
+
setDeepestAndCollide(params, manager);
|
4689
4999
|
}
|
4690
|
-
|
4691
|
-
|
5000
|
+
return;
|
5001
|
+
}
|
5002
|
+
if (zoneChanged) {
|
4692
5003
|
setDeepestAndCollide(params, manager);
|
4693
5004
|
}
|
4694
|
-
|
5005
|
+
cancelDb();
|
4695
5006
|
}
|
4696
|
-
|
4697
|
-
|
4698
|
-
|
4699
|
-
cancelDb();
|
4700
|
-
}
|
4701
|
-
})
|
5007
|
+
},
|
5008
|
+
id
|
5009
|
+
)
|
4702
5010
|
]);
|
4703
|
-
const [sensors] = (0,
|
5011
|
+
const [sensors] = (0, import_react31.useState)(() => [
|
4704
5012
|
PointerSensor.configure({
|
4705
5013
|
activationConstraints(event, source) {
|
4706
5014
|
var _a;
|
@@ -4719,11 +5027,10 @@ var DragDropContextClient = ({
|
|
4719
5027
|
}
|
4720
5028
|
})
|
4721
5029
|
]);
|
4722
|
-
const [
|
4723
|
-
const [
|
4724
|
-
const
|
4725
|
-
const
|
4726
|
-
const registerPath = (0, import_react25.useCallback)(
|
5030
|
+
const [dragListeners, setDragListeners] = (0, import_react31.useState)({});
|
5031
|
+
const [pathData, setPathData] = (0, import_react31.useState)();
|
5032
|
+
const dragMode = (0, import_react31.useRef)(null);
|
5033
|
+
const registerPath = (0, import_react31.useCallback)(
|
4727
5034
|
(selector) => {
|
4728
5035
|
const item = getItem(selector, data);
|
4729
5036
|
if (!item) {
|
@@ -4745,41 +5052,41 @@ var DragDropContextClient = ({
|
|
4745
5052
|
},
|
4746
5053
|
[data, setPathData]
|
4747
5054
|
);
|
4748
|
-
const initialSelector = (0,
|
4749
|
-
return /* @__PURE__ */ (0,
|
5055
|
+
const initialSelector = (0, import_react31.useRef)(void 0);
|
5056
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { id, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
4750
5057
|
dragListenerContext.Provider,
|
4751
5058
|
{
|
4752
5059
|
value: {
|
4753
5060
|
dragListeners,
|
4754
5061
|
setDragListeners
|
4755
5062
|
},
|
4756
|
-
children: /* @__PURE__ */ (0,
|
4757
|
-
|
5063
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
5064
|
+
import_react30.DragDropProvider,
|
4758
5065
|
{
|
4759
5066
|
plugins,
|
4760
5067
|
sensors,
|
4761
5068
|
onDragEnd: (event, manager) => {
|
5069
|
+
var _a;
|
4762
5070
|
const { source, target } = event.operation;
|
4763
|
-
deepestRef.current = null;
|
4764
5071
|
if (!source) {
|
4765
|
-
|
5072
|
+
zoneStore.setState({ draggedItem: null });
|
4766
5073
|
return;
|
4767
5074
|
}
|
4768
5075
|
const { zone, index } = source.data;
|
4769
|
-
const
|
4770
|
-
|
5076
|
+
const { previewIndex = {} } = zoneStore.getState() || {};
|
5077
|
+
const thisPreview = ((_a = previewIndex[zone]) == null ? void 0 : _a.props.id) === source.id ? previewIndex[zone] : null;
|
4771
5078
|
setTimeout(() => {
|
4772
|
-
var
|
4773
|
-
|
5079
|
+
var _a2, _b;
|
5080
|
+
zoneStore.setState({ draggedItem: null });
|
4774
5081
|
if (event.canceled || (target == null ? void 0 : target.type) === "void") {
|
4775
|
-
|
4776
|
-
(
|
5082
|
+
zoneStore.setState({ previewIndex: {} });
|
5083
|
+
(_a2 = dragListeners.dragend) == null ? void 0 : _a2.forEach((fn) => {
|
4777
5084
|
fn(event, manager);
|
4778
5085
|
});
|
4779
5086
|
return;
|
4780
5087
|
}
|
4781
5088
|
if (thisPreview) {
|
4782
|
-
|
5089
|
+
zoneStore.setState({ previewIndex: {} });
|
4783
5090
|
if (thisPreview.type === "insert") {
|
4784
5091
|
insertComponent(
|
4785
5092
|
thisPreview.componentType,
|
@@ -4814,8 +5121,9 @@ var DragDropContextClient = ({
|
|
4814
5121
|
}, 250);
|
4815
5122
|
},
|
4816
5123
|
onDragOver: (event, manager) => {
|
4817
|
-
var _a, _b, _c, _d;
|
5124
|
+
var _a, _b, _c, _d, _e;
|
4818
5125
|
event.preventDefault();
|
5126
|
+
const draggedItem = (_a = zoneStore.getState()) == null ? void 0 : _a.draggedItem;
|
4819
5127
|
if (!draggedItem) return;
|
4820
5128
|
cancelDb();
|
4821
5129
|
const { source, target } = event.operation;
|
@@ -4831,7 +5139,7 @@ var DragDropContextClient = ({
|
|
4831
5139
|
const targetData = target.data;
|
4832
5140
|
targetZone = targetData.zone;
|
4833
5141
|
targetIndex = targetData.index;
|
4834
|
-
const collisionData = (
|
5142
|
+
const collisionData = (_c = (_b = manager.dragOperation.data) == null ? void 0 : _b.collisionMap) == null ? void 0 : _c[targetId];
|
4835
5143
|
const collisionPosition = (collisionData == null ? void 0 : collisionData.direction) === "up" || (collisionData == null ? void 0 : collisionData.direction) === "left" ? "before" : "after";
|
4836
5144
|
if (targetIndex >= sourceIndex && sourceZone === targetZone) {
|
4837
5145
|
targetIndex = targetIndex - 1;
|
@@ -4843,23 +5151,26 @@ var DragDropContextClient = ({
|
|
4843
5151
|
targetZone = target.id.toString();
|
4844
5152
|
targetIndex = 0;
|
4845
5153
|
}
|
4846
|
-
if (targetId === sourceId || ((
|
5154
|
+
if (targetId === sourceId || ((_d = pathData == null ? void 0 : pathData[target.id]) == null ? void 0 : _d.path.find((path) => {
|
4847
5155
|
const [pathId] = path.split(":");
|
4848
5156
|
return pathId === sourceId;
|
4849
5157
|
}))) {
|
4850
5158
|
return;
|
4851
5159
|
}
|
4852
5160
|
if (dragMode.current === "new") {
|
4853
|
-
|
4854
|
-
|
4855
|
-
|
4856
|
-
|
4857
|
-
|
4858
|
-
|
4859
|
-
|
5161
|
+
zoneStore.setState({
|
5162
|
+
previewIndex: {
|
5163
|
+
[targetZone]: {
|
5164
|
+
componentType: sourceData.componentType,
|
5165
|
+
type: "insert",
|
5166
|
+
index: targetIndex,
|
5167
|
+
zone: targetZone,
|
5168
|
+
props: {
|
5169
|
+
id: source.id.toString()
|
5170
|
+
}
|
5171
|
+
}
|
4860
5172
|
}
|
4861
|
-
};
|
4862
|
-
setPreview(previewRef.current);
|
5173
|
+
});
|
4863
5174
|
} else {
|
4864
5175
|
if (!initialSelector.current) {
|
4865
5176
|
initialSelector.current = {
|
@@ -4869,17 +5180,20 @@ var DragDropContextClient = ({
|
|
4869
5180
|
}
|
4870
5181
|
const item = getItem(initialSelector.current, data);
|
4871
5182
|
if (item) {
|
4872
|
-
|
4873
|
-
|
4874
|
-
|
4875
|
-
|
4876
|
-
|
4877
|
-
|
4878
|
-
|
4879
|
-
|
5183
|
+
zoneStore.setState({
|
5184
|
+
previewIndex: {
|
5185
|
+
[targetZone]: {
|
5186
|
+
componentType: sourceData.componentType,
|
5187
|
+
type: "move",
|
5188
|
+
index: targetIndex,
|
5189
|
+
zone: targetZone,
|
5190
|
+
props: item.props
|
5191
|
+
}
|
5192
|
+
}
|
5193
|
+
});
|
4880
5194
|
}
|
4881
5195
|
}
|
4882
|
-
(
|
5196
|
+
(_e = dragListeners.dragover) == null ? void 0 : _e.forEach((fn) => {
|
4883
5197
|
fn(event, manager);
|
4884
5198
|
});
|
4885
5199
|
},
|
@@ -4889,45 +5203,61 @@ var DragDropContextClient = ({
|
|
4889
5203
|
type: "setUi",
|
4890
5204
|
ui: { itemSelector: null, isDragging: true }
|
4891
5205
|
});
|
5206
|
+
const { source } = event.operation;
|
5207
|
+
if (source && source.type !== "void") {
|
5208
|
+
const sourceData = source.data;
|
5209
|
+
const item = getItem(
|
5210
|
+
{
|
5211
|
+
zone: sourceData.zone,
|
5212
|
+
index: sourceData.index
|
5213
|
+
},
|
5214
|
+
data
|
5215
|
+
);
|
5216
|
+
if (item) {
|
5217
|
+
zoneStore.setState({
|
5218
|
+
previewIndex: {
|
5219
|
+
[sourceData.zone]: {
|
5220
|
+
componentType: sourceData.componentType,
|
5221
|
+
type: "move",
|
5222
|
+
index: sourceData.index,
|
5223
|
+
zone: sourceData.zone,
|
5224
|
+
props: item.props
|
5225
|
+
}
|
5226
|
+
}
|
5227
|
+
});
|
5228
|
+
}
|
5229
|
+
}
|
4892
5230
|
(_a = dragListeners.dragstart) == null ? void 0 : _a.forEach((fn) => {
|
4893
5231
|
fn(event, manager);
|
4894
5232
|
});
|
4895
5233
|
},
|
4896
5234
|
onBeforeDragStart: (event) => {
|
4897
5235
|
var _a;
|
4898
|
-
if (draggedItem) {
|
4899
|
-
console.warn("New drag started before previous drag cleaned up");
|
4900
|
-
}
|
4901
5236
|
const isNewComponent = ((_a = event.operation.source) == null ? void 0 : _a.data.type) === "drawer";
|
4902
5237
|
dragMode.current = isNewComponent ? "new" : "existing";
|
4903
5238
|
initialSelector.current = void 0;
|
4904
|
-
|
5239
|
+
zoneStore.setState({ draggedItem: event.operation.source });
|
4905
5240
|
},
|
4906
|
-
children: /* @__PURE__ */ (0,
|
5241
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ZoneStoreProvider, { store: zoneStore, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
4907
5242
|
DropZoneProvider,
|
4908
5243
|
{
|
4909
5244
|
value: {
|
4910
5245
|
data,
|
4911
5246
|
config,
|
4912
|
-
draggedItem,
|
4913
5247
|
mode: "edit",
|
4914
5248
|
areaId: "root",
|
4915
5249
|
depth: 0,
|
4916
5250
|
registerPath,
|
4917
5251
|
pathData,
|
4918
|
-
deepestZone: deepest == null ? void 0 : deepest.zone,
|
4919
|
-
deepestArea: deepest == null ? void 0 : deepest.area,
|
4920
|
-
nextDeepestZone: nextDeepest == null ? void 0 : nextDeepest.zone,
|
4921
|
-
nextDeepestArea: nextDeepest == null ? void 0 : nextDeepest.area,
|
4922
5252
|
path: []
|
4923
5253
|
},
|
4924
5254
|
children
|
4925
5255
|
}
|
4926
|
-
)
|
5256
|
+
) })
|
4927
5257
|
}
|
4928
|
-
)
|
5258
|
+
)
|
4929
5259
|
}
|
4930
|
-
);
|
5260
|
+
) });
|
4931
5261
|
};
|
4932
5262
|
var DragDropContext = ({
|
4933
5263
|
children,
|
@@ -4937,11 +5267,11 @@ var DragDropContext = ({
|
|
4937
5267
|
if (status === "LOADING") {
|
4938
5268
|
return children;
|
4939
5269
|
}
|
4940
|
-
return /* @__PURE__ */ (0,
|
5270
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DragDropContextClient, { disableAutoScroll, children });
|
4941
5271
|
};
|
4942
5272
|
|
4943
5273
|
// components/Drawer/index.tsx
|
4944
|
-
var
|
5274
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
4945
5275
|
var getClassName18 = get_class_name_factory_default("Drawer", styles_module_default10);
|
4946
5276
|
var getClassNameItem2 = get_class_name_factory_default("DrawerItem", styles_module_default10);
|
4947
5277
|
var DrawerItemInner = ({
|
@@ -4951,11 +5281,11 @@ var DrawerItemInner = ({
|
|
4951
5281
|
dragRef,
|
4952
5282
|
isDragDisabled
|
4953
5283
|
}) => {
|
4954
|
-
const CustomInner = (0,
|
4955
|
-
() => children || (({ children: children2 }) => /* @__PURE__ */ (0,
|
5284
|
+
const CustomInner = (0, import_react32.useMemo)(
|
5285
|
+
() => children || (({ children: children2 }) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassNameItem2("default"), children: children2 })),
|
4956
5286
|
[children]
|
4957
5287
|
);
|
4958
|
-
return /* @__PURE__ */ (0,
|
5288
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
4959
5289
|
"div",
|
4960
5290
|
{
|
4961
5291
|
className: getClassNameItem2({ disabled: isDragDisabled }),
|
@@ -4963,9 +5293,9 @@ var DrawerItemInner = ({
|
|
4963
5293
|
onMouseDown: (e) => e.preventDefault(),
|
4964
5294
|
"data-testid": dragRef ? `drawer-item:${name}` : "",
|
4965
5295
|
"data-puck-drawer-item": true,
|
4966
|
-
children: /* @__PURE__ */ (0,
|
4967
|
-
/* @__PURE__ */ (0,
|
4968
|
-
/* @__PURE__ */ (0,
|
5296
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(CustomInner, { name, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassNameItem2("draggableWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: getClassNameItem2("draggable"), children: [
|
5297
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassNameItem2("name"), children: label != null ? label : name }),
|
5298
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassNameItem2("icon"), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DragIcon, {}) })
|
4969
5299
|
] }) }) })
|
4970
5300
|
}
|
4971
5301
|
);
|
@@ -4982,9 +5312,9 @@ var DrawerItemDraggable = ({
|
|
4982
5312
|
data: { type: "drawer", componentType: name },
|
4983
5313
|
disabled: isDragDisabled
|
4984
5314
|
});
|
4985
|
-
return /* @__PURE__ */ (0,
|
4986
|
-
/* @__PURE__ */ (0,
|
4987
|
-
/* @__PURE__ */ (0,
|
5315
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: getClassName18("draggable"), children: [
|
5316
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("draggableBg"), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DrawerItemInner, { name, label, children }) }),
|
5317
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("draggableFg"), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
4988
5318
|
DrawerItemInner,
|
4989
5319
|
{
|
4990
5320
|
name,
|
@@ -5005,7 +5335,7 @@ var DrawerItem = ({
|
|
5005
5335
|
isDragDisabled
|
5006
5336
|
}) => {
|
5007
5337
|
const resolvedId = id || name;
|
5008
|
-
const [dynamicId, setDynamicId] = (0,
|
5338
|
+
const [dynamicId, setDynamicId] = (0, import_react32.useState)(generateId(resolvedId));
|
5009
5339
|
if (typeof index !== "undefined") {
|
5010
5340
|
console.error(
|
5011
5341
|
"Warning: The `index` prop on Drawer.Item is deprecated and no longer required."
|
@@ -5018,7 +5348,7 @@ var DrawerItem = ({
|
|
5018
5348
|
},
|
5019
5349
|
[resolvedId]
|
5020
5350
|
);
|
5021
|
-
return /* @__PURE__ */ (0,
|
5351
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
5022
5352
|
DrawerItemDraggable,
|
5023
5353
|
{
|
5024
5354
|
name,
|
@@ -5044,14 +5374,14 @@ var Drawer = ({
|
|
5044
5374
|
"Warning: The `direction` prop on Drawer is deprecated and no longer required to achieve multi-directional dragging."
|
5045
5375
|
);
|
5046
5376
|
}
|
5047
|
-
const [id] = (0,
|
5377
|
+
const [id] = (0, import_react32.useState)(generateId());
|
5048
5378
|
const { ref } = useDroppableSafe({
|
5049
5379
|
id,
|
5050
5380
|
type: "void",
|
5051
5381
|
collisionPriority: 0
|
5052
5382
|
// Never collide with this, but we use it so NestedDroppablePlugin respects the Drawer
|
5053
5383
|
});
|
5054
|
-
return /* @__PURE__ */ (0,
|
5384
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
5055
5385
|
"div",
|
5056
5386
|
{
|
5057
5387
|
className: getClassName18(),
|
@@ -5066,7 +5396,7 @@ Drawer.Item = DrawerItem;
|
|
5066
5396
|
|
5067
5397
|
// components/Puck/index.tsx
|
5068
5398
|
init_react_import();
|
5069
|
-
var
|
5399
|
+
var import_react48 = require("react");
|
5070
5400
|
|
5071
5401
|
// components/SidebarSection/index.tsx
|
5072
5402
|
init_react_import();
|
@@ -5077,7 +5407,7 @@ var styles_module_default13 = { "SidebarSection": "_SidebarSection_125qe_1", "Si
|
|
5077
5407
|
|
5078
5408
|
// lib/use-breadcrumbs.ts
|
5079
5409
|
init_react_import();
|
5080
|
-
var
|
5410
|
+
var import_react33 = require("react");
|
5081
5411
|
var convertPathDataToBreadcrumbs = (selectedItem, pathData, data) => {
|
5082
5412
|
const id = selectedItem ? selectedItem == null ? void 0 : selectedItem.props.id : "";
|
5083
5413
|
const currentPathData = pathData && id && pathData[id] ? __spreadValues({}, pathData[id]) : { label: "Page", path: [] };
|
@@ -5127,8 +5457,8 @@ var useBreadcrumbs = (renderCount) => {
|
|
5127
5457
|
state: { data },
|
5128
5458
|
selectedItem
|
5129
5459
|
} = useAppContext();
|
5130
|
-
const dzContext = (0,
|
5131
|
-
return (0,
|
5460
|
+
const dzContext = (0, import_react33.useContext)(dropZoneContext);
|
5461
|
+
return (0, import_react33.useMemo)(() => {
|
5132
5462
|
const breadcrumbs = convertPathDataToBreadcrumbs(
|
5133
5463
|
selectedItem,
|
5134
5464
|
dzContext == null ? void 0 : dzContext.pathData,
|
@@ -5142,7 +5472,7 @@ var useBreadcrumbs = (renderCount) => {
|
|
5142
5472
|
};
|
5143
5473
|
|
5144
5474
|
// components/SidebarSection/index.tsx
|
5145
|
-
var
|
5475
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
5146
5476
|
var getClassName19 = get_class_name_factory_default("SidebarSection", styles_module_default13);
|
5147
5477
|
var SidebarSection = ({
|
5148
5478
|
children,
|
@@ -5155,15 +5485,15 @@ var SidebarSection = ({
|
|
5155
5485
|
}) => {
|
5156
5486
|
const { setUi } = useAppContext();
|
5157
5487
|
const breadcrumbs = useBreadcrumbs(1);
|
5158
|
-
return /* @__PURE__ */ (0,
|
5488
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
5159
5489
|
"div",
|
5160
5490
|
{
|
5161
5491
|
className: getClassName19({ noBorderTop, noPadding }),
|
5162
5492
|
style: { background },
|
5163
5493
|
children: [
|
5164
|
-
/* @__PURE__ */ (0,
|
5165
|
-
showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0,
|
5166
|
-
/* @__PURE__ */ (0,
|
5494
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: getClassName19("title"), children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: getClassName19("breadcrumbs"), children: [
|
5495
|
+
showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: getClassName19("breadcrumb"), children: [
|
5496
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
5167
5497
|
"button",
|
5168
5498
|
{
|
5169
5499
|
type: "button",
|
@@ -5172,12 +5502,12 @@ var SidebarSection = ({
|
|
5172
5502
|
children: breadcrumb.label
|
5173
5503
|
}
|
5174
5504
|
),
|
5175
|
-
/* @__PURE__ */ (0,
|
5505
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(ChevronRight, { size: 16 })
|
5176
5506
|
] }, i)) : null,
|
5177
|
-
/* @__PURE__ */ (0,
|
5507
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: getClassName19("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Heading, { rank: "2", size: "xs", children: title }) })
|
5178
5508
|
] }) }),
|
5179
|
-
/* @__PURE__ */ (0,
|
5180
|
-
isLoading && /* @__PURE__ */ (0,
|
5509
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: getClassName19("content"), children }),
|
5510
|
+
isLoading && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: getClassName19("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Loader, { size: 32 }) })
|
5181
5511
|
]
|
5182
5512
|
}
|
5183
5513
|
);
|
@@ -5208,7 +5538,7 @@ init_react_import();
|
|
5208
5538
|
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" };
|
5209
5539
|
|
5210
5540
|
// components/MenuBar/index.tsx
|
5211
|
-
var
|
5541
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
5212
5542
|
var getClassName20 = get_class_name_factory_default("MenuBar", styles_module_default14);
|
5213
5543
|
function MenuBar({
|
5214
5544
|
appState,
|
@@ -5222,7 +5552,7 @@ function MenuBar({
|
|
5222
5552
|
history: { back, forward, historyStore }
|
5223
5553
|
} = useAppContext();
|
5224
5554
|
const { hasFuture = false, hasPast = false } = historyStore || {};
|
5225
|
-
return /* @__PURE__ */ (0,
|
5555
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
5226
5556
|
"div",
|
5227
5557
|
{
|
5228
5558
|
className: getClassName20({ menuOpen }),
|
@@ -5236,12 +5566,12 @@ function MenuBar({
|
|
5236
5566
|
setMenuOpen(false);
|
5237
5567
|
}
|
5238
5568
|
},
|
5239
|
-
children: /* @__PURE__ */ (0,
|
5240
|
-
/* @__PURE__ */ (0,
|
5241
|
-
/* @__PURE__ */ (0,
|
5242
|
-
/* @__PURE__ */ (0,
|
5569
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: getClassName20("inner"), children: [
|
5570
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: getClassName20("history"), children: [
|
5571
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(IconButton, { title: "undo", disabled: !hasPast, onClick: back, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Undo2, { size: 21 }) }),
|
5572
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Redo2, { size: 21 }) })
|
5243
5573
|
] }),
|
5244
|
-
/* @__PURE__ */ (0,
|
5574
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, { children: renderHeaderActions && renderHeaderActions({
|
5245
5575
|
state: appState,
|
5246
5576
|
dispatch
|
5247
5577
|
}) })
|
@@ -5252,7 +5582,7 @@ function MenuBar({
|
|
5252
5582
|
|
5253
5583
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Puck/styles.module.css#css-module
|
5254
5584
|
init_react_import();
|
5255
|
-
var styles_module_default15 = { "Puck": "
|
5585
|
+
var styles_module_default15 = { "Puck": "_Puck_12s9r_19", "Puck-portal": "_Puck-portal_12s9r_24", "PuckLayout-inner": "_PuckLayout-inner_12s9r_31", "PuckLayout--mounted": "_PuckLayout--mounted_12s9r_43", "PuckLayout--leftSideBarVisible": "_PuckLayout--leftSideBarVisible_12s9r_47", "PuckLayout--rightSideBarVisible": "_PuckLayout--rightSideBarVisible_12s9r_53", "PuckLayout-mounted": "_PuckLayout-mounted_12s9r_67", "PuckLayout": "_PuckLayout_12s9r_31", "PuckLayout-header": "_PuckLayout-header_12s9r_108", "PuckLayout-headerInner": "_PuckLayout-headerInner_12s9r_117", "PuckLayout-headerToggle": "_PuckLayout-headerToggle_12s9r_127", "PuckLayout-rightSideBarToggle": "_PuckLayout-rightSideBarToggle_12s9r_134", "PuckLayout-leftSideBarToggle": "_PuckLayout-leftSideBarToggle_12s9r_135", "PuckLayout-headerTitle": "_PuckLayout-headerTitle_12s9r_139", "PuckLayout-headerPath": "_PuckLayout-headerPath_12s9r_143", "PuckLayout-headerTools": "_PuckLayout-headerTools_12s9r_150", "PuckLayout-menuButton": "_PuckLayout-menuButton_12s9r_156", "PuckLayout--menuOpen": "_PuckLayout--menuOpen_12s9r_161", "PuckLayout-leftSideBar": "_PuckLayout-leftSideBar_12s9r_135", "PuckLayout-rightSideBar": "_PuckLayout-rightSideBar_12s9r_134" };
|
5256
5586
|
|
5257
5587
|
// components/Puck/components/Fields/index.tsx
|
5258
5588
|
init_react_import();
|
@@ -5262,15 +5592,15 @@ init_react_import();
|
|
5262
5592
|
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" };
|
5263
5593
|
|
5264
5594
|
// components/Puck/components/Fields/index.tsx
|
5265
|
-
var
|
5595
|
+
var import_react35 = require("react");
|
5266
5596
|
|
5267
5597
|
// lib/use-parent.ts
|
5268
5598
|
init_react_import();
|
5269
|
-
var
|
5599
|
+
var import_react34 = require("react");
|
5270
5600
|
var useParent = (itemSelector) => {
|
5271
5601
|
var _a;
|
5272
5602
|
const { selectedItem, state } = useAppContext();
|
5273
|
-
const { pathData } = (0,
|
5603
|
+
const { pathData } = (0, import_react34.useContext)(dropZoneContext) || {};
|
5274
5604
|
const item = itemSelector ? getItem(itemSelector, state.data) : selectedItem;
|
5275
5605
|
const breadcrumbs = convertPathDataToBreadcrumbs(item, pathData, state.data);
|
5276
5606
|
const lastItem = breadcrumbs[breadcrumbs.length - 1];
|
@@ -5279,7 +5609,7 @@ var useParent = (itemSelector) => {
|
|
5279
5609
|
};
|
5280
5610
|
|
5281
5611
|
// components/Puck/components/Fields/index.tsx
|
5282
|
-
var
|
5612
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
5283
5613
|
var getClassName21 = get_class_name_factory_default("PuckFields", styles_module_default16);
|
5284
5614
|
var defaultPageFields = {
|
5285
5615
|
title: { type: "text" }
|
@@ -5287,7 +5617,7 @@ var defaultPageFields = {
|
|
5287
5617
|
var DefaultFields = ({
|
5288
5618
|
children
|
5289
5619
|
}) => {
|
5290
|
-
return /* @__PURE__ */ (0,
|
5620
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_jsx_runtime27.Fragment, { children });
|
5291
5621
|
};
|
5292
5622
|
var useResolvedFields = () => {
|
5293
5623
|
var _a, _b;
|
@@ -5296,20 +5626,20 @@ var useResolvedFields = () => {
|
|
5296
5626
|
const { data } = state;
|
5297
5627
|
const rootFields = ((_a = config.root) == null ? void 0 : _a.fields) || defaultPageFields;
|
5298
5628
|
const componentConfig = selectedItem ? config.components[selectedItem.type] : null;
|
5299
|
-
const defaultFields = (0,
|
5629
|
+
const defaultFields = (0, import_react35.useMemo)(
|
5300
5630
|
() => (selectedItem ? componentConfig == null ? void 0 : componentConfig.fields : rootFields) || {},
|
5301
5631
|
[selectedItem, rootFields, componentConfig == null ? void 0 : componentConfig.fields]
|
5302
5632
|
);
|
5303
5633
|
const rootProps = data.root.props || data.root;
|
5304
|
-
const [lastSelectedData, setLastSelectedData] = (0,
|
5305
|
-
const [resolvedFields, setResolvedFields] = (0,
|
5306
|
-
const [fieldsLoading, setFieldsLoading] = (0,
|
5634
|
+
const [lastSelectedData, setLastSelectedData] = (0, import_react35.useState)({});
|
5635
|
+
const [resolvedFields, setResolvedFields] = (0, import_react35.useState)(defaultFields);
|
5636
|
+
const [fieldsLoading, setFieldsLoading] = (0, import_react35.useState)(false);
|
5307
5637
|
const defaultResolveFields = (_componentData, _params) => defaultFields;
|
5308
5638
|
const componentData = selectedItem ? selectedItem : { props: rootProps, readOnly: data.root.readOnly };
|
5309
5639
|
const hasComponentResolver = selectedItem && (componentConfig == null ? void 0 : componentConfig.resolveFields);
|
5310
5640
|
const hasRootResolver = !selectedItem && ((_b = config.root) == null ? void 0 : _b.resolveFields);
|
5311
5641
|
const hasResolver = hasComponentResolver || hasRootResolver;
|
5312
|
-
const resolveFields = (0,
|
5642
|
+
const resolveFields = (0, import_react35.useCallback)(
|
5313
5643
|
(..._0) => __async(void 0, [..._0], function* (fields = {}) {
|
5314
5644
|
var _a2;
|
5315
5645
|
const lastData = ((_a2 = lastSelectedData.props) == null ? void 0 : _a2.id) === componentData.props.id ? lastSelectedData : null;
|
@@ -5347,7 +5677,7 @@ var useResolvedFields = () => {
|
|
5347
5677
|
}),
|
5348
5678
|
[data, config, componentData, selectedItem, resolvedFields, state]
|
5349
5679
|
);
|
5350
|
-
(0,
|
5680
|
+
(0, import_react35.useEffect)(() => {
|
5351
5681
|
if (hasResolver) {
|
5352
5682
|
setFieldsLoading(true);
|
5353
5683
|
resolveFields(defaultFields).then((fields) => {
|
@@ -5378,8 +5708,8 @@ var Fields = () => {
|
|
5378
5708
|
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;
|
5379
5709
|
const isLoading = fieldsResolving || componentResolving;
|
5380
5710
|
const rootProps = data.root.props || data.root;
|
5381
|
-
const Wrapper = (0,
|
5382
|
-
return /* @__PURE__ */ (0,
|
5711
|
+
const Wrapper = (0, import_react35.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
|
5712
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
5383
5713
|
"form",
|
5384
5714
|
{
|
5385
5715
|
className: getClassName21(),
|
@@ -5387,7 +5717,7 @@ var Fields = () => {
|
|
5387
5717
|
e.preventDefault();
|
5388
5718
|
},
|
5389
5719
|
children: [
|
5390
|
-
/* @__PURE__ */ (0,
|
5720
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
|
5391
5721
|
const field = fields[fieldName];
|
5392
5722
|
if (!(field == null ? void 0 : field.type)) return null;
|
5393
5723
|
const onChange = (value, updatedUi) => {
|
@@ -5458,7 +5788,7 @@ var Fields = () => {
|
|
5458
5788
|
item: selectedItem
|
5459
5789
|
});
|
5460
5790
|
const id = `${selectedItem.props.id}_${field.type}_${fieldName}`;
|
5461
|
-
return /* @__PURE__ */ (0,
|
5791
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
5462
5792
|
AutoFieldPrivate,
|
5463
5793
|
{
|
5464
5794
|
field,
|
@@ -5476,7 +5806,7 @@ var Fields = () => {
|
|
5476
5806
|
root: true
|
5477
5807
|
});
|
5478
5808
|
const id = `root_${field.type}_${fieldName}`;
|
5479
|
-
return /* @__PURE__ */ (0,
|
5809
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
5480
5810
|
AutoFieldPrivate,
|
5481
5811
|
{
|
5482
5812
|
field,
|
@@ -5490,7 +5820,7 @@ var Fields = () => {
|
|
5490
5820
|
);
|
5491
5821
|
}
|
5492
5822
|
}) }),
|
5493
|
-
isLoading && /* @__PURE__ */ (0,
|
5823
|
+
isLoading && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassName21("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: getClassName21("loadingOverlayInner"), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Loader, { size: 16 }) }) })
|
5494
5824
|
]
|
5495
5825
|
}
|
5496
5826
|
);
|
@@ -5501,7 +5831,7 @@ init_react_import();
|
|
5501
5831
|
|
5502
5832
|
// lib/use-component-list.tsx
|
5503
5833
|
init_react_import();
|
5504
|
-
var
|
5834
|
+
var import_react36 = require("react");
|
5505
5835
|
|
5506
5836
|
// components/ComponentList/index.tsx
|
5507
5837
|
init_react_import();
|
@@ -5511,7 +5841,7 @@ init_react_import();
|
|
5511
5841
|
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" };
|
5512
5842
|
|
5513
5843
|
// components/ComponentList/index.tsx
|
5514
|
-
var
|
5844
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
5515
5845
|
var getClassName22 = get_class_name_factory_default("ComponentList", styles_module_default17);
|
5516
5846
|
var ComponentListItem = ({
|
5517
5847
|
name,
|
@@ -5521,7 +5851,7 @@ var ComponentListItem = ({
|
|
5521
5851
|
const canInsert = getPermissions({
|
5522
5852
|
type: name
|
5523
5853
|
}).insert;
|
5524
|
-
return /* @__PURE__ */ (0,
|
5854
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Drawer.Item, { label, name, isDragDisabled: !canInsert, children: overrides.componentItem });
|
5525
5855
|
};
|
5526
5856
|
var ComponentList = ({
|
5527
5857
|
children,
|
@@ -5530,8 +5860,8 @@ var ComponentList = ({
|
|
5530
5860
|
}) => {
|
5531
5861
|
const { config, state, setUi } = useAppContext();
|
5532
5862
|
const { expanded = true } = state.ui.componentList[id] || {};
|
5533
|
-
return /* @__PURE__ */ (0,
|
5534
|
-
title && /* @__PURE__ */ (0,
|
5863
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: getClassName22({ isExpanded: expanded }), children: [
|
5864
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
5535
5865
|
"button",
|
5536
5866
|
{
|
5537
5867
|
type: "button",
|
@@ -5545,14 +5875,14 @@ var ComponentList = ({
|
|
5545
5875
|
}),
|
5546
5876
|
title: expanded ? `Collapse${title ? ` ${title}` : ""}` : `Expand${title ? ` ${title}` : ""}`,
|
5547
5877
|
children: [
|
5548
|
-
/* @__PURE__ */ (0,
|
5549
|
-
/* @__PURE__ */ (0,
|
5878
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { children: title }),
|
5879
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: getClassName22("titleIcon"), children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ChevronUp, { size: 12 }) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ChevronDown, { size: 12 }) })
|
5550
5880
|
]
|
5551
5881
|
}
|
5552
5882
|
),
|
5553
|
-
/* @__PURE__ */ (0,
|
5883
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: getClassName22("content"), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Drawer, { children: children || Object.keys(config.components).map((componentKey) => {
|
5554
5884
|
var _a;
|
5555
|
-
return /* @__PURE__ */ (0,
|
5885
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
5556
5886
|
ComponentListItem,
|
5557
5887
|
{
|
5558
5888
|
label: (_a = config.components[componentKey]["label"]) != null ? _a : componentKey,
|
@@ -5566,10 +5896,10 @@ var ComponentList = ({
|
|
5566
5896
|
ComponentList.Item = ComponentListItem;
|
5567
5897
|
|
5568
5898
|
// lib/use-component-list.tsx
|
5569
|
-
var
|
5899
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
5570
5900
|
var useComponentList = (config, ui) => {
|
5571
|
-
const [componentList, setComponentList] = (0,
|
5572
|
-
(0,
|
5901
|
+
const [componentList, setComponentList] = (0, import_react36.useState)();
|
5902
|
+
(0, import_react36.useEffect)(() => {
|
5573
5903
|
var _a, _b, _c;
|
5574
5904
|
if (Object.keys(ui.componentList).length > 0) {
|
5575
5905
|
const matchedComponents = [];
|
@@ -5579,7 +5909,7 @@ var useComponentList = (config, ui) => {
|
|
5579
5909
|
if (category.visible === false || !category.components) {
|
5580
5910
|
return null;
|
5581
5911
|
}
|
5582
|
-
return /* @__PURE__ */ (0,
|
5912
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
5583
5913
|
ComponentList,
|
5584
5914
|
{
|
5585
5915
|
id: categoryKey,
|
@@ -5588,7 +5918,7 @@ var useComponentList = (config, ui) => {
|
|
5588
5918
|
var _a2;
|
5589
5919
|
matchedComponents.push(componentName);
|
5590
5920
|
const componentConf = config.components[componentName] || {};
|
5591
|
-
return /* @__PURE__ */ (0,
|
5921
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
5592
5922
|
ComponentList.Item,
|
5593
5923
|
{
|
5594
5924
|
label: (_a2 = componentConf["label"]) != null ? _a2 : componentName,
|
@@ -5608,7 +5938,7 @@ var useComponentList = (config, ui) => {
|
|
5608
5938
|
);
|
5609
5939
|
if (remainingComponents.length > 0 && !((_a = ui.componentList.other) == null ? void 0 : _a.components) && ((_b = ui.componentList.other) == null ? void 0 : _b.visible) !== false) {
|
5610
5940
|
_componentList.push(
|
5611
|
-
/* @__PURE__ */ (0,
|
5941
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
5612
5942
|
ComponentList,
|
5613
5943
|
{
|
5614
5944
|
id: "other",
|
@@ -5616,7 +5946,7 @@ var useComponentList = (config, ui) => {
|
|
5616
5946
|
children: remainingComponents.map((componentName, i) => {
|
5617
5947
|
var _a2;
|
5618
5948
|
const componentConf = config.components[componentName] || {};
|
5619
|
-
return /* @__PURE__ */ (0,
|
5949
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
5620
5950
|
ComponentList.Item,
|
5621
5951
|
{
|
5622
5952
|
name: componentName,
|
@@ -5638,25 +5968,25 @@ var useComponentList = (config, ui) => {
|
|
5638
5968
|
};
|
5639
5969
|
|
5640
5970
|
// components/Puck/components/Components/index.tsx
|
5641
|
-
var
|
5642
|
-
var
|
5971
|
+
var import_react37 = require("react");
|
5972
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
5643
5973
|
var Components = () => {
|
5644
5974
|
const { config, state, overrides } = useAppContext();
|
5645
5975
|
const componentList = useComponentList(config, state.ui);
|
5646
|
-
const Wrapper = (0,
|
5647
|
-
return /* @__PURE__ */ (0,
|
5976
|
+
const Wrapper = (0, import_react37.useMemo)(() => overrides.components || "div", [overrides]);
|
5977
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ComponentList, { id: "all" }) });
|
5648
5978
|
};
|
5649
5979
|
|
5650
5980
|
// components/Puck/components/Preview/index.tsx
|
5651
5981
|
init_react_import();
|
5652
|
-
var
|
5982
|
+
var import_react39 = require("react");
|
5653
5983
|
|
5654
5984
|
// components/AutoFrame/index.tsx
|
5655
5985
|
init_react_import();
|
5656
|
-
var
|
5986
|
+
var import_react38 = require("react");
|
5657
5987
|
var import_object_hash = __toESM(require("object-hash"));
|
5658
5988
|
var import_react_dom3 = require("react-dom");
|
5659
|
-
var
|
5989
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
5660
5990
|
var styleSelector = 'style, link[rel="stylesheet"]';
|
5661
5991
|
var collectStyles = (doc) => {
|
5662
5992
|
const collected = [];
|
@@ -5699,7 +6029,7 @@ var CopyHostStyles = ({
|
|
5699
6029
|
onStylesLoaded = () => null
|
5700
6030
|
}) => {
|
5701
6031
|
const { document: doc, window: win } = useFrame();
|
5702
|
-
(0,
|
6032
|
+
(0, import_react38.useEffect)(() => {
|
5703
6033
|
if (!win || !doc) {
|
5704
6034
|
return () => {
|
5705
6035
|
};
|
@@ -5856,10 +6186,10 @@ var CopyHostStyles = ({
|
|
5856
6186
|
observer.disconnect();
|
5857
6187
|
};
|
5858
6188
|
}, []);
|
5859
|
-
return /* @__PURE__ */ (0,
|
6189
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, { children });
|
5860
6190
|
};
|
5861
|
-
var autoFrameContext = (0,
|
5862
|
-
var useFrame = () => (0,
|
6191
|
+
var autoFrameContext = (0, import_react38.createContext)({});
|
6192
|
+
var useFrame = () => (0, import_react38.useContext)(autoFrameContext);
|
5863
6193
|
function AutoFrame(_a) {
|
5864
6194
|
var _b = _a, {
|
5865
6195
|
children,
|
@@ -5876,10 +6206,10 @@ function AutoFrame(_a) {
|
|
5876
6206
|
"onStylesLoaded",
|
5877
6207
|
"frameRef"
|
5878
6208
|
]);
|
5879
|
-
const [loaded, setLoaded] = (0,
|
5880
|
-
const [ctx, setCtx] = (0,
|
5881
|
-
const [mountTarget, setMountTarget] = (0,
|
5882
|
-
(0,
|
6209
|
+
const [loaded, setLoaded] = (0, import_react38.useState)(false);
|
6210
|
+
const [ctx, setCtx] = (0, import_react38.useState)({});
|
6211
|
+
const [mountTarget, setMountTarget] = (0, import_react38.useState)();
|
6212
|
+
(0, import_react38.useEffect)(() => {
|
5883
6213
|
var _a2;
|
5884
6214
|
if (frameRef.current) {
|
5885
6215
|
setCtx({
|
@@ -5891,7 +6221,7 @@ function AutoFrame(_a) {
|
|
5891
6221
|
);
|
5892
6222
|
}
|
5893
6223
|
}, [frameRef, loaded]);
|
5894
|
-
return /* @__PURE__ */ (0,
|
6224
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
5895
6225
|
"iframe",
|
5896
6226
|
__spreadProps(__spreadValues({}, props), {
|
5897
6227
|
className,
|
@@ -5901,7 +6231,7 @@ function AutoFrame(_a) {
|
|
5901
6231
|
onLoad: () => {
|
5902
6232
|
setLoaded(true);
|
5903
6233
|
},
|
5904
|
-
children: /* @__PURE__ */ (0,
|
6234
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(autoFrameContext.Provider, { value: ctx, children: loaded && mountTarget && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CopyHostStyles, { debug, onStylesLoaded, children: (0, import_react_dom3.createPortal)(children, mountTarget) }) })
|
5905
6235
|
})
|
5906
6236
|
);
|
5907
6237
|
}
|
@@ -5914,7 +6244,7 @@ var styles_module_default18 = { "PuckPreview": "_PuckPreview_z2rgu_1", "PuckPrev
|
|
5914
6244
|
|
5915
6245
|
// components/Render/index.tsx
|
5916
6246
|
init_react_import();
|
5917
|
-
var
|
6247
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
5918
6248
|
function Render({
|
5919
6249
|
config,
|
5920
6250
|
data
|
@@ -5927,7 +6257,7 @@ function Render({
|
|
5927
6257
|
const rootProps = defaultedData.root.props || defaultedData.root;
|
5928
6258
|
const title = (rootProps == null ? void 0 : rootProps.title) || "";
|
5929
6259
|
if ((_a = config.root) == null ? void 0 : _a.render) {
|
5930
|
-
return /* @__PURE__ */ (0,
|
6260
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
5931
6261
|
DropZoneProvider,
|
5932
6262
|
{
|
5933
6263
|
value: {
|
@@ -5937,7 +6267,7 @@ function Render({
|
|
5937
6267
|
depth: 0,
|
5938
6268
|
path: []
|
5939
6269
|
},
|
5940
|
-
children: /* @__PURE__ */ (0,
|
6270
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
5941
6271
|
config.root.render,
|
5942
6272
|
__spreadProps(__spreadValues({}, rootProps), {
|
5943
6273
|
puck: {
|
@@ -5947,13 +6277,13 @@ function Render({
|
|
5947
6277
|
title,
|
5948
6278
|
editMode: false,
|
5949
6279
|
id: "puck-root",
|
5950
|
-
children: /* @__PURE__ */ (0,
|
6280
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DropZone, { zone: rootDroppableId })
|
5951
6281
|
})
|
5952
6282
|
)
|
5953
6283
|
}
|
5954
6284
|
);
|
5955
6285
|
}
|
5956
|
-
return /* @__PURE__ */ (0,
|
6286
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
5957
6287
|
DropZoneProvider,
|
5958
6288
|
{
|
5959
6289
|
value: {
|
@@ -5963,17 +6293,17 @@ function Render({
|
|
5963
6293
|
depth: 0,
|
5964
6294
|
path: []
|
5965
6295
|
},
|
5966
|
-
children: /* @__PURE__ */ (0,
|
6296
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DropZone, { zone: rootDroppableId })
|
5967
6297
|
}
|
5968
6298
|
);
|
5969
6299
|
}
|
5970
6300
|
|
5971
6301
|
// components/Puck/components/Preview/index.tsx
|
5972
|
-
var
|
6302
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
5973
6303
|
var getClassName23 = get_class_name_factory_default("PuckPreview", styles_module_default18);
|
5974
6304
|
var useBubbleIframeEvents = (ref) => {
|
5975
6305
|
const { status } = useAppContext();
|
5976
|
-
(0,
|
6306
|
+
(0, import_react39.useEffect)(() => {
|
5977
6307
|
var _a;
|
5978
6308
|
if (ref.current && status === "READY") {
|
5979
6309
|
const iframe = ref.current;
|
@@ -6010,22 +6340,22 @@ var useBubbleIframeEvents = (ref) => {
|
|
6010
6340
|
}
|
6011
6341
|
}, [status]);
|
6012
6342
|
};
|
6013
|
-
var
|
6343
|
+
var Preview2 = ({ id = "puck-preview" }) => {
|
6014
6344
|
const { config, dispatch, state, setStatus, iframe, overrides } = useAppContext();
|
6015
|
-
const Page = (0,
|
6345
|
+
const Page = (0, import_react39.useCallback)(
|
6016
6346
|
(pageProps) => {
|
6017
6347
|
var _a, _b;
|
6018
6348
|
return ((_a = config.root) == null ? void 0 : _a.render) ? (_b = config.root) == null ? void 0 : _b.render(__spreadValues({
|
6019
6349
|
id: "puck-root"
|
6020
|
-
}, pageProps)) : /* @__PURE__ */ (0,
|
6350
|
+
}, pageProps)) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { children: pageProps.children });
|
6021
6351
|
},
|
6022
6352
|
[config.root]
|
6023
6353
|
);
|
6024
|
-
const Frame = (0,
|
6354
|
+
const Frame = (0, import_react39.useMemo)(() => overrides.iframe, [overrides]);
|
6025
6355
|
const rootProps = state.data.root.props || state.data.root;
|
6026
|
-
const ref = (0,
|
6356
|
+
const ref = (0, import_react39.useRef)(null);
|
6027
6357
|
useBubbleIframeEvents(ref);
|
6028
|
-
const inner = state.ui.previewMode === "edit" ? /* @__PURE__ */ (0,
|
6358
|
+
const inner = state.ui.previewMode === "edit" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
6029
6359
|
Page,
|
6030
6360
|
__spreadProps(__spreadValues({}, rootProps), {
|
6031
6361
|
puck: {
|
@@ -6034,10 +6364,10 @@ var Preview = ({ id = "puck-preview" }) => {
|
|
6034
6364
|
dragRef: null
|
6035
6365
|
},
|
6036
6366
|
editMode: true,
|
6037
|
-
children: /* @__PURE__ */ (0,
|
6367
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DropZone, { zone: rootDroppableId })
|
6038
6368
|
})
|
6039
|
-
) : /* @__PURE__ */ (0,
|
6040
|
-
return /* @__PURE__ */ (0,
|
6369
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Render, { data: state.data, config });
|
6370
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
6041
6371
|
"div",
|
6042
6372
|
{
|
6043
6373
|
className: getClassName23(),
|
@@ -6046,7 +6376,7 @@ var Preview = ({ id = "puck-preview" }) => {
|
|
6046
6376
|
onClick: () => {
|
6047
6377
|
dispatch({ type: "setUi", ui: __spreadProps(__spreadValues({}, state.ui), { itemSelector: null }) });
|
6048
6378
|
},
|
6049
|
-
children: iframe.enabled ? /* @__PURE__ */ (0,
|
6379
|
+
children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
6050
6380
|
AutoFrame_default,
|
6051
6381
|
{
|
6052
6382
|
id: "preview-frame",
|
@@ -6056,14 +6386,14 @@ var Preview = ({ id = "puck-preview" }) => {
|
|
6056
6386
|
setStatus("READY");
|
6057
6387
|
},
|
6058
6388
|
frameRef: ref,
|
6059
|
-
children: /* @__PURE__ */ (0,
|
6389
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(autoFrameContext.Consumer, { children: ({ document: document2 }) => {
|
6060
6390
|
if (Frame) {
|
6061
|
-
return /* @__PURE__ */ (0,
|
6391
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Frame, { document: document2, children: inner });
|
6062
6392
|
}
|
6063
6393
|
return inner;
|
6064
6394
|
} })
|
6065
6395
|
}
|
6066
|
-
) : /* @__PURE__ */ (0,
|
6396
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
6067
6397
|
"div",
|
6068
6398
|
{
|
6069
6399
|
id: "preview-frame",
|
@@ -6120,7 +6450,7 @@ var scrollIntoView = (el) => {
|
|
6120
6450
|
};
|
6121
6451
|
|
6122
6452
|
// components/LayerTree/index.tsx
|
6123
|
-
var
|
6453
|
+
var import_react40 = require("react");
|
6124
6454
|
|
6125
6455
|
// lib/is-child-of-zone.ts
|
6126
6456
|
init_react_import();
|
@@ -6153,7 +6483,7 @@ var onScrollEnd = (frame, cb) => {
|
|
6153
6483
|
};
|
6154
6484
|
|
6155
6485
|
// components/LayerTree/index.tsx
|
6156
|
-
var
|
6486
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
6157
6487
|
var getClassName24 = get_class_name_factory_default("LayerTree", styles_module_default19);
|
6158
6488
|
var getClassNameLayer = get_class_name_factory_default("Layer", styles_module_default19);
|
6159
6489
|
var LayerTree = ({
|
@@ -6166,15 +6496,15 @@ var LayerTree = ({
|
|
6166
6496
|
label
|
6167
6497
|
}) => {
|
6168
6498
|
const zones = data.zones || {};
|
6169
|
-
const ctx = (0,
|
6170
|
-
return /* @__PURE__ */ (0,
|
6171
|
-
label && /* @__PURE__ */ (0,
|
6172
|
-
/* @__PURE__ */ (0,
|
6499
|
+
const ctx = (0, import_react40.useContext)(dropZoneContext);
|
6500
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
|
6501
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName24("zoneTitle"), children: [
|
6502
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Layers, { size: "16" }) }),
|
6173
6503
|
" ",
|
6174
6504
|
label
|
6175
6505
|
] }),
|
6176
|
-
/* @__PURE__ */ (0,
|
6177
|
-
zoneContent.length === 0 && /* @__PURE__ */ (0,
|
6506
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("ul", { className: getClassName24(), children: [
|
6507
|
+
zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("helper"), children: "No items" }),
|
6178
6508
|
zoneContent.map((item, i) => {
|
6179
6509
|
var _a;
|
6180
6510
|
const isSelected = (itemSelector == null ? void 0 : itemSelector.index) === i && (itemSelector.zone === zone || itemSelector.zone === rootDroppableId && !zone);
|
@@ -6187,7 +6517,7 @@ var LayerTree = ({
|
|
6187
6517
|
const childIsSelected = isChildOfZone(item, selectedItem, ctx);
|
6188
6518
|
const componentConfig = config.components[item.type];
|
6189
6519
|
const label2 = (_a = componentConfig == null ? void 0 : componentConfig["label"]) != null ? _a : item.type.toString();
|
6190
|
-
return /* @__PURE__ */ (0,
|
6520
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
6191
6521
|
"li",
|
6192
6522
|
{
|
6193
6523
|
className: getClassNameLayer({
|
@@ -6197,7 +6527,7 @@ var LayerTree = ({
|
|
6197
6527
|
childIsSelected
|
6198
6528
|
}),
|
6199
6529
|
children: [
|
6200
|
-
/* @__PURE__ */ (0,
|
6530
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
6201
6531
|
"button",
|
6202
6532
|
{
|
6203
6533
|
type: "button",
|
@@ -6236,22 +6566,22 @@ var LayerTree = ({
|
|
6236
6566
|
setHoveringComponent(null);
|
6237
6567
|
},
|
6238
6568
|
children: [
|
6239
|
-
containsZone && /* @__PURE__ */ (0,
|
6569
|
+
containsZone && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
6240
6570
|
"div",
|
6241
6571
|
{
|
6242
6572
|
className: getClassNameLayer("chevron"),
|
6243
6573
|
title: isSelected ? "Collapse" : "Expand",
|
6244
|
-
children: /* @__PURE__ */ (0,
|
6574
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ChevronDown, { size: "12" })
|
6245
6575
|
}
|
6246
6576
|
),
|
6247
|
-
/* @__PURE__ */ (0,
|
6248
|
-
/* @__PURE__ */ (0,
|
6249
|
-
/* @__PURE__ */ (0,
|
6577
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassNameLayer("title"), children: [
|
6578
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("icon"), children: item.type === "Text" || item.type === "Heading" ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Type, { size: "16" }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(LayoutGrid, { size: "16" }) }),
|
6579
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("name"), children: label2 })
|
6250
6580
|
] })
|
6251
6581
|
]
|
6252
6582
|
}
|
6253
6583
|
) }),
|
6254
|
-
containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0,
|
6584
|
+
containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
6255
6585
|
LayerTree,
|
6256
6586
|
{
|
6257
6587
|
config,
|
@@ -6273,13 +6603,13 @@ var LayerTree = ({
|
|
6273
6603
|
};
|
6274
6604
|
|
6275
6605
|
// components/Puck/components/Outline/index.tsx
|
6276
|
-
var
|
6277
|
-
var
|
6606
|
+
var import_react41 = require("react");
|
6607
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
6278
6608
|
var Outline = () => {
|
6279
6609
|
const { dispatch, state, overrides, config } = useAppContext();
|
6280
6610
|
const { data, ui } = state;
|
6281
6611
|
const { itemSelector } = ui;
|
6282
|
-
const setItemSelector = (0,
|
6612
|
+
const setItemSelector = (0, import_react41.useCallback)(
|
6283
6613
|
(newItemSelector) => {
|
6284
6614
|
dispatch({
|
6285
6615
|
type: "setUi",
|
@@ -6288,9 +6618,9 @@ var Outline = () => {
|
|
6288
6618
|
},
|
6289
6619
|
[]
|
6290
6620
|
);
|
6291
|
-
const Wrapper = (0,
|
6292
|
-
return /* @__PURE__ */ (0,
|
6293
|
-
(ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0,
|
6621
|
+
const Wrapper = (0, import_react41.useMemo)(() => overrides.outline || "div", [overrides]);
|
6622
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(dropZoneContext.Consumer, { children: (ctx) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
6623
|
+
(ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
6294
6624
|
LayerTree,
|
6295
6625
|
{
|
6296
6626
|
config,
|
@@ -6303,7 +6633,7 @@ var Outline = () => {
|
|
6303
6633
|
),
|
6304
6634
|
Object.entries(findZonesForArea(data, "root")).map(
|
6305
6635
|
([zoneKey, zone]) => {
|
6306
|
-
return /* @__PURE__ */ (0,
|
6636
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
6307
6637
|
LayerTree,
|
6308
6638
|
{
|
6309
6639
|
config,
|
@@ -6402,19 +6732,19 @@ function usePuckHistory({
|
|
6402
6732
|
|
6403
6733
|
// lib/use-history-store.ts
|
6404
6734
|
init_react_import();
|
6405
|
-
var
|
6735
|
+
var import_react42 = require("react");
|
6406
6736
|
var import_use_debounce3 = require("use-debounce");
|
6407
6737
|
var EMPTY_HISTORY_INDEX = 0;
|
6408
6738
|
function useHistoryStore(initialHistory) {
|
6409
6739
|
var _a, _b;
|
6410
|
-
const [histories, setHistories] = (0,
|
6740
|
+
const [histories, setHistories] = (0, import_react42.useState)(
|
6411
6741
|
(_a = initialHistory == null ? void 0 : initialHistory.histories) != null ? _a : []
|
6412
6742
|
);
|
6413
6743
|
const updateHistories = (histories2) => {
|
6414
6744
|
setHistories(histories2);
|
6415
6745
|
setIndex(histories2.length - 1);
|
6416
6746
|
};
|
6417
|
-
const [index, setIndex] = (0,
|
6747
|
+
const [index, setIndex] = (0, import_react42.useState)(
|
6418
6748
|
(_b = initialHistory == null ? void 0 : initialHistory.index) != null ? _b : EMPTY_HISTORY_INDEX
|
6419
6749
|
);
|
6420
6750
|
const hasPast = index > EMPTY_HISTORY_INDEX;
|
@@ -6574,22 +6904,22 @@ var getBox = function getBox2(el) {
|
|
6574
6904
|
};
|
6575
6905
|
|
6576
6906
|
// components/Puck/components/Canvas/index.tsx
|
6577
|
-
var
|
6907
|
+
var import_react44 = require("react");
|
6578
6908
|
|
6579
6909
|
// components/ViewportControls/index.tsx
|
6580
6910
|
init_react_import();
|
6581
|
-
var
|
6911
|
+
var import_react43 = require("react");
|
6582
6912
|
|
6583
6913
|
// css-module:/home/runner/work/puck/puck/packages/core/components/ViewportControls/styles.module.css#css-module
|
6584
6914
|
init_react_import();
|
6585
6915
|
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" };
|
6586
6916
|
|
6587
6917
|
// components/ViewportControls/index.tsx
|
6588
|
-
var
|
6918
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
6589
6919
|
var icons = {
|
6590
|
-
Smartphone: /* @__PURE__ */ (0,
|
6591
|
-
Tablet: /* @__PURE__ */ (0,
|
6592
|
-
Monitor: /* @__PURE__ */ (0,
|
6920
|
+
Smartphone: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Smartphone, { size: 16 }),
|
6921
|
+
Tablet: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Tablet, { size: 16 }),
|
6922
|
+
Monitor: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Monitor, { size: 16 })
|
6593
6923
|
};
|
6594
6924
|
var getClassName25 = get_class_name_factory_default("ViewportControls", styles_module_default20);
|
6595
6925
|
var getClassNameButton = get_class_name_factory_default("ViewportButton", styles_module_default20);
|
@@ -6601,11 +6931,11 @@ var ViewportButton = ({
|
|
6601
6931
|
onClick
|
6602
6932
|
}) => {
|
6603
6933
|
const { state } = useAppContext();
|
6604
|
-
const [isActive, setIsActive] = (0,
|
6605
|
-
(0,
|
6934
|
+
const [isActive, setIsActive] = (0, import_react43.useState)(false);
|
6935
|
+
(0, import_react43.useEffect)(() => {
|
6606
6936
|
setIsActive(width === state.ui.viewports.current.width);
|
6607
6937
|
}, [width, state.ui.viewports.current.width]);
|
6608
|
-
return /* @__PURE__ */ (0,
|
6938
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: getClassNameButton({ isActive }), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
6609
6939
|
IconButton,
|
6610
6940
|
{
|
6611
6941
|
title,
|
@@ -6614,7 +6944,7 @@ var ViewportButton = ({
|
|
6614
6944
|
e.stopPropagation();
|
6615
6945
|
onClick({ width, height });
|
6616
6946
|
},
|
6617
|
-
children: /* @__PURE__ */ (0,
|
6947
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: getClassNameButton("inner"), children })
|
6618
6948
|
}
|
6619
6949
|
) });
|
6620
6950
|
};
|
@@ -6638,7 +6968,7 @@ var ViewportControls = ({
|
|
6638
6968
|
const defaultsContainAutoZoom = defaultZoomOptions.find(
|
6639
6969
|
(option) => option.value === autoZoom
|
6640
6970
|
);
|
6641
|
-
const zoomOptions = (0,
|
6971
|
+
const zoomOptions = (0, import_react43.useMemo)(
|
6642
6972
|
() => [
|
6643
6973
|
...defaultZoomOptions,
|
6644
6974
|
...defaultsContainAutoZoom ? [] : [
|
@@ -6650,8 +6980,8 @@ var ViewportControls = ({
|
|
6650
6980
|
].filter((a) => a.value <= autoZoom).sort((a, b) => a.value > b.value ? 1 : -1),
|
6651
6981
|
[autoZoom]
|
6652
6982
|
);
|
6653
|
-
return /* @__PURE__ */ (0,
|
6654
|
-
viewports.map((viewport, i) => /* @__PURE__ */ (0,
|
6983
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: getClassName25(), children: [
|
6984
|
+
viewports.map((viewport, i) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
6655
6985
|
ViewportButton,
|
6656
6986
|
{
|
6657
6987
|
height: viewport.height,
|
@@ -6662,8 +6992,8 @@ var ViewportControls = ({
|
|
6662
6992
|
},
|
6663
6993
|
i
|
6664
6994
|
)),
|
6665
|
-
/* @__PURE__ */ (0,
|
6666
|
-
/* @__PURE__ */ (0,
|
6995
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getClassName25("divider") }),
|
6996
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
6667
6997
|
IconButton,
|
6668
6998
|
{
|
6669
6999
|
title: "Zoom viewport out",
|
@@ -6677,10 +7007,10 @@ var ViewportControls = ({
|
|
6677
7007
|
)].value
|
6678
7008
|
);
|
6679
7009
|
},
|
6680
|
-
children: /* @__PURE__ */ (0,
|
7010
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ZoomOut, { size: 16 })
|
6681
7011
|
}
|
6682
7012
|
),
|
6683
|
-
/* @__PURE__ */ (0,
|
7013
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
6684
7014
|
IconButton,
|
6685
7015
|
{
|
6686
7016
|
title: "Zoom viewport in",
|
@@ -6694,11 +7024,11 @@ var ViewportControls = ({
|
|
6694
7024
|
)].value
|
6695
7025
|
);
|
6696
7026
|
},
|
6697
|
-
children: /* @__PURE__ */ (0,
|
7027
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ZoomIn, { size: 16 })
|
6698
7028
|
}
|
6699
7029
|
),
|
6700
|
-
/* @__PURE__ */ (0,
|
6701
|
-
/* @__PURE__ */ (0,
|
7030
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: getClassName25("divider") }),
|
7031
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
6702
7032
|
"select",
|
6703
7033
|
{
|
6704
7034
|
className: getClassName25("zoomSelect"),
|
@@ -6706,7 +7036,7 @@ var ViewportControls = ({
|
|
6706
7036
|
onChange: (e) => {
|
6707
7037
|
onZoom(parseFloat(e.currentTarget.value));
|
6708
7038
|
},
|
6709
|
-
children: zoomOptions.map((option) => /* @__PURE__ */ (0,
|
7039
|
+
children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
6710
7040
|
"option",
|
6711
7041
|
{
|
6712
7042
|
value: option.value,
|
@@ -6754,24 +7084,24 @@ var getZoomConfig = (uiViewport, frame, zoom) => {
|
|
6754
7084
|
};
|
6755
7085
|
|
6756
7086
|
// components/Puck/components/Canvas/index.tsx
|
6757
|
-
var
|
7087
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
6758
7088
|
var getClassName26 = get_class_name_factory_default("PuckCanvas", styles_module_default21);
|
6759
7089
|
var ZOOM_ON_CHANGE = true;
|
6760
7090
|
var Canvas = () => {
|
6761
7091
|
const { status, iframe } = useAppContext();
|
6762
7092
|
const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext();
|
6763
7093
|
const { ui } = state;
|
6764
|
-
const frameRef = (0,
|
6765
|
-
const [showTransition, setShowTransition] = (0,
|
6766
|
-
const defaultRender = (0,
|
6767
|
-
const PuckDefault = ({ children }) => /* @__PURE__ */ (0,
|
7094
|
+
const frameRef = (0, import_react44.useRef)(null);
|
7095
|
+
const [showTransition, setShowTransition] = (0, import_react44.useState)(false);
|
7096
|
+
const defaultRender = (0, import_react44.useMemo)(() => {
|
7097
|
+
const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children });
|
6768
7098
|
return PuckDefault;
|
6769
7099
|
}, []);
|
6770
|
-
const CustomPreview = (0,
|
7100
|
+
const CustomPreview = (0, import_react44.useMemo)(
|
6771
7101
|
() => overrides.preview || defaultRender,
|
6772
7102
|
[overrides]
|
6773
7103
|
);
|
6774
|
-
const getFrameDimensions = (0,
|
7104
|
+
const getFrameDimensions = (0, import_react44.useCallback)(() => {
|
6775
7105
|
if (frameRef.current) {
|
6776
7106
|
const frame = frameRef.current;
|
6777
7107
|
const box = getBox(frame);
|
@@ -6779,7 +7109,7 @@ var Canvas = () => {
|
|
6779
7109
|
}
|
6780
7110
|
return { width: 0, height: 0 };
|
6781
7111
|
}, [frameRef]);
|
6782
|
-
const resetAutoZoom = (0,
|
7112
|
+
const resetAutoZoom = (0, import_react44.useCallback)(
|
6783
7113
|
(ui2 = state.ui) => {
|
6784
7114
|
if (frameRef.current) {
|
6785
7115
|
setZoomConfig(
|
@@ -6789,11 +7119,11 @@ var Canvas = () => {
|
|
6789
7119
|
},
|
6790
7120
|
[frameRef, zoomConfig, state.ui]
|
6791
7121
|
);
|
6792
|
-
(0,
|
7122
|
+
(0, import_react44.useEffect)(() => {
|
6793
7123
|
setShowTransition(false);
|
6794
7124
|
resetAutoZoom();
|
6795
7125
|
}, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
|
6796
|
-
(0,
|
7126
|
+
(0, import_react44.useEffect)(() => {
|
6797
7127
|
const { height: frameHeight } = getFrameDimensions();
|
6798
7128
|
if (ui.viewports.current.height === "auto") {
|
6799
7129
|
setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), {
|
@@ -6801,13 +7131,13 @@ var Canvas = () => {
|
|
6801
7131
|
}));
|
6802
7132
|
}
|
6803
7133
|
}, [zoomConfig.zoom]);
|
6804
|
-
(0,
|
7134
|
+
(0, import_react44.useEffect)(() => {
|
6805
7135
|
if (ZOOM_ON_CHANGE) {
|
6806
7136
|
setShowTransition(true);
|
6807
7137
|
resetAutoZoom(ui);
|
6808
7138
|
}
|
6809
7139
|
}, [ui.viewports.current.width]);
|
6810
|
-
(0,
|
7140
|
+
(0, import_react44.useEffect)(() => {
|
6811
7141
|
const cb = () => {
|
6812
7142
|
setShowTransition(false);
|
6813
7143
|
resetAutoZoom();
|
@@ -6817,13 +7147,13 @@ var Canvas = () => {
|
|
6817
7147
|
window.removeEventListener("resize", cb);
|
6818
7148
|
};
|
6819
7149
|
}, []);
|
6820
|
-
const [showLoader, setShowLoader] = (0,
|
6821
|
-
(0,
|
7150
|
+
const [showLoader, setShowLoader] = (0, import_react44.useState)(false);
|
7151
|
+
(0, import_react44.useEffect)(() => {
|
6822
7152
|
setTimeout(() => {
|
6823
7153
|
setShowLoader(true);
|
6824
7154
|
}, 500);
|
6825
7155
|
}, []);
|
6826
|
-
return /* @__PURE__ */ (0,
|
7156
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
6827
7157
|
"div",
|
6828
7158
|
{
|
6829
7159
|
className: getClassName26({
|
@@ -6836,7 +7166,7 @@ var Canvas = () => {
|
|
6836
7166
|
recordHistory: true
|
6837
7167
|
}),
|
6838
7168
|
children: [
|
6839
|
-
ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0,
|
7169
|
+
ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: getClassName26("controls"), children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
6840
7170
|
ViewportControls,
|
6841
7171
|
{
|
6842
7172
|
autoZoom: zoomConfig.autoZoom,
|
@@ -6862,8 +7192,8 @@ var Canvas = () => {
|
|
6862
7192
|
}
|
6863
7193
|
}
|
6864
7194
|
) }),
|
6865
|
-
/* @__PURE__ */ (0,
|
6866
|
-
/* @__PURE__ */ (0,
|
7195
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: getClassName26("inner"), ref: frameRef, children: [
|
7196
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
6867
7197
|
"div",
|
6868
7198
|
{
|
6869
7199
|
className: getClassName26("root"),
|
@@ -6884,10 +7214,10 @@ var Canvas = () => {
|
|
6884
7214
|
})
|
6885
7215
|
);
|
6886
7216
|
},
|
6887
|
-
children: /* @__PURE__ */ (0,
|
7217
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Preview2, {}) })
|
6888
7218
|
}
|
6889
7219
|
),
|
6890
|
-
/* @__PURE__ */ (0,
|
7220
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: getClassName26("loader"), children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Loader, { size: 24 }) })
|
6891
7221
|
] })
|
6892
7222
|
]
|
6893
7223
|
}
|
@@ -6896,7 +7226,7 @@ var Canvas = () => {
|
|
6896
7226
|
|
6897
7227
|
// lib/use-loaded-overrides.ts
|
6898
7228
|
init_react_import();
|
6899
|
-
var
|
7229
|
+
var import_react45 = require("react");
|
6900
7230
|
|
6901
7231
|
// lib/load-overrides.ts
|
6902
7232
|
init_react_import();
|
@@ -6935,26 +7265,26 @@ var useLoadedOverrides = ({
|
|
6935
7265
|
overrides,
|
6936
7266
|
plugins
|
6937
7267
|
}) => {
|
6938
|
-
return (0,
|
7268
|
+
return (0, import_react45.useMemo)(() => {
|
6939
7269
|
return loadOverrides({ overrides, plugins });
|
6940
7270
|
}, [plugins, overrides]);
|
6941
7271
|
};
|
6942
7272
|
|
6943
7273
|
// components/DefaultOverride/index.tsx
|
6944
7274
|
init_react_import();
|
6945
|
-
var
|
6946
|
-
var DefaultOverride = ({ children }) => /* @__PURE__ */ (0,
|
7275
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
7276
|
+
var DefaultOverride = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_jsx_runtime38.Fragment, { children });
|
6947
7277
|
|
6948
7278
|
// lib/use-inject-css.ts
|
6949
7279
|
init_react_import();
|
6950
|
-
var
|
7280
|
+
var import_react46 = require("react");
|
6951
7281
|
var styles = ``;
|
6952
7282
|
var useInjectStyleSheet = (initialStyles, iframeEnabled) => {
|
6953
|
-
const [el, setEl] = (0,
|
6954
|
-
(0,
|
7283
|
+
const [el, setEl] = (0, import_react46.useState)();
|
7284
|
+
(0, import_react46.useEffect)(() => {
|
6955
7285
|
setEl(document.createElement("style"));
|
6956
7286
|
}, []);
|
6957
|
-
(0,
|
7287
|
+
(0, import_react46.useEffect)(() => {
|
6958
7288
|
var _a;
|
6959
7289
|
if (!el || typeof window === "undefined") {
|
6960
7290
|
return;
|
@@ -6974,10 +7304,10 @@ var useInjectGlobalCss = (iframeEnabled) => {
|
|
6974
7304
|
|
6975
7305
|
// lib/use-preview-mode-hotkeys.ts
|
6976
7306
|
init_react_import();
|
6977
|
-
var
|
7307
|
+
var import_react47 = require("react");
|
6978
7308
|
var import_react_hotkeys_hook2 = require("react-hotkeys-hook");
|
6979
7309
|
var usePreviewModeHotkeys = (dispatch, iframeEnabled) => {
|
6980
|
-
const toggleInteractive = (0,
|
7310
|
+
const toggleInteractive = (0, import_react47.useCallback)(() => {
|
6981
7311
|
dispatch({
|
6982
7312
|
type: "setUi",
|
6983
7313
|
ui: (ui) => ({
|
@@ -7000,7 +7330,7 @@ var usePreviewModeHotkeys = (dispatch, iframeEnabled) => {
|
|
7000
7330
|
};
|
7001
7331
|
|
7002
7332
|
// components/Puck/index.tsx
|
7003
|
-
var
|
7333
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
7004
7334
|
var getClassName27 = get_class_name_factory_default("Puck", styles_module_default15);
|
7005
7335
|
var getLayoutClassName = get_class_name_factory_default("PuckLayout", styles_module_default15);
|
7006
7336
|
function Puck({
|
@@ -7029,7 +7359,7 @@ function Puck({
|
|
7029
7359
|
waitForStyles: true
|
7030
7360
|
}, _iframe);
|
7031
7361
|
useInjectGlobalCss(iframe.enabled);
|
7032
|
-
const [generatedAppState] = (0,
|
7362
|
+
const [generatedAppState] = (0, import_react48.useState)(() => {
|
7033
7363
|
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i;
|
7034
7364
|
const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
|
7035
7365
|
let clientUiState = {};
|
@@ -7101,14 +7431,14 @@ function Puck({
|
|
7101
7431
|
histories,
|
7102
7432
|
index: initialHistoryIndex
|
7103
7433
|
});
|
7104
|
-
const [reducer] = (0,
|
7434
|
+
const [reducer] = (0, import_react48.useState)(
|
7105
7435
|
() => createReducer({
|
7106
7436
|
config,
|
7107
7437
|
record: historyStore.record,
|
7108
7438
|
onAction
|
7109
7439
|
})
|
7110
7440
|
);
|
7111
|
-
const [appState, dispatch] = (0,
|
7441
|
+
const [appState, dispatch] = (0, import_react48.useReducer)(
|
7112
7442
|
reducer,
|
7113
7443
|
flushZones(initialAppState)
|
7114
7444
|
);
|
@@ -7119,14 +7449,14 @@ function Puck({
|
|
7119
7449
|
historyStore,
|
7120
7450
|
iframeEnabled: (_a = _iframe == null ? void 0 : _iframe.enabled) != null ? _a : true
|
7121
7451
|
});
|
7122
|
-
const [menuOpen, setMenuOpen] = (0,
|
7452
|
+
const [menuOpen, setMenuOpen] = (0, import_react48.useState)(false);
|
7123
7453
|
const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
|
7124
7454
|
const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
|
7125
|
-
(0,
|
7455
|
+
(0, import_react48.useEffect)(() => {
|
7126
7456
|
if (onChange) onChange(data);
|
7127
7457
|
}, [data]);
|
7128
7458
|
const rootProps = data.root.props || data.root;
|
7129
|
-
const toggleSidebars = (0,
|
7459
|
+
const toggleSidebars = (0, import_react48.useCallback)(
|
7130
7460
|
(sidebar) => {
|
7131
7461
|
const widerViewport = window.matchMedia("(min-width: 638px)").matches;
|
7132
7462
|
const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
|
@@ -7140,7 +7470,7 @@ function Puck({
|
|
7140
7470
|
},
|
7141
7471
|
[dispatch, leftSideBarVisible, rightSideBarVisible]
|
7142
7472
|
);
|
7143
|
-
(0,
|
7473
|
+
(0, import_react48.useEffect)(() => {
|
7144
7474
|
if (!window.matchMedia("(min-width: 638px)").matches) {
|
7145
7475
|
dispatch({
|
7146
7476
|
type: "setUi",
|
@@ -7163,7 +7493,7 @@ function Puck({
|
|
7163
7493
|
window.removeEventListener("resize", handleResize);
|
7164
7494
|
};
|
7165
7495
|
}, []);
|
7166
|
-
const defaultHeaderRender = (0,
|
7496
|
+
const defaultHeaderRender = (0, import_react48.useMemo)(() => {
|
7167
7497
|
if (renderHeader) {
|
7168
7498
|
console.warn(
|
7169
7499
|
"`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
|
@@ -7171,20 +7501,20 @@ function Puck({
|
|
7171
7501
|
const RenderHeader = (_a2) => {
|
7172
7502
|
var _b2 = _a2, { actions } = _b2, props = __objRest(_b2, ["actions"]);
|
7173
7503
|
const Comp = renderHeader;
|
7174
|
-
return /* @__PURE__ */ (0,
|
7504
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState, children: actions }));
|
7175
7505
|
};
|
7176
7506
|
return RenderHeader;
|
7177
7507
|
}
|
7178
7508
|
return DefaultOverride;
|
7179
7509
|
}, [renderHeader]);
|
7180
|
-
const defaultHeaderActionsRender = (0,
|
7510
|
+
const defaultHeaderActionsRender = (0, import_react48.useMemo)(() => {
|
7181
7511
|
if (renderHeaderActions) {
|
7182
7512
|
console.warn(
|
7183
7513
|
"`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
|
7184
7514
|
);
|
7185
7515
|
const RenderHeader = (props) => {
|
7186
7516
|
const Comp = renderHeaderActions;
|
7187
|
-
return /* @__PURE__ */ (0,
|
7517
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState }));
|
7188
7518
|
};
|
7189
7519
|
return RenderHeader;
|
7190
7520
|
}
|
@@ -7194,27 +7524,27 @@ function Puck({
|
|
7194
7524
|
overrides,
|
7195
7525
|
plugins
|
7196
7526
|
});
|
7197
|
-
const CustomPuck = (0,
|
7527
|
+
const CustomPuck = (0, import_react48.useMemo)(
|
7198
7528
|
() => loadedOverrides.puck || DefaultOverride,
|
7199
7529
|
[loadedOverrides]
|
7200
7530
|
);
|
7201
|
-
const CustomHeader = (0,
|
7531
|
+
const CustomHeader = (0, import_react48.useMemo)(
|
7202
7532
|
() => loadedOverrides.header || defaultHeaderRender,
|
7203
7533
|
[loadedOverrides]
|
7204
7534
|
);
|
7205
|
-
const CustomHeaderActions = (0,
|
7535
|
+
const CustomHeaderActions = (0, import_react48.useMemo)(
|
7206
7536
|
() => loadedOverrides.headerActions || defaultHeaderActionsRender,
|
7207
7537
|
[loadedOverrides]
|
7208
7538
|
);
|
7209
|
-
const [mounted, setMounted] = (0,
|
7210
|
-
(0,
|
7539
|
+
const [mounted, setMounted] = (0, import_react48.useState)(false);
|
7540
|
+
(0, import_react48.useEffect)(() => {
|
7211
7541
|
setMounted(true);
|
7212
7542
|
}, []);
|
7213
7543
|
const selectedComponentConfig = selectedItem && config.components[selectedItem.type];
|
7214
7544
|
const selectedComponentLabel = selectedItem ? (_b = selectedComponentConfig == null ? void 0 : selectedComponentConfig["label"]) != null ? _b : selectedItem.type.toString() : "";
|
7215
7545
|
usePreviewModeHotkeys(dispatch, iframe.enabled);
|
7216
|
-
return /* @__PURE__ */ (0,
|
7217
|
-
/* @__PURE__ */ (0,
|
7546
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: `Puck ${getClassName27()}`, children: [
|
7547
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
7218
7548
|
AppProvider,
|
7219
7549
|
{
|
7220
7550
|
value: {
|
@@ -7236,7 +7566,7 @@ function Puck({
|
|
7236
7566
|
getPermissions: () => ({}),
|
7237
7567
|
refreshPermissions: () => null
|
7238
7568
|
},
|
7239
|
-
children: /* @__PURE__ */ (0,
|
7569
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DragDropContext, { disableAutoScroll: dnd == null ? void 0 : dnd.disableAutoScroll, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
7240
7570
|
"div",
|
7241
7571
|
{
|
7242
7572
|
className: getLayoutClassName({
|
@@ -7245,60 +7575,60 @@ function Puck({
|
|
7245
7575
|
mounted,
|
7246
7576
|
rightSideBarVisible
|
7247
7577
|
}),
|
7248
|
-
children: /* @__PURE__ */ (0,
|
7249
|
-
/* @__PURE__ */ (0,
|
7578
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: getLayoutClassName("inner"), children: [
|
7579
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
7250
7580
|
CustomHeader,
|
7251
7581
|
{
|
7252
|
-
actions: /* @__PURE__ */ (0,
|
7582
|
+
actions: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(CustomHeaderActions, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
7253
7583
|
Button,
|
7254
7584
|
{
|
7255
7585
|
onClick: () => {
|
7256
7586
|
onPublish && onPublish(data);
|
7257
7587
|
},
|
7258
|
-
icon: /* @__PURE__ */ (0,
|
7588
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Globe, { size: "14px" }),
|
7259
7589
|
children: "Publish"
|
7260
7590
|
}
|
7261
7591
|
) }) }),
|
7262
|
-
children: /* @__PURE__ */ (0,
|
7263
|
-
/* @__PURE__ */ (0,
|
7264
|
-
/* @__PURE__ */ (0,
|
7592
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("header", { className: getLayoutClassName("header"), children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: getLayoutClassName("headerInner"), children: [
|
7593
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: getLayoutClassName("headerToggle"), children: [
|
7594
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
7265
7595
|
"div",
|
7266
7596
|
{
|
7267
7597
|
className: getLayoutClassName("leftSideBarToggle"),
|
7268
|
-
children: /* @__PURE__ */ (0,
|
7598
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
7269
7599
|
IconButton,
|
7270
7600
|
{
|
7271
7601
|
onClick: () => {
|
7272
7602
|
toggleSidebars("left");
|
7273
7603
|
},
|
7274
7604
|
title: "Toggle left sidebar",
|
7275
|
-
children: /* @__PURE__ */ (0,
|
7605
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PanelLeft, { focusable: "false" })
|
7276
7606
|
}
|
7277
7607
|
)
|
7278
7608
|
}
|
7279
7609
|
),
|
7280
|
-
/* @__PURE__ */ (0,
|
7610
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
7281
7611
|
"div",
|
7282
7612
|
{
|
7283
7613
|
className: getLayoutClassName("rightSideBarToggle"),
|
7284
|
-
children: /* @__PURE__ */ (0,
|
7614
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
7285
7615
|
IconButton,
|
7286
7616
|
{
|
7287
7617
|
onClick: () => {
|
7288
7618
|
toggleSidebars("right");
|
7289
7619
|
},
|
7290
7620
|
title: "Toggle right sidebar",
|
7291
|
-
children: /* @__PURE__ */ (0,
|
7621
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PanelRight, { focusable: "false" })
|
7292
7622
|
}
|
7293
7623
|
)
|
7294
7624
|
}
|
7295
7625
|
)
|
7296
7626
|
] }),
|
7297
|
-
/* @__PURE__ */ (0,
|
7627
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: getLayoutClassName("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Heading, { rank: "2", size: "xs", children: [
|
7298
7628
|
headerTitle || rootProps.title || "Page",
|
7299
|
-
headerPath && /* @__PURE__ */ (0,
|
7629
|
+
headerPath && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
|
7300
7630
|
" ",
|
7301
|
-
/* @__PURE__ */ (0,
|
7631
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
7302
7632
|
"code",
|
7303
7633
|
{
|
7304
7634
|
className: getLayoutClassName("headerPath"),
|
@@ -7307,31 +7637,31 @@ function Puck({
|
|
7307
7637
|
)
|
7308
7638
|
] })
|
7309
7639
|
] }) }),
|
7310
|
-
/* @__PURE__ */ (0,
|
7311
|
-
/* @__PURE__ */ (0,
|
7640
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: getLayoutClassName("headerTools"), children: [
|
7641
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: getLayoutClassName("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
7312
7642
|
IconButton,
|
7313
7643
|
{
|
7314
7644
|
onClick: () => {
|
7315
7645
|
return setMenuOpen(!menuOpen);
|
7316
7646
|
},
|
7317
7647
|
title: "Toggle menu bar",
|
7318
|
-
children: menuOpen ? /* @__PURE__ */ (0,
|
7648
|
+
children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ChevronDown, { focusable: "false" })
|
7319
7649
|
}
|
7320
7650
|
) }),
|
7321
|
-
/* @__PURE__ */ (0,
|
7651
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
7322
7652
|
MenuBar,
|
7323
7653
|
{
|
7324
7654
|
appState,
|
7325
7655
|
dispatch,
|
7326
7656
|
onPublish,
|
7327
7657
|
menuOpen,
|
7328
|
-
renderHeaderActions: () => /* @__PURE__ */ (0,
|
7658
|
+
renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(CustomHeaderActions, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
7329
7659
|
Button,
|
7330
7660
|
{
|
7331
7661
|
onClick: () => {
|
7332
7662
|
onPublish && onPublish(data);
|
7333
7663
|
},
|
7334
|
-
icon: /* @__PURE__ */ (0,
|
7664
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Globe, { size: "14px" }),
|
7335
7665
|
children: "Publish"
|
7336
7666
|
}
|
7337
7667
|
) }),
|
@@ -7342,19 +7672,19 @@ function Puck({
|
|
7342
7672
|
] }) })
|
7343
7673
|
}
|
7344
7674
|
),
|
7345
|
-
/* @__PURE__ */ (0,
|
7346
|
-
/* @__PURE__ */ (0,
|
7347
|
-
/* @__PURE__ */ (0,
|
7675
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: getLayoutClassName("leftSideBar"), children: [
|
7676
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Components, {}) }),
|
7677
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(SidebarSection, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Outline, {}) })
|
7348
7678
|
] }),
|
7349
|
-
/* @__PURE__ */ (0,
|
7350
|
-
/* @__PURE__ */ (0,
|
7679
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Canvas, {}),
|
7680
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: getLayoutClassName("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
7351
7681
|
SidebarSection,
|
7352
7682
|
{
|
7353
7683
|
noPadding: true,
|
7354
7684
|
noBorderTop: true,
|
7355
7685
|
showBreadcrumbs: true,
|
7356
7686
|
title: selectedItem ? selectedComponentLabel : "Page",
|
7357
|
-
children: /* @__PURE__ */ (0,
|
7687
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Fields, {})
|
7358
7688
|
}
|
7359
7689
|
) })
|
7360
7690
|
] })
|
@@ -7362,13 +7692,13 @@ function Puck({
|
|
7362
7692
|
) }) })
|
7363
7693
|
}
|
7364
7694
|
),
|
7365
|
-
/* @__PURE__ */ (0,
|
7695
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { id: "puck-portal-root", className: getClassName27("portal") })
|
7366
7696
|
] });
|
7367
7697
|
}
|
7368
7698
|
Puck.Components = Components;
|
7369
7699
|
Puck.Fields = Fields;
|
7370
7700
|
Puck.Outline = Outline;
|
7371
|
-
Puck.Preview =
|
7701
|
+
Puck.Preview = Preview2;
|
7372
7702
|
|
7373
7703
|
// lib/migrate.ts
|
7374
7704
|
init_react_import();
|