@puckeditor/plugin-ai 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs ADDED
@@ -0,0 +1,1363 @@
1
+ "use client";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __getProtoOf = Object.getPrototypeOf;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+ var __objRest = (source, exclude) => {
26
+ var target = {};
27
+ for (var prop in source)
28
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
29
+ target[prop] = source[prop];
30
+ if (source != null && __getOwnPropSymbols)
31
+ for (var prop of __getOwnPropSymbols(source)) {
32
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
33
+ target[prop] = source[prop];
34
+ }
35
+ return target;
36
+ };
37
+ var __esm = (fn, res) => function __init() {
38
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
39
+ };
40
+ var __commonJS = (cb, mod) => function __require() {
41
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
42
+ };
43
+ var __copyProps = (to, from, except, desc) => {
44
+ if (from && typeof from === "object" || typeof from === "function") {
45
+ for (let key of __getOwnPropNames(from))
46
+ if (!__hasOwnProp.call(to, key) && key !== except)
47
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
48
+ }
49
+ return to;
50
+ };
51
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
52
+ // If the importer is in node compatibility mode or this is not an ESM
53
+ // file that has been converted to a CommonJS file using a Babel-
54
+ // compatible transform (i.e. "__esModule" has not been set), then set
55
+ // "default" to the CommonJS "module.exports" for node compatibility.
56
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
57
+ mod
58
+ ));
59
+
60
+ // ../tsup-config/react-import.js
61
+ import React from "react";
62
+ var init_react_import = __esm({
63
+ "../tsup-config/react-import.js"() {
64
+ "use strict";
65
+ }
66
+ });
67
+
68
+ // ../../node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.js
69
+ var require_classnames = __commonJS({
70
+ "../../node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.js"(exports, module) {
71
+ "use strict";
72
+ init_react_import();
73
+ (function() {
74
+ "use strict";
75
+ var hasOwn = {}.hasOwnProperty;
76
+ function classNames() {
77
+ var classes = "";
78
+ for (var i = 0; i < arguments.length; i++) {
79
+ var arg = arguments[i];
80
+ if (arg) {
81
+ classes = appendClass(classes, parseValue(arg));
82
+ }
83
+ }
84
+ return classes;
85
+ }
86
+ function parseValue(arg) {
87
+ if (typeof arg === "string" || typeof arg === "number") {
88
+ return arg;
89
+ }
90
+ if (typeof arg !== "object") {
91
+ return "";
92
+ }
93
+ if (Array.isArray(arg)) {
94
+ return classNames.apply(null, arg);
95
+ }
96
+ if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes("[native code]")) {
97
+ return arg.toString();
98
+ }
99
+ var classes = "";
100
+ for (var key in arg) {
101
+ if (hasOwn.call(arg, key) && arg[key]) {
102
+ classes = appendClass(classes, key);
103
+ }
104
+ }
105
+ return classes;
106
+ }
107
+ function appendClass(value, newClass) {
108
+ if (!newClass) {
109
+ return value;
110
+ }
111
+ if (value) {
112
+ return value + " " + newClass;
113
+ }
114
+ return value + newClass;
115
+ }
116
+ if (typeof module !== "undefined" && module.exports) {
117
+ classNames.default = classNames;
118
+ module.exports = classNames;
119
+ } else if (typeof define === "function" && typeof define.amd === "object" && define.amd) {
120
+ define("classnames", [], function() {
121
+ return classNames;
122
+ });
123
+ } else {
124
+ window.classNames = classNames;
125
+ }
126
+ })();
127
+ }
128
+ });
129
+
130
+ // index.ts
131
+ init_react_import();
132
+
133
+ // src/index.tsx
134
+ init_react_import();
135
+
136
+ // ../../node_modules/.pnpm/lucide-react@0.452.0_react@19.1.1/node_modules/lucide-react/dist/esm/lucide-react.js
137
+ init_react_import();
138
+
139
+ // ../../node_modules/.pnpm/lucide-react@0.452.0_react@19.1.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
140
+ init_react_import();
141
+ import { forwardRef as forwardRef2, createElement as createElement2 } from "react";
142
+
143
+ // ../../node_modules/.pnpm/lucide-react@0.452.0_react@19.1.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
144
+ init_react_import();
145
+ var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
146
+ var mergeClasses = (...classes) => classes.filter((className, index, array) => {
147
+ return Boolean(className) && array.indexOf(className) === index;
148
+ }).join(" ");
149
+
150
+ // ../../node_modules/.pnpm/lucide-react@0.452.0_react@19.1.1/node_modules/lucide-react/dist/esm/Icon.js
151
+ init_react_import();
152
+ import { forwardRef, createElement } from "react";
153
+
154
+ // ../../node_modules/.pnpm/lucide-react@0.452.0_react@19.1.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
155
+ init_react_import();
156
+ var defaultAttributes = {
157
+ xmlns: "http://www.w3.org/2000/svg",
158
+ width: 24,
159
+ height: 24,
160
+ viewBox: "0 0 24 24",
161
+ fill: "none",
162
+ stroke: "currentColor",
163
+ strokeWidth: 2,
164
+ strokeLinecap: "round",
165
+ strokeLinejoin: "round"
166
+ };
167
+
168
+ // ../../node_modules/.pnpm/lucide-react@0.452.0_react@19.1.1/node_modules/lucide-react/dist/esm/Icon.js
169
+ var Icon = forwardRef(
170
+ (_a, ref) => {
171
+ var _b = _a, {
172
+ color = "currentColor",
173
+ size = 24,
174
+ strokeWidth = 2,
175
+ absoluteStrokeWidth,
176
+ className = "",
177
+ children,
178
+ iconNode
179
+ } = _b, rest = __objRest(_b, [
180
+ "color",
181
+ "size",
182
+ "strokeWidth",
183
+ "absoluteStrokeWidth",
184
+ "className",
185
+ "children",
186
+ "iconNode"
187
+ ]);
188
+ return createElement(
189
+ "svg",
190
+ __spreadValues(__spreadProps(__spreadValues({
191
+ ref
192
+ }, defaultAttributes), {
193
+ width: size,
194
+ height: size,
195
+ stroke: color,
196
+ strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
197
+ className: mergeClasses("lucide", className)
198
+ }), rest),
199
+ [
200
+ ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
201
+ ...Array.isArray(children) ? children : [children]
202
+ ]
203
+ );
204
+ }
205
+ );
206
+
207
+ // ../../node_modules/.pnpm/lucide-react@0.452.0_react@19.1.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
208
+ var createLucideIcon = (iconName, iconNode) => {
209
+ const Component = forwardRef2(
210
+ (_a, ref) => {
211
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
212
+ return createElement2(Icon, __spreadValues({
213
+ ref,
214
+ iconNode,
215
+ className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className)
216
+ }, props));
217
+ }
218
+ );
219
+ Component.displayName = `${iconName}`;
220
+ return Component;
221
+ };
222
+
223
+ // ../../node_modules/.pnpm/lucide-react@0.452.0_react@19.1.1/node_modules/lucide-react/dist/esm/icons/arrow-right.js
224
+ init_react_import();
225
+ var ArrowRight = createLucideIcon("ArrowRight", [
226
+ ["path", { d: "M5 12h14", key: "1ays0h" }],
227
+ ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
228
+ ]);
229
+
230
+ // ../../node_modules/.pnpm/lucide-react@0.452.0_react@19.1.1/node_modules/lucide-react/dist/esm/icons/arrow-up.js
231
+ init_react_import();
232
+ var ArrowUp = createLucideIcon("ArrowUp", [
233
+ ["path", { d: "m5 12 7-7 7 7", key: "hav0vg" }],
234
+ ["path", { d: "M12 19V5", key: "x0mq9r" }]
235
+ ]);
236
+
237
+ // ../../node_modules/.pnpm/lucide-react@0.452.0_react@19.1.1/node_modules/lucide-react/dist/esm/icons/bot.js
238
+ init_react_import();
239
+ var Bot = createLucideIcon("Bot", [
240
+ ["path", { d: "M12 8V4H8", key: "hb8ula" }],
241
+ ["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }],
242
+ ["path", { d: "M2 14h2", key: "vft8re" }],
243
+ ["path", { d: "M20 14h2", key: "4cs60a" }],
244
+ ["path", { d: "M15 13v2", key: "1xurst" }],
245
+ ["path", { d: "M9 13v2", key: "rq6x2g" }]
246
+ ]);
247
+
248
+ // ../../node_modules/.pnpm/lucide-react@0.452.0_react@19.1.1/node_modules/lucide-react/dist/esm/icons/check.js
249
+ init_react_import();
250
+ var Check = createLucideIcon("Check", [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]]);
251
+
252
+ // src/components/Chat/index.tsx
253
+ init_react_import();
254
+ import { useChat } from "@ai-sdk/react";
255
+ import { createUsePuck, useGetPuck } from "@measured/puck";
256
+ import { DefaultChatTransport } from "ai";
257
+ import { useMemo as useMemo2, useRef as useRef3, useState as useState12 } from "react";
258
+ import { ulid } from "ulid";
259
+
260
+ // ../platform-client/index.ts
261
+ init_react_import();
262
+
263
+ // ../platform-client/components/ActionModal/index.ts
264
+ init_react_import();
265
+
266
+ // ../platform-client/components/ActionModal/ActionModal.tsx
267
+ init_react_import();
268
+
269
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/ActionModal/ActionModal.module.css#css-module
270
+ init_react_import();
271
+ var ActionModal_module_default = { "ActionModal": "_ActionModal_r3pvy_1", "ActionModal-header": "_ActionModal-header_r3pvy_6", "ActionModal-body": "_ActionModal-body_r3pvy_17", "ActionModal-footer": "_ActionModal-footer_r3pvy_22" };
272
+
273
+ // ../platform-client/lib/index.ts
274
+ init_react_import();
275
+
276
+ // ../platform-client/lib/get-class-name-factory.ts
277
+ init_react_import();
278
+ var import_classnames = __toESM(require_classnames());
279
+ var getClassNameFactory = (rootClass, styles, { baseClass = "" } = {}) => (options = {}) => {
280
+ let descendant = false;
281
+ let modifiers = false;
282
+ if (typeof options === "string") {
283
+ descendant = options;
284
+ } else if (typeof options === "object") {
285
+ modifiers = options;
286
+ }
287
+ if (descendant) {
288
+ const style = styles[`${rootClass}-${descendant}`];
289
+ if (style) {
290
+ return baseClass + styles[`${rootClass}-${descendant}`] || "";
291
+ }
292
+ return "";
293
+ } else if (modifiers) {
294
+ const prefixedModifiers = {};
295
+ for (let modifier in modifiers) {
296
+ prefixedModifiers[styles[`${rootClass}--${modifier}`]] = modifiers[modifier];
297
+ }
298
+ const c = styles[rootClass];
299
+ return baseClass + (0, import_classnames.default)(__spreadValues({
300
+ [c]: !!c
301
+ }, prefixedModifiers));
302
+ } else {
303
+ return baseClass + styles[rootClass] || "";
304
+ }
305
+ };
306
+ var get_class_name_factory_default = getClassNameFactory;
307
+
308
+ // ../platform-client/components/Modal/Modal.tsx
309
+ init_react_import();
310
+
311
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Modal/Modal.module.css#css-module
312
+ init_react_import();
313
+ var Modal_module_default = { "Modal-background": "_Modal-background_874yi_1", "Modal--visible": "_Modal--visible_874yi_16", "Modal-modal": "_Modal-modal_874yi_22" };
314
+
315
+ // ../platform-client/components/Modal/Modal.tsx
316
+ import { createContext, useContext } from "react";
317
+
318
+ // ../platform-client/lib/use-modal-visible.ts
319
+ init_react_import();
320
+ import { useEffect, useState, useRef } from "react";
321
+
322
+ // ../platform-client/components/Button/index.ts
323
+ init_react_import();
324
+
325
+ // ../platform-client/components/Button/Button.tsx
326
+ init_react_import();
327
+ import { useEffect as useEffect2, useState as useState2 } from "react";
328
+
329
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Button/Button.module.css#css-module
330
+ init_react_import();
331
+ var Button_module_default = { "Button": "_Button_w2ngt_1", "Button--medium": "_Button--medium_w2ngt_29", "Button--large": "_Button--large_w2ngt_37", "Button-icon": "_Button-icon_w2ngt_44", "Button--primary": "_Button--primary_w2ngt_48", "Button--secondary": "_Button--secondary_w2ngt_67", "Button--flush": "_Button--flush_w2ngt_84", "Button--disabled": "_Button--disabled_w2ngt_88", "Button--fullWidth": "_Button--fullWidth_w2ngt_95", "Button-spinner": "_Button-spinner_w2ngt_100" };
332
+
333
+ // ../platform-client/components/Loader/index.tsx
334
+ init_react_import();
335
+
336
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Loader/styles.module.css#css-module
337
+ init_react_import();
338
+ var styles_module_default = { "Loader": "_Loader_nacdm_13", "loader-animation": "_loader-animation_nacdm_1" };
339
+
340
+ // ../platform-client/components/Loader/index.tsx
341
+ import { jsx } from "react/jsx-runtime";
342
+ var getClassName = getClassNameFactory("Loader", styles_module_default);
343
+ var Loader = (_a) => {
344
+ var _b = _a, {
345
+ color,
346
+ size = 16
347
+ } = _b, props = __objRest(_b, [
348
+ "color",
349
+ "size"
350
+ ]);
351
+ return /* @__PURE__ */ jsx(
352
+ "span",
353
+ __spreadValues({
354
+ className: getClassName(),
355
+ style: {
356
+ width: size,
357
+ height: size,
358
+ color
359
+ },
360
+ "aria-label": "loading"
361
+ }, props)
362
+ );
363
+ };
364
+
365
+ // ../platform-client/components/Button/Button.tsx
366
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
367
+ var getClassName2 = get_class_name_factory_default("Button", Button_module_default);
368
+ var Button = ({
369
+ children,
370
+ href,
371
+ onClick,
372
+ variant = "primary",
373
+ type,
374
+ disabled,
375
+ tabIndex,
376
+ newTab,
377
+ fullWidth,
378
+ icon,
379
+ size = "medium",
380
+ loading: loadingProp = false
381
+ }) => {
382
+ const [loading, setLoading] = useState2(loadingProp);
383
+ useEffect2(() => setLoading(loadingProp), [loadingProp]);
384
+ const ElementType = href ? "a" : type ? "button" : "span";
385
+ const el = /* @__PURE__ */ jsxs(
386
+ ElementType,
387
+ {
388
+ className: getClassName2({
389
+ primary: variant === "primary",
390
+ secondary: variant === "secondary",
391
+ disabled,
392
+ fullWidth,
393
+ [size]: true
394
+ }),
395
+ onClick: (e) => {
396
+ if (disabled) return;
397
+ if (!onClick) return;
398
+ setLoading(true);
399
+ Promise.resolve(onClick(e)).then(() => {
400
+ setLoading(false);
401
+ });
402
+ },
403
+ type,
404
+ disabled: disabled || loading,
405
+ tabIndex,
406
+ target: newTab ? "_blank" : void 0,
407
+ rel: newTab ? "noreferrer" : void 0,
408
+ href,
409
+ children: [
410
+ icon && /* @__PURE__ */ jsx2("div", { className: getClassName2("icon"), children: icon }),
411
+ children,
412
+ loading && /* @__PURE__ */ jsx2("div", { className: getClassName2("spinner"), children: /* @__PURE__ */ jsx2(Loader, { size: 14 }) })
413
+ ]
414
+ }
415
+ );
416
+ return el;
417
+ };
418
+
419
+ // ../platform-client/components/Modal/Modal.tsx
420
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
421
+ var getClassName3 = getClassNameFactory("Modal", Modal_module_default);
422
+ var modalContext = createContext({ visible: false, setVisible: () => {
423
+ }, ref: null });
424
+ var Modal = ({
425
+ actionLabel = "Open",
426
+ children
427
+ }) => {
428
+ const { visible, setVisible, ref } = useContext(modalContext);
429
+ return /* @__PURE__ */ jsxs2("div", { className: getClassName3({ visible }), children: [
430
+ /* @__PURE__ */ jsx3("div", { className: getClassName3("button"), children: /* @__PURE__ */ jsx3(
431
+ Button,
432
+ {
433
+ variant: "secondary",
434
+ onClick: () => {
435
+ setVisible(!visible);
436
+ },
437
+ children: actionLabel
438
+ }
439
+ ) }),
440
+ /* @__PURE__ */ jsx3("div", { className: getClassName3("background"), children: /* @__PURE__ */ jsx3("div", { className: getClassName3("modal"), ref, children }) })
441
+ ] });
442
+ };
443
+
444
+ // ../platform-client/components/Heading/index.ts
445
+ init_react_import();
446
+
447
+ // ../platform-client/components/Heading/Heading.tsx
448
+ init_react_import();
449
+
450
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Heading/Heading.module.css#css-module
451
+ init_react_import();
452
+ var Heading_module_default = { "Heading": "_Heading_1czuc_1", "Heading--xxxxl": "_Heading--xxxxl_1czuc_11", "Heading--xxxl": "_Heading--xxxl_1czuc_17", "Heading--xxl": "_Heading--xxl_1czuc_21", "Heading--xl": "_Heading--xl_1czuc_25", "Heading--l": "_Heading--l_1czuc_29", "Heading--m": "_Heading--m_1czuc_33", "Heading--s": "_Heading--s_1czuc_37", "Heading--xs": "_Heading--xs_1czuc_41", "Heading--xxs": "_Heading--xxs_1czuc_45" };
453
+
454
+ // ../platform-client/components/Heading/Heading.tsx
455
+ import { jsx as jsx4 } from "react/jsx-runtime";
456
+ var getClassName4 = get_class_name_factory_default("Heading", Heading_module_default);
457
+ var Heading = ({ children, rank, size = "m" }) => {
458
+ const Tag2 = rank ? `h${rank}` : "span";
459
+ return /* @__PURE__ */ jsx4(
460
+ Tag2,
461
+ {
462
+ className: getClassName4({
463
+ [size]: true
464
+ }),
465
+ children
466
+ }
467
+ );
468
+ };
469
+
470
+ // ../platform-client/components/ActionModal/ActionModal.tsx
471
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
472
+ var getClassName5 = getClassNameFactory("ActionModal", ActionModal_module_default);
473
+ var ActionModalFooter = ({ children }) => /* @__PURE__ */ jsx5("div", { className: getClassName5("footer"), children });
474
+ var ActionModal = ({
475
+ actionLabel = "Open",
476
+ children,
477
+ title,
478
+ description,
479
+ actions
480
+ }) => {
481
+ return /* @__PURE__ */ jsx5(Modal, { actionLabel, children: /* @__PURE__ */ jsxs3("div", { className: getClassName5(), children: [
482
+ /* @__PURE__ */ jsxs3("div", { className: getClassName5("header"), children: [
483
+ /* @__PURE__ */ jsx5(Heading, { size: "s", children: title }),
484
+ description && /* @__PURE__ */ jsx5("small", { children: description })
485
+ ] }),
486
+ /* @__PURE__ */ jsx5("div", { className: getClassName5("body"), children }),
487
+ actions && /* @__PURE__ */ jsx5(ActionModalFooter, { children: actions })
488
+ ] }) });
489
+ };
490
+ ActionModal.Footer = ActionModalFooter;
491
+
492
+ // ../platform-client/components/AIAction/index.tsx
493
+ init_react_import();
494
+ import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
495
+
496
+ // ../platform-client/components/Align/index.ts
497
+ init_react_import();
498
+
499
+ // ../platform-client/components/Align/Align.tsx
500
+ init_react_import();
501
+ import React2 from "react";
502
+
503
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Align/Align.module.css#css-module
504
+ init_react_import();
505
+ var Align_module_default = { "Align": "_Align_oewlu_1", "Align--horizontalCenter": "_Align--horizontalCenter_oewlu_7", "Align--horizontalRight": "_Align--horizontalRight_oewlu_11", "Align--verticalBottom": "_Align--verticalBottom_oewlu_15", "Align--verticalCenter": "_Align--verticalCenter_oewlu_20", "Align-item": "_Align-item_oewlu_25" };
506
+
507
+ // ../../node_modules/.pnpm/camelcase@8.0.0/node_modules/camelcase/index.js
508
+ init_react_import();
509
+ var IDENTIFIER = /([\p{Alpha}\p{N}_]|$)/u;
510
+ var SEPARATORS = /[_.\- ]+/;
511
+ var LEADING_SEPARATORS = new RegExp("^" + SEPARATORS.source);
512
+ var SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, "gu");
513
+ var NUMBERS_AND_IDENTIFIER = new RegExp("\\d+" + IDENTIFIER.source, "gu");
514
+
515
+ // ../platform-client/components/Align/Align.tsx
516
+ import { jsx as jsx7 } from "react/jsx-runtime";
517
+ var getClassName6 = get_class_name_factory_default("Align", Align_module_default);
518
+
519
+ // ../platform-client/components/AutoForm/index.ts
520
+ init_react_import();
521
+
522
+ // ../platform-client/components/AutoForm/AutoForm.tsx
523
+ init_react_import();
524
+ import { AutoField, FieldLabel } from "@measured/puck";
525
+ import { useEffect as useEffect3, useState as useState3 } from "react";
526
+
527
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/AutoForm/AutoForm.module.css#css-module
528
+ init_react_import();
529
+ var AutoForm_module_default = { "AutoForm": "_AutoForm_1vmh9_1" };
530
+
531
+ // ../platform-client/components/AutoForm/AutoForm.tsx
532
+ import { jsx as jsx8 } from "react/jsx-runtime";
533
+ var getClassName7 = getClassNameFactory("AutoForm", AutoForm_module_default);
534
+
535
+ // ../platform-client/components/Avatar/index.ts
536
+ init_react_import();
537
+
538
+ // ../platform-client/components/Avatar/Avatar.tsx
539
+ init_react_import();
540
+
541
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Avatar/Avatar.module.css#css-module
542
+ init_react_import();
543
+ var Avatar_module_default = { "Avatar": "_Avatar_meij0_1", "Avatar--onLightGrey": "_Avatar--onLightGrey_meij0_15", "Avatar--flush": "_Avatar--flush_meij0_19", "Avatar-image": "_Avatar-image_meij0_24", "Avatar-name": "_Avatar-name_meij0_41", "Avatar--smallText": "_Avatar--smallText_meij0_50", "Avatar--inline": "_Avatar--inline_meij0_54", "Avatar--muted": "_Avatar--muted_meij0_59" };
544
+
545
+ // ../platform-client/components/Avatar/Avatar.tsx
546
+ import Link from "next/link";
547
+ import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
548
+ var getClassName8 = get_class_name_factory_default("Avatar", Avatar_module_default);
549
+
550
+ // ../platform-client/components/Card/index.ts
551
+ init_react_import();
552
+
553
+ // ../platform-client/components/Card/Card.tsx
554
+ init_react_import();
555
+
556
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Card/Card.module.css#css-module
557
+ init_react_import();
558
+ var Card_module_default = { "Card": "_Card_jzb6b_1", "Card-body": "_Card-body_jzb6b_17", "Card-title": "_Card-title_jzb6b_23", "Card-subtitle": "_Card-subtitle_jzb6b_27", "Card-chevron": "_Card-chevron_jzb6b_31", "Card--showChevron": "_Card--showChevron_jzb6b_37", "Card--isActive": "_Card--isActive_jzb6b_41" };
559
+
560
+ // ../platform-client/components/Card/Card.tsx
561
+ import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
562
+ var getClassName9 = get_class_name_factory_default("Card", Card_module_default);
563
+
564
+ // ../platform-client/components/Footer/index.tsx
565
+ init_react_import();
566
+
567
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Footer/styles.module.css#css-module
568
+ init_react_import();
569
+ var styles_module_default2 = { "Footer": "_Footer_eew04_1", "Footer--dark": "_Footer--dark_eew04_7", "Footer-inner": "_Footer-inner_eew04_13", "Footer-brand": "_Footer-brand_eew04_21", "Footer-main": "_Footer-main_eew04_26", "Footer-logo": "_Footer-logo_eew04_41", "Footer-copyright": "_Footer-copyright_eew04_46", "Footer-sections": "_Footer-sections_eew04_54", "Footer-section": "_Footer-section_eew04_54", "Footer-sectionHeader": "_Footer-sectionHeader_eew04_72", "Footer-icon": "_Footer-icon_eew04_77", "Footer-link": "_Footer-link_eew04_86" };
570
+
571
+ // ../platform-client/components/Footer/index.tsx
572
+ import Link2 from "next/link";
573
+
574
+ // ../platform-client/components/Logo/index.tsx
575
+ init_react_import();
576
+ import { jsx as jsx11 } from "react/jsx-runtime";
577
+
578
+ // ../platform-client/components/Footer/index.tsx
579
+ import { jsx as jsx12, jsxs as jsxs7 } from "react/jsx-runtime";
580
+ var cx = getClassNameFactory("Footer", styles_module_default2);
581
+
582
+ // ../platform-client/components/IconButton/index.ts
583
+ init_react_import();
584
+
585
+ // ../platform-client/components/IconButton/IconButton.tsx
586
+ init_react_import();
587
+ import { useState as useState4 } from "react";
588
+
589
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/IconButton/IconButton.module.css#css-module
590
+ init_react_import();
591
+ var IconButton_module_default = { "IconButton": "_IconButton_thegm_1", "IconButton--disabled": "_IconButton--disabled_thegm_20", "IconButton--dark": "_IconButton--dark_thegm_26", "IconButton-title": "_IconButton-title_thegm_37" };
592
+
593
+ // ../platform-client/components/IconButton/IconButton.tsx
594
+ import { Fragment as Fragment2, jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
595
+ var getClassName10 = get_class_name_factory_default("IconButton", IconButton_module_default);
596
+
597
+ // ../platform-client/components/InfoBar/index.tsx
598
+ init_react_import();
599
+
600
+ // ../platform-client/components/InfoBar/InfoBar.tsx
601
+ init_react_import();
602
+
603
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/InfoBar/InfoBar.module.css#css-module
604
+ init_react_import();
605
+ var InfoBar_module_default = { "InfoBar": "_InfoBar_kchdj_1", "Info": "_Info_kchdj_1", "Info-title": "_Info-title_kchdj_21" };
606
+
607
+ // ../platform-client/components/InfoBar/InfoBar.tsx
608
+ import { jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
609
+ var cx2 = getClassNameFactory("InfoBar", InfoBar_module_default);
610
+ var cxInfo = getClassNameFactory("Info", InfoBar_module_default);
611
+ var Info = ({ title, children }) => {
612
+ return /* @__PURE__ */ jsxs9("div", { className: cxInfo(), children: [
613
+ /* @__PURE__ */ jsx14("div", { className: cxInfo("title"), children: title }),
614
+ /* @__PURE__ */ jsx14("div", { className: cxInfo("children"), children })
615
+ ] });
616
+ };
617
+ var InfoBar = ({ children }) => {
618
+ return /* @__PURE__ */ jsx14("div", { className: cx2(), children });
619
+ };
620
+ InfoBar.Info = Info;
621
+
622
+ // ../platform-client/components/Inline/index.ts
623
+ init_react_import();
624
+
625
+ // ../platform-client/components/Inline/Inline.tsx
626
+ init_react_import();
627
+
628
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Inline/Inline.module.css#css-module
629
+ init_react_import();
630
+ var Inline_module_default = { "Inline": "_Inline_6o5on_3", "Inline-inner": "_Inline-inner_6o5on_7", "Inline--noWrap": "_Inline--noWrap_6o5on_12", "Inline--sizeNONE": "_Inline--sizeNONE_6o5on_16", "Inline--sizeXXS": "_Inline--sizeXXS_6o5on_20", "Inline--sizeXS": "_Inline--sizeXS_6o5on_24", "Inline--sizeS": "_Inline--sizeS_6o5on_28", "Inline--sizeM": "_Inline--sizeM_6o5on_32", "Inline--sizeL": "_Inline--sizeL_6o5on_36", "Inline--center": "_Inline--center_6o5on_40", "Inline--centerH": "_Inline--centerH_6o5on_44", "Inline--grow": "_Inline--grow_6o5on_48" };
631
+
632
+ // ../platform-client/components/Inline/Inline.tsx
633
+ import { jsx as jsx15 } from "react/jsx-runtime";
634
+ var getClassName11 = get_class_name_factory_default("Inline", Inline_module_default);
635
+ var Inline = ({
636
+ children,
637
+ grow,
638
+ center,
639
+ size = "m",
640
+ noWrap,
641
+ centerH
642
+ }) => /* @__PURE__ */ jsx15(
643
+ "div",
644
+ {
645
+ className: getClassName11({
646
+ grow,
647
+ center,
648
+ centerH,
649
+ noWrap,
650
+ [`size${size.toUpperCase()}`]: size
651
+ }),
652
+ children: /* @__PURE__ */ jsx15("div", { className: getClassName11("inner"), children })
653
+ }
654
+ );
655
+ var InlineItem = ({
656
+ children,
657
+ grow,
658
+ push,
659
+ shrink
660
+ }) => /* @__PURE__ */ jsx15(
661
+ "div",
662
+ {
663
+ style: {
664
+ flexGrow: grow ? typeof grow === "number" ? grow : "1" : "0",
665
+ flexShrink: shrink ? "1" : "0",
666
+ marginLeft: push ? "auto" : 0,
667
+ maxWidth: "100%"
668
+ },
669
+ children
670
+ }
671
+ );
672
+ Inline.Item = InlineItem;
673
+
674
+ // ../platform-client/components/Layout/index.ts
675
+ init_react_import();
676
+
677
+ // ../platform-client/components/Layout/Layout.tsx
678
+ init_react_import();
679
+
680
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Layout/Layout.module.css#css-module
681
+ init_react_import();
682
+ var Layout_module_default = { "Layout": "_Layout_hy65k_1", "Layout-switcher": "_Layout-switcher_hy65k_12", "Layout-bar": "_Layout-bar_hy65k_18", "Layout-nav": "_Layout-nav_hy65k_25", "Layout-page": "_Layout-page_hy65k_30" };
683
+
684
+ // ../platform-client/components/Layout/Layout.tsx
685
+ import { useEffect as useEffect4, useState as useState5 } from "react";
686
+
687
+ // ../platform-client/components/Nav/index.ts
688
+ init_react_import();
689
+
690
+ // ../platform-client/components/Nav/Nav.tsx
691
+ init_react_import();
692
+
693
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Nav/Nav.module.css#css-module
694
+ init_react_import();
695
+ var Nav_module_default = { "Nav-list": "_Nav-list_b6txo_1", "NavSection": "_NavSection_b6txo_7", "Nav--slim": "_Nav--slim_b6txo_15", "NavSection-list": "_NavSection-list_b6txo_24", "NavSection-title": "_NavSection-title_b6txo_36", "NavItem-link": "_NavItem-link_b6txo_47", "NavItem-linkIcon": "_NavItem-linkIcon_b6txo_67", "NavItem--active": "_NavItem--active_b6txo_72", "NavItem": "_NavItem_b6txo_47", "NavItem-list": "_NavItem-list_b6txo_91" };
696
+
697
+ // ../platform-client/components/Nav/Nav.tsx
698
+ import Link3 from "next/link";
699
+ import { usePathname } from "next/navigation";
700
+ import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
701
+ var getClassName12 = getClassNameFactory("Nav", Nav_module_default);
702
+ var getClassNameSection = getClassNameFactory("NavSection", Nav_module_default);
703
+ var getClassNameItem = getClassNameFactory("NavItem", Nav_module_default);
704
+
705
+ // ../platform-client/components/Layout/Layout.tsx
706
+ import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
707
+ var getClassName13 = getClassNameFactory("Layout", Layout_module_default);
708
+
709
+ // ../platform-client/components/Link/index.ts
710
+ init_react_import();
711
+
712
+ // ../platform-client/components/Link/Link.tsx
713
+ init_react_import();
714
+
715
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Link/Link.module.css#css-module
716
+ init_react_import();
717
+ var Link_module_default = { "Link": "_Link_1j70m_1" };
718
+
719
+ // ../platform-client/components/Link/Link.tsx
720
+ import { jsx as jsx18 } from "react/jsx-runtime";
721
+ var getClassName14 = get_class_name_factory_default("Link", Link_module_default);
722
+
723
+ // ../platform-client/components/Modal/index.ts
724
+ init_react_import();
725
+
726
+ // ../platform-client/components/Page/index.ts
727
+ init_react_import();
728
+
729
+ // ../platform-client/components/Page/Page.tsx
730
+ init_react_import();
731
+
732
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Page/Page.module.css#css-module
733
+ init_react_import();
734
+ var Page_module_default = { "Page": "_Page_1uz1e_1", "Page-masthead": "_Page-masthead_1uz1e_8", "Page-crumbs": "_Page-crumbs_1uz1e_18", "Page-crumb": "_Page-crumb_1uz1e_18", "Page-crumbLink": "_Page-crumbLink_1uz1e_28", "Page-actions": "_Page-actions_1uz1e_60" };
735
+
736
+ // ../platform-client/components/Page/Page.tsx
737
+ import { jsx as jsx19, jsxs as jsxs12 } from "react/jsx-runtime";
738
+ var cx3 = getClassNameFactory("Page", Page_module_default);
739
+
740
+ // ../platform-client/components/Puck/index.ts
741
+ init_react_import();
742
+
743
+ // ../platform-client/components/Puck/Puck.tsx
744
+ init_react_import();
745
+ import { Puck as _Puck2 } from "@measured/puck";
746
+
747
+ // ../platform-client/components/PuckLayout/index.ts
748
+ init_react_import();
749
+
750
+ // ../platform-client/components/PuckLayout/PuckLayout.tsx
751
+ init_react_import();
752
+ import { Puck as _Puck, usePuck as usePuck2 } from "@measured/puck";
753
+
754
+ // ../platform-client/components/PuckHeader/index.ts
755
+ init_react_import();
756
+
757
+ // ../platform-client/components/PuckHeader/PuckHeader.tsx
758
+ init_react_import();
759
+
760
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/PuckHeader/PuckHeader.module.css#css-module
761
+ init_react_import();
762
+ var PuckHeader_module_default = { "PuckHeader": "_PuckHeader_19h0f_1", "PuckHeader-left": "_PuckHeader-left_19h0f_16", "PuckHeader-center": "_PuckHeader-center_19h0f_22", "PuckHeader-right": "_PuckHeader-right_19h0f_27", "PuckHeader-pageInput": "_PuckHeader-pageInput_19h0f_34", "PuckHeader-pageInputActions": "_PuckHeader-pageInputActions_19h0f_50", "PuckHeader-input": "_PuckHeader-input_19h0f_56", "PuckHeader-historyActions": "_PuckHeader-historyActions_19h0f_69" };
763
+
764
+ // ../platform-client/components/PuckHeader/PuckHeader.tsx
765
+ import { IconButton, usePuck } from "@measured/puck";
766
+
767
+ // ../platform-client/context/editor.tsx
768
+ init_react_import();
769
+ import { createContext as createContext2, useContext as useContext2, useState as useState6 } from "react";
770
+ import { jsx as jsx20 } from "react/jsx-runtime";
771
+ var ctx = createContext2({});
772
+
773
+ // ../platform-client/components/StatusTag/index.ts
774
+ init_react_import();
775
+
776
+ // ../platform-client/components/StatusTag/StatusTag.tsx
777
+ init_react_import();
778
+
779
+ // ../platform-client/components/Tag/index.ts
780
+ init_react_import();
781
+
782
+ // ../platform-client/components/Tag/Tag.tsx
783
+ init_react_import();
784
+
785
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Tag/Tag.module.css#css-module
786
+ init_react_import();
787
+ var Tag_module_default = { "Tag": "_Tag_1baze_1", "Tag--colorBlue": "_Tag--colorBlue_1baze_19", "Tag--colorGreen": "_Tag--colorGreen_1baze_23", "Tag--colorRed": "_Tag--colorRed_1baze_27", "Tag--colorMuted": "_Tag--colorMuted_1baze_31", "Tag-sprite": "_Tag-sprite_1baze_35", "Tag--pulse": "_Tag--pulse_1baze_39", "pulse": "_pulse_1baze_1" };
788
+
789
+ // ../platform-client/components/Tag/Tag.tsx
790
+ import { jsx as jsx21, jsxs as jsxs13 } from "react/jsx-runtime";
791
+ var getClassName15 = getClassNameFactory("Tag", Tag_module_default);
792
+
793
+ // ../platform-client/components/StatusTag/StatusTag.tsx
794
+ import { jsx as jsx22 } from "react/jsx-runtime";
795
+
796
+ // ../platform-client/components/PuckHeader/PuckHeader.tsx
797
+ import { useEffect as useEffect5, useState as useState7 } from "react";
798
+
799
+ // ../platform-client/components/AppSwitchers/index.ts
800
+ init_react_import();
801
+
802
+ // ../platform-client/components/AppSwitchers/AppSwitchers.tsx
803
+ init_react_import();
804
+
805
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/AppSwitchers/AppSwitchers.module.css#css-module
806
+ init_react_import();
807
+ var AppSwitchers_module_default = { "AppSwitchers": "_AppSwitchers_b7m1z_1", "AppSwitchers-divider": "_AppSwitchers-divider_b7m1z_8" };
808
+
809
+ // ../platform-client/components/AppSwitchers/AppSwitchers.tsx
810
+ import { useMemo } from "react";
811
+
812
+ // ../platform-client/components/Switcher/index.ts
813
+ init_react_import();
814
+
815
+ // ../platform-client/components/Switcher/Switcher.tsx
816
+ init_react_import();
817
+
818
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Switcher/Switcher.module.css#css-module
819
+ init_react_import();
820
+ var Switcher_module_default = { "Switcher": "_Switcher_134wo_1", "Switcher-link": "_Switcher-link_134wo_8", "Switcher-switcher": "_Switcher-switcher_134wo_18", "Switcher--hasHref": "_Switcher--hasHref_134wo_29", "Switcher-logoInner": "_Switcher-logoInner_134wo_35", "Switcher-label": "_Switcher-label_134wo_42", "Switcher--slim": "_Switcher--slim_134wo_55", "Switcher-logo": "_Switcher-logo_134wo_35", "Switcher-menu": "_Switcher-menu_134wo_64", "Switcher--menuVisible": "_Switcher--menuVisible_134wo_75", "Switcher-menuList": "_Switcher-menuList_134wo_79", "Switcher-menuItemAction": "_Switcher-menuItemAction_134wo_85" };
821
+
822
+ // ../platform-client/components/Switcher/Switcher.tsx
823
+ import { Fragment as Fragment3, jsx as jsx23, jsxs as jsxs14 } from "react/jsx-runtime";
824
+ var getClassName16 = getClassNameFactory("Switcher", Switcher_module_default);
825
+
826
+ // ../platform-client/components/AppSwitchers/AppSwitchers.tsx
827
+ import { Fragment as Fragment4, jsx as jsx24, jsxs as jsxs15 } from "react/jsx-runtime";
828
+ var getClassName17 = getClassNameFactory("AppSwitchers", AppSwitchers_module_default);
829
+
830
+ // ../platform-client/components/PuckHeader/PuckHeader.tsx
831
+ import { Fragment as Fragment5, jsx as jsx25, jsxs as jsxs16 } from "react/jsx-runtime";
832
+ var getClassName18 = get_class_name_factory_default("PuckHeader", PuckHeader_module_default);
833
+
834
+ // ../platform-client/components/PuckLayout/PuckLayout.tsx
835
+ import { useEffect as useEffect6, useState as useState8 } from "react";
836
+
837
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/PuckLayout/PuckLayout.module.css#css-module
838
+ init_react_import();
839
+ var PuckLayout_module_default = { "PuckLayout": "_PuckLayout_1yvk1_1", "PuckLayout-layout": "_PuckLayout-layout_1yvk1_8", "PuckLayout-loader": "_PuckLayout-loader_1yvk1_15", "PuckLayout-sideHeader": "_PuckLayout-sideHeader_1yvk1_24", "PuckLayout-switcher": "_PuckLayout-switcher_1yvk1_32", "PuckLayout-nav": "_PuckLayout-nav_1yvk1_37", "PuckLayout-versionLoader": "_PuckLayout-versionLoader_1yvk1_42", "PuckLayout-versionList": "_PuckLayout-versionList_1yvk1_48", "PuckLayout-version": "_PuckLayout-version_1yvk1_42", "PuckLayout-versionBody": "_PuckLayout-versionBody_1yvk1_64", "PuckLayout-versionDetails": "_PuckLayout-versionDetails_1yvk1_71", "PuckLayout-versionInner": "_PuckLayout-versionInner_1yvk1_81", "PuckLayout-versionVersion": "_PuckLayout-versionVersion_1yvk1_86", "PuckLayout-versionStatus": "_PuckLayout-versionStatus_1yvk1_90", "PuckLayout-versionAuthor": "_PuckLayout-versionAuthor_1yvk1_104", "PuckLayout-versionAuthorName": "_PuckLayout-versionAuthorName_1yvk1_108", "PuckLayout-versionDate": "_PuckLayout-versionDate_1yvk1_112", "PuckLayout-fields": "_PuckLayout-fields_1yvk1_117", "PuckLayout-sidebar": "_PuckLayout-sidebar_1yvk1_121" };
840
+
841
+ // ../platform-client/components/PuckLayout/PuckLayout.tsx
842
+ import { jsx as jsx26, jsxs as jsxs17 } from "react/jsx-runtime";
843
+ var getClassName19 = getClassNameFactory("PuckLayout", PuckLayout_module_default);
844
+
845
+ // ../platform-client/components/Puck/Puck.tsx
846
+ import { useEffect as useEffect7, useState as useState9 } from "react";
847
+ import { useSearchParams } from "next/navigation";
848
+ import { jsx as jsx27 } from "react/jsx-runtime";
849
+
850
+ // ../platform-client/components/Section/index.ts
851
+ init_react_import();
852
+
853
+ // ../platform-client/components/Section/Section.tsx
854
+ init_react_import();
855
+
856
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Section/Section.module.css#css-module
857
+ init_react_import();
858
+ var Section_module_default = { "Section-inner": "_Section-inner_1uwo0_1", "Section--flush": "_Section--flush_1uwo0_8", "Section": "_Section_1uwo0_1", "Section--full": "_Section--full_1uwo0_17" };
859
+
860
+ // ../platform-client/components/Section/Section.tsx
861
+ import { jsx as jsx28 } from "react/jsx-runtime";
862
+ var getClassName20 = getClassNameFactory("Section", Section_module_default);
863
+
864
+ // ../platform-client/components/Table/index.ts
865
+ init_react_import();
866
+
867
+ // ../platform-client/components/Table/Table.tsx
868
+ init_react_import();
869
+ import { useState as useState10 } from "react";
870
+
871
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Table/Table.module.css#css-module
872
+ init_react_import();
873
+ var Table_module_default = { "Table": "_Table_1t44j_1", "Table-filters": "_Table-filters_1t44j_8", "Table-inner": "_Table-inner_1t44j_12", "Table-table": "_Table-table_1t44j_16", "Table-footer": "_Table-footer_1t44j_78", "Table--clickableRows": "_Table--clickableRows_1t44j_82", "Table-placeholder": "_Table-placeholder_1t44j_87" };
874
+
875
+ // ../platform-client/components/Table/Table.tsx
876
+ import { jsx as jsx29, jsxs as jsxs18 } from "react/jsx-runtime";
877
+ var getClassName21 = get_class_name_factory_default("Table", Table_module_default);
878
+
879
+ // ../platform-client/components/Tabs/index.ts
880
+ init_react_import();
881
+
882
+ // ../platform-client/components/Tabs/Tabs.tsx
883
+ init_react_import();
884
+
885
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/Tabs/Tabs.module.css#css-module
886
+ init_react_import();
887
+ var Tabs_module_default = { "Tabs": "_Tabs_1d592_1", "TabItem": "_TabItem_1d592_8", "TabItem-link": "_TabItem-link_1d592_12", "TabItem-icon": "_TabItem-icon_1d592_23", "TabItem--isActive": "_TabItem--isActive_1d592_29" };
888
+
889
+ // ../platform-client/components/Tabs/Tabs.tsx
890
+ import Link4 from "next/link";
891
+ import { usePathname as usePathname2 } from "next/navigation";
892
+ import { jsx as jsx30, jsxs as jsxs19 } from "react/jsx-runtime";
893
+ var getClassName22 = getClassNameFactory("Tabs", Tabs_module_default);
894
+ var getClassNameTab = getClassNameFactory("TabItem", Tabs_module_default);
895
+
896
+ // ../platform-client/components/Textarea/index.tsx
897
+ init_react_import();
898
+ import { default as default2 } from "react-textarea-autosize";
899
+
900
+ // ../platform-client/components/VerticalSpace/index.ts
901
+ init_react_import();
902
+
903
+ // ../platform-client/components/VerticalSpace/VerticalSpace.tsx
904
+ init_react_import();
905
+
906
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/platform-client/components/VerticalSpace/VerticalSpace.module.css#css-module
907
+ init_react_import();
908
+ var VerticalSpace_module_default = { "VerticalSpace": "_VerticalSpace_1tjaw_1", "VerticalSpace--size4": "_VerticalSpace--size4_1tjaw_5", "VerticalSpace--size8": "_VerticalSpace--size8_1tjaw_9", "VerticalSpace--size16": "_VerticalSpace--size16_1tjaw_13", "VerticalSpace--size32": "_VerticalSpace--size32_1tjaw_17", "VerticalSpace--size40": "_VerticalSpace--size40_1tjaw_21", "VerticalSpace--size48": "_VerticalSpace--size48_1tjaw_25", "VerticalSpace--size56": "_VerticalSpace--size56_1tjaw_29", "VerticalSpace--size96": "_VerticalSpace--size96_1tjaw_33", "VerticalSpace--size128": "_VerticalSpace--size128_1tjaw_37" };
909
+
910
+ // ../platform-client/components/VerticalSpace/VerticalSpace.tsx
911
+ import { jsx as jsx31 } from "react/jsx-runtime";
912
+ var getClassName23 = get_class_name_factory_default("VerticalSpace", VerticalSpace_module_default);
913
+
914
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/plugin-ai/src/components/Chat/styles.module.css#css-module
915
+ init_react_import();
916
+ var styles_module_default3 = { "Chat": "_Chat_1p4ln_1", "Chat-header": "_Chat-header_1p4ln_8", "Chat-placeholder": "_Chat-placeholder_1p4ln_22", "Chat-actions": "_Chat-actions_1p4ln_40", "Chat-action": "_Chat-action_1p4ln_40", "Chat-actionOutlined": "_Chat-actionOutlined_1p4ln_49" };
917
+
918
+ // src/components/ChatBody/index.tsx
919
+ init_react_import();
920
+ import { useContext as useContext3 } from "react";
921
+ import { useStickToBottom } from "use-stick-to-bottom";
922
+ import Markdown from "react-markdown";
923
+
924
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/plugin-ai/src/components/ChatBody/styles.module.css#css-module
925
+ init_react_import();
926
+ var styles_module_default4 = { "Chat": "_Chat_dx6l4_1", "Chat-inner": "_Chat-inner_dx6l4_17", "Chat--hasMessages": "_Chat--hasMessages_dx6l4_25", "Chat--hasChildren": "_Chat--hasChildren_dx6l4_29", "Chat-messages": "_Chat-messages_dx6l4_34", "Chat-form": "_Chat-form_dx6l4_41", "Chat--hideInput": "_Chat--hideInput_dx6l4_46", "Chat-formHelper": "_Chat-formHelper_dx6l4_60", "Chat-examplePrompts": "_Chat-examplePrompts_dx6l4_75", "Chat-examplePrompt": "_Chat-examplePrompt_dx6l4_75", "Chat-examplePromptArrow": "_Chat-examplePromptArrow_dx6l4_103", "Chat-default": "_Chat-default_dx6l4_107", "ChatMessage": "_ChatMessage_dx6l4_124", "ChatMessage--userRole": "_ChatMessage--userRole_dx6l4_129", "ChatMessage-text": "_ChatMessage-text_dx6l4_129", "ChatMessage-data": "_ChatMessage-data_dx6l4_219", "ChatMessage-dataInner": "_ChatMessage-dataInner_dx6l4_230", "ChatMessage-dataIcon": "_ChatMessage-dataIcon_dx6l4_236", "Chat-loader": "_Chat-loader_dx6l4_240" };
927
+
928
+ // src/components/PromptForm/index.tsx
929
+ init_react_import();
930
+ import {
931
+ useEffect as useEffect8,
932
+ useRef as useRef2,
933
+ useState as useState11
934
+ } from "react";
935
+
936
+ // css-module:/Users/chrisvilla/Projects/puck-platform/packages/plugin-ai/src/components/PromptForm/styles.module.css#css-module
937
+ init_react_import();
938
+ var styles_module_default5 = { "PromptForm": "_PromptForm_136g1_1", "PromptForm-inner": "_PromptForm-inner_136g1_8", "PromptForm--dark": "_PromptForm--dark_136g1_14", "PromptForm--glow": "_PromptForm--glow_136g1_19", "PromptForm-glow": "_PromptForm-glow_136g1_19", "loop": "_loop_136g1_1", "PromptForm-formInner": "_PromptForm-formInner_136g1_60", "PromptForm-input": "_PromptForm-input_136g1_64", "PromptForm--disabled": "_PromptForm--disabled_136g1_92", "PromptForm-helper": "_PromptForm-helper_136g1_97", "PromptForm-actions": "_PromptForm-actions_136g1_107", "PromptForm-actionsLeft": "_PromptForm-actionsLeft_136g1_118", "PromptForm-actionsRight": "_PromptForm-actionsRight_136g1_124", "PromptForm-actionSubmit": "_PromptForm-actionSubmit_136g1_128", "PromptForm--isDisabled": "_PromptForm--isDisabled_136g1_147", "PromptForm--isLoading": "_PromptForm--isLoading_136g1_152" };
939
+
940
+ // src/components/PromptForm/index.tsx
941
+ import { jsx as jsx32, jsxs as jsxs20 } from "react/jsx-runtime";
942
+ var cx4 = getClassNameFactory("PromptForm", styles_module_default5);
943
+ function PromptForm({
944
+ actions,
945
+ colorScheme = "light",
946
+ glow,
947
+ handleSubmit,
948
+ helperText,
949
+ inputRef,
950
+ isDisabled,
951
+ isLoading,
952
+ placeholder = "Create a page for..."
953
+ }) {
954
+ const hasSetInitialPrompt = useRef2(false);
955
+ const [prompt, setPrompt] = useState11("");
956
+ const sendPrompt = () => {
957
+ if (isLoading || isDisabled) return;
958
+ if (handleSubmit) {
959
+ handleSubmit(prompt);
960
+ }
961
+ setPrompt("");
962
+ };
963
+ useEffect8(() => {
964
+ const currentUrl = new URL(location.href);
965
+ const initialPrompt = currentUrl.searchParams.get("initialPrompt");
966
+ if (!hasSetInitialPrompt.current && initialPrompt && prompt === "") {
967
+ hasSetInitialPrompt.current = true;
968
+ setPrompt(initialPrompt);
969
+ }
970
+ }, [setPrompt]);
971
+ return /* @__PURE__ */ jsxs20(
972
+ "div",
973
+ {
974
+ className: cx4({
975
+ isDisabled,
976
+ isLoading,
977
+ dark: colorScheme === "dark",
978
+ glow
979
+ }),
980
+ children: [
981
+ helperText ? /* @__PURE__ */ jsx32("div", { className: cx4("helper"), children: helperText }) : null,
982
+ /* @__PURE__ */ jsxs20("div", { className: cx4("inner"), children: [
983
+ /* @__PURE__ */ jsx32("span", { className: cx4("glow") }),
984
+ /* @__PURE__ */ jsx32(
985
+ "form",
986
+ {
987
+ onSubmit: (e) => {
988
+ e.preventDefault();
989
+ sendPrompt();
990
+ },
991
+ children: /* @__PURE__ */ jsxs20("div", { className: cx4("formInner"), children: [
992
+ /* @__PURE__ */ jsx32(
993
+ default2,
994
+ {
995
+ className: cx4("input"),
996
+ name: "prompt",
997
+ minRows: 2,
998
+ placeholder,
999
+ disabled: isDisabled,
1000
+ value: prompt,
1001
+ ref: inputRef,
1002
+ onChange: (e) => setPrompt(e.target.value),
1003
+ onKeyDown: (e) => {
1004
+ if (!e.shiftKey && e.key === "Enter") {
1005
+ e.preventDefault();
1006
+ }
1007
+ },
1008
+ onKeyUp: (e) => {
1009
+ if (!e.shiftKey && e.key === "Enter") {
1010
+ e.preventDefault();
1011
+ sendPrompt();
1012
+ }
1013
+ }
1014
+ }
1015
+ ),
1016
+ /* @__PURE__ */ jsxs20("div", { className: cx4("actions"), children: [
1017
+ /* @__PURE__ */ jsx32("div", { className: cx4("actionsLeft"), children: actions }),
1018
+ /* @__PURE__ */ jsx32("div", { className: cx4("actionsRight"), children: /* @__PURE__ */ jsx32(
1019
+ "button",
1020
+ {
1021
+ className: cx4("actionSubmit"),
1022
+ type: "submit",
1023
+ disabled: isLoading,
1024
+ children: /* @__PURE__ */ jsx32(ArrowUp, {})
1025
+ }
1026
+ ) })
1027
+ ] })
1028
+ ] })
1029
+ }
1030
+ )
1031
+ ] })
1032
+ ]
1033
+ }
1034
+ );
1035
+ }
1036
+
1037
+ // src/lib/context.ts
1038
+ init_react_import();
1039
+ import { createContext as createContext3 } from "react";
1040
+ var toolStatusContext = createContext3({});
1041
+ var ToolStatusProvider = toolStatusContext.Provider;
1042
+
1043
+ // src/components/ChatBody/index.tsx
1044
+ import { jsx as jsx33, jsxs as jsxs21 } from "react/jsx-runtime";
1045
+ var cx5 = getClassNameFactory("Chat", styles_module_default4);
1046
+ var cxMessage = getClassNameFactory("ChatMessage", styles_module_default4);
1047
+ var ignoredParts = ["data-puck-actions", "step-start", "step-finish"];
1048
+ function ChatBody({
1049
+ children,
1050
+ examplePrompts,
1051
+ handleSubmit,
1052
+ hideInput,
1053
+ inputRef,
1054
+ messages = [],
1055
+ status
1056
+ }) {
1057
+ const { scrollRef, contentRef } = useStickToBottom();
1058
+ const hasMessages = messages && messages.length > 0;
1059
+ return /* @__PURE__ */ jsxs21("div", { className: cx5({ hasMessages, hasChildren: !!children, hideInput }), children: [
1060
+ children ? /* @__PURE__ */ jsx33("div", { className: cx5("default"), children }) : null,
1061
+ /* @__PURE__ */ jsxs21("div", { className: cx5("inner"), ref: scrollRef, children: [
1062
+ /* @__PURE__ */ jsx33("div", { className: cx5("messages"), ref: contentRef, children: messages.toReversed().map((message) => /* @__PURE__ */ jsx33(ChatMessage, { message }, message.id)) }),
1063
+ status === "submitted" && /* @__PURE__ */ jsx33("div", { className: cx5("loader"), children: /* @__PURE__ */ jsx33(Loader, {}) }),
1064
+ /* @__PURE__ */ jsxs21("div", { className: cx5("form"), children: [
1065
+ /* @__PURE__ */ jsx33(
1066
+ PromptForm,
1067
+ {
1068
+ glow: !hasMessages,
1069
+ handleSubmit,
1070
+ inputRef,
1071
+ isLoading: status === "submitted" || status === "streaming",
1072
+ placeholder: "What do you want to build?"
1073
+ }
1074
+ ),
1075
+ examplePrompts ? /* @__PURE__ */ jsx33("div", { className: cx5("examplePrompts"), children: examplePrompts }) : null
1076
+ ] })
1077
+ ] })
1078
+ ] });
1079
+ }
1080
+ function ChatMessage({ message }) {
1081
+ const { role, parts } = message;
1082
+ return /* @__PURE__ */ jsx33(
1083
+ "div",
1084
+ {
1085
+ className: cxMessage({ [`${role}Role`]: true }),
1086
+ "data-message-id": message.id,
1087
+ children: parts.filter((part) => !ignoredParts.includes(part.type)).map((part, i) => /* @__PURE__ */ jsx33(
1088
+ ChatMessagePart,
1089
+ {
1090
+ part,
1091
+ role
1092
+ },
1093
+ `${message.id}-${part.type}-${i}`
1094
+ ))
1095
+ }
1096
+ );
1097
+ }
1098
+ function ChatMessageWrapper({
1099
+ children,
1100
+ role
1101
+ }) {
1102
+ if (role === "assistant") {
1103
+ return /* @__PURE__ */ jsx33(Markdown, { children });
1104
+ }
1105
+ return /* @__PURE__ */ jsx33("span", { children });
1106
+ }
1107
+ function ChatMessagePart({
1108
+ part,
1109
+ role
1110
+ }) {
1111
+ if (part.type === "text") {
1112
+ return /* @__PURE__ */ jsx33("div", { className: cxMessage("text"), children: /* @__PURE__ */ jsx33(ChatMessageWrapper, { role, children: part.text }) });
1113
+ }
1114
+ if (part.type === "tool-createPage") {
1115
+ return /* @__PURE__ */ jsx33(PuckTool, __spreadValues({}, part));
1116
+ }
1117
+ if (part.type === "tool-updatePage") {
1118
+ return /* @__PURE__ */ jsx33(PuckTool, __spreadValues({}, part));
1119
+ }
1120
+ if (part.type === "tool-userTool") {
1121
+ return /* @__PURE__ */ jsx33(PuckTool, __spreadValues({}, part));
1122
+ }
1123
+ return null;
1124
+ }
1125
+ function PuckTool({
1126
+ toolCallId,
1127
+ output,
1128
+ defaultLabel = "Thinking..."
1129
+ }) {
1130
+ const toolStatus = useContext3(toolStatusContext)[toolCallId];
1131
+ const outputObj = output;
1132
+ const status = outputObj && "status" in outputObj ? outputObj.status : toolStatus != null ? toolStatus : { loading: true, label: defaultLabel };
1133
+ return /* @__PURE__ */ jsx33(PuckAction, { description: status.label, loading: status.loading });
1134
+ }
1135
+ function PuckAction({
1136
+ loading,
1137
+ description
1138
+ }) {
1139
+ return /* @__PURE__ */ jsx33("div", { className: cxMessage("data"), children: /* @__PURE__ */ jsxs21("div", { className: cxMessage("dataInner"), children: [
1140
+ /* @__PURE__ */ jsx33("div", { className: cxMessage("dataIcon"), children: loading ? /* @__PURE__ */ jsx33(Loader, { size: 16 }) : /* @__PURE__ */ jsx33(Check, { size: 18 }) }),
1141
+ /* @__PURE__ */ jsx33("div", { children: description })
1142
+ ] }) });
1143
+ }
1144
+ function ExamplePrompt({
1145
+ label,
1146
+ href
1147
+ }) {
1148
+ return /* @__PURE__ */ jsxs21("a", { className: cx5("examplePrompt"), href, children: [
1149
+ /* @__PURE__ */ jsx33("div", { children: label }),
1150
+ /* @__PURE__ */ jsx33("div", { className: cx5("examplePromptArrow"), children: /* @__PURE__ */ jsx33(ArrowRight, { size: "16" }) })
1151
+ ] });
1152
+ }
1153
+
1154
+ // src/components/Chat/index.tsx
1155
+ import { jsx as jsx34, jsxs as jsxs22 } from "react/jsx-runtime";
1156
+ var prefixedUlid = (prefix = "") => `${prefix ? `${prefix}_` : ""}${ulid()}`;
1157
+ var getClassName24 = getClassNameFactory("Chat", styles_module_default3);
1158
+ var usePuck3 = createUsePuck();
1159
+ function Chat({
1160
+ chatId,
1161
+ examplePrompts,
1162
+ host = "/api/puck/chat",
1163
+ initialMessages = []
1164
+ }) {
1165
+ const puckDispatch = usePuck3((s) => s.dispatch);
1166
+ const getPuck = useGetPuck();
1167
+ const [localChatId, setLocalChatId] = useState12(chatId);
1168
+ const inputRef = useRef3(null);
1169
+ const pluginRef = useRef3(null);
1170
+ const [toolStatus, setToolStatus] = useState12({});
1171
+ const { messages, status, sendMessage } = useChat({
1172
+ generateId: () => prefixedUlid("msg"),
1173
+ messages: initialMessages,
1174
+ transport: new DefaultChatTransport({
1175
+ api: host,
1176
+ prepareSendMessagesRequest: (opts) => {
1177
+ return {
1178
+ body: __spreadProps(__spreadValues({}, opts.body), {
1179
+ id: opts.id,
1180
+ trigger: opts.trigger,
1181
+ messages: opts.messages,
1182
+ pageData: getPuck().appState.data,
1183
+ config: getPuck().config
1184
+ })
1185
+ };
1186
+ }
1187
+ }),
1188
+ onData: (dataPart) => {
1189
+ switch (dataPart.type) {
1190
+ case "data-new-chat-created": {
1191
+ setLocalChatId(dataPart.data.chatId);
1192
+ return;
1193
+ }
1194
+ case "data-puck-actions": {
1195
+ dataPart.data.forEach((action) => {
1196
+ try {
1197
+ puckDispatch(action);
1198
+ } catch (e) {
1199
+ console.error("Bad action: ", action);
1200
+ console.error(e);
1201
+ }
1202
+ });
1203
+ return;
1204
+ }
1205
+ case "data-tool-status": {
1206
+ setToolStatus((s) => __spreadProps(__spreadValues({}, s), {
1207
+ [dataPart.data.toolCallId]: dataPart.data.status
1208
+ }));
1209
+ return;
1210
+ }
1211
+ default:
1212
+ console.warn("dataPart without case:", dataPart);
1213
+ return;
1214
+ }
1215
+ }
1216
+ });
1217
+ const handleSubmit = (prompt) => {
1218
+ const text = prompt.trim();
1219
+ if (!text) {
1220
+ return;
1221
+ }
1222
+ sendMessage(
1223
+ {
1224
+ text
1225
+ },
1226
+ {
1227
+ body: {
1228
+ chatId: localChatId
1229
+ }
1230
+ }
1231
+ ).catch((e) => {
1232
+ console.error(e);
1233
+ });
1234
+ };
1235
+ const messagesWithStatuses = useMemo2(() => {
1236
+ return messages.map((msg) => {
1237
+ return __spreadProps(__spreadValues({}, msg), {
1238
+ parts: msg.parts.map((part) => {
1239
+ if ("toolCallId" in part) {
1240
+ return __spreadProps(__spreadValues({}, part), { status: toolStatus[part.toolCallId] });
1241
+ }
1242
+ return part;
1243
+ })
1244
+ });
1245
+ });
1246
+ }, [messages, toolStatus]);
1247
+ return /* @__PURE__ */ jsxs22("div", { className: getClassName24(), ref: pluginRef, children: [
1248
+ /* @__PURE__ */ jsx34("div", { className: getClassName24("header"), children: "AI page builder" }),
1249
+ /* @__PURE__ */ jsx34(ToolStatusProvider, { value: toolStatus, children: /* @__PURE__ */ jsx34(
1250
+ ChatBody,
1251
+ {
1252
+ messages: messagesWithStatuses,
1253
+ handleSubmit,
1254
+ inputRef,
1255
+ status,
1256
+ examplePrompts: examplePrompts == null ? void 0 : examplePrompts.map(({ label, href }) => /* @__PURE__ */ jsx34(ExamplePrompt, { label, href }, label)),
1257
+ children: /* @__PURE__ */ jsx34(
1258
+ Placeholder,
1259
+ {
1260
+ dispatch: puckDispatch,
1261
+ inputRef,
1262
+ pluginRef
1263
+ }
1264
+ )
1265
+ }
1266
+ ) })
1267
+ ] });
1268
+ }
1269
+ function Placeholder({
1270
+ dispatch,
1271
+ inputRef,
1272
+ pluginRef
1273
+ }) {
1274
+ const handleEnterPromptClick = () => {
1275
+ var _a;
1276
+ (_a = inputRef.current) == null ? void 0 : _a.focus({ preventScroll: true });
1277
+ setTimeout(() => {
1278
+ if (pluginRef.current && inputRef.current && !isScrolledIntoView(inputRef.current)) {
1279
+ const box = pluginRef.current.getBoundingClientRect();
1280
+ const top = box.top - (window.innerHeight - box.height) / 2;
1281
+ window.scrollTo({
1282
+ behavior: "smooth",
1283
+ top
1284
+ });
1285
+ }
1286
+ }, 10);
1287
+ };
1288
+ return /* @__PURE__ */ jsxs22("div", { className: getClassName24("placeholder"), children: [
1289
+ /* @__PURE__ */ jsx34(Bot, { size: "24" }),
1290
+ /* @__PURE__ */ jsx34("div", { children: "Use AI to build a page using your own components" }),
1291
+ /* @__PURE__ */ jsxs22("div", { className: getClassName24("actions"), children: [
1292
+ /* @__PURE__ */ jsx34(
1293
+ "button",
1294
+ {
1295
+ className: getClassName24("action"),
1296
+ onClick: handleEnterPromptClick,
1297
+ children: "Enter prompt"
1298
+ }
1299
+ ),
1300
+ /* @__PURE__ */ jsx34(
1301
+ "button",
1302
+ {
1303
+ className: getClassName24("actionOutlined"),
1304
+ onClick: () => {
1305
+ dispatch({
1306
+ type: "setUi",
1307
+ ui: { plugin: { current: "blocks" } }
1308
+ });
1309
+ },
1310
+ children: "Build manually"
1311
+ }
1312
+ )
1313
+ ] })
1314
+ ] });
1315
+ }
1316
+ function isScrolledIntoView(el) {
1317
+ const rect = el.getBoundingClientRect();
1318
+ const elemTop = rect.top;
1319
+ const elemBottom = rect.bottom;
1320
+ return elemTop >= 0 && elemBottom <= window.innerHeight;
1321
+ }
1322
+
1323
+ // src/index.tsx
1324
+ import { jsx as jsx35 } from "react/jsx-runtime";
1325
+ function createAIPlugin(opts) {
1326
+ return {
1327
+ label: "AI",
1328
+ name: "ai",
1329
+ render: () => /* @__PURE__ */ jsx35(Chat, __spreadValues({}, opts)),
1330
+ icon: /* @__PURE__ */ jsx35(Bot, {}),
1331
+ mobilePanelHeight: "min-content"
1332
+ };
1333
+ }
1334
+ var src_default = createAIPlugin;
1335
+ export {
1336
+ ChatBody,
1337
+ src_default as default
1338
+ };
1339
+ /*! Bundled license information:
1340
+
1341
+ classnames/index.js:
1342
+ (*!
1343
+ Copyright (c) 2018 Jed Watson.
1344
+ Licensed under the MIT License (MIT), see
1345
+ http://jedwatson.github.io/classnames
1346
+ *)
1347
+
1348
+ lucide-react/dist/esm/shared/src/utils.js:
1349
+ lucide-react/dist/esm/defaultAttributes.js:
1350
+ lucide-react/dist/esm/Icon.js:
1351
+ lucide-react/dist/esm/createLucideIcon.js:
1352
+ lucide-react/dist/esm/icons/arrow-right.js:
1353
+ lucide-react/dist/esm/icons/arrow-up.js:
1354
+ lucide-react/dist/esm/icons/bot.js:
1355
+ lucide-react/dist/esm/icons/check.js:
1356
+ lucide-react/dist/esm/lucide-react.js:
1357
+ (**
1358
+ * @license lucide-react v0.452.0 - ISC
1359
+ *
1360
+ * This source code is licensed under the ISC license.
1361
+ * See the LICENSE file in the root directory of this source tree.
1362
+ *)
1363
+ */