@chaibuilder/sdk 1.2.22 → 1.2.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AddBlocks-l1JENNvq.js +206 -0
- package/dist/AddBlocks-zPPKkeKs.cjs +1 -0
- package/dist/BrandingOptions-DkpqGARR.cjs +1 -0
- package/dist/{BrandingOptions-4961TxX2.js → BrandingOptions-udtH5yJs.js} +11 -10
- package/dist/CanvasArea-IqeMbtOf.js +951 -0
- package/dist/CanvasArea-plZTWifU.cjs +55 -0
- package/dist/{Class-MmCxz2Ay.cjs → Class-PoYusiA5.cjs} +1 -1
- package/dist/{Class-3k8xjeiM.js → Class-lGzsNBOK.js} +1 -1
- package/dist/CurrentPage-7_s9LtEJ.cjs +1 -0
- package/dist/{CurrentPage-oPZN6Gwj.js → CurrentPage-AA0XHYMU.js} +23 -24
- package/dist/ListTree-LAN7QmHQ.cjs +1 -0
- package/dist/ListTree-ZNEtds1d.js +309 -0
- package/dist/MODIFIERS-0g14w5RS.cjs +1 -0
- package/dist/{MODIFIERS-WQdaNvb8.js → MODIFIERS-dytZ-osO.js} +4 -8
- package/dist/PagesPanel-5qMZBatP.cjs +1 -0
- package/dist/{PagesPanel-pRKHw-AZ.js → PagesPanel-883P3_su.js} +9 -10
- package/dist/{ProjectPanel-iU6DY-Yp.js → ProjectPanel-Y8Qcmsn0.js} +11 -12
- package/dist/ProjectPanel-otQb9ceP.cjs +1 -0
- package/dist/STRINGS--j49GZJP.js +7 -0
- package/dist/STRINGS-gPz7CUOk.cjs +1 -0
- package/dist/Settings-Rt342VJ3.cjs +1 -0
- package/dist/{Settings-BhSrj-cE.js → Settings-pIePR1Id.js} +862 -865
- package/dist/{SidePanels-OLOUpKn4.js → SidePanels-NznSn5RN.js} +121 -125
- package/dist/SidePanels-PaQkgjLa.cjs +1 -0
- package/dist/Topbar-CqW7G360.cjs +1 -0
- package/dist/{Topbar-Ny9T-7Zb.js → Topbar-pWzBEOed.js} +39 -35
- package/dist/UnsplashImages-NGskB93R.cjs +1 -0
- package/dist/{UnsplashImages-Y8RGFVSh.js → UnsplashImages-qvwFbV-E.js} +17 -16
- package/dist/{UploadImages-dd8LfyFr.js → UploadImages-9NapgXBq.js} +12 -11
- package/dist/UploadImages-Oh7Glr9A.cjs +1 -0
- package/dist/{add-page-modal-Jni6CY1x.js → add-page-modal-4PiRJgX5.js} +11 -12
- package/dist/add-page-modal-4o2L_7T7.cjs +1 -0
- package/dist/confirm-alert-C4M9eF-o.cjs +1 -0
- package/dist/{confirm-alert-sc8RaWvD.js → confirm-alert-GUhZ_G8w.js} +7 -6
- package/dist/core.cjs +1 -1
- package/dist/core.d.ts +5 -3
- package/dist/core.js +48 -49
- package/dist/defaultTheme-7VqqhOcp.cjs +1 -0
- package/dist/{defaultTheme-gunU_Fe5.js → defaultTheme-D8B4-wHO.js} +1 -1
- package/dist/{delete-page-modal-0WiMZFxr.js → delete-page-modal-4l5-RhQB.js} +10 -11
- package/dist/delete-page-modal-Bek5bCf-.cjs +1 -0
- package/dist/email.cjs +1 -1
- package/dist/email.d.ts +3 -1
- package/dist/email.js +16 -16
- package/dist/{form-Nj6Kdn3g.js → form-STUz-6nE.js} +1 -1
- package/dist/{form-n1Q6u16z.cjs → form-lBQ_76Uw.cjs} +1 -1
- package/dist/html-to-json-efmv1pCj.cjs +1 -0
- package/dist/{html-to-json-C5sExaSD.js → html-to-json-ngX9ef2u.js} +31 -29
- package/dist/{index-IPJAbzzO.js → index-Gk6sASBd.js} +1242 -1213
- package/dist/{index-0bwkNnA0.cjs → index-dgm-fd8U.cjs} +42 -42
- package/dist/{index-UP_4awU9.js → index-gS-3liKK.js} +4479 -4484
- package/dist/index-h-hd6EvN.cjs +1 -0
- package/dist/index-oCYKBYyT.cjs +1 -0
- package/dist/{index-_VPpjzJu.js → index-xZWaF8AW.js} +118 -119
- package/dist/lib.cjs +3 -3
- package/dist/lib.js +17 -16
- package/dist/page-viewer-JlKEwACu.cjs +1 -0
- package/dist/{page-viewer-L1Dmgj-c.js → page-viewer-rCXavxpd.js} +15 -16
- package/dist/project-general-setting-2FGoUZ-z.cjs +1 -0
- package/dist/{project-general-setting-sUP7JqWK.js → project-general-setting-rmAVpDu9.js} +11 -12
- package/dist/project-seo-setting-mlxL_e2_.cjs +1 -0
- package/dist/{project-seo-setting-NNvAGt4T.js → project-seo-setting-pX34Qsym.js} +8 -7
- package/dist/render.cjs +1 -1
- package/dist/render.js +14 -13
- package/dist/single-page-detail-c6-wRWyN.cjs +1 -0
- package/dist/{single-page-detail-FXg_NebW.js → single-page-detail-rSQomrY5.js} +12 -13
- package/dist/studio.cjs +1 -1
- package/dist/studio.d.ts +3 -1
- package/dist/studio.js +8 -9
- package/dist/ui.cjs +1 -1
- package/dist/ui.js +139 -138
- package/dist/web-blocks.cjs +6 -1
- package/dist/web-blocks.js +462 -354
- package/package.json +3 -5
- package/dist/AddBlocks-157fSrJX.cjs +0 -1
- package/dist/AddBlocks-WgpssWmQ.js +0 -223
- package/dist/BrandingOptions-nwXR9TMl.cjs +0 -1
- package/dist/CanvasArea-MajWGr9z.js +0 -908
- package/dist/CanvasArea-MmTlc5Vb.cjs +0 -55
- package/dist/CurrentPage-LpLr0lDI.cjs +0 -1
- package/dist/ListTree-dvxHTXs4.js +0 -167
- package/dist/ListTree-gTmusfso.cjs +0 -1
- package/dist/MODIFIERS-9EwxLM8V.cjs +0 -1
- package/dist/Outline-2OxsXs1-.js +0 -294
- package/dist/Outline-7CCnnzmK.cjs +0 -1
- package/dist/PagesPanel-8536oBWB.cjs +0 -1
- package/dist/ProjectPanel-oILsUWOH.cjs +0 -1
- package/dist/Settings-jHiYmt0y.cjs +0 -1
- package/dist/SidePanels-bcJJocSq.cjs +0 -1
- package/dist/Topbar-NMvzqQHW.cjs +0 -1
- package/dist/TypeIcon-ElNNPazl.cjs +0 -1
- package/dist/TypeIcon-qO96rNbV.js +0 -69
- package/dist/UnsplashImages-6tZv1q2_.cjs +0 -1
- package/dist/UploadImages-VLlVg9Ur.cjs +0 -1
- package/dist/add-page-modal-IsqDdK7X.cjs +0 -1
- package/dist/confirm-alert-f26zJ7Js.cjs +0 -1
- package/dist/defaultTheme-7Lk2zq60.cjs +0 -1
- package/dist/delete-page-modal-c3b-GCap.cjs +0 -1
- package/dist/html-to-json-FGufPv9R.cjs +0 -1
- package/dist/index-9PHdn80L.cjs +0 -1
- package/dist/index-nwAgi0aD.cjs +0 -1
- package/dist/page-viewer-TnxHhq7S.cjs +0 -1
- package/dist/project-general-setting-1Ot1RU43.cjs +0 -1
- package/dist/project-seo-setting-3-vBkx2v.cjs +0 -1
- package/dist/single-page-detail-btEKYXjE.cjs +0 -1
- package/dist/useAddBlockByDrop-V8xo-PNQ.js +0 -20
- package/dist/useAddBlockByDrop-qRHgy8_0.cjs +0 -1
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { j as e } from "./jsx-runtime-WbnYoNE9.js";
|
|
2
|
+
import y, { createElement as D, useState as g, useCallback as O, useMemo as U, useEffect as V, Suspense as R } from "react";
|
|
3
|
+
import { has as F, isFunction as W, first as h, omit as Y, noop as J, isEmpty as b, filter as v, values as k, groupBy as w, mergeWith as K, isArray as L, keys as Q, get as X, map as A, uniq as Z, includes as $, find as ee, reject as I } from "lodash-es";
|
|
4
|
+
import { useAtom as N } from "jotai";
|
|
5
|
+
import { useTranslation as H } from "react-i18next";
|
|
6
|
+
import { L as _, r as S, Y as se, at as P, ap as te, aq as re, ar as oe, h as T, a3 as G, aj as le, ak as ae, al as ce, am as ie, an as E, bj as ne, bk as de, bl as me, bm as pe, aB as ue, bn as xe, bo as he, B as fe, bp as ge, bq as je, br as be, au as ve, av as ke, aw as C, bf as ye, b9 as Be, ba as Ne, bb as Ce, bc as we, S as Ae } from "./index-Gk6sASBd.js";
|
|
7
|
+
import { BoxIcon as Te } from "@radix-ui/react-icons";
|
|
8
|
+
import { syncBlocksWithDefaults as M, useChaiBlocks as q } from "@chaibuilder/runtime";
|
|
9
|
+
import { useFeature as _e } from "flagged";
|
|
10
|
+
import { O as B } from "./STRINGS--j49GZJP.js";
|
|
11
|
+
import { Loader as Se } from "lucide-react";
|
|
12
|
+
import { g as Pe } from "./html-to-json-ngX9ef2u.js";
|
|
13
|
+
import "./_commonjsHelpers-UyOWmZb0.js";
|
|
14
|
+
import "./Functions-7jnEwJyw.js";
|
|
15
|
+
import "clsx";
|
|
16
|
+
import "tailwind-merge";
|
|
17
|
+
import "@react-hookz/web";
|
|
18
|
+
import "./MODIFIERS-dytZ-osO.js";
|
|
19
|
+
import "./Class-lGzsNBOK.js";
|
|
20
|
+
import "@radix-ui/react-toggle";
|
|
21
|
+
import "class-variance-authority";
|
|
22
|
+
import "@radix-ui/react-switch";
|
|
23
|
+
import "@radix-ui/react-slot";
|
|
24
|
+
import "@radix-ui/react-accordion";
|
|
25
|
+
import "@radix-ui/react-alert-dialog";
|
|
26
|
+
import "@radix-ui/react-dialog";
|
|
27
|
+
import "@radix-ui/react-label";
|
|
28
|
+
import "@radix-ui/react-scroll-area";
|
|
29
|
+
import "@radix-ui/react-tabs";
|
|
30
|
+
import "@radix-ui/react-tooltip";
|
|
31
|
+
import "@radix-ui/react-popover";
|
|
32
|
+
import "@radix-ui/react-menubar";
|
|
33
|
+
import "@radix-ui/react-hover-card";
|
|
34
|
+
import "@radix-ui/react-select";
|
|
35
|
+
import "@radix-ui/react-dropdown-menu";
|
|
36
|
+
import "@radix-ui/react-separator";
|
|
37
|
+
import "@radix-ui/react-toast";
|
|
38
|
+
import "cmdk";
|
|
39
|
+
import "@radix-ui/react-context-menu";
|
|
40
|
+
import "react-icons-picker";
|
|
41
|
+
import "react-dom";
|
|
42
|
+
import "react-quill";
|
|
43
|
+
import "himalaya";
|
|
44
|
+
const Le = ({ block: s }) => {
|
|
45
|
+
const { type: r, icon: c, label: l } = s, { addCoreBlock: d, addPredefinedBlock: i } = _(), [n, t] = S(), [, p] = se(), [, m] = N(P), o = () => {
|
|
46
|
+
if (F(s, "blocks")) {
|
|
47
|
+
const u = W(s.blocks) ? s.blocks() : s.blocks;
|
|
48
|
+
i(M(u), h(n));
|
|
49
|
+
} else
|
|
50
|
+
d(s, h(n));
|
|
51
|
+
m(B);
|
|
52
|
+
}, a = _e("dnd");
|
|
53
|
+
return /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsxs(te, { children: [
|
|
54
|
+
/* @__PURE__ */ e.jsx(re, { asChild: !0, children: /* @__PURE__ */ e.jsxs(
|
|
55
|
+
"button",
|
|
56
|
+
{
|
|
57
|
+
onClick: o,
|
|
58
|
+
type: "button",
|
|
59
|
+
onDragStart: (u) => {
|
|
60
|
+
u.dataTransfer.setData("text/plain", JSON.stringify(Y(s, ["component", "icon"]))), setTimeout(() => {
|
|
61
|
+
t([]), p(null), m(B);
|
|
62
|
+
}, 200);
|
|
63
|
+
},
|
|
64
|
+
draggable: a ? "true" : "false",
|
|
65
|
+
className: "space-y-2 rounded-lg border border-border p-3 text-center hover:bg-slate-300/50 " + (a ? "cursor-grab" : "cursor-pointer"),
|
|
66
|
+
children: [
|
|
67
|
+
D(c || Te, { className: "w-4 h-4 mx-auto" }),
|
|
68
|
+
/* @__PURE__ */ e.jsx("p", { className: "truncate text-xs", children: l || r })
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
) }),
|
|
72
|
+
/* @__PURE__ */ e.jsx(oe, { children: /* @__PURE__ */ e.jsx("p", { children: l || r }) })
|
|
73
|
+
] }) });
|
|
74
|
+
}, Ie = ({ block: s, closePopover: r }) => {
|
|
75
|
+
const [c, l] = g(!1), d = T("getExternalPredefinedBlock", J()), { addCoreBlock: i, addPredefinedBlock: n } = _(), [t] = S(), p = O(
|
|
76
|
+
async (m) => {
|
|
77
|
+
if (m.stopPropagation(), F(s, "component")) {
|
|
78
|
+
i(s, h(t)), r();
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
l(!0);
|
|
82
|
+
const o = await d(s);
|
|
83
|
+
b(o) || n(M(o), h(t)), r();
|
|
84
|
+
},
|
|
85
|
+
[s]
|
|
86
|
+
);
|
|
87
|
+
return /* @__PURE__ */ e.jsx(e.Fragment, { children: /* @__PURE__ */ e.jsxs(
|
|
88
|
+
"div",
|
|
89
|
+
{
|
|
90
|
+
onClick: c ? () => {
|
|
91
|
+
} : p,
|
|
92
|
+
className: "relative cursor-pointer overflow-hidden rounded-md border border-transparent duration-200 hover:scale-x-105 hover:border-foreground/20 hover:shadow-2xl",
|
|
93
|
+
children: [
|
|
94
|
+
c && /* @__PURE__ */ e.jsxs("div", { className: "absolute flex h-full w-full items-center justify-center bg-black bg-opacity-70", children: [
|
|
95
|
+
/* @__PURE__ */ e.jsx(Se, { className: "animate-spin", size: 15, color: "white" }),
|
|
96
|
+
" ",
|
|
97
|
+
/* @__PURE__ */ e.jsx("span", { className: "pl-2 text-sm text-white", children: "Adding..." })
|
|
98
|
+
] }),
|
|
99
|
+
s.preview ? /* @__PURE__ */ e.jsx(
|
|
100
|
+
"img",
|
|
101
|
+
{
|
|
102
|
+
src: s.preview,
|
|
103
|
+
className: "min-h-[50px] w-full rounded-md border border-gray-300",
|
|
104
|
+
alt: s.label
|
|
105
|
+
}
|
|
106
|
+
) : /* @__PURE__ */ e.jsx("div", { className: "flex h-20 items-center justify-center rounded-md border border-border border-gray-300 bg-gray-200", children: /* @__PURE__ */ e.jsx("p", { className: "max-w-xs text-center text-sm text-gray-700", children: s.label }) })
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
) });
|
|
110
|
+
}, Ee = () => {
|
|
111
|
+
const { data: s } = G(), r = q(), c = v(k(r), { category: "custom" }), l = w(c, "group"), d = w(s, "group"), i = U(() => K(l, d, (o, a) => {
|
|
112
|
+
if (L(o) && L(a))
|
|
113
|
+
return [...o, ...a];
|
|
114
|
+
}), [l, d]), [n, t] = g(h(Q(i)) || ""), [, p] = N(P), m = X(i, n, []);
|
|
115
|
+
return /* @__PURE__ */ e.jsxs("div", { className: "relative flex h-full max-h-full flex-col overflow-hidden py-2", children: [
|
|
116
|
+
/* @__PURE__ */ e.jsx("div", { className: "sticky top-0 flex w-full items-center p-3", children: /* @__PURE__ */ e.jsxs(le, { value: n, onValueChange: (o) => t(o), children: [
|
|
117
|
+
/* @__PURE__ */ e.jsx(ae, { className: "w-full", children: /* @__PURE__ */ e.jsx(ce, { placeholder: "Select a provider" }) }),
|
|
118
|
+
/* @__PURE__ */ e.jsxs(ie, { children: [
|
|
119
|
+
/* @__PURE__ */ e.jsx(E, { value: "", children: "Choose" }),
|
|
120
|
+
y.Children.toArray(
|
|
121
|
+
A(i, (o, a) => /* @__PURE__ */ e.jsx(E, { value: a, children: a }, a))
|
|
122
|
+
)
|
|
123
|
+
] })
|
|
124
|
+
] }) }),
|
|
125
|
+
/* @__PURE__ */ e.jsx("div", { className: "h-full w-full space-y-2 overflow-y-auto px-2", children: y.Children.toArray(
|
|
126
|
+
m.map((o) => /* @__PURE__ */ e.jsx(Ie, { block: o, closePopover: () => p(B) }))
|
|
127
|
+
) })
|
|
128
|
+
] });
|
|
129
|
+
}, Fe = () => {
|
|
130
|
+
const { t: s } = H(), [r, c] = g(""), { addPredefinedBlock: l } = _(), [d] = S(), [, i] = N(P), n = () => {
|
|
131
|
+
const t = Pe(r);
|
|
132
|
+
l([...t], h(d) || null), c(""), i(B);
|
|
133
|
+
};
|
|
134
|
+
return /* @__PURE__ */ e.jsxs(ne, { className: "border-border/0 p-0 shadow-none", children: [
|
|
135
|
+
/* @__PURE__ */ e.jsx(de, { className: "p-3", children: /* @__PURE__ */ e.jsx(me, { children: s("html_snippet_description") }) }),
|
|
136
|
+
/* @__PURE__ */ e.jsx(pe, { className: "space-y-2 px-3 py-0", children: /* @__PURE__ */ e.jsxs("div", { className: "space-y-1", children: [
|
|
137
|
+
/* @__PURE__ */ e.jsx(ue, { htmlFor: "current", className: "text-sm", children: s("tailwind_html_snippet") }),
|
|
138
|
+
/* @__PURE__ */ e.jsx(
|
|
139
|
+
xe,
|
|
140
|
+
{
|
|
141
|
+
autoFocus: !0,
|
|
142
|
+
tabIndex: 1,
|
|
143
|
+
ref: (t) => t && t.focus(),
|
|
144
|
+
onChange: (t) => c(t.target.value),
|
|
145
|
+
rows: 12,
|
|
146
|
+
value: r,
|
|
147
|
+
placeholder: s("enter_code_snippet"),
|
|
148
|
+
className: "resize-none overflow-x-auto whitespace-pre bg-gray-100 font-mono text-xs font-normal"
|
|
149
|
+
}
|
|
150
|
+
)
|
|
151
|
+
] }) }),
|
|
152
|
+
/* @__PURE__ */ e.jsxs(he, { className: "flex flex-col justify-end p-3", children: [
|
|
153
|
+
/* @__PURE__ */ e.jsx(fe, { disabled: r.trim() === "", onClick: () => n(), size: "sm", className: "w-full", children: s("import_html") }),
|
|
154
|
+
/* @__PURE__ */ e.jsx(ge, { variant: "default", className: "mt-2 border-none p-1 text-gray-400", children: /* @__PURE__ */ e.jsx(je, { className: "text-xs font-normal leading-4", children: s("note_imported_html") }) })
|
|
155
|
+
] })
|
|
156
|
+
] });
|
|
157
|
+
}, Cs = () => {
|
|
158
|
+
const { t: s } = H(), [r, c] = g("core"), [l, d] = g("basic"), i = q(), [, n] = N(be), t = T("importHTMLSupport", !0), p = T("filterChaiBlock", () => !0), { data: m, isLoading: o } = G(), a = v(i, p), u = w(a, "category"), f = Z(A(u.core, "group"));
|
|
159
|
+
V(() => {
|
|
160
|
+
!$(f, l) && !b(f) && !b(l) && d(h(f));
|
|
161
|
+
}, [f, l]);
|
|
162
|
+
const j = !o && !b(m) || ee(k(a), { category: "custom" }) !== void 0;
|
|
163
|
+
return /* @__PURE__ */ e.jsxs("div", { className: "flex h-full w-72 flex-col overflow-hidden", children: [
|
|
164
|
+
/* @__PURE__ */ e.jsxs("div", { className: "mb-2 flex flex-col justify-between rounded-md bg-background/30 p-1", children: [
|
|
165
|
+
/* @__PURE__ */ e.jsx("h1", { className: "flex flex-col items-baseline px-1 text-xl font-semibold xl:flex-col", children: s("add_block") }),
|
|
166
|
+
/* @__PURE__ */ e.jsx("span", { className: "p-0 text-xs font-light leading-3 opacity-80 xl:pl-1", children: s(r === "html" ? "enter_paste_tailwind_html" : "click_to_add_block") })
|
|
167
|
+
] }),
|
|
168
|
+
/* @__PURE__ */ e.jsx(
|
|
169
|
+
ve,
|
|
170
|
+
{
|
|
171
|
+
onValueChange: (x) => {
|
|
172
|
+
n(""), c(x);
|
|
173
|
+
},
|
|
174
|
+
value: r,
|
|
175
|
+
className: "h-max",
|
|
176
|
+
children: /* @__PURE__ */ e.jsxs(
|
|
177
|
+
ke,
|
|
178
|
+
{
|
|
179
|
+
className: "grid w-full " + (j && t ? "grid-cols-3" : j && !t || !j && t ? "grid-cols-2" : "grid-cols-1"),
|
|
180
|
+
children: [
|
|
181
|
+
/* @__PURE__ */ e.jsx(C, { value: "core", children: s("Blocks") }),
|
|
182
|
+
j ? /* @__PURE__ */ e.jsx(C, { value: "ui-blocks", children: s("ui_library") }) : null,
|
|
183
|
+
t ? /* @__PURE__ */ e.jsx(C, { value: "html", children: s("import") }) : null
|
|
184
|
+
]
|
|
185
|
+
}
|
|
186
|
+
)
|
|
187
|
+
}
|
|
188
|
+
),
|
|
189
|
+
r === "core" && /* @__PURE__ */ e.jsx(ye, { className: "-mx-1.5 h-full", children: /* @__PURE__ */ e.jsx("div", { className: "mt-2 w-full", children: y.Children.toArray(
|
|
190
|
+
A(
|
|
191
|
+
f,
|
|
192
|
+
(x) => I(v(k(u.core), { group: x }), { hidden: !0 }).length ? /* @__PURE__ */ e.jsx(Be, { type: "single", value: x, collapsible: !0, className: "w-full", children: /* @__PURE__ */ e.jsxs(Ne, { value: x, children: [
|
|
193
|
+
/* @__PURE__ */ e.jsx(Ce, { className: "rounded-md bg-gray-100 px-4 py-2 capitalize", children: x }),
|
|
194
|
+
/* @__PURE__ */ e.jsx(we, { className: "p-3", children: /* @__PURE__ */ e.jsx("div", { className: "grid grid-cols-3 gap-2", children: y.Children.toArray(
|
|
195
|
+
I(v(k(u.core), { group: x }), { hidden: !0 }).map((z) => /* @__PURE__ */ e.jsx(Le, { block: z }))
|
|
196
|
+
) }) })
|
|
197
|
+
] }) }) : null
|
|
198
|
+
)
|
|
199
|
+
) }) }),
|
|
200
|
+
r === "ui-blocks" && /* @__PURE__ */ e.jsx(R, { fallback: /* @__PURE__ */ e.jsx(Ae, { className: "h-32 w-full" }), children: /* @__PURE__ */ e.jsx(Ee, {}) }),
|
|
201
|
+
r === "html" && t ? /* @__PURE__ */ e.jsx(Fe, {}) : null
|
|
202
|
+
] });
|
|
203
|
+
};
|
|
204
|
+
export {
|
|
205
|
+
Cs as default
|
|
206
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./jsx-runtime-Z_BpKhVy.cjs"),n=require("react"),t=require("lodash-es"),y=require("jotai"),v=require("react-i18next"),s=require("./index-h-hd6EvN.cjs"),B=require("@radix-ui/react-icons"),b=require("@chaibuilder/runtime"),q=require("flagged"),R=require("./STRINGS-gPz7CUOk.cjs"),N=require("lucide-react"),C=require("./html-to-json-efmv1pCj.cjs");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("./Functions-N3yhPYKY.cjs");require("clsx");require("tailwind-merge");require("@react-hookz/web");require("./MODIFIERS-0g14w5RS.cjs");require("./Class-PoYusiA5.cjs");require("@radix-ui/react-toggle");require("class-variance-authority");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("react-quill");require("himalaya");const T=({block:r})=>{const{type:i,icon:u,label:c}=r,{addCoreBlock:m,addPredefinedBlock:d}=s.useAddBlock(),[x,o]=s.useSelectedBlockIds(),[,j]=s.useHighlightBlockId(),[,p]=y.useAtom(s.activePanelAtom),l=()=>{if(t.has(r,"blocks")){const h=t.isFunction(r.blocks)?r.blocks():r.blocks;d(b.syncBlocksWithDefaults(h),t.first(x))}else m(r,t.first(x));p(R.OUTLINE_KEY)},a=q.useFeature("dnd");return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs(s.Tooltip,{children:[e.jsxRuntimeExports.jsx(s.TooltipTrigger,{asChild:!0,children:e.jsxRuntimeExports.jsxs("button",{onClick:l,type:"button",onDragStart:h=>{h.dataTransfer.setData("text/plain",JSON.stringify(t.omit(r,["component","icon"]))),setTimeout(()=>{o([]),j(null),p(R.OUTLINE_KEY)},200)},draggable:a?"true":"false",className:"space-y-2 rounded-lg border border-border p-3 text-center hover:bg-slate-300/50 "+(a?"cursor-grab":"cursor-pointer"),children:[n.createElement(u||B.BoxIcon,{className:"w-4 h-4 mx-auto"}),e.jsxRuntimeExports.jsx("p",{className:"truncate text-xs",children:c||i})]})}),e.jsxRuntimeExports.jsx(s.TooltipContent,{children:e.jsxRuntimeExports.jsx("p",{children:c||i})})]})})},A=({block:r,closePopover:i})=>{const[u,c]=n.useState(!1),m=s.useBuilderProp("getExternalPredefinedBlock",t.noop()),{addCoreBlock:d,addPredefinedBlock:x}=s.useAddBlock(),[o]=s.useSelectedBlockIds(),j=n.useCallback(async p=>{if(p.stopPropagation(),t.has(r,"component")){d(r,t.first(o)),i();return}c(!0);const l=await m(r);t.isEmpty(l)||x(b.syncBlocksWithDefaults(l),t.first(o)),i()},[r]);return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs("div",{onClick:u?()=>{}:j,className:"relative cursor-pointer overflow-hidden rounded-md border border-transparent duration-200 hover:scale-x-105 hover:border-foreground/20 hover:shadow-2xl",children:[u&&e.jsxRuntimeExports.jsxs("div",{className:"absolute flex h-full w-full items-center justify-center bg-black bg-opacity-70",children:[e.jsxRuntimeExports.jsx(N.Loader,{className:"animate-spin",size:15,color:"white"})," ",e.jsxRuntimeExports.jsx("span",{className:"pl-2 text-sm text-white",children:"Adding..."})]}),r.preview?e.jsxRuntimeExports.jsx("img",{src:r.preview,className:"min-h-[50px] w-full rounded-md border border-gray-300",alt:r.label}):e.jsxRuntimeExports.jsx("div",{className:"flex h-20 items-center justify-center rounded-md border border-border border-gray-300 bg-gray-200",children:e.jsxRuntimeExports.jsx("p",{className:"max-w-xs text-center text-sm text-gray-700",children:r.label})})]})})},w=()=>{const{data:r}=s.useUILibraryBlocks(),i=b.useChaiBlocks(),u=t.filter(t.values(i),{category:"custom"}),c=t.groupBy(u,"group"),m=t.groupBy(r,"group"),d=n.useMemo(()=>t.mergeWith(c,m,(l,a)=>{if(t.isArray(l)&&t.isArray(a))return[...l,...a]}),[c,m]),[x,o]=n.useState(t.first(t.keys(d))||""),[,j]=y.useAtom(s.activePanelAtom),p=t.get(d,x,[]);return e.jsxRuntimeExports.jsxs("div",{className:"relative flex h-full max-h-full flex-col overflow-hidden py-2",children:[e.jsxRuntimeExports.jsx("div",{className:"sticky top-0 flex w-full items-center p-3",children:e.jsxRuntimeExports.jsxs(s.Select,{value:x,onValueChange:l=>o(l),children:[e.jsxRuntimeExports.jsx(s.SelectTrigger,{className:"w-full",children:e.jsxRuntimeExports.jsx(s.SelectValue,{placeholder:"Select a provider"})}),e.jsxRuntimeExports.jsxs(s.SelectContent,{children:[e.jsxRuntimeExports.jsx(s.SelectItem,{value:"",children:"Choose"}),n.Children.toArray(t.map(d,(l,a)=>e.jsxRuntimeExports.jsx(s.SelectItem,{value:a,children:a},a)))]})]})}),e.jsxRuntimeExports.jsx("div",{className:"h-full w-full space-y-2 overflow-y-auto px-2",children:n.Children.toArray(p.map(l=>e.jsxRuntimeExports.jsx(A,{block:l,closePopover:()=>j(R.OUTLINE_KEY)})))})]})},S=()=>{const{t:r}=v.useTranslation(),[i,u]=n.useState(""),{addPredefinedBlock:c}=s.useAddBlock(),[m]=s.useSelectedBlockIds(),[,d]=y.useAtom(s.activePanelAtom),x=()=>{const o=C.getBlocksFromHTML(i);c([...o],t.first(m)||null),u(""),d(R.OUTLINE_KEY)};return e.jsxRuntimeExports.jsxs(s.Card,{className:"border-border/0 p-0 shadow-none",children:[e.jsxRuntimeExports.jsx(s.CardHeader,{className:"p-3",children:e.jsxRuntimeExports.jsx(s.CardDescription,{children:r("html_snippet_description")})}),e.jsxRuntimeExports.jsx(s.CardContent,{className:"space-y-2 px-3 py-0",children:e.jsxRuntimeExports.jsxs("div",{className:"space-y-1",children:[e.jsxRuntimeExports.jsx(s.Label,{htmlFor:"current",className:"text-sm",children:r("tailwind_html_snippet")}),e.jsxRuntimeExports.jsx(s.Textarea,{autoFocus:!0,tabIndex:1,ref:o=>o&&o.focus(),onChange:o=>u(o.target.value),rows:12,value:i,placeholder:r("enter_code_snippet"),className:"resize-none overflow-x-auto whitespace-pre bg-gray-100 font-mono text-xs font-normal"})]})}),e.jsxRuntimeExports.jsxs(s.CardFooter,{className:"flex flex-col justify-end p-3",children:[e.jsxRuntimeExports.jsx(s.Button,{disabled:i.trim()==="",onClick:()=>x(),size:"sm",className:"w-full",children:r("import_html")}),e.jsxRuntimeExports.jsx(s.Alert,{variant:"default",className:"mt-2 border-none p-1 text-gray-400",children:e.jsxRuntimeExports.jsx(s.AlertTitle,{className:"text-xs font-normal leading-4",children:r("note_imported_html")})})]})]})},_=()=>{const{t:r}=v.useTranslation(),[i,u]=n.useState("core"),[c,m]=n.useState("basic"),d=b.useChaiBlocks(),[,x]=y.useAtom(s.showPredefinedBlockCategoryAtom),o=s.useBuilderProp("importHTMLSupport",!0),j=s.useBuilderProp("filterChaiBlock",()=>!0),{data:p,isLoading:l}=s.useUILibraryBlocks(),a=t.filter(d,j),h=t.groupBy(a,"category"),g=t.uniq(t.map(h.core,"group"));n.useEffect(()=>{!t.includes(g,c)&&!t.isEmpty(g)&&!t.isEmpty(c)&&m(t.first(g))},[g,c]);const E=!l&&!t.isEmpty(p)||t.find(t.values(a),{category:"custom"})!==void 0;return e.jsxRuntimeExports.jsxs("div",{className:"flex h-full w-72 flex-col overflow-hidden",children:[e.jsxRuntimeExports.jsxs("div",{className:"mb-2 flex flex-col justify-between rounded-md bg-background/30 p-1",children:[e.jsxRuntimeExports.jsx("h1",{className:"flex flex-col items-baseline px-1 text-xl font-semibold xl:flex-col",children:r("add_block")}),e.jsxRuntimeExports.jsx("span",{className:"p-0 text-xs font-light leading-3 opacity-80 xl:pl-1",children:r(i==="html"?"enter_paste_tailwind_html":"click_to_add_block")})]}),e.jsxRuntimeExports.jsx(s.Tabs,{onValueChange:f=>{x(""),u(f)},value:i,className:"h-max",children:e.jsxRuntimeExports.jsxs(s.TabsList,{className:"grid w-full "+(E&&o?"grid-cols-3":E&&!o||!E&&o?"grid-cols-2":"grid-cols-1"),children:[e.jsxRuntimeExports.jsx(s.TabsTrigger,{value:"core",children:r("Blocks")}),E?e.jsxRuntimeExports.jsx(s.TabsTrigger,{value:"ui-blocks",children:r("ui_library")}):null,o?e.jsxRuntimeExports.jsx(s.TabsTrigger,{value:"html",children:r("import")}):null]})}),i==="core"&&e.jsxRuntimeExports.jsx(s.ScrollArea,{className:"-mx-1.5 h-full",children:e.jsxRuntimeExports.jsx("div",{className:"mt-2 w-full",children:n.Children.toArray(t.map(g,f=>t.reject(t.filter(t.values(h.core),{group:f}),{hidden:!0}).length?e.jsxRuntimeExports.jsx(s.Accordion,{type:"single",value:f,collapsible:!0,className:"w-full",children:e.jsxRuntimeExports.jsxs(s.AccordionItem,{value:f,children:[e.jsxRuntimeExports.jsx(s.AccordionTrigger,{className:"rounded-md bg-gray-100 px-4 py-2 capitalize",children:f}),e.jsxRuntimeExports.jsx(s.AccordionContent,{className:"p-3",children:e.jsxRuntimeExports.jsx("div",{className:"grid grid-cols-3 gap-2",children:n.Children.toArray(t.reject(t.filter(t.values(h.core),{group:f}),{hidden:!0}).map(k=>e.jsxRuntimeExports.jsx(T,{block:k})))})})]})}):null))})}),i==="ui-blocks"&&e.jsxRuntimeExports.jsx(n.Suspense,{fallback:e.jsxRuntimeExports.jsx(s.Skeleton,{className:"h-32 w-full"}),children:e.jsxRuntimeExports.jsx(w,{})}),i==="html"&&o?e.jsxRuntimeExports.jsx(S,{}):null]})};exports.default=_;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./jsx-runtime-Z_BpKhVy.cjs"),B=require("react"),R=require("@rjsf/validator-ajv8"),E=require("@rjsf/core"),p=require("./index-h-hd6EvN.cjs"),r=require("./controls-KK2oLIa8.cjs"),f=require("lodash-es");require("./_commonjsHelpers-wDK0ZLPo.cjs");require("./Functions-N3yhPYKY.cjs");require("clsx");require("tailwind-merge");require("@chaibuilder/runtime");require("jotai");require("./STRINGS-gPz7CUOk.cjs");require("@react-hookz/web");require("./MODIFIERS-0g14w5RS.cjs");require("./Class-PoYusiA5.cjs");require("react-i18next");require("@radix-ui/react-toggle");require("class-variance-authority");require("@radix-ui/react-switch");require("@radix-ui/react-slot");require("@radix-ui/react-accordion");require("@radix-ui/react-icons");require("@radix-ui/react-alert-dialog");require("@radix-ui/react-dialog");require("@radix-ui/react-label");require("@radix-ui/react-scroll-area");require("@radix-ui/react-tabs");require("@radix-ui/react-tooltip");require("@radix-ui/react-popover");require("@radix-ui/react-menubar");require("@radix-ui/react-hover-card");require("@radix-ui/react-select");require("@radix-ui/react-dropdown-menu");require("@radix-ui/react-separator");require("@radix-ui/react-toast");require("cmdk");require("@radix-ui/react-context-menu");require("react-icons-picker");require("react-dom");require("react-quill");function N(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const i in t)if(i!=="default"){const l=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,l.get?l:{enumerable:!0,get:()=>t[i]})}}return e.default=t,Object.freeze(e)}const x=N(B),k=({value:t,onChange:e,id:i,onBlur:l})=>{const n=f.debounce(e,200),v=u=>n(u.target.value);return a.jsxRuntimeExports.jsx("div",{className:"mt-1.5 flex items-center gap-x-3",children:a.jsxRuntimeExports.jsx("div",{className:"flex w-3/5 flex-col",children:a.jsxRuntimeExports.jsx("input",{type:"color",className:"text-xs p-0",value:t,onBlur:({target:{value:u}})=>l(i,u),onChange:v})})})},m=[{title:"Roboto",value:"Roboto"},{title:"Open Sans",value:"Open Sans"},{title:"Montserrat",value:"Montserrat"},{title:"Lato",value:"Lato"},{title:"Poppins",value:"Poppins"},{title:"Oswald",value:"Oswald"},{title:"Raleway",value:"Raleway"},{title:"Ubuntu",value:"Ubuntu"},{title:"Nunito",value:"Nunito"},{title:"Merriweather",value:"Merriweather"},{title:"Nunito Sans",value:"Nunito Sans"},{title:"Playfair Display",value:"Playfair Display"},{title:"Rubik",value:"Rubik"},{title:"Inter",value:"Inter"},{title:"Lora",value:"Lora"},{title:"Kanit",value:"Kanit"},{title:"Fira Sans",value:"Fira Sans"},{title:"Hind",value:"Hind"},{title:"Quicksand",value:"Quicksand"},{title:"Mulish",value:"Mulish"},{title:"Barlow",value:"Barlow"},{title:"Inconsolata",value:"Inconsolata"},{title:"Titillium Web",value:"Titillium Web"},{title:"Heebo",value:"Heebo"},{title:"IBM Plex Sans",value:"IBM Plex Sans"},{title:"DM Sans",value:"DM Sans"},{title:"Nanum Gothic",value:"Nanum Gothic"},{title:"Karla",value:"Karla"},{title:"Arimo",value:"Arimo"},{title:"Cabin",value:"Cabin"},{title:"Oxygen",value:"Oxygen"},{title:"Overpass",value:"Overpass"},{title:"Assistant",value:"Assistant"},{title:"Tajawal",value:"Tajawal"},{title:"Play",value:"Play"},{title:"Exo",value:"Exo"},{title:"Cinzel",value:"Cinzel"},{title:"Faustina",value:"Faustina"},{title:"Philosopher",value:"Philosopher"},{title:"Gelasio",value:"Gelasio"},{title:"Sofia Sans Condensed",value:"Sofia Sans Condensed"},{title:"Noto Sans Devanagari",value:"Noto Sans Devanagari"},{title:"Actor",value:"Actor"},{title:"Epilogue",value:"Epilogue"},{title:"Glegoo",value:"Glegoo"},{title:"Overlock",value:"Overlock"},{title:"Lustria",value:"Lustria"},{title:"Ovo",value:"Ovo"},{title:"Suranna",value:"Suranna"}],P=()=>{const t=p.useBuilderProp("onSaveBrandingOptions",f.noop),[e,i]=p.useBrandingOptions(),[l]=p.useBlocksContainer(),n=x.useRef(e);x.useEffect(()=>()=>{f.isEqual(e,n.current)||t(n.current)},[]);const v=({formData:o},c)=>{c&&(i(o),n.current=o)},{bodyFont:u,headingFont:q,primaryColor:b,bodyTextDarkColor:h,bodyTextLightColor:y,bodyBgDarkColor:S,secondaryColor:C,bodyBgLightColor:O,roundedCorners:j}=e;let s={headingFont:r.s({title:"Heading font",default:q,options:m}),bodyFont:r.s({title:"Body font",default:u,options:m}),roundedCorners:r.c({title:"Rounded Corner",default:parseInt(j||5,10)}),primaryColor:r.f({title:"Primary",default:b}),secondaryColor:r.f({title:"Secondary",default:C})};l||(s={...s,bodyBgLightColor:r.f({title:"Body Background (Light Mode)",default:O}),bodyTextLightColor:r.f({title:"Body Text (Light Mode)",default:h}),bodyBgDarkColor:r.f({title:"Body Background (Dark mode)",default:S}),bodyTextDarkColor:r.f({title:"Body Text (Dark mode)",default:y})});const d={type:"object",properties:{}},g={};return Object.keys(s).forEach(o=>{const c=s[o];return d.properties||(d.properties={}),d.properties[o]=c.schema,g[o]=c.uiSchema,!0}),a.jsxRuntimeExports.jsxs("div",{className:"flex h-full w-60 select-none flex-col",children:[a.jsxRuntimeExports.jsx("div",{className:"rounded-md bg-background/30 p-1",children:a.jsxRuntimeExports.jsx("h1",{className:"px-1 font-semibold",children:"Branding Options"})}),a.jsxRuntimeExports.jsx("div",{className:"-mx-2",children:a.jsxRuntimeExports.jsx(E,{widgets:{color:k},idSeparator:".",autoComplete:"off",omitExtraData:!0,liveOmit:!0,liveValidate:!0,uiSchema:g,schema:d,formData:e,validator:R,onChange:v})})]})};exports.default=P;
|
|
@@ -2,7 +2,7 @@ import { j as t } from "./jsx-runtime-WbnYoNE9.js";
|
|
|
2
2
|
import * as c from "react";
|
|
3
3
|
import N from "@rjsf/validator-ajv8";
|
|
4
4
|
import j from "@rjsf/core";
|
|
5
|
-
import { h as k, F as w,
|
|
5
|
+
import { h as k, F as w, by as D } from "./index-Gk6sASBd.js";
|
|
6
6
|
import { s as f, c as P, f as a } from "./controls-OfJWSEqC.js";
|
|
7
7
|
import { debounce as R, noop as F, isEqual as L } from "lodash-es";
|
|
8
8
|
import "./_commonjsHelpers-UyOWmZb0.js";
|
|
@@ -11,11 +11,13 @@ import "clsx";
|
|
|
11
11
|
import "tailwind-merge";
|
|
12
12
|
import "@chaibuilder/runtime";
|
|
13
13
|
import "jotai";
|
|
14
|
-
import "./
|
|
14
|
+
import "./STRINGS--j49GZJP.js";
|
|
15
15
|
import "@react-hookz/web";
|
|
16
|
+
import "./MODIFIERS-dytZ-osO.js";
|
|
17
|
+
import "./Class-lGzsNBOK.js";
|
|
18
|
+
import "react-i18next";
|
|
16
19
|
import "@radix-ui/react-toggle";
|
|
17
20
|
import "class-variance-authority";
|
|
18
|
-
import "./Class-3k8xjeiM.js";
|
|
19
21
|
import "@radix-ui/react-switch";
|
|
20
22
|
import "@radix-ui/react-slot";
|
|
21
23
|
import "@radix-ui/react-accordion";
|
|
@@ -38,7 +40,6 @@ import "@radix-ui/react-context-menu";
|
|
|
38
40
|
import "react-icons-picker";
|
|
39
41
|
import "react-dom";
|
|
40
42
|
import "react-quill";
|
|
41
|
-
import "react-i18next";
|
|
42
43
|
const M = ({ value: u, onChange: e, id: p, onBlur: d }) => {
|
|
43
44
|
const i = R(e, 200), m = (l) => i(l.target.value);
|
|
44
45
|
return /* @__PURE__ */ t.jsx("div", { className: "mt-1.5 flex items-center gap-x-3", children: /* @__PURE__ */ t.jsx("div", { className: "flex w-3/5 flex-col", children: /* @__PURE__ */ t.jsx(
|
|
@@ -101,7 +102,7 @@ const M = ({ value: u, onChange: e, id: p, onBlur: d }) => {
|
|
|
101
102
|
{ title: "Lustria", value: "Lustria" },
|
|
102
103
|
{ title: "Ovo", value: "Ovo" },
|
|
103
104
|
{ title: "Suranna", value: "Suranna" }
|
|
104
|
-
],
|
|
105
|
+
], St = () => {
|
|
105
106
|
const u = k("onSaveBrandingOptions", F), [e, p] = w(), [d] = D(), i = c.useRef(e);
|
|
106
107
|
c.useEffect(() => () => {
|
|
107
108
|
L(e, i.current) || u(i.current);
|
|
@@ -112,8 +113,8 @@ const M = ({ value: u, onChange: e, id: p, onBlur: d }) => {
|
|
|
112
113
|
bodyFont: l,
|
|
113
114
|
headingFont: h,
|
|
114
115
|
primaryColor: x,
|
|
115
|
-
bodyTextDarkColor:
|
|
116
|
-
bodyTextLightColor:
|
|
116
|
+
bodyTextDarkColor: y,
|
|
117
|
+
bodyTextLightColor: b,
|
|
117
118
|
bodyBgDarkColor: C,
|
|
118
119
|
secondaryColor: S,
|
|
119
120
|
bodyBgLightColor: B,
|
|
@@ -145,7 +146,7 @@ const M = ({ value: u, onChange: e, id: p, onBlur: d }) => {
|
|
|
145
146
|
}),
|
|
146
147
|
bodyTextLightColor: a({
|
|
147
148
|
title: "Body Text (Light Mode)",
|
|
148
|
-
default:
|
|
149
|
+
default: y
|
|
149
150
|
}),
|
|
150
151
|
bodyBgDarkColor: a({
|
|
151
152
|
title: "Body Background (Dark mode)",
|
|
@@ -153,7 +154,7 @@ const M = ({ value: u, onChange: e, id: p, onBlur: d }) => {
|
|
|
153
154
|
}),
|
|
154
155
|
bodyTextDarkColor: a({
|
|
155
156
|
title: "Body Text (Dark mode)",
|
|
156
|
-
default:
|
|
157
|
+
default: b
|
|
157
158
|
})
|
|
158
159
|
});
|
|
159
160
|
const n = {
|
|
@@ -184,5 +185,5 @@ const M = ({ value: u, onChange: e, id: p, onBlur: d }) => {
|
|
|
184
185
|
] });
|
|
185
186
|
};
|
|
186
187
|
export {
|
|
187
|
-
|
|
188
|
+
St as default
|
|
188
189
|
};
|