@chaibuilder/sdk 1.2.7 → 1.2.9

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 (92) hide show
  1. package/dist/{AddBlocks-pjLrzkvz.js → AddBlocks-tMxKPoen.js} +7 -6
  2. package/dist/AddBlocks-x2LkOHSj.cjs +1 -0
  3. package/dist/BrandingOptions-EzT9UYd6.cjs +1 -0
  4. package/dist/{BrandingOptions-PXCI0z-H.js → BrandingOptions-QJJ1y5ez.js} +7 -6
  5. package/dist/{CanvasArea-Fhg-6_nZ.js → CanvasArea-mlNKmCOh.js} +11 -9
  6. package/dist/{CanvasArea-C2ak1ui1.cjs → CanvasArea-xs4wM64L.cjs} +1 -1
  7. package/dist/CurrentPage-aaU4F7wi.cjs +1 -0
  8. package/dist/{CurrentPage-Zz9LEdez.js → CurrentPage-lBy25sZn.js} +14 -12
  9. package/dist/Functions-7jnEwJyw.js +15 -0
  10. package/dist/Functions-N3yhPYKY.cjs +1 -0
  11. package/dist/{Layers-cgmxKAP9.js → Layers-3Xs4A5i8.js} +12 -10
  12. package/dist/Layers-eaHy5PK9.cjs +1 -0
  13. package/dist/{MarkAsGlobalBlock-htrpRVJM.js → MarkAsGlobalBlock-BjP-Rqlf.js} +6 -5
  14. package/dist/MarkAsGlobalBlock-X5dNmZcb.cjs +1 -0
  15. package/dist/{PagesPanel-TYBKN2Am.js → PagesPanel--BZhafnt.js} +9 -7
  16. package/dist/PagesPanel-gGKCV394.cjs +1 -0
  17. package/dist/{ProjectPanel-PJ1iPaLY.js → ProjectPanel-YcLkM-DW.js} +16 -14
  18. package/dist/ProjectPanel-yFJRy0_E.cjs +1 -0
  19. package/dist/Settings-7wlLcvoh.cjs +1 -0
  20. package/dist/{Settings-Na0NVS-E.js → Settings-TAgX4hov.js} +17 -23
  21. package/dist/SidePanels-5H4j0mIs.cjs +1 -0
  22. package/dist/{SidePanels-bHll6xCt.js → SidePanels-btVQQkVK.js} +12 -10
  23. package/dist/Topbar-V8xCetWF.cjs +1 -0
  24. package/dist/{Topbar-JKdXHH8P.js → Topbar-j4t4AgCq.js} +6 -5
  25. package/dist/{UnsplashImages-jiOES16m.js → UnsplashImages-41Y3q5_Q.js} +6 -5
  26. package/dist/UnsplashImages-DbHky6cj.cjs +1 -0
  27. package/dist/UploadImages-DnQ95_NW.cjs +1 -0
  28. package/dist/{UploadImages-imersU7l.js → UploadImages-xBg-kbKv.js} +15 -14
  29. package/dist/add-page-modal-MwS7iXn_.cjs +1 -0
  30. package/dist/{add-page-modal-EQWWxbry.js → add-page-modal-cm8damU2.js} +10 -9
  31. package/dist/confirm-alert-U7-NcG7G.cjs +1 -0
  32. package/dist/{confirm-alert-HOs52FKE.js → confirm-alert-i4pM3mOt.js} +6 -5
  33. package/dist/{controls-hpe3HxsR.cjs → controls-Dy1qa8Dc.cjs} +1 -1
  34. package/dist/{controls-QGClapUl.js → controls-XPXGHKht.js} +45 -9
  35. package/dist/core.cjs +1 -1
  36. package/dist/core.js +57 -55
  37. package/dist/delete-page-modal-5o4jXu-z.cjs +1 -0
  38. package/dist/{delete-page-modal-DU388lPm.js → delete-page-modal-YrIBvfFA.js} +22 -20
  39. package/dist/email-blocks.cjs +1 -1
  40. package/dist/email-blocks.js +1 -1
  41. package/dist/{form-7E1GY3U7.js → form-OVmsLOrc.js} +1 -1
  42. package/dist/{form-lF5eSfMe.cjs → form-VbouZlAW.cjs} +1 -1
  43. package/dist/html-to-json-2PeOCVey.cjs +1 -0
  44. package/dist/{html-to-json-lNLC8Y7D.js → html-to-json-57841sEK.js} +1 -1
  45. package/dist/index-H6vIwGfD.cjs +1 -0
  46. package/dist/{index-Hf23Fq9m.cjs → index-N50dZnlC.cjs} +2 -2
  47. package/dist/{index-WKIG_VPl.js → index-niHREMmR.js} +173 -172
  48. package/dist/{index-7vwIQQ-T.js → index-pZhGT8uT.js} +5 -5
  49. package/dist/lib.cjs +2 -2
  50. package/dist/lib.js +7 -6
  51. package/dist/page-viewer-SLt8XgYv.cjs +1 -0
  52. package/dist/{page-viewer-fohh_Dwv.js → page-viewer-feqJr1QI.js} +10 -8
  53. package/dist/{project-general-setting-Ryf5OhPd.js → project-general-setting-SgagORzW.js} +10 -9
  54. package/dist/project-general-setting-ym0yCdOq.cjs +1 -0
  55. package/dist/project-seo-setting-Snn2nZgS.cjs +1 -0
  56. package/dist/{project-seo-setting-KKOCl416.js → project-seo-setting-wxAGEkd_.js} +11 -10
  57. package/dist/single-page-detail-IPod1o5P.cjs +1 -0
  58. package/dist/{single-page-detail-mJBo7VRe.js → single-page-detail-dnWMyg6P.js} +11 -10
  59. package/dist/studio.cjs +1 -1
  60. package/dist/studio.js +8 -6
  61. package/dist/style.css +1 -1
  62. package/dist/ui.cjs +1 -1
  63. package/dist/ui.js +141 -140
  64. package/dist/{useAddBlockByDrop-CmSt8dRr.js → useAddBlockByDrop-_nwI4W3q.js} +1 -1
  65. package/dist/{useAddBlockByDrop-pVcDjcgp.cjs → useAddBlockByDrop-inkD7Lck.cjs} +1 -1
  66. package/dist/{utils-Jw11nj1S.js → utils-AvyFzbPC.js} +26 -35
  67. package/dist/utils-PTxFk6qT.cjs +1 -0
  68. package/dist/web-blocks.cjs +9 -1
  69. package/dist/web-blocks.js +1055 -3
  70. package/package.json +1 -1
  71. package/dist/AddBlocks-MKhgtI8x.cjs +0 -1
  72. package/dist/BrandingOptions-tZaUILYP.cjs +0 -1
  73. package/dist/CurrentPage-4O-iqW3w.cjs +0 -1
  74. package/dist/Layers-uo4KpGCs.cjs +0 -1
  75. package/dist/MarkAsGlobalBlock-1kOwPbPm.cjs +0 -1
  76. package/dist/PagesPanel-z5qHpU24.cjs +0 -1
  77. package/dist/ProjectPanel-mEVh8sLb.cjs +0 -1
  78. package/dist/Settings-YNxmjfAl.cjs +0 -1
  79. package/dist/SidePanels-jsHvSEtM.cjs +0 -1
  80. package/dist/Topbar-jWRuTvxv.cjs +0 -1
  81. package/dist/UnsplashImages-dBdqJNux.cjs +0 -1
  82. package/dist/UploadImages-OD3RPS7j.cjs +0 -1
  83. package/dist/add-page-modal-nFQ8TUBM.cjs +0 -1
  84. package/dist/confirm-alert-j6hcFSlG.cjs +0 -1
  85. package/dist/delete-page-modal-bkSWhTxz.cjs +0 -1
  86. package/dist/html-to-json-JS8zQjYB.cjs +0 -1
  87. package/dist/index-98CxilGX.cjs +0 -1
  88. package/dist/page-viewer-6a4GFMUg.cjs +0 -1
  89. package/dist/project-general-setting-j4lKlLUE.cjs +0 -1
  90. package/dist/project-seo-setting-CATo4bEL.cjs +0 -1
  91. package/dist/single-page-detail-zms-5Fa_.cjs +0 -1
  92. package/dist/utils-j7Kg63NR.cjs +0 -1
@@ -1,5 +1,1057 @@
1
- import { noop as o } from "lodash-es";
2
- const r = o;
1
+ import { omit as F, isEmpty as k, isNull as z, get as v, map as _, noop as D } from "lodash-es";
2
+ import * as d from "react";
3
+ import { S as c, o as j, f as I, g as L, m as T, u as f, T as E, c as M, q, b as $, r as h, h as O } from "./controls-XPXGHKht.js";
4
+ import { registerChaiBlock as u } from "@chaibuilder/runtime";
5
+ import { j as s } from "./jsx-runtime-WbnYoNE9.js";
6
+ import { c as w, g as x } from "./Functions-7jnEwJyw.js";
7
+ import { HeadingIcon as V, TextIcon as U, CursorTextIcon as W, ButtonIcon as H, Link1Icon as G, RowsIcon as Y, ColumnsIcon as X, SketchLogoIcon as Z, ImageIcon as J, VideoIcon as K, CodeIcon as Q, DividerHorizontalIcon as ee, SpaceBetweenVerticallyIcon as R, TableIcon as te, BorderTopIcon as le, BorderAllIcon as oe, ViewHorizontalIcon as re, DragHandleHorizontalIcon as ae, GroupIcon as se, LetterCaseToggleIcon as ne, InputIcon as A, DropdownMenuIcon as ie, CheckboxIcon as ce, RadiobuttonIcon as de } from "@radix-ui/react-icons";
8
+ import "./_commonjsHelpers-UyOWmZb0.js";
9
+ import "clsx";
10
+ import "tailwind-merge";
11
+ const ue = (t) => {
12
+ const { blockProps: e, backgroundImage: l, children: o, styles: a } = t;
13
+ let r = {};
14
+ return l && (r = { backgroundImage: `url(${l})` }), d.createElement("div", { ...e, ...a, style: r }, o);
15
+ };
16
+ u(ue, {
17
+ type: "Body",
18
+ label: "Body",
19
+ category: "core",
20
+ group: "basic",
21
+ hidden: !0,
22
+ props: {
23
+ styles: c({ default: "font-body antialiased" }),
24
+ backgroundImage: j({ title: "Background Image" })
25
+ }
26
+ });
27
+ const g = ({ blockProps: t, className: e = "", styles: l = {} }) => /* @__PURE__ */ s.jsx(
28
+ "div",
29
+ {
30
+ ...t,
31
+ className: w("flex h-20 flex-col items-center justify-center", e),
32
+ ...F(l, ["className"]),
33
+ 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", children: /* @__PURE__ */ s.jsx("span", { className: "opacit flex items-center gap-x-1.5 text-xs font-semibold text-gray-400" }) })
34
+ }
35
+ ), pe = d.memo(
36
+ (t) => {
37
+ const { blockProps: e, backgroundImage: l, children: o, tag: a = "div", styles: r } = t;
38
+ if (!o && k(r == null ? void 0 : r.className))
39
+ return /* @__PURE__ */ s.jsx(g, { blockProps: e, styles: r });
40
+ let n = {};
41
+ return l && (n = { backgroundImage: `url(${l})` }), d.createElement(a, { ...e, ...r, style: n }, o);
42
+ }
43
+ );
44
+ u(pe, {
45
+ type: "Box",
46
+ label: "Box",
47
+ category: "core",
48
+ group: "basic",
49
+ props: {
50
+ styles: c({ default: "" }),
51
+ tag: I({
52
+ title: "Tag",
53
+ default: "div",
54
+ options: [
55
+ { value: "div", title: "div" },
56
+ { value: "header", title: "header" },
57
+ { value: "footer", title: "footer" },
58
+ { value: "section", title: "section" },
59
+ { value: "article", title: "article" },
60
+ { value: "aside", title: "aside" },
61
+ { value: "main", title: "main" },
62
+ { value: "nav", title: "nav" },
63
+ { value: "figure", title: "figure" },
64
+ { value: "details", title: "details" },
65
+ { value: "summary", title: "summary" },
66
+ { value: "dialog", title: "dialog" },
67
+ { value: "strike", title: "strike" },
68
+ { value: "caption", title: "caption" },
69
+ { value: "legend", title: "legend" },
70
+ { value: "figcaption", title: "figcaption" },
71
+ { value: "mark", title: "mark" }
72
+ ]
73
+ }),
74
+ backgroundImage: j({ title: "Background Image" })
75
+ },
76
+ canAcceptBlock: () => !0
77
+ });
78
+ const me = (t) => {
79
+ const { blockProps: e, styles: l, content: o, level: a = "h1", children: r = null } = t;
80
+ return r ? d.createElement(a, { ...l, ...e }, r) : d.createElement(a, {
81
+ ...l,
82
+ ...e,
83
+ dangerouslySetInnerHTML: { __html: o }
84
+ });
85
+ };
86
+ u(me, {
87
+ type: "Heading",
88
+ label: "Heading",
89
+ category: "core",
90
+ icon: V,
91
+ group: "basic",
92
+ props: {
93
+ level: I({
94
+ title: "Level",
95
+ default: "h1",
96
+ binding: !1,
97
+ options: [
98
+ { value: "h1", title: "h1" },
99
+ { value: "h2", title: "h2" },
100
+ { value: "h3", title: "h3" },
101
+ { value: "h4", title: "h4" },
102
+ { value: "h5", title: "h5" },
103
+ { value: "h6", title: "h6" }
104
+ ]
105
+ }),
106
+ styles: c({ default: "text-3xl" }),
107
+ content: L({ title: "Content", default: "Heading goes here" })
108
+ },
109
+ canAcceptBlock: (t) => t === "Span" || t === "Text"
110
+ });
111
+ const fe = (t) => {
112
+ const { blockProps: e, styles: l, content: o } = t;
113
+ return z(t.children) ? d.createElement("div", {
114
+ ...l,
115
+ ...e,
116
+ dangerouslySetInnerHTML: { __html: o }
117
+ }) : d.createElement("p", { ...l, ...e }, t.children);
118
+ };
119
+ u(fe, {
120
+ type: "Paragraph",
121
+ label: "Paragraph",
122
+ category: "core",
123
+ icon: U,
124
+ group: "basic",
125
+ props: {
126
+ styles: c({ default: "" }),
127
+ content: L({
128
+ title: "Content",
129
+ default: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere."
130
+ })
131
+ },
132
+ canAcceptBlock: (t) => t === "Span" || t === "Link"
133
+ });
134
+ const be = (t) => {
135
+ const { blockProps: e, styles: l, content: o, children: a = null, tag: r } = t;
136
+ return a ? d.createElement("span", { ...l, ...e }, a) : d.createElement(r || "span", {
137
+ ...l,
138
+ ...e,
139
+ dangerouslySetInnerHTML: { __html: o }
140
+ });
141
+ };
142
+ u(be, {
143
+ type: "Span",
144
+ label: "Span",
145
+ category: "core",
146
+ group: "basic",
147
+ props: {
148
+ styles: c({ default: "" }),
149
+ content: L({ title: "Content", default: "Enter your content" })
150
+ }
151
+ });
152
+ const ye = (t) => {
153
+ const { blockProps: e, content: l, styles: o } = t;
154
+ return /* @__PURE__ */ s.jsx("div", { className: "prose max-w-full", children: /* @__PURE__ */ s.jsx("div", { ...e, ...o, dangerouslySetInnerHTML: { __html: l } }) });
155
+ };
156
+ u(ye, {
157
+ type: "RichText",
158
+ label: "Rich Text",
159
+ category: "core",
160
+ icon: W,
161
+ group: "basic",
162
+ props: {
163
+ styles: c({ default: "" }),
164
+ content: T({
165
+ title: "Content",
166
+ default: `Lorem Ipsum Rich Text Editor Demo
167
+
168
+ Welcome to our rich text editor demo! With our powerful editor, you can create stunning documents with ease. Let's explore some of its features:
169
+
170
+ Text Formatting: You can make text bold, italic, or underline it.
171
+ Lists:
172
+ Create ordered lists.
173
+ Craft unordered lists.
174
+ Utilize nested lists for organization.`
175
+ })
176
+ }
177
+ });
178
+ const he = (t) => {
179
+ const { blockProps: e, iconSize: l, icon: o, content: a, iconPos: r, styles: n, children: i } = t, p = o, m = i || /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
180
+ a,
181
+ p && /* @__PURE__ */ s.jsx(
182
+ "div",
183
+ {
184
+ style: { width: l + "px" },
185
+ className: r + (r === "order-first" ? "mr-2" : "ml-2") || "",
186
+ dangerouslySetInnerHTML: { __html: p }
187
+ }
188
+ )
189
+ ] });
190
+ return d.createElement("button", { ...e, ...n, type: "button" }, m);
191
+ };
192
+ u(he, {
193
+ type: "Button",
194
+ label: "Button",
195
+ category: "core",
196
+ icon: H,
197
+ group: "basic",
198
+ props: {
199
+ content: f({ title: "Label", default: "Button", multiLingual: !0 }),
200
+ styles: c({ default: "text-white bg-primary px-4 py-2 rounded-global flex items-center" }),
201
+ icon: E({ title: "Icon", default: "" }),
202
+ iconSize: M({ title: "Icon Size", default: 24 }),
203
+ iconPos: I({
204
+ title: "Icon Position",
205
+ default: "order-last",
206
+ options: [
207
+ { title: "Start", value: "order-first" },
208
+ { title: "End", value: "order-last" }
209
+ ]
210
+ })
211
+ }
212
+ });
213
+ const ge = (t) => {
214
+ const { blockProps: e, link: l, children: o, styles: a, inBuilder: r, content: n } = t;
215
+ return !o && k(a == null ? void 0 : a.className) && k(n) ? /* @__PURE__ */ s.jsx(g, { blockProps: e }) : r ? o ? /* @__PURE__ */ s.jsx("span", { "data-simulate": "a", ...e, ...a, children: o }) : d.createElement("span", {
216
+ ...e,
217
+ ...a,
218
+ href: l.href || "#",
219
+ target: l.target || "_self",
220
+ dangerouslySetInnerHTML: { __html: n },
221
+ "data-simulate": "a"
222
+ }) : o ? /* @__PURE__ */ s.jsx("a", { href: l.href || "#/", target: l.target, ...e, ...a, children: o }) : d.createElement("a", {
223
+ ...e,
224
+ ...a,
225
+ href: l.href || "#",
226
+ target: l.target || "_self",
227
+ dangerouslySetInnerHTML: { __html: n }
228
+ });
229
+ };
230
+ u(ge, {
231
+ type: "Link",
232
+ label: "Link",
233
+ category: "core",
234
+ icon: G,
235
+ group: "basic",
236
+ props: {
237
+ styles: c({ default: "" }),
238
+ content: f({ title: "Content", default: "" }),
239
+ link: q({
240
+ title: "Link",
241
+ default: { type: "page", target: "_self", href: "" }
242
+ })
243
+ },
244
+ canAcceptBlock: () => !0
245
+ });
246
+ const xe = (t) => {
247
+ const { blockProps: e, children: l, listType: o, styles: a, tag: r } = t, n = w(v(a, "className", ""), o);
248
+ return !l && k(a == null ? void 0 : a.className) ? /* @__PURE__ */ s.jsx(g, { blockProps: e, text: "LIST ITEM" }) : d.createElement(
249
+ r || (o === "list-decimal" ? "ol" : "ul"),
250
+ { ...e, ...a, className: n },
251
+ l
252
+ );
253
+ };
254
+ u(xe, {
255
+ type: "List",
256
+ label: "List",
257
+ icon: Y,
258
+ category: "core",
259
+ group: "basic",
260
+ props: {
261
+ styles: c({ default: "" }),
262
+ listType: I({
263
+ title: "List type",
264
+ default: "list-disc",
265
+ options: [
266
+ { value: "list-none", title: "None" },
267
+ { value: "list-disc", title: "Disc" },
268
+ { value: "list-decimal", title: "Number" }
269
+ ]
270
+ })
271
+ },
272
+ canAcceptBlock: (t) => t === "ListItem",
273
+ blocks: [
274
+ { _type: "List", _id: "a", listType: "list-none", styles: "#styles:," },
275
+ {
276
+ _type: "ListItem",
277
+ _id: "b",
278
+ _parent: "a",
279
+ styles: "#styles:,",
280
+ content: "Item 1"
281
+ },
282
+ {
283
+ _type: "ListItem",
284
+ _id: "c",
285
+ _parent: "a",
286
+ styles: "#styles:,",
287
+ content: "Item 2"
288
+ },
289
+ {
290
+ _type: "ListItem",
291
+ _id: "d",
292
+ _parent: "a",
293
+ styles: "#styles:,",
294
+ content: "Item 3"
295
+ }
296
+ ]
297
+ });
298
+ const ke = (t) => {
299
+ const { blockProps: e, content: l, styles: o, children: a, tag: r } = t;
300
+ return a ? d.createElement(r || "li", { ...o, ...e }, a) : d.createElement(r || "li", {
301
+ ...o,
302
+ ...e,
303
+ dangerouslySetInnerHTML: { __html: l }
304
+ });
305
+ };
306
+ u(ke, {
307
+ type: "ListItem",
308
+ label: "List Item",
309
+ icon: X,
310
+ category: "core",
311
+ group: "basic",
312
+ props: {
313
+ styles: c({ default: "" }),
314
+ content: L({ title: "Content", default: "List item" })
315
+ },
316
+ canAcceptBlock: () => !0
317
+ });
318
+ const ve = (t) => {
319
+ const { blockProps: e, icon: l, styles: o } = t, a = {
320
+ ...o,
321
+ className: w(o.className, "inline-block c-inline-block")
322
+ };
323
+ return k(l) ? /* @__PURE__ */ s.jsx(g, { blockProps: e, text: "", className: "h-8 w-14" }) : d.createElement("span", {
324
+ ...e,
325
+ ...a,
326
+ dangerouslySetInnerHTML: { __html: l }
327
+ });
328
+ };
329
+ u(ve, {
330
+ type: "Icon",
331
+ label: "Icon",
332
+ category: "core",
333
+ icon: Z,
334
+ group: "basic",
335
+ props: {
336
+ styles: c({ default: "text-black" }),
337
+ icon: E({
338
+ title: "Icon",
339
+ default: '<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16" height="1em" width="1em" 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>'
340
+ })
341
+ }
342
+ });
343
+ const Ie = (t) => {
344
+ const { blockProps: e, image: l, styles: o, alt: a, height: r = 200, width: n = 200 } = t;
345
+ return k(l) ? /* @__PURE__ */ s.jsx(g, { blockProps: e, text: "IMAGE URL", className: "h-36" }) : d.createElement("img", {
346
+ ...e,
347
+ ...o,
348
+ src: l,
349
+ alt: a,
350
+ height: r,
351
+ width: n
352
+ });
353
+ };
354
+ u(Ie, {
355
+ type: "Image",
356
+ label: "Image",
357
+ category: "core",
358
+ icon: J,
359
+ group: "basic",
360
+ props: {
361
+ styles: c({ default: "" }),
362
+ image: j({
363
+ title: "Image",
364
+ default: "https://fakeimg.pl/400x200?text=Choose&font=bebas"
365
+ }),
366
+ alt: f({ title: "Alt", default: "" }),
367
+ width: f({ title: "Width", default: "" }),
368
+ height: f({ title: "Height", default: "" })
369
+ }
370
+ });
371
+ const Le = (t) => {
372
+ var r;
373
+ const { blockProps: e, styles: l, children: o } = t;
374
+ let a = null;
375
+ return o || (a = // @ts-ignore
376
+ /* @__PURE__ */ s.jsx("div", { className: w("flex flex-col items-center justify-center", (r = t.emptyStyles) == null ? void 0 : r.className), children: /* @__PURE__ */ s.jsx("div", { className: "h-full w-full rounded-md border-4 border-dashed", children: /* @__PURE__ */ s.jsxs("p", { className: "truncate p-1 text-left text-xs text-gray-400", children: [
377
+ "Slot: ",
378
+ t.name
379
+ ] }) }) })), d.createElement("div", { ...l, ...e, droppable: "yes" }, o || a);
380
+ };
381
+ u(Le, {
382
+ type: "Slot",
383
+ label: "Slot",
384
+ group: "basic",
385
+ category: "core",
386
+ hidden: !0,
387
+ props: {
388
+ styles: c({ default: "" }),
389
+ emptyStyles: c({ default: "" })
390
+ },
391
+ canAcceptBlock: () => !0
392
+ });
393
+ const P = /^(https?:\/\/)?(www\.)?youtube\.com\/(watch\?v=|embed\/)([a-zA-Z0-9_-]{11})/, N = /^(https?:\/\/)?(www\.)?player.vimeo\.com/, C = /^(https?:\/\/)?(www\.)?dailymotion\.com\/(video|embed\/video)\/([a-zA-Z0-9_-]+)/, Be = (t) => {
394
+ if (P.test(t)) {
395
+ const e = t.match(P);
396
+ return e ? `https://www.youtube.com/embed/${e[4]}` : t;
397
+ }
398
+ if (N.test(t)) {
399
+ const e = t.match(N);
400
+ return e ? `https://player.vimeo.com/video/${e[3]}` : t;
401
+ }
402
+ if (C.test(t)) {
403
+ const e = t.match(C);
404
+ return e ? `https://www.dailymotion.com/embed/video/${e[4]}` : t;
405
+ }
406
+ return null;
407
+ }, Te = d.memo(
408
+ (t) => {
409
+ const { blockProps: e, inBuilder: l, styles: o, url: a, controls: r } = t, n = v(r, "autoPlay", !1), i = v(r, "controls", !1), p = n || v(r, "muted", !0), m = v(r, "loop", !1);
410
+ if (k(a))
411
+ return /* @__PURE__ */ s.jsx(g, { blockProps: e, text: "VIDEO URL", className: "h-36" });
412
+ let y = Be(a), b = null;
413
+ if (y) {
414
+ if (!k(y)) {
415
+ const B = [];
416
+ B.push(`autoplay=${n ? 1 : 0}`), B.push(`controls=${r ? 1 : 0}`), B.push(`mute=${p ? 1 : 0}&muted=${p ? 1 : 0}`), B.push(`loop=${m ? 1 : 0}`), y = `${y}?${B.join("&")}`;
417
+ }
418
+ b = d.createElement("iframe", {
419
+ ...e,
420
+ ...o,
421
+ src: y,
422
+ allow: l ? "" : "autoplay *; fullscreen *",
423
+ allowFullScreen: !0,
424
+ frameBorder: 0
425
+ });
426
+ } else
427
+ b = d.createElement("video", {
428
+ ...e,
429
+ ...o,
430
+ src: a,
431
+ controls: i,
432
+ muted: p,
433
+ autoPlay: l ? !1 : n,
434
+ loop: m
435
+ });
436
+ return /* @__PURE__ */ s.jsxs("div", { className: "relative h-full w-full overflow-hidden", style: { paddingBottom: "56.25%" }, children: [
437
+ l ? /* @__PURE__ */ s.jsx("div", { ...e, ...o, className: "absolute z-20 h-full w-full" }) : null,
438
+ b
439
+ ] });
440
+ }
441
+ );
442
+ u(Te, {
443
+ type: "Video",
444
+ label: "Video",
445
+ category: "core",
446
+ icon: K,
447
+ group: "basic",
448
+ props: {
449
+ styles: c({ default: "absolute top-0 left-0 w-full h-full" }),
450
+ url: f({
451
+ title: "Video URL",
452
+ default: "https://www.youtube.com/watch?v=9xwazD5SyVg&ab_channel=MaximilianMustermann"
453
+ }),
454
+ controls: $({
455
+ title: "Controls",
456
+ properties: {
457
+ autoPlay: h({ title: "Autoplay", default: !0 }),
458
+ controls: h({ title: "Show widgets", default: !1 }),
459
+ loop: h({ title: "Loop", default: !1 }),
460
+ muted: h({ title: "Muted", default: !0 })
461
+ }
462
+ })
463
+ }
464
+ });
465
+ const we = d.memo(
466
+ (t) => {
467
+ const { blockProps: e, styles: l, content: o, inBuilder: a } = t;
468
+ return /* @__PURE__ */ s.jsxs("div", { className: "relative", children: [
469
+ a ? /* @__PURE__ */ s.jsx("div", { ...e, ...l, className: "absolute h-full w-full z-20" }) : null,
470
+ d.createElement("div", {
471
+ ...l,
472
+ dangerouslySetInnerHTML: { __html: o }
473
+ })
474
+ ] });
475
+ }
476
+ );
477
+ u(we, {
478
+ type: "CustomHTML",
479
+ label: "CustomHTML",
480
+ category: "core",
481
+ icon: Q,
482
+ group: "basic",
483
+ props: {
484
+ styles: c({ default: "" }),
485
+ content: L({
486
+ title: "HTML Content",
487
+ default: "<div><p>HTML Snippet goes here...</p></div>",
488
+ placeholder: "Enter custom HTML code here"
489
+ })
490
+ }
491
+ });
492
+ const Se = (t) => {
493
+ const { blockProps: e, styles: l } = t;
494
+ return d.createElement("hr", { ...l, ...e });
495
+ };
496
+ u(Se, {
497
+ type: "Divider",
498
+ label: "Divider",
499
+ category: "core",
500
+ icon: ee,
501
+ group: "basic",
502
+ props: {
503
+ styles: c({ default: "bg-gray-900 h-0.5 py-2 my-1" })
504
+ }
505
+ });
506
+ const _e = (t) => {
507
+ const { blockProps: e, styles: l } = t;
508
+ return d.createElement("br", { ...e, ...l });
509
+ };
510
+ u(_e, {
511
+ type: "LineBreak",
512
+ label: "Line Break",
513
+ category: "core",
514
+ group: "basic",
515
+ hidden: !0,
516
+ icon: R,
517
+ props: {
518
+ styles: c({ default: "" })
519
+ }
520
+ });
521
+ const je = (t) => t.inBuilder ? /* @__PURE__ */ s.jsx("span", { className: "inline", ...t.blockProps, children: t.content }) : `${t.content}`;
522
+ u(je, {
523
+ type: "Text",
524
+ label: "Text",
525
+ hidden: !0,
526
+ category: "core",
527
+ group: "basic",
528
+ icon: R,
529
+ props: {
530
+ content: L({ title: "Content", defaultValue: "" })
531
+ }
532
+ });
533
+ const S = (t) => {
534
+ const e = (r, n) => ({
535
+ _id: x(),
536
+ _parent: r,
537
+ _type: "TableCell",
538
+ styles: "#styles:,",
539
+ content: `${t === "TableHead" ? "Table Head" : "Table Cell " + n}`
540
+ }), l = (r) => {
541
+ const n = x(), i = {
542
+ _type: "TableRow",
543
+ _id: n,
544
+ styles: "#styles:,border-b"
545
+ };
546
+ return r && (i._parent = r), [i, e(n, "1"), e(n, "2"), e(n, "3")];
547
+ }, o = (r) => {
548
+ const n = x(), i = {
549
+ _id: n,
550
+ _type: "TableHead",
551
+ styles: "#styles:,font-medium"
552
+ };
553
+ return r && (i._parent = r), [i, ...l(n)];
554
+ }, a = (r) => {
555
+ const n = x(), i = {
556
+ _id: n,
557
+ _type: "TableBody",
558
+ styles: "#styles:,"
559
+ };
560
+ return r && (i._parent = r), [i, ...l(n), ...l(n)];
561
+ };
562
+ if (t === "Table") {
563
+ const r = x();
564
+ return [
565
+ {
566
+ _id: r,
567
+ _type: "Table",
568
+ styles: "#styles:,w-full text-left text-gray-500 dark:text-gray-400"
569
+ },
570
+ ...o(r),
571
+ ...a(r)
572
+ ];
573
+ }
574
+ return t === "TableRow" ? l() : t === "TableHead" ? o() : t === "TableBody" ? a() : [];
575
+ }, Ee = (t) => {
576
+ const { blockProps: e, children: l, styles: o } = t;
577
+ return l ? d.createElement("table", { ...e, ...o }, l) : /* @__PURE__ */ s.jsx(g, { blockProps: e, text: "TABLE HEAD / BODY" });
578
+ };
579
+ u(Ee, {
580
+ type: "Table",
581
+ label: "Table",
582
+ category: "core",
583
+ group: "table",
584
+ hidden: !0,
585
+ icon: te,
586
+ props: {
587
+ styles: c({ default: "" })
588
+ },
589
+ blocks: S("Table")
590
+ });
591
+ const Pe = (t) => {
592
+ const { blockProps: e, children: l, styles: o } = t;
593
+ return l ? d.createElement("thead", { ...e, ...o }, l) : /* @__PURE__ */ s.jsx(g, { blockProps: e, text: "TABLE ROW" });
594
+ };
595
+ u(Pe, {
596
+ type: "TableHead",
597
+ label: "Table Head",
598
+ category: "core",
599
+ group: "table",
600
+ hidden: !0,
601
+ icon: le,
602
+ props: {
603
+ styles: c({ default: "" })
604
+ },
605
+ blocks: S("TableHead")
606
+ });
607
+ const Ne = (t) => {
608
+ const { blockProps: e, children: l, styles: o } = t;
609
+ return l ? d.createElement("tbody", { ...e, ...o }, l) : /* @__PURE__ */ s.jsx(g, { blockProps: e, text: "TABLE ROW" });
610
+ };
611
+ u(Ne, {
612
+ type: "TableBody",
613
+ label: "Table Body",
614
+ category: "core",
615
+ group: "table",
616
+ hidden: !0,
617
+ icon: oe,
618
+ props: {
619
+ styles: c({ default: "" })
620
+ },
621
+ blocks: S("TableBody")
622
+ });
623
+ const Ce = (t) => {
624
+ const { blockProps: e, children: l, styles: o } = t;
625
+ return l ? d.createElement("tr", { ...e, ...o }, l) : /* @__PURE__ */ s.jsx(g, { blockProps: e, text: "TABLE CELL" });
626
+ };
627
+ u(Ce, {
628
+ type: "TableRow",
629
+ label: "Table Row",
630
+ category: "core",
631
+ group: "table",
632
+ hidden: !0,
633
+ icon: re,
634
+ props: {
635
+ styles: c({ default: "w-full" })
636
+ },
637
+ blocks: S("TableRow")
638
+ });
639
+ const Me = (t) => {
640
+ const { blockProps: e, children: l, content: o, styles: a } = t;
641
+ return !l && k(o) ? /* @__PURE__ */ s.jsx(g, { blockProps: e }) : l ? d.createElement("td", { ...e, ...a }, l) : d.createElement("td", {
642
+ ...e,
643
+ ...a,
644
+ dangerouslySetInnerHTML: { __html: o }
645
+ });
646
+ };
647
+ u(Me, {
648
+ type: "TableCell",
649
+ label: "Table Cell",
650
+ category: "core",
651
+ group: "table",
652
+ hidden: !0,
653
+ icon: ae,
654
+ props: {
655
+ styles: c({ default: "" }),
656
+ content: T({ title: "Content", default: "Table cell item" })
657
+ }
658
+ });
659
+ const He = (t) => {
660
+ const { blockProps: e, errorMessage: l, name: o, _type: a, successMessage: r, action: n, styles: i, children: p } = t;
661
+ if (!p && k(i == null ? void 0 : i.className))
662
+ return /* @__PURE__ */ s.jsx(g, { blockProps: e, text: "FORM FIELDS" });
663
+ const m = {
664
+ "x-data": "useForm",
665
+ "x-on:submit.prevent": "post"
666
+ }, y = {
667
+ "x-html": "formResponse",
668
+ ":class": "{'text-red-500': formStatus === 'ERROR', 'text-green-500': formStatus === 'SUCCESS'}"
669
+ };
670
+ return /* @__PURE__ */ s.jsxs(
671
+ "form",
672
+ {
673
+ ...m,
674
+ "data-error": l,
675
+ "data-success": r,
676
+ method: "post",
677
+ action: n,
678
+ ...e,
679
+ ...i,
680
+ children: [
681
+ /* @__PURE__ */ s.jsx("div", { ...y }),
682
+ /* @__PURE__ */ s.jsx("input", { name: "formname", type: "hidden", value: o || a }),
683
+ p
684
+ ]
685
+ }
686
+ );
687
+ };
688
+ u(He, {
689
+ type: "Form",
690
+ label: "Form",
691
+ category: "core",
692
+ icon: se,
693
+ group: "form",
694
+ hidden: !0,
695
+ props: {
696
+ styles: c({ default: "" }),
697
+ action: f({
698
+ title: "Submit URL",
699
+ default: "/api/form/submit"
700
+ }),
701
+ errorMessage: T({
702
+ title: "Error Message",
703
+ default: "Something went wrong. Please try again"
704
+ }),
705
+ successMessage: T({
706
+ title: "Success Message",
707
+ default: "Thank you for your submission."
708
+ })
709
+ },
710
+ canAcceptBlock: () => !0
711
+ });
712
+ const Re = (t) => {
713
+ const { blockProps: e, content: l, styles: o, children: a } = t, r = { ...o, ...e };
714
+ return a ? d.createElement("label", r, a) : d.createElement("label", {
715
+ ...r,
716
+ dangerouslySetInnerHTML: { __html: l }
717
+ });
718
+ };
719
+ u(Re, {
720
+ type: "Label",
721
+ label: "Label",
722
+ category: "core",
723
+ icon: ne,
724
+ group: "form",
725
+ hidden: !0,
726
+ props: {
727
+ styles: c({ default: "" }),
728
+ content: f({ title: "Content", default: "Label" })
729
+ }
730
+ });
731
+ const Ae = (t) => {
732
+ const {
733
+ blockProps: e,
734
+ label: l,
735
+ placeholder: o,
736
+ styles: a,
737
+ inputStyles: r,
738
+ showLabel: n,
739
+ required: i,
740
+ inputType: p = "text",
741
+ inBuilder: m,
742
+ fieldName: y
743
+ } = t, b = x();
744
+ return !n || p === "submit" ? (p === "submit" && (e.value = l), /* @__PURE__ */ s.jsx(
745
+ "input",
746
+ {
747
+ id: b,
748
+ name: y,
749
+ readOnly: m,
750
+ ...e,
751
+ ...r,
752
+ ...a,
753
+ type: p,
754
+ placeholder: o,
755
+ required: i
756
+ }
757
+ )) : /* @__PURE__ */ s.jsxs("div", { ...a, ...e, children: [
758
+ n && /* @__PURE__ */ s.jsx("label", { htmlFor: b, children: l }),
759
+ /* @__PURE__ */ s.jsx(
760
+ "input",
761
+ {
762
+ name: y,
763
+ readOnly: m,
764
+ ...r,
765
+ id: b,
766
+ type: p,
767
+ placeholder: o,
768
+ required: i
769
+ }
770
+ )
771
+ ] });
772
+ };
773
+ u(Ae, {
774
+ type: "Input",
775
+ label: "Input",
776
+ category: "core",
777
+ icon: A,
778
+ group: "form",
779
+ hidden: !0,
780
+ props: {
781
+ styles: c({ default: "" }),
782
+ fieldName: f({ title: "Field Name", default: "input" }),
783
+ inputType: I({
784
+ title: "Type",
785
+ options: _(
786
+ ["text", "email", "password", "number", "tel", "file", "hidden", "range", "submit", "color", "date", "time"],
787
+ (t) => ({
788
+ value: t,
789
+ title: t
790
+ })
791
+ ),
792
+ default: "text"
793
+ }),
794
+ value: f({ title: "Value", default: "" }),
795
+ showLabel: h({ title: "Show label", default: !0 }),
796
+ inputStyles: c({ default: "w-full p-1" }),
797
+ label: f({ title: "Label", default: "Label" }),
798
+ placeholder: f({
799
+ title: "Placeholder",
800
+ default: "Placeholder"
801
+ }),
802
+ required: h({ title: "Required", default: !1 })
803
+ }
804
+ });
805
+ const Fe = (t) => {
806
+ const { blockProps: e, fieldName: l, label: o, placeholder: a, styles: r, inputStyles: n, _rows: i, showLabel: p } = t, m = x();
807
+ return p ? /* @__PURE__ */ s.jsxs("div", { ...r, ...e, children: [
808
+ p && /* @__PURE__ */ s.jsx("label", { htmlFor: m, children: o }),
809
+ /* @__PURE__ */ s.jsx("textarea", { name: l, ...n, id: m, placeholder: a, rows: i })
810
+ ] }) : /* @__PURE__ */ s.jsx(
811
+ "textarea",
812
+ {
813
+ id: m,
814
+ name: l,
815
+ ...e,
816
+ ...n,
817
+ ...r,
818
+ placeholder: a,
819
+ rows: i
820
+ }
821
+ );
822
+ };
823
+ u(Fe, {
824
+ type: "TextArea",
825
+ label: "TextArea",
826
+ category: "core",
827
+ icon: A,
828
+ group: "form",
829
+ hidden: !0,
830
+ props: {
831
+ fieldName: f({ title: "Field Name", default: "textarea" }),
832
+ showLabel: h({ title: "Show label", default: !0 }),
833
+ styles: c({ default: "" }),
834
+ inputStyles: c({ default: "w-full p-1" }),
835
+ label: f({ title: "Label", default: "Label" }),
836
+ placeholder: f({
837
+ title: "Placeholder",
838
+ default: "Placeholder"
839
+ }),
840
+ _rows: M({ title: "Rows", default: 3 })
841
+ }
842
+ });
843
+ const ze = (t) => {
844
+ const {
845
+ blockProps: e,
846
+ fieldName: l,
847
+ label: o,
848
+ placeholder: a,
849
+ styles: r,
850
+ inputStyles: n,
851
+ required: i,
852
+ showLabel: p,
853
+ _multiple: m = !1
854
+ } = t, y = x();
855
+ return p ? /* @__PURE__ */ s.jsxs("div", { ...r, children: [
856
+ p && /* @__PURE__ */ s.jsx("label", { htmlFor: y, children: o }),
857
+ /* @__PURE__ */ s.jsxs(
858
+ "select",
859
+ {
860
+ ...n,
861
+ id: y,
862
+ placeholder: a,
863
+ required: i,
864
+ multiple: m,
865
+ name: l,
866
+ children: [
867
+ /* @__PURE__ */ s.jsx("option", { value: "", disabled: !0, selected: !0, hidden: !0, children: a }),
868
+ _(t.options, (b) => /* @__PURE__ */ s.jsx(
869
+ "option",
870
+ {
871
+ selected: v(b, "selected", !1),
872
+ value: b.value,
873
+ dangerouslySetInnerHTML: { __html: b.label }
874
+ },
875
+ b.value
876
+ ))
877
+ ]
878
+ }
879
+ )
880
+ ] }) : /* @__PURE__ */ s.jsxs(
881
+ "select",
882
+ {
883
+ id: y,
884
+ ...r,
885
+ ...e,
886
+ placeholder: a,
887
+ required: i,
888
+ multiple: m,
889
+ name: l,
890
+ children: [
891
+ /* @__PURE__ */ s.jsx("option", { value: "", disabled: !0, selected: !0, hidden: !0, children: a }),
892
+ _(t.options, (b) => /* @__PURE__ */ s.jsx(
893
+ "option",
894
+ {
895
+ selected: v(b, "selected", !1),
896
+ value: b.value,
897
+ dangerouslySetInnerHTML: { __html: b.label }
898
+ },
899
+ b.value
900
+ ))
901
+ ]
902
+ }
903
+ );
904
+ };
905
+ u(ze, {
906
+ type: "Select",
907
+ label: "Select",
908
+ category: "core",
909
+ icon: ie,
910
+ group: "form",
911
+ hidden: !0,
912
+ props: {
913
+ styles: c({ default: "" }),
914
+ fieldName: f({ title: "Field Name", default: "select" }),
915
+ showLabel: h({ title: "Show label", default: !0 }),
916
+ inputStyles: c({ default: "w-full p-1" }),
917
+ label: f({ title: "Label", default: "Label" }),
918
+ placeholder: f({
919
+ title: "Placeholder",
920
+ default: "Placeholder"
921
+ }),
922
+ required: h({ title: "Required", default: !1 }),
923
+ _multiple: h({ title: "Multiple Choice", default: !1 }),
924
+ options: O({
925
+ title: "Options",
926
+ itemProperties: {
927
+ label: f({ title: "Label", default: "" }),
928
+ value: f({ title: "Value", default: "" })
929
+ }
930
+ })
931
+ }
932
+ });
933
+ const De = (t) => {
934
+ const { blockProps: e, fieldName: l, label: o, styles: a, inputStyles: r, required: n, checked: i, showLabel: p = !0 } = t, m = x();
935
+ return p ? /* @__PURE__ */ s.jsxs("div", { ...a, ...e, children: [
936
+ /* @__PURE__ */ s.jsx(
937
+ "input",
938
+ {
939
+ ...r,
940
+ name: l,
941
+ id: m,
942
+ type: "checkbox",
943
+ required: n,
944
+ defaultChecked: i
945
+ }
946
+ ),
947
+ o && o !== "Label" && /* @__PURE__ */ s.jsx("label", { htmlFor: m, children: o })
948
+ ] }) : /* @__PURE__ */ s.jsx(
949
+ "input",
950
+ {
951
+ id: m,
952
+ ...e,
953
+ ...r,
954
+ ...a,
955
+ type: "checkbox",
956
+ required: n,
957
+ name: l
958
+ }
959
+ );
960
+ };
961
+ u(De, {
962
+ type: "Checkbox",
963
+ label: "Checkbox",
964
+ category: "core",
965
+ icon: ce,
966
+ group: "form",
967
+ hidden: !0,
968
+ props: {
969
+ fieldName: f({ title: "Field Name", default: "checkbox" }),
970
+ styles: c({ default: "flex items-center gap-x-2" }),
971
+ label: f({ title: "Label", default: "Label" }),
972
+ checked: h({ title: "Checked", default: !1 }),
973
+ required: h({ title: "Required", default: !1 })
974
+ }
975
+ });
976
+ const qe = (t) => {
977
+ const { blockProps: e, fieldName: l, label: o, styles: a, inputStyles: r, checked: n, required: i, showLabel: p = !0 } = t, m = x();
978
+ return p ? /* @__PURE__ */ s.jsxs("div", { ...a, ...e, children: [
979
+ /* @__PURE__ */ s.jsx("input", { ...r, name: l, id: m, type: "radio", required: i, defaultChecked: n }),
980
+ o && /* @__PURE__ */ s.jsx("label", { htmlFor: m, children: o })
981
+ ] }) : /* @__PURE__ */ s.jsx(
982
+ "input",
983
+ {
984
+ id: m,
985
+ ...e,
986
+ ...r,
987
+ ...a,
988
+ type: "radio",
989
+ required: i,
990
+ checked: n,
991
+ name: l
992
+ }
993
+ );
994
+ };
995
+ u(qe, {
996
+ type: "Radio",
997
+ label: "Radio",
998
+ category: "core",
999
+ icon: de,
1000
+ group: "form",
1001
+ hidden: !0,
1002
+ props: {
1003
+ styles: c({ default: "flex items-center w-max gap-x-2" }),
1004
+ fieldName: f({ title: "Field Name", default: "radio" }),
1005
+ label: f({ title: "Label", default: "Label" }),
1006
+ checked: h({ title: "Checked", default: !1 }),
1007
+ required: h({ title: "Required", default: !1 })
1008
+ }
1009
+ });
1010
+ const $e = (t) => {
1011
+ const { blockProps: e, inBuilder: l, label: o, placeholder: a, styles: r, inputStyles: n, icon: i, iconPos: p } = t, m = x(), y = {
1012
+ "x-bind:disabled": "formLoading"
1013
+ };
1014
+ return /* @__PURE__ */ s.jsxs(
1015
+ "button",
1016
+ {
1017
+ id: m,
1018
+ ...y,
1019
+ ...n,
1020
+ ...r,
1021
+ ...e || {},
1022
+ type: l ? "button" : "submit",
1023
+ placeholder: a,
1024
+ children: [
1025
+ o,
1026
+ i && /* @__PURE__ */ s.jsx("span", { className: p, dangerouslySetInnerHTML: { __html: i } })
1027
+ ]
1028
+ }
1029
+ );
1030
+ };
1031
+ u($e, {
1032
+ type: "FormButton",
1033
+ label: "Submit Button",
1034
+ category: "core",
1035
+ icon: H,
1036
+ group: "form",
1037
+ hidden: !0,
1038
+ props: {
1039
+ label: f({ title: "Label", default: "Submit" }),
1040
+ styles: c({
1041
+ default: "text-white bg-primary disabled:bg-gray-400 px-4 py-2 rounded-global flex items-center gap-x-2"
1042
+ }),
1043
+ icon: E({ title: "Icon", default: "" }),
1044
+ iconPos: I({
1045
+ title: "Icon Position",
1046
+ default: "order-last",
1047
+ options: [
1048
+ { title: "Start", value: "order-first" },
1049
+ { title: "End", value: "order-last" }
1050
+ ]
1051
+ })
1052
+ }
1053
+ });
1054
+ const Ke = D;
3
1055
  export {
4
- r as loadWebBlocks
1056
+ Ke as loadWebBlocks
5
1057
  };