@levo-so/studio 0.1.101 → 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 (62) hide show
  1. package/{AuthProvider-56TywIOB.js → AuthProvider-C6bvedwF.js} +16 -16
  2. package/Beams-DboMUgCv.js +102 -0
  3. package/{BillingStep-Brc1Mzo3.js → BillingStep-BA3H9BVu.js} +1 -1
  4. package/{Button-XTKnNIl9.js → Button-CZycqusY.js} +249 -138
  5. package/Button-lUfKisu8.js +116 -0
  6. package/CollectionField-xa-jed3_.js +232 -0
  7. package/CollectionInput-CpNGIXJx.js +147 -0
  8. package/DateTimeWidget-DP_nMhqe.js +256 -0
  9. package/Dialog-IrII0ugb.js +130 -0
  10. package/Dots-a8xSboDv.js +100 -0
  11. package/{EntryCard-DTcx6wfA.js → EntryCard-CQpKNX7G.js} +4 -4
  12. package/Grid-BJQvxnks.js +99 -0
  13. package/{LoginCard-CnHmCKUF.js → LoginCard-Cyvm-y_q.js} +3 -3
  14. package/{LoginForm-Ck-xFaDg.js → LoginForm-_44FtvWg.js} +207 -206
  15. package/{LoginModal-BdYM8INu.js → LoginModal-Cyw_XKvz.js} +4 -4
  16. package/{MessageCard-ChDBqLVG.js → MessageCard-C2lNTxFx.js} +2 -2
  17. package/{MessageFooter-AzAtJWMo.js → MessageFooter-59Pziq3i.js} +2 -2
  18. package/{ModalManager-SggxCIno.js → ModalManager-DHkd0Zdb.js} +1 -1
  19. package/{PendingApprovalCard-C6ORDqrY.js → PendingApprovalCard-C8iZjo06.js} +3 -3
  20. package/PhoneWidget-CxxxDXkz.js +100 -0
  21. package/{Popover-BdKCElnb.js → Popover-DOvRAGzc.js} +19 -20
  22. package/PopupRenderer-C7OHYphU-Ct5T6tWM.js +2668 -0
  23. package/RichTextWidget-BqlcssWt.js +113 -0
  24. package/RteThemeProvider-Cfepkyer.js +20 -0
  25. package/{StripePaymentModal-BHIBBvRj.js → StripePaymentModal-DrLMN18M.js} +17 -17
  26. package/Toolbar-BwxoYWO_.js +738 -0
  27. package/Tooltip-NEMQqPyr.js +67 -0
  28. package/VerifyButton-TNkt-SDu.js +177 -0
  29. package/authentication-hnV1BI8s.js +36 -0
  30. package/bookingCard-BDyuBC6X.js +636 -0
  31. package/collection.d.ts +83 -0
  32. package/collection.js +9 -8
  33. package/{dialog-Dw6n_36P.js → dialog-C8-iHixJ.js} +32 -32
  34. package/dist-CG-pwDW0.js +3188 -0
  35. package/generateRadiusScale-BpcgkGtN.js +71 -0
  36. package/getFieldValidations-CSkSV2hW.js +90 -0
  37. package/index.d.ts +96 -9
  38. package/index.js +6021 -7731
  39. package/inlineRteTheme-Ajq9PNpQ.js +9 -0
  40. package/{nodeAlignment-BZbdafVA.js → nodeAlignment-DKCIjzlR.js} +41 -62
  41. package/package.json +38 -40
  42. package/studio.css +1 -1
  43. package/useLogin-B2qE8710.js +127 -0
  44. package/{utils-kDaDLLGt.js → utils-CZLafTgN.js} +1 -1
  45. package/{widgets-CWDiqXm9.js → widgets-eu5zXTf-.js} +58 -125
  46. package/Beams-B0O3uyYF.js +0 -118
  47. package/CollectionInput-cmJ0RXzG.js +0 -132
  48. package/DateTimeWidget-B5lBr0_R.js +0 -255
  49. package/Dots-DjezbpLp.js +0 -137
  50. package/Grid-C9aUfXM-.js +0 -145
  51. package/Input-Btdc1Dee.js +0 -293
  52. package/PhoneWidget-BRIAve47.js +0 -100
  53. package/RichTextWidget-CjEoGecM.js +0 -1136
  54. package/Tooltip-BOq5vSOW.js +0 -68
  55. package/VerifyButton-Bl2QqMpB.js +0 -273
  56. package/bookingCard-D3ZSjq-P.js +0 -577
  57. package/dist-DuTd566a.js +0 -3112
  58. package/getFieldValidations-DZnDgNI0.js +0 -159
  59. /package/{Gradient-B1K9Yi04.js → Gradient-NacpoDCM.js} +0 -0
  60. /package/{Waves-BkaAfGqA.js → Waves-DUuT_IFr.js} +0 -0
  61. /package/{card-BQr9258p.js → card-E2LKF9nT.js} +0 -0
  62. /package/{theme.cssm-2YTdd8Yh.js → theme.cssm-BXDp-ojp.js} +0 -0
@@ -0,0 +1,67 @@
1
+ import { n as e, r as t } from "./Button-lUfKisu8.js";
2
+ import { c as n } from "react/compiler-runtime";
3
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
4
+ import a from "clsx";
5
+ import { Tooltip as o } from "@base-ui/react/tooltip";
6
+ //#region ../../libraries/levocn/dist/ui/tooltip/Tooltip.cssm.js
7
+ var s = "_3zwjqd0", c = "_3zwjqd1", l = "_3zwjqd2", u = (e) => {
8
+ let t = n(6), i, a;
9
+ t[0] === e ? (i = t[1], a = t[2]) : ({delay: a, ...i} = e, t[0] = e, t[1] = i, t[2] = a);
10
+ let s = a === void 0 ? 0 : a, c;
11
+ return t[3] !== s || t[4] !== i ? (c = /* @__PURE__ */ r(o.Provider, {
12
+ "data-slot": "tooltip-provider",
13
+ delay: s,
14
+ ...i
15
+ }), t[3] = s, t[4] = i, t[5] = c) : c = t[5], c;
16
+ }, d = (e) => {
17
+ let t = n(4), i;
18
+ t[0] === e ? i = t[1] : ({...i} = e, t[0] = e, t[1] = i);
19
+ let a;
20
+ return t[2] === i ? a = t[3] : (a = /* @__PURE__ */ r(o.Root, {
21
+ "data-slot": "tooltip",
22
+ ...i
23
+ }), t[2] = i, t[3] = a), a;
24
+ }, f = (t) => {
25
+ let i = n(12), s, c, l, u;
26
+ i[0] === t ? (s = i[1], c = i[2], l = i[3], u = i[4]) : ({className: s, variant: u, size: l, ...c} = t, i[0] = t, i[1] = s, i[2] = c, i[3] = l, i[4] = u);
27
+ let d;
28
+ i[5] !== s || i[6] !== l || i[7] !== u ? (d = a(e({
29
+ variant: u,
30
+ size: l
31
+ }), s), i[5] = s, i[6] = l, i[7] = u, i[8] = d) : d = i[8];
32
+ let f;
33
+ return i[9] !== c || i[10] !== d ? (f = /* @__PURE__ */ r(o.Trigger, {
34
+ className: d,
35
+ ...c
36
+ }), i[9] = c, i[10] = d, i[11] = f) : f = i[11], f;
37
+ }, p = (e) => {
38
+ let u = n(24), d, f, p, m, h, g, _;
39
+ u[0] === e ? (d = u[1], f = u[2], p = u[3], m = u[4], h = u[5], g = u[6], _ = u[7]) : ({className: f, side: m, sideOffset: h, align: g, alignOffset: _, children: d, ...p} = e, u[0] = e, u[1] = d, u[2] = f, u[3] = p, u[4] = m, u[5] = h, u[6] = g, u[7] = _);
40
+ let v = m === void 0 ? "top" : m, y = h === void 0 ? 8 : h, b = g === void 0 ? "center" : g, x = _ === void 0 ? 0 : _, { portalRef: S } = t(), C;
41
+ u[8] === f ? C = u[9] : (C = a(s, f), u[8] = f, u[9] = C);
42
+ let w;
43
+ u[10] === Symbol.for("react.memo_cache_sentinel") ? (w = /* @__PURE__ */ r(o.Arrow, { className: c }), u[10] = w) : w = u[10];
44
+ let T;
45
+ u[11] !== d || u[12] !== p || u[13] !== C ? (T = /* @__PURE__ */ i(o.Popup, {
46
+ "data-slot": "tooltip-content",
47
+ className: C,
48
+ ...p,
49
+ children: [d, w]
50
+ }), u[11] = d, u[12] = p, u[13] = C, u[14] = T) : T = u[14];
51
+ let E;
52
+ u[15] !== b || u[16] !== x || u[17] !== v || u[18] !== y || u[19] !== T ? (E = /* @__PURE__ */ r(o.Positioner, {
53
+ align: b,
54
+ alignOffset: x,
55
+ side: v,
56
+ sideOffset: y,
57
+ className: l,
58
+ children: T
59
+ }), u[15] = b, u[16] = x, u[17] = v, u[18] = y, u[19] = T, u[20] = E) : E = u[20];
60
+ let D;
61
+ return u[21] !== S || u[22] !== E ? (D = /* @__PURE__ */ r(o.Portal, {
62
+ container: S,
63
+ children: E
64
+ }), u[21] = S, u[22] = E, u[23] = D) : D = u[23], D;
65
+ };
66
+ //#endregion
67
+ export { u as i, f as n, p as r, d as t };
@@ -0,0 +1,177 @@
1
+ "use client";
2
+ import { i as e, n as t, o as n, t as r } from "./Dialog-IrII0ugb.js";
3
+ import { t as i } from "./Button-lUfKisu8.js";
4
+ import { t as a } from "./CollectionInput-CpNGIXJx.js";
5
+ import { c as o } from "react/compiler-runtime";
6
+ import { errorToast as s, successToast as c, useLevo as l } from "@levo-so/react";
7
+ import { useEffect as u, useState as d } from "react";
8
+ import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
9
+ import h from "clsx";
10
+ import { IconCircleCheck as g, IconLoader as _ } from "@tabler/icons-react";
11
+ //#region ../../libraries/levocn/dist/ui/spinner/Spinner.cssm.js
12
+ var v = "_1k4xirc1", y = (e) => {
13
+ let t = o(8), n, r;
14
+ t[0] === e ? (n = t[1], r = t[2]) : ({className: n, ...r} = e, t[0] = e, t[1] = n, t[2] = r);
15
+ let i;
16
+ t[3] === n ? i = t[4] : (i = h(v, n), t[3] = n, t[4] = i);
17
+ let a;
18
+ return t[5] !== r || t[6] !== i ? (a = /* @__PURE__ */ p(_, {
19
+ role: "status",
20
+ "aria-label": "Loading",
21
+ className: i,
22
+ ...r
23
+ }), t[5] = r, t[6] = i, t[7] = a) : a = t[7], a;
24
+ }, b = "_6o7s4x0", x = "qkytrb0", S = "qkytrb1", C = "qkytrb2", w = "qkytrb3", T = "qkytrb4", E = "qkytrb5", D = "qkytrb6", O = ({ isOpen: o, onClose: f, value: h, type: g = "email", onVerifySuccess: _ }) => {
25
+ let { membership: v } = l(), [y, O] = d(""), [k, A] = d(!1), [j, M] = d(!1), [N, P] = d(30);
26
+ return u(() => {
27
+ let e;
28
+ return o && N > 0 && (e = setInterval(() => {
29
+ P((e) => e - 1);
30
+ }, 1e3)), () => clearInterval(e);
31
+ }, [o, N]), u(() => {
32
+ o && (O(""), P(30), A(!1), M(!1));
33
+ }, [o]), /* @__PURE__ */ p(n, {
34
+ open: o,
35
+ onOpenChange: (e) => {
36
+ e || f();
37
+ },
38
+ children: /* @__PURE__ */ m(t, {
39
+ className: b,
40
+ children: [/* @__PURE__ */ p(r, { children: /* @__PURE__ */ p(e, { children: `Verify ${g === "email" ? "Email" : "Phone"}` }) }), /* @__PURE__ */ m("div", {
41
+ className: x,
42
+ children: [
43
+ /* @__PURE__ */ m("div", {
44
+ className: S,
45
+ children: [
46
+ "Enter the 4-digit code sent to ",
47
+ /* @__PURE__ */ p("strong", { children: h }),
48
+ ".",
49
+ " ",
50
+ /* @__PURE__ */ p("button", {
51
+ onClick: () => f(),
52
+ className: C,
53
+ children: "Change?"
54
+ })
55
+ ]
56
+ }),
57
+ /* @__PURE__ */ p("div", {
58
+ className: w,
59
+ children: /* @__PURE__ */ p(a, {
60
+ value: y,
61
+ onChange: (e) => {
62
+ O(e.target.value.replace(/\D/g, "").slice(0, 4));
63
+ },
64
+ placeholder: "0000",
65
+ maxLength: 4,
66
+ className: E
67
+ })
68
+ }),
69
+ /* @__PURE__ */ m("div", {
70
+ className: T,
71
+ children: [/* @__PURE__ */ p(i, {
72
+ onClick: async () => {
73
+ if (!(!y || y.length !== 4)) {
74
+ A(!0);
75
+ try {
76
+ await v?.signInWithOtp({
77
+ content: h,
78
+ code: y
79
+ }), c("Verification successful"), _(h), f();
80
+ } catch (e) {
81
+ let t = e;
82
+ s(t?.message || "Invalid OTP", t?.title || "Verification Failed");
83
+ } finally {
84
+ A(!1);
85
+ }
86
+ }
87
+ },
88
+ disabled: y.length !== 4 || k,
89
+ className: "w-full",
90
+ children: k ? "Verifying..." : "Verify"
91
+ }), /* @__PURE__ */ p("div", {
92
+ className: D,
93
+ children: N > 0 ? /* @__PURE__ */ m("span", { children: [
94
+ "Resend code in ",
95
+ N,
96
+ "s"
97
+ ] }) : /* @__PURE__ */ p("button", {
98
+ onClick: async () => {
99
+ if (!(N > 0)) {
100
+ M(!0);
101
+ try {
102
+ await v?.requestOtp({
103
+ content: h,
104
+ medium: g === "phone" ? "whatsapp" : "email"
105
+ }), c("OTP resent successfully"), P(30);
106
+ } catch (e) {
107
+ let t = e;
108
+ s(t?.message || "Failed to resend OTP", t?.title || "Error");
109
+ } finally {
110
+ M(!1);
111
+ }
112
+ }
113
+ },
114
+ disabled: j,
115
+ className: C,
116
+ children: j ? "Resending..." : "Resend Code"
117
+ })
118
+ })]
119
+ })
120
+ ]
121
+ })]
122
+ })
123
+ });
124
+ }, k = "jfrbe10", A = "jfrbe11", j = "jfrbe12", M = ({ value: e, type: t, isVerified: n, onVerifySuccess: r, onStateChange: a }) => {
125
+ let { membership: o } = l(), [c, u] = d(!1), [h, _] = d(!1), v = (e) => {
126
+ a && a(e);
127
+ }, b = async () => {
128
+ let n = e?.trim()?.toLowerCase();
129
+ if (!n) {
130
+ s(`Please enter a ${t}`);
131
+ return;
132
+ }
133
+ if (t === "email" && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(n)) {
134
+ s("Please enter a valid email address");
135
+ return;
136
+ }
137
+ _(!0), v(!0);
138
+ try {
139
+ await o?.requestOtp({
140
+ content: n,
141
+ medium: t === "phone" ? "whatsapp" : "email"
142
+ }), u(!0);
143
+ } catch (e) {
144
+ let t = e;
145
+ s(t?.message || "Failed to send OTP", t?.title || "Error"), v(!1);
146
+ } finally {
147
+ _(!1);
148
+ }
149
+ }, x = () => {
150
+ u(!1), v(!1);
151
+ };
152
+ return n ? /* @__PURE__ */ m("div", {
153
+ className: k,
154
+ children: [/* @__PURE__ */ p(g, { className: j }), /* @__PURE__ */ p("span", {
155
+ className: A,
156
+ children: "Verified"
157
+ })]
158
+ }) : /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p(i, {
159
+ size: "default",
160
+ variant: "ghost",
161
+ onClick: b,
162
+ onMouseDown: (e) => e.preventDefault(),
163
+ disabled: !e || h,
164
+ type: "button",
165
+ children: h ? /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p(y, { size: 14 }), "Sending..."] }) : "Verify"
166
+ }), c && /* @__PURE__ */ p(O, {
167
+ isOpen: c,
168
+ onClose: x,
169
+ value: e?.trim()?.toLowerCase() || "",
170
+ type: t,
171
+ onVerifySuccess: (e) => {
172
+ r(e), x();
173
+ }
174
+ })] });
175
+ };
176
+ //#endregion
177
+ export { b as n, y as r, M as t };
@@ -0,0 +1,36 @@
1
+ //#region src/constants/authentication.ts
2
+ var e = [
3
+ {
4
+ value: "otp",
5
+ label: "Email OTP",
6
+ category: "primary"
7
+ },
8
+ {
9
+ value: "magiclink",
10
+ label: "Magic Link",
11
+ category: "primary"
12
+ },
13
+ {
14
+ value: "whatsapp",
15
+ label: "WhatsApp",
16
+ category: "primary"
17
+ }
18
+ ], t = [
19
+ {
20
+ value: "google",
21
+ label: "Google",
22
+ category: "alternate"
23
+ },
24
+ {
25
+ value: "microsoft",
26
+ label: "Microsoft",
27
+ category: "alternate"
28
+ },
29
+ {
30
+ value: "linkedin",
31
+ label: "LinkedIn",
32
+ category: "alternate"
33
+ }
34
+ ], n = [...e, ...t], r = e.map((e) => e.value), i = t.map((e) => e.value), a = (e) => r.includes(e), o = (e) => i.includes(e), s = "membership.account.ACCOUNT_PENDING_APPROVAL", c = (e) => e ? e === "membership.account.ACCOUNT_PENDING_APPROVAL" || e.includes("ACCOUNT_PENDING_APPROVAL") : !1;
35
+ //#endregion
36
+ export { e as a, c, s as i, a as l, t as n, r as o, n as r, o as s, i as t };