@levo-so/studio 0.3.6 → 0.3.8

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 (59) hide show
  1. package/{BillingStep-DhK0Mkjr.js → BillingStep-vBBLXLzk.js} +1 -1
  2. package/{Button-Ho7QJuCT.js → Button-BZDul09m.js} +29 -32
  3. package/{CollectionField-CD6ok1A3.js → CollectionField-BZmxRB5D.js} +68 -68
  4. package/DateTimeWidget-Bt1UcCnx.js +255 -0
  5. package/{Dialog-IrII0ugb.js → Dialog-CPE8yUqK.js} +10 -10
  6. package/{EntryCard-BfwGbFzQ.js → EntryCard-DLPs2PaP.js} +4 -4
  7. package/{KBChatWidget-0dtBwnDA.js → KBChatWidget-B-SNBtoX.js} +1 -1
  8. package/{LoginCard-CMeVif-w.js → LoginCard-EtzpuqYB.js} +3 -3
  9. package/{LoginForm-DhGQD4uI.js → LoginForm-kI_b_7Tc.js} +2 -2
  10. package/{LoginModal-Ui2GnSje.js → LoginModal-C-9BhmoO.js} +4 -4
  11. package/{MessageCard-CJltLT2a.js → MessageCard-Nsxr98n6.js} +2 -2
  12. package/{MessageFooter-CrhrI-su.js → MessageFooter-K4Zd_eFO.js} +2 -2
  13. package/{ModalManager-BW3Dol7F.js → ModalManager-CzH36UIk.js} +1 -1
  14. package/{PendingApprovalCard-BlyH59Vy.js → PendingApprovalCard-CCbhY8p3.js} +3 -3
  15. package/{PhoneWidget-BQEfbyV4.js → PhoneWidget-BkzFjfKW.js} +9 -9
  16. package/{Popover-V2O1gz6N.js → Popover-Iis-qOn1.js} +1 -1
  17. package/PopupBody-DZVwDLkg-PiECxgmc.js +171 -0
  18. package/PopupRenderer-BjW1jg70-C1UDgSfJ.js +388 -0
  19. package/{ProfileCard-DFgmQMUO.js → ProfileCard-DzEBPrax.js} +5 -5
  20. package/{RichTextWidget-CStx2PMn.js → RichTextWidget-C3Y-0pNy.js} +181 -181
  21. package/{RteThemeProvider-DxYOzcck.js → RteThemeProvider-owl5oajj.js} +4 -4
  22. package/{Spinner-HCqR1eGW.js → Spinner-D5spB_Mv.js} +1 -1
  23. package/{StripePaymentModal-Cw-AlxTS.js → StripePaymentModal-CiKqmQwK.js} +1 -1
  24. package/{Button-lUfKisu8.js → ThemeProvider-CqPHzkW9.js} +58 -58
  25. package/{Tooltip-DTnCNEcE.js → Tooltip-DHU1QD-n.js} +1 -1
  26. package/{VerifyButton-kdxRhJWI.js → VerifyButton-BwTbzSwS.js} +21 -21
  27. package/{bookingCard-DUMPxFp4.js → bookingCard-kEYdGZJ-.js} +5 -5
  28. package/collection.d.ts +171 -0
  29. package/collection.js +2 -0
  30. package/{theme.cssm-2YTdd8Yh.js → createThemeExtension-C0PSYy0J.js} +2 -2
  31. package/{dialog-RrTP-MGm.js → dialog-8LH_ihs4.js} +1 -1
  32. package/dist-2bXx8eVI.js +3657 -0
  33. package/{PopupRenderer-DBKtkdmH-Ws7F9GmP.js → fontSize-B-ba6pvx.js} +17 -750
  34. package/{inlineCollectionTheme-D2w17LHX.js → generateRadiusScale-RROt8ppa.js} +4 -19
  35. package/index.js +3921 -3918
  36. package/inlineCollectionTheme-uhBXoF1F.js +19 -0
  37. package/{nodeAlignment-DS9_DLGB.js → inlineRteTheme-BOAno9MG.js} +16 -19
  38. package/{kbChat-BuTZ4Ytf.js → kbChat-zJcrfsqJ.js} +2 -2
  39. package/package.json +9 -5
  40. package/popupState-JmpeKzgM-UECLsSbL.js +100 -0
  41. package/rteTheme.cssm-W4gTOijw.js +4 -0
  42. package/studio.css +1 -1
  43. package/theme.cssm-Czj9sF4X.js +4 -0
  44. package/themeMapping-Bi9Rcr5G-C7UXWE6o.js +61 -0
  45. package/{useLogin-BhysESLW.js → useLogin-CfnGrLdO.js} +1 -1
  46. package/usePopupRedirect-BThP_YPW-jXtfhYu6.js +80 -0
  47. package/DateTimeWidget-DHUmirf1.js +0 -255
  48. package/dist-Ckw19x6H.js +0 -3639
  49. package/rolldown-runtime-CAFD8bLK.js +0 -11
  50. /package/{AuthProvider-CFQqiIf1.js → AuthProvider-B5NfFwbG.js} +0 -0
  51. /package/{Beams-DVEhileN.js → Beams-WJN38XSv.js} +0 -0
  52. /package/{Dots-vp0H1Md3.js → Dots-DggLz5I7.js} +0 -0
  53. /package/{Gradient-_5G8Qm5s.js → Gradient-BSWJAu0a.js} +0 -0
  54. /package/{Grid-D694XUrO.js → Grid-BFKl0MUt.js} +0 -0
  55. /package/{Waves-DeNoq6Bo.js → Waves-BPEgTYoO.js} +0 -0
  56. /package/{authentication-TdyaDNTn.js → authentication-BXQbxiPP.js} +0 -0
  57. /package/{card-Cb4m0p4i.js → card-5ooLmYSr.js} +0 -0
  58. /package/{cn-BL52QQS4.js → cn-B6c1DjO_.js} +0 -0
  59. /package/{pillChrome-CrJ9a5vj.js → pillChrome-CYoMtUAv.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { t as e } from "./Button-Ho7QJuCT.js";
2
+ import { t as e } from "./Button-BZDul09m.js";
3
3
  import { useState as t } from "react";
4
4
  import { Fragment as n, jsx as r, jsxs as i } from "react/jsx-runtime";
5
5
  //#region src/components/bookingCard/BillingStep.tsx
@@ -1,17 +1,14 @@
1
1
  "use client";
2
- import "./Dialog-IrII0ugb.js";
3
- import { c as e, l as t, m as n, o as r, r as i, t as a, u as o } from "./PopupRenderer-DBKtkdmH-Ws7F9GmP.js";
4
- import { n as s } from "./AuthProvider-CFQqiIf1.js";
5
- import { n as c } from "./ModalManager-BW3Dol7F.js";
6
- import { t as l } from "./cn-BL52QQS4.js";
2
+ import { a as e, c as t, i as n, l as r, o as i, t as a, u as o } from "./popupState-JmpeKzgM-UECLsSbL.js";
3
+ import { n as s } from "./AuthProvider-B5NfFwbG.js";
4
+ import { n as c } from "./ModalManager-CzH36UIk.js";
5
+ import { t as l } from "./cn-B6c1DjO_.js";
7
6
  import { c as u } from "react/compiler-runtime";
8
7
  import { $isIdentityContextReady as d } from "@levo-so/insights/stores";
9
8
  import { useLevo as f } from "@levo-so/react";
10
9
  import * as p from "react";
11
10
  import { Suspense as m, createContext as h, forwardRef as g, lazy as _, memo as v, useContext as ee, useEffect as y, useMemo as b, useRef as x, useState as S } from "react";
12
11
  import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
13
- import "clsx";
14
- import "@tabler/icons-react";
15
12
  import { useStore as E } from "@nanostores/react";
16
13
  import { animate as te, scroll as ne } from "motion/react";
17
14
  import D from "html-react-parser";
@@ -23,66 +20,66 @@ import oe from "isomorphic-dompurify";
23
20
  var O = async (e, t) => {
24
21
  let n = {};
25
22
  return t?.site_id && (n.site_id = t.site_id), t?.locale && (n.locale = t.locale), t?.country && (n.country = t.country), (await e.url("/v1/studio/popup/list-active").query(n).get().json())?.content?.data ?? [];
26
- }, k = _(() => import("./PopupRenderer-DBKtkdmH-Ws7F9GmP.js").then((e) => e.i).then((e) => e.t).then((e) => ({ default: e.PopupRenderer }))), A = (e) => {
27
- let n = u(9), { siteId: r, pageId: i } = e, { fetch: a, logger: o } = f(), [s, c] = S(null), l = x(!1), p, h;
28
- if (n[0] !== a || n[1] !== o || n[2] !== r ? (p = () => {
23
+ }, k = _(() => import("./PopupRenderer-BjW1jg70-C1UDgSfJ.js").then((e) => e.t).then((e) => ({ default: e.PopupRenderer }))), A = (e) => {
24
+ let t = u(9), { siteId: n, pageId: r } = e, { fetch: a, logger: o } = f(), [s, c] = S(null), l = x(!1), p, h;
25
+ if (t[0] !== a || t[1] !== o || t[2] !== n ? (p = () => {
29
26
  if (l.current) return;
30
27
  let e = () => {
31
- l.current || (l.current = !0, O(a, r ? { site_id: r } : void 0).then((e) => {
32
- t(e), c(e);
28
+ l.current || (l.current = !0, O(a, n ? { site_id: n } : void 0).then((e) => {
29
+ i(e), c(e);
33
30
  }).catch((e) => {
34
- o?.error("Failed to fetch popups", { exception: e }), t([]), c([]);
31
+ o?.error("Failed to fetch popups", { exception: e }), i([]), c([]);
35
32
  }).finally(j));
36
33
  };
37
34
  if (d.get()) {
38
35
  e();
39
36
  return;
40
37
  }
41
- let n = d.listen((t) => {
42
- t && (n(), e());
38
+ let t = d.listen((n) => {
39
+ n && (t(), e());
43
40
  });
44
- return () => n();
41
+ return () => t();
45
42
  }, h = [
46
43
  a,
47
44
  o,
48
- r
49
- ], n[0] = a, n[1] = o, n[2] = r, n[3] = p, n[4] = h) : (p = n[3], h = n[4]), y(p, h), !s || s.length === 0) return null;
45
+ n
46
+ ], t[0] = a, t[1] = o, t[2] = n, t[3] = p, t[4] = h) : (p = t[3], h = t[4]), y(p, h), !s || s.length === 0) return null;
50
47
  let g;
51
- n[5] === Symbol.for("react.memo_cache_sentinel") ? (g = {
48
+ t[5] === Symbol.for("react.memo_cache_sentinel") ? (g = {
52
49
  position: "relative",
53
50
  zIndex: 99999
54
- }, n[5] = g) : g = n[5];
51
+ }, t[5] = g) : g = t[5];
55
52
  let _;
56
- return n[6] !== i || n[7] !== s ? (_ = /* @__PURE__ */ w("div", {
53
+ return t[6] !== r || t[7] !== s ? (_ = /* @__PURE__ */ w("div", {
57
54
  style: g,
58
55
  children: /* @__PURE__ */ w(m, { children: /* @__PURE__ */ w(k, {
59
56
  popups: s,
60
- pageId: i
57
+ pageId: r
61
58
  }) })
62
- }), n[6] = i, n[7] = s, n[8] = _) : _ = n[8], _;
59
+ }), t[6] = r, t[7] = s, t[8] = _) : _ = t[8], _;
63
60
  };
64
61
  function j() {
65
- return o(!1);
62
+ return r(!1);
66
63
  }
67
64
  var M = () => {
68
- let t = u(3), n = E(i), r = E(e), a = se, o = ce, s;
65
+ let t = u(3), n = E(e), r = E(o), i = se, a = ce, s;
69
66
  return t[0] !== r || t[1] !== n ? (s = {
70
67
  popups: n,
71
68
  isLoading: r,
72
- openPopup: a,
73
- closePopup: o
69
+ openPopup: i,
70
+ closePopup: a
74
71
  }, t[0] = r, t[1] = n, t[2] = s) : s = t[2], s;
75
72
  };
76
- function se(e) {
77
- let t = i.get().find((t) => t.id === e);
78
- t && n(t, {
73
+ function se(t) {
74
+ let n = e.get().find((e) => e.id === t);
75
+ n && a(n, {
79
76
  force: !0,
80
77
  trigger_type: "manual"
81
78
  });
82
79
  }
83
80
  function ce() {
84
- let e = a.get().active_popup_id;
85
- e && r(e);
81
+ let e = n.get().active_popup_id;
82
+ e && t(e);
86
83
  }
87
84
  //#endregion
88
85
  //#region src/providers/BlockContext.tsx
@@ -1,23 +1,23 @@
1
1
  import { c as e } from "react/compiler-runtime";
2
2
  import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
- import r, { clsx as i } from "clsx";
4
- import { createRuntimeFn as a } from "@vanilla-extract/recipes/createRuntimeFn";
5
- import { FieldInterfaces as o } from "@levo-so/core";
3
+ import { FieldInterfaces as r } from "@levo-so/core";
4
+ import i, { clsx as a } from "clsx";
5
+ import { createRuntimeFn as o } from "@vanilla-extract/recipes/createRuntimeFn";
6
6
  import { isValidPhoneNumber as s } from "react-phone-number-input";
7
7
  import * as c from "yup";
8
8
  import { Separator as l } from "@base-ui/react/separator";
9
9
  //#region ../../libraries/react-collection/dist/components/collectionField/CollectionField.cssm.js
10
10
  var u = "_1ompjs11", d = "_1d7f2b80", f = (n) => {
11
- let i = e(8), a, o;
12
- i[0] === n ? (a = i[1], o = i[2]) : ({className: a, ...o} = n, i[0] = n, i[1] = a, i[2] = o);
11
+ let r = e(8), a, o;
12
+ r[0] === n ? (a = r[1], o = r[2]) : ({className: a, ...o} = n, r[0] = n, r[1] = a, r[2] = o);
13
13
  let s;
14
- i[3] === a ? s = i[4] : (s = r(d, a), i[3] = a, i[4] = s);
14
+ r[3] === a ? s = r[4] : (s = i(d, a), r[3] = a, r[4] = s);
15
15
  let c;
16
- return i[5] !== o || i[6] !== s ? (c = /* @__PURE__ */ t("label", {
16
+ return r[5] !== o || r[6] !== s ? (c = /* @__PURE__ */ t("label", {
17
17
  "data-slot": "label",
18
18
  className: s,
19
19
  ...o
20
- }), i[5] = o, i[6] = s, i[7] = c) : c = i[7], c;
20
+ }), r[5] = o, r[6] = s, r[7] = c) : c = r[7], c;
21
21
  };
22
22
  //#endregion
23
23
  //#region ../../libraries/react-collection/dist/components/collectionLabel/CollectionLabel.js
@@ -44,25 +44,25 @@ var m = (e, t) => {
44
44
  let [e] = n.split(".");
45
45
  e && (n = e);
46
46
  }
47
- let r = (t) => {
47
+ let i = (t) => {
48
48
  let r = t;
49
49
  return e.max !== void 0 && e.max !== null && e.max !== "" && (r = r.max(Number(e.max), `The ${n} value is too large (max ${e.max})`)), e.min !== void 0 && e.min !== null && e.min !== "" && (r = r.min(Number(e.min), `The ${n} value is too small (min ${e.min})`)), r;
50
- }, i;
50
+ }, a;
51
51
  switch (e.field_interface) {
52
- case o.NumberWidget:
53
- i = r(c.number());
52
+ case r.NumberWidget:
53
+ a = i(c.number());
54
54
  break;
55
- case o.ArrayWidget:
56
- i = r(c.array().typeError("The field must be an array"));
55
+ case r.ArrayWidget:
56
+ a = i(c.array().typeError("The field must be an array"));
57
57
  break;
58
- case o.RecordWidget:
59
- i = c.object();
58
+ case r.RecordWidget:
59
+ a = c.object();
60
60
  break;
61
- case o.EmailWidget:
62
- i = r(c.string().email("The email address is not valid"));
61
+ case r.EmailWidget:
62
+ a = i(c.string().email("The email address is not valid"));
63
63
  break;
64
- case o.PhoneWidget:
65
- i = r(c.string().test("phone", "The phone number has incorrect format", (e) => {
64
+ case r.PhoneWidget:
65
+ a = i(c.string().test("phone", "The phone number has incorrect format", (e) => {
66
66
  if (e) try {
67
67
  return s(e);
68
68
  } catch {
@@ -71,41 +71,41 @@ var m = (e, t) => {
71
71
  return !0;
72
72
  }));
73
73
  break;
74
- case o.URLWidget:
75
- i = r(c.string().matches(/^(?:https?:\/\/)?(?:[a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+(?:\.[a-zA-Z]{2,})+(?:\/[^\s?#]*)?(?:\?[^\s]*)?$/, "The URL is not valid"));
74
+ case r.URLWidget:
75
+ a = i(c.string().matches(/^(?:https?:\/\/)?(?:[a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+(?:\.[a-zA-Z]{2,})+(?:\/[^\s?#]*)?(?:\?[^\s]*)?$/, "The URL is not valid"));
76
76
  break;
77
- case o.ImageUploadWidget:
78
- case o.FileUploadWidget:
79
- case o.GeocoderWidget:
80
- i = c.object();
77
+ case r.ImageUploadWidget:
78
+ case r.FileUploadWidget:
79
+ case r.GeocoderWidget:
80
+ a = c.object();
81
81
  break;
82
- case o.MultiImageUploadWidget:
83
- case o.MultiFileUploadWidget:
84
- case o.MultiGeocoderWidget:
85
- i = c.array().of(c.object());
82
+ case r.MultiImageUploadWidget:
83
+ case r.MultiFileUploadWidget:
84
+ case r.MultiGeocoderWidget:
85
+ a = c.array().of(c.object());
86
86
  break;
87
- case o.JSONWidget:
88
- case o.DropdownWidget:
89
- i = c.string();
87
+ case r.JSONWidget:
88
+ case r.DropdownWidget:
89
+ a = c.string();
90
90
  break;
91
- case o.MultiTextWidget:
92
- case o.MultiDropdownWidget:
93
- case o.CheckboxWidget:
94
- i = c.array().of(c.string());
91
+ case r.MultiTextWidget:
92
+ case r.MultiDropdownWidget:
93
+ case r.CheckboxWidget:
94
+ a = c.array().of(c.string());
95
95
  break;
96
- case o.ToggleCheckboxWidget:
97
- i = c.boolean();
96
+ case r.ToggleCheckboxWidget:
97
+ a = c.boolean();
98
98
  break;
99
- case o.CollectionWidget:
100
- i = e.options.current_have_many_connected ? c.array() : c.object();
99
+ case r.CollectionWidget:
100
+ a = e.options.current_have_many_connected ? c.array() : c.object();
101
101
  break;
102
102
  default:
103
- i = r(c.string());
103
+ a = i(c.string());
104
104
  break;
105
105
  }
106
106
  if (e.options?.validationsPresets && Array.isArray(e.options.validationsPresets)) {
107
107
  let t = e.options.validationsPresets;
108
- (e.field_interface === o.TextWidget || e.field_interface === o.TextareaWidget) && (t.includes("exclude_special_chars") && (i = i.matches(/^[a-zA-Z0-9\s]*$/, "Special characters are not allowed")), t.includes("exclude_numbers") && (i = i.matches(/^[^0-9]*$/, "Numbers are not allowed")));
108
+ (e.field_interface === r.TextWidget || e.field_interface === r.TextareaWidget) && (t.includes("exclude_special_chars") && (a = a.matches(/^[a-zA-Z0-9\s]*$/, "Special characters are not allowed")), t.includes("exclude_numbers") && (a = a.matches(/^[^0-9]*$/, "Numbers are not allowed")));
109
109
  }
110
110
  return {
111
111
  required: {
@@ -115,13 +115,13 @@ var m = (e, t) => {
115
115
  validate: (n) => {
116
116
  if (e?.options?.disableValidation || n === "" || n == null) return !0;
117
117
  try {
118
- return i.validateSync(n), t ? t(n) : !0;
118
+ return a.validateSync(n), t ? t(n) : !0;
119
119
  } catch (e) {
120
120
  return e instanceof c.ValidationError ? e.message : !0;
121
121
  }
122
122
  }
123
123
  };
124
- }, h = a({
124
+ }, h = o({
125
125
  defaultClassName: "_11sljvf3",
126
126
  variantClassNames: { orientation: {
127
127
  vertical: "_11sljvf4",
@@ -129,7 +129,7 @@ var m = (e, t) => {
129
129
  } },
130
130
  defaultVariants: { orientation: "vertical" },
131
131
  compoundVariants: []
132
- }), g = "_11sljvf9", _ = "_11sljvfc", v = "_11sljvfd", y = a({
132
+ }), g = "_11sljvf9", _ = "_11sljvfc", v = "_11sljvfd", y = o({
133
133
  defaultClassName: "d292um0",
134
134
  variantClassNames: { orientation: {
135
135
  horizontal: "d292um1",
@@ -141,25 +141,25 @@ var m = (e, t) => {
141
141
  //#endregion
142
142
  //#region ../../libraries/levocn/dist/ui/separator/Separator.js
143
143
  function b(n) {
144
- let i = e(11), a, o, s;
145
- i[0] === n ? (a = i[1], o = i[2], s = i[3]) : ({className: a, orientation: s, ...o} = n, i[0] = n, i[1] = a, i[2] = o, i[3] = s);
144
+ let r = e(11), a, o, s;
145
+ r[0] === n ? (a = r[1], o = r[2], s = r[3]) : ({className: a, orientation: s, ...o} = n, r[0] = n, r[1] = a, r[2] = o, r[3] = s);
146
146
  let c = s === void 0 ? "horizontal" : s, u;
147
- i[4] !== a || i[5] !== c ? (u = r(y({ orientation: c }), a), i[4] = a, i[5] = c, i[6] = u) : u = i[6];
147
+ r[4] !== a || r[5] !== c ? (u = i(y({ orientation: c }), a), r[4] = a, r[5] = c, r[6] = u) : u = r[6];
148
148
  let d;
149
- return i[7] !== c || i[8] !== o || i[9] !== u ? (d = /* @__PURE__ */ t(l, {
149
+ return r[7] !== c || r[8] !== o || r[9] !== u ? (d = /* @__PURE__ */ t(l, {
150
150
  "data-slot": "separator",
151
151
  orientation: c,
152
152
  className: u,
153
153
  ...o
154
- }), i[7] = c, i[8] = o, i[9] = u, i[10] = d) : d = i[10], d;
154
+ }), r[7] = c, r[8] = o, r[9] = u, r[10] = d) : d = r[10], d;
155
155
  }
156
156
  //#endregion
157
157
  //#region ../../libraries/levocn/dist/ui/field/Field.js
158
158
  function x(n) {
159
- let r = e(11), a, o, s;
160
- r[0] === n ? (a = r[1], o = r[2], s = r[3]) : ({className: a, orientation: s, ...o} = n, r[0] = n, r[1] = a, r[2] = o, r[3] = s);
159
+ let r = e(11), i, o, s;
160
+ r[0] === n ? (i = r[1], o = r[2], s = r[3]) : ({className: i, orientation: s, ...o} = n, r[0] = n, r[1] = i, r[2] = o, r[3] = s);
161
161
  let c = s === void 0 ? "vertical" : s, l;
162
- r[4] !== a || r[5] !== c ? (l = i(h({ orientation: c }), a), r[4] = a, r[5] = c, r[6] = l) : l = r[6];
162
+ r[4] !== i || r[5] !== c ? (l = a(h({ orientation: c }), i), r[4] = i, r[5] = c, r[6] = l) : l = r[6];
163
163
  let u;
164
164
  return r[7] !== c || r[8] !== o || r[9] !== l ? (u = /* @__PURE__ */ t("div", {
165
165
  role: "group",
@@ -170,10 +170,10 @@ function x(n) {
170
170
  }), r[7] = c, r[8] = o, r[9] = l, r[10] = u) : u = r[10], u;
171
171
  }
172
172
  function S(n) {
173
- let r = e(8), a, o;
174
- r[0] === n ? (a = r[1], o = r[2]) : ({className: a, ...o} = n, r[0] = n, r[1] = a, r[2] = o);
173
+ let r = e(8), i, o;
174
+ r[0] === n ? (i = r[1], o = r[2]) : ({className: i, ...o} = n, r[0] = n, r[1] = i, r[2] = o);
175
175
  let s;
176
- r[3] === a ? s = r[4] : (s = i(g, a), r[3] = a, r[4] = s);
176
+ r[3] === i ? s = r[4] : (s = a(g, i), r[3] = i, r[4] = s);
177
177
  let c;
178
178
  return r[5] !== o || r[6] !== s ? (c = /* @__PURE__ */ t("p", {
179
179
  "data-slot": "field-description",
@@ -182,12 +182,12 @@ function S(n) {
182
182
  }), r[5] = o, r[6] = s, r[7] = c) : c = r[7], c;
183
183
  }
184
184
  function C(n) {
185
- let r = e(15), a, o, s, c;
186
- r[0] === n ? (a = r[1], o = r[2], s = r[3], c = r[4]) : ({className: o, children: a, errors: s, ...c} = n, r[0] = n, r[1] = a, r[2] = o, r[3] = s, r[4] = c);
185
+ let r = e(15), i, o, s, c;
186
+ r[0] === n ? (i = r[1], o = r[2], s = r[3], c = r[4]) : ({className: o, children: i, errors: s, ...c} = n, r[0] = n, r[1] = i, r[2] = o, r[3] = s, r[4] = c);
187
187
  let l;
188
188
  bb0: {
189
- if (a) {
190
- l = a;
189
+ if (i) {
190
+ l = i;
191
191
  break bb0;
192
192
  }
193
193
  if (!s?.length) {
@@ -201,16 +201,16 @@ function C(n) {
201
201
  l = n[0]?.message;
202
202
  break bb0;
203
203
  }
204
- let i;
205
- r[7] === n ? i = r[8] : (i = /* @__PURE__ */ t("ul", {
204
+ let a;
205
+ r[7] === n ? a = r[8] : (a = /* @__PURE__ */ t("ul", {
206
206
  className: v,
207
207
  children: n.map(w)
208
- }), r[7] = n, r[8] = i), l = i;
208
+ }), r[7] = n, r[8] = a), l = a;
209
209
  }
210
210
  let u = l;
211
211
  if (!u) return null;
212
212
  let d;
213
- r[9] === o ? d = r[10] : (d = i(_, o), r[9] = o, r[10] = d);
213
+ r[9] === o ? d = r[10] : (d = a(_, o), r[9] = o, r[10] = d);
214
214
  let f;
215
215
  return r[11] !== u || r[12] !== c || r[13] !== d ? (f = /* @__PURE__ */ t("div", {
216
216
  role: "alert",
@@ -228,9 +228,9 @@ function T(e) {
228
228
  }
229
229
  //#endregion
230
230
  //#region ../../libraries/react-collection/dist/components/collectionField/CollectionField.js
231
- function E(i) {
232
- let a = e(21), { label: o, error: s, helperText: c, topHelperText: l, isRequired: u, readOnly: d, htmlFor: f, className: m, children: h, ref: g } = i, _ = d && "_1ompjs14", v;
233
- a[0] !== m || a[1] !== _ ? (v = r(_, m), a[0] = m, a[1] = _, a[2] = v) : v = a[2];
231
+ function E(r) {
232
+ let a = e(21), { label: o, error: s, helperText: c, topHelperText: l, isRequired: u, readOnly: d, htmlFor: f, className: m, children: h, ref: g } = r, _ = d && "_1ompjs14", v;
233
+ a[0] !== m || a[1] !== _ ? (v = i(_, m), a[0] = m, a[1] = _, a[2] = v) : v = a[2];
234
234
  let y;
235
235
  a[3] !== f || a[4] !== u || a[5] !== o ? (y = /* @__PURE__ */ t(p, {
236
236
  label: o,
@@ -0,0 +1,255 @@
1
+ import { r as e } from "./ThemeProvider-CqPHzkW9.js";
2
+ import { r as t, t as n } from "./CollectionField-BZmxRB5D.js";
3
+ import { t as ee } from "./CollectionInput-DyNbxIZ8.js";
4
+ import { a as r, i as te, n as i, r as a, t as o } from "./Popover-Iis-qOn1.js";
5
+ import { c as ne } from "react/compiler-runtime";
6
+ import { useEffect as s, useRef as c, useState as l } from "react";
7
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
8
+ import { FieldInterfaces as f } from "@levo-so/core";
9
+ import p from "clsx";
10
+ import m from "dayjs";
11
+ import { useController as h } from "react-hook-form";
12
+ import { IconCalendar as g, IconChevronDown as _, IconChevronLeft as v, IconChevronRight as y, IconX as re } from "@tabler/icons-react";
13
+ import { DayPicker as ie, getDefaultClassNames as b } from "react-day-picker";
14
+ //#region ../../libraries/react-collection/dist/widgets/dateTimeWidget/DateTimeWidget.cssm.js
15
+ var ae = "rpx4b10", oe = "rpx4b11", se = "rpx4b12", ce = "rpx4b14 _6o7s4x0", le = "rpx4b15", ue = "rpx4b17", de = "rpx4b18", fe = "rpx4b19", pe = "rpx4b1a", me = "rpx4b1b", he = "rpx4b1c", ge = "rpx4b1d", _e = "rpx4b1e", ve = "rpx4b1f", ye = "rpx4b1g", be = "rpx4b1h", xe = "rpx4b1i", Se = "rpx4b1j", Ce = "rpx4b1k", we = "rpx4b1l", Te = "rpx4b1m", Ee = "rpx4b1n", De = "rpx4b1o", Oe = "rpx4b1p", ke = "rpx4b1q", Ae = "rpx4b1r", je = "rpx4b1s", Me = "rpx4b1t", Ne = "rpx4b1u", Pe = "rpx4b1v", Fe = (e) => {
16
+ if (e) {
17
+ let t = new Date(e);
18
+ return Number.isNaN(t.getTime()) ? null : t;
19
+ }
20
+ return null;
21
+ }, Ie = (e, t) => e ? t ? m(e).format("D MMMM, YYYY — h:mm A") : m(e).format("D MMMM, YYYY") : "", Le = (e) => {
22
+ let t = ne(19), { value: n, onChange: ee } = e, [r, te] = l(-1), i = c(null), a;
23
+ t[0] === n ? a = t[1] : (a = () => {
24
+ if (!n) return -1;
25
+ let e = n.getHours(), t = n.getMinutes();
26
+ return e * 4 + Math.floor(t / 15);
27
+ }, t[0] = n, t[1] = a);
28
+ let o = a, f, m;
29
+ t[2] === o ? (f = t[3], m = t[4]) : (f = () => {
30
+ let e = o();
31
+ e >= 0 && i.current && i.current.querySelector(`[data-time-index="${e}"]`)?.scrollIntoView({
32
+ block: "center",
33
+ behavior: "smooth"
34
+ });
35
+ }, m = [o], t[2] = o, t[3] = f, t[4] = m), s(f, m);
36
+ let h;
37
+ t[5] !== ee || t[6] !== n ? (h = (e, t) => {
38
+ let r = t * 15, i = n ? new Date(n) : /* @__PURE__ */ new Date();
39
+ i.setHours(e, r, 0, 0), ee(i), te(e * 4 + t);
40
+ }, t[5] = ee, t[6] = n, t[7] = h) : h = t[7];
41
+ let g = h, _;
42
+ t[8] !== r || t[9] !== g ? (_ = (e) => {
43
+ e.stopPropagation();
44
+ let t = (e) => {
45
+ let t = i.current?.querySelector(`[data-time-index="${e}"]`);
46
+ t?.scrollIntoView({
47
+ block: "center",
48
+ behavior: "smooth"
49
+ }), t?.focus();
50
+ };
51
+ bb48: switch (e.key) {
52
+ case "ArrowUp": {
53
+ e.preventDefault();
54
+ let n = r - 1 < 0 ? 95 : r - 1;
55
+ te(n), t(n);
56
+ break bb48;
57
+ }
58
+ case "ArrowDown": {
59
+ e.preventDefault();
60
+ let n = r + 1 >= 96 ? 0 : r + 1;
61
+ te(n), t(n);
62
+ break bb48;
63
+ }
64
+ case "Enter":
65
+ e.preventDefault(), r >= 0 && g(Math.floor(r / 4), r % 4);
66
+ break bb48;
67
+ case "Escape": te(-1);
68
+ }
69
+ }, t[8] = r, t[9] = g, t[10] = _) : _ = t[10];
70
+ let v = _, y = o(), re;
71
+ t[11] === Symbol.for("react.memo_cache_sentinel") ? (re = /* @__PURE__ */ u("div", {
72
+ className: Me,
73
+ children: "Time"
74
+ }), t[11] = re) : re = t[11];
75
+ let ie;
76
+ t[12] === Symbol.for("react.memo_cache_sentinel") ? (ie = Array.from({ length: 24 }), t[12] = ie) : ie = t[12];
77
+ let b;
78
+ t[13] !== y || t[14] !== g ? (b = ie.map((e, t) => {
79
+ let n = t === 0 ? 12 : t > 12 ? t - 12 : t, ee = t >= 12 ? "PM" : "AM";
80
+ return Array.from({ length: 4 }).map((e, r) => {
81
+ let te = r * 15, i = t * 4 + r, a = i === y, o = `${n}:${te.toString().padStart(2, "0")} ${ee}`;
82
+ return /* @__PURE__ */ u("button", {
83
+ type: "button",
84
+ role: "option",
85
+ "aria-selected": a,
86
+ "data-time-index": i,
87
+ className: p(Pe, a && "rpx4b1w"),
88
+ onClick: () => g(t, r),
89
+ tabIndex: a ? 0 : -1,
90
+ children: o
91
+ }, i);
92
+ });
93
+ }), t[13] = y, t[14] = g, t[15] = b) : b = t[15];
94
+ let ae;
95
+ return t[16] !== v || t[17] !== b ? (ae = /* @__PURE__ */ d("div", {
96
+ className: je,
97
+ children: [re, /* @__PURE__ */ u("div", {
98
+ ref: i,
99
+ className: Ne,
100
+ onKeyDown: v,
101
+ tabIndex: 0,
102
+ role: "listbox",
103
+ "aria-label": "Select time",
104
+ children: b
105
+ })]
106
+ }), t[16] = v, t[17] = b, t[18] = ae) : ae = t[18], ae;
107
+ }, Re = (s) => {
108
+ let c = ne(160), { field: m } = s, { key: _, label: v, helper_text: y, readonly: je } = m, Me = _ === void 0 ? "" : _, Ne = v === void 0 ? "" : v, Pe = y === void 0 ? "" : y, Re = je === void 0 ? !1 : je, x = Me, [Be, Ve] = l(!1), S;
109
+ c[0] === m ? S = c[1] : (S = t(m), c[0] = m, c[1] = S);
110
+ let He;
111
+ c[2] !== x || c[3] !== S ? (He = {
112
+ name: x,
113
+ rules: S
114
+ }, c[2] = x, c[3] = S, c[4] = He) : He = c[4];
115
+ let { field: Ue, fieldState: We } = h(He), C, w, T, E, D;
116
+ c[5] === Ue ? (C = c[6], w = c[7], T = c[8], E = c[9], D = c[10]) : ({value: D, onBlur: C, onChange: w, ref: T, ...E} = Ue, c[5] = Ue, c[6] = C, c[7] = w, c[8] = T, c[9] = E, c[10] = D);
117
+ let Ge = !!m?.required, Ke = We?.error?.message, O = m?.field_interface === f.DateTimeWidget, k, qe;
118
+ c[11] !== O || c[12] !== D ? (k = Fe(D), qe = Ie(k, O), c[11] = O, c[12] = D, c[13] = k, c[14] = qe) : (k = c[13], qe = c[14]);
119
+ let Je = qe, A, j, M, Ye, N, P, F, I, L, R, z, B, V, H, U, W, G, K, q, Xe, Ze, Qe, $e, et, tt, nt, J, Y, rt, X, it, at, ot, st, ct, Z, lt, ut, dt, ft, pt, Q, mt;
120
+ if (c[15] !== Je || c[16] !== O || c[17] !== Ke || c[18] !== Pe || c[19] !== Be || c[20] !== Ge || c[21] !== Ne || c[22] !== x || c[23] !== C || c[24] !== w || c[25] !== Re || c[26] !== T || c[27] !== E || c[28] !== k || c[29] !== D) {
121
+ let e = b(), t;
122
+ c[73] !== O || c[74] !== w || c[75] !== k ? (t = (e) => {
123
+ e && (O && k && e.setHours(k.getHours(), k.getMinutes(), 0, 0), w(e.toISOString()), O || Ve(!1));
124
+ }, c[73] = O, c[74] = w, c[75] = k, c[76] = t) : t = c[76];
125
+ let ne = t, s;
126
+ c[77] === w ? s = c[78] : (s = (e) => {
127
+ w(e.toISOString());
128
+ }, c[77] = w, c[78] = s), F = s;
129
+ let l;
130
+ c[79] === w ? l = c[80] : (l = (e) => {
131
+ e.preventDefault(), e.stopPropagation(), w(null);
132
+ }, c[79] = w, c[80] = l);
133
+ let d = l;
134
+ P = n, lt = Pe, ut = Re, dt = Ke, ft = x, pt = Ge, Q = Ne, N = i, st = Be, ct = Ve;
135
+ let f;
136
+ c[81] === Symbol.for("react.memo_cache_sentinel") ? (f = /* @__PURE__ */ u(g, { size: 18 }), c[81] = f) : f = c[81];
137
+ let m;
138
+ c[82] !== d || c[83] !== D ? (m = D ? /* @__PURE__ */ u("button", {
139
+ type: "button",
140
+ onClick: d,
141
+ "aria-label": "Clear date",
142
+ className: se,
143
+ children: /* @__PURE__ */ u(re, { size: 14 })
144
+ }) : void 0, c[82] = d, c[83] = D, c[84] = m) : m = c[84], c[85] !== Je || c[86] !== x || c[87] !== C || c[88] !== T || c[89] !== E || c[90] !== m ? (Z = /* @__PURE__ */ u(r.Trigger, { render: /* @__PURE__ */ u("div", {
145
+ className: ae,
146
+ children: /* @__PURE__ */ u(ee, {
147
+ id: x,
148
+ ref: T,
149
+ value: Je,
150
+ readOnly: !0,
151
+ leftIcon: f,
152
+ rightIcon: m,
153
+ className: oe,
154
+ autoComplete: "off",
155
+ onBlur: C,
156
+ placeholder: "Select date",
157
+ ...E
158
+ })
159
+ }) }), c[85] = Je, c[86] = x, c[87] = C, c[88] = T, c[89] = E, c[90] = m, c[91] = Z) : Z = c[91], Ye = te, M = a, at = "start", ot = 4, j = o, it = ce;
160
+ let h = O && "rpx4b16";
161
+ c[92] === h ? X = c[93] : (X = p(le, h), c[92] = h, c[93] = X), A = ie, $e = "single", et = k || void 0, tt = ne, nt = "dropdown", c[94] === Symbol.for("react.memo_cache_sentinel") ? (J = new Date((/* @__PURE__ */ new Date()).getFullYear() - 100, 0), c[94] = J) : J = c[94], c[95] === Symbol.for("react.memo_cache_sentinel") ? (Y = new Date((/* @__PURE__ */ new Date()).getFullYear() + 10, 11), c[95] = Y) : Y = c[95], rt = !0, mt = p(e.root, de), I = fe, L = pe, R = p(e.month_caption, me), z = p(he, e.dropdowns), B = p(_e, e.dropdown), V = p(ge, e.dropdown_root), H = p(ve, e.caption_label), U = p(ye, e.nav), W = p(be, e.button_previous), G = p(xe, e.button_next), K = p(Se, e.weekdays), q = p(Ce, e.weekday), Xe = p(we, e.week), Ze = p(Te, e.day), Qe = p(Ee, e.day_button), c[15] = Je, c[16] = O, c[17] = Ke, c[18] = Pe, c[19] = Be, c[20] = Ge, c[21] = Ne, c[22] = x, c[23] = C, c[24] = w, c[25] = Re, c[26] = T, c[27] = E, c[28] = k, c[29] = D, c[30] = A, c[31] = j, c[32] = M, c[33] = Ye, c[34] = N, c[35] = P, c[36] = F, c[37] = I, c[38] = L, c[39] = R, c[40] = z, c[41] = B, c[42] = V, c[43] = H, c[44] = U, c[45] = W, c[46] = G, c[47] = K, c[48] = q, c[49] = Xe, c[50] = Ze, c[51] = Qe, c[52] = $e, c[53] = et, c[54] = tt, c[55] = nt, c[56] = J, c[57] = Y, c[58] = rt, c[59] = X, c[60] = it, c[61] = at, c[62] = ot, c[63] = st, c[64] = ct, c[65] = Z, c[66] = lt, c[67] = ut, c[68] = dt, c[69] = ft, c[70] = pt, c[71] = Q, c[72] = mt;
162
+ } else A = c[30], j = c[31], M = c[32], Ye = c[33], N = c[34], P = c[35], F = c[36], I = c[37], L = c[38], R = c[39], z = c[40], B = c[41], V = c[42], H = c[43], U = c[44], W = c[45], G = c[46], K = c[47], q = c[48], Xe = c[49], Ze = c[50], Qe = c[51], $e = c[52], et = c[53], tt = c[54], nt = c[55], J = c[56], Y = c[57], rt = c[58], X = c[59], it = c[60], at = c[61], ot = c[62], st = c[63], ct = c[64], Z = c[65], lt = c[66], ut = c[67], dt = c[68], ft = c[69], pt = c[70], Q = c[71], mt = c[72];
163
+ let ht;
164
+ c[96] !== I || c[97] !== L || c[98] !== R || c[99] !== z || c[100] !== B || c[101] !== V || c[102] !== H || c[103] !== U || c[104] !== W || c[105] !== G || c[106] !== K || c[107] !== q || c[108] !== Xe || c[109] !== Ze || c[110] !== Qe || c[111] !== mt ? (ht = {
165
+ root: mt,
166
+ months: I,
167
+ month: L,
168
+ month_caption: R,
169
+ dropdowns: z,
170
+ dropdown: B,
171
+ dropdown_root: V,
172
+ caption_label: H,
173
+ nav: U,
174
+ button_previous: W,
175
+ button_next: G,
176
+ weekdays: K,
177
+ weekday: q,
178
+ week: Xe,
179
+ day: Ze,
180
+ day_button: Qe,
181
+ selected: De,
182
+ today: Oe,
183
+ outside: ke,
184
+ disabled: Ae
185
+ }, c[96] = I, c[97] = L, c[98] = R, c[99] = z, c[100] = B, c[101] = V, c[102] = H, c[103] = U, c[104] = W, c[105] = G, c[106] = K, c[107] = q, c[108] = Xe, c[109] = Ze, c[110] = Qe, c[111] = mt, c[112] = ht) : ht = c[112];
186
+ let gt;
187
+ c[113] === Symbol.for("react.memo_cache_sentinel") ? (gt = { Chevron: ze }, c[113] = gt) : gt = c[113];
188
+ let _t;
189
+ c[114] !== A || c[115] !== $e || c[116] !== et || c[117] !== tt || c[118] !== nt || c[119] !== J || c[120] !== Y || c[121] !== rt || c[122] !== ht ? (_t = /* @__PURE__ */ u(A, {
190
+ mode: $e,
191
+ selected: et,
192
+ onSelect: tt,
193
+ captionLayout: nt,
194
+ startMonth: J,
195
+ endMonth: Y,
196
+ showOutsideDays: rt,
197
+ classNames: ht,
198
+ components: gt
199
+ }), c[114] = A, c[115] = $e, c[116] = et, c[117] = tt, c[118] = nt, c[119] = J, c[120] = Y, c[121] = rt, c[122] = ht, c[123] = _t) : _t = c[123];
200
+ let vt;
201
+ c[124] !== O || c[125] !== F || c[126] !== k ? (vt = O && /* @__PURE__ */ u(Le, {
202
+ value: k,
203
+ onChange: F
204
+ }), c[124] = O, c[125] = F, c[126] = k, c[127] = vt) : vt = c[127];
205
+ let yt;
206
+ c[128] !== X || c[129] !== _t || c[130] !== vt ? (yt = /* @__PURE__ */ d("div", {
207
+ className: X,
208
+ children: [_t, vt]
209
+ }), c[128] = X, c[129] = _t, c[130] = vt, c[131] = yt) : yt = c[131];
210
+ let bt;
211
+ c[132] === Symbol.for("react.memo_cache_sentinel") ? (bt = /* @__PURE__ */ u("div", {
212
+ className: ue,
213
+ children: /* @__PURE__ */ u(e, {
214
+ variant: "ghost",
215
+ size: "sm",
216
+ onClick: () => Ve(!1),
217
+ children: "Done"
218
+ })
219
+ }), c[132] = bt) : bt = c[132];
220
+ let xt;
221
+ c[133] !== j || c[134] !== it || c[135] !== yt ? (xt = /* @__PURE__ */ d(j, {
222
+ className: it,
223
+ children: [yt, bt]
224
+ }), c[133] = j, c[134] = it, c[135] = yt, c[136] = xt) : xt = c[136];
225
+ let St;
226
+ c[137] !== M || c[138] !== at || c[139] !== ot || c[140] !== xt ? (St = /* @__PURE__ */ u(M, {
227
+ align: at,
228
+ sideOffset: ot,
229
+ children: xt
230
+ }), c[137] = M, c[138] = at, c[139] = ot, c[140] = xt, c[141] = St) : St = c[141];
231
+ let Ct;
232
+ c[142] !== Ye || c[143] !== St ? (Ct = /* @__PURE__ */ u(Ye, { children: St }), c[142] = Ye, c[143] = St, c[144] = Ct) : Ct = c[144];
233
+ let $;
234
+ c[145] !== N || c[146] !== st || c[147] !== ct || c[148] !== Z || c[149] !== Ct ? ($ = /* @__PURE__ */ d(N, {
235
+ open: st,
236
+ onOpenChange: ct,
237
+ children: [Z, Ct]
238
+ }), c[145] = N, c[146] = st, c[147] = ct, c[148] = Z, c[149] = Ct, c[150] = $) : $ = c[150];
239
+ let wt;
240
+ return c[151] !== P || c[152] !== lt || c[153] !== ut || c[154] !== dt || c[155] !== ft || c[156] !== pt || c[157] !== Q || c[158] !== $ ? (wt = /* @__PURE__ */ u(P, {
241
+ helperText: lt,
242
+ readOnly: ut,
243
+ error: dt,
244
+ htmlFor: ft,
245
+ isRequired: pt,
246
+ label: Q,
247
+ children: $
248
+ }), c[151] = P, c[152] = lt, c[153] = ut, c[154] = dt, c[155] = ft, c[156] = pt, c[157] = Q, c[158] = $, c[159] = wt) : wt = c[159], wt;
249
+ };
250
+ function ze(e) {
251
+ let { orientation: t } = e;
252
+ return t === "left" ? /* @__PURE__ */ u(v, { size: 16 }) : t === "right" ? /* @__PURE__ */ u(y, { size: 16 }) : /* @__PURE__ */ u(_, { size: 14 });
253
+ }
254
+ //#endregion
255
+ export { Re as default };