@chaibuilder/sdk 2.0.0-beta.10 → 2.0.0-beta.102

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.
Files changed (53) hide show
  1. package/README.md +1 -3
  2. package/dist/ChaiThemeFn-Cort9tch.js +201 -0
  3. package/dist/ChaiThemeFn-DQu-2Eh9.cjs +13 -0
  4. package/dist/CodeEditor-BQTYQosF.cjs +1 -0
  5. package/dist/CodeEditor-DyWk02_x.js +65 -0
  6. package/dist/Topbar-BhwvnJJc.cjs +1 -0
  7. package/dist/Topbar-BuWEmzZG.js +16 -0
  8. package/dist/chaibuilder-logo.png +0 -0
  9. package/dist/context-menu-CeqJxblw.cjs +1 -0
  10. package/dist/context-menu-iqXuo9Yt.js +907 -0
  11. package/dist/core.cjs +7 -18
  12. package/dist/core.d.ts +79 -46
  13. package/dist/core.js +5564 -5309
  14. package/dist/getSplitClasses-DodqA_KW.cjs +1 -0
  15. package/dist/getSplitClasses-DphwgQiE.js +48 -0
  16. package/dist/{iconBase-Ief2hJUZ.js → iconBase-DHfFLkem.js} +6 -12
  17. package/dist/mockServiceWorker.js +39 -24
  18. package/dist/plugin-2xcljWGM.cjs +1 -0
  19. package/dist/plugin-kUMxtQR5.js +24 -0
  20. package/dist/render.cjs +2 -2
  21. package/dist/render.d.ts +41 -16
  22. package/dist/render.js +166 -139
  23. package/dist/runtime.cjs +1 -1
  24. package/dist/runtime.d.ts +6 -1
  25. package/dist/runtime.js +0 -20
  26. package/dist/{style.css → sdk.css} +1 -1
  27. package/dist/tailwind.cjs +1 -1
  28. package/dist/tailwind.d.ts +37 -26
  29. package/dist/tailwind.js +8 -10
  30. package/dist/ui.cjs +1 -1
  31. package/dist/ui.d.ts +12 -51
  32. package/dist/ui.js +194 -433
  33. package/dist/web-blocks.cjs +2 -2
  34. package/dist/web-blocks.d.ts +6 -0
  35. package/dist/web-blocks.js +1230 -813
  36. package/package.json +136 -132
  37. package/dist/CodeEditor-9qjIOTD0.js +0 -126
  38. package/dist/CodeEditor-pceepCns.cjs +0 -1
  39. package/dist/STRINGS-Xxstm-7I.js +0 -7
  40. package/dist/STRINGS-Yl7cSWDc.cjs +0 -1
  41. package/dist/Topbar-7bGqLcSJ.js +0 -73
  42. package/dist/Topbar-EXPx1Yg2.cjs +0 -1
  43. package/dist/context-menu-4nQs6OxC.cjs +0 -1
  44. package/dist/context-menu-oLipAPzI.js +0 -817
  45. package/dist/controls-lEwMTdPQ.js +0 -234
  46. package/dist/controls-p9IwFnPx.cjs +0 -1
  47. package/dist/jsx-runtime-JYMCiFoE.cjs +0 -27
  48. package/dist/jsx-runtime-Sp0orL4X.js +0 -631
  49. package/dist/plugin-Dm5EFGnP.cjs +0 -1
  50. package/dist/plugin-KIpT3NWi.cjs +0 -1
  51. package/dist/plugin-PFjzFeON.js +0 -97
  52. package/dist/plugin-ooqqxWRQ.js +0 -55
  53. /package/dist/{iconBase-aZzpqff_.cjs → iconBase-Cn2BsTrq.cjs} +0 -0
@@ -1,350 +1,627 @@
1
- import { registerChaiBlock as u } from "@chaibuilder/runtime";
2
- import { j as s } from "./jsx-runtime-Sp0orL4X.js";
3
- import * as b from "react";
4
- import { T as m, y as v, x as C, g as p, q as N, s as B, l as T, f as L, m as S, w as D, c as y, b as F, S as G } from "./controls-lEwMTdPQ.js";
5
- import { c as j, G as V, g as I } from "./iconBase-Ief2hJUZ.js";
6
- import { ButtonIcon as H, CodeIcon as U, HeadingIcon as O, TextIcon as W, CursorTextIcon as X, Link1Icon as Y, ImageIcon as z, RowsIcon as Z, ColumnsIcon as J, SketchLogoIcon as K, VideoIcon as Q, DividerHorizontalIcon as ee, MoonIcon as te, SpaceBetweenVerticallyIcon as A, GroupIcon as le, InputIcon as R, RadiobuttonIcon as oe, DropdownMenuIcon as ae, CheckboxIcon as se } from "@radix-ui/react-icons";
7
- import { isNull as re, isEmpty as k, get as w, pick as ne, omit as ie, map as M } from "lodash-es";
8
- import { GlobeIcon as ce } from "lucide-react";
9
- import "clsx";
10
- import "tailwind-merge";
11
- const de = ({ className: e = "", inBuilder: l }) => l ? /* @__PURE__ */ s.jsx("div", { className: j("pointer-events-none flex h-20 flex-col items-center justify-center p-2", e), children: /* @__PURE__ */ s.jsx("div", { className: "h-full w-full rounded bg-gray-200 p-2 dark:bg-gray-800", children: /* @__PURE__ */ s.jsx("div", { className: "flex h-full w-full items-center justify-center outline-dashed outline-1 -outline-offset-1 outline-gray-400 duration-300 dark:outline-gray-700" }) }) }) : null, _ = de, ue = (e) => {
12
- const { blockProps: l, inBuilder: t, backgroundImage: o, children: a, tag: r = "div", styles: n } = e;
13
- let i = a;
14
- a || (i = /* @__PURE__ */ s.jsx(_, { inBuilder: t }));
1
+ import { registerChaiBlockSchema as m, StylesProp as u, registerChaiBlock as d } from "@chaibuilder/runtime";
2
+ import { jsx as i, jsxs as b, Fragment as R } from "react/jsx-runtime";
3
+ import * as f from "react";
4
+ import { createElement as L } from "react";
5
+ import { c as C, G as A, g as I } from "./iconBase-DHfFLkem.js";
6
+ import { ButtonIcon as T, CodeIcon as H, HeadingIcon as z, TextIcon as F, CursorTextIcon as j, DividerHorizontalIcon as D, SketchLogoIcon as q, ImageIcon as $, Link1Icon as G, RowsIcon as U, ColumnsIcon as V, SpaceBetweenVerticallyIcon as O, VideoIcon as W, CheckboxIcon as X, InputIcon as E, LetterCaseToggleIcon as Y, RadiobuttonIcon as Z, DropdownMenuIcon as J } from "@radix-ui/react-icons";
7
+ import { isEmpty as w, get as h, isNull as K, pick as Q, omit as ee, map as P } from "lodash-es";
8
+ import { GlobeIcon as te, GroupIcon as le, Columns as oe, Rows as ne } from "lucide-react";
9
+ const v = ({ className: e = "", inBuilder: l }) => l ? /* @__PURE__ */ i("div", { className: C("pointer-events-none flex h-20 flex-col items-center justify-center p-2", e), children: /* @__PURE__ */ i("div", { className: "h-full w-full rounded bg-gray-200 p-2 dark:bg-gray-800", children: /* @__PURE__ */ i("div", { className: "flex h-full w-full items-center justify-center outline-dashed outline-1 -outline-offset-1 outline-gray-400 duration-300 dark:outline-gray-700" }) }) }) : null, re = (e) => {
10
+ const { blockProps: l, inBuilder: t, backgroundImage: n, children: o, tag: r = "div", styles: s } = e;
11
+ let a = o;
12
+ o || (a = /* @__PURE__ */ i(v, { inBuilder: t }));
15
13
  let c = {};
16
- return o && (c = { backgroundImage: `url(${o})` }), b.createElement(r, { ...l, ...n, style: c }, i);
17
- }, pe = {
14
+ return n && (c = { backgroundImage: `url(${n})` }), f.createElement(r, { ...l, ...s, style: c }, a);
15
+ }, ie = {
18
16
  type: "Box",
19
- label: "web_blocks.box",
17
+ label: "Box",
20
18
  category: "core",
21
19
  group: "basic",
22
- props: {
23
- styles: m({ default: "" }),
24
- tag: v({
25
- title: "web_blocks.tag",
26
- default: "div",
27
- options: [
28
- { value: "div", title: "web_blocks.div" },
29
- { value: "header", title: "web_blocks.header" },
30
- { value: "footer", title: "web_blocks.footer" },
31
- { value: "section", title: "web_blocks.section" },
32
- { value: "article", title: "web_blocks.article" },
33
- { value: "aside", title: "web_blocks.aside" },
34
- { value: "main", title: "web_blocks.main" },
35
- { value: "nav", title: "web_blocks.nav" },
36
- { value: "figure", title: "web_blocks.figure" },
37
- { value: "details", title: "web_blocks.details" },
38
- { value: "summary", title: "web_blocks.summary" },
39
- { value: "dialog", title: "web_blocks.dialog" },
40
- { value: "strike", title: "web_blocks.strike" },
41
- { value: "caption", title: "web_blocks.caption" },
42
- { value: "legend", title: "web_blocks.legend" },
43
- { value: "figcaption", title: "web_blocks.figcaption" },
44
- { value: "mark", title: "web_blocks.mark" }
45
- ]
46
- }),
47
- backgroundImage: C({ title: "web_blocks.background_image" })
48
- },
20
+ ...m({
21
+ properties: {
22
+ styles: u(""),
23
+ backgroundImage: {
24
+ type: "string",
25
+ default: "",
26
+ title: "Background Image",
27
+ ui: { "ui:widget": "image" }
28
+ },
29
+ tag: {
30
+ type: "string",
31
+ default: "div",
32
+ title: "Tag",
33
+ oneOf: [
34
+ { const: "div", title: "div" },
35
+ { const: "header", title: "header" },
36
+ { const: "footer", title: "footer" },
37
+ { const: "section", title: "section" },
38
+ { const: "article", title: "article" },
39
+ { const: "aside", title: "aside" },
40
+ { const: "main", title: "main" },
41
+ { const: "nav", title: "nav" },
42
+ { const: "figure", title: "figure" },
43
+ { const: "details", title: "details" },
44
+ { const: "summary", title: "summary" },
45
+ { const: "dialog", title: "dialog" },
46
+ { const: "strike", title: "strike" },
47
+ { const: "caption", title: "caption" },
48
+ { const: "legend", title: "legend" },
49
+ { const: "figcaption", title: "figcaption" },
50
+ { const: "mark", title: "mark" }
51
+ ]
52
+ }
53
+ }
54
+ }),
49
55
  canAcceptBlock: () => !0
50
- }, be = (e) => {
51
- const { blockProps: l, iconSize: t, icon: o, content: a, iconPos: r, styles: n, children: i } = e, c = o, d = i || /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
52
- /* @__PURE__ */ s.jsx("span", { "data-ai-key": "content", children: a }),
53
- c && /* @__PURE__ */ s.jsx(
56
+ }, se = (e) => {
57
+ const { blockProps: l, iconSize: t, icon: n, content: o, styles: r, children: s, iconPos: a, link: c, inBuilder: y } = e, g = n, k = s || /* @__PURE__ */ b(R, { children: [
58
+ /* @__PURE__ */ i("span", { "data-ai-key": "content", children: o }),
59
+ g && /* @__PURE__ */ i(
54
60
  "div",
55
61
  {
56
62
  style: { width: t + "px" },
57
- className: r + " " + (r === "order-first" ? "mr-2" : "ml-2") || "",
58
- dangerouslySetInnerHTML: { __html: c }
63
+ className: a + " " + (a === "order-first" ? "mr-2" : "ml-2") || "",
64
+ dangerouslySetInnerHTML: { __html: g }
59
65
  }
60
66
  )
61
- ] });
62
- return b.createElement(
67
+ ] }), p = L(
63
68
  "button",
64
69
  {
65
70
  ...l,
66
- ...n,
67
- type: "button"
71
+ ...r,
72
+ type: "button",
73
+ "aria-label": o
68
74
  },
69
- d
75
+ k
70
76
  );
71
- }, me = {
77
+ return w(h(c, "href")) ? p : y ? /* @__PURE__ */ i("span", { children: p }) : /* @__PURE__ */ i("a", { "aria-label": o, href: h(c, "href") || "/", target: h(c, "target", "_self"), children: p });
78
+ }, ae = {
72
79
  type: "Button",
73
- label: "web_blocks.button",
80
+ label: "Button",
74
81
  category: "core",
75
- icon: H,
82
+ icon: T,
76
83
  group: "basic",
77
- props: {
78
- content: p({ title: "web_blocks.label", default: "Button", ai: !0, i18n: !0 }),
79
- styles: m({ default: "text-white bg-primary px-4 py-2 rounded-global flex items-center" }),
80
- icon: N({ title: "web_blocks.icon", default: "" }),
81
- iconSize: B({ title: "web_blocks.icon_size", default: 24 }),
82
- iconPos: v({
83
- title: "web_blocks.icon_position",
84
- default: "order-last",
85
- options: [
86
- { title: "web_blocks.start", value: "order-first" },
87
- { title: "web_blocks.end", value: "order-last" }
88
- ]
89
- })
90
- }
91
- }, fe = (e) => {
92
- const { blockProps: l, styles: t, htmlCode: o, inBuilder: a } = e;
93
- return a ? /* @__PURE__ */ s.jsxs("div", { className: "relative", children: [
94
- a ? /* @__PURE__ */ s.jsx("div", { ...l, ...t, className: "absolute z-20 h-full w-full" }) : null,
95
- b.createElement("div", {
84
+ ...m({
85
+ properties: {
86
+ styles: u("text-primary-foreground bg-primary px-4 py-2 rounded-lg flex items-center"),
87
+ content: {
88
+ type: "string",
89
+ title: "Button label",
90
+ default: "Button"
91
+ },
92
+ icon: {
93
+ type: "string",
94
+ title: "Icon",
95
+ default: "",
96
+ ui: { "ui:widget": "icon" }
97
+ },
98
+ iconSize: {
99
+ type: "number",
100
+ title: "Icon size",
101
+ default: 16
102
+ },
103
+ iconPos: {
104
+ type: "string",
105
+ title: "Icon position",
106
+ default: "order-last",
107
+ enum: ["order-first", "order-last"]
108
+ },
109
+ link: {
110
+ type: "object",
111
+ properties: {
112
+ type: { type: "string" },
113
+ href: { type: "string" },
114
+ target: { type: "string" }
115
+ },
116
+ default: {
117
+ type: "url",
118
+ href: "",
119
+ target: "_self"
120
+ },
121
+ ui: {
122
+ "ui:field": "link"
123
+ }
124
+ }
125
+ }
126
+ }),
127
+ i18nProps: ["content"],
128
+ aiProps: ["content"]
129
+ }, ce = (e) => {
130
+ const { blockProps: l, styles: t, htmlCode: n, inBuilder: o } = e;
131
+ return o ? /* @__PURE__ */ b("div", { className: "relative", children: [
132
+ o ? /* @__PURE__ */ i("div", { ...l, ...t, className: "absolute z-20 h-full w-full" }) : null,
133
+ f.createElement("div", {
96
134
  ...t,
97
- dangerouslySetInnerHTML: { __html: o.replace(/<script.*?>.*?<\/script>/g, "") }
135
+ dangerouslySetInnerHTML: { __html: n.replace(/<script.*?>.*?<\/script>/g, "") }
98
136
  })
99
- ] }) : b.createElement("div", {
137
+ ] }) : f.createElement("div", {
100
138
  ...l,
101
139
  ...t,
102
- dangerouslySetInnerHTML: { __html: o }
140
+ dangerouslySetInnerHTML: { __html: n }
103
141
  });
104
- }, he = {
142
+ }, pe = {
105
143
  type: "CustomHTML",
106
144
  label: "web_blocks.custom_html",
107
145
  category: "core",
108
- icon: U,
146
+ icon: H,
109
147
  group: "advanced",
110
- props: {
111
- styles: m({ default: "" }),
112
- htmlCode: T({
113
- title: "web_blocks.html_code",
114
- default: "<div><p>Enter your HTML code here...</p></div>",
115
- placeholder: "web_blocks.placeholder"
116
- })
117
- }
118
- }, ye = b.memo(
119
- (e) => {
120
- const { blockProps: l, styles: t, backgroundImage: o } = e;
121
- let a = {};
122
- return o && (a = { backgroundImage: `url(${o})` }), b.createElement("div", { ...l, ...t, style: a });
123
- }
124
- ), ge = {
148
+ ...m({
149
+ properties: {
150
+ styles: u(""),
151
+ htmlCode: {
152
+ type: "string",
153
+ default: "<div><p>Enter your HTML code here...</p></div>",
154
+ ui: { "ui:widget": "code" }
155
+ }
156
+ }
157
+ })
158
+ }, ue = (e) => {
159
+ const { blockProps: l, styles: t, backgroundImage: n } = e;
160
+ let o = {};
161
+ return n && (o = { backgroundImage: `url(${n})` }), f.createElement("div", { ...l, ...t, style: o });
162
+ }, de = {
125
163
  type: "EmptyBox",
126
- label: "web_blocks.empty_box",
164
+ label: "Empty Box",
127
165
  category: "core",
128
166
  group: "basic",
129
- props: {
130
- styles: m({ default: "" }),
131
- backgroundImage: C({ title: "Background Image" })
132
- }
133
- }, ke = (e) => {
134
- const { blockProps: l, styles: t, content: o, level: a = "h1", children: r = null } = e;
135
- return r ? b.createElement(a, { ...t, ...l }, r) : b.createElement(a, {
167
+ ...m({
168
+ properties: {
169
+ styles: u(""),
170
+ backgroundImage: {
171
+ type: "string",
172
+ title: "Background Image",
173
+ default: "",
174
+ ui: { "ui:widget": "image" }
175
+ }
176
+ }
177
+ })
178
+ }, me = (e) => {
179
+ const { blockProps: l, styles: t, content: n, tag: o = "h1", children: r = null } = e;
180
+ return r ? f.createElement(o, { ...t, ...l }, r) : f.createElement(o, {
136
181
  ...t,
137
182
  ...l,
138
- "data-ai-key": "content",
139
- "data-ai-type": "html",
140
- dangerouslySetInnerHTML: { __html: o }
183
+ dangerouslySetInnerHTML: { __html: n }
141
184
  });
142
- }, xe = {
185
+ }, ye = {
143
186
  type: "Heading",
144
187
  label: "web_blocks.heading",
145
188
  category: "core",
146
- icon: O,
189
+ icon: z,
147
190
  group: "typography",
148
- props: {
149
- level: v({
150
- title: "web_blocks.level",
151
- default: "h2",
152
- binding: !1,
153
- options: [
154
- { value: "h1", title: "h1" },
155
- { value: "h2", title: "h2" },
156
- { value: "h3", title: "h3" },
157
- { value: "h4", title: "h4" },
158
- { value: "h5", title: "h5" },
159
- { value: "h6", title: "h6" }
160
- ]
161
- }),
162
- styles: m({ default: "text-3xl" }),
163
- content: L({ title: "Content", default: "Heading goes here", ai: !0, i18n: !0 })
164
- },
191
+ ...m({
192
+ properties: {
193
+ tag: {
194
+ type: "string",
195
+ default: "h2",
196
+ title: "Level",
197
+ enum: ["h1", "h2", "h3", "h4", "h5", "h6"]
198
+ },
199
+ styles: u("text-3xl"),
200
+ content: {
201
+ type: "string",
202
+ default: "Heading goes here",
203
+ title: "Content",
204
+ ui: { "ui:widget": "textarea" }
205
+ }
206
+ }
207
+ }),
208
+ aiProps: ["content"],
209
+ i18nProps: ["content"],
165
210
  canAcceptBlock: (e) => e === "Span" || e === "Text"
166
- }, we = (e) => {
167
- const { blockProps: l, styles: t, content: o } = e;
168
- return re(e.children) ? b.createElement("p", {
211
+ }, ge = (e) => {
212
+ const { blockProps: l, styles: t, content: n } = e;
213
+ return K(e.children) ? f.createElement("p", {
169
214
  ...t,
170
215
  ...l,
171
- "data-ai-key": "content",
172
- "data-ai-type": "html",
173
- dangerouslySetInnerHTML: { __html: o }
174
- }) : b.createElement("p", { ...t, ...l }, e.children);
175
- }, ve = {
216
+ dangerouslySetInnerHTML: { __html: n }
217
+ }) : f.createElement("p", { ...t, ...l }, e.children);
218
+ }, fe = {
176
219
  type: "Paragraph",
177
220
  label: "Paragraph",
178
221
  category: "core",
179
- icon: W,
222
+ icon: F,
180
223
  group: "typography",
181
- props: {
182
- styles: m({ default: "" }),
183
- content: L({
184
- title: "Content",
185
- default: `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique.
224
+ ...m({
225
+ properties: {
226
+ styles: u(""),
227
+ content: {
228
+ type: "string",
229
+ title: "Content",
230
+ default: `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique.
186
231
  Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus
187
232
  nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.`,
188
- ai: !0,
189
- i18n: !0
190
- })
191
- },
233
+ ui: { "ui:widget": "textarea", "ui:autosize": !0, "ui:rows": 5 }
234
+ }
235
+ }
236
+ }),
237
+ i18nProps: ["content"],
238
+ aiProps: ["content"],
192
239
  canAcceptBlock: (e) => e === "Span" || e === "Link" || e === "Text"
193
- }, _e = (e) => {
194
- const { blockProps: l, styles: t, content: o, children: a = null, tag: r } = e;
195
- return a ? b.createElement("span", { ...t, ...l }, a) : b.createElement(r || "span", {
240
+ }, _ = (e, ...l) => ({
241
+ ...e,
242
+ className: C(e.className, ...l)
243
+ }), be = (e) => {
244
+ const { blockProps: l, content: t, styles: n } = e, o = _(n, "prose", "max-w-full");
245
+ return /* @__PURE__ */ i("div", { ...l, ...o, dangerouslySetInnerHTML: { __html: t } });
246
+ }, he = {
247
+ type: "RichText",
248
+ label: "Rich Text",
249
+ category: "core",
250
+ icon: j,
251
+ group: "typography",
252
+ ...m({
253
+ properties: {
254
+ styles: u(""),
255
+ content: {
256
+ type: "string",
257
+ title: "Content",
258
+ default: "<p>This is a rich text block. You can add text, and other content here.</p>",
259
+ ui: { "ui:widget": "richtext" }
260
+ }
261
+ }
262
+ }),
263
+ aiProps: ["content"],
264
+ i18nProps: ["content"]
265
+ }, ke = (e) => {
266
+ const { blockProps: l, styles: t, content: n, children: o = null, tag: r } = e;
267
+ return o ? f.createElement("span", { ...t, ...l }, o) : f.createElement(r || "span", {
196
268
  ...t,
197
269
  ...l,
198
- "data-ai-key": "content",
199
- dangerouslySetInnerHTML: { __html: o || "" }
270
+ dangerouslySetInnerHTML: { __html: n || "" }
200
271
  });
201
- }, Ie = {
272
+ }, we = {
202
273
  type: "Span",
203
274
  label: "Span",
204
275
  category: "core",
205
276
  group: "typography",
206
- props: {
207
- styles: m({ default: "" }),
208
- content: L({ title: "Content", default: "", ai: !0, i18n: !0 })
209
- },
277
+ ...m({
278
+ properties: {
279
+ styles: u(""),
280
+ content: {
281
+ type: "string",
282
+ title: "Content",
283
+ default: "",
284
+ ui: { "ui:widget": "textarea", "ui:autosize": !0, "ui:rows": 3 }
285
+ }
286
+ }
287
+ }),
288
+ aiProps: ["content"],
289
+ i18nProps: ["content"],
210
290
  canAcceptBlock: () => !0
291
+ };
292
+ function xe(e) {
293
+ return A({ tag: "svg", attr: { version: "1.1", viewBox: "0 0 32 32" }, child: [{ tag: "path", attr: { d: "M4.698 3.419l2.057 23.073 9.231 2.563 9.256-2.566 2.059-23.069h-22.604zM13.226 9.394l-0.409 4.441 9.671 0.001-0.069 0.76-0.665 7.45-0.042 0.478-5.804 1.609-5.796-1.609-0.396-4.443h2.84l0.202 2.257 3.154 0.85 3.156-0.852 0.328-3.67-9.671-0.001 0.069-0.76 0.665-7.45 0.209-2.086h11.287l0.131 1.598 0.403 4.453h-2.841l-0.262-2.922-2.889-0.174h-0.515v-0.004l-2.755 0.074z" }, child: [] }] })(e);
294
+ }
295
+ const Le = (e) => {
296
+ const { scripts: l, inBuilder: t, blockProps: n } = e;
297
+ return t ? /* @__PURE__ */ i("div", { ...n, children: /* @__PURE__ */ i("div", { className: C("pointer-events-none flex flex-col items-center justify-center p-2", ""), children: /* @__PURE__ */ i("div", { className: "h-full w-full rounded bg-gray-200 p-1 dark:bg-gray-800", children: /* @__PURE__ */ i("p", { className: "text-left text-xs text-gray-400", children: "Scripts will be only executed in preview and live mode. Place your script at the bottom of the" }) }) }) }) : /* @__PURE__ */ i("div", { dangerouslySetInnerHTML: { __html: l } });
298
+ }, ve = {
299
+ type: "CustomScript",
300
+ label: "web_blocks.custom_script",
301
+ category: "core",
302
+ icon: xe,
303
+ group: "advanced",
304
+ ...m({
305
+ properties: {
306
+ scripts: {
307
+ type: "string",
308
+ title: "Script",
309
+ default: "",
310
+ format: "code",
311
+ placeholder: "<script>console.log('Hello, world!');<\/script>"
312
+ }
313
+ }
314
+ })
315
+ }, Ie = (e) => {
316
+ const { blockProps: l, styles: t } = e;
317
+ return L("hr", { ...t, ...l });
318
+ }, Ce = {
319
+ type: "Divider",
320
+ label: "web_blocks.divider",
321
+ category: "core",
322
+ icon: D,
323
+ group: "basic",
324
+ ...m({
325
+ properties: {
326
+ styles: u("bg-gray-900 h-0.5 py-2 my-1")
327
+ }
328
+ })
211
329
  }, Be = (e) => {
212
- const { blockProps: l, content: t, styles: o } = e;
213
- return /* @__PURE__ */ s.jsx("div", { className: "max-w-full", children: /* @__PURE__ */ s.jsx(
330
+ const { blockProps: l, inBuilder: t, children: n, globalBlock: o } = e;
331
+ return t && !o ? /* @__PURE__ */ b(
214
332
  "div",
215
333
  {
216
- "data-ai-key": "content",
217
- "data-ai-type": "richtext",
334
+ className: "flex flex-col items-center justify-center gap-y-1 rounded-lg bg-gray-100 py-4 dark:bg-gray-800",
218
335
  ...l,
219
- ...o,
220
- dangerouslySetInnerHTML: { __html: t }
336
+ children: [
337
+ /* @__PURE__ */ b("h1", { children: [
338
+ "Global Block - ",
339
+ o
340
+ ] }),
341
+ /* @__PURE__ */ i("p", { children: "Choose a block from the sidebar to add it to this page." })
342
+ ]
221
343
  }
222
- ) });
223
- }, Le = {
224
- type: "RichText",
225
- label: "Rich Text",
344
+ ) : f.createElement("span", { ...l }, n);
345
+ }, _e = {
346
+ type: "GlobalBlock",
347
+ label: "Global Block",
348
+ icon: te,
226
349
  category: "core",
227
- icon: X,
228
- group: "typography",
229
- props: {
230
- styles: m({ default: "" }),
231
- content: S({
232
- title: "Content",
233
- ai: !0,
234
- i18n: !0,
235
- default: "<p>This is a rich text block. You can add text, and other content here.</p>"
236
- })
237
- }
238
- }, je = (e) => {
239
- const { blockProps: l, link: t, children: o, styles: a, inBuilder: r, content: n } = e;
240
- let i = {};
241
- return !o && k(n) && (i = { minHeight: "50px", display: "flex", alignItems: "center", justifyContent: "center" }), r ? o ? /* @__PURE__ */ s.jsx("span", { ...l, style: i, ...a, children: o }) : b.createElement(
350
+ group: "basic",
351
+ ...m({
352
+ properties: {
353
+ globalBlock: {
354
+ type: "string",
355
+ title: "Global Block",
356
+ default: "",
357
+ ui: { "ui:widget": "hidden" }
358
+ }
359
+ }
360
+ })
361
+ }, Pe = (e) => {
362
+ const { blockProps: l, icon: t, styles: n, width: o, inBuilder: r, height: s } = e, a = _(n, "");
363
+ if (w(t))
364
+ return /* @__PURE__ */ i(v, { inBuilder: r, className: "h-8 w-14" });
365
+ const c = t.replace(/<svg /g, '<svg class="w-[inherit] h-[inherit]" ');
366
+ return f.createElement("span", {
367
+ ...l,
368
+ ...a,
369
+ style: {
370
+ width: o ? `${o}px` : "auto",
371
+ height: s ? `${s}px` : "auto"
372
+ },
373
+ dangerouslySetInnerHTML: { __html: c }
374
+ });
375
+ }, Se = {
376
+ type: "Icon",
377
+ label: "web_blocks.icon",
378
+ category: "core",
379
+ icon: q,
380
+ group: "media",
381
+ ...m({
382
+ properties: {
383
+ styles: u(""),
384
+ icon: {
385
+ type: "string",
386
+ title: "Icon",
387
+ default: '<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M8 16c4.418 0 8-3.582 8-8s-3.582-8-8-8-8 3.582-8 8 3.582 8 8 8zM8 1.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5-6.5-2.91-6.5-6.5 2.91-6.5 6.5-6.5zM8 9.356c1.812 0 3.535-0.481 5-1.327-0.228 2.788-2.393 4.971-5 4.971s-4.772-2.186-5-4.973c1.465 0.845 3.188 1.329 5 1.329zM4 5.5c0-0.828 0.448-1.5 1-1.5s1 0.672 1 1.5c0 0.828-0.448 1.5-1 1.5s-1-0.672-1-1.5zM10 5.5c0-0.828 0.448-1.5 1-1.5s1 0.672 1 1.5c0 0.828-0.448 1.5-1 1.5s-1-0.672-1-1.5z"></path></svg>',
388
+ ui: { "ui:widget": "icon" }
389
+ },
390
+ width: {
391
+ type: "number",
392
+ default: 16,
393
+ title: "Width"
394
+ },
395
+ height: {
396
+ type: "number",
397
+ default: 16,
398
+ title: "Height"
399
+ }
400
+ }
401
+ })
402
+ }, Ne = (e) => {
403
+ const { blockProps: l, image: t, mobileImage: n, styles: o, alt: r, height: s, width: a, lazyLoading: c } = e;
404
+ return w(t) ? /* @__PURE__ */ i(v, { className: "h-36" }) : /* @__PURE__ */ b("picture", { children: [
405
+ n && /* @__PURE__ */ i("source", { srcSet: n, media: "(max-width: 480px)" }),
406
+ /* @__PURE__ */ i(
407
+ "img",
408
+ {
409
+ ...l,
410
+ ...o,
411
+ src: t,
412
+ alt: r,
413
+ loading: c ? "lazy" : "eager",
414
+ width: a,
415
+ height: s
416
+ }
417
+ )
418
+ ] });
419
+ }, Me = {
420
+ type: "Image",
421
+ label: "Image",
422
+ category: "core",
423
+ icon: $,
424
+ group: "media",
425
+ ...m({
426
+ properties: {
427
+ styles: u(""),
428
+ image: {
429
+ type: "string",
430
+ title: "Image",
431
+ default: "https://fakeimg.pl/400x200?text=Choose&font=bebas",
432
+ ui: { "ui:widget": "image" }
433
+ },
434
+ alt: {
435
+ type: "string",
436
+ title: "Alt text",
437
+ default: "",
438
+ ui: { "ui:placeholder": "Enter alt text" }
439
+ },
440
+ lazyLoading: {
441
+ type: "boolean",
442
+ title: "Lazy Load",
443
+ default: !0
444
+ },
445
+ width: {
446
+ type: "number",
447
+ title: "Width",
448
+ default: "",
449
+ ui: { "ui:placeholder": "Enter width" }
450
+ },
451
+ height: {
452
+ type: "number",
453
+ title: "Height",
454
+ default: "",
455
+ ui: { "ui:placeholder": "Enter height" }
456
+ },
457
+ mobileImage: {
458
+ type: "string",
459
+ title: "Mobile Image",
460
+ default: "",
461
+ ui: { "ui:widget": "image" }
462
+ }
463
+ }
464
+ }),
465
+ aiProps: ["alt"],
466
+ i18nProps: ["alt"]
467
+ }, Te = (e) => {
468
+ const { blockProps: l, children: t, styles: n, inBuilder: o, content: r, href: s } = e, { hrefType: a, autoplay: c, maxWidth: y, backdropColor: g, galleryName: k } = e, p = _(n, "cb-lightbox vbox-item");
469
+ if (!t && w(n == null ? void 0 : n.className) && w(r))
470
+ return /* @__PURE__ */ i(v, { inBuilder: o });
471
+ if (o)
472
+ return t ? /* @__PURE__ */ i("span", { ...l, ...p, children: t }) : L("span", {
473
+ ...l,
474
+ ...p,
475
+ dangerouslySetInnerHTML: { __html: r }
476
+ });
477
+ const x = {};
478
+ return a !== "image" && (x["data-vbtype"] = a), c && (x["data-autoplay"] = "true"), y && (x["data-maxwidth"] = y + "px"), g && (x["data-overlay"] = g), k && (x["data-gall"] = k), t ? /* @__PURE__ */ i("a", { "aria-label": r, ...x, href: s || "#/", ...l, ...p, children: t }) : L("a", {
479
+ ...l,
480
+ ...p,
481
+ ...x,
482
+ href: s || "#",
483
+ dangerouslySetInnerHTML: { __html: r },
484
+ "aria-label": r
485
+ });
486
+ }, $e = {
487
+ type: "LightBoxLink",
488
+ label: "Lightbox Link",
489
+ category: "core",
490
+ icon: $,
491
+ group: "basic",
492
+ ...m({
493
+ properties: {
494
+ styles: u(""),
495
+ content: {
496
+ type: "string",
497
+ title: "Content",
498
+ default: "Link text or drop blocks inside"
499
+ },
500
+ hrefType: {
501
+ type: "string",
502
+ title: "Type",
503
+ default: "image",
504
+ enum: ["image", "video", "iframe", "inline", "ajax"],
505
+ enumNames: ["Image", "Video", "Iframe", "Inline", "Ajax"]
506
+ },
507
+ href: {
508
+ type: "string",
509
+ title: "Href",
510
+ default: ""
511
+ },
512
+ autoplay: {
513
+ type: "boolean",
514
+ title: "Autoplay (Video only)",
515
+ default: !1
516
+ },
517
+ maxWidth: {
518
+ type: "number",
519
+ title: "Max Width",
520
+ default: ""
521
+ },
522
+ backdropColor: {
523
+ type: "string",
524
+ title: "Backdrop Color",
525
+ default: ""
526
+ },
527
+ galleryName: {
528
+ type: "string",
529
+ title: "Gallery Name",
530
+ default: ""
531
+ }
532
+ },
533
+ dependencies: {
534
+ autoplay: ["hrefType", "video"]
535
+ }
536
+ }),
537
+ i18nProps: ["content"],
538
+ aiProps: ["content"],
539
+ canAcceptBlock: (e) => e !== "Link" && e !== "LightBoxLink"
540
+ }, Ee = (e) => {
541
+ const { blockProps: l, link: t, children: n, styles: o, inBuilder: r, content: s } = e;
542
+ let a = {};
543
+ return !n && w(s) && (a = { minHeight: "50px", display: "flex", alignItems: "center", justifyContent: "center" }), r ? n ? /* @__PURE__ */ i("span", { ...l, style: a, ...o, children: n }) : L(
242
544
  "span",
243
545
  {
244
546
  ...l,
245
- ...a,
246
- style: i,
247
- "data-ai-key": "content"
547
+ ...o,
548
+ style: a
248
549
  },
249
- n
250
- ) : o ? /* @__PURE__ */ s.jsx("a", { href: (t == null ? void 0 : t.href) || "#/", target: t == null ? void 0 : t.target, ...l, ...a, children: o }) : b.createElement(
550
+ s
551
+ ) : n ? /* @__PURE__ */ i("a", { "aria-label": s, href: (t == null ? void 0 : t.href) || "#/", target: t == null ? void 0 : t.target, ...l, ...o, children: n }) : L(
251
552
  "a",
252
553
  {
253
554
  ...l,
254
- ...a,
255
- "data-ai-key": "content",
555
+ ...o,
256
556
  href: (t == null ? void 0 : t.href) || "#",
257
- target: (t == null ? void 0 : t.target) || "_self"
557
+ target: (t == null ? void 0 : t.target) || "_self",
558
+ "aria-label": s
258
559
  },
259
- n
560
+ s
260
561
  );
261
- }, Ce = {
562
+ }, Re = {
262
563
  type: "Link",
263
564
  label: "Link",
264
565
  category: "core",
265
- icon: Y,
566
+ icon: G,
266
567
  group: "basic",
267
- props: {
268
- styles: m({ default: "" }),
269
- content: p({ title: "Content", default: "", ai: !0, i18n: !0 }),
270
- link: D({
271
- title: "Link",
272
- default: { type: "collection", target: "_self", href: "" }
273
- })
274
- },
568
+ ...m({
569
+ properties: {
570
+ styles: u(""),
571
+ content: {
572
+ type: "string",
573
+ default: "Link goes here",
574
+ title: "Content"
575
+ },
576
+ link: {
577
+ type: "object",
578
+ properties: {
579
+ type: { type: "string" },
580
+ href: { type: "string" },
581
+ target: { type: "string" }
582
+ },
583
+ default: {
584
+ type: "url",
585
+ href: "",
586
+ target: "_self"
587
+ },
588
+ ui: {
589
+ "ui:field": "link"
590
+ }
591
+ }
592
+ }
593
+ }),
594
+ aiProps: ["content"],
595
+ i18nProps: ["content"],
275
596
  canAcceptBlock: (e) => e !== "Link"
276
- }, q = (e, ...l) => ({
277
- ...e,
278
- className: j(e.className, ...l)
279
- }), Se = (e) => {
280
- const { blockProps: l, children: t, styles: o, inBuilder: a, content: r, href: n } = e, { hrefType: i, autoplay: c, maxWidth: d, backdropColor: h, galleryName: f } = e, g = q(o, "cb-lightbox");
281
- if (!t && k(o == null ? void 0 : o.className) && k(r))
282
- return /* @__PURE__ */ s.jsx(_, { inBuilder: a });
283
- if (a)
284
- return t ? /* @__PURE__ */ s.jsx("span", { ...l, ...g, children: t }) : b.createElement("span", {
285
- ...l,
286
- ...g,
287
- dangerouslySetInnerHTML: { __html: r }
288
- });
289
- const x = {};
290
- return x["data-vbtype"] = i, c && (x["data-autoplay"] = "true"), d && (x["data-maxwidth"] = d + "px"), h && (x["data-overlay"] = h), f && (x["data-gall"] = f), t ? /* @__PURE__ */ s.jsx("a", { ...x, href: n || "#/", ...l, ...g, children: t }) : b.createElement("a", {
291
- ...l,
292
- ...g,
293
- ...x,
294
- href: n || "#",
295
- dangerouslySetInnerHTML: { __html: r }
296
- });
297
- }, Me = {
298
- type: "LightBoxLink",
299
- label: "Lightbox Link",
300
- category: "core",
301
- icon: z,
302
- group: "basic",
303
- props: {
304
- styles: m({ default: "" }),
305
- content: p({ title: "Content", default: "Link text or drop blocks inside", ai: !0, i18n: !0 }),
306
- href: p({ title: "Href", default: "" }),
307
- hrefType: v({
308
- title: "Type",
309
- default: "video",
310
- options: [
311
- { value: "video", title: "Video" },
312
- { value: "iframe", title: "Iframe" },
313
- { value: "inline", title: "Inline" },
314
- { value: "ajax", title: "Ajax" }
315
- ]
316
- }),
317
- autoplay: y({ title: "Autoplay", default: !1 }),
318
- maxWidth: B({ title: "Max Width", default: "" }),
319
- backdropColor: p({ title: "Backdrop Color", default: "" }),
320
- galleryName: p({ title: "Gallery Name", default: "" })
321
- },
322
- canAcceptBlock: (e) => e !== "Link" && e !== "LightBoxLink"
323
- }, Ne = (e) => {
324
- const { blockProps: l, children: t, listType: o, styles: a, tag: r, inBuilder: n } = e, i = j(w(a, "className", ""), o);
325
- return !t && k(a == null ? void 0 : a.className) ? /* @__PURE__ */ s.jsx(_, { inBuilder: n }) : b.createElement(
326
- r || (o === "list-decimal" ? "ol" : "ul"),
327
- { ...l, ...a, className: i },
597
+ }, Ae = (e) => {
598
+ const { blockProps: l, children: t, listType: n, styles: o, tag: r, inBuilder: s } = e, a = C(h(o, "className", ""), n);
599
+ return !t && w(o == null ? void 0 : o.className) ? /* @__PURE__ */ i(v, { inBuilder: s }) : f.createElement(
600
+ r || (n === "list-decimal" ? "ol" : "ul"),
601
+ { ...l, ...o, className: a },
328
602
  t
329
603
  );
330
- }, Pe = {
604
+ }, He = {
331
605
  type: "List",
332
606
  label: "web_blocks.list",
333
- icon: Z,
607
+ icon: U,
334
608
  category: "core",
335
609
  group: "basic",
336
- props: {
337
- styles: m({ default: "" }),
338
- listType: v({
339
- title: "web_blocks.list_type",
340
- default: "list-none",
341
- options: [
342
- { value: "list-none", title: "web_blocks.none" },
343
- { value: "list-disc", title: "web_blocks.disc" },
344
- { value: "list-decimal", title: "web_blocks.number" }
345
- ]
346
- })
347
- },
610
+ ...m({
611
+ properties: {
612
+ styles: u(""),
613
+ listType: {
614
+ type: "string",
615
+ title: "List Type",
616
+ default: "list-none",
617
+ oneOf: [
618
+ { enum: ["list-none"], title: "List None" },
619
+ { enum: ["list-disc"], title: "Disc" },
620
+ { enum: ["list-decimal"], title: "Decimal" }
621
+ ]
622
+ }
623
+ }
624
+ }),
348
625
  canAcceptBlock: (e) => e === "ListItem",
349
626
  blocks: [
350
627
  { _type: "List", _id: "a", listType: "list-none", styles: "#styles:," },
@@ -370,649 +647,789 @@ const de = ({ className: e = "", inBuilder: l }) => l ? /* @__PURE__ */ s.jsx("d
370
647
  content: "Item 3"
371
648
  }
372
649
  ]
373
- }, Ee = (e) => {
374
- const { blockProps: l, content: t, styles: o, children: a, tag: r } = e;
375
- return a ? b.createElement(r || "li", { ...o, ...l }, a) : b.createElement(r || "li", {
376
- ...o,
650
+ }, ze = (e) => {
651
+ const { blockProps: l, content: t, styles: n, children: o, tag: r } = e;
652
+ return o ? f.createElement(r || "li", { ...n, ...l }, o) : f.createElement(r || "li", {
653
+ ...n,
377
654
  ...l,
378
- "data-ai-key": "content",
379
655
  dangerouslySetInnerHTML: { __html: t }
380
656
  });
381
- }, $e = {
657
+ }, Fe = {
382
658
  type: "ListItem",
383
659
  label: "List Item",
384
- icon: J,
660
+ icon: V,
385
661
  category: "core",
386
662
  group: "basic",
387
- props: {
388
- styles: m({ default: "" }),
389
- content: L({ title: "Content", default: "List item", ai: !0, i18n: !0 })
390
- },
663
+ ...m({
664
+ properties: {
665
+ styles: u(""),
666
+ content: {
667
+ type: "string",
668
+ default: "List item",
669
+ title: "Content",
670
+ ui: {
671
+ "ui:widget": "textarea"
672
+ }
673
+ }
674
+ }
675
+ }),
676
+ i18nProps: ["content"],
677
+ aiProps: ["content"],
391
678
  canAcceptBlock: (e) => e !== "ListItem",
392
679
  canBeNested: (e) => e === "List"
393
- }, Te = (e) => {
394
- const { blockProps: l, icon: t, styles: o, width: a, inBuilder: r, height: n } = e, i = q(o, j(a ? `w-[${a}px]` : "", n ? `h-[${n}px]` : ""));
395
- if (k(t))
396
- return /* @__PURE__ */ s.jsx(_, { inBuilder: r, className: "h-8 w-14" });
397
- const c = t.replace(/<svg /g, '<svg class="w-[inherit] h-[inherit]" ');
398
- return b.createElement("span", {
399
- ...l,
400
- ...i,
401
- dangerouslySetInnerHTML: { __html: c }
402
- });
403
- }, He = {
404
- type: "Icon",
405
- label: "web_blocks.icon",
406
- category: "core",
407
- icon: K,
408
- group: "media",
409
- props: {
410
- styles: m({ default: "text-black" }),
411
- icon: N({
412
- title: "web_blocks.icon",
413
- default: '<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M8 16c4.418 0 8-3.582 8-8s-3.582-8-8-8-8 3.582-8 8 3.582 8 8 8zM8 1.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5-6.5-2.91-6.5-6.5 2.91-6.5 6.5-6.5zM8 9.356c1.812 0 3.535-0.481 5-1.327-0.228 2.788-2.393 4.971-5 4.971s-4.772-2.186-5-4.973c1.465 0.845 3.188 1.329 5 1.329zM4 5.5c0-0.828 0.448-1.5 1-1.5s1 0.672 1 1.5c0 0.828-0.448 1.5-1 1.5s-1-0.672-1-1.5zM10 5.5c0-0.828 0.448-1.5 1-1.5s1 0.672 1 1.5c0 0.828-0.448 1.5-1 1.5s-1-0.672-1-1.5z"></path></svg>'
414
- }),
415
- width: B({ title: "web_blocks.width", default: "" }),
416
- height: B({ title: "web_blocks.height", default: "" })
417
- }
418
- }, ze = (e) => {
419
- const { blockProps: l, image: t, styles: o, alt: a, height: r, width: n, lazyLoading: i } = e;
420
- return k(t) ? /* @__PURE__ */ s.jsx(_, { className: "h-36" }) : b.createElement("img", {
421
- ...l,
422
- ...o,
423
- src: t,
424
- alt: a,
425
- loading: i ? "lazy" : "eager",
426
- height: r,
427
- width: n
428
- });
429
- }, Ae = {
430
- type: "Image",
431
- label: "Image",
680
+ }, je = (e) => e.inBuilder || e.forceWrapper ? /* @__PURE__ */ i("span", { ...e.blockProps, children: e.content }) : `${e.content}`, De = {
681
+ type: "Text",
682
+ label: "Text",
683
+ hidden: !0,
432
684
  category: "core",
433
- icon: z,
434
- group: "media",
435
- props: {
436
- styles: m({ default: "" }),
437
- image: C({
438
- title: "Image",
439
- default: "https://fakeimg.pl/400x200?text=Choose&font=bebas"
440
- }),
441
- alt: p({ title: "Alt text", default: "", ai: !0, i18n: !0 }),
442
- width: p({ title: "Width", default: "" }),
443
- height: p({ title: "Height", default: "" }),
444
- lazyLoading: y({ title: "Lazy Load", default: !0 })
445
- }
446
- }, P = /^(https?:\/\/)?(www\.)?youtube\.com\/(watch\?v=|embed\/)([a-zA-Z0-9_-]{11})/, E = /^(https?:\/\/)?(www\.)?player.vimeo\.com/, $ = /^(https?:\/\/)?(www\.)?dailymotion\.com\/(video|embed\/video)\/([a-zA-Z0-9_-]+)/, Re = (e) => {
447
- if (P.test(e)) {
448
- const l = e.match(P);
685
+ group: "typography",
686
+ icon: O,
687
+ ...m({
688
+ properties: {
689
+ styles: u("text-black"),
690
+ content: {
691
+ type: "string",
692
+ default: ""
693
+ }
694
+ }
695
+ }),
696
+ aiProps: ["content"],
697
+ i18nProps: ["content"]
698
+ }, S = /^(https?:\/\/)?(www\.)?youtube\.com\/(watch\?v=|embed\/)([a-zA-Z0-9_-]{11})/, N = /^(https?:\/\/)?(www\.)?player.vimeo\.com/, M = /^(https?:\/\/)?(www\.)?dailymotion\.com\/(video|embed\/video)\/([a-zA-Z0-9_-]+)/, qe = (e) => {
699
+ if (S.test(e)) {
700
+ const l = e.match(S);
449
701
  return l ? `https://www.youtube.com/embed/${l[4]}` : e;
450
702
  }
451
- if (E.test(e)) {
452
- const l = e.match(E);
703
+ if (N.test(e)) {
704
+ const l = e.match(N);
453
705
  return l ? `https://player.vimeo.com/video/${l[3]}` : e;
454
706
  }
455
- if ($.test(e)) {
456
- const l = e.match($);
707
+ if (M.test(e)) {
708
+ const l = e.match(M);
457
709
  return l ? `https://www.dailymotion.com/embed/video/${l[4]}` : e;
458
710
  }
459
711
  return null;
460
- }, qe = b.memo(
461
- (e) => {
462
- const { blockProps: l, inBuilder: t, styles: o, url: a, controls: r } = e, n = w(r, "autoPlay", !1), i = w(r, "controls", !1), c = n || w(r, "muted", !0), d = w(r, "loop", !1);
463
- if (k(a))
464
- return /* @__PURE__ */ s.jsx(_, { inBuilder: t, className: "h-36" });
465
- let h = Re(a), f = null;
466
- if (h) {
467
- if (!k(h)) {
468
- const g = [];
469
- g.push(`autoplay=${n ? 1 : 0}`), g.push(`controls=${r ? 1 : 0}`), g.push(`mute=${c ? 1 : 0}&muted=${c ? 1 : 0}`), g.push(`loop=${d ? 1 : 0}`), h = `${h}?${g.join("&")}`;
470
- }
471
- f = b.createElement("iframe", {
472
- ...l,
473
- className: "absolute inset-0 w-full h-full",
474
- src: h,
475
- allow: t ? "" : "autoplay *; fullscreen *",
476
- allowFullScreen: !0,
477
- frameBorder: 0
478
- });
479
- } else
480
- f = b.createElement("video", {
481
- ...l,
482
- className: "absolute inset-0 w-full h-full",
483
- src: a,
484
- controls: i,
485
- muted: c,
486
- autoPlay: t ? !1 : n,
487
- loop: d
488
- });
489
- return /* @__PURE__ */ s.jsx("div", { ...ne(o, ["className"]), children: /* @__PURE__ */ s.jsxs("div", { className: "relative w-full overflow-hidden", style: { paddingBottom: "56.25%" }, children: [
490
- t ? /* @__PURE__ */ s.jsx("div", { ...l, ...ie(o, ["className"]), className: "absolute inset-0 z-20 h-full w-full" }) : null,
491
- f
492
- ] }) });
493
- }
494
- ), De = {
712
+ }, Ge = f.memo((e) => {
713
+ const { blockProps: l, inBuilder: t, styles: n, url: o, controls: r } = e, s = h(r, "autoPlay", !1), a = h(r, "controls", !1), c = s || h(r, "muted", !0), y = h(r, "loop", !1);
714
+ if (w(o)) return /* @__PURE__ */ i(v, { inBuilder: t, className: "h-36" });
715
+ let g = qe(o), k = null;
716
+ if (g) {
717
+ if (!w(g)) {
718
+ const p = [];
719
+ p.push(`autoplay=${s ? 1 : 0}`), p.push(`controls=${r ? 1 : 0}`), p.push(`mute=${c ? 1 : 0}&muted=${c ? 1 : 0}`), p.push(`loop=${y ? 1 : 0}`), g = `${g}?${p.join("&")}`;
720
+ }
721
+ k = f.createElement("iframe", {
722
+ ...l,
723
+ className: "absolute inset-0 w-full h-full",
724
+ src: g,
725
+ allow: t ? "" : "autoplay *; fullscreen *",
726
+ allowFullScreen: !0,
727
+ frameBorder: 0
728
+ });
729
+ } else
730
+ k = f.createElement("video", {
731
+ ...l,
732
+ className: "absolute inset-0 w-full h-full",
733
+ src: o,
734
+ controls: a,
735
+ muted: c,
736
+ autoPlay: t ? !1 : s,
737
+ loop: y
738
+ });
739
+ return /* @__PURE__ */ i("div", { ...Q(n, ["className"]), children: /* @__PURE__ */ b("div", { className: "relative w-full overflow-hidden", style: { paddingBottom: "56.25%" }, children: [
740
+ t ? /* @__PURE__ */ i("div", { ...l, ...ee(n, ["className"]), className: "absolute inset-0 z-20 h-full w-full" }) : null,
741
+ k
742
+ ] }) });
743
+ }), Ue = {
495
744
  type: "Video",
496
745
  label: "Video",
497
746
  category: "core",
498
- icon: Q,
747
+ icon: W,
499
748
  group: "media",
500
- props: {
501
- styles: m({ default: "" }),
502
- url: p({
503
- title: "Video URL",
504
- default: "https://www.youtube.com/watch?v=9xwazD5SyVg&ab_channel=MaximilianMustermann",
505
- i18n: !0
506
- }),
507
- controls: F({
508
- title: "Controls",
509
- properties: {
510
- autoPlay: y({ title: "Autoplay", default: !0 }),
511
- controls: y({ title: "Controls", default: !1 }),
512
- loop: y({ title: "Loop", default: !1 }),
513
- muted: y({ title: "Muted", default: !0 })
749
+ ...m({
750
+ properties: {
751
+ styles: u(""),
752
+ url: {
753
+ type: "string",
754
+ title: "Video URL",
755
+ default: "https://www.youtube.com/watch?v=9xwazD5SyVg&ab_channel=MaximilianMustermann"
756
+ },
757
+ controls: {
758
+ type: "object",
759
+ title: "Controls",
760
+ default: {
761
+ autoplay: !1,
762
+ controls: !0,
763
+ loop: !1,
764
+ muted: !1
765
+ },
766
+ properties: {
767
+ autoplay: {
768
+ type: "boolean",
769
+ title: "Autoplay",
770
+ default: !1
771
+ },
772
+ controls: {
773
+ type: "boolean",
774
+ title: "Show Controls",
775
+ default: !0
776
+ },
777
+ loop: {
778
+ type: "boolean",
779
+ title: "Loop Video",
780
+ default: !1
781
+ },
782
+ muted: {
783
+ type: "boolean",
784
+ title: "Muted",
785
+ default: !1
786
+ }
787
+ }
514
788
  }
515
- })
516
- }
517
- };
518
- function Fe(e) {
519
- return V({ tag: "svg", attr: { version: "1.1", viewBox: "0 0 32 32" }, child: [{ tag: "path", attr: { d: "M4.698 3.419l2.057 23.073 9.231 2.563 9.256-2.566 2.059-23.069h-22.604zM13.226 9.394l-0.409 4.441 9.671 0.001-0.069 0.76-0.665 7.45-0.042 0.478-5.804 1.609-5.796-1.609-0.396-4.443h2.84l0.202 2.257 3.154 0.85 3.156-0.852 0.328-3.67-9.671-0.001 0.069-0.76 0.665-7.45 0.209-2.086h11.287l0.131 1.598 0.403 4.453h-2.841l-0.262-2.922-2.889-0.174h-0.515v-0.004l-2.755 0.074z" }, child: [] }] })(e);
520
- }
521
- const Ge = (e) => {
522
- const { scripts: l, inBuilder: t, blockProps: o } = e;
523
- return t ? /* @__PURE__ */ s.jsx("div", { ...o, children: /* @__PURE__ */ s.jsx("div", { className: j("pointer-events-none flex flex-col items-center justify-center p-2", ""), children: /* @__PURE__ */ s.jsx("div", { className: "h-full w-full rounded bg-gray-200 p-1 dark:bg-gray-800", children: /* @__PURE__ */ s.jsx("p", { className: "text-left text-xs text-gray-400", children: "Scripts will be only executed in preview and live mode. Place your script at the bottom of the" }) }) }) }) : /* @__PURE__ */ s.jsx("div", { dangerouslySetInnerHTML: { __html: l } });
524
- }, Ve = {
525
- type: "CustomScript",
526
- label: "web_blocks.custom_script",
527
- category: "core",
528
- icon: Fe,
529
- group: "advanced",
530
- props: {
531
- scripts: T({
532
- title: "Script",
533
- default: "",
534
- placeholder: "<script>console.log('Hello, world!');<\/script>"
535
- })
536
- }
537
- }, Ue = (e) => {
538
- const { blockProps: l, styles: t } = e;
539
- return b.createElement("hr", { ...t, ...l });
540
- }, Oe = {
541
- type: "Divider",
542
- label: "web_blocks.divider",
543
- category: "core",
544
- icon: ee,
545
- group: "basic",
546
- props: {
547
- styles: m({ default: "bg-gray-900 h-0.5 py-2 my-1" })
548
- }
549
- }, We = () => null, Xe = {
550
- type: "Dark Mode",
551
- label: "web_blocks.dark_mode",
552
- category: "core",
553
- icon: te,
554
- group: "advanced",
555
- props: {},
556
- blocks: () => [
557
- { _id: "ultqCh", _type: "Span", tag: "span", styles: "#styles:,", _name: "Dark Mode Switcher" },
558
- {
559
- _id: "vroabi",
560
- _parent: "ultqCh",
561
- _type: "Button",
562
- // @ts-ignore
563
- styles_attrs: { type: "button", "x-on:click": "darkMode = 'dark'", "x-show": "darkMode === 'light'" },
564
- styles: "#styles:,bg-white dark:bg-black font-medium text-gray-800 rounded-full hover:bg-gray-200 focus:outline-none focus:bg-gray-200 dark:text-neutral-200 dark:hover:bg-neutral-800 dark:focus:bg-neutral-800",
565
- _name: "Dark Mode Btn"
566
- },
567
- {
568
- _id: "eweibk",
569
- _parent: "vroabi",
570
- _type: "Span",
571
- tag: "span",
572
- styles: "#styles:,group inline-flex shrink-0 justify-center items-center size-9"
573
- },
574
- {
575
- _id: "nltBrv",
576
- _parent: "eweibk",
577
- _type: "Icon",
578
- styles: "#styles:, shrink-0 size-4",
579
- icon: "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'></path></svg>"
580
- },
581
- {
582
- _id: "gesydi",
583
- _parent: "ultqCh",
584
- _type: "Button",
585
- // @ts-ignore
586
- styles_attrs: { type: "button", "x-on:click": "darkMode = 'light'", "x-show": "darkMode === 'dark'" },
587
- styles: "#styles:,bg-white dark:bg-black font-medium text-gray-800 rounded-full hover:bg-gray-200 focus:outline-none focus:bg-gray-200 dark:text-neutral-200 dark:hover:bg-neutral-800 dark:focus:bg-neutral-800",
588
- _name: "Light Mode Btn"
589
- },
590
- {
591
- _id: "sgbhDo",
592
- _parent: "gesydi",
593
- _type: "Span",
594
- tag: "span",
595
- styles: "#styles:,group inline-flex shrink-0 justify-center items-center size-9"
596
- },
597
- {
598
- _id: "AdDwBC",
599
- _parent: "sgbhDo",
600
- _type: "Icon",
601
- styles: "#styles:, shrink-0 size-4",
602
- icon: "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='4'></circle><path d='M12 2v2'></path><path d='M12 20v2'></path><path d='m4.93 4.93 1.41 1.41'></path><path d='m17.66 17.66 1.41 1.41'></path><path d='M2 12h2'></path><path d='M20 12h2'></path><path d='m6.34 17.66-1.41 1.41'></path><path d='m19.07 4.93-1.41 1.41'></path></svg>"
603
789
  }
604
- ]
605
- }, Ye = (e) => {
606
- const { blockProps: l, inBuilder: t, children: o, globalBlock: a } = e;
607
- return t && !a ? /* @__PURE__ */ s.jsxs(
608
- "div",
790
+ }),
791
+ i18nProps: ["url"]
792
+ }, Ve = (e) => {
793
+ const { blockProps: l, fieldName: t, label: n, styles: o, inputStyles: r, required: s, checked: a, showLabel: c = !0 } = e, y = I();
794
+ return c ? /* @__PURE__ */ b("div", { ...o, ...l, children: [
795
+ /* @__PURE__ */ i(
796
+ "input",
797
+ {
798
+ ...r,
799
+ name: t,
800
+ id: y,
801
+ type: "checkbox",
802
+ required: s,
803
+ defaultChecked: a
804
+ }
805
+ ),
806
+ n && /* @__PURE__ */ i("label", { htmlFor: y, children: n })
807
+ ] }) : /* @__PURE__ */ i(
808
+ "input",
609
809
  {
610
- className: "flex flex-col items-center justify-center gap-y-1 rounded-lg bg-gray-100 py-4 dark:bg-gray-800",
810
+ id: y,
611
811
  ...l,
612
- children: [
613
- /* @__PURE__ */ s.jsxs("h1", { children: [
614
- "Global Block - ",
615
- a
616
- ] }),
617
- /* @__PURE__ */ s.jsx("p", { children: "Choose a block from the sidebar to add it to this page." })
618
- ]
812
+ ...r,
813
+ ...o,
814
+ type: "checkbox",
815
+ required: s,
816
+ name: t
619
817
  }
620
- ) : b.createElement("div", { ...l }, o);
621
- }, Ze = {
622
- type: "GlobalBlock",
623
- label: "Global Block",
624
- icon: ce,
625
- category: "core",
626
- group: "advanced",
627
- props: {
628
- globalBlock: p({ title: "global block", default: "", hidden: !0 })
629
- }
630
- }, Je = (e) => e.inBuilder || e.forceWrapper ? /* @__PURE__ */ s.jsx("span", { "data-ai-key": "content", ...e.blockProps, children: e.content }) : `${e.content}`, Ke = {
631
- type: "Text",
632
- label: "Text",
633
- hidden: !0,
634
- category: "core",
635
- group: "typography",
636
- icon: A,
637
- props: {
638
- content: L({ title: "Content", default: "", ai: !0, i18n: !0 })
639
- }
640
- }, Qe = (e) => {
641
- const { blockProps: l, backgroundImage: t, children: o, styles: a } = e;
642
- let r = {};
643
- return t && (r = { backgroundImage: `url(${t})` }), b.createElement("div", { ...l, ...a, style: r }, o);
644
- }, et = {
645
- type: "Body",
646
- label: "Body",
647
- category: "core",
648
- group: "basic",
649
- hidden: !0,
650
- props: {
651
- styles: m({ default: "font-body antialiased" }),
652
- backgroundImage: C({ title: "Background Image" })
653
- },
654
- canAcceptBlock: () => !0,
655
- canDelete: () => !1,
656
- canMove: () => !1,
657
- canDuplicate: () => !1
658
- }, tt = (e) => {
659
- const { blockProps: l, styles: t } = e;
660
- return b.createElement("br", { ...l, ...t });
661
- }, lt = {
662
- type: "LineBreak",
663
- label: "Line Break",
818
+ );
819
+ }, Oe = {
820
+ type: "Checkbox",
821
+ label: "web_blocks.checkbox",
664
822
  category: "core",
665
- group: "basic",
666
- hidden: !0,
667
- icon: A,
668
- props: {
669
- styles: m({ default: "" })
670
- }
671
- }, ot = (e) => {
672
- const { blockProps: l, errorMessage: t, name: o, _type: a, successMessage: r, action: n, styles: i, children: c } = e;
673
- let d = c;
674
- c || (d = /* @__PURE__ */ s.jsx(_, {}));
675
- const h = {
676
- "x-data": "{}",
677
- "x-on:submit.prevent": "post"
678
- }, f = {
679
- "x-html": "",
680
- ":class": "{'text-red-500': formStatus === 'ERROR', 'text-green-500': formStatus === 'SUCCESS'}"
681
- };
682
- return /* @__PURE__ */ s.jsxs(
823
+ icon: X,
824
+ group: "form",
825
+ ...m({
826
+ properties: {
827
+ styles: u("flex items-center gap-x-2"),
828
+ inputStyles: u(""),
829
+ fieldName: {
830
+ type: "string",
831
+ title: "Field Name",
832
+ default: "fieldName"
833
+ },
834
+ label: {
835
+ type: "string",
836
+ title: "Label",
837
+ default: "Label"
838
+ },
839
+ checked: {
840
+ type: "boolean",
841
+ title: "Checked",
842
+ default: !1
843
+ },
844
+ required: {
845
+ type: "boolean",
846
+ title: "Required",
847
+ default: !1
848
+ },
849
+ showLabel: {
850
+ type: "boolean",
851
+ title: "Show Label",
852
+ default: !0
853
+ }
854
+ }
855
+ }),
856
+ aiProps: ["label"],
857
+ i18nProps: ["label"]
858
+ }, We = (e) => {
859
+ const { children: l, blockProps: t, errorMessage: n, successMessage: o, action: r, styles: s, inBuilder: a } = e;
860
+ let c = l;
861
+ return l || (c = /* @__PURE__ */ i(v, { inBuilder: a })), /* @__PURE__ */ b(
683
862
  "form",
684
863
  {
685
- ...h,
686
- "data-error": t,
687
- "data-success": r,
864
+ ...{
865
+ "x-data": "{}",
866
+ "x-on:submit.prevent": "post"
867
+ },
868
+ "data-error": n,
869
+ "data-success": o,
688
870
  method: "post",
689
- action: n,
690
- ...l,
691
- ...i,
871
+ action: r,
872
+ ...t,
873
+ ...s,
692
874
  children: [
693
- /* @__PURE__ */ s.jsx("div", { ...f }),
694
- /* @__PURE__ */ s.jsx("input", { name: "formname", type: "hidden", value: o || a }),
695
- d
875
+ /* @__PURE__ */ i("div", { ...{
876
+ "x-html": "",
877
+ ":class": "{'text-red-500': formStatus === 'ERROR', 'text-green-500': formStatus === 'SUCCESS'}"
878
+ } }),
879
+ c
696
880
  ]
697
881
  }
698
882
  );
699
- }, at = {
883
+ }, Xe = {
700
884
  type: "Form",
701
885
  label: "Form",
702
886
  category: "core",
703
887
  icon: le,
704
888
  group: "form",
705
- props: {
706
- styles: m({ default: "" }),
707
- action: p({
708
- title: "Submit URL",
709
- default: "/api/form/submit"
710
- }),
711
- errorMessage: S({
712
- title: "Error Message",
713
- default: "Something went wrong. Please try again"
714
- }),
715
- successMessage: S({
716
- title: "Success Message",
717
- default: "Thank you for your submission."
718
- })
719
- },
889
+ blocks: () => [
890
+ { _type: "Form", _id: "form", styles: "#styles:p-1 space-y-2," },
891
+ { _type: "Input", _id: "form_input", _parent: "form", styles: "#styles:," },
892
+ {
893
+ _type: "FormButton",
894
+ _id: "form_submit_btn",
895
+ _parent: "form",
896
+ styles: "#styles:bg-black text-white rounded px-3 py-1,"
897
+ }
898
+ ],
899
+ ...m({
900
+ properties: {
901
+ styles: u(""),
902
+ action: {
903
+ type: "string",
904
+ title: "Submit URL",
905
+ default: "/api/form/submit"
906
+ },
907
+ errorMessage: {
908
+ type: "string",
909
+ title: "Error Message",
910
+ default: "Something went wrong. Please try again",
911
+ ui: { "ui:widget": "richtext" }
912
+ },
913
+ successMessage: {
914
+ type: "string",
915
+ title: "Success Message",
916
+ default: "Thank you for your submission.",
917
+ ui: { "ui:widget": "richtext" }
918
+ }
919
+ }
920
+ }),
921
+ i18nProps: ["errorMessage", "successMessage"],
922
+ aiProps: ["errorMessage", "successMessage"],
720
923
  canAcceptBlock: () => !0
721
- }, st = (e) => {
722
- const { blockProps: l, inBuilder: t, label: o, styles: a, inputStyles: r, icon: n, iconPos: i } = e, c = I(), d = {
723
- "x-bind:disabled": "formLoading"
724
- };
725
- return /* @__PURE__ */ s.jsxs(
924
+ }, Ye = (e) => {
925
+ const { blockProps: l, inBuilder: t, label: n, styles: o, inputStyles: r, icon: s, iconSize: a, iconPos: c } = e, y = I();
926
+ return /* @__PURE__ */ b(
726
927
  "button",
727
928
  {
728
- id: c,
729
- ...d,
929
+ id: y,
930
+ ...{
931
+ "x-bind:disabled": "formLoading"
932
+ },
730
933
  ...r,
731
- ...a,
934
+ ...o,
732
935
  ...l || {},
733
936
  type: t ? "button" : "submit",
937
+ "aria-label": n,
734
938
  children: [
735
- o,
736
- n && /* @__PURE__ */ s.jsx("span", { className: i, dangerouslySetInnerHTML: { __html: n } })
939
+ n,
940
+ s && /* @__PURE__ */ i(
941
+ "div",
942
+ {
943
+ style: { width: a + "px" },
944
+ className: c + " " + (c === "order-first" ? "mr-2" : "ml-2") || "",
945
+ dangerouslySetInnerHTML: { __html: s }
946
+ }
947
+ )
737
948
  ]
738
949
  }
739
950
  );
740
- }, rt = {
951
+ }, Ze = {
741
952
  type: "FormButton",
742
953
  label: "Submit Button",
743
954
  category: "core",
744
- icon: H,
955
+ icon: T,
745
956
  group: "form",
746
- props: {
747
- label: p({ title: "Label", default: "Submit", ai: !0, i18n: !0 }),
748
- styles: m({
749
- default: "text-white bg-primary disabled:bg-gray-400 px-4 py-2 rounded-global flex items-center gap-x-2"
750
- }),
751
- icon: N({ title: "Icon", default: "" }),
752
- iconPos: v({
753
- title: "Icon Position",
754
- default: "order-last",
755
- options: [
756
- { title: "Start", value: "order-first" },
757
- { title: "End", value: "order-last" }
758
- ]
759
- })
760
- }
761
- }, nt = (e) => {
762
- const {
763
- blockProps: l,
764
- label: t,
765
- placeholder: o,
766
- styles: a,
767
- inputStyles: r,
768
- showLabel: n,
769
- required: i,
770
- inputType: c = "text",
771
- inBuilder: d,
772
- fieldName: h
773
- } = e, f = I();
774
- return !n || c === "submit" ? (c === "submit" && (l.value = t), /* @__PURE__ */ s.jsx(
775
- "input",
776
- {
777
- id: f,
778
- name: h,
779
- readOnly: d,
780
- ...l,
781
- ...r,
782
- ...a,
783
- type: c,
784
- placeholder: o,
785
- required: i
957
+ ...m({
958
+ properties: {
959
+ styles: u(
960
+ "text-white bg-primary disabled:bg-gray-400 px-4 py-2 rounded-global flex items-center gap-x-2"
961
+ ),
962
+ inputStyles: u(""),
963
+ label: {
964
+ type: "string",
965
+ title: "Label",
966
+ default: "Submit",
967
+ ai: !0,
968
+ i18n: !0
969
+ },
970
+ icon: {
971
+ type: "string",
972
+ title: "Icon",
973
+ default: "",
974
+ ui: { "ui:widget": "icon" }
975
+ },
976
+ iconSize: {
977
+ type: "number",
978
+ title: "Icon size",
979
+ default: 24
980
+ },
981
+ iconPos: {
982
+ type: "string",
983
+ title: "Icon Position",
984
+ default: "order-last",
985
+ enum: ["order-first", "order-last"]
986
+ }
786
987
  }
787
- )) : /* @__PURE__ */ s.jsxs("div", { ...a, ...l, children: [
788
- n && /* @__PURE__ */ s.jsx("label", { htmlFor: f, children: t }),
789
- /* @__PURE__ */ s.jsx(
988
+ }),
989
+ i18nProps: ["label"],
990
+ aiProps: ["label"]
991
+ }, Je = (e) => {
992
+ const { blockProps: l, fieldName: t, label: n, placeholder: o, styles: r, inputStyles: s, showLabel: a, required: c, inputType: y } = e, g = I();
993
+ return a ? /* @__PURE__ */ b("div", { ...r, ...l, children: [
994
+ a && /* @__PURE__ */ i("label", { htmlFor: g, children: n }),
995
+ /* @__PURE__ */ i(
790
996
  "input",
791
997
  {
792
- name: h,
793
- readOnly: d,
794
- ...r,
795
- id: f,
796
- type: c,
998
+ name: t,
999
+ ...s,
1000
+ id: g,
1001
+ type: y,
797
1002
  placeholder: o,
798
- required: i
1003
+ required: c
799
1004
  }
800
1005
  )
801
- ] });
802
- }, it = {
1006
+ ] }) : /* @__PURE__ */ i(
1007
+ "input",
1008
+ {
1009
+ id: g,
1010
+ name: t,
1011
+ ...l,
1012
+ ...s,
1013
+ ...r,
1014
+ type: y,
1015
+ placeholder: o,
1016
+ required: c
1017
+ }
1018
+ );
1019
+ }, Ke = {
803
1020
  type: "Input",
804
- label: "Input",
1021
+ label: "web_blocks.input",
805
1022
  category: "core",
806
- icon: R,
1023
+ icon: E,
807
1024
  group: "form",
808
- props: {
809
- styles: m({ default: "" }),
810
- fieldName: p({ title: "Field Name", default: "input" }),
811
- inputType: v({
812
- title: "Type",
813
- options: M(
814
- ["text", "email", "password", "number", "tel", "file", "hidden", "range", "submit", "color", "date", "time"],
815
- (e) => ({
816
- value: e,
817
- title: e
818
- })
819
- ),
820
- default: "text"
821
- }),
822
- value: p({ title: "Value", default: "", ai: !0, i18n: !0 }),
823
- showLabel: y({ title: "Show Label", default: !0 }),
824
- inputStyles: m({ default: "w-full p-1" }),
825
- label: p({ title: "Label", default: "Label", ai: !0, i18n: !0 }),
826
- placeholder: p({
827
- title: "Placeholder",
828
- default: "Placeholder"
829
- }),
830
- required: y({ title: "Required", default: !1 })
831
- }
832
- }, ct = (e) => {
833
- const { blockProps: l, fieldName: t, label: o, styles: a, inputStyles: r, checked: n, required: i, showLabel: c = !0 } = e, d = I();
834
- return c ? /* @__PURE__ */ s.jsxs("div", { ...a, ...l, children: [
835
- /* @__PURE__ */ s.jsx("input", { ...r, name: t, id: d, type: "radio", required: i, defaultChecked: n }),
836
- o && /* @__PURE__ */ s.jsx("label", { htmlFor: d, children: o })
837
- ] }) : /* @__PURE__ */ s.jsx(
1025
+ ...m({
1026
+ properties: {
1027
+ styles: u(""),
1028
+ inputStyles: u("w-full p-1"),
1029
+ fieldName: {
1030
+ type: "string",
1031
+ title: "Field Name",
1032
+ default: "fieldName"
1033
+ },
1034
+ showLabel: {
1035
+ type: "boolean",
1036
+ title: "Show Label",
1037
+ default: !0
1038
+ },
1039
+ label: {
1040
+ type: "string",
1041
+ title: "Label",
1042
+ default: "Label",
1043
+ ai: !0,
1044
+ i18n: !0
1045
+ },
1046
+ placeholder: {
1047
+ type: "string",
1048
+ title: "Placeholder",
1049
+ default: "Placeholder"
1050
+ },
1051
+ required: {
1052
+ type: "boolean",
1053
+ title: "Required",
1054
+ default: !1
1055
+ },
1056
+ inputType: {
1057
+ type: "string",
1058
+ title: "Input Type",
1059
+ default: "text",
1060
+ enum: [
1061
+ "text",
1062
+ "email",
1063
+ "password",
1064
+ "number",
1065
+ "tel",
1066
+ "file",
1067
+ "hidden",
1068
+ "range",
1069
+ "submit",
1070
+ "color",
1071
+ "date",
1072
+ "time"
1073
+ ]
1074
+ }
1075
+ }
1076
+ }),
1077
+ aiProps: ["label", "placeholder"],
1078
+ i18nProps: ["label", "placeholder"]
1079
+ }, Qe = (e) => {
1080
+ const { blockProps: l, content: t, styles: n, children: o } = e, r = { ...n, ...l };
1081
+ return o ? f.createElement("label", r, o) : f.createElement("label", {
1082
+ ...r,
1083
+ dangerouslySetInnerHTML: { __html: t }
1084
+ });
1085
+ }, et = {
1086
+ type: "Label",
1087
+ label: "Label",
1088
+ category: "core",
1089
+ icon: Y,
1090
+ group: "form",
1091
+ ...m({
1092
+ properties: {
1093
+ styles: u(),
1094
+ content: {
1095
+ type: "string",
1096
+ title: "Content",
1097
+ default: ""
1098
+ }
1099
+ }
1100
+ }),
1101
+ aiProps: ["content"],
1102
+ i18nProps: ["content"]
1103
+ }, tt = (e) => {
1104
+ const { blockProps: l, fieldName: t, label: n, styles: o, inputStyles: r, required: s, checked: a, showLabel: c = !0 } = e, y = I();
1105
+ return c ? /* @__PURE__ */ b("div", { ...o, ...l, children: [
1106
+ /* @__PURE__ */ i("input", { ...r, name: t, id: y, type: "radio", required: s, defaultChecked: a }),
1107
+ n && /* @__PURE__ */ i("label", { htmlFor: y, children: n })
1108
+ ] }) : /* @__PURE__ */ i(
838
1109
  "input",
839
1110
  {
840
- id: d,
1111
+ id: y,
841
1112
  ...l,
842
1113
  ...r,
843
- ...a,
1114
+ ...o,
844
1115
  type: "radio",
845
- required: i,
846
- checked: n,
1116
+ required: s,
1117
+ checked: a,
847
1118
  name: t
848
1119
  }
849
1120
  );
850
- }, dt = {
1121
+ }, lt = {
851
1122
  type: "Radio",
852
1123
  label: "web_blocks.radio",
853
1124
  category: "core",
854
- icon: oe,
1125
+ icon: Z,
855
1126
  group: "form",
856
- props: {
857
- styles: m({ default: "flex items-center w-max gap-x-2" }),
858
- fieldName: p({ title: "web_blocks.field_name", default: "radio" }),
859
- label: p({ title: "web_blocks.label", default: "Label" }),
860
- checked: y({ title: "web_blocks.checked", default: !1 }),
861
- required: y({ title: "web_blocks.required", default: !1 })
862
- }
863
- }, ut = (e) => {
864
- const {
865
- blockProps: l,
866
- fieldName: t,
867
- label: o,
868
- placeholder: a,
869
- styles: r,
870
- inputStyles: n,
871
- required: i,
872
- showLabel: c,
873
- _multiple: d = !1
874
- } = e, h = I();
875
- return c ? /* @__PURE__ */ s.jsxs("div", { ...r, children: [
876
- c && /* @__PURE__ */ s.jsx("label", { htmlFor: h, children: o }),
877
- /* @__PURE__ */ s.jsxs("select", { ...n, id: h, required: i, multiple: d, name: t, children: [
878
- /* @__PURE__ */ s.jsx("option", { value: "", disabled: !0, selected: !0, hidden: !0, children: a }),
879
- M(e.options, (f) => /* @__PURE__ */ s.jsx(
880
- "option",
881
- {
882
- selected: w(f, "selected", !1),
883
- value: f.value,
884
- dangerouslySetInnerHTML: { __html: f.label }
885
- },
886
- f.value
887
- ))
888
- ] })
889
- ] }) : /* @__PURE__ */ s.jsxs(
890
- "select",
891
- {
892
- id: h,
893
- ...r,
894
- ...l,
895
- required: i,
896
- multiple: d,
897
- name: t,
898
- children: [
899
- /* @__PURE__ */ s.jsx("option", { value: "", disabled: !0, selected: !0, hidden: !0, children: a }),
900
- M(e.options, (f) => /* @__PURE__ */ s.jsx(
901
- "option",
902
- {
903
- selected: w(f, "selected", !1),
904
- value: f.value,
905
- dangerouslySetInnerHTML: { __html: f.label }
906
- },
907
- f.value
908
- ))
909
- ]
1127
+ ...m({
1128
+ properties: {
1129
+ styles: u("flex items-center gap-x-2"),
1130
+ inputStyles: u(""),
1131
+ fieldName: {
1132
+ type: "string",
1133
+ title: "Field Name",
1134
+ default: "fieldName"
1135
+ },
1136
+ label: {
1137
+ type: "string",
1138
+ title: "Label",
1139
+ default: "Label"
1140
+ },
1141
+ checked: {
1142
+ type: "boolean",
1143
+ title: "Checked",
1144
+ default: !1
1145
+ },
1146
+ required: {
1147
+ type: "boolean",
1148
+ title: "Required",
1149
+ default: !1
1150
+ },
1151
+ showLabel: {
1152
+ type: "boolean",
1153
+ title: "Show Label",
1154
+ default: !0
1155
+ }
910
1156
  }
911
- );
912
- }, pt = {
1157
+ }),
1158
+ aiProps: ["label"],
1159
+ i18nProps: ["label"]
1160
+ }, ot = (e) => {
1161
+ const { blockProps: l, fieldName: t, label: n, placeholder: o, styles: r, inputStyles: s, required: a, showLabel: c, _multiple: y, options: g } = e, k = I();
1162
+ return c ? /* @__PURE__ */ b("div", { ...r, ...l, children: [
1163
+ c && /* @__PURE__ */ i("label", { htmlFor: k, children: n }),
1164
+ /* @__PURE__ */ b("select", { ...s, id: k, required: a, multiple: y, name: t, children: [
1165
+ /* @__PURE__ */ i("option", { value: "", disabled: !0, selected: !0, hidden: !0, children: o }),
1166
+ P(g, (p) => /* @__PURE__ */ i("option", { value: p == null ? void 0 : p.value, children: p == null ? void 0 : p.label }, p == null ? void 0 : p.value))
1167
+ ] })
1168
+ ] }) : /* @__PURE__ */ b("select", { id: k, ...r, ...l, required: a, multiple: y, name: t, children: [
1169
+ /* @__PURE__ */ i("option", { value: "", disabled: !0, selected: !0, hidden: !0, children: o }),
1170
+ P(g, (p) => /* @__PURE__ */ i("option", { value: p == null ? void 0 : p.value, children: p == null ? void 0 : p.label }, p == null ? void 0 : p.value))
1171
+ ] });
1172
+ }, nt = {
913
1173
  type: "Select",
914
1174
  label: "web_blocks.select",
915
1175
  category: "core",
916
- icon: ae,
1176
+ icon: J,
917
1177
  group: "form",
918
- props: {
919
- styles: m({ default: "" }),
920
- fieldName: p({ title: "Field Name", default: "select" }),
921
- showLabel: y({ title: "Show Label", default: !0 }),
922
- inputStyles: m({ default: "w-full p-1" }),
923
- label: p({ title: "Label", default: "Label", ai: !0, i18n: !0 }),
924
- placeholder: p({
925
- title: "Placeholder",
926
- default: "Placeholder"
927
- }),
928
- required: y({ title: "Required", default: !1 }),
929
- _multiple: y({ title: "Multiple", default: !1 }),
930
- options: G({
931
- title: "Options",
932
- itemProperties: {
933
- label: p({ title: "Label", default: "", ai: !0, i18n: !0 }),
934
- value: p({ title: "Value", default: "" })
1178
+ ...m({
1179
+ properties: {
1180
+ styles: u(""),
1181
+ inputStyles: u("w-full p-1"),
1182
+ fieldName: {
1183
+ type: "string",
1184
+ title: "Field Name",
1185
+ default: "fieldName"
1186
+ },
1187
+ showLabel: {
1188
+ type: "boolean",
1189
+ title: "Show Label",
1190
+ default: !0
1191
+ },
1192
+ label: {
1193
+ type: "string",
1194
+ title: "Label",
1195
+ default: "Label"
1196
+ },
1197
+ placeholder: {
1198
+ type: "string",
1199
+ title: "Placeholder",
1200
+ default: "Placeholder"
1201
+ },
1202
+ required: {
1203
+ type: "boolean",
1204
+ title: "Required",
1205
+ default: !1
1206
+ },
1207
+ _multiple: {
1208
+ type: "boolean",
1209
+ title: "Multiple",
1210
+ default: !1
1211
+ },
1212
+ options: {
1213
+ title: "Options",
1214
+ type: "array",
1215
+ default: [],
1216
+ items: {
1217
+ type: "object",
1218
+ properties: {
1219
+ label: {
1220
+ type: "string",
1221
+ title: "Label",
1222
+ default: ""
1223
+ },
1224
+ value: {
1225
+ type: "string",
1226
+ title: "Value",
1227
+ default: ""
1228
+ }
1229
+ }
1230
+ }
935
1231
  }
936
- })
937
- }
938
- }, bt = (e) => {
939
- const { blockProps: l, fieldName: t, label: o, placeholder: a, styles: r, inputStyles: n, _rows: i, showLabel: c } = e, d = I();
940
- return c ? /* @__PURE__ */ s.jsxs("div", { ...r, ...l, children: [
941
- c && /* @__PURE__ */ s.jsx("label", { htmlFor: d, children: o }),
942
- /* @__PURE__ */ s.jsx("textarea", { name: t, ...n, id: d, placeholder: a, rows: i })
943
- ] }) : /* @__PURE__ */ s.jsx(
1232
+ }
1233
+ }),
1234
+ aiProps: ["label", "placeholder"],
1235
+ i18nProps: ["label", "placeholder"]
1236
+ }, rt = (e) => {
1237
+ const { blockProps: l, fieldName: t, label: n, placeholder: o, styles: r, inputStyles: s, _rows: a, showLabel: c } = e, y = I();
1238
+ return c ? /* @__PURE__ */ b("div", { ...r, ...l, children: [
1239
+ c && /* @__PURE__ */ i("label", { htmlFor: y, children: n }),
1240
+ /* @__PURE__ */ i("textarea", { name: t, ...s, id: y, placeholder: o, rows: a })
1241
+ ] }) : /* @__PURE__ */ i(
944
1242
  "textarea",
945
1243
  {
946
- id: d,
1244
+ id: y,
947
1245
  name: t,
948
1246
  ...l,
949
- ...n,
1247
+ ...s,
950
1248
  ...r,
951
- placeholder: a,
952
- rows: i
1249
+ placeholder: o,
1250
+ rows: a
953
1251
  }
954
1252
  );
955
- }, mt = {
1253
+ }, it = {
956
1254
  type: "TextArea",
957
1255
  label: "web_blocks.textarea",
958
1256
  category: "core",
959
- icon: R,
1257
+ icon: E,
960
1258
  group: "form",
961
- props: {
962
- fieldName: p({ title: "Field Name", default: "textarea" }),
963
- showLabel: y({ title: "Show Label", default: !0 }),
964
- styles: m({ default: "" }),
965
- inputStyles: m({ default: "w-full p-1" }),
966
- label: p({ title: "Label", default: "Label", ai: !0, i18n: !0 }),
967
- placeholder: p({
968
- title: "Placeholder",
969
- default: "Placeholder"
970
- }),
971
- _rows: B({ title: "Rows", default: 3 })
972
- }
973
- }, ft = (e) => {
974
- const { blockProps: l, fieldName: t, label: o, styles: a, inputStyles: r, required: n, checked: i, showLabel: c = !0 } = e, d = I();
975
- return c ? /* @__PURE__ */ s.jsxs("div", { ...a, ...l, children: [
976
- /* @__PURE__ */ s.jsx(
977
- "input",
978
- {
979
- ...r,
980
- name: t,
981
- id: d,
982
- type: "checkbox",
983
- required: n,
984
- defaultChecked: i
1259
+ ...m({
1260
+ properties: {
1261
+ fieldName: {
1262
+ type: "string",
1263
+ title: "Field Name",
1264
+ default: "fieldName"
1265
+ },
1266
+ styles: u(""),
1267
+ inputStyles: u("w-full p-1"),
1268
+ showLabel: {
1269
+ type: "boolean",
1270
+ title: "Show Label",
1271
+ default: !0
1272
+ },
1273
+ label: {
1274
+ type: "string",
1275
+ title: "Label",
1276
+ default: "Label",
1277
+ ui: { "ui:widget": "textarea", "ui:autosize": !0, "ui:rows": 3 }
1278
+ },
1279
+ placeholder: {
1280
+ type: "string",
1281
+ title: "Placeholder",
1282
+ default: "Placeholder"
1283
+ },
1284
+ _rows: {
1285
+ type: "number",
1286
+ title: "Rows",
1287
+ default: 3
985
1288
  }
986
- ),
987
- o && o !== "Label" && /* @__PURE__ */ s.jsx("label", { htmlFor: d, children: o })
988
- ] }) : /* @__PURE__ */ s.jsx(
989
- "input",
990
- {
991
- id: d,
992
- ...l,
993
- ...r,
994
- ...a,
995
- type: "checkbox",
996
- required: n,
997
- name: t
998
1289
  }
999
- );
1000
- }, ht = {
1001
- type: "Checkbox",
1002
- label: "web_blocks.checkbox",
1290
+ }),
1291
+ aiProps: ["label", "placeholder"],
1292
+ i18nProps: ["label", "placeholder"]
1293
+ }, st = (e) => {
1294
+ const { blockProps: l, styles: t } = e;
1295
+ return L("br", { ...l, ...t });
1296
+ }, at = {
1297
+ type: "LineBreak",
1298
+ label: "Line Break",
1003
1299
  category: "core",
1004
- icon: se,
1005
- group: "form",
1006
- props: {
1007
- fieldName: p({ title: "Field Name", default: "checkbox" }),
1008
- styles: m({ default: "flex items-center gap-x-2" }),
1009
- label: p({ title: "web_blocks.label", default: "Label" }),
1010
- checked: y({ title: "web_blocks.checked", default: !1 }),
1011
- required: y({ title: "web_blocks.required", default: !1 })
1300
+ group: "basic",
1301
+ hidden: !0,
1302
+ ...m({
1303
+ properties: {
1304
+ styles: u("")
1305
+ }
1306
+ }),
1307
+ canAcceptBlock: () => !0,
1308
+ canDelete: () => !1,
1309
+ canMove: () => !1,
1310
+ canDuplicate: () => !1
1311
+ }, B = {
1312
+ SMALL: {
1313
+ 1: "col-span-1",
1314
+ 2: "col-span-2",
1315
+ 3: "col-span-3",
1316
+ 4: "col-span-4",
1317
+ 5: "col-span-5",
1318
+ 6: "col-span-6",
1319
+ 7: "col-span-7",
1320
+ 8: "col-span-8",
1321
+ 9: "col-span-9",
1322
+ 10: "col-span-10",
1323
+ 11: "col-span-11",
1324
+ 12: "col-span-12"
1325
+ },
1326
+ MEDIUM: {
1327
+ 1: "md:col-span-1",
1328
+ 2: "md:col-span-2",
1329
+ 3: "md:col-span-3",
1330
+ 4: "md:col-span-4",
1331
+ 5: "md:col-span-5",
1332
+ 6: "md:col-span-6",
1333
+ 7: "md:col-span-7",
1334
+ 8: "md:col-span-8",
1335
+ 9: "md:col-span-9",
1336
+ 10: "md:col-span-10",
1337
+ 11: "md:col-span-11",
1338
+ 12: "md:col-span-12"
1339
+ },
1340
+ LARGE: {
1341
+ 1: "lg:col-span-1",
1342
+ 2: "lg:col-span-2",
1343
+ 3: "lg:col-span-3",
1344
+ 4: "lg:col-span-4",
1345
+ 5: "lg:col-span-5",
1346
+ 6: "lg:col-span-6",
1347
+ 7: "lg:col-span-7",
1348
+ 8: "lg:col-span-8",
1349
+ 9: "lg:col-span-9",
1350
+ 10: "lg:col-span-10",
1351
+ 11: "lg:col-span-11",
1352
+ 12: "lg:col-span-12"
1012
1353
  }
1013
- }, Lt = () => {
1014
- u(ue, pe), u(ye, ge), u(be, me), u(ke, xe), u(we, ve), u(_e, Ie), u(Be, Le), u(je, Ce), u(Se, Me), u(Ne, Pe), u(Ee, $e), u(Te, He), u(ze, Ae), u(qe, De), u(fe, he), u(Je, Ke), u(ot, at), u(st, rt), u(nt, it), u(ft, ht), u(ct, dt), u(ut, pt), u(bt, mt), u(tt, lt), u(Qe, et), u(Ge, Ve), u(Ue, Oe), u(We, Xe), u(Ye, Ze);
1354
+ }, ct = (e) => {
1355
+ const { blockProps: l, children: t, styles: n, colSpan: o, tabletColSpan: r, desktopColSpan: s } = e, c = { className: [
1356
+ h(n, "className", ""),
1357
+ h(B, ["SMALL", isNaN(o) || !o ? 6 : o], ""),
1358
+ r ? h(B, ["MEDIUM", r || o], "") : "",
1359
+ s ? h(B, ["LARGE", r || o], "") : ""
1360
+ ].join(" ") };
1361
+ return /* @__PURE__ */ i("div", { ...l, ...n, ...c, children: t || /* @__PURE__ */ i("div", { className: "h-full min-h-12 w-full border-2 border-dashed border-gray-400 bg-gray-100 dark:bg-gray-900" }) });
1362
+ }, pt = {
1363
+ type: "Column",
1364
+ label: "Column",
1365
+ group: "basic",
1366
+ category: "core",
1367
+ icon: oe,
1368
+ wrapper: !0,
1369
+ canDelete: () => !0,
1370
+ canAcceptBlock: () => !0,
1371
+ canBeNested: (e) => e === "Row",
1372
+ ...m({
1373
+ properties: {
1374
+ styles: u(""),
1375
+ colSpan: {
1376
+ type: "number",
1377
+ title: "Column Span",
1378
+ default: 6,
1379
+ enum: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
1380
+ },
1381
+ tabletColSpan: {
1382
+ type: "number",
1383
+ title: "Column Span (Tablet)",
1384
+ default: null,
1385
+ enumNames: ["Default", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
1386
+ enum: [null, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
1387
+ },
1388
+ desktopColSpan: {
1389
+ type: "number",
1390
+ title: "Column Span (Desktop)",
1391
+ default: null,
1392
+ enumNames: ["Default", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
1393
+ enum: [null, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
1394
+ }
1395
+ }
1396
+ })
1397
+ }, ut = (e) => {
1398
+ const { blockProps: l, children: t, styles: n, gutter: o } = e, s = { className: [h(n, "className", ""), " grid grid-cols-12"].join() };
1399
+ return typeof (n == null ? void 0 : n.style) == "object" ? n.style.gap = `${o}px` : s.style = { gap: `${o}px` }, /* @__PURE__ */ i("div", { ...l, ...n, ...s, children: t });
1400
+ }, dt = {
1401
+ type: "Row",
1402
+ label: "Row",
1403
+ group: "basic",
1404
+ icon: ne,
1405
+ blocks: () => [
1406
+ { _type: "Row", _id: "row", styles: "#styles:,p-1" },
1407
+ { _type: "Column", id: "column", _parent: "row", styles: "#styles:," },
1408
+ { _type: "Column", id: "column", _parent: "row", styles: "#styles:," }
1409
+ ],
1410
+ category: "core",
1411
+ wrapper: !0,
1412
+ canAcceptBlock: (e) => e === "Column",
1413
+ ...m({
1414
+ properties: {
1415
+ styles: u(""),
1416
+ colCount: {
1417
+ type: "number",
1418
+ default: 2,
1419
+ minimum: 0,
1420
+ ui: { "ui:widget": "colCount" }
1421
+ },
1422
+ gutter: {
1423
+ type: "number",
1424
+ title: "Gutter (in px)",
1425
+ default: 16,
1426
+ minimum: 0
1427
+ }
1428
+ }
1429
+ })
1430
+ }, wt = () => {
1431
+ d(re, ie), d(ue, de), d(se, ae), d(me, ye), d(ge, fe), d(ke, we), d(be, he), d(Ee, Re), d(Te, $e), d(Ae, He), d(ze, Fe), d(Pe, Se), d(Ne, Me), d(Ge, Ue), d(ce, pe), d(Le, ve), d(je, De), d(We, Xe), d(Ye, Ze), d(Je, Ke), d(Ve, Oe), d(tt, lt), d(ot, nt), d(rt, it), d(Qe, et), d(st, at), d(Ie, Ce), d(Be, _e), d(ut, dt), d(ct, pt);
1015
1432
  };
1016
1433
  export {
1017
- Lt as loadWebBlocks
1434
+ wt as loadWebBlocks
1018
1435
  };