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