@measured/puck 0.14.0-canary.22a4182 → 0.14.0-canary.26bc4ff
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/README.md +8 -0
- package/dist/{Config-1444273f.d.ts → Config-09628f3c.d.ts} +43 -26
- package/dist/index.css +414 -264
- package/dist/index.d.ts +92 -51
- package/dist/index.js +1525 -723
- package/dist/rsc.d.ts +2 -2
- package/dist/rsc.js +4 -1
- package/package.json +4 -2
package/dist/index.js
CHANGED
@@ -8084,7 +8084,7 @@ var require_react_dom_development = __commonJS({
|
|
8084
8084
|
var HostPortal = 4;
|
8085
8085
|
var HostComponent = 5;
|
8086
8086
|
var HostText = 6;
|
8087
|
-
var
|
8087
|
+
var Fragment17 = 7;
|
8088
8088
|
var Mode = 8;
|
8089
8089
|
var ContextConsumer = 9;
|
8090
8090
|
var ContextProvider = 10;
|
@@ -8264,8 +8264,8 @@ var require_react_dom_development = __commonJS({
|
|
8264
8264
|
if (propertyInfo !== null) {
|
8265
8265
|
return !propertyInfo.acceptsBooleans;
|
8266
8266
|
} else {
|
8267
|
-
var
|
8268
|
-
return
|
8267
|
+
var prefix3 = name.toLowerCase().slice(0, 5);
|
8268
|
+
return prefix3 !== "data-" && prefix3 !== "aria-";
|
8269
8269
|
}
|
8270
8270
|
}
|
8271
8271
|
default:
|
@@ -8937,18 +8937,18 @@ var require_react_dom_development = __commonJS({
|
|
8937
8937
|
}
|
8938
8938
|
}
|
8939
8939
|
var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;
|
8940
|
-
var
|
8940
|
+
var prefix2;
|
8941
8941
|
function describeBuiltInComponentFrame(name, source, ownerFn) {
|
8942
8942
|
{
|
8943
|
-
if (
|
8943
|
+
if (prefix2 === void 0) {
|
8944
8944
|
try {
|
8945
8945
|
throw Error();
|
8946
8946
|
} catch (x) {
|
8947
8947
|
var match = x.stack.trim().match(/\n( *(at )?)/);
|
8948
|
-
|
8948
|
+
prefix2 = match && match[1] || "";
|
8949
8949
|
}
|
8950
8950
|
}
|
8951
|
-
return "\n" +
|
8951
|
+
return "\n" + prefix2 + name;
|
8952
8952
|
}
|
8953
8953
|
}
|
8954
8954
|
var reentry = false;
|
@@ -9240,7 +9240,7 @@ var require_react_dom_development = __commonJS({
|
|
9240
9240
|
return "DehydratedFragment";
|
9241
9241
|
case ForwardRef:
|
9242
9242
|
return getWrappedName$1(type, type.render, "ForwardRef");
|
9243
|
-
case
|
9243
|
+
case Fragment17:
|
9244
9244
|
return "Fragment";
|
9245
9245
|
case HostComponent:
|
9246
9246
|
return type;
|
@@ -10033,13 +10033,13 @@ var require_react_dom_development = __commonJS({
|
|
10033
10033
|
strokeOpacity: true,
|
10034
10034
|
strokeWidth: true
|
10035
10035
|
};
|
10036
|
-
function prefixKey(
|
10037
|
-
return
|
10036
|
+
function prefixKey(prefix3, key) {
|
10037
|
+
return prefix3 + key.charAt(0).toUpperCase() + key.substring(1);
|
10038
10038
|
}
|
10039
10039
|
var prefixes = ["Webkit", "ms", "Moz", "O"];
|
10040
10040
|
Object.keys(isUnitlessNumber).forEach(function(prop) {
|
10041
|
-
prefixes.forEach(function(
|
10042
|
-
isUnitlessNumber[prefixKey(
|
10041
|
+
prefixes.forEach(function(prefix3) {
|
10042
|
+
isUnitlessNumber[prefixKey(prefix3, prop)] = isUnitlessNumber[prop];
|
10043
10043
|
});
|
10044
10044
|
});
|
10045
10045
|
function dangerousStyleValue(name, value, isCustomProperty) {
|
@@ -18911,7 +18911,7 @@ var require_react_dom_development = __commonJS({
|
|
18911
18911
|
}
|
18912
18912
|
}
|
18913
18913
|
function updateFragment2(returnFiber, current2, fragment, lanes, key) {
|
18914
|
-
if (current2 === null || current2.tag !==
|
18914
|
+
if (current2 === null || current2.tag !== Fragment17) {
|
18915
18915
|
var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);
|
18916
18916
|
created.return = returnFiber;
|
18917
18917
|
return created;
|
@@ -19314,7 +19314,7 @@ var require_react_dom_development = __commonJS({
|
|
19314
19314
|
if (child.key === key) {
|
19315
19315
|
var elementType = element.type;
|
19316
19316
|
if (elementType === REACT_FRAGMENT_TYPE) {
|
19317
|
-
if (child.tag ===
|
19317
|
+
if (child.tag === Fragment17) {
|
19318
19318
|
deleteRemainingChildren(returnFiber, child.sibling);
|
19319
19319
|
var existing = useFiber(child, element.props.children);
|
19320
19320
|
existing.return = returnFiber;
|
@@ -23489,7 +23489,7 @@ var require_react_dom_development = __commonJS({
|
|
23489
23489
|
var _resolvedProps2 = workInProgress2.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);
|
23490
23490
|
return updateForwardRef(current2, workInProgress2, type, _resolvedProps2, renderLanes2);
|
23491
23491
|
}
|
23492
|
-
case
|
23492
|
+
case Fragment17:
|
23493
23493
|
return updateFragment(current2, workInProgress2, renderLanes2);
|
23494
23494
|
case Mode:
|
23495
23495
|
return updateMode(current2, workInProgress2, renderLanes2);
|
@@ -23762,7 +23762,7 @@ var require_react_dom_development = __commonJS({
|
|
23762
23762
|
case SimpleMemoComponent:
|
23763
23763
|
case FunctionComponent:
|
23764
23764
|
case ForwardRef:
|
23765
|
-
case
|
23765
|
+
case Fragment17:
|
23766
23766
|
case Mode:
|
23767
23767
|
case Profiler:
|
23768
23768
|
case ContextConsumer:
|
@@ -28021,7 +28021,7 @@ var require_react_dom_development = __commonJS({
|
|
28021
28021
|
return fiber;
|
28022
28022
|
}
|
28023
28023
|
function createFiberFromFragment(elements, mode, lanes, key) {
|
28024
|
-
var fiber = createFiber(
|
28024
|
+
var fiber = createFiber(Fragment17, elements, key, mode);
|
28025
28025
|
fiber.lanes = lanes;
|
28026
28026
|
return fiber;
|
28027
28027
|
}
|
@@ -29173,7 +29173,7 @@ var import_react2 = require("react");
|
|
29173
29173
|
|
29174
29174
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Button/Button.module.css#css-module
|
29175
29175
|
init_react_import();
|
29176
|
-
var Button_module_default = { "Button": "
|
29176
|
+
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" };
|
29177
29177
|
|
29178
29178
|
// lib/get-class-name-factory.ts
|
29179
29179
|
init_react_import();
|
@@ -29255,10 +29255,7 @@ var Button = ({
|
|
29255
29255
|
children: [
|
29256
29256
|
icon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: getClassName("icon"), children: icon }),
|
29257
29257
|
children,
|
29258
|
-
loading && /* @__PURE__ */ (0, import_jsx_runtime.
|
29259
|
-
"\xA0\xA0",
|
29260
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_spinners.ClipLoader, { "aria-label": "loading", color: "inherit", size: "14px" })
|
29261
|
-
] })
|
29258
|
+
loading && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: getClassName("spinner"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_spinners.ClipLoader, { "aria-label": "loading", color: "inherit", size: "14px" }) })
|
29262
29259
|
]
|
29263
29260
|
}
|
29264
29261
|
);
|
@@ -29267,7 +29264,150 @@ var Button = ({
|
|
29267
29264
|
|
29268
29265
|
// components/Drawer/index.tsx
|
29269
29266
|
init_react_import();
|
29270
|
-
|
29267
|
+
|
29268
|
+
// components/Droppable/index.tsx
|
29269
|
+
init_react_import();
|
29270
|
+
var import_dnd = require("@measured/dnd");
|
29271
|
+
|
29272
|
+
// components/Puck/context.tsx
|
29273
|
+
init_react_import();
|
29274
|
+
var import_react3 = require("react");
|
29275
|
+
|
29276
|
+
// lib/get-item.ts
|
29277
|
+
init_react_import();
|
29278
|
+
|
29279
|
+
// lib/root-droppable-id.ts
|
29280
|
+
init_react_import();
|
29281
|
+
var rootDroppableId = "default-zone";
|
29282
|
+
|
29283
|
+
// lib/setup-zone.ts
|
29284
|
+
init_react_import();
|
29285
|
+
var setupZone = (data, zoneKey) => {
|
29286
|
+
if (zoneKey === rootDroppableId) {
|
29287
|
+
return data;
|
29288
|
+
}
|
29289
|
+
const newData = __spreadValues({}, data);
|
29290
|
+
newData.zones = data.zones || {};
|
29291
|
+
newData.zones[zoneKey] = newData.zones[zoneKey] || [];
|
29292
|
+
return newData;
|
29293
|
+
};
|
29294
|
+
|
29295
|
+
// lib/get-item.ts
|
29296
|
+
var getItem = (selector, data, dynamicProps = {}) => {
|
29297
|
+
if (!selector.zone || selector.zone === rootDroppableId) {
|
29298
|
+
const item2 = data.content[selector.index];
|
29299
|
+
return __spreadProps(__spreadValues({}, item2), { props: dynamicProps[item2.props.id] || item2.props });
|
29300
|
+
}
|
29301
|
+
const item = setupZone(data, selector.zone).zones[selector.zone][selector.index];
|
29302
|
+
return __spreadProps(__spreadValues({}, item), { props: dynamicProps[item.props.id] || item.props });
|
29303
|
+
};
|
29304
|
+
|
29305
|
+
// components/ViewportControls/default-viewports.ts
|
29306
|
+
init_react_import();
|
29307
|
+
var defaultViewports = [
|
29308
|
+
{ width: 360, height: "auto", icon: "Smartphone", label: "Small" },
|
29309
|
+
{ width: 768, height: "auto", icon: "Tablet", label: "Medium" },
|
29310
|
+
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" }
|
29311
|
+
];
|
29312
|
+
|
29313
|
+
// components/Puck/context.tsx
|
29314
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
29315
|
+
var defaultAppState = {
|
29316
|
+
data: { content: [], root: { props: { title: "" } } },
|
29317
|
+
ui: {
|
29318
|
+
leftSideBarVisible: true,
|
29319
|
+
rightSideBarVisible: true,
|
29320
|
+
arrayState: {},
|
29321
|
+
itemSelector: null,
|
29322
|
+
componentList: {},
|
29323
|
+
isDragging: false,
|
29324
|
+
viewports: {
|
29325
|
+
current: {
|
29326
|
+
width: defaultViewports[0].width,
|
29327
|
+
height: defaultViewports[0].height || "auto"
|
29328
|
+
},
|
29329
|
+
options: [],
|
29330
|
+
controlsVisible: true
|
29331
|
+
}
|
29332
|
+
}
|
29333
|
+
};
|
29334
|
+
var defaultContext = {
|
29335
|
+
state: defaultAppState,
|
29336
|
+
dispatch: () => null,
|
29337
|
+
config: { components: {} },
|
29338
|
+
componentState: {},
|
29339
|
+
resolveData: () => {
|
29340
|
+
},
|
29341
|
+
plugins: [],
|
29342
|
+
overrides: {},
|
29343
|
+
history: {},
|
29344
|
+
viewports: defaultViewports,
|
29345
|
+
zoomConfig: {
|
29346
|
+
autoZoom: 1,
|
29347
|
+
rootHeight: 0,
|
29348
|
+
zoom: 1
|
29349
|
+
},
|
29350
|
+
setZoomConfig: () => null,
|
29351
|
+
status: "LOADING",
|
29352
|
+
setStatus: () => null,
|
29353
|
+
iframe: {}
|
29354
|
+
};
|
29355
|
+
var appContext = (0, import_react3.createContext)(defaultContext);
|
29356
|
+
var AppProvider = ({
|
29357
|
+
children,
|
29358
|
+
value
|
29359
|
+
}) => {
|
29360
|
+
const [zoomConfig, setZoomConfig] = (0, import_react3.useState)(defaultContext.zoomConfig);
|
29361
|
+
const [status, setStatus] = (0, import_react3.useState)("LOADING");
|
29362
|
+
(0, import_react3.useEffect)(() => {
|
29363
|
+
setStatus("MOUNTED");
|
29364
|
+
}, []);
|
29365
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
29366
|
+
appContext.Provider,
|
29367
|
+
{
|
29368
|
+
value: __spreadProps(__spreadValues({}, value), { zoomConfig, setZoomConfig, status, setStatus }),
|
29369
|
+
children
|
29370
|
+
}
|
29371
|
+
);
|
29372
|
+
};
|
29373
|
+
function useAppContext() {
|
29374
|
+
const mainContext = (0, import_react3.useContext)(appContext);
|
29375
|
+
const selectedItem = mainContext.state.ui.itemSelector ? getItem(mainContext.state.ui.itemSelector, mainContext.state.data) : void 0;
|
29376
|
+
return __spreadProps(__spreadValues({}, mainContext), {
|
29377
|
+
// Helpers
|
29378
|
+
selectedItem,
|
29379
|
+
setUi: (ui, recordHistory) => {
|
29380
|
+
return mainContext.dispatch({
|
29381
|
+
type: "setUi",
|
29382
|
+
ui,
|
29383
|
+
recordHistory
|
29384
|
+
});
|
29385
|
+
}
|
29386
|
+
});
|
29387
|
+
}
|
29388
|
+
|
29389
|
+
// components/Droppable/index.tsx
|
29390
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
29391
|
+
var defaultProvided = {
|
29392
|
+
droppableProps: {
|
29393
|
+
"data-rfd-droppable-context-id": "",
|
29394
|
+
"data-rfd-droppable-id": ""
|
29395
|
+
},
|
29396
|
+
placeholder: null,
|
29397
|
+
innerRef: () => null
|
29398
|
+
};
|
29399
|
+
var defaultSnapshot = {
|
29400
|
+
isDraggingOver: false,
|
29401
|
+
draggingOverWith: null,
|
29402
|
+
draggingFromThisWith: null,
|
29403
|
+
isUsingPlaceholder: false
|
29404
|
+
};
|
29405
|
+
var DefaultDroppable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { children: children(defaultProvided, defaultSnapshot) });
|
29406
|
+
var Droppable = (props) => {
|
29407
|
+
const { status } = useAppContext();
|
29408
|
+
const El = status !== "LOADING" ? import_dnd.Droppable : DefaultDroppable;
|
29409
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(El, __spreadValues({}, props));
|
29410
|
+
};
|
29271
29411
|
|
29272
29412
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Drawer/styles.module.css#css-module
|
29273
29413
|
init_react_import();
|
@@ -29275,8 +29415,32 @@ var styles_module_default = { "Drawer": "_Drawer_6zh0b_1", "DrawerItem-default":
|
|
29275
29415
|
|
29276
29416
|
// components/Draggable/index.tsx
|
29277
29417
|
init_react_import();
|
29278
|
-
var
|
29279
|
-
var
|
29418
|
+
var import_dnd2 = require("@measured/dnd");
|
29419
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
29420
|
+
var defaultProvided2 = {
|
29421
|
+
draggableProps: {
|
29422
|
+
"data-rfd-draggable-context-id": "",
|
29423
|
+
"data-rfd-draggable-id": ""
|
29424
|
+
},
|
29425
|
+
dragHandleProps: null,
|
29426
|
+
innerRef: () => null
|
29427
|
+
};
|
29428
|
+
var defaultSnapshot2 = {
|
29429
|
+
isDragging: false,
|
29430
|
+
isDropAnimating: false,
|
29431
|
+
isClone: false,
|
29432
|
+
dropAnimation: null,
|
29433
|
+
draggingOver: null,
|
29434
|
+
combineWith: null,
|
29435
|
+
combineTargetFor: null,
|
29436
|
+
mode: null
|
29437
|
+
};
|
29438
|
+
var defaultRubric = {
|
29439
|
+
draggableId: "",
|
29440
|
+
type: "",
|
29441
|
+
source: { droppableId: "", index: 0 }
|
29442
|
+
};
|
29443
|
+
var DefaultDraggable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: children(defaultProvided2, defaultSnapshot2, defaultRubric) });
|
29280
29444
|
var Draggable = ({
|
29281
29445
|
className,
|
29282
29446
|
children,
|
@@ -29286,39 +29450,33 @@ var Draggable = ({
|
|
29286
29450
|
disableAnimations = false,
|
29287
29451
|
isDragDisabled = false
|
29288
29452
|
}) => {
|
29289
|
-
|
29290
|
-
|
29291
|
-
|
29292
|
-
|
29293
|
-
|
29294
|
-
|
29295
|
-
|
29296
|
-
|
29297
|
-
|
29298
|
-
|
29299
|
-
|
29300
|
-
|
29301
|
-
|
29302
|
-
|
29303
|
-
|
29304
|
-
|
29305
|
-
|
29306
|
-
|
29307
|
-
|
29308
|
-
|
29309
|
-
),
|
29310
|
-
|
29311
|
-
|
29312
|
-
|
29313
|
-
|
29314
|
-
|
29315
|
-
|
29316
|
-
}
|
29317
|
-
)
|
29318
|
-
] });
|
29319
|
-
}
|
29320
|
-
}
|
29321
|
-
);
|
29453
|
+
const { status } = useAppContext();
|
29454
|
+
const El = status !== "LOADING" ? import_dnd2.Draggable : DefaultDraggable;
|
29455
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(El, { draggableId: id, index, isDragDisabled, children: (provided, snapshot) => {
|
29456
|
+
var _a;
|
29457
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
|
29458
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
29459
|
+
"div",
|
29460
|
+
__spreadProps(__spreadValues(__spreadValues({
|
29461
|
+
className: className && className(provided, snapshot),
|
29462
|
+
ref: provided.innerRef
|
29463
|
+
}, provided.draggableProps), provided.dragHandleProps), {
|
29464
|
+
style: __spreadProps(__spreadValues({}, provided.draggableProps.style), {
|
29465
|
+
transform: snapshot.isDragging || !disableAnimations ? (_a = provided.draggableProps.style) == null ? void 0 : _a.transform : "translate(0px, 0px)"
|
29466
|
+
}),
|
29467
|
+
children: children(provided, snapshot)
|
29468
|
+
})
|
29469
|
+
),
|
29470
|
+
showShadow && snapshot.isDragging && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
29471
|
+
"div",
|
29472
|
+
{
|
29473
|
+
className: className && className(provided, snapshot),
|
29474
|
+
style: { transform: "none !important" },
|
29475
|
+
children: children(provided, snapshot)
|
29476
|
+
}
|
29477
|
+
)
|
29478
|
+
] });
|
29479
|
+
} });
|
29322
29480
|
};
|
29323
29481
|
|
29324
29482
|
// components/DragIcon/index.tsx
|
@@ -29353,23 +29511,23 @@ init_react_import();
|
|
29353
29511
|
var styles_module_default2 = { "DragIcon": "_DragIcon_1p5wn_1" };
|
29354
29512
|
|
29355
29513
|
// components/DragIcon/index.tsx
|
29356
|
-
var
|
29514
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
29357
29515
|
var getClassName2 = get_class_name_factory_default("DragIcon", styles_module_default2);
|
29358
|
-
var DragIcon = () => /* @__PURE__ */ (0,
|
29516
|
+
var DragIcon = () => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: getClassName2(), children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 20 20", width: "12", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("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" }) }) });
|
29359
29517
|
|
29360
29518
|
// components/Drawer/index.tsx
|
29361
|
-
var
|
29362
|
-
var
|
29519
|
+
var import_react4 = require("react");
|
29520
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
29363
29521
|
var getClassName3 = get_class_name_factory_default("Drawer", styles_module_default);
|
29364
29522
|
var getClassNameItem = get_class_name_factory_default("DrawerItem", styles_module_default);
|
29365
|
-
var drawerContext = (0,
|
29523
|
+
var drawerContext = (0, import_react4.createContext)({
|
29366
29524
|
droppableId: ""
|
29367
29525
|
});
|
29368
29526
|
var DrawerDraggable = ({
|
29369
29527
|
children,
|
29370
29528
|
id,
|
29371
29529
|
index
|
29372
|
-
}) => /* @__PURE__ */ (0,
|
29530
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
29373
29531
|
Draggable,
|
29374
29532
|
{
|
29375
29533
|
id,
|
@@ -29385,17 +29543,18 @@ var DrawerItem = ({
|
|
29385
29543
|
name,
|
29386
29544
|
children,
|
29387
29545
|
id,
|
29546
|
+
label,
|
29388
29547
|
index
|
29389
29548
|
}) => {
|
29390
|
-
const ctx = (0,
|
29549
|
+
const ctx = (0, import_react4.useContext)(drawerContext);
|
29391
29550
|
const resolvedId = `${ctx.droppableId}::${id || name}`;
|
29392
|
-
const CustomInner = (0,
|
29393
|
-
() => children || (({ children: children2 }) => /* @__PURE__ */ (0,
|
29551
|
+
const CustomInner = (0, import_react4.useMemo)(
|
29552
|
+
() => children || (({ children: children2, name: name2 }) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: getClassNameItem("default"), children: children2 })),
|
29394
29553
|
[children]
|
29395
29554
|
);
|
29396
|
-
return /* @__PURE__ */ (0,
|
29397
|
-
/* @__PURE__ */ (0,
|
29398
|
-
/* @__PURE__ */ (0,
|
29555
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(DrawerDraggable, { id: resolvedId, index, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(CustomInner, { name, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: getClassNameItem("draggableWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: getClassNameItem("draggable"), children: [
|
29556
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: getClassNameItem("name"), children: label != null ? label : name }),
|
29557
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: getClassNameItem("icon"), children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(DragIcon, {}) })
|
29399
29558
|
] }) }) }) });
|
29400
29559
|
};
|
29401
29560
|
var Drawer = ({
|
@@ -29403,7 +29562,7 @@ var Drawer = ({
|
|
29403
29562
|
droppableId = "component-list",
|
29404
29563
|
direction = "vertical"
|
29405
29564
|
}) => {
|
29406
|
-
return /* @__PURE__ */ (0,
|
29565
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(drawerContext.Provider, { value: { droppableId }, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Droppable, { droppableId, isDropDisabled: true, direction, children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
29407
29566
|
"div",
|
29408
29567
|
__spreadProps(__spreadValues({}, provided.droppableProps), {
|
29409
29568
|
ref: provided.innerRef,
|
@@ -29412,7 +29571,7 @@ var Drawer = ({
|
|
29412
29571
|
}),
|
29413
29572
|
children: [
|
29414
29573
|
children,
|
29415
|
-
/* @__PURE__ */ (0,
|
29574
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { style: { display: "none" }, children: provided.placeholder })
|
29416
29575
|
]
|
29417
29576
|
})
|
29418
29577
|
) }) });
|
@@ -29425,19 +29584,19 @@ var import_react9 = require("react");
|
|
29425
29584
|
|
29426
29585
|
// components/DraggableComponent/index.tsx
|
29427
29586
|
init_react_import();
|
29428
|
-
var
|
29429
|
-
var import_dnd3 = require("@
|
29587
|
+
var import_react7 = require("react");
|
29588
|
+
var import_dnd3 = require("@measured/dnd");
|
29430
29589
|
|
29431
29590
|
// css-module:/home/runner/work/puck/puck/packages/core/components/DraggableComponent/styles.module.css#css-module
|
29432
29591
|
init_react_import();
|
29433
|
-
var styles_module_default3 = { "DraggableComponent": "
|
29592
|
+
var styles_module_default3 = { "DraggableComponent": "_DraggableComponent_1542z_1", "DraggableComponent--isDragging": "_DraggableComponent--isDragging_1542z_11", "DraggableComponent-contents": "_DraggableComponent-contents_1542z_16", "DraggableComponent-overlay": "_DraggableComponent-overlay_1542z_29", "DraggableComponent-loadingOverlay": "_DraggableComponent-loadingOverlay_1542z_49", "DraggableComponent--isLocked": "_DraggableComponent--isLocked_1542z_65", "DraggableComponent--forceHover": "_DraggableComponent--forceHover_1542z_71", "DraggableComponent--isSelected": "_DraggableComponent--isSelected_1542z_76", "DraggableComponent--indicativeHover": "_DraggableComponent--indicativeHover_1542z_81", "DraggableComponent-actionsOverlay": "_DraggableComponent-actionsOverlay_1542z_97", "DraggableComponent-actions": "_DraggableComponent-actions_1542z_97", "DraggableComponent-actionsLabel": "_DraggableComponent-actionsLabel_1542z_127", "DraggableComponent-action": "_DraggableComponent-action_1542z_97" };
|
29434
29593
|
|
29435
29594
|
// ../../node_modules/lucide-react/dist/esm/lucide-react.js
|
29436
29595
|
init_react_import();
|
29437
29596
|
|
29438
29597
|
// ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
|
29439
29598
|
init_react_import();
|
29440
|
-
var
|
29599
|
+
var import_react5 = require("react");
|
29441
29600
|
|
29442
29601
|
// ../../node_modules/lucide-react/dist/esm/defaultAttributes.js
|
29443
29602
|
init_react_import();
|
@@ -29456,10 +29615,10 @@ var defaultAttributes = {
|
|
29456
29615
|
// ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
|
29457
29616
|
var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase().trim();
|
29458
29617
|
var createLucideIcon = (iconName, iconNode) => {
|
29459
|
-
const Component = (0,
|
29618
|
+
const Component = (0, import_react5.forwardRef)(
|
29460
29619
|
(_a, ref) => {
|
29461
29620
|
var _b = _a, { color = "currentColor", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = "", children } = _b, rest = __objRest(_b, ["color", "size", "strokeWidth", "absoluteStrokeWidth", "className", "children"]);
|
29462
|
-
return (0,
|
29621
|
+
return (0, import_react5.createElement)(
|
29463
29622
|
"svg",
|
29464
29623
|
__spreadValues(__spreadProps(__spreadValues({
|
29465
29624
|
ref
|
@@ -29471,7 +29630,7 @@ var createLucideIcon = (iconName, iconNode) => {
|
|
29471
29630
|
className: ["lucide", `lucide-${toKebabCase(iconName)}`, className].join(" ")
|
29472
29631
|
}), rest),
|
29473
29632
|
[
|
29474
|
-
...iconNode.map(([tag, attrs]) => (0,
|
29633
|
+
...iconNode.map(([tag, attrs]) => (0, import_react5.createElement)(tag, attrs)),
|
29475
29634
|
...Array.isArray(children) ? children : [children]
|
29476
29635
|
]
|
29477
29636
|
);
|
@@ -29582,6 +29741,14 @@ var Lock = createLucideIcon("Lock", [
|
|
29582
29741
|
["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
|
29583
29742
|
]);
|
29584
29743
|
|
29744
|
+
// ../../node_modules/lucide-react/dist/esm/icons/monitor.js
|
29745
|
+
init_react_import();
|
29746
|
+
var Monitor = createLucideIcon("Monitor", [
|
29747
|
+
["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }],
|
29748
|
+
["line", { x1: "8", x2: "16", y1: "21", y2: "21", key: "1svkeh" }],
|
29749
|
+
["line", { x1: "12", x2: "12", y1: "17", y2: "21", key: "vw1qmm" }]
|
29750
|
+
]);
|
29751
|
+
|
29585
29752
|
// ../../node_modules/lucide-react/dist/esm/icons/more-vertical.js
|
29586
29753
|
init_react_import();
|
29587
29754
|
var MoreVertical = createLucideIcon("MoreVertical", [
|
@@ -29618,6 +29785,34 @@ var Search = createLucideIcon("Search", [
|
|
29618
29785
|
["path", { d: "m21 21-4.3-4.3", key: "1qie3q" }]
|
29619
29786
|
]);
|
29620
29787
|
|
29788
|
+
// ../../node_modules/lucide-react/dist/esm/icons/sliders-horizontal.js
|
29789
|
+
init_react_import();
|
29790
|
+
var SlidersHorizontal = createLucideIcon("SlidersHorizontal", [
|
29791
|
+
["line", { x1: "21", x2: "14", y1: "4", y2: "4", key: "obuewd" }],
|
29792
|
+
["line", { x1: "10", x2: "3", y1: "4", y2: "4", key: "1q6298" }],
|
29793
|
+
["line", { x1: "21", x2: "12", y1: "12", y2: "12", key: "1iu8h1" }],
|
29794
|
+
["line", { x1: "8", x2: "3", y1: "12", y2: "12", key: "ntss68" }],
|
29795
|
+
["line", { x1: "21", x2: "16", y1: "20", y2: "20", key: "14d8ph" }],
|
29796
|
+
["line", { x1: "12", x2: "3", y1: "20", y2: "20", key: "m0wm8r" }],
|
29797
|
+
["line", { x1: "14", x2: "14", y1: "2", y2: "6", key: "14e1ph" }],
|
29798
|
+
["line", { x1: "8", x2: "8", y1: "10", y2: "14", key: "1i6ji0" }],
|
29799
|
+
["line", { x1: "16", x2: "16", y1: "18", y2: "22", key: "1lctlv" }]
|
29800
|
+
]);
|
29801
|
+
|
29802
|
+
// ../../node_modules/lucide-react/dist/esm/icons/smartphone.js
|
29803
|
+
init_react_import();
|
29804
|
+
var Smartphone = createLucideIcon("Smartphone", [
|
29805
|
+
["rect", { width: "14", height: "20", x: "5", y: "2", rx: "2", ry: "2", key: "1yt0o3" }],
|
29806
|
+
["path", { d: "M12 18h.01", key: "mhygvu" }]
|
29807
|
+
]);
|
29808
|
+
|
29809
|
+
// ../../node_modules/lucide-react/dist/esm/icons/tablet.js
|
29810
|
+
init_react_import();
|
29811
|
+
var Tablet = createLucideIcon("Tablet", [
|
29812
|
+
["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", ry: "2", key: "76otgf" }],
|
29813
|
+
["line", { x1: "12", x2: "12.01", y1: "18", y2: "18", key: "1dp563" }]
|
29814
|
+
]);
|
29815
|
+
|
29621
29816
|
// ../../node_modules/lucide-react/dist/esm/icons/trash.js
|
29622
29817
|
init_react_import();
|
29623
29818
|
var Trash = createLucideIcon("Trash", [
|
@@ -29641,12 +29836,29 @@ var Unlock = createLucideIcon("Unlock", [
|
|
29641
29836
|
["path", { d: "M7 11V7a5 5 0 0 1 9.9-1", key: "1mm8w8" }]
|
29642
29837
|
]);
|
29643
29838
|
|
29839
|
+
// ../../node_modules/lucide-react/dist/esm/icons/zoom-in.js
|
29840
|
+
init_react_import();
|
29841
|
+
var ZoomIn = createLucideIcon("ZoomIn", [
|
29842
|
+
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
|
29843
|
+
["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65", key: "13gj7c" }],
|
29844
|
+
["line", { x1: "11", x2: "11", y1: "8", y2: "14", key: "1vmskp" }],
|
29845
|
+
["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }]
|
29846
|
+
]);
|
29847
|
+
|
29848
|
+
// ../../node_modules/lucide-react/dist/esm/icons/zoom-out.js
|
29849
|
+
init_react_import();
|
29850
|
+
var ZoomOut = createLucideIcon("ZoomOut", [
|
29851
|
+
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
|
29852
|
+
["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65", key: "13gj7c" }],
|
29853
|
+
["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }]
|
29854
|
+
]);
|
29855
|
+
|
29644
29856
|
// lib/use-modifier-held.ts
|
29645
29857
|
init_react_import();
|
29646
|
-
var
|
29858
|
+
var import_react6 = require("react");
|
29647
29859
|
var useModifierHeld = (modifier) => {
|
29648
|
-
const [modifierHeld, setModifierHeld] = (0,
|
29649
|
-
(0,
|
29860
|
+
const [modifierHeld, setModifierHeld] = (0, import_react6.useState)(false);
|
29861
|
+
(0, import_react6.useEffect)(() => {
|
29650
29862
|
function downHandler({ key }) {
|
29651
29863
|
if (key === modifier) {
|
29652
29864
|
setModifierHeld(true);
|
@@ -29667,10 +29879,26 @@ var useModifierHeld = (modifier) => {
|
|
29667
29879
|
return modifierHeld;
|
29668
29880
|
};
|
29669
29881
|
|
29882
|
+
// lib/is-ios.ts
|
29883
|
+
init_react_import();
|
29884
|
+
var isIos = () => [
|
29885
|
+
"iPad Simulator",
|
29886
|
+
"iPhone Simulator",
|
29887
|
+
"iPod Simulator",
|
29888
|
+
"iPad",
|
29889
|
+
"iPhone",
|
29890
|
+
"iPod"
|
29891
|
+
].includes(navigator.platform) || // iPad on iOS 13 detection
|
29892
|
+
navigator.userAgent.includes("Mac") && "ontouchend" in document;
|
29893
|
+
|
29670
29894
|
// components/DraggableComponent/index.tsx
|
29671
29895
|
var import_react_spinners2 = require("react-spinners");
|
29672
|
-
var
|
29896
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
29673
29897
|
var getClassName4 = get_class_name_factory_default("DraggableComponent", styles_module_default3);
|
29898
|
+
var space = 8;
|
29899
|
+
var actionsOverlayTop = space * 6.5;
|
29900
|
+
var actionsTop = -(actionsOverlayTop - 8);
|
29901
|
+
var actionsRight = space;
|
29674
29902
|
var DraggableComponent = ({
|
29675
29903
|
children,
|
29676
29904
|
id,
|
@@ -29693,15 +29921,25 @@ var DraggableComponent = ({
|
|
29693
29921
|
indicativeHover = false,
|
29694
29922
|
style
|
29695
29923
|
}) => {
|
29924
|
+
const { zoomConfig } = useAppContext();
|
29696
29925
|
const isModifierHeld = useModifierHeld("Alt");
|
29697
|
-
|
29698
|
-
|
29699
|
-
|
29926
|
+
const { status } = useAppContext();
|
29927
|
+
const El = status !== "LOADING" ? import_dnd3.Draggable : DefaultDraggable;
|
29928
|
+
(0, import_react7.useEffect)(onMount, []);
|
29929
|
+
const [disableSecondaryAnimation, setDisableSecondaryAnimation] = (0, import_react7.useState)(false);
|
29930
|
+
(0, import_react7.useEffect)(() => {
|
29931
|
+
if (isIos()) {
|
29932
|
+
setDisableSecondaryAnimation(true);
|
29933
|
+
}
|
29934
|
+
}, []);
|
29935
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
29936
|
+
El,
|
29700
29937
|
{
|
29701
29938
|
draggableId: id,
|
29702
29939
|
index,
|
29703
29940
|
isDragDisabled,
|
29704
|
-
|
29941
|
+
disableSecondaryAnimation,
|
29942
|
+
children: (provided, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
29705
29943
|
"div",
|
29706
29944
|
__spreadProps(__spreadValues(__spreadValues({
|
29707
29945
|
ref: provided.innerRef
|
@@ -29724,13 +29962,34 @@ var DraggableComponent = ({
|
|
29724
29962
|
onClick,
|
29725
29963
|
children: [
|
29726
29964
|
debug,
|
29727
|
-
isLoading && /* @__PURE__ */ (0,
|
29728
|
-
/* @__PURE__ */ (0,
|
29729
|
-
|
29730
|
-
|
29731
|
-
|
29732
|
-
|
29733
|
-
|
29965
|
+
isLoading && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName4("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_spinners2.ClipLoader, { "aria-label": "loading", size: 16, color: "inherit" }) }),
|
29966
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
29967
|
+
"div",
|
29968
|
+
{
|
29969
|
+
className: getClassName4("actionsOverlay"),
|
29970
|
+
style: {
|
29971
|
+
top: actionsOverlayTop / zoomConfig.zoom
|
29972
|
+
},
|
29973
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
29974
|
+
"div",
|
29975
|
+
{
|
29976
|
+
className: getClassName4("actions"),
|
29977
|
+
style: {
|
29978
|
+
transform: `scale(${1 / zoomConfig.zoom}`,
|
29979
|
+
top: actionsTop / zoomConfig.zoom,
|
29980
|
+
right: actionsRight / zoomConfig.zoom
|
29981
|
+
},
|
29982
|
+
children: [
|
29983
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName4("actionsLabel"), children: label }),
|
29984
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { className: getClassName4("action"), onClick: onDuplicate, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Copy, { size: 16 }) }),
|
29985
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { className: getClassName4("action"), onClick: onDelete, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Trash, { size: 16 }) })
|
29986
|
+
]
|
29987
|
+
}
|
29988
|
+
)
|
29989
|
+
}
|
29990
|
+
),
|
29991
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName4("overlay") }),
|
29992
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: getClassName4("contents"), children })
|
29734
29993
|
]
|
29735
29994
|
})
|
29736
29995
|
)
|
@@ -29739,45 +29998,13 @@ var DraggableComponent = ({
|
|
29739
29998
|
);
|
29740
29999
|
};
|
29741
30000
|
|
29742
|
-
// components/DropZone/index.tsx
|
29743
|
-
var import_dnd4 = require("@hello-pangea/dnd");
|
29744
|
-
|
29745
|
-
// lib/get-item.ts
|
29746
|
-
init_react_import();
|
29747
|
-
|
29748
|
-
// lib/root-droppable-id.ts
|
29749
|
-
init_react_import();
|
29750
|
-
var rootDroppableId = "default-zone";
|
29751
|
-
|
29752
|
-
// lib/setup-zone.ts
|
29753
|
-
init_react_import();
|
29754
|
-
var setupZone = (data, zoneKey) => {
|
29755
|
-
if (zoneKey === rootDroppableId) {
|
29756
|
-
return data;
|
29757
|
-
}
|
29758
|
-
const newData = __spreadValues({}, data);
|
29759
|
-
newData.zones = data.zones || {};
|
29760
|
-
newData.zones[zoneKey] = newData.zones[zoneKey] || [];
|
29761
|
-
return newData;
|
29762
|
-
};
|
29763
|
-
|
29764
|
-
// lib/get-item.ts
|
29765
|
-
var getItem = (selector, data, dynamicProps = {}) => {
|
29766
|
-
if (!selector.zone || selector.zone === rootDroppableId) {
|
29767
|
-
const item2 = data.content[selector.index];
|
29768
|
-
return __spreadProps(__spreadValues({}, item2), { props: dynamicProps[item2.props.id] || item2.props });
|
29769
|
-
}
|
29770
|
-
const item = setupZone(data, selector.zone).zones[selector.zone][selector.index];
|
29771
|
-
return __spreadProps(__spreadValues({}, item), { props: dynamicProps[item.props.id] || item.props });
|
29772
|
-
};
|
29773
|
-
|
29774
30001
|
// css-module:/home/runner/work/puck/puck/packages/core/components/DropZone/styles.module.css#css-module
|
29775
30002
|
init_react_import();
|
29776
|
-
var styles_module_default4 = { "DropZone": "
|
30003
|
+
var styles_module_default4 = { "DropZone": "_DropZone_jtf9d_1", "DropZone-content": "_DropZone-content_jtf9d_10", "DropZone--userIsDragging": "_DropZone--userIsDragging_jtf9d_15", "DropZone--draggingOverArea": "_DropZone--draggingOverArea_jtf9d_19", "DropZone--draggingNewComponent": "_DropZone--draggingNewComponent_jtf9d_20", "DropZone--isAreaSelected": "_DropZone--isAreaSelected_jtf9d_26", "DropZone--hoveringOverArea": "_DropZone--hoveringOverArea_jtf9d_27", "DropZone--isDisabled": "_DropZone--isDisabled_jtf9d_28", "DropZone--isRootZone": "_DropZone--isRootZone_jtf9d_29", "DropZone--hasChildren": "_DropZone--hasChildren_jtf9d_30", "DropZone--isDestination": "_DropZone--isDestination_jtf9d_40", "DropZone-item": "_DropZone-item_jtf9d_48", "DropZone-hitbox": "_DropZone-hitbox_jtf9d_52" };
|
29777
30004
|
|
29778
30005
|
// components/DropZone/context.tsx
|
29779
30006
|
init_react_import();
|
29780
|
-
var
|
30007
|
+
var import_react8 = require("react");
|
29781
30008
|
var import_use_debounce = require("use-debounce");
|
29782
30009
|
|
29783
30010
|
// lib/get-zone-id.ts
|
@@ -29793,30 +30020,30 @@ var getZoneId = (zoneCompound) => {
|
|
29793
30020
|
};
|
29794
30021
|
|
29795
30022
|
// components/DropZone/context.tsx
|
29796
|
-
var
|
29797
|
-
var dropZoneContext = (0,
|
30023
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
30024
|
+
var dropZoneContext = (0, import_react8.createContext)(null);
|
29798
30025
|
var DropZoneProvider = ({
|
29799
30026
|
children,
|
29800
30027
|
value
|
29801
30028
|
}) => {
|
29802
|
-
const [hoveringArea, setHoveringArea] = (0,
|
29803
|
-
const [hoveringZone, setHoveringZone] = (0,
|
30029
|
+
const [hoveringArea, setHoveringArea] = (0, import_react8.useState)(null);
|
30030
|
+
const [hoveringZone, setHoveringZone] = (0, import_react8.useState)(
|
29804
30031
|
rootDroppableId
|
29805
30032
|
);
|
29806
|
-
const [hoveringComponent, setHoveringComponent] = (0,
|
30033
|
+
const [hoveringComponent, setHoveringComponent] = (0, import_react8.useState)();
|
29807
30034
|
const [hoveringAreaDb] = (0, import_use_debounce.useDebounce)(hoveringArea, 75, { leading: false });
|
29808
|
-
const [areasWithZones, setAreasWithZones] = (0,
|
30035
|
+
const [areasWithZones, setAreasWithZones] = (0, import_react8.useState)(
|
29809
30036
|
{}
|
29810
30037
|
);
|
29811
|
-
const [activeZones, setActiveZones] = (0,
|
30038
|
+
const [activeZones, setActiveZones] = (0, import_react8.useState)({});
|
29812
30039
|
const { dispatch = null } = value ? value : {};
|
29813
|
-
const registerZoneArea = (0,
|
30040
|
+
const registerZoneArea = (0, import_react8.useCallback)(
|
29814
30041
|
(area) => {
|
29815
30042
|
setAreasWithZones((latest) => __spreadProps(__spreadValues({}, latest), { [area]: true }));
|
29816
30043
|
},
|
29817
30044
|
[setAreasWithZones]
|
29818
30045
|
);
|
29819
|
-
const registerZone = (0,
|
30046
|
+
const registerZone = (0, import_react8.useCallback)(
|
29820
30047
|
(zoneCompound) => {
|
29821
30048
|
if (!dispatch) {
|
29822
30049
|
return;
|
@@ -29829,7 +30056,7 @@ var DropZoneProvider = ({
|
|
29829
30056
|
},
|
29830
30057
|
[setActiveZones, dispatch]
|
29831
30058
|
);
|
29832
|
-
const unregisterZone = (0,
|
30059
|
+
const unregisterZone = (0, import_react8.useCallback)(
|
29833
30060
|
(zoneCompound) => {
|
29834
30061
|
if (!dispatch) {
|
29835
30062
|
return;
|
@@ -29844,8 +30071,8 @@ var DropZoneProvider = ({
|
|
29844
30071
|
},
|
29845
30072
|
[setActiveZones, dispatch]
|
29846
30073
|
);
|
29847
|
-
const [pathData, setPathData] = (0,
|
29848
|
-
const registerPath = (0,
|
30074
|
+
const [pathData, setPathData] = (0, import_react8.useState)();
|
30075
|
+
const registerPath = (0, import_react8.useCallback)(
|
29849
30076
|
(selector) => {
|
29850
30077
|
if (!(value == null ? void 0 : value.data)) {
|
29851
30078
|
return;
|
@@ -29870,7 +30097,8 @@ var DropZoneProvider = ({
|
|
29870
30097
|
},
|
29871
30098
|
[value, setPathData]
|
29872
30099
|
);
|
29873
|
-
|
30100
|
+
const [zoneWillDrag, setZoneWillDrag] = (0, import_react8.useState)("");
|
30101
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment, { children: value && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
29874
30102
|
dropZoneContext.Provider,
|
29875
30103
|
{
|
29876
30104
|
value: __spreadValues({
|
@@ -29886,57 +30114,17 @@ var DropZoneProvider = ({
|
|
29886
30114
|
unregisterZone,
|
29887
30115
|
activeZones,
|
29888
30116
|
registerPath,
|
29889
|
-
pathData
|
30117
|
+
pathData,
|
30118
|
+
zoneWillDrag,
|
30119
|
+
setZoneWillDrag
|
29890
30120
|
}, value),
|
29891
30121
|
children
|
29892
30122
|
}
|
29893
30123
|
) });
|
29894
30124
|
};
|
29895
30125
|
|
29896
|
-
// components/Puck/context.tsx
|
29897
|
-
init_react_import();
|
29898
|
-
var import_react8 = require("react");
|
29899
|
-
var defaultAppState = {
|
29900
|
-
data: { content: [], root: { props: { title: "" } } },
|
29901
|
-
ui: {
|
29902
|
-
leftSideBarVisible: true,
|
29903
|
-
rightSideBarVisible: true,
|
29904
|
-
arrayState: {},
|
29905
|
-
itemSelector: null,
|
29906
|
-
componentList: {},
|
29907
|
-
isDragging: false
|
29908
|
-
}
|
29909
|
-
};
|
29910
|
-
var appContext = (0, import_react8.createContext)({
|
29911
|
-
state: defaultAppState,
|
29912
|
-
dispatch: () => null,
|
29913
|
-
config: { components: {} },
|
29914
|
-
componentState: {},
|
29915
|
-
resolveData: () => {
|
29916
|
-
},
|
29917
|
-
plugins: [],
|
29918
|
-
overrides: {},
|
29919
|
-
history: {}
|
29920
|
-
});
|
29921
|
-
var AppProvider = appContext.Provider;
|
29922
|
-
function useAppContext() {
|
29923
|
-
const mainContext = (0, import_react8.useContext)(appContext);
|
29924
|
-
const selectedItem = mainContext.state.ui.itemSelector ? getItem(mainContext.state.ui.itemSelector, mainContext.state.data) : void 0;
|
29925
|
-
return __spreadProps(__spreadValues({}, mainContext), {
|
29926
|
-
// Helpers
|
29927
|
-
selectedItem,
|
29928
|
-
setUi: (ui, recordHistory) => {
|
29929
|
-
return mainContext.dispatch({
|
29930
|
-
type: "setUi",
|
29931
|
-
ui,
|
29932
|
-
recordHistory
|
29933
|
-
});
|
29934
|
-
}
|
29935
|
-
});
|
29936
|
-
}
|
29937
|
-
|
29938
30126
|
// components/DropZone/index.tsx
|
29939
|
-
var
|
30127
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
29940
30128
|
var getClassName5 = get_class_name_factory_default("DropZone", styles_module_default4);
|
29941
30129
|
function DropZoneEdit({ zone, allow, disallow, style }) {
|
29942
30130
|
var _a;
|
@@ -29955,7 +30143,8 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
29955
30143
|
registerZoneArea,
|
29956
30144
|
areasWithZones,
|
29957
30145
|
hoveringComponent,
|
29958
|
-
|
30146
|
+
zoneWillDrag,
|
30147
|
+
setZoneWillDrag = () => null
|
29959
30148
|
} = ctx || {};
|
29960
30149
|
let content = data.content || [];
|
29961
30150
|
let zoneCompound = rootDroppableId;
|
@@ -29985,12 +30174,12 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
29985
30174
|
const draggedDestinationId = draggedItem && ((_a = draggedItem.destination) == null ? void 0 : _a.droppableId);
|
29986
30175
|
const [zoneArea] = getZoneId(zoneCompound);
|
29987
30176
|
const [draggedSourceArea] = getZoneId(draggedSourceId);
|
29988
|
-
const
|
30177
|
+
const userWillDrag = zoneWillDrag === zone;
|
29989
30178
|
const userIsDragging = !!draggedItem;
|
29990
30179
|
const draggingOverArea = userIsDragging && zoneArea === draggedSourceArea;
|
29991
30180
|
const draggingNewComponent = draggedSourceId == null ? void 0 : draggedSourceId.startsWith("component-list");
|
29992
30181
|
if (!(ctx == null ? void 0 : ctx.config) || !ctx.setHoveringArea || !ctx.setHoveringZone || !ctx.setHoveringComponent || !ctx.setItemSelector || !ctx.registerPath || !ctx.dispatch) {
|
29993
|
-
return /* @__PURE__ */ (0,
|
30182
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { children: "DropZone requires context to work." });
|
29994
30183
|
}
|
29995
30184
|
const {
|
29996
30185
|
hoveringArea = "root",
|
@@ -30027,7 +30216,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
30027
30216
|
}
|
30028
30217
|
const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
|
30029
30218
|
const isAreaSelected = selectedItem && zoneArea === selectedItem.props.id;
|
30030
|
-
return /* @__PURE__ */ (0,
|
30219
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
30031
30220
|
"div",
|
30032
30221
|
{
|
30033
30222
|
className: getClassName5({
|
@@ -30039,17 +30228,19 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
30039
30228
|
isDestination: draggedDestinationId === zoneCompound,
|
30040
30229
|
isDisabled: !isEnabled,
|
30041
30230
|
isAreaSelected,
|
30042
|
-
hasChildren: content.length > 0
|
30043
|
-
zoomEnabled: !disableZoom
|
30231
|
+
hasChildren: content.length > 0
|
30044
30232
|
}),
|
30045
|
-
|
30046
|
-
|
30233
|
+
onMouseUp: () => {
|
30234
|
+
setZoneWillDrag("");
|
30235
|
+
},
|
30236
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
30237
|
+
Droppable,
|
30047
30238
|
{
|
30048
30239
|
droppableId: zoneCompound,
|
30049
30240
|
direction: "vertical",
|
30050
30241
|
isDropDisabled: !isEnabled,
|
30051
30242
|
children: (provided, snapshot) => {
|
30052
|
-
return /* @__PURE__ */ (0,
|
30243
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
30053
30244
|
"div",
|
30054
30245
|
__spreadProps(__spreadValues({}, (provided || { droppableProps: {} }).droppableProps), {
|
30055
30246
|
className: getClassName5("content"),
|
@@ -30063,7 +30254,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
30063
30254
|
},
|
30064
30255
|
children: [
|
30065
30256
|
content.map((item, i) => {
|
30066
|
-
var _a2, _b;
|
30257
|
+
var _a2, _b, _c;
|
30067
30258
|
const componentId = item.props.id;
|
30068
30259
|
const defaultedProps = __spreadProps(__spreadValues(__spreadValues({}, (_a2 = config.components[item.type]) == null ? void 0 : _a2.defaultProps), item.props), {
|
30069
30260
|
puck: { renderDropZone: DropZone },
|
@@ -30074,33 +30265,33 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
30074
30265
|
"draggable-"
|
30075
30266
|
)[1] === componentId;
|
30076
30267
|
const containsZone = areasWithZones ? areasWithZones[componentId] : false;
|
30077
|
-
const Render2 = config.components[item.type] ? config.components[item.type].render : () => /* @__PURE__ */ (0,
|
30268
|
+
const Render2 = config.components[item.type] ? config.components[item.type].render : () => /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { style: { padding: 48, textAlign: "center" }, children: [
|
30078
30269
|
"No configuration for ",
|
30079
30270
|
item.type
|
30080
30271
|
] });
|
30081
|
-
return /* @__PURE__ */ (0,
|
30272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
30082
30273
|
"div",
|
30083
30274
|
{
|
30084
30275
|
className: getClassName5("item"),
|
30085
30276
|
style: { zIndex: isDragging ? 1 : void 0 },
|
30086
30277
|
children: [
|
30087
|
-
/* @__PURE__ */ (0,
|
30278
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
30088
30279
|
DropZoneProvider,
|
30089
30280
|
{
|
30090
30281
|
value: __spreadProps(__spreadValues({}, ctx), {
|
30091
30282
|
areaId: componentId
|
30092
30283
|
}),
|
30093
|
-
children: /* @__PURE__ */ (0,
|
30284
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
30094
30285
|
DraggableComponent,
|
30095
30286
|
{
|
30096
|
-
label: item.type.toString(),
|
30287
|
+
label: (_b = config.components[item.type]["label"]) != null ? _b : item.type.toString(),
|
30097
30288
|
id: `draggable-${componentId}`,
|
30098
30289
|
index: i,
|
30099
30290
|
isSelected,
|
30100
30291
|
isLocked: userIsDragging,
|
30101
30292
|
forceHover: hoveringComponent === componentId && !userIsDragging,
|
30102
30293
|
indicativeHover: userIsDragging && containsZone && hoveringArea === componentId,
|
30103
|
-
isLoading: (
|
30294
|
+
isLoading: (_c = appContext2.componentState[componentId]) == null ? void 0 : _c.loading,
|
30104
30295
|
onMount: () => {
|
30105
30296
|
ctx.registerPath({
|
30106
30297
|
index: i,
|
@@ -30116,13 +30307,9 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
30116
30307
|
},
|
30117
30308
|
onMouseDown: (e) => {
|
30118
30309
|
e.stopPropagation();
|
30119
|
-
|
30310
|
+
setZoneWillDrag(zone);
|
30120
30311
|
},
|
30121
|
-
|
30122
|
-
e.stopPropagation();
|
30123
|
-
setUserWillDrag(false);
|
30124
|
-
},
|
30125
|
-
onMouseOver: (e) => {
|
30312
|
+
onMouseOver: (e) => {
|
30126
30313
|
e.stopPropagation();
|
30127
30314
|
if (containsZone) {
|
30128
30315
|
setHoveringArea(componentId);
|
@@ -30161,12 +30348,12 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
30161
30348
|
style: {
|
30162
30349
|
pointerEvents: userIsDragging && draggingNewComponent ? "all" : void 0
|
30163
30350
|
},
|
30164
|
-
children: /* @__PURE__ */ (0,
|
30351
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: getClassName5("renderWrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Render2, __spreadValues({}, defaultedProps)) })
|
30165
30352
|
}
|
30166
30353
|
)
|
30167
30354
|
}
|
30168
30355
|
),
|
30169
|
-
userIsDragging && /* @__PURE__ */ (0,
|
30356
|
+
userIsDragging && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
30170
30357
|
"div",
|
30171
30358
|
{
|
30172
30359
|
className: getClassName5("hitbox"),
|
@@ -30183,7 +30370,7 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
|
|
30183
30370
|
);
|
30184
30371
|
}),
|
30185
30372
|
provided == null ? void 0 : provided.placeholder,
|
30186
|
-
(snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0,
|
30373
|
+
(snapshot == null ? void 0 : snapshot.isDraggingOver) && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
30187
30374
|
"div",
|
30188
30375
|
{
|
30189
30376
|
"data-puck-placeholder": true,
|
@@ -30215,14 +30402,14 @@ function DropZoneRender({ zone }) {
|
|
30215
30402
|
zoneCompound = `${areaId}:${zone}`;
|
30216
30403
|
content = setupZone(data, zoneCompound).zones[zoneCompound];
|
30217
30404
|
}
|
30218
|
-
return /* @__PURE__ */ (0,
|
30405
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_jsx_runtime9.Fragment, { children: content.map((item) => {
|
30219
30406
|
const Component = config.components[item.type];
|
30220
30407
|
if (Component) {
|
30221
|
-
return /* @__PURE__ */ (0,
|
30408
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
30222
30409
|
DropZoneProvider,
|
30223
30410
|
{
|
30224
30411
|
value: { data, config, areaId: item.props.id },
|
30225
|
-
children: /* @__PURE__ */ (0,
|
30412
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
30226
30413
|
Component.render,
|
30227
30414
|
__spreadProps(__spreadValues({}, item.props), {
|
30228
30415
|
puck: { renderDropZone: DropZone }
|
@@ -30238,9 +30425,9 @@ function DropZoneRender({ zone }) {
|
|
30238
30425
|
function DropZone(props) {
|
30239
30426
|
const ctx = (0, import_react9.useContext)(dropZoneContext);
|
30240
30427
|
if ((ctx == null ? void 0 : ctx.mode) === "edit") {
|
30241
|
-
return /* @__PURE__ */ (0,
|
30428
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DropZoneEdit, __spreadValues({}, props));
|
30242
30429
|
}
|
30243
|
-
return /* @__PURE__ */ (0,
|
30430
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DropZoneRender, __spreadValues({}, props));
|
30244
30431
|
}
|
30245
30432
|
|
30246
30433
|
// components/IconButton/index.ts
|
@@ -30252,11 +30439,11 @@ var import_react10 = require("react");
|
|
30252
30439
|
|
30253
30440
|
// css-module:/home/runner/work/puck/puck/packages/core/components/IconButton/IconButton.module.css#css-module
|
30254
30441
|
init_react_import();
|
30255
|
-
var IconButton_module_default = { "IconButton": "
|
30442
|
+
var IconButton_module_default = { "IconButton": "_IconButton_swpni_1", "IconButton--disabled": "_IconButton--disabled_swpni_20", "IconButton-title": "_IconButton-title_swpni_33" };
|
30256
30443
|
|
30257
30444
|
// components/IconButton/IconButton.tsx
|
30258
30445
|
var import_react_spinners3 = require("react-spinners");
|
30259
|
-
var
|
30446
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
30260
30447
|
var getClassName6 = get_class_name_factory_default("IconButton", IconButton_module_default);
|
30261
30448
|
var IconButton = ({
|
30262
30449
|
children,
|
@@ -30272,7 +30459,7 @@ var IconButton = ({
|
|
30272
30459
|
}) => {
|
30273
30460
|
const [loading, setLoading] = (0, import_react10.useState)(false);
|
30274
30461
|
const ElementType = href ? "a" : "button";
|
30275
|
-
const el = /* @__PURE__ */ (0,
|
30462
|
+
const el = /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
30276
30463
|
ElementType,
|
30277
30464
|
{
|
30278
30465
|
className: getClassName6({
|
@@ -30297,11 +30484,11 @@ var IconButton = ({
|
|
30297
30484
|
href,
|
30298
30485
|
title,
|
30299
30486
|
children: [
|
30300
|
-
/* @__PURE__ */ (0,
|
30487
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: getClassName6("title"), children: title }),
|
30301
30488
|
children,
|
30302
|
-
loading && /* @__PURE__ */ (0,
|
30489
|
+
loading && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
|
30303
30490
|
"\xA0\xA0",
|
30304
|
-
/* @__PURE__ */ (0,
|
30491
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_spinners3.ClipLoader, { "aria-label": "Loading", color: "inherit", size: "14px" })
|
30305
30492
|
] })
|
30306
30493
|
]
|
30307
30494
|
}
|
@@ -30311,12 +30498,23 @@ var IconButton = ({
|
|
30311
30498
|
|
30312
30499
|
// components/Puck/index.tsx
|
30313
30500
|
init_react_import();
|
30314
|
-
var
|
30315
|
-
var import_dnd7 = require("@hello-pangea/dnd");
|
30501
|
+
var import_react28 = require("react");
|
30316
30502
|
|
30317
30503
|
// lib/use-placeholder-style.ts
|
30318
30504
|
init_react_import();
|
30319
30505
|
var import_react11 = require("react");
|
30506
|
+
|
30507
|
+
// lib/get-frame.ts
|
30508
|
+
init_react_import();
|
30509
|
+
var getFrame = () => {
|
30510
|
+
let frame = document.querySelector("#preview-frame");
|
30511
|
+
if ((frame == null ? void 0 : frame.tagName) === "IFRAME") {
|
30512
|
+
frame = frame.contentDocument;
|
30513
|
+
}
|
30514
|
+
return frame;
|
30515
|
+
};
|
30516
|
+
|
30517
|
+
// lib/use-placeholder-style.ts
|
30320
30518
|
var usePlaceholderStyle = () => {
|
30321
30519
|
const queryAttr = "data-rfd-drag-handle-draggable-id";
|
30322
30520
|
const [placeholderStyle, setPlaceholderStyle] = (0, import_react11.useState)();
|
@@ -30326,11 +30524,12 @@ var usePlaceholderStyle = () => {
|
|
30326
30524
|
const destinationIndex = (draggedItem.destination || draggedItem.source).index;
|
30327
30525
|
const droppableId = (draggedItem.destination || draggedItem.source).droppableId;
|
30328
30526
|
const domQuery = `[${queryAttr}='${draggableId}']`;
|
30329
|
-
const
|
30527
|
+
const frame = getFrame();
|
30528
|
+
const draggedDOM = document.querySelector(domQuery) || (frame == null ? void 0 : frame.querySelector(domQuery));
|
30330
30529
|
if (!draggedDOM) {
|
30331
30530
|
return;
|
30332
30531
|
}
|
30333
|
-
const targetListElement =
|
30532
|
+
const targetListElement = frame == null ? void 0 : frame.querySelector(
|
30334
30533
|
`[data-rfd-droppable-id='${droppableId}']`
|
30335
30534
|
);
|
30336
30535
|
const { clientHeight } = draggedDOM;
|
@@ -30377,11 +30576,11 @@ init_react_import();
|
|
30377
30576
|
var styles_module_default6 = { "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" };
|
30378
30577
|
|
30379
30578
|
// components/Heading/index.tsx
|
30380
|
-
var
|
30579
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
30381
30580
|
var getClassName7 = get_class_name_factory_default("Heading", styles_module_default6);
|
30382
30581
|
var Heading = ({ children, rank, size = "m" }) => {
|
30383
30582
|
const Tag = rank ? `h${rank}` : "span";
|
30384
|
-
return /* @__PURE__ */ (0,
|
30583
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
30385
30584
|
Tag,
|
30386
30585
|
{
|
30387
30586
|
className: getClassName7({
|
@@ -30460,7 +30659,7 @@ var useBreadcrumbs = (renderCount) => {
|
|
30460
30659
|
|
30461
30660
|
// components/SidebarSection/index.tsx
|
30462
30661
|
var import_react_spinners4 = require("react-spinners");
|
30463
|
-
var
|
30662
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
30464
30663
|
var getClassName8 = get_class_name_factory_default("SidebarSection", styles_module_default5);
|
30465
30664
|
var SidebarSection = ({
|
30466
30665
|
children,
|
@@ -30473,15 +30672,15 @@ var SidebarSection = ({
|
|
30473
30672
|
}) => {
|
30474
30673
|
const { setUi } = useAppContext();
|
30475
30674
|
const breadcrumbs = useBreadcrumbs(1);
|
30476
|
-
return /* @__PURE__ */ (0,
|
30675
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
30477
30676
|
"div",
|
30478
30677
|
{
|
30479
30678
|
className: getClassName8({ noBorderTop, noPadding }),
|
30480
30679
|
style: { background },
|
30481
30680
|
children: [
|
30482
|
-
/* @__PURE__ */ (0,
|
30483
|
-
showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0,
|
30484
|
-
/* @__PURE__ */ (0,
|
30681
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("title"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: getClassName8("breadcrumbs"), children: [
|
30682
|
+
showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: getClassName8("breadcrumb"), children: [
|
30683
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
30485
30684
|
"button",
|
30486
30685
|
{
|
30487
30686
|
className: getClassName8("breadcrumbLabel"),
|
@@ -30489,12 +30688,12 @@ var SidebarSection = ({
|
|
30489
30688
|
children: breadcrumb.label
|
30490
30689
|
}
|
30491
30690
|
),
|
30492
|
-
/* @__PURE__ */ (0,
|
30691
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ChevronRight, { size: 16 })
|
30493
30692
|
] }, i)) : null,
|
30494
|
-
/* @__PURE__ */ (0,
|
30693
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Heading, { rank: 2, size: "xs", children: title }) })
|
30495
30694
|
] }) }),
|
30496
|
-
/* @__PURE__ */ (0,
|
30497
|
-
isLoading && /* @__PURE__ */ (0,
|
30695
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("content"), children }),
|
30696
|
+
isLoading && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: getClassName8("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_spinners4.ClipLoader, { "aria-label": "loading" }) })
|
30498
30697
|
]
|
30499
30698
|
}
|
30500
30699
|
);
|
@@ -31000,7 +31199,10 @@ var useResolvedData = (appState, config, dispatch) => {
|
|
31000
31199
|
);
|
31001
31200
|
const runResolvers = () => __async(void 0, null, function* () {
|
31002
31201
|
const newData = newAppState.data;
|
31003
|
-
const flatContent = Object.keys(newData.zones || {}).reduce((acc, zone) => [...acc, ...newData.zones[zone]], newData.content).filter((item) =>
|
31202
|
+
const flatContent = Object.keys(newData.zones || {}).reduce((acc, zone) => [...acc, ...newData.zones[zone]], newData.content).filter((item) => {
|
31203
|
+
var _a;
|
31204
|
+
return !!((_a = config.components[item.type]) == null ? void 0 : _a.resolveData);
|
31205
|
+
});
|
31004
31206
|
const applyIfChange = (dynamicDataMap, dynamicRoot) => {
|
31005
31207
|
const processed = applyDynamicProps(
|
31006
31208
|
appState.data,
|
@@ -31073,7 +31275,7 @@ init_react_import();
|
|
31073
31275
|
var styles_module_default7 = { "MenuBar": "_MenuBar_8pf8c_1", "MenuBar--menuOpen": "_MenuBar--menuOpen_8pf8c_14", "MenuBar-inner": "_MenuBar-inner_8pf8c_29", "MenuBar-history": "_MenuBar-history_8pf8c_45" };
|
31074
31276
|
|
31075
31277
|
// components/MenuBar/index.tsx
|
31076
|
-
var
|
31278
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
31077
31279
|
var getClassName9 = get_class_name_factory_default("MenuBar", styles_module_default7);
|
31078
31280
|
var MenuBar = ({
|
31079
31281
|
appState,
|
@@ -31088,7 +31290,7 @@ var MenuBar = ({
|
|
31088
31290
|
history: { back, forward, historyStore }
|
31089
31291
|
} = useAppContext();
|
31090
31292
|
const { hasFuture = false, hasPast = false } = historyStore || {};
|
31091
|
-
return /* @__PURE__ */ (0,
|
31293
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
31092
31294
|
"div",
|
31093
31295
|
{
|
31094
31296
|
className: getClassName9({ menuOpen }),
|
@@ -31102,16 +31304,16 @@ var MenuBar = ({
|
|
31102
31304
|
setMenuOpen(false);
|
31103
31305
|
}
|
31104
31306
|
},
|
31105
|
-
children: /* @__PURE__ */ (0,
|
31106
|
-
/* @__PURE__ */ (0,
|
31107
|
-
/* @__PURE__ */ (0,
|
31307
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassName9("inner"), children: [
|
31308
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: getClassName9("history"), children: [
|
31309
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(IconButton, { title: "undo", disabled: !hasPast, onClick: back, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
31108
31310
|
ChevronLeft,
|
31109
31311
|
{
|
31110
31312
|
size: 21,
|
31111
31313
|
stroke: hasPast ? "var(--puck-color-black)" : "var(--puck-color-grey-08)"
|
31112
31314
|
}
|
31113
31315
|
) }),
|
31114
|
-
/* @__PURE__ */ (0,
|
31316
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(IconButton, { title: "redo", disabled: !hasFuture, onClick: forward, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
31115
31317
|
ChevronRight,
|
31116
31318
|
{
|
31117
31319
|
size: 21,
|
@@ -31119,17 +31321,17 @@ var MenuBar = ({
|
|
31119
31321
|
}
|
31120
31322
|
) })
|
31121
31323
|
] }),
|
31122
|
-
/* @__PURE__ */ (0,
|
31324
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_jsx_runtime13.Fragment, { children: renderHeaderActions && renderHeaderActions({
|
31123
31325
|
state: appState,
|
31124
31326
|
dispatch
|
31125
31327
|
}) }),
|
31126
|
-
/* @__PURE__ */ (0,
|
31328
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
31127
31329
|
Button,
|
31128
31330
|
{
|
31129
31331
|
onClick: () => {
|
31130
31332
|
onPublish && onPublish(data);
|
31131
31333
|
},
|
31132
|
-
icon: /* @__PURE__ */ (0,
|
31334
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Globe, { size: "14px" }),
|
31133
31335
|
children: "Publish"
|
31134
31336
|
}
|
31135
31337
|
) })
|
@@ -31140,7 +31342,7 @@ var MenuBar = ({
|
|
31140
31342
|
|
31141
31343
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Puck/styles.module.css#css-module
|
31142
31344
|
init_react_import();
|
31143
|
-
var styles_module_default8 = { "Puck": "
|
31345
|
+
var styles_module_default8 = { "Puck": "_Puck_1d0ul_19", "Puck--leftSideBarVisible": "_Puck--leftSideBarVisible_1d0ul_36", "Puck--rightSideBarVisible": "_Puck--rightSideBarVisible_1d0ul_42", "Puck-header": "_Puck-header_1d0ul_96", "Puck-headerInner": "_Puck-headerInner_1d0ul_105", "Puck-headerToggle": "_Puck-headerToggle_1d0ul_115", "Puck-rightSideBarToggle": "_Puck-rightSideBarToggle_1d0ul_122", "Puck-leftSideBarToggle": "_Puck-leftSideBarToggle_1d0ul_123", "Puck-headerTitle": "_Puck-headerTitle_1d0ul_127", "Puck-headerPath": "_Puck-headerPath_1d0ul_131", "Puck-headerTools": "_Puck-headerTools_1d0ul_138", "Puck-menuButton": "_Puck-menuButton_1d0ul_144", "Puck--menuOpen": "_Puck--menuOpen_1d0ul_149", "Puck-leftSideBar": "_Puck-leftSideBar_1d0ul_123", "Puck-rightSideBar": "_Puck-rightSideBar_1d0ul_122", "Puck-portal": "_Puck-portal_1d0ul_177" };
|
31144
31346
|
|
31145
31347
|
// components/Puck/components/Fields/index.tsx
|
31146
31348
|
init_react_import();
|
@@ -31151,7 +31353,7 @@ init_react_import();
|
|
31151
31353
|
|
31152
31354
|
// css-module:/home/runner/work/puck/puck/packages/core/components/InputOrGroup/styles.module.css#css-module
|
31153
31355
|
init_react_import();
|
31154
|
-
var styles_module_default9 = { "Input": "
|
31356
|
+
var styles_module_default9 = { "Input": "_Input_1qi5b_1", "Input-label": "_Input-label_1qi5b_26", "Input-labelIcon": "_Input-labelIcon_1qi5b_34", "Input-disabledIcon": "_Input-disabledIcon_1qi5b_41", "Input-input": "_Input-input_1qi5b_46", "Input--readOnly": "_Input--readOnly_1qi5b_90", "Input-radioGroupItems": "_Input-radioGroupItems_1qi5b_101", "Input-radio": "_Input-radio_1qi5b_101", "Input-radioInner": "_Input-radioInner_1qi5b_118", "Input-radioInput": "_Input-radioInput_1qi5b_163" };
|
31155
31357
|
|
31156
31358
|
// components/InputOrGroup/index.tsx
|
31157
31359
|
var import_react18 = require("react");
|
@@ -31164,13 +31366,24 @@ init_react_import();
|
|
31164
31366
|
|
31165
31367
|
// css-module:/home/runner/work/puck/puck/packages/core/components/InputOrGroup/fields/ArrayField/styles.module.css#css-module
|
31166
31368
|
init_react_import();
|
31167
|
-
var styles_module_default10 = { "ArrayField": "
|
31369
|
+
var styles_module_default10 = { "ArrayField": "_ArrayField_1lr58_5", "ArrayField--isDraggingFrom": "_ArrayField--isDraggingFrom_1lr58_13", "ArrayField-addButton": "_ArrayField-addButton_1lr58_18", "ArrayField--hasItems": "_ArrayField--hasItems_1lr58_33", "ArrayFieldItem": "_ArrayFieldItem_1lr58_63", "ArrayFieldItem--isDragging": "_ArrayFieldItem--isDragging_1lr58_71", "ArrayFieldItem--isExpanded": "_ArrayFieldItem--isExpanded_1lr58_81", "ArrayFieldItem-summary": "_ArrayFieldItem-summary_1lr58_97", "ArrayField--addDisabled": "_ArrayField--addDisabled_1lr58_128", "ArrayFieldItem-body": "_ArrayFieldItem-body_1lr58_164", "ArrayFieldItem-fieldset": "_ArrayFieldItem-fieldset_1lr58_173", "ArrayFieldItem-rhs": "_ArrayFieldItem-rhs_1lr58_180", "ArrayFieldItem-actions": "_ArrayFieldItem-actions_1lr58_186" };
|
31168
31370
|
|
31169
31371
|
// components/InputOrGroup/fields/ArrayField/index.tsx
|
31170
|
-
var import_dnd5 = require("@hello-pangea/dnd");
|
31171
|
-
var import_dnd6 = require("@hello-pangea/dnd");
|
31172
31372
|
var import_react14 = require("react");
|
31173
|
-
|
31373
|
+
|
31374
|
+
// components/DragDropContext/index.tsx
|
31375
|
+
init_react_import();
|
31376
|
+
var import_dnd4 = require("@measured/dnd");
|
31377
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
31378
|
+
var DefaultDragDropContext = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_jsx_runtime14.Fragment, { children });
|
31379
|
+
var DragDropContext = (props) => {
|
31380
|
+
const { status } = useAppContext();
|
31381
|
+
const El = status !== "LOADING" ? import_dnd4.DragDropContext : DefaultDragDropContext;
|
31382
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(El, __spreadValues({}, props));
|
31383
|
+
};
|
31384
|
+
|
31385
|
+
// components/InputOrGroup/fields/ArrayField/index.tsx
|
31386
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
31174
31387
|
var getClassName10 = get_class_name_factory_default("ArrayField", styles_module_default10);
|
31175
31388
|
var getClassNameItem2 = get_class_name_factory_default("ArrayFieldItem", styles_module_default10);
|
31176
31389
|
var ArrayField = ({
|
@@ -31234,21 +31447,24 @@ var ArrayField = ({
|
|
31234
31447
|
[arrayState]
|
31235
31448
|
);
|
31236
31449
|
(0, import_react14.useEffect)(() => {
|
31237
|
-
|
31450
|
+
if (arrayState.items.length > 0) {
|
31451
|
+
setUi(mapArrayStateToUi(arrayState));
|
31452
|
+
}
|
31238
31453
|
}, []);
|
31239
31454
|
const [hovering, setHovering] = (0, import_react14.useState)(false);
|
31240
31455
|
if (field.type !== "array" || !field.arrayFields) {
|
31241
31456
|
return null;
|
31242
31457
|
}
|
31243
|
-
|
31458
|
+
const addDisabled = field.max !== void 0 && localState.arrayState.items.length >= field.max || readOnly;
|
31459
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
31244
31460
|
FieldLabelInternal,
|
31245
31461
|
{
|
31246
31462
|
label: label || name,
|
31247
|
-
icon: /* @__PURE__ */ (0,
|
31463
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(List, { size: 16 }),
|
31248
31464
|
el: "div",
|
31249
31465
|
readOnly,
|
31250
|
-
children: /* @__PURE__ */ (0,
|
31251
|
-
|
31466
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
31467
|
+
DragDropContext,
|
31252
31468
|
{
|
31253
31469
|
onDragEnd: (event) => {
|
31254
31470
|
var _a, _b;
|
@@ -31274,14 +31490,15 @@ var ArrayField = ({
|
|
31274
31490
|
});
|
31275
31491
|
}
|
31276
31492
|
},
|
31277
|
-
children: /* @__PURE__ */ (0,
|
31278
|
-
return /* @__PURE__ */ (0,
|
31493
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Droppable, { droppableId: "array", isDropDisabled: readOnly, children: (provided, snapshot) => {
|
31494
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
31279
31495
|
"div",
|
31280
31496
|
__spreadProps(__spreadValues({}, provided.droppableProps), {
|
31281
31497
|
ref: provided.innerRef,
|
31282
31498
|
className: getClassName10({
|
31283
31499
|
isDraggingFrom: !!snapshot.draggingFromThisWith,
|
31284
|
-
hasItems: Array.isArray(value) && value.length > 0
|
31500
|
+
hasItems: Array.isArray(value) && value.length > 0,
|
31501
|
+
addDisabled
|
31285
31502
|
}),
|
31286
31503
|
onMouseOver: (e) => {
|
31287
31504
|
e.stopPropagation();
|
@@ -31295,7 +31512,7 @@ var ArrayField = ({
|
|
31295
31512
|
localState.arrayState.items.map((item, i) => {
|
31296
31513
|
const { _arrayId = `${id}-${i}`, _originalIndex = i } = item;
|
31297
31514
|
const data = Array.from(localState.value || [])[i] || {};
|
31298
|
-
return /* @__PURE__ */ (0,
|
31515
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
31299
31516
|
Draggable,
|
31300
31517
|
{
|
31301
31518
|
id: _arrayId,
|
@@ -31306,8 +31523,8 @@ var ArrayField = ({
|
|
31306
31523
|
readOnly
|
31307
31524
|
}),
|
31308
31525
|
isDragDisabled: readOnly || !hovering,
|
31309
|
-
children: () => /* @__PURE__ */ (0,
|
31310
|
-
/* @__PURE__ */ (0,
|
31526
|
+
children: () => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
|
31527
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
31311
31528
|
"div",
|
31312
31529
|
{
|
31313
31530
|
onClick: () => {
|
@@ -31328,10 +31545,12 @@ var ArrayField = ({
|
|
31328
31545
|
className: getClassNameItem2("summary"),
|
31329
31546
|
children: [
|
31330
31547
|
field.getItemSummary ? field.getItemSummary(data, i) : `Item #${_originalIndex}`,
|
31331
|
-
/* @__PURE__ */ (0,
|
31332
|
-
!readOnly && /* @__PURE__ */ (0,
|
31548
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameItem2("rhs"), children: [
|
31549
|
+
!readOnly && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameItem2("actions"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameItem2("action"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
31333
31550
|
IconButton,
|
31334
31551
|
{
|
31552
|
+
type: "button",
|
31553
|
+
disabled: field.min !== void 0 && field.min >= localState.arrayState.items.length,
|
31335
31554
|
onClick: (e) => {
|
31336
31555
|
e.stopPropagation();
|
31337
31556
|
const existingValue = [
|
@@ -31350,20 +31569,20 @@ var ArrayField = ({
|
|
31350
31569
|
);
|
31351
31570
|
},
|
31352
31571
|
title: "Delete",
|
31353
|
-
children: /* @__PURE__ */ (0,
|
31572
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Trash, { size: 16 })
|
31354
31573
|
}
|
31355
31574
|
) }) }),
|
31356
|
-
/* @__PURE__ */ (0,
|
31575
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(DragIcon, {}) })
|
31357
31576
|
] })
|
31358
31577
|
]
|
31359
31578
|
}
|
31360
31579
|
),
|
31361
|
-
/* @__PURE__ */ (0,
|
31580
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameItem2("body"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("fieldset", { className: getClassNameItem2("fieldset"), children: Object.keys(field.arrayFields).map(
|
31362
31581
|
(fieldName) => {
|
31363
31582
|
const subField = field.arrayFields[fieldName];
|
31364
31583
|
const subFieldName = `${name}[${i}].${fieldName}`;
|
31365
31584
|
const wildcardFieldName = `${name}[*].${fieldName}`;
|
31366
|
-
return /* @__PURE__ */ (0,
|
31585
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
31367
31586
|
InputOrGroup,
|
31368
31587
|
{
|
31369
31588
|
name: subFieldName,
|
@@ -31392,9 +31611,10 @@ var ArrayField = ({
|
|
31392
31611
|
);
|
31393
31612
|
}),
|
31394
31613
|
provided.placeholder,
|
31395
|
-
/* @__PURE__ */ (0,
|
31614
|
+
!addDisabled && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
31396
31615
|
"button",
|
31397
31616
|
{
|
31617
|
+
type: "button",
|
31398
31618
|
className: getClassName10("addButton"),
|
31399
31619
|
onClick: () => {
|
31400
31620
|
const existingValue = value || [];
|
@@ -31405,7 +31625,7 @@ var ArrayField = ({
|
|
31405
31625
|
const newArrayState = regenerateArrayState(newValue);
|
31406
31626
|
onChange(newValue, mapArrayStateToUi(newArrayState));
|
31407
31627
|
},
|
31408
|
-
children: /* @__PURE__ */ (0,
|
31628
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Plus, { size: 21 })
|
31409
31629
|
}
|
31410
31630
|
)
|
31411
31631
|
]
|
@@ -31420,7 +31640,7 @@ var ArrayField = ({
|
|
31420
31640
|
|
31421
31641
|
// components/InputOrGroup/fields/DefaultField/index.tsx
|
31422
31642
|
init_react_import();
|
31423
|
-
var
|
31643
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
31424
31644
|
var getClassName11 = get_class_name_factory_default("Input", styles_module_default9);
|
31425
31645
|
var DefaultField = ({
|
31426
31646
|
field,
|
@@ -31431,16 +31651,16 @@ var DefaultField = ({
|
|
31431
31651
|
label,
|
31432
31652
|
id
|
31433
31653
|
}) => {
|
31434
|
-
return /* @__PURE__ */ (0,
|
31654
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
31435
31655
|
FieldLabelInternal,
|
31436
31656
|
{
|
31437
31657
|
label: label || name,
|
31438
|
-
icon: /* @__PURE__ */ (0,
|
31439
|
-
field.type === "text" && /* @__PURE__ */ (0,
|
31440
|
-
field.type === "number" && /* @__PURE__ */ (0,
|
31658
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
|
31659
|
+
field.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Type, { size: 16 }),
|
31660
|
+
field.type === "number" && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Hash, { size: 16 })
|
31441
31661
|
] }),
|
31442
31662
|
readOnly,
|
31443
|
-
children: /* @__PURE__ */ (0,
|
31663
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
31444
31664
|
"input",
|
31445
31665
|
{
|
31446
31666
|
className: getClassName11("input"),
|
@@ -31476,7 +31696,7 @@ var import_react16 = require("react");
|
|
31476
31696
|
|
31477
31697
|
// css-module:/home/runner/work/puck/puck/packages/core/components/ExternalInput/styles.module.css#css-module
|
31478
31698
|
init_react_import();
|
31479
|
-
var styles_module_default11 = { "ExternalInput-actions": "_ExternalInput-
|
31699
|
+
var styles_module_default11 = { "ExternalInput-actions": "_ExternalInput-actions_19obq_1", "ExternalInput-button": "_ExternalInput-button_19obq_5", "ExternalInput--dataSelected": "_ExternalInput--dataSelected_19obq_25", "ExternalInput-detachButton": "_ExternalInput-detachButton_19obq_32", "ExternalInputModal": "_ExternalInputModal_19obq_74", "ExternalInputModal-grid": "_ExternalInputModal-grid_19obq_84", "ExternalInputModal--filtersToggled": "_ExternalInputModal--filtersToggled_19obq_95", "ExternalInputModal-filters": "_ExternalInputModal-filters_19obq_100", "ExternalInputModal-masthead": "_ExternalInputModal-masthead_19obq_119", "ExternalInputModal-tableWrapper": "_ExternalInputModal-tableWrapper_19obq_128", "ExternalInputModal-table": "_ExternalInputModal-table_19obq_128", "ExternalInputModal-thead": "_ExternalInputModal-thead_19obq_144", "ExternalInputModal-th": "_ExternalInputModal-th_19obq_144", "ExternalInputModal-td": "_ExternalInputModal-td_19obq_159", "ExternalInputModal-tr": "_ExternalInputModal-tr_19obq_164", "ExternalInputModal-tbody": "_ExternalInputModal-tbody_19obq_171", "ExternalInputModal--hasData": "_ExternalInputModal--hasData_19obq_197", "ExternalInputModal-loadingBanner": "_ExternalInputModal-loadingBanner_19obq_201", "ExternalInputModal--isLoading": "_ExternalInputModal--isLoading_19obq_218", "ExternalInputModal-searchForm": "_ExternalInputModal-searchForm_19obq_222", "ExternalInputModal-search": "_ExternalInputModal-search_19obq_222", "ExternalInputModal-searchIcon": "_ExternalInputModal-searchIcon_19obq_259", "ExternalInputModal-searchIconText": "_ExternalInputModal-searchIconText_19obq_284", "ExternalInputModal-searchInput": "_ExternalInputModal-searchInput_19obq_294", "ExternalInputModal-searchActions": "_ExternalInputModal-searchActions_19obq_308", "ExternalInputModal-searchActionIcon": "_ExternalInputModal-searchActionIcon_19obq_321", "ExternalInputModal-footer": "_ExternalInputModal-footer_19obq_325" };
|
31480
31700
|
|
31481
31701
|
// components/Modal/index.tsx
|
31482
31702
|
init_react_import();
|
@@ -31484,11 +31704,11 @@ var import_react15 = require("react");
|
|
31484
31704
|
|
31485
31705
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Modal/styles.module.css#css-module
|
31486
31706
|
init_react_import();
|
31487
|
-
var styles_module_default12 = { "Modal": "
|
31707
|
+
var styles_module_default12 = { "Modal": "_Modal_ikbaj_1", "Modal--isOpen": "_Modal--isOpen_ikbaj_15", "Modal-inner": "_Modal-inner_ikbaj_19" };
|
31488
31708
|
|
31489
31709
|
// components/Modal/index.tsx
|
31490
31710
|
var import_react_dom = __toESM(require_react_dom());
|
31491
|
-
var
|
31711
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
31492
31712
|
var getClassName12 = get_class_name_factory_default("Modal", styles_module_default12);
|
31493
31713
|
var Modal = ({
|
31494
31714
|
children,
|
@@ -31500,10 +31720,10 @@ var Modal = ({
|
|
31500
31720
|
setRootEl(document.getElementById("puck-portal-root"));
|
31501
31721
|
}, []);
|
31502
31722
|
if (!rootEl) {
|
31503
|
-
return /* @__PURE__ */ (0,
|
31723
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", {});
|
31504
31724
|
}
|
31505
31725
|
return (0, import_react_dom.createPortal)(
|
31506
|
-
/* @__PURE__ */ (0,
|
31726
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: getClassName12({ isOpen }), onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
31507
31727
|
"div",
|
31508
31728
|
{
|
31509
31729
|
className: getClassName12("inner"),
|
@@ -31517,7 +31737,7 @@ var Modal = ({
|
|
31517
31737
|
|
31518
31738
|
// components/ExternalInput/index.tsx
|
31519
31739
|
var import_react_spinners5 = require("react-spinners");
|
31520
|
-
var
|
31740
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
31521
31741
|
var getClassName13 = get_class_name_factory_default("ExternalInput", styles_module_default11);
|
31522
31742
|
var getClassNameModal = get_class_name_factory_default("ExternalInputModal", styles_module_default11);
|
31523
31743
|
var dataCache = {};
|
@@ -31528,13 +31748,23 @@ var ExternalInput = ({
|
|
31528
31748
|
name,
|
31529
31749
|
id
|
31530
31750
|
}) => {
|
31531
|
-
const {
|
31751
|
+
const {
|
31752
|
+
mapProp = (val) => val,
|
31753
|
+
mapRow = (val) => val,
|
31754
|
+
filterFields
|
31755
|
+
} = field || {};
|
31532
31756
|
const [data, setData] = (0, import_react16.useState)([]);
|
31533
31757
|
const [isOpen, setOpen] = (0, import_react16.useState)(false);
|
31534
31758
|
const [isLoading, setIsLoading] = (0, import_react16.useState)(true);
|
31759
|
+
const hasFilterFields = !!filterFields;
|
31760
|
+
const [filters, setFilters] = (0, import_react16.useState)(field.initialFilters || {});
|
31761
|
+
const [filtersToggled, setFiltersToggled] = (0, import_react16.useState)(hasFilterFields);
|
31762
|
+
const mappedData = (0, import_react16.useMemo)(() => {
|
31763
|
+
return data.map(mapRow);
|
31764
|
+
}, [data]);
|
31535
31765
|
const keys = (0, import_react16.useMemo)(() => {
|
31536
31766
|
const validKeys = /* @__PURE__ */ new Set();
|
31537
|
-
for (const item of
|
31767
|
+
for (const item of mappedData) {
|
31538
31768
|
for (const key of Object.keys(item)) {
|
31539
31769
|
if (typeof item[key] === "string" || typeof item[key] === "number") {
|
31540
31770
|
validKeys.add(key);
|
@@ -31542,13 +31772,13 @@ var ExternalInput = ({
|
|
31542
31772
|
}
|
31543
31773
|
}
|
31544
31774
|
return Array.from(validKeys);
|
31545
|
-
}, [
|
31775
|
+
}, [mappedData]);
|
31546
31776
|
const [searchQuery, setSearchQuery] = (0, import_react16.useState)(field.initialQuery || "");
|
31547
31777
|
const search = (0, import_react16.useCallback)(
|
31548
|
-
(query) => __async(void 0, null, function* () {
|
31778
|
+
(query, filters2) => __async(void 0, null, function* () {
|
31549
31779
|
setIsLoading(true);
|
31550
|
-
const cacheKey = `${id}-${
|
31551
|
-
const listData = dataCache[cacheKey] || (yield field.fetchList({ query }));
|
31780
|
+
const cacheKey = `${id}-${query}-${JSON.stringify(filters2)}`;
|
31781
|
+
const listData = dataCache[cacheKey] || (yield field.fetchList({ query, filters: filters2 }));
|
31552
31782
|
if (listData) {
|
31553
31783
|
setData(listData);
|
31554
31784
|
setIsLoading(false);
|
@@ -31558,9 +31788,9 @@ var ExternalInput = ({
|
|
31558
31788
|
[name, field]
|
31559
31789
|
);
|
31560
31790
|
(0, import_react16.useEffect)(() => {
|
31561
|
-
search(searchQuery);
|
31791
|
+
search(searchQuery, filters);
|
31562
31792
|
}, []);
|
31563
|
-
return /* @__PURE__ */ (0,
|
31793
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
31564
31794
|
"div",
|
31565
31795
|
{
|
31566
31796
|
className: getClassName13({
|
@@ -31569,102 +31799,134 @@ var ExternalInput = ({
|
|
31569
31799
|
}),
|
31570
31800
|
id,
|
31571
31801
|
children: [
|
31572
|
-
/* @__PURE__ */ (0,
|
31573
|
-
/* @__PURE__ */ (0,
|
31802
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassName13("actions"), children: [
|
31803
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
31574
31804
|
"button",
|
31575
31805
|
{
|
31806
|
+
type: "button",
|
31576
31807
|
onClick: () => setOpen(true),
|
31577
31808
|
className: getClassName13("button"),
|
31578
|
-
children: value ? field.getItemSummary ? field.getItemSummary(value) : "External item" : /* @__PURE__ */ (0,
|
31579
|
-
/* @__PURE__ */ (0,
|
31580
|
-
/* @__PURE__ */ (0,
|
31809
|
+
children: value ? field.getItemSummary ? field.getItemSummary(value) : "External item" : /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
|
31810
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Link, { size: "16" }),
|
31811
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { children: field.placeholder })
|
31581
31812
|
] })
|
31582
31813
|
}
|
31583
31814
|
),
|
31584
|
-
value && /* @__PURE__ */ (0,
|
31815
|
+
value && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
31585
31816
|
"button",
|
31586
31817
|
{
|
31587
31818
|
className: getClassName13("detachButton"),
|
31588
31819
|
onClick: () => {
|
31589
31820
|
onChange(null);
|
31590
31821
|
},
|
31591
|
-
children: /* @__PURE__ */ (0,
|
31822
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Unlock, { size: 16 })
|
31592
31823
|
}
|
31593
31824
|
)
|
31594
31825
|
] }),
|
31595
|
-
/* @__PURE__ */ (0,
|
31596
|
-
"
|
31826
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Modal, { onClose: () => setOpen(false), isOpen, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
31827
|
+
"form",
|
31597
31828
|
{
|
31598
31829
|
className: getClassNameModal({
|
31599
31830
|
isLoading,
|
31600
31831
|
loaded: !isLoading,
|
31601
|
-
hasData:
|
31832
|
+
hasData: mappedData.length > 0,
|
31833
|
+
filtersToggled
|
31602
31834
|
}),
|
31835
|
+
onSubmit: (e) => {
|
31836
|
+
e.preventDefault();
|
31837
|
+
search(searchQuery, filters);
|
31838
|
+
},
|
31603
31839
|
children: [
|
31604
|
-
/* @__PURE__ */ (0,
|
31605
|
-
/* @__PURE__ */ (0,
|
31606
|
-
|
31607
|
-
"
|
31608
|
-
|
31609
|
-
|
31610
|
-
onSubmit: (e) => {
|
31611
|
-
e.preventDefault();
|
31612
|
-
search(searchQuery);
|
31613
|
-
},
|
31614
|
-
children: [
|
31615
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("label", { className: getClassNameModal("search"), children: [
|
31616
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: getClassNameModal("searchIconText"), children: "Search" }),
|
31617
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: getClassNameModal("searchIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Search, { size: "18" }) }),
|
31618
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
31619
|
-
"input",
|
31620
|
-
{
|
31621
|
-
className: getClassNameModal("searchInput"),
|
31622
|
-
name: "q",
|
31623
|
-
type: "search",
|
31624
|
-
placeholder: "Search",
|
31625
|
-
onChange: (e) => {
|
31626
|
-
setSearchQuery(e.currentTarget.value);
|
31627
|
-
},
|
31628
|
-
autoComplete: "off",
|
31629
|
-
value: searchQuery
|
31630
|
-
}
|
31631
|
-
)
|
31632
|
-
] }),
|
31633
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Button, { type: "submit", loading: isLoading, disabled: isLoading, children: "Search" })
|
31634
|
-
]
|
31635
|
-
}
|
31636
|
-
)
|
31637
|
-
] }),
|
31638
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: getClassNameModal("tableWrapper"), children: [
|
31639
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("table", { className: getClassNameModal("table"), children: [
|
31640
|
-
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("thead", { className: getClassNameModal("thead"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("tr", { className: getClassNameModal("tr"), children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
31641
|
-
"th",
|
31840
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("masthead"), children: field.showSearch ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("searchForm"), children: [
|
31841
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("label", { className: getClassNameModal("search"), children: [
|
31842
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: getClassNameModal("searchIconText"), children: "Search" }),
|
31843
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("searchIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Search, { size: "18" }) }),
|
31844
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
31845
|
+
"input",
|
31642
31846
|
{
|
31643
|
-
className: getClassNameModal("
|
31644
|
-
|
31645
|
-
|
31847
|
+
className: getClassNameModal("searchInput"),
|
31848
|
+
name: "q",
|
31849
|
+
type: "search",
|
31850
|
+
placeholder: field.placeholder,
|
31851
|
+
onChange: (e) => {
|
31852
|
+
setSearchQuery(e.currentTarget.value);
|
31853
|
+
},
|
31854
|
+
autoComplete: "off",
|
31855
|
+
value: searchQuery
|
31856
|
+
}
|
31857
|
+
)
|
31858
|
+
] }),
|
31859
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("searchActions"), children: [
|
31860
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Button, { type: "submit", loading: isLoading, fullWidth: true, children: "Search" }),
|
31861
|
+
hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("searchActionIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
31862
|
+
IconButton,
|
31863
|
+
{
|
31864
|
+
title: "Toggle filters",
|
31865
|
+
onClick: (e) => {
|
31866
|
+
e.preventDefault();
|
31867
|
+
e.stopPropagation();
|
31868
|
+
setFiltersToggled(!filtersToggled);
|
31869
|
+
},
|
31870
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(SlidersHorizontal, { size: 20 })
|
31871
|
+
}
|
31872
|
+
) })
|
31873
|
+
] })
|
31874
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Heading, { rank: 2, size: "xs", children: field.placeholder || "Select data" }) }),
|
31875
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("grid"), children: [
|
31876
|
+
hasFilterFields && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("filters"), children: hasFilterFields && Object.keys(filterFields).map((fieldName) => {
|
31877
|
+
const filterField = filterFields[fieldName];
|
31878
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
31879
|
+
InputOrGroup,
|
31880
|
+
{
|
31881
|
+
field: filterField,
|
31882
|
+
name: fieldName,
|
31883
|
+
id: `external_field_${fieldName}_filter`,
|
31884
|
+
label: filterField.label || fieldName,
|
31885
|
+
value: filters[fieldName],
|
31886
|
+
onChange: (value2) => {
|
31887
|
+
const newFilters = __spreadProps(__spreadValues({}, filters), { [fieldName]: value2 });
|
31888
|
+
setFilters(newFilters);
|
31889
|
+
search(searchQuery, newFilters);
|
31890
|
+
}
|
31646
31891
|
},
|
31647
|
-
|
31648
|
-
)
|
31649
|
-
|
31650
|
-
|
31651
|
-
|
31892
|
+
fieldName
|
31893
|
+
);
|
31894
|
+
}) }),
|
31895
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("tableWrapper"), children: [
|
31896
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("table", { className: getClassNameModal("table"), children: [
|
31897
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("thead", { className: getClassNameModal("thead"), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("tr", { className: getClassNameModal("tr"), children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
31898
|
+
"th",
|
31652
31899
|
{
|
31653
|
-
|
31654
|
-
|
31655
|
-
|
31656
|
-
onChange(mapProp(item));
|
31657
|
-
setOpen(false);
|
31658
|
-
},
|
31659
|
-
children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("td", { className: getClassNameModal("td"), children: item[key] }, key))
|
31900
|
+
className: getClassNameModal("th"),
|
31901
|
+
style: { textAlign: "left" },
|
31902
|
+
children: key
|
31660
31903
|
},
|
31661
|
-
|
31662
|
-
)
|
31663
|
-
|
31664
|
-
|
31665
|
-
|
31904
|
+
key
|
31905
|
+
)) }) }),
|
31906
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("tbody", { className: getClassNameModal("tbody"), children: mappedData.map((item, i) => {
|
31907
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
31908
|
+
"tr",
|
31909
|
+
{
|
31910
|
+
style: { whiteSpace: "nowrap" },
|
31911
|
+
className: getClassNameModal("tr"),
|
31912
|
+
onClick: () => {
|
31913
|
+
onChange(mapProp(data[i]));
|
31914
|
+
setOpen(false);
|
31915
|
+
},
|
31916
|
+
children: keys.map((key) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("td", { className: getClassNameModal("td"), children: item[key] }, key))
|
31917
|
+
},
|
31918
|
+
i
|
31919
|
+
);
|
31920
|
+
}) })
|
31921
|
+
] }),
|
31922
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: getClassNameModal("loadingBanner"), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_spinners5.ClipLoader, { size: 24, "aria-label": "Loading" }) })
|
31923
|
+
] })
|
31666
31924
|
] }),
|
31667
|
-
/* @__PURE__ */ (0,
|
31925
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: getClassNameModal("footer"), children: [
|
31926
|
+
mappedData.length,
|
31927
|
+
" result",
|
31928
|
+
mappedData.length === 1 ? "" : "s"
|
31929
|
+
] })
|
31668
31930
|
]
|
31669
31931
|
}
|
31670
31932
|
) })
|
@@ -31674,7 +31936,7 @@ var ExternalInput = ({
|
|
31674
31936
|
};
|
31675
31937
|
|
31676
31938
|
// components/InputOrGroup/fields/ExternalField/index.tsx
|
31677
|
-
var
|
31939
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
31678
31940
|
var ExternalField = ({
|
31679
31941
|
field,
|
31680
31942
|
onChange,
|
@@ -31696,13 +31958,13 @@ var ExternalField = ({
|
|
31696
31958
|
if (field.type !== "external") {
|
31697
31959
|
return null;
|
31698
31960
|
}
|
31699
|
-
return /* @__PURE__ */ (0,
|
31961
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
31700
31962
|
FieldLabelInternal,
|
31701
31963
|
{
|
31702
31964
|
label: label || name,
|
31703
|
-
icon: /* @__PURE__ */ (0,
|
31965
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Link, { size: 16 }),
|
31704
31966
|
el: "div",
|
31705
|
-
children: /* @__PURE__ */ (0,
|
31967
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
31706
31968
|
ExternalInput,
|
31707
31969
|
{
|
31708
31970
|
name,
|
@@ -31710,6 +31972,7 @@ var ExternalField = ({
|
|
31710
31972
|
// DEPRECATED
|
31711
31973
|
placeholder: ((_a = deprecatedField.adaptor) == null ? void 0 : _a.name) ? `Select from ${deprecatedField.adaptor.name}` : validField.placeholder || "Select data",
|
31712
31974
|
mapProp: ((_b = deprecatedField.adaptor) == null ? void 0 : _b.mapProp) || validField.mapProp,
|
31975
|
+
mapRow: validField.mapRow,
|
31713
31976
|
fetchList: ((_c = deprecatedField.adaptor) == null ? void 0 : _c.fetchList) ? () => __async(void 0, null, function* () {
|
31714
31977
|
return yield deprecatedField.adaptor.fetchList(
|
31715
31978
|
deprecatedField.adaptorParams
|
@@ -31727,7 +31990,7 @@ var ExternalField = ({
|
|
31727
31990
|
|
31728
31991
|
// components/InputOrGroup/fields/RadioField/index.tsx
|
31729
31992
|
init_react_import();
|
31730
|
-
var
|
31993
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
31731
31994
|
var getClassName14 = get_class_name_factory_default("Input", styles_module_default9);
|
31732
31995
|
var RadioField = ({
|
31733
31996
|
field,
|
@@ -31741,19 +32004,19 @@ var RadioField = ({
|
|
31741
32004
|
if (field.type !== "radio" || !field.options) {
|
31742
32005
|
return null;
|
31743
32006
|
}
|
31744
|
-
return /* @__PURE__ */ (0,
|
32007
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
31745
32008
|
FieldLabelInternal,
|
31746
32009
|
{
|
31747
|
-
icon: /* @__PURE__ */ (0,
|
32010
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(CheckCircle, { size: 16 }),
|
31748
32011
|
label: label || name,
|
31749
32012
|
readOnly,
|
31750
32013
|
el: "div",
|
31751
|
-
children: /* @__PURE__ */ (0,
|
32014
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName14("radioGroupItems"), id, children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
31752
32015
|
"label",
|
31753
32016
|
{
|
31754
32017
|
className: getClassName14("radio"),
|
31755
32018
|
children: [
|
31756
|
-
/* @__PURE__ */ (0,
|
32019
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
31757
32020
|
"input",
|
31758
32021
|
{
|
31759
32022
|
type: "radio",
|
@@ -31771,7 +32034,7 @@ var RadioField = ({
|
|
31771
32034
|
defaultChecked: value === option.value
|
31772
32035
|
}
|
31773
32036
|
),
|
31774
|
-
/* @__PURE__ */ (0,
|
32037
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName14("radioInner"), children: option.label || option.value })
|
31775
32038
|
]
|
31776
32039
|
},
|
31777
32040
|
option.label + option.value
|
@@ -31782,7 +32045,7 @@ var RadioField = ({
|
|
31782
32045
|
|
31783
32046
|
// components/InputOrGroup/fields/SelectField/index.tsx
|
31784
32047
|
init_react_import();
|
31785
|
-
var
|
32048
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
31786
32049
|
var getClassName15 = get_class_name_factory_default("Input", styles_module_default9);
|
31787
32050
|
var SelectField = ({
|
31788
32051
|
field,
|
@@ -31796,13 +32059,13 @@ var SelectField = ({
|
|
31796
32059
|
if (field.type !== "select" || !field.options) {
|
31797
32060
|
return null;
|
31798
32061
|
}
|
31799
|
-
return /* @__PURE__ */ (0,
|
32062
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
31800
32063
|
FieldLabelInternal,
|
31801
32064
|
{
|
31802
32065
|
label: label || name,
|
31803
|
-
icon: /* @__PURE__ */ (0,
|
32066
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ChevronDown, { size: 16 }),
|
31804
32067
|
readOnly,
|
31805
|
-
children: /* @__PURE__ */ (0,
|
32068
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
31806
32069
|
"select",
|
31807
32070
|
{
|
31808
32071
|
id,
|
@@ -31816,7 +32079,7 @@ var SelectField = ({
|
|
31816
32079
|
onChange(e.currentTarget.value);
|
31817
32080
|
},
|
31818
32081
|
value,
|
31819
|
-
children: field.options.map((option) => /* @__PURE__ */ (0,
|
32082
|
+
children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
31820
32083
|
"option",
|
31821
32084
|
{
|
31822
32085
|
label: option.label,
|
@@ -31832,7 +32095,7 @@ var SelectField = ({
|
|
31832
32095
|
|
31833
32096
|
// components/InputOrGroup/fields/TextareaField/index.tsx
|
31834
32097
|
init_react_import();
|
31835
|
-
var
|
32098
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
31836
32099
|
var getClassName16 = get_class_name_factory_default("Input", styles_module_default9);
|
31837
32100
|
var TextareaField = ({
|
31838
32101
|
onChange,
|
@@ -31842,13 +32105,13 @@ var TextareaField = ({
|
|
31842
32105
|
label,
|
31843
32106
|
id
|
31844
32107
|
}) => {
|
31845
|
-
return /* @__PURE__ */ (0,
|
32108
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
31846
32109
|
FieldLabelInternal,
|
31847
32110
|
{
|
31848
32111
|
label: label || name,
|
31849
|
-
icon: /* @__PURE__ */ (0,
|
32112
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Type, { size: 16 }),
|
31850
32113
|
readOnly,
|
31851
|
-
children: /* @__PURE__ */ (0,
|
32114
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
31852
32115
|
"textarea",
|
31853
32116
|
{
|
31854
32117
|
id,
|
@@ -31877,7 +32140,7 @@ init_react_import();
|
|
31877
32140
|
var styles_module_default13 = { "ObjectField": "_ObjectField_15j63_5", "ObjectField-fieldset": "_ObjectField-fieldset_15j63_13" };
|
31878
32141
|
|
31879
32142
|
// components/InputOrGroup/fields/ObjectField/index.tsx
|
31880
|
-
var
|
32143
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
31881
32144
|
var getClassName17 = get_class_name_factory_default("ObjectField", styles_module_default13);
|
31882
32145
|
var getClassNameItem3 = get_class_name_factory_default("ObjectFieldItem", styles_module_default13);
|
31883
32146
|
var ObjectField = ({
|
@@ -31894,18 +32157,18 @@ var ObjectField = ({
|
|
31894
32157
|
return null;
|
31895
32158
|
}
|
31896
32159
|
const data = value || {};
|
31897
|
-
return /* @__PURE__ */ (0,
|
32160
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
31898
32161
|
FieldLabelInternal,
|
31899
32162
|
{
|
31900
32163
|
label: label || name,
|
31901
|
-
icon: /* @__PURE__ */ (0,
|
32164
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(MoreVertical, { size: 16 }),
|
31902
32165
|
el: "div",
|
31903
32166
|
readOnly,
|
31904
|
-
children: /* @__PURE__ */ (0,
|
32167
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: getClassName17(), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("fieldset", { className: getClassName17("fieldset"), children: Object.keys(field.objectFields).map((fieldName) => {
|
31905
32168
|
const subField = field.objectFields[fieldName];
|
31906
32169
|
const subFieldName = `${name}.${fieldName}`;
|
31907
32170
|
const wildcardFieldName = `${name}.${fieldName}`;
|
31908
|
-
return /* @__PURE__ */ (0,
|
32171
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
31909
32172
|
InputOrGroup,
|
31910
32173
|
{
|
31911
32174
|
name: subFieldName,
|
@@ -31932,7 +32195,7 @@ var ObjectField = ({
|
|
31932
32195
|
};
|
31933
32196
|
|
31934
32197
|
// components/InputOrGroup/index.tsx
|
31935
|
-
var
|
32198
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
31936
32199
|
var getClassName18 = get_class_name_factory_default("Input", styles_module_default9);
|
31937
32200
|
var FieldLabel = ({
|
31938
32201
|
children,
|
@@ -31943,11 +32206,11 @@ var FieldLabel = ({
|
|
31943
32206
|
className
|
31944
32207
|
}) => {
|
31945
32208
|
const El = el;
|
31946
|
-
return /* @__PURE__ */ (0,
|
31947
|
-
/* @__PURE__ */ (0,
|
31948
|
-
icon ? /* @__PURE__ */ (0,
|
32209
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(El, { className, children: [
|
32210
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: getClassName18("label"), children: [
|
32211
|
+
icon ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("labelIcon"), children: icon }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {}),
|
31949
32212
|
label,
|
31950
|
-
readOnly && /* @__PURE__ */ (0,
|
32213
|
+
readOnly && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18("disabledIcon"), title: "Read-only", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Lock, { size: "12" }) })
|
31951
32214
|
] }),
|
31952
32215
|
children
|
31953
32216
|
] });
|
@@ -31964,7 +32227,7 @@ var FieldLabelInternal = ({
|
|
31964
32227
|
() => overrides.fieldLabel || FieldLabel,
|
31965
32228
|
[overrides]
|
31966
32229
|
);
|
31967
|
-
return /* @__PURE__ */ (0,
|
32230
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
31968
32231
|
Wrapper,
|
31969
32232
|
{
|
31970
32233
|
label,
|
@@ -32004,7 +32267,7 @@ var InputOrGroup = (_a) => {
|
|
32004
32267
|
if (!field.render) {
|
32005
32268
|
return null;
|
32006
32269
|
}
|
32007
|
-
return /* @__PURE__ */ (0,
|
32270
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: getClassName18(), children: field.render(__spreadValues({
|
32008
32271
|
field,
|
32009
32272
|
name,
|
32010
32273
|
readOnly
|
@@ -32033,7 +32296,7 @@ var InputOrGroup = (_a) => {
|
|
32033
32296
|
const mergedProps = __spreadProps(__spreadValues(__spreadValues({}, props), localProps), { field });
|
32034
32297
|
const children = defaultFields[field.type](mergedProps);
|
32035
32298
|
const Render2 = render[field.type];
|
32036
|
-
return /* @__PURE__ */ (0,
|
32299
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Render2, __spreadProps(__spreadValues({}, mergedProps), { children }));
|
32037
32300
|
};
|
32038
32301
|
|
32039
32302
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Fields/styles.module.css#css-module
|
@@ -32042,7 +32305,7 @@ var styles_module_default14 = { "PuckFields": "_PuckFields_17k3p_1", "PuckFields
|
|
32042
32305
|
|
32043
32306
|
// components/Puck/components/Fields/index.tsx
|
32044
32307
|
var import_react19 = require("react");
|
32045
|
-
var
|
32308
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
32046
32309
|
var getClassName19 = get_class_name_factory_default("PuckFields", styles_module_default14);
|
32047
32310
|
var defaultPageFields = {
|
32048
32311
|
title: { type: "text" }
|
@@ -32051,9 +32314,9 @@ var DefaultFields = ({
|
|
32051
32314
|
children,
|
32052
32315
|
isLoading
|
32053
32316
|
}) => {
|
32054
|
-
return /* @__PURE__ */ (0,
|
32317
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: getClassName19(), children: [
|
32055
32318
|
children,
|
32056
|
-
isLoading && /* @__PURE__ */ (0,
|
32319
|
+
isLoading && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: getClassName19("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_spinners6.ClipLoader, { "aria-label": "loading" }) })
|
32057
32320
|
] });
|
32058
32321
|
};
|
32059
32322
|
var Fields = () => {
|
@@ -32074,14 +32337,14 @@ var Fields = () => {
|
|
32074
32337
|
const isLoading = selectedItem ? (_c = componentState[selectedItem == null ? void 0 : selectedItem.props.id]) == null ? void 0 : _c.loading : (_d = componentState["puck-root"]) == null ? void 0 : _d.loading;
|
32075
32338
|
const rootProps = data.root.props || data.root;
|
32076
32339
|
const Wrapper = (0, import_react19.useMemo)(() => overrides.fields || DefaultFields, [overrides]);
|
32077
|
-
return /* @__PURE__ */ (0,
|
32340
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
32078
32341
|
"form",
|
32079
32342
|
{
|
32080
32343
|
className: getClassName19(),
|
32081
32344
|
onSubmit: (e) => {
|
32082
32345
|
e.preventDefault();
|
32083
32346
|
},
|
32084
|
-
children: /* @__PURE__ */ (0,
|
32347
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Wrapper, { isLoading, itemSelector, children: Object.keys(fields).map((fieldName) => {
|
32085
32348
|
const field = fields[fieldName];
|
32086
32349
|
const onChange = (value, updatedUi) => {
|
32087
32350
|
var _a2, _b2;
|
@@ -32147,7 +32410,7 @@ var Fields = () => {
|
|
32147
32410
|
};
|
32148
32411
|
if (selectedItem && itemSelector) {
|
32149
32412
|
const { readOnly = {} } = selectedItem;
|
32150
|
-
return /* @__PURE__ */ (0,
|
32413
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
32151
32414
|
InputOrGroup,
|
32152
32415
|
{
|
32153
32416
|
field,
|
@@ -32163,7 +32426,7 @@ var Fields = () => {
|
|
32163
32426
|
);
|
32164
32427
|
} else {
|
32165
32428
|
const { readOnly = {} } = data.root;
|
32166
|
-
return /* @__PURE__ */ (0,
|
32429
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
32167
32430
|
InputOrGroup,
|
32168
32431
|
{
|
32169
32432
|
field,
|
@@ -32198,14 +32461,15 @@ init_react_import();
|
|
32198
32461
|
var styles_module_default15 = { "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" };
|
32199
32462
|
|
32200
32463
|
// components/ComponentList/index.tsx
|
32201
|
-
var
|
32464
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
32202
32465
|
var getClassName20 = get_class_name_factory_default("ComponentList", styles_module_default15);
|
32203
32466
|
var ComponentListItem = ({
|
32204
32467
|
name,
|
32468
|
+
label,
|
32205
32469
|
index
|
32206
32470
|
}) => {
|
32207
32471
|
const { overrides } = useAppContext();
|
32208
|
-
return /* @__PURE__ */ (0,
|
32472
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Drawer.Item, { label, name, index, children: overrides.componentItem });
|
32209
32473
|
};
|
32210
32474
|
var ComponentList = ({
|
32211
32475
|
children,
|
@@ -32214,8 +32478,8 @@ var ComponentList = ({
|
|
32214
32478
|
}) => {
|
32215
32479
|
const { config, state, setUi } = useAppContext();
|
32216
32480
|
const { expanded = true } = state.ui.componentList[id] || {};
|
32217
|
-
return /* @__PURE__ */ (0,
|
32218
|
-
title && /* @__PURE__ */ (0,
|
32481
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: getClassName20({ isExpanded: expanded }), children: [
|
32482
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
32219
32483
|
"button",
|
32220
32484
|
{
|
32221
32485
|
className: getClassName20("title"),
|
@@ -32228,15 +32492,17 @@ var ComponentList = ({
|
|
32228
32492
|
}),
|
32229
32493
|
title: expanded ? `Collapse${title ? ` ${title}` : ""}` : `Expand${title ? ` ${title}` : ""}`,
|
32230
32494
|
children: [
|
32231
|
-
/* @__PURE__ */ (0,
|
32232
|
-
/* @__PURE__ */ (0,
|
32495
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { children: title }),
|
32496
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName20("titleIcon"), children: expanded ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ChevronUp, { size: 12 }) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ChevronDown, { size: 12 }) })
|
32233
32497
|
]
|
32234
32498
|
}
|
32235
32499
|
),
|
32236
|
-
/* @__PURE__ */ (0,
|
32237
|
-
|
32500
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: getClassName20("content"), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Drawer, { droppableId: `component-list${title ? `:${title}` : ""}`, children: children || Object.keys(config.components).map((componentKey, i) => {
|
32501
|
+
var _a;
|
32502
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
32238
32503
|
ComponentListItem,
|
32239
32504
|
{
|
32505
|
+
label: (_a = config.components[componentKey]["label"]) != null ? _a : componentKey,
|
32240
32506
|
name: componentKey,
|
32241
32507
|
index: i
|
32242
32508
|
},
|
@@ -32248,7 +32514,7 @@ var ComponentList = ({
|
|
32248
32514
|
ComponentList.Item = ComponentListItem;
|
32249
32515
|
|
32250
32516
|
// lib/use-component-list.tsx
|
32251
|
-
var
|
32517
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
32252
32518
|
var useComponentList = (config, ui) => {
|
32253
32519
|
const [componentList, setComponentList] = (0, import_react20.useState)();
|
32254
32520
|
(0, import_react20.useEffect)(() => {
|
@@ -32261,16 +32527,18 @@ var useComponentList = (config, ui) => {
|
|
32261
32527
|
if (category.visible === false || !category.components) {
|
32262
32528
|
return null;
|
32263
32529
|
}
|
32264
|
-
return /* @__PURE__ */ (0,
|
32530
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
32265
32531
|
ComponentList,
|
32266
32532
|
{
|
32267
32533
|
id: categoryKey,
|
32268
32534
|
title: category.title || categoryKey,
|
32269
32535
|
children: category.components.map((componentName, i) => {
|
32536
|
+
var _a2;
|
32270
32537
|
matchedComponents.push(componentName);
|
32271
|
-
return /* @__PURE__ */ (0,
|
32538
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
32272
32539
|
ComponentList.Item,
|
32273
32540
|
{
|
32541
|
+
label: (_a2 = config.components[componentName]["label"]) != null ? _a2 : componentName,
|
32274
32542
|
name: componentName,
|
32275
32543
|
index: i
|
32276
32544
|
},
|
@@ -32287,16 +32555,18 @@ var useComponentList = (config, ui) => {
|
|
32287
32555
|
);
|
32288
32556
|
if (remainingComponents.length > 0 && !((_a = ui.componentList.other) == null ? void 0 : _a.components) && ((_b = ui.componentList.other) == null ? void 0 : _b.visible) !== false) {
|
32289
32557
|
_componentList.push(
|
32290
|
-
/* @__PURE__ */ (0,
|
32558
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
32291
32559
|
ComponentList,
|
32292
32560
|
{
|
32293
32561
|
id: "other",
|
32294
32562
|
title: ((_c = ui.componentList.other) == null ? void 0 : _c.title) || "Other",
|
32295
32563
|
children: remainingComponents.map((componentName, i) => {
|
32296
|
-
|
32564
|
+
var _a2;
|
32565
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
32297
32566
|
ComponentList.Item,
|
32298
32567
|
{
|
32299
32568
|
name: componentName,
|
32569
|
+
label: (_a2 = config.components[componentName]["label"]) != null ? _a2 : componentName,
|
32300
32570
|
index: i
|
32301
32571
|
},
|
32302
32572
|
componentName
|
@@ -32309,44 +32579,69 @@ var useComponentList = (config, ui) => {
|
|
32309
32579
|
}
|
32310
32580
|
setComponentList(_componentList);
|
32311
32581
|
}
|
32312
|
-
}, [config.categories, ui.componentList]);
|
32582
|
+
}, [config.categories, config.components, ui.componentList]);
|
32313
32583
|
return componentList;
|
32314
32584
|
};
|
32315
32585
|
|
32316
32586
|
// components/Puck/components/Components/index.tsx
|
32317
32587
|
var import_react21 = require("react");
|
32318
|
-
var
|
32588
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
32319
32589
|
var Components = () => {
|
32320
32590
|
const { config, state, overrides } = useAppContext();
|
32321
32591
|
const componentList = useComponentList(config, state.ui);
|
32322
32592
|
const Wrapper = (0, import_react21.useMemo)(() => overrides.components || "div", [overrides]);
|
32323
|
-
return /* @__PURE__ */ (0,
|
32593
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ComponentList, { id: "all" }) });
|
32324
32594
|
};
|
32325
32595
|
|
32326
32596
|
// components/Puck/components/Preview/index.tsx
|
32327
32597
|
init_react_import();
|
32328
32598
|
var import_react22 = require("react");
|
32329
|
-
var
|
32599
|
+
var import_auto_frame_component = __toESM(require("@measured/auto-frame-component"));
|
32600
|
+
|
32601
|
+
// css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Preview/styles.module.css#css-module
|
32602
|
+
init_react_import();
|
32603
|
+
var styles_module_default16 = { "PuckPreview": "_PuckPreview_1mia0_1", "PuckPreview-frame": "_PuckPreview-frame_1mia0_5" };
|
32604
|
+
|
32605
|
+
// components/Puck/components/Preview/index.tsx
|
32606
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
32607
|
+
var getClassName21 = get_class_name_factory_default("PuckPreview", styles_module_default16);
|
32330
32608
|
var Preview = ({ id = "puck-preview" }) => {
|
32331
|
-
const { config, dispatch, state } = useAppContext();
|
32609
|
+
const { config, dispatch, state, setStatus, iframe } = useAppContext();
|
32332
32610
|
const Page = (0, import_react22.useCallback)(
|
32333
32611
|
(pageProps) => {
|
32334
32612
|
var _a, _b;
|
32335
|
-
return ((_a = config.root) == null ? void 0 : _a.render) ? (_b = config.root) == null ? void 0 : _b.render(__spreadProps(__spreadValues({
|
32613
|
+
return ((_a = config.root) == null ? void 0 : _a.render) ? (_b = config.root) == null ? void 0 : _b.render(__spreadProps(__spreadValues({
|
32614
|
+
id: "puck-root"
|
32615
|
+
}, pageProps), {
|
32616
|
+
editMode: true,
|
32617
|
+
puck: { renderDropZone: DropZone }
|
32618
|
+
})) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { children: pageProps.children });
|
32336
32619
|
},
|
32337
32620
|
[config.root]
|
32338
32621
|
);
|
32339
32622
|
const rootProps = state.data.root.props || state.data.root;
|
32340
|
-
const
|
32341
|
-
return /* @__PURE__ */ (0,
|
32623
|
+
const ref = (0, import_react22.useRef)(null);
|
32624
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
32342
32625
|
"div",
|
32343
32626
|
{
|
32627
|
+
className: getClassName21(),
|
32344
32628
|
id,
|
32345
32629
|
onClick: () => {
|
32346
32630
|
dispatch({ type: "setUi", ui: __spreadProps(__spreadValues({}, state.ui), { itemSelector: null }) });
|
32347
32631
|
},
|
32348
|
-
|
32349
|
-
|
32632
|
+
children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
32633
|
+
import_auto_frame_component.default,
|
32634
|
+
{
|
32635
|
+
id: "preview-frame",
|
32636
|
+
className: getClassName21("frame"),
|
32637
|
+
"data-rfd-iframe": true,
|
32638
|
+
ref,
|
32639
|
+
onStylesLoaded: () => {
|
32640
|
+
setStatus("READY");
|
32641
|
+
},
|
32642
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Page, __spreadProps(__spreadValues({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DropZone, { zone: rootDroppableId }) }))
|
32643
|
+
}
|
32644
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { id: "preview-frame", className: getClassName21("frame"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Page, __spreadProps(__spreadValues({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DropZone, { zone: rootDroppableId }) })) })
|
32350
32645
|
}
|
32351
32646
|
);
|
32352
32647
|
};
|
@@ -32380,7 +32675,7 @@ init_react_import();
|
|
32380
32675
|
|
32381
32676
|
// css-module:/home/runner/work/puck/puck/packages/core/components/LayerTree/styles.module.css#css-module
|
32382
32677
|
init_react_import();
|
32383
|
-
var
|
32678
|
+
var styles_module_default17 = { "LayerTree": "_LayerTree_1pgw8_1", "LayerTree-zoneTitle": "_LayerTree-zoneTitle_1pgw8_11", "LayerTree-helper": "_LayerTree-helper_1pgw8_17", "Layer": "_Layer_1pgw8_1", "Layer-inner": "_Layer-inner_1pgw8_29", "Layer--containsZone": "_Layer--containsZone_1pgw8_35", "Layer-clickable": "_Layer-clickable_1pgw8_39", "Layer--isSelected": "_Layer--isSelected_1pgw8_61", "Layer-chevron": "_Layer-chevron_1pgw8_77", "Layer--childIsSelected": "_Layer--childIsSelected_1pgw8_78", "Layer-zones": "_Layer-zones_1pgw8_82", "Layer-title": "_Layer-title_1pgw8_96", "Layer-name": "_Layer-name_1pgw8_105", "Layer-icon": "_Layer-icon_1pgw8_111", "Layer-zoneIcon": "_Layer-zoneIcon_1pgw8_116" };
|
32384
32679
|
|
32385
32680
|
// lib/scroll-into-view.ts
|
32386
32681
|
init_react_import();
|
@@ -32408,11 +32703,12 @@ var isChildOfZone = (item, maybeChild, ctx) => {
|
|
32408
32703
|
};
|
32409
32704
|
|
32410
32705
|
// components/LayerTree/index.tsx
|
32411
|
-
var
|
32412
|
-
var
|
32413
|
-
var getClassNameLayer = get_class_name_factory_default("Layer",
|
32706
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
32707
|
+
var getClassName22 = get_class_name_factory_default("LayerTree", styles_module_default17);
|
32708
|
+
var getClassNameLayer = get_class_name_factory_default("Layer", styles_module_default17);
|
32414
32709
|
var LayerTree = ({
|
32415
32710
|
data,
|
32711
|
+
config,
|
32416
32712
|
zoneContent,
|
32417
32713
|
itemSelector,
|
32418
32714
|
setItemSelector,
|
@@ -32421,15 +32717,16 @@ var LayerTree = ({
|
|
32421
32717
|
}) => {
|
32422
32718
|
const zones = data.zones || {};
|
32423
32719
|
const ctx = (0, import_react23.useContext)(dropZoneContext);
|
32424
|
-
return /* @__PURE__ */ (0,
|
32425
|
-
label && /* @__PURE__ */ (0,
|
32426
|
-
/* @__PURE__ */ (0,
|
32720
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
|
32721
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: getClassName22("zoneTitle"), children: [
|
32722
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassName22("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Layers, { size: "16" }) }),
|
32427
32723
|
" ",
|
32428
32724
|
label
|
32429
32725
|
] }),
|
32430
|
-
/* @__PURE__ */ (0,
|
32431
|
-
zoneContent.length === 0 && /* @__PURE__ */ (0,
|
32726
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("ul", { className: getClassName22(), children: [
|
32727
|
+
zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassName22("helper"), children: "No items" }),
|
32432
32728
|
zoneContent.map((item, i) => {
|
32729
|
+
var _a;
|
32433
32730
|
const isSelected = (itemSelector == null ? void 0 : itemSelector.index) === i && (itemSelector.zone === zone || itemSelector.zone === rootDroppableId && !zone);
|
32434
32731
|
const zonesForItem = findZonesForArea(data, item.props.id);
|
32435
32732
|
const containsZone = Object.keys(zonesForItem).length > 0;
|
@@ -32443,7 +32740,7 @@ var LayerTree = ({
|
|
32443
32740
|
const selectedItem = itemSelector && data ? getItem(itemSelector, data) : null;
|
32444
32741
|
const isHovering = hoveringComponent === item.props.id;
|
32445
32742
|
const childIsSelected = isChildOfZone(item, selectedItem, ctx);
|
32446
|
-
return /* @__PURE__ */ (0,
|
32743
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
32447
32744
|
"li",
|
32448
32745
|
{
|
32449
32746
|
className: getClassNameLayer({
|
@@ -32453,7 +32750,7 @@ var LayerTree = ({
|
|
32453
32750
|
childIsSelected
|
32454
32751
|
}),
|
32455
32752
|
children: [
|
32456
|
-
/* @__PURE__ */ (0,
|
32753
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
32457
32754
|
"button",
|
32458
32755
|
{
|
32459
32756
|
className: getClassNameLayer("clickable"),
|
@@ -32467,8 +32764,9 @@ var LayerTree = ({
|
|
32467
32764
|
zone
|
32468
32765
|
});
|
32469
32766
|
const id = zoneContent[i].props.id;
|
32767
|
+
const frame = getFrame();
|
32470
32768
|
scrollIntoView(
|
32471
|
-
|
32769
|
+
frame == null ? void 0 : frame.querySelector(
|
32472
32770
|
`[data-rfd-drag-handle-draggable-id="draggable-${id}"]`
|
32473
32771
|
)
|
32474
32772
|
);
|
@@ -32484,24 +32782,25 @@ var LayerTree = ({
|
|
32484
32782
|
setHoveringComponent(null);
|
32485
32783
|
},
|
32486
32784
|
children: [
|
32487
|
-
containsZone && /* @__PURE__ */ (0,
|
32785
|
+
containsZone && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
32488
32786
|
"div",
|
32489
32787
|
{
|
32490
32788
|
className: getClassNameLayer("chevron"),
|
32491
32789
|
title: isSelected ? "Collapse" : "Expand",
|
32492
|
-
children: /* @__PURE__ */ (0,
|
32790
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ChevronDown, { size: "12" })
|
32493
32791
|
}
|
32494
32792
|
),
|
32495
|
-
/* @__PURE__ */ (0,
|
32496
|
-
/* @__PURE__ */ (0,
|
32497
|
-
/* @__PURE__ */ (0,
|
32793
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: getClassNameLayer("title"), children: [
|
32794
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassNameLayer("icon"), children: item.type === "Text" || item.type === "Heading" ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Type, { size: "16" }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(LayoutGrid, { size: "16" }) }),
|
32795
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassNameLayer("name"), children: (_a = config.components[item.type]["label"]) != null ? _a : item.type })
|
32498
32796
|
] })
|
32499
32797
|
]
|
32500
32798
|
}
|
32501
32799
|
) }),
|
32502
|
-
containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0,
|
32800
|
+
containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
32503
32801
|
LayerTree,
|
32504
32802
|
{
|
32803
|
+
config,
|
32505
32804
|
data,
|
32506
32805
|
zoneContent: zones[zoneKey],
|
32507
32806
|
setItemSelector,
|
@@ -32521,9 +32820,9 @@ var LayerTree = ({
|
|
32521
32820
|
|
32522
32821
|
// components/Puck/components/Outline/index.tsx
|
32523
32822
|
var import_react24 = require("react");
|
32524
|
-
var
|
32823
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
32525
32824
|
var Outline = () => {
|
32526
|
-
const { dispatch, state, overrides } = useAppContext();
|
32825
|
+
const { dispatch, state, overrides, config } = useAppContext();
|
32527
32826
|
const { data, ui } = state;
|
32528
32827
|
const { itemSelector } = ui;
|
32529
32828
|
const setItemSelector = (0, import_react24.useCallback)(
|
@@ -32536,10 +32835,11 @@ var Outline = () => {
|
|
32536
32835
|
[]
|
32537
32836
|
);
|
32538
32837
|
const Wrapper = (0, import_react24.useMemo)(() => overrides.outline || "div", [overrides]);
|
32539
|
-
return /* @__PURE__ */ (0,
|
32540
|
-
(ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0,
|
32838
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(dropZoneContext.Consumer, { children: (ctx) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [
|
32839
|
+
(ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId]) && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
32541
32840
|
LayerTree,
|
32542
32841
|
{
|
32842
|
+
config,
|
32543
32843
|
data,
|
32544
32844
|
label: areaContainsZones(data, "root") ? rootDroppableId : "",
|
32545
32845
|
zoneContent: data.content,
|
@@ -32549,9 +32849,10 @@ var Outline = () => {
|
|
32549
32849
|
),
|
32550
32850
|
Object.entries(findZonesForArea(data, "root")).map(
|
32551
32851
|
([zoneKey, zone]) => {
|
32552
|
-
return /* @__PURE__ */ (0,
|
32852
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
32553
32853
|
LayerTree,
|
32554
32854
|
{
|
32855
|
+
config,
|
32555
32856
|
data,
|
32556
32857
|
label: zoneKey,
|
32557
32858
|
zone: zoneKey,
|
@@ -32675,14 +32976,431 @@ function useHistoryStore() {
|
|
32675
32976
|
};
|
32676
32977
|
}
|
32677
32978
|
|
32979
|
+
// components/Puck/components/Canvas/index.tsx
|
32980
|
+
init_react_import();
|
32981
|
+
|
32982
|
+
// ../../node_modules/css-box-model/dist/css-box-model.esm.js
|
32983
|
+
init_react_import();
|
32984
|
+
|
32985
|
+
// ../../node_modules/tiny-invariant/dist/esm/tiny-invariant.js
|
32986
|
+
init_react_import();
|
32987
|
+
var isProduction = process.env.NODE_ENV === "production";
|
32988
|
+
var prefix = "Invariant failed";
|
32989
|
+
function invariant(condition, message) {
|
32990
|
+
if (condition) {
|
32991
|
+
return;
|
32992
|
+
}
|
32993
|
+
if (isProduction) {
|
32994
|
+
throw new Error(prefix);
|
32995
|
+
}
|
32996
|
+
var provided = typeof message === "function" ? message() : message;
|
32997
|
+
var value = provided ? "".concat(prefix, ": ").concat(provided) : prefix;
|
32998
|
+
throw new Error(value);
|
32999
|
+
}
|
33000
|
+
|
33001
|
+
// ../../node_modules/css-box-model/dist/css-box-model.esm.js
|
33002
|
+
var getRect = function getRect2(_ref) {
|
33003
|
+
var top = _ref.top, right = _ref.right, bottom = _ref.bottom, left = _ref.left;
|
33004
|
+
var width = right - left;
|
33005
|
+
var height = bottom - top;
|
33006
|
+
var rect = {
|
33007
|
+
top,
|
33008
|
+
right,
|
33009
|
+
bottom,
|
33010
|
+
left,
|
33011
|
+
width,
|
33012
|
+
height,
|
33013
|
+
x: left,
|
33014
|
+
y: top,
|
33015
|
+
center: {
|
33016
|
+
x: (right + left) / 2,
|
33017
|
+
y: (bottom + top) / 2
|
33018
|
+
}
|
33019
|
+
};
|
33020
|
+
return rect;
|
33021
|
+
};
|
33022
|
+
var expand = function expand2(target, expandBy) {
|
33023
|
+
return {
|
33024
|
+
top: target.top - expandBy.top,
|
33025
|
+
left: target.left - expandBy.left,
|
33026
|
+
bottom: target.bottom + expandBy.bottom,
|
33027
|
+
right: target.right + expandBy.right
|
33028
|
+
};
|
33029
|
+
};
|
33030
|
+
var shrink = function shrink2(target, shrinkBy) {
|
33031
|
+
return {
|
33032
|
+
top: target.top + shrinkBy.top,
|
33033
|
+
left: target.left + shrinkBy.left,
|
33034
|
+
bottom: target.bottom - shrinkBy.bottom,
|
33035
|
+
right: target.right - shrinkBy.right
|
33036
|
+
};
|
33037
|
+
};
|
33038
|
+
var noSpacing = {
|
33039
|
+
top: 0,
|
33040
|
+
right: 0,
|
33041
|
+
bottom: 0,
|
33042
|
+
left: 0
|
33043
|
+
};
|
33044
|
+
var createBox = function createBox2(_ref2) {
|
33045
|
+
var borderBox = _ref2.borderBox, _ref2$margin = _ref2.margin, margin = _ref2$margin === void 0 ? noSpacing : _ref2$margin, _ref2$border = _ref2.border, border = _ref2$border === void 0 ? noSpacing : _ref2$border, _ref2$padding = _ref2.padding, padding = _ref2$padding === void 0 ? noSpacing : _ref2$padding;
|
33046
|
+
var marginBox = getRect(expand(borderBox, margin));
|
33047
|
+
var paddingBox = getRect(shrink(borderBox, border));
|
33048
|
+
var contentBox = getRect(shrink(paddingBox, padding));
|
33049
|
+
return {
|
33050
|
+
marginBox,
|
33051
|
+
borderBox: getRect(borderBox),
|
33052
|
+
paddingBox,
|
33053
|
+
contentBox,
|
33054
|
+
margin,
|
33055
|
+
border,
|
33056
|
+
padding
|
33057
|
+
};
|
33058
|
+
};
|
33059
|
+
var parse = function parse2(raw) {
|
33060
|
+
var value = raw.slice(0, -2);
|
33061
|
+
var suffix = raw.slice(-2);
|
33062
|
+
if (suffix !== "px") {
|
33063
|
+
return 0;
|
33064
|
+
}
|
33065
|
+
var result = Number(value);
|
33066
|
+
!!isNaN(result) ? process.env.NODE_ENV !== "production" ? invariant(false, "Could not parse value [raw: " + raw + ", without suffix: " + value + "]") : invariant(false) : void 0;
|
33067
|
+
return result;
|
33068
|
+
};
|
33069
|
+
var calculateBox = function calculateBox2(borderBox, styles) {
|
33070
|
+
var margin = {
|
33071
|
+
top: parse(styles.marginTop),
|
33072
|
+
right: parse(styles.marginRight),
|
33073
|
+
bottom: parse(styles.marginBottom),
|
33074
|
+
left: parse(styles.marginLeft)
|
33075
|
+
};
|
33076
|
+
var padding = {
|
33077
|
+
top: parse(styles.paddingTop),
|
33078
|
+
right: parse(styles.paddingRight),
|
33079
|
+
bottom: parse(styles.paddingBottom),
|
33080
|
+
left: parse(styles.paddingLeft)
|
33081
|
+
};
|
33082
|
+
var border = {
|
33083
|
+
top: parse(styles.borderTopWidth),
|
33084
|
+
right: parse(styles.borderRightWidth),
|
33085
|
+
bottom: parse(styles.borderBottomWidth),
|
33086
|
+
left: parse(styles.borderLeftWidth)
|
33087
|
+
};
|
33088
|
+
return createBox({
|
33089
|
+
borderBox,
|
33090
|
+
margin,
|
33091
|
+
padding,
|
33092
|
+
border
|
33093
|
+
});
|
33094
|
+
};
|
33095
|
+
var getBox = function getBox2(el) {
|
33096
|
+
var borderBox = el.getBoundingClientRect();
|
33097
|
+
var styles = window.getComputedStyle(el);
|
33098
|
+
return calculateBox(borderBox, styles);
|
33099
|
+
};
|
33100
|
+
|
33101
|
+
// components/Puck/components/Canvas/index.tsx
|
33102
|
+
var import_react27 = require("react");
|
33103
|
+
|
33104
|
+
// components/ViewportControls/index.tsx
|
33105
|
+
init_react_import();
|
33106
|
+
var import_react26 = require("react");
|
33107
|
+
|
33108
|
+
// css-module:/home/runner/work/puck/puck/packages/core/components/ViewportControls/styles.module.css#css-module
|
33109
|
+
init_react_import();
|
33110
|
+
var styles_module_default18 = { "ViewportControls": "_ViewportControls_3zdvn_1", "ViewportControls-divider": "_ViewportControls-divider_3zdvn_15", "ViewportControls-zoomSelect": "_ViewportControls-zoomSelect_3zdvn_21", "ViewportButton--isActive": "_ViewportButton--isActive_3zdvn_33", "ViewportButton-inner": "_ViewportButton-inner_3zdvn_33" };
|
33111
|
+
|
33112
|
+
// components/ViewportControls/index.tsx
|
33113
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
33114
|
+
var icons = {
|
33115
|
+
Smartphone: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Smartphone, { size: 16 }),
|
33116
|
+
Tablet: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Tablet, { size: 16 }),
|
33117
|
+
Monitor: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Monitor, { size: 16 })
|
33118
|
+
};
|
33119
|
+
var getClassName23 = get_class_name_factory_default("ViewportControls", styles_module_default18);
|
33120
|
+
var getClassNameButton = get_class_name_factory_default("ViewportButton", styles_module_default18);
|
33121
|
+
var ViewportButton = ({
|
33122
|
+
children,
|
33123
|
+
height = "auto",
|
33124
|
+
title,
|
33125
|
+
width,
|
33126
|
+
onClick
|
33127
|
+
}) => {
|
33128
|
+
const { state } = useAppContext();
|
33129
|
+
const [isActive, setIsActive] = (0, import_react26.useState)(false);
|
33130
|
+
(0, import_react26.useEffect)(() => {
|
33131
|
+
setIsActive(width === state.ui.viewports.current.width);
|
33132
|
+
}, [width, state.ui.viewports.current.width]);
|
33133
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: getClassNameButton({ isActive }), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
33134
|
+
IconButton,
|
33135
|
+
{
|
33136
|
+
title,
|
33137
|
+
disabled: isActive,
|
33138
|
+
onClick: (e) => {
|
33139
|
+
e.stopPropagation();
|
33140
|
+
onClick({ width, height });
|
33141
|
+
},
|
33142
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: getClassNameButton("inner"), children })
|
33143
|
+
}
|
33144
|
+
) });
|
33145
|
+
};
|
33146
|
+
var defaultZoomOptions = [
|
33147
|
+
{ label: "25%", value: 0.25 },
|
33148
|
+
{ label: "50%", value: 0.5 },
|
33149
|
+
{ label: "75%", value: 0.75 },
|
33150
|
+
{ label: "100%", value: 1 },
|
33151
|
+
{ label: "125%", value: 1.25 },
|
33152
|
+
{ label: "150%", value: 1.5 },
|
33153
|
+
{ label: "200%", value: 2 }
|
33154
|
+
];
|
33155
|
+
var ViewportControls = ({
|
33156
|
+
autoZoom,
|
33157
|
+
zoom,
|
33158
|
+
onViewportChange,
|
33159
|
+
onZoom
|
33160
|
+
}) => {
|
33161
|
+
const { viewports } = useAppContext();
|
33162
|
+
const defaultsContainAutoZoom = defaultZoomOptions.find(
|
33163
|
+
(option) => option.value === autoZoom
|
33164
|
+
);
|
33165
|
+
const zoomOptions = (0, import_react26.useMemo)(
|
33166
|
+
() => [
|
33167
|
+
...defaultZoomOptions,
|
33168
|
+
...defaultsContainAutoZoom ? [] : [
|
33169
|
+
{
|
33170
|
+
value: autoZoom,
|
33171
|
+
label: `${(autoZoom * 100).toFixed(0)}% (Auto)`
|
33172
|
+
}
|
33173
|
+
]
|
33174
|
+
].filter((a) => a.value <= autoZoom).sort((a, b) => a.value > b.value ? 1 : -1),
|
33175
|
+
[autoZoom]
|
33176
|
+
);
|
33177
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: getClassName23(), children: [
|
33178
|
+
viewports.map((viewport, i) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
33179
|
+
ViewportButton,
|
33180
|
+
{
|
33181
|
+
height: viewport.height,
|
33182
|
+
width: viewport.width,
|
33183
|
+
title: viewport.label ? `Switch to ${viewport.label} viewport` : "Switch viewport",
|
33184
|
+
onClick: onViewportChange,
|
33185
|
+
children: typeof viewport.icon === "string" ? icons[viewport.icon] || viewport.icon : viewport.icon || icons.Smartphone
|
33186
|
+
},
|
33187
|
+
i
|
33188
|
+
)),
|
33189
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassName23("divider") }),
|
33190
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
33191
|
+
IconButton,
|
33192
|
+
{
|
33193
|
+
title: "Zoom viewport out",
|
33194
|
+
disabled: zoom <= zoomOptions[0].value,
|
33195
|
+
onClick: (e) => {
|
33196
|
+
e.stopPropagation();
|
33197
|
+
onZoom(
|
33198
|
+
zoomOptions[Math.max(
|
33199
|
+
zoomOptions.findIndex((option) => option.value === zoom) - 1,
|
33200
|
+
0
|
33201
|
+
)].value
|
33202
|
+
);
|
33203
|
+
},
|
33204
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ZoomOut, { size: 16 })
|
33205
|
+
}
|
33206
|
+
),
|
33207
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
33208
|
+
IconButton,
|
33209
|
+
{
|
33210
|
+
title: "Zoom viewport in",
|
33211
|
+
disabled: zoom >= zoomOptions[zoomOptions.length - 1].value,
|
33212
|
+
onClick: (e) => {
|
33213
|
+
e.stopPropagation();
|
33214
|
+
onZoom(
|
33215
|
+
zoomOptions[Math.min(
|
33216
|
+
zoomOptions.findIndex((option) => option.value === zoom) + 1,
|
33217
|
+
zoomOptions.length - 1
|
33218
|
+
)].value
|
33219
|
+
);
|
33220
|
+
},
|
33221
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ZoomIn, { size: 16 })
|
33222
|
+
}
|
33223
|
+
),
|
33224
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: getClassName23("divider") }),
|
33225
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
33226
|
+
"select",
|
33227
|
+
{
|
33228
|
+
className: getClassName23("zoomSelect"),
|
33229
|
+
value: zoom.toString(),
|
33230
|
+
onChange: (e) => {
|
33231
|
+
onZoom(parseFloat(e.currentTarget.value));
|
33232
|
+
},
|
33233
|
+
children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
33234
|
+
"option",
|
33235
|
+
{
|
33236
|
+
value: option.value,
|
33237
|
+
label: option.label
|
33238
|
+
},
|
33239
|
+
option.label
|
33240
|
+
))
|
33241
|
+
}
|
33242
|
+
)
|
33243
|
+
] });
|
33244
|
+
};
|
33245
|
+
|
33246
|
+
// css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Canvas/styles.module.css#css-module
|
33247
|
+
init_react_import();
|
33248
|
+
var styles_module_default19 = { "PuckCanvas": "_PuckCanvas_6zd4y_1", "PuckCanvas-controls": "_PuckCanvas-controls_6zd4y_16", "PuckCanvas-inner": "_PuckCanvas-inner_6zd4y_21", "PuckCanvas-root": "_PuckCanvas-root_6zd4y_32", "PuckCanvas--ready": "_PuckCanvas--ready_6zd4y_56" };
|
33249
|
+
|
33250
|
+
// lib/get-zoom-config.ts
|
33251
|
+
init_react_import();
|
33252
|
+
var RESET_ZOOM_SMALLER_THAN_FRAME = true;
|
33253
|
+
var getZoomConfig = (uiViewport, frame, zoom) => {
|
33254
|
+
const box = getBox(frame);
|
33255
|
+
const { width: frameWidth, height: frameHeight } = box.contentBox;
|
33256
|
+
const viewportHeight = uiViewport.height === "auto" ? frameHeight : uiViewport.height;
|
33257
|
+
let rootHeight = 0;
|
33258
|
+
let autoZoom = 1;
|
33259
|
+
if (uiViewport.width > frameWidth || viewportHeight > frameHeight) {
|
33260
|
+
const widthZoom = Math.min(frameWidth / uiViewport.width, 1);
|
33261
|
+
const heightZoom = Math.min(frameHeight / viewportHeight, 1);
|
33262
|
+
zoom = widthZoom;
|
33263
|
+
if (widthZoom < heightZoom) {
|
33264
|
+
rootHeight = viewportHeight / zoom;
|
33265
|
+
} else {
|
33266
|
+
rootHeight = viewportHeight;
|
33267
|
+
zoom = heightZoom;
|
33268
|
+
}
|
33269
|
+
autoZoom = zoom;
|
33270
|
+
} else {
|
33271
|
+
if (RESET_ZOOM_SMALLER_THAN_FRAME) {
|
33272
|
+
autoZoom = 1;
|
33273
|
+
zoom = 1;
|
33274
|
+
rootHeight = viewportHeight;
|
33275
|
+
}
|
33276
|
+
}
|
33277
|
+
return { autoZoom, rootHeight, zoom };
|
33278
|
+
};
|
33279
|
+
|
33280
|
+
// components/Puck/components/Canvas/index.tsx
|
33281
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
33282
|
+
var getClassName24 = get_class_name_factory_default("PuckCanvas", styles_module_default19);
|
33283
|
+
var ZOOM_ON_CHANGE = true;
|
33284
|
+
var Canvas = () => {
|
33285
|
+
const { status, iframe } = useAppContext();
|
33286
|
+
const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext();
|
33287
|
+
const { ui } = state;
|
33288
|
+
const frameRef = (0, import_react27.useRef)(null);
|
33289
|
+
const [showTransition, setShowTransition] = (0, import_react27.useState)(false);
|
33290
|
+
const defaultRender = (0, import_react27.useMemo)(() => {
|
33291
|
+
const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { children });
|
33292
|
+
return PuckDefault;
|
33293
|
+
}, []);
|
33294
|
+
const CustomPreview = (0, import_react27.useMemo)(
|
33295
|
+
() => overrides.preview || defaultRender,
|
33296
|
+
[overrides]
|
33297
|
+
);
|
33298
|
+
const getFrameDimensions = (0, import_react27.useCallback)(() => {
|
33299
|
+
if (frameRef.current) {
|
33300
|
+
const frame = frameRef.current;
|
33301
|
+
const box = getBox(frame);
|
33302
|
+
return { width: box.contentBox.width, height: box.contentBox.height };
|
33303
|
+
}
|
33304
|
+
return { width: 0, height: 0 };
|
33305
|
+
}, [frameRef]);
|
33306
|
+
const resetAutoZoom = (0, import_react27.useCallback)(
|
33307
|
+
(ui2 = state.ui) => {
|
33308
|
+
if (frameRef.current) {
|
33309
|
+
setZoomConfig(
|
33310
|
+
getZoomConfig(ui2.viewports.current, frameRef.current, zoomConfig.zoom)
|
33311
|
+
);
|
33312
|
+
}
|
33313
|
+
},
|
33314
|
+
[frameRef, zoomConfig, state.ui]
|
33315
|
+
);
|
33316
|
+
(0, import_react27.useEffect)(() => {
|
33317
|
+
setShowTransition(false);
|
33318
|
+
resetAutoZoom();
|
33319
|
+
}, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
|
33320
|
+
(0, import_react27.useEffect)(() => {
|
33321
|
+
const { height: frameHeight } = getFrameDimensions();
|
33322
|
+
if (ui.viewports.current.height === "auto") {
|
33323
|
+
setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), {
|
33324
|
+
rootHeight: frameHeight / zoomConfig.zoom
|
33325
|
+
}));
|
33326
|
+
}
|
33327
|
+
}, [zoomConfig.zoom]);
|
33328
|
+
(0, import_react27.useEffect)(() => {
|
33329
|
+
const observer = new ResizeObserver(() => {
|
33330
|
+
setShowTransition(false);
|
33331
|
+
resetAutoZoom();
|
33332
|
+
});
|
33333
|
+
if (document.body) {
|
33334
|
+
observer.observe(document.body);
|
33335
|
+
}
|
33336
|
+
return () => {
|
33337
|
+
observer.disconnect();
|
33338
|
+
};
|
33339
|
+
}, []);
|
33340
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
33341
|
+
"div",
|
33342
|
+
{
|
33343
|
+
className: getClassName24({
|
33344
|
+
ready: status === "READY" || !iframe.enabled
|
33345
|
+
}),
|
33346
|
+
onClick: () => dispatch({
|
33347
|
+
type: "setUi",
|
33348
|
+
ui: { itemSelector: null },
|
33349
|
+
recordHistory: true
|
33350
|
+
}),
|
33351
|
+
children: [
|
33352
|
+
ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: getClassName24("controls"), children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
33353
|
+
ViewportControls,
|
33354
|
+
{
|
33355
|
+
autoZoom: zoomConfig.autoZoom,
|
33356
|
+
zoom: zoomConfig.zoom,
|
33357
|
+
onViewportChange: (viewport) => {
|
33358
|
+
setShowTransition(true);
|
33359
|
+
const uiViewport = __spreadProps(__spreadValues({}, viewport), {
|
33360
|
+
height: viewport.height || "auto",
|
33361
|
+
zoom: zoomConfig.zoom
|
33362
|
+
});
|
33363
|
+
const newUi = __spreadProps(__spreadValues({}, ui), {
|
33364
|
+
viewports: __spreadProps(__spreadValues({}, ui.viewports), { current: uiViewport })
|
33365
|
+
});
|
33366
|
+
setUi(newUi);
|
33367
|
+
if (ZOOM_ON_CHANGE) {
|
33368
|
+
resetAutoZoom(newUi);
|
33369
|
+
}
|
33370
|
+
},
|
33371
|
+
onZoom: (zoom) => {
|
33372
|
+
setShowTransition(true);
|
33373
|
+
setZoomConfig(__spreadProps(__spreadValues({}, zoomConfig), { zoom }));
|
33374
|
+
}
|
33375
|
+
}
|
33376
|
+
) }),
|
33377
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: getClassName24("inner"), ref: frameRef, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
33378
|
+
"div",
|
33379
|
+
{
|
33380
|
+
className: getClassName24("root"),
|
33381
|
+
style: {
|
33382
|
+
width: iframe.enabled ? ui.viewports.current.width : void 0,
|
33383
|
+
height: zoomConfig.rootHeight,
|
33384
|
+
transform: iframe.enabled ? `scale(${zoomConfig.zoom})` : void 0,
|
33385
|
+
transition: showTransition ? "width 150ms ease-out, height 150ms ease-out, transform 150ms ease-out" : "",
|
33386
|
+
overflow: iframe.enabled ? void 0 : "auto"
|
33387
|
+
},
|
33388
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Preview, {}) })
|
33389
|
+
}
|
33390
|
+
) })
|
33391
|
+
]
|
33392
|
+
}
|
33393
|
+
);
|
33394
|
+
};
|
33395
|
+
|
32678
33396
|
// components/Puck/index.tsx
|
32679
|
-
var
|
32680
|
-
var
|
33397
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
33398
|
+
var getClassName25 = get_class_name_factory_default("Puck", styles_module_default8);
|
32681
33399
|
function Puck({
|
32682
33400
|
children,
|
32683
33401
|
config,
|
32684
33402
|
data: initialData = { content: [], root: { props: { title: "" } } },
|
32685
|
-
ui: initialUi
|
33403
|
+
ui: initialUi,
|
32686
33404
|
onChange,
|
32687
33405
|
onPublish,
|
32688
33406
|
plugins = [],
|
@@ -32690,32 +33408,71 @@ function Puck({
|
|
32690
33408
|
renderHeader,
|
32691
33409
|
renderHeaderActions,
|
32692
33410
|
headerTitle,
|
32693
|
-
headerPath
|
33411
|
+
headerPath,
|
33412
|
+
viewports = defaultViewports,
|
33413
|
+
iframe = {
|
33414
|
+
enabled: true
|
33415
|
+
}
|
32694
33416
|
}) {
|
33417
|
+
var _a;
|
32695
33418
|
const historyStore = useHistoryStore();
|
32696
|
-
const [reducer] = (0,
|
33419
|
+
const [reducer] = (0, import_react28.useState)(
|
32697
33420
|
() => createReducer({ config, record: historyStore.record })
|
32698
33421
|
);
|
32699
|
-
const [initialAppState] = (0,
|
32700
|
-
|
32701
|
-
|
32702
|
-
|
32703
|
-
|
32704
|
-
|
32705
|
-
|
32706
|
-
|
32707
|
-
|
32708
|
-
|
32709
|
-
|
32710
|
-
|
32711
|
-
|
32712
|
-
|
32713
|
-
|
32714
|
-
|
32715
|
-
|
32716
|
-
|
32717
|
-
|
32718
|
-
|
33422
|
+
const [initialAppState] = (0, import_react28.useState)(() => {
|
33423
|
+
const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
|
33424
|
+
return __spreadProps(__spreadValues({}, defaultAppState), {
|
33425
|
+
data: initialData,
|
33426
|
+
ui: __spreadProps(__spreadValues({}, initial), {
|
33427
|
+
// Store categories under componentList on state to allow render functions and plugins to modify
|
33428
|
+
componentList: config.categories ? Object.entries(config.categories).reduce(
|
33429
|
+
(acc, [categoryName, category]) => {
|
33430
|
+
return __spreadProps(__spreadValues({}, acc), {
|
33431
|
+
[categoryName]: {
|
33432
|
+
title: category.title,
|
33433
|
+
components: category.components,
|
33434
|
+
expanded: category.defaultExpanded,
|
33435
|
+
visible: category.visible
|
33436
|
+
}
|
33437
|
+
});
|
33438
|
+
},
|
33439
|
+
{}
|
33440
|
+
) : {}
|
33441
|
+
})
|
33442
|
+
});
|
33443
|
+
});
|
33444
|
+
(0, import_react28.useEffect)(() => {
|
33445
|
+
var _a2, _b, _c, _d;
|
33446
|
+
const initial = __spreadValues(__spreadValues({}, defaultAppState.ui), initialUi);
|
33447
|
+
let clientUiState = {};
|
33448
|
+
if (window.matchMedia("(max-width: 638px)").matches) {
|
33449
|
+
clientUiState = __spreadProps(__spreadValues({}, clientUiState), {
|
33450
|
+
leftSideBarVisible: false,
|
33451
|
+
rightSideBarVisible: false
|
33452
|
+
});
|
33453
|
+
}
|
33454
|
+
const viewportWidth = window.innerWidth;
|
33455
|
+
const viewportDifferences = Object.entries(viewports).map(([key, value]) => ({
|
33456
|
+
key,
|
33457
|
+
diff: Math.abs(viewportWidth - value.width)
|
33458
|
+
})).sort((a, b) => a.diff > b.diff ? 1 : -1);
|
33459
|
+
const closestViewport = viewportDifferences[0].key;
|
33460
|
+
if (iframe.enabled) {
|
33461
|
+
clientUiState = __spreadProps(__spreadValues({}, clientUiState), {
|
33462
|
+
viewports: __spreadProps(__spreadValues({}, initial.viewports), {
|
33463
|
+
current: __spreadProps(__spreadValues({}, initial.viewports.current), {
|
33464
|
+
height: ((_b = (_a2 = initialUi == null ? void 0 : initialUi.viewports) == null ? void 0 : _a2.current) == null ? void 0 : _b.height) || viewports[closestViewport].height || "auto",
|
33465
|
+
width: ((_d = (_c = initialUi == null ? void 0 : initialUi.viewports) == null ? void 0 : _c.current) == null ? void 0 : _d.width) || viewports[closestViewport].width
|
33466
|
+
})
|
33467
|
+
})
|
33468
|
+
});
|
33469
|
+
}
|
33470
|
+
dispatch({
|
33471
|
+
type: "setUi",
|
33472
|
+
ui: clientUiState
|
33473
|
+
});
|
33474
|
+
}, []);
|
33475
|
+
const [appState, dispatch] = (0, import_react28.useReducer)(
|
32719
33476
|
reducer,
|
32720
33477
|
flushZones(initialAppState)
|
32721
33478
|
);
|
@@ -32726,9 +33483,9 @@ function Puck({
|
|
32726
33483
|
config,
|
32727
33484
|
dispatch
|
32728
33485
|
);
|
32729
|
-
const [menuOpen, setMenuOpen] = (0,
|
33486
|
+
const [menuOpen, setMenuOpen] = (0, import_react28.useState)(false);
|
32730
33487
|
const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
|
32731
|
-
const setItemSelector = (0,
|
33488
|
+
const setItemSelector = (0, import_react28.useCallback)(
|
32732
33489
|
(newItemSelector) => {
|
32733
33490
|
if (newItemSelector === itemSelector)
|
32734
33491
|
return;
|
@@ -32741,21 +33498,21 @@ function Puck({
|
|
32741
33498
|
[itemSelector]
|
32742
33499
|
);
|
32743
33500
|
const selectedItem = itemSelector ? getItem(itemSelector, data) : null;
|
32744
|
-
(0,
|
33501
|
+
(0, import_react28.useEffect)(() => {
|
32745
33502
|
if (onChange)
|
32746
33503
|
onChange(data);
|
32747
33504
|
}, [data]);
|
32748
33505
|
const { onDragStartOrUpdate, placeholderStyle } = usePlaceholderStyle();
|
32749
|
-
const [draggedItem, setDraggedItem] = (0,
|
33506
|
+
const [draggedItem, setDraggedItem] = (0, import_react28.useState)();
|
32750
33507
|
const rootProps = data.root.props || data.root;
|
32751
|
-
(0,
|
33508
|
+
(0, import_react28.useEffect)(() => {
|
32752
33509
|
if (Object.keys(data.root).length > 0 && !data.root.props) {
|
32753
33510
|
console.error(
|
32754
33511
|
"Warning: Defining props on `root` is deprecated. Please use `root.props`. This will be a breaking change in a future release."
|
32755
33512
|
);
|
32756
33513
|
}
|
32757
33514
|
}, []);
|
32758
|
-
const toggleSidebars = (0,
|
33515
|
+
const toggleSidebars = (0, import_react28.useCallback)(
|
32759
33516
|
(sidebar) => {
|
32760
33517
|
const widerViewport = window.matchMedia("(min-width: 638px)").matches;
|
32761
33518
|
const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
|
@@ -32769,7 +33526,7 @@ function Puck({
|
|
32769
33526
|
},
|
32770
33527
|
[dispatch, leftSideBarVisible, rightSideBarVisible]
|
32771
33528
|
);
|
32772
|
-
(0,
|
33529
|
+
(0, import_react28.useEffect)(() => {
|
32773
33530
|
if (!window.matchMedia("(min-width: 638px)").matches) {
|
32774
33531
|
dispatch({
|
32775
33532
|
type: "setUi",
|
@@ -32792,269 +33549,249 @@ function Puck({
|
|
32792
33549
|
window.removeEventListener("resize", handleResize);
|
32793
33550
|
};
|
32794
33551
|
}, []);
|
32795
|
-
const defaultRender = (0,
|
32796
|
-
const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0,
|
33552
|
+
const defaultRender = (0, import_react28.useMemo)(() => {
|
33553
|
+
const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children: children2 });
|
32797
33554
|
return PuckDefault;
|
32798
33555
|
}, []);
|
32799
|
-
const defaultHeaderRender = (0,
|
33556
|
+
const defaultHeaderRender = (0, import_react28.useMemo)(() => {
|
32800
33557
|
if (renderHeader) {
|
32801
33558
|
console.warn(
|
32802
33559
|
"`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
|
32803
33560
|
);
|
32804
|
-
const RenderHeader = (
|
32805
|
-
var _b =
|
33561
|
+
const RenderHeader = (_a2) => {
|
33562
|
+
var _b = _a2, { actions } = _b, props = __objRest(_b, ["actions"]);
|
32806
33563
|
const Comp = renderHeader;
|
32807
|
-
return /* @__PURE__ */ (0,
|
33564
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState, children: actions }));
|
32808
33565
|
};
|
32809
33566
|
return RenderHeader;
|
32810
33567
|
}
|
32811
33568
|
return defaultRender;
|
32812
33569
|
}, [renderHeader]);
|
32813
|
-
const defaultHeaderActionsRender = (0,
|
33570
|
+
const defaultHeaderActionsRender = (0, import_react28.useMemo)(() => {
|
32814
33571
|
if (renderHeaderActions) {
|
32815
33572
|
console.warn(
|
32816
33573
|
"`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
|
32817
33574
|
);
|
32818
33575
|
const RenderHeader = (props) => {
|
32819
33576
|
const Comp = renderHeaderActions;
|
32820
|
-
return /* @__PURE__ */ (0,
|
33577
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Comp, __spreadProps(__spreadValues({}, props), { dispatch, state: appState }));
|
32821
33578
|
};
|
32822
33579
|
return RenderHeader;
|
32823
33580
|
}
|
32824
33581
|
return defaultRender;
|
32825
33582
|
}, [renderHeader]);
|
32826
|
-
const loadedOverrides = (0,
|
33583
|
+
const loadedOverrides = (0, import_react28.useMemo)(() => {
|
32827
33584
|
return loadOverrides({ overrides, plugins });
|
32828
33585
|
}, [plugins]);
|
32829
|
-
const CustomPuck = (0,
|
33586
|
+
const CustomPuck = (0, import_react28.useMemo)(
|
32830
33587
|
() => loadedOverrides.puck || defaultRender,
|
32831
33588
|
[loadedOverrides]
|
32832
33589
|
);
|
32833
|
-
const
|
32834
|
-
() => loadedOverrides.preview || defaultRender,
|
32835
|
-
[loadedOverrides]
|
32836
|
-
);
|
32837
|
-
const CustomHeader = (0, import_react26.useMemo)(
|
33590
|
+
const CustomHeader = (0, import_react28.useMemo)(
|
32838
33591
|
() => loadedOverrides.header || defaultHeaderRender,
|
32839
33592
|
[loadedOverrides]
|
32840
33593
|
);
|
32841
|
-
const CustomHeaderActions = (0,
|
33594
|
+
const CustomHeaderActions = (0, import_react28.useMemo)(
|
32842
33595
|
() => loadedOverrides.headerActions || defaultHeaderActionsRender,
|
32843
33596
|
[loadedOverrides]
|
32844
33597
|
);
|
32845
|
-
|
32846
|
-
|
32847
|
-
|
32848
|
-
|
32849
|
-
|
32850
|
-
|
32851
|
-
|
32852
|
-
|
32853
|
-
|
32854
|
-
|
32855
|
-
|
32856
|
-
|
32857
|
-
|
32858
|
-
|
32859
|
-
|
32860
|
-
|
32861
|
-
|
32862
|
-
|
32863
|
-
|
32864
|
-
|
32865
|
-
|
32866
|
-
|
32867
|
-
|
32868
|
-
|
32869
|
-
|
32870
|
-
|
32871
|
-
|
32872
|
-
|
32873
|
-
|
32874
|
-
|
32875
|
-
|
32876
|
-
|
32877
|
-
|
32878
|
-
|
32879
|
-
|
33598
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "Puck", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
33599
|
+
AppProvider,
|
33600
|
+
{
|
33601
|
+
value: {
|
33602
|
+
state: appState,
|
33603
|
+
dispatch,
|
33604
|
+
config,
|
33605
|
+
componentState,
|
33606
|
+
resolveData,
|
33607
|
+
plugins,
|
33608
|
+
overrides: loadedOverrides,
|
33609
|
+
history,
|
33610
|
+
viewports,
|
33611
|
+
iframe
|
33612
|
+
},
|
33613
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
33614
|
+
DragDropContext,
|
33615
|
+
{
|
33616
|
+
onDragUpdate: (update) => {
|
33617
|
+
setDraggedItem(__spreadValues(__spreadValues({}, draggedItem), update));
|
33618
|
+
onDragStartOrUpdate(update);
|
33619
|
+
},
|
33620
|
+
onBeforeDragStart: (start) => {
|
33621
|
+
onDragStartOrUpdate(start);
|
33622
|
+
setItemSelector(null);
|
33623
|
+
dispatch({ type: "setUi", ui: { isDragging: true } });
|
33624
|
+
},
|
33625
|
+
onDragEnd: (droppedItem) => {
|
33626
|
+
setDraggedItem(void 0);
|
33627
|
+
dispatch({ type: "setUi", ui: { isDragging: false } });
|
33628
|
+
if (!droppedItem.destination) {
|
33629
|
+
return;
|
33630
|
+
}
|
33631
|
+
if (droppedItem.source.droppableId.startsWith("component-list") && droppedItem.destination) {
|
33632
|
+
const [_, componentType] = droppedItem.draggableId.split("::");
|
33633
|
+
dispatch({
|
33634
|
+
type: "insert",
|
33635
|
+
componentType: componentType || droppedItem.draggableId,
|
33636
|
+
destinationIndex: droppedItem.destination.index,
|
33637
|
+
destinationZone: droppedItem.destination.droppableId
|
33638
|
+
});
|
33639
|
+
setItemSelector({
|
33640
|
+
index: droppedItem.destination.index,
|
33641
|
+
zone: droppedItem.destination.droppableId
|
33642
|
+
});
|
33643
|
+
return;
|
33644
|
+
} else {
|
33645
|
+
const { source, destination } = droppedItem;
|
33646
|
+
if (source.droppableId === destination.droppableId) {
|
32880
33647
|
dispatch({
|
32881
|
-
type: "
|
32882
|
-
|
32883
|
-
destinationIndex:
|
32884
|
-
destinationZone:
|
33648
|
+
type: "reorder",
|
33649
|
+
sourceIndex: source.index,
|
33650
|
+
destinationIndex: destination.index,
|
33651
|
+
destinationZone: destination.droppableId
|
32885
33652
|
});
|
32886
|
-
setItemSelector({
|
32887
|
-
index: droppedItem.destination.index,
|
32888
|
-
zone: droppedItem.destination.droppableId
|
32889
|
-
});
|
32890
|
-
return;
|
32891
33653
|
} else {
|
32892
|
-
|
32893
|
-
|
32894
|
-
|
32895
|
-
|
32896
|
-
|
32897
|
-
|
32898
|
-
destinationZone: destination.droppableId
|
32899
|
-
});
|
32900
|
-
} else {
|
32901
|
-
dispatch({
|
32902
|
-
type: "move",
|
32903
|
-
sourceZone: source.droppableId,
|
32904
|
-
sourceIndex: source.index,
|
32905
|
-
destinationIndex: destination.index,
|
32906
|
-
destinationZone: destination.droppableId
|
32907
|
-
});
|
32908
|
-
}
|
32909
|
-
setItemSelector({
|
32910
|
-
index: destination.index,
|
32911
|
-
zone: destination.droppableId
|
33654
|
+
dispatch({
|
33655
|
+
type: "move",
|
33656
|
+
sourceZone: source.droppableId,
|
33657
|
+
sourceIndex: source.index,
|
33658
|
+
destinationIndex: destination.index,
|
33659
|
+
destinationZone: destination.droppableId
|
32912
33660
|
});
|
32913
33661
|
}
|
32914
|
-
|
32915
|
-
|
32916
|
-
|
32917
|
-
|
32918
|
-
|
32919
|
-
|
32920
|
-
|
32921
|
-
|
32922
|
-
|
32923
|
-
|
32924
|
-
|
32925
|
-
|
32926
|
-
|
32927
|
-
|
32928
|
-
|
32929
|
-
|
32930
|
-
|
32931
|
-
|
32932
|
-
|
32933
|
-
|
32934
|
-
|
32935
|
-
|
32936
|
-
|
32937
|
-
|
32938
|
-
|
32939
|
-
|
32940
|
-
|
32941
|
-
|
32942
|
-
|
32943
|
-
|
32944
|
-
|
32945
|
-
|
32946
|
-
|
33662
|
+
setItemSelector({
|
33663
|
+
index: destination.index,
|
33664
|
+
zone: destination.droppableId
|
33665
|
+
});
|
33666
|
+
}
|
33667
|
+
},
|
33668
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
33669
|
+
DropZoneProvider,
|
33670
|
+
{
|
33671
|
+
value: {
|
33672
|
+
data,
|
33673
|
+
itemSelector,
|
33674
|
+
setItemSelector,
|
33675
|
+
config,
|
33676
|
+
dispatch,
|
33677
|
+
draggedItem,
|
33678
|
+
placeholderStyle,
|
33679
|
+
mode: "edit",
|
33680
|
+
areaId: "root"
|
33681
|
+
},
|
33682
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
33683
|
+
"div",
|
33684
|
+
{
|
33685
|
+
className: getClassName25({
|
33686
|
+
leftSideBarVisible,
|
33687
|
+
menuOpen,
|
33688
|
+
rightSideBarVisible
|
33689
|
+
}),
|
33690
|
+
children: [
|
33691
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
33692
|
+
CustomHeader,
|
33693
|
+
{
|
33694
|
+
actions: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
|
33695
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomHeaderActions, {}),
|
33696
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
33697
|
+
Button,
|
33698
|
+
{
|
33699
|
+
onClick: () => {
|
33700
|
+
onPublish && onPublish(data);
|
33701
|
+
},
|
33702
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Globe, { size: "14px" }),
|
33703
|
+
children: "Publish"
|
33704
|
+
}
|
33705
|
+
)
|
33706
|
+
] }),
|
33707
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("header", { className: getClassName25("header"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerInner"), children: [
|
33708
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerToggle"), children: [
|
33709
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("leftSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
33710
|
+
IconButton,
|
32947
33711
|
{
|
32948
33712
|
onClick: () => {
|
32949
|
-
|
33713
|
+
toggleSidebars("left");
|
32950
33714
|
},
|
32951
|
-
|
32952
|
-
children: "
|
33715
|
+
title: "Toggle left sidebar",
|
33716
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PanelLeft, { focusable: "false" })
|
32953
33717
|
}
|
32954
|
-
)
|
33718
|
+
) }),
|
33719
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("rightSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
33720
|
+
IconButton,
|
33721
|
+
{
|
33722
|
+
onClick: () => {
|
33723
|
+
toggleSidebars("right");
|
33724
|
+
},
|
33725
|
+
title: "Toggle right sidebar",
|
33726
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PanelRight, { focusable: "false" })
|
33727
|
+
}
|
33728
|
+
) })
|
32955
33729
|
] }),
|
32956
|
-
|
32957
|
-
|
32958
|
-
|
32959
|
-
|
32960
|
-
|
32961
|
-
onClick: () => {
|
32962
|
-
toggleSidebars("left");
|
32963
|
-
},
|
32964
|
-
title: "Toggle left sidebar",
|
32965
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PanelLeft, { focusable: "false" })
|
32966
|
-
}
|
32967
|
-
) }),
|
32968
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("rightSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
32969
|
-
IconButton,
|
32970
|
-
{
|
32971
|
-
onClick: () => {
|
32972
|
-
toggleSidebars("right");
|
32973
|
-
},
|
32974
|
-
title: "Toggle right sidebar",
|
32975
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PanelRight, { focusable: "false" })
|
32976
|
-
}
|
32977
|
-
) })
|
32978
|
-
] }),
|
32979
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Heading, { rank: 2, size: "xs", children: [
|
32980
|
-
headerTitle || rootProps.title || "Page",
|
32981
|
-
headerPath && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
|
32982
|
-
" ",
|
32983
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("code", { className: getClassName22("headerPath"), children: headerPath })
|
32984
|
-
] })
|
32985
|
-
] }) }),
|
32986
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: getClassName22("headerTools"), children: [
|
32987
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
32988
|
-
IconButton,
|
32989
|
-
{
|
32990
|
-
onClick: () => {
|
32991
|
-
return setMenuOpen(!menuOpen);
|
32992
|
-
},
|
32993
|
-
title: "Toggle menu bar",
|
32994
|
-
children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ChevronDown, { focusable: "false" })
|
32995
|
-
}
|
32996
|
-
) }),
|
32997
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
32998
|
-
MenuBar,
|
32999
|
-
{
|
33000
|
-
appState,
|
33001
|
-
data,
|
33002
|
-
dispatch,
|
33003
|
-
onPublish,
|
33004
|
-
menuOpen,
|
33005
|
-
renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CustomHeaderActions, {}),
|
33006
|
-
setMenuOpen
|
33007
|
-
}
|
33008
|
-
)
|
33730
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Heading, { rank: 2, size: "xs", children: [
|
33731
|
+
headerTitle || rootProps.title || "Page",
|
33732
|
+
headerPath && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
|
33733
|
+
" ",
|
33734
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("code", { className: getClassName25("headerPath"), children: headerPath })
|
33009
33735
|
] })
|
33010
|
-
] }) })
|
33011
|
-
|
33012
|
-
|
33013
|
-
|
33014
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Components, {}) }),
|
33015
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SidebarSection, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Outline, {}) })
|
33016
|
-
] }),
|
33017
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
33018
|
-
"div",
|
33019
|
-
{
|
33020
|
-
className: getClassName22("frame"),
|
33021
|
-
onClick: () => setItemSelector(null),
|
33022
|
-
children: [
|
33023
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: getClassName22("root"), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Preview, {}) }) }),
|
33024
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
33025
|
-
"div",
|
33736
|
+
] }) }),
|
33737
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerTools"), children: [
|
33738
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
33739
|
+
IconButton,
|
33026
33740
|
{
|
33027
|
-
|
33028
|
-
|
33029
|
-
|
33030
|
-
|
33031
|
-
}
|
33741
|
+
onClick: () => {
|
33742
|
+
return setMenuOpen(!menuOpen);
|
33743
|
+
},
|
33744
|
+
title: "Toggle menu bar",
|
33745
|
+
children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ChevronDown, { focusable: "false" })
|
33746
|
+
}
|
33747
|
+
) }),
|
33748
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
33749
|
+
MenuBar,
|
33750
|
+
{
|
33751
|
+
appState,
|
33752
|
+
data,
|
33753
|
+
dispatch,
|
33754
|
+
onPublish,
|
33755
|
+
menuOpen,
|
33756
|
+
renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomHeaderActions, {}),
|
33757
|
+
setMenuOpen
|
33032
33758
|
}
|
33033
33759
|
)
|
33034
|
-
]
|
33035
|
-
}
|
33036
|
-
|
33037
|
-
|
33038
|
-
|
33039
|
-
|
33040
|
-
|
33041
|
-
|
33042
|
-
|
33043
|
-
|
33044
|
-
|
33045
|
-
|
33046
|
-
|
33047
|
-
|
33048
|
-
|
33049
|
-
|
33050
|
-
|
33051
|
-
|
33052
|
-
|
33053
|
-
|
33054
|
-
|
33055
|
-
|
33056
|
-
|
33057
|
-
|
33760
|
+
] })
|
33761
|
+
] }) })
|
33762
|
+
}
|
33763
|
+
),
|
33764
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("leftSideBar"), children: [
|
33765
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SidebarSection, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Components, {}) }),
|
33766
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SidebarSection, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Outline, {}) })
|
33767
|
+
] }),
|
33768
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Canvas, {}),
|
33769
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
33770
|
+
SidebarSection,
|
33771
|
+
{
|
33772
|
+
noPadding: true,
|
33773
|
+
noBorderTop: true,
|
33774
|
+
showBreadcrumbs: true,
|
33775
|
+
title: selectedItem ? (_a = config.components[selectedItem.type]["label"]) != null ? _a : selectedItem.type : "Page",
|
33776
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Fields, {})
|
33777
|
+
}
|
33778
|
+
) }),
|
33779
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
33780
|
+
"div",
|
33781
|
+
{
|
33782
|
+
id: "puck-portal-root",
|
33783
|
+
className: getClassName25("portal")
|
33784
|
+
}
|
33785
|
+
)
|
33786
|
+
]
|
33787
|
+
}
|
33788
|
+
) })
|
33789
|
+
}
|
33790
|
+
)
|
33791
|
+
}
|
33792
|
+
)
|
33793
|
+
}
|
33794
|
+
) });
|
33058
33795
|
}
|
33059
33796
|
Puck.Components = Components;
|
33060
33797
|
Puck.Fields = Fields;
|
@@ -33063,13 +33800,16 @@ Puck.Preview = Preview;
|
|
33063
33800
|
|
33064
33801
|
// components/Render/index.tsx
|
33065
33802
|
init_react_import();
|
33066
|
-
var
|
33067
|
-
function Render({
|
33803
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
33804
|
+
function Render({
|
33805
|
+
config,
|
33806
|
+
data
|
33807
|
+
}) {
|
33068
33808
|
var _a;
|
33069
33809
|
const rootProps = data.root.props || data.root;
|
33070
33810
|
const title = (rootProps == null ? void 0 : rootProps.title) || "";
|
33071
33811
|
if ((_a = config.root) == null ? void 0 : _a.render) {
|
33072
|
-
return /* @__PURE__ */ (0,
|
33812
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
33073
33813
|
config.root.render,
|
33074
33814
|
__spreadProps(__spreadValues({}, rootProps), {
|
33075
33815
|
puck: {
|
@@ -33078,11 +33818,11 @@ function Render({ config, data }) {
|
|
33078
33818
|
title,
|
33079
33819
|
editMode: false,
|
33080
33820
|
id: "puck-root",
|
33081
|
-
children: /* @__PURE__ */ (0,
|
33821
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZone, { zone: rootDroppableId })
|
33082
33822
|
})
|
33083
33823
|
) });
|
33084
33824
|
}
|
33085
|
-
return /* @__PURE__ */ (0,
|
33825
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZoneProvider, { value: { data, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DropZone, { zone: rootDroppableId }) });
|
33086
33826
|
}
|
33087
33827
|
|
33088
33828
|
// lib/migrate.ts
|
@@ -33143,37 +33883,51 @@ function transformProps(data, propTransforms) {
|
|
33143
33883
|
|
33144
33884
|
// lib/resolve-all-data.ts
|
33145
33885
|
init_react_import();
|
33146
|
-
|
33147
|
-
|
33148
|
-
|
33149
|
-
|
33150
|
-
|
33151
|
-
|
33152
|
-
|
33153
|
-
|
33154
|
-
|
33155
|
-
|
33156
|
-
|
33157
|
-
|
33158
|
-
|
33159
|
-
|
33160
|
-
|
33161
|
-
|
33162
|
-
|
33163
|
-
|
33164
|
-
|
33165
|
-
|
33166
|
-
|
33167
|
-
|
33168
|
-
|
33886
|
+
function resolveAllData(data, config, onResolveStart, onResolveEnd) {
|
33887
|
+
return __async(this, null, function* () {
|
33888
|
+
const dynamicRoot = yield resolveRootData(data, config);
|
33889
|
+
const { zones = {} } = data;
|
33890
|
+
const zoneKeys = Object.keys(zones);
|
33891
|
+
const resolvedZones = {};
|
33892
|
+
for (let i = 0; i < zoneKeys.length; i++) {
|
33893
|
+
const zoneKey = zoneKeys[i];
|
33894
|
+
resolvedZones[zoneKey] = yield resolveAllComponentData(
|
33895
|
+
zones[zoneKey],
|
33896
|
+
config,
|
33897
|
+
onResolveStart,
|
33898
|
+
onResolveEnd
|
33899
|
+
);
|
33900
|
+
}
|
33901
|
+
return __spreadProps(__spreadValues({}, data), {
|
33902
|
+
root: dynamicRoot,
|
33903
|
+
content: yield resolveAllComponentData(
|
33904
|
+
data.content,
|
33905
|
+
config,
|
33906
|
+
onResolveStart,
|
33907
|
+
onResolveEnd
|
33908
|
+
),
|
33909
|
+
zones: resolvedZones
|
33910
|
+
});
|
33169
33911
|
});
|
33170
|
-
}
|
33912
|
+
}
|
33171
33913
|
|
33172
33914
|
// lib/use-puck.ts
|
33173
33915
|
init_react_import();
|
33174
33916
|
var usePuck = () => {
|
33175
|
-
const {
|
33176
|
-
|
33917
|
+
const {
|
33918
|
+
state: appState,
|
33919
|
+
config,
|
33920
|
+
history,
|
33921
|
+
dispatch,
|
33922
|
+
selectedItem
|
33923
|
+
} = useAppContext();
|
33924
|
+
return {
|
33925
|
+
appState,
|
33926
|
+
config,
|
33927
|
+
dispatch,
|
33928
|
+
history,
|
33929
|
+
selectedItem: selectedItem || null
|
33930
|
+
};
|
33177
33931
|
};
|
33178
33932
|
// Annotate the CommonJS export names for ESM import in node:
|
33179
33933
|
0 && (module.exports = {
|
@@ -33377,6 +34131,14 @@ lucide-react/dist/esm/icons/lock.js:
|
|
33377
34131
|
* See the LICENSE file in the root directory of this source tree.
|
33378
34132
|
*)
|
33379
34133
|
|
34134
|
+
lucide-react/dist/esm/icons/monitor.js:
|
34135
|
+
(**
|
34136
|
+
* @license lucide-react v0.298.0 - ISC
|
34137
|
+
*
|
34138
|
+
* This source code is licensed under the ISC license.
|
34139
|
+
* See the LICENSE file in the root directory of this source tree.
|
34140
|
+
*)
|
34141
|
+
|
33380
34142
|
lucide-react/dist/esm/icons/more-vertical.js:
|
33381
34143
|
(**
|
33382
34144
|
* @license lucide-react v0.298.0 - ISC
|
@@ -33417,6 +34179,30 @@ lucide-react/dist/esm/icons/search.js:
|
|
33417
34179
|
* See the LICENSE file in the root directory of this source tree.
|
33418
34180
|
*)
|
33419
34181
|
|
34182
|
+
lucide-react/dist/esm/icons/sliders-horizontal.js:
|
34183
|
+
(**
|
34184
|
+
* @license lucide-react v0.298.0 - ISC
|
34185
|
+
*
|
34186
|
+
* This source code is licensed under the ISC license.
|
34187
|
+
* See the LICENSE file in the root directory of this source tree.
|
34188
|
+
*)
|
34189
|
+
|
34190
|
+
lucide-react/dist/esm/icons/smartphone.js:
|
34191
|
+
(**
|
34192
|
+
* @license lucide-react v0.298.0 - ISC
|
34193
|
+
*
|
34194
|
+
* This source code is licensed under the ISC license.
|
34195
|
+
* See the LICENSE file in the root directory of this source tree.
|
34196
|
+
*)
|
34197
|
+
|
34198
|
+
lucide-react/dist/esm/icons/tablet.js:
|
34199
|
+
(**
|
34200
|
+
* @license lucide-react v0.298.0 - ISC
|
34201
|
+
*
|
34202
|
+
* This source code is licensed under the ISC license.
|
34203
|
+
* See the LICENSE file in the root directory of this source tree.
|
34204
|
+
*)
|
34205
|
+
|
33420
34206
|
lucide-react/dist/esm/icons/trash.js:
|
33421
34207
|
(**
|
33422
34208
|
* @license lucide-react v0.298.0 - ISC
|
@@ -33441,6 +34227,22 @@ lucide-react/dist/esm/icons/unlock.js:
|
|
33441
34227
|
* See the LICENSE file in the root directory of this source tree.
|
33442
34228
|
*)
|
33443
34229
|
|
34230
|
+
lucide-react/dist/esm/icons/zoom-in.js:
|
34231
|
+
(**
|
34232
|
+
* @license lucide-react v0.298.0 - ISC
|
34233
|
+
*
|
34234
|
+
* This source code is licensed under the ISC license.
|
34235
|
+
* See the LICENSE file in the root directory of this source tree.
|
34236
|
+
*)
|
34237
|
+
|
34238
|
+
lucide-react/dist/esm/icons/zoom-out.js:
|
34239
|
+
(**
|
34240
|
+
* @license lucide-react v0.298.0 - ISC
|
34241
|
+
*
|
34242
|
+
* This source code is licensed under the ISC license.
|
34243
|
+
* See the LICENSE file in the root directory of this source tree.
|
34244
|
+
*)
|
34245
|
+
|
33444
34246
|
lucide-react/dist/esm/lucide-react.js:
|
33445
34247
|
(**
|
33446
34248
|
* @license lucide-react v0.298.0 - ISC
|