@levo-so/studio 0.1.102 → 0.1.103

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 (57) hide show
  1. package/{AuthProvider-56TywIOB.js → AuthProvider-C6bvedwF.js} +16 -16
  2. package/{BillingStep-BTRobf00.js → BillingStep-BA3H9BVu.js} +1 -1
  3. package/{Button-DTrN8kki.js → Button-CZycqusY.js} +240 -143
  4. package/Button-lUfKisu8.js +116 -0
  5. package/CollectionField-xa-jed3_.js +232 -0
  6. package/{CollectionInput-lHOvWWav.js → CollectionInput-CpNGIXJx.js} +32 -32
  7. package/DateTimeWidget-DP_nMhqe.js +256 -0
  8. package/Dialog-IrII0ugb.js +130 -0
  9. package/{EntryCard-CqZlbw1Z.js → EntryCard-CQpKNX7G.js} +6 -6
  10. package/{LoginCard-DWLnYJJU.js → LoginCard-Cyvm-y_q.js} +3 -3
  11. package/{LoginForm-CEUbBeE3.js → LoginForm-_44FtvWg.js} +200 -200
  12. package/{LoginModal-AWNLO49X.js → LoginModal-Cyw_XKvz.js} +4 -4
  13. package/{MessageCard-C5ULcfuw.js → MessageCard-C2lNTxFx.js} +2 -2
  14. package/{MessageFooter-CATwNJJU.js → MessageFooter-59Pziq3i.js} +2 -2
  15. package/{ModalManager-DQXhkmyC.js → ModalManager-DHkd0Zdb.js} +1 -1
  16. package/{PendingApprovalCard-BowwZMBu.js → PendingApprovalCard-C8iZjo06.js} +3 -3
  17. package/PhoneWidget-CxxxDXkz.js +100 -0
  18. package/{Popover-Du4iigVw.js → Popover-DOvRAGzc.js} +19 -20
  19. package/PopupRenderer-C7OHYphU-Ct5T6tWM.js +2668 -0
  20. package/{RichTextWidget-iYdVRBGB.js → RichTextWidget-BqlcssWt.js} +13 -12
  21. package/RteThemeProvider-Cfepkyer.js +20 -0
  22. package/{StripePaymentModal-DC-ySB_o.js → StripePaymentModal-DrLMN18M.js} +17 -17
  23. package/{Toolbar-BHi_B-nE.js → Toolbar-BwxoYWO_.js} +251 -250
  24. package/Tooltip-NEMQqPyr.js +67 -0
  25. package/VerifyButton-TNkt-SDu.js +177 -0
  26. package/bookingCard-BDyuBC6X.js +636 -0
  27. package/collection.js +8 -8
  28. package/{dialog-CCWrvmHd.js → dialog-C8-iHixJ.js} +32 -32
  29. package/dist-CG-pwDW0.js +3188 -0
  30. package/generateRadiusScale-BpcgkGtN.js +71 -0
  31. package/getFieldValidations-CSkSV2hW.js +90 -0
  32. package/index.d.ts +53 -2
  33. package/index.js +5869 -7655
  34. package/inlineRteTheme-Ajq9PNpQ.js +9 -0
  35. package/{nodeAlignment-DoVbjk29.js → nodeAlignment-DKCIjzlR.js} +3 -3
  36. package/package.json +37 -39
  37. package/studio.css +1 -1
  38. package/{useLogin-D2VCOHYI.js → useLogin-B2qE8710.js} +23 -23
  39. package/{utils-Bh9uGjo1.js → utils-CZLafTgN.js} +1 -1
  40. package/{widgets-CG5Z_dk7.js → widgets-eu5zXTf-.js} +38 -105
  41. package/CollectionField-7uXvhxYK.js +0 -274
  42. package/DateTimeWidget-BHCP5osb.js +0 -255
  43. package/PhoneWidget-C6uZmrk8.js +0 -100
  44. package/Tooltip-K_gFzjOa.js +0 -68
  45. package/VerifyButton-D21AOIX3.js +0 -273
  46. package/bookingCard--NlgtcJs.js +0 -577
  47. package/dist-x5VFEnQl.js +0 -3185
  48. package/getFieldValidations-DZnDgNI0.js +0 -159
  49. package/inlineRteTheme-Cn_Vqgsm.js +0 -23
  50. /package/{Beams-DkcjMVZl.js → Beams-DboMUgCv.js} +0 -0
  51. /package/{Dots-BrEPvoj3.js → Dots-a8xSboDv.js} +0 -0
  52. /package/{Gradient-B4Er9hym.js → Gradient-NacpoDCM.js} +0 -0
  53. /package/{Grid-B4XWU9eL.js → Grid-BJQvxnks.js} +0 -0
  54. /package/{Waves-kW-EBDdJ.js → Waves-DUuT_IFr.js} +0 -0
  55. /package/{authentication-fXmNYss1.js → authentication-hnV1BI8s.js} +0 -0
  56. /package/{card-BwNr7kQS.js → card-E2LKF9nT.js} +0 -0
  57. /package/{theme.cssm-2YTdd8Yh.js → theme.cssm-BXDp-ojp.js} +0 -0
@@ -1,273 +0,0 @@
1
- "use client";
2
- import { n as e } from "./getFieldValidations-DZnDgNI0.js";
3
- import { u as t } from "./CollectionField-7uXvhxYK.js";
4
- import { t as n } from "./CollectionInput-lHOvWWav.js";
5
- import { useEffect as r, useState as i } from "react";
6
- import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
7
- import { errorToast as c, successToast as l, useLevo as u } from "@levo-so/react";
8
- import { c as d } from "react/compiler-runtime";
9
- import f from "clsx";
10
- import { IconCircleCheck as p, IconLoader as m, IconX as h } from "@tabler/icons-react";
11
- import { Dialog as g } from "@base-ui/react/dialog";
12
- //#region ../../libraries/levocn/dist/ui/spinner/Spinner.cssm.js
13
- var _ = "_1k4xirc1", v = (e) => {
14
- let t = d(8), n, r;
15
- t[0] === e ? (n = t[1], r = t[2]) : ({className: n, ...r} = e, t[0] = e, t[1] = n, t[2] = r);
16
- let i;
17
- t[3] === n ? i = t[4] : (i = f(_, n), t[3] = n, t[4] = i);
18
- let a;
19
- return t[5] !== r || t[6] !== i ? (a = /* @__PURE__ */ o(m, {
20
- role: "status",
21
- "aria-label": "Loading",
22
- className: i,
23
- ...r
24
- }), t[5] = r, t[6] = i, t[7] = a) : a = t[7], a;
25
- }, y = "_6o7s4x0", b = "qkytrb0", x = "qkytrb1", S = "qkytrb2", C = "qkytrb3", w = "qkytrb4", T = "qkytrb5", E = "qkytrb6", D = "ch8h0x0", O = "ch8h0x1", k = "ch8h0x2", A = "ch8h0x3", j = "ch8h0x5", M = (e) => {
26
- let t = d(4), n;
27
- t[0] === e ? n = t[1] : ({...n} = e, t[0] = e, t[1] = n);
28
- let r;
29
- return t[2] === n ? r = t[3] : (r = /* @__PURE__ */ o(g.Root, {
30
- "data-slot": "dialog",
31
- ...n
32
- }), t[2] = n, t[3] = r), r;
33
- }, N = (t) => {
34
- let n = d(5), r;
35
- n[0] === t ? r = n[1] : ({...r} = t, n[0] = t, n[1] = r);
36
- let { portalRef: i } = e(), a;
37
- return n[2] !== i || n[3] !== r ? (a = /* @__PURE__ */ o(g.Portal, {
38
- container: i,
39
- ...r
40
- }), n[2] = i, n[3] = r, n[4] = a) : a = n[4], a;
41
- }, P = (e) => {
42
- let t = d(8), n, r;
43
- t[0] === e ? (n = t[1], r = t[2]) : ({className: n, ...r} = e, t[0] = e, t[1] = n, t[2] = r);
44
- let i;
45
- t[3] === n ? i = t[4] : (i = f(O, n), t[3] = n, t[4] = i);
46
- let a;
47
- return t[5] !== r || t[6] !== i ? (a = /* @__PURE__ */ o(g.Viewport, {
48
- "data-slot": "dialog-viewport",
49
- className: i,
50
- ...r
51
- }), t[5] = r, t[6] = i, t[7] = a) : a = t[7], a;
52
- }, F = (e) => {
53
- let t = d(8), n, r;
54
- t[0] === e ? (n = t[1], r = t[2]) : ({className: n, ...r} = e, t[0] = e, t[1] = n, t[2] = r);
55
- let i;
56
- t[3] === n ? i = t[4] : (i = f(D, n), t[3] = n, t[4] = i);
57
- let a;
58
- return t[5] !== r || t[6] !== i ? (a = /* @__PURE__ */ o(g.Backdrop, {
59
- "data-slot": "dialog-backdrop",
60
- className: i,
61
- ...r
62
- }), t[5] = r, t[6] = i, t[7] = a) : a = t[7], a;
63
- }, I = (e) => {
64
- let n = d(14), r, i, a, c;
65
- n[0] === e ? (r = n[1], i = n[2], a = n[3], c = n[4]) : ({className: i, children: r, showCloseButton: c, ...a} = e, n[0] = e, n[1] = r, n[2] = i, n[3] = a, n[4] = c);
66
- let l = c === void 0 ? !0 : c, u;
67
- n[5] === i ? u = n[6] : (u = f(k, i), n[5] = i, n[6] = u);
68
- let p;
69
- n[7] === l ? p = n[8] : (p = l && /* @__PURE__ */ o(g.Close, {
70
- "data-slot": "dialog-close",
71
- render: /* @__PURE__ */ o(t, {
72
- variant: "ghost",
73
- size: "icon-sm",
74
- className: "ch8h0x7",
75
- "aria-label": "Close"
76
- }),
77
- children: /* @__PURE__ */ o(h, { size: 16 })
78
- }), n[7] = l, n[8] = p);
79
- let m;
80
- return n[9] !== r || n[10] !== a || n[11] !== u || n[12] !== p ? (m = /* @__PURE__ */ s(g.Popup, {
81
- "data-slot": "dialog-popup",
82
- className: u,
83
- ...a,
84
- children: [r, p]
85
- }), n[9] = r, n[10] = a, n[11] = u, n[12] = p, n[13] = m) : m = n[13], m;
86
- }, L = (e) => {
87
- let t = d(8), n, r;
88
- t[0] === e ? (n = t[1], r = t[2]) : ({className: n, ...r} = e, t[0] = e, t[1] = n, t[2] = r);
89
- let i;
90
- t[3] === n ? i = t[4] : (i = f(A, n), t[3] = n, t[4] = i);
91
- let a;
92
- return t[5] !== r || t[6] !== i ? (a = /* @__PURE__ */ o("div", {
93
- "data-slot": "dialog-header",
94
- className: i,
95
- ...r
96
- }), t[5] = r, t[6] = i, t[7] = a) : a = t[7], a;
97
- }, R = (e) => {
98
- let t = d(8), n, r;
99
- t[0] === e ? (n = t[1], r = t[2]) : ({className: n, ...r} = e, t[0] = e, t[1] = n, t[2] = r);
100
- let i;
101
- t[3] === n ? i = t[4] : (i = f(j, n), t[3] = n, t[4] = i);
102
- let a;
103
- return t[5] !== r || t[6] !== i ? (a = /* @__PURE__ */ o(g.Title, {
104
- "data-slot": "dialog-title",
105
- className: i,
106
- ...r
107
- }), t[5] = r, t[6] = i, t[7] = a) : a = t[7], a;
108
- }, z = (e) => {
109
- let t = d(11), n, r, i, a;
110
- t[0] === e ? (n = t[1], r = t[2], i = t[3], a = t[4]) : ({className: r, children: n, showCloseButton: a, ...i} = e, t[0] = e, t[1] = n, t[2] = r, t[3] = i, t[4] = a);
111
- let c = a === void 0 ? !0 : a, l;
112
- t[5] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ o(F, {}), t[5] = l) : l = t[5];
113
- let u;
114
- return t[6] !== n || t[7] !== r || t[8] !== i || t[9] !== c ? (u = /* @__PURE__ */ s(N, { children: [l, /* @__PURE__ */ o(P, { children: /* @__PURE__ */ o(I, {
115
- className: r,
116
- showCloseButton: c,
117
- ...i,
118
- children: n
119
- }) })] }), t[6] = n, t[7] = r, t[8] = i, t[9] = c, t[10] = u) : u = t[10], u;
120
- }, B = ({ isOpen: e, onClose: a, value: d, type: f = "email", onVerifySuccess: p }) => {
121
- let { membership: m } = u(), [h, g] = i(""), [_, v] = i(!1), [D, O] = i(!1), [k, A] = i(30);
122
- return r(() => {
123
- let t;
124
- return e && k > 0 && (t = setInterval(() => {
125
- A((e) => e - 1);
126
- }, 1e3)), () => clearInterval(t);
127
- }, [e, k]), r(() => {
128
- e && (g(""), A(30), v(!1), O(!1));
129
- }, [e]), /* @__PURE__ */ o(M, {
130
- open: e,
131
- onOpenChange: (e) => {
132
- e || a();
133
- },
134
- children: /* @__PURE__ */ s(z, {
135
- className: y,
136
- children: [/* @__PURE__ */ o(L, { children: /* @__PURE__ */ o(R, { children: `Verify ${f === "email" ? "Email" : "Phone"}` }) }), /* @__PURE__ */ s("div", {
137
- className: b,
138
- children: [
139
- /* @__PURE__ */ s("div", {
140
- className: x,
141
- children: [
142
- "Enter the 4-digit code sent to ",
143
- /* @__PURE__ */ o("strong", { children: d }),
144
- ".",
145
- " ",
146
- /* @__PURE__ */ o("button", {
147
- onClick: () => a(),
148
- className: S,
149
- children: "Change?"
150
- })
151
- ]
152
- }),
153
- /* @__PURE__ */ o("div", {
154
- className: C,
155
- children: /* @__PURE__ */ o(n, {
156
- value: h,
157
- onChange: (e) => {
158
- g(e.target.value.replace(/\D/g, "").slice(0, 4));
159
- },
160
- placeholder: "0000",
161
- maxLength: 4,
162
- className: T
163
- })
164
- }),
165
- /* @__PURE__ */ s("div", {
166
- className: w,
167
- children: [/* @__PURE__ */ o(t, {
168
- onClick: async () => {
169
- if (!(!h || h.length !== 4)) {
170
- v(!0);
171
- try {
172
- await m?.signInWithOtp({
173
- content: d,
174
- code: h
175
- }), l("Verification successful"), p(d), a();
176
- } catch (e) {
177
- let t = e;
178
- c(t?.message || "Invalid OTP", t?.title || "Verification Failed");
179
- } finally {
180
- v(!1);
181
- }
182
- }
183
- },
184
- disabled: h.length !== 4 || _,
185
- className: "w-full",
186
- children: _ ? "Verifying..." : "Verify"
187
- }), /* @__PURE__ */ o("div", {
188
- className: E,
189
- children: k > 0 ? /* @__PURE__ */ s("span", { children: [
190
- "Resend code in ",
191
- k,
192
- "s"
193
- ] }) : /* @__PURE__ */ o("button", {
194
- onClick: async () => {
195
- if (!(k > 0)) {
196
- O(!0);
197
- try {
198
- await m?.requestOtp({
199
- content: d,
200
- medium: f === "phone" ? "whatsapp" : "email"
201
- }), l("OTP resent successfully"), A(30);
202
- } catch (e) {
203
- let t = e;
204
- c(t?.message || "Failed to resend OTP", t?.title || "Error");
205
- } finally {
206
- O(!1);
207
- }
208
- }
209
- },
210
- disabled: D,
211
- className: S,
212
- children: D ? "Resending..." : "Resend Code"
213
- })
214
- })]
215
- })
216
- ]
217
- })]
218
- })
219
- });
220
- }, V = "jfrbe10", H = "jfrbe11", U = "jfrbe12", W = ({ value: e, type: n, isVerified: r, onVerifySuccess: l, onStateChange: d }) => {
221
- let { membership: f } = u(), [m, h] = i(!1), [g, _] = i(!1), y = (e) => {
222
- d && d(e);
223
- }, b = async () => {
224
- let t = e?.trim()?.toLowerCase();
225
- if (!t) {
226
- c(`Please enter a ${n}`);
227
- return;
228
- }
229
- if (n === "email" && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)) {
230
- c("Please enter a valid email address");
231
- return;
232
- }
233
- _(!0), y(!0);
234
- try {
235
- await f?.requestOtp({
236
- content: t,
237
- medium: n === "phone" ? "whatsapp" : "email"
238
- }), h(!0);
239
- } catch (e) {
240
- let t = e;
241
- c(t?.message || "Failed to send OTP", t?.title || "Error"), y(!1);
242
- } finally {
243
- _(!1);
244
- }
245
- }, x = () => {
246
- h(!1), y(!1);
247
- };
248
- return r ? /* @__PURE__ */ s("div", {
249
- className: V,
250
- children: [/* @__PURE__ */ o(p, { className: U }), /* @__PURE__ */ o("span", {
251
- className: H,
252
- children: "Verified"
253
- })]
254
- }) : /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o(t, {
255
- size: "default",
256
- variant: "ghost",
257
- onClick: b,
258
- onMouseDown: (e) => e.preventDefault(),
259
- disabled: !e || g,
260
- type: "button",
261
- children: g ? /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o(v, { size: 14 }), "Sending..."] }) : "Verify"
262
- }), m && /* @__PURE__ */ o(B, {
263
- isOpen: m,
264
- onClose: x,
265
- value: e?.trim()?.toLowerCase() || "",
266
- type: n,
267
- onVerifySuccess: (e) => {
268
- l(e), x();
269
- }
270
- })] });
271
- };
272
- //#endregion
273
- export { M as a, R as i, L as n, y as o, z as r, v as s, W as t };