docthub-core-components 2.99.2 → 3.1.0

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 (88) hide show
  1. package/dist/components/overrides/ui/auto-complete.js +466 -0
  2. package/dist/components/overrides/ui/autocomplete-checkbox.js +480 -0
  3. package/dist/components/overrides/ui/chips/doct-chip.js +157 -0
  4. package/dist/components/overrides/ui/circular-progress.js +32 -0
  5. package/dist/components/overrides/ui/composed/address-form-section.js +67 -0
  6. package/dist/components/overrides/ui/composed/contact-form-section.js +56 -0
  7. package/dist/components/overrides/ui/composed/search-filter-section.js +132 -0
  8. package/dist/components/overrides/ui/composed/user-registration-section.js +77 -0
  9. package/dist/components/overrides/ui/currencyInput/currency-input.js +69 -0
  10. package/dist/components/overrides/ui/doct-animation-loader.js +13 -0
  11. package/dist/components/overrides/ui/expandable-card.js +115 -0
  12. package/dist/components/overrides/ui/footer/doct-footer.js +35 -0
  13. package/dist/components/overrides/ui/footer/footer-desktop.js +92 -0
  14. package/dist/components/overrides/ui/footer/footer-mobile.js +123 -0
  15. package/dist/components/overrides/ui/footer/footer-routes.js +87 -0
  16. package/dist/components/overrides/ui/footer/footer-shared.js +137 -0
  17. package/dist/components/overrides/ui/footer/presets.js +269 -0
  18. package/dist/components/overrides/ui/inputs/labeled-input.js +92 -0
  19. package/dist/components/overrides/ui/inputs/otp-input.js +101 -0
  20. package/dist/components/overrides/ui/inputs/password-input.js +77 -0
  21. package/dist/components/overrides/ui/inputs/phone-input.js +336 -0
  22. package/dist/components/overrides/ui/navigation-menu/doct-navigation-menu.js +22 -0
  23. package/dist/components/overrides/ui/navigation-menu/individual-nav-routes.js +46 -0
  24. package/dist/components/overrides/ui/navigation-menu/individual-navigation-menu-desktop.js +109 -0
  25. package/dist/components/overrides/ui/navigation-menu/individual-navigation-menu-mobile.js +231 -0
  26. package/dist/components/overrides/ui/navigation-menu/individual-navigation-menu.js +44 -0
  27. package/dist/components/overrides/ui/navigation-menu/nav-env.js +64 -0
  28. package/dist/components/overrides/ui/navigation-menu/navigation-menu-adapter.js +55 -0
  29. package/dist/components/overrides/ui/navigation-menu/navigation-menu-internal.js +36 -0
  30. package/dist/components/overrides/ui/navigation-menu/organization-nav-routes.js +34 -0
  31. package/dist/components/overrides/ui/navigation-menu/organization-navigation-menu-desktop.js +109 -0
  32. package/dist/components/overrides/ui/navigation-menu/organization-navigation-menu-mobile.js +231 -0
  33. package/dist/components/overrides/ui/navigation-menu/organization-navigation-menu.js +44 -0
  34. package/dist/components/overrides/ui/navigation-menu/presets.js +238 -0
  35. package/dist/components/overrides/ui/navigation-menu/types.js +6 -0
  36. package/dist/components/overrides/ui/pickers/date-picker-field.js +361 -0
  37. package/dist/components/overrides/ui/pickers/date-range-picker-field.js +288 -0
  38. package/dist/components/overrides/ui/pickers/day-picker-bounds.js +38 -0
  39. package/dist/components/overrides/ui/pickers/select-field.js +158 -0
  40. package/dist/components/overrides/ui/search/auto-complete.js +64 -0
  41. package/dist/components/overrides/ui/search/search-input.js +65 -0
  42. package/dist/components/overrides/ui/showcase/component-section.js +45 -0
  43. package/dist/components/ui/alert.js +94 -0
  44. package/dist/components/ui/avatar.js +69 -0
  45. package/dist/components/ui/badge.js +37 -0
  46. package/dist/components/ui/breadcrumb.js +117 -0
  47. package/dist/components/ui/button.js +223 -0
  48. package/dist/components/ui/calendar.js +100 -0
  49. package/dist/components/ui/checkbox.js +57 -0
  50. package/dist/components/ui/collapsible.js +25 -0
  51. package/dist/components/ui/command.js +132 -0
  52. package/dist/components/ui/dialog.js +230 -0
  53. package/dist/components/ui/drawer.js +119 -0
  54. package/dist/components/ui/dropdown-menu.js +216 -0
  55. package/dist/components/ui/input.js +48 -0
  56. package/dist/components/ui/label.js +22 -0
  57. package/dist/components/ui/popover.js +181 -0
  58. package/dist/components/ui/progress.js +91 -0
  59. package/dist/components/ui/radio-group.js +49 -0
  60. package/dist/components/ui/select.js +169 -0
  61. package/dist/components/ui/skeleton.js +91 -0
  62. package/dist/components/ui/spinner.js +32 -0
  63. package/dist/components/ui/tabs.js +68 -0
  64. package/dist/components/ui/textarea.js +73 -0
  65. package/dist/components/ui/timeline.js +177 -0
  66. package/dist/components/ui/toast.js +82 -0
  67. package/dist/components/ui/tooltip.js +91 -0
  68. package/dist/components/ui/typography.js +213 -0
  69. package/dist/hooks/use-exclusive-dropdown.js +53 -0
  70. package/dist/hooks/use-mobile.js +19 -0
  71. package/dist/hooks/useAutocompleteCheckbox.js +204 -0
  72. package/dist/index.esm.js +7173 -7126
  73. package/dist/index.js +187 -0
  74. package/dist/lib/dropdown-manager.js +17 -0
  75. package/dist/lib/get-floating-dropdown-position.js +32 -0
  76. package/dist/lib/get-scroll-parents.js +20 -0
  77. package/dist/lib/slot.js +40 -0
  78. package/dist/lib/utils.js +9 -0
  79. package/dist/src/components/ui/alert.d.ts +1 -1
  80. package/dist/src/components/ui/button.d.ts +1 -1
  81. package/dist/src/components/ui/command.d.ts +3 -3
  82. package/dist/src/components/ui/timeline.d.ts +1 -1
  83. package/dist/src/index.d.ts +15 -15
  84. package/dist/src/lib/get-floating-dropdown-position.d.ts +9 -1
  85. package/dist/src/lib/get-scroll-parents.d.ts +6 -0
  86. package/dist/style.css +1 -1
  87. package/dist/util/getInputClasses.js +19 -0
  88. package/package.json +131 -132
@@ -0,0 +1,67 @@
1
+ "use client";
2
+ import { jsx as r, jsxs as g } from "react/jsx-runtime";
3
+ import { c as h } from "react-compiler-runtime";
4
+ import { MapPin as q } from "lucide-react";
5
+ import { cn as P } from "../../../../lib/utils.js";
6
+ import { LabeledInput as p } from "../inputs/labeled-input.js";
7
+ import { SelectField as E } from "../pickers/select-field.js";
8
+ const I = [{
9
+ value: "us",
10
+ label: "United States"
11
+ }, {
12
+ value: "ca",
13
+ label: "Canada"
14
+ }, {
15
+ value: "uk",
16
+ label: "United Kingdom"
17
+ }, {
18
+ value: "au",
19
+ label: "Australia"
20
+ }, {
21
+ value: "de",
22
+ label: "Germany"
23
+ }, {
24
+ value: "fr",
25
+ label: "France"
26
+ }];
27
+ function Z(A) {
28
+ const e = h(28), {
29
+ className: b,
30
+ countries: S,
31
+ onValueChange: t
32
+ } = A, y = S === void 0 ? I : S;
33
+ let s;
34
+ e[0] !== b ? (s = P("space-y-4", b), e[0] = b, e[1] = s) : s = e[1];
35
+ let a;
36
+ e[2] !== t ? (a = /* @__PURE__ */ r(p, { label: "Street Address", placeholder: "Enter street address", required: !0, onChange: (l) => t == null ? void 0 : t("streetAddress", l.target.value) }), e[2] = t, e[3] = a) : a = e[3];
37
+ let i;
38
+ e[4] !== t ? (i = /* @__PURE__ */ r(p, { label: "Apartment, suite, etc.", placeholder: "Apartment, suite, etc. (optional)", onChange: (l) => t == null ? void 0 : t("addressLine2", l.target.value) }), e[4] = t, e[5] = i) : i = e[5];
39
+ let o;
40
+ e[6] !== t ? (o = /* @__PURE__ */ r(p, { label: "City", placeholder: "Enter city", required: !0, onChange: (l) => t == null ? void 0 : t("city", l.target.value) }), e[6] = t, e[7] = o) : o = e[7];
41
+ let c;
42
+ e[8] !== t ? (c = /* @__PURE__ */ r(p, { label: "State/Province", placeholder: "Enter state", required: !0, onChange: (l) => t == null ? void 0 : t("state", l.target.value) }), e[8] = t, e[9] = c) : c = e[9];
43
+ let d;
44
+ e[10] !== t ? (d = /* @__PURE__ */ r(p, { label: "ZIP/Postal Code", placeholder: "Enter ZIP code", required: !0, onChange: (l) => t == null ? void 0 : t("zipCode", l.target.value) }), e[10] = t, e[11] = d) : d = e[11];
45
+ let n;
46
+ e[12] !== o || e[13] !== c || e[14] !== d ? (n = /* @__PURE__ */ g("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: [
47
+ o,
48
+ c,
49
+ d
50
+ ] }), e[12] = o, e[13] = c, e[14] = d, e[15] = n) : n = e[15];
51
+ let f;
52
+ e[16] === Symbol.for("react.memo_cache_sentinel") ? (f = /* @__PURE__ */ r(q, { className: "h-4 w-4" }), e[16] = f) : f = e[16];
53
+ let u;
54
+ e[17] !== t ? (u = (l) => t == null ? void 0 : t("country", l), e[17] = t, e[18] = u) : u = e[18];
55
+ let m;
56
+ e[19] !== y || e[20] !== u ? (m = /* @__PURE__ */ r(E, { label: "Country", placeholder: "Select country", options: y, leadingIcon: f, required: !0, onValueChange: u }), e[19] = y, e[20] = u, e[21] = m) : m = e[21];
57
+ let v;
58
+ return e[22] !== m || e[23] !== s || e[24] !== a || e[25] !== i || e[26] !== n ? (v = /* @__PURE__ */ g("div", { className: s, children: [
59
+ a,
60
+ i,
61
+ n,
62
+ m
63
+ ] }), e[22] = m, e[23] = s, e[24] = a, e[25] = i, e[26] = n, e[27] = v) : v = e[27], v;
64
+ }
65
+ export {
66
+ Z as AddressFormSection
67
+ };
@@ -0,0 +1,56 @@
1
+ "use client";
2
+ import { jsxs as b, jsx as e } from "react/jsx-runtime";
3
+ import { Mail as q, Building as x } from "lucide-react";
4
+ import { useState as v, useRef as I, useEffect as w } from "react";
5
+ import { Textarea as D } from "../../../ui/textarea.js";
6
+ import { cn as F } from "../../../../lib/utils.js";
7
+ import { LabeledInput as c } from "../inputs/labeled-input.js";
8
+ import { DoctPhoneInput as j } from "../inputs/phone-input.js";
9
+ import { SelectField as A } from "../pickers/select-field.js";
10
+ const L = [{
11
+ value: "sales",
12
+ label: "Sales"
13
+ }, {
14
+ value: "support",
15
+ label: "Support"
16
+ }, {
17
+ value: "general",
18
+ label: "General Inquiry"
19
+ }];
20
+ function z({
21
+ className: N,
22
+ showDepartment: E = !0,
23
+ departmentOptions: P = L,
24
+ customCountries: i,
25
+ onValueChange: r
26
+ }) {
27
+ var y;
28
+ const [l, S] = v(""), [d, p] = v(i ? (y = i[0]) == null ? void 0 : y.countryCode.replace("+", "") : "91"), m = I(d);
29
+ m.current = d;
30
+ const o = i == null ? void 0 : i[0], s = o != null ? o.countryCode.replace("+", "") : null;
31
+ w(() => {
32
+ s != null && p(s);
33
+ }, [s]);
34
+ const f = ((t) => t ? t.length < 7 ? "Phone number must be at least 7 digits" : t.length > 15 ? "Phone number cannot exceed 15 digits" : "" : "")(l);
35
+ return /* @__PURE__ */ b("div", { className: F("space-y-4", N), children: [
36
+ /* @__PURE__ */ b("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
37
+ /* @__PURE__ */ e(c, { label: "First Name", placeholder: "Enter first name", required: !0, onChange: (t) => r == null ? void 0 : r("firstName", t.target.value) }),
38
+ /* @__PURE__ */ e(c, { label: "Last Name", placeholder: "Enter last name", required: !0, onChange: (t) => r == null ? void 0 : r("lastName", t.target.value) })
39
+ ] }),
40
+ /* @__PURE__ */ e(c, { label: "Email Address", type: "email", placeholder: "Enter your email", leftIcon: /* @__PURE__ */ e(q, { className: "h-4 w-4" }), required: !0, onChange: (t) => r == null ? void 0 : r("email", t.target.value) }),
41
+ /* @__PURE__ */ e(j, { label: "Phone Number", placeholder: "Enter phone number", value: l, onPhoneChange: (t) => {
42
+ S(t), r == null || r("phone", t), r == null || r("countryCode", m.current);
43
+ }, countryCode: d, onCountryCodeChange: (t) => {
44
+ p(t), r == null || r("countryCode", t);
45
+ }, onValuesChange: (t) => {
46
+ r == null || r("phoneArray", t);
47
+ }, onCountryChange: (t) => {
48
+ r == null || r("selectedCountry", JSON.stringify(t));
49
+ }, countries: i, defaultCountry: i ? 0 : "IN", error: f, helperText: f ? void 0 : "Enter 7-15 digits", required: !0 }),
50
+ E && /* @__PURE__ */ e(A, { label: "Department", placeholder: "Select department", options: P, leadingIcon: /* @__PURE__ */ e(x, { className: "h-4 w-4" }), onValueChange: (t) => r == null ? void 0 : r("department", t) }),
51
+ /* @__PURE__ */ e(D, { label: "Message", placeholder: "How can we help you?", required: !0, onChange: (t) => r == null ? void 0 : r("message", t.target.value) })
52
+ ] });
53
+ }
54
+ export {
55
+ z as ContactFormSection
56
+ };
@@ -0,0 +1,132 @@
1
+ "use client";
2
+ import { jsx as s, jsxs as N, Fragment as le } from "react/jsx-runtime";
3
+ import { c as ae } from "react-compiler-runtime";
4
+ import { Filter as se, X as ne } from "lucide-react";
5
+ import { useState as T } from "react";
6
+ import { DoctButton as re } from "../../../ui/button.js";
7
+ import { cn as ce } from "../../../../lib/utils.js";
8
+ import { DatePickerField as W } from "../pickers/date-picker-field.js";
9
+ import { SelectField as Y } from "../pickers/select-field.js";
10
+ import { SearchInput as ie } from "../search/search-input.js";
11
+ const me = [{
12
+ value: "all",
13
+ label: "All Categories"
14
+ }, {
15
+ value: "electronics",
16
+ label: "Electronics"
17
+ }, {
18
+ value: "clothing",
19
+ label: "Clothing"
20
+ }, {
21
+ value: "books",
22
+ label: "Books"
23
+ }], de = [{
24
+ value: "newest",
25
+ label: "Newest First"
26
+ }, {
27
+ value: "oldest",
28
+ label: "Oldest First"
29
+ }, {
30
+ value: "name-asc",
31
+ label: "Name A-Z"
32
+ }, {
33
+ value: "name-desc",
34
+ label: "Name Z-A"
35
+ }], xe = (w) => {
36
+ const e = ae(53), {
37
+ className: M,
38
+ searchPlaceholder: G,
39
+ categories: H,
40
+ sortOptions: J,
41
+ showDateFilter: K,
42
+ onSearch: v,
43
+ onFilter: F,
44
+ onClear: u,
45
+ defaultFilters: l
46
+ } = w, j = G === void 0 ? "Search..." : G, P = H === void 0 ? me : H, z = J === void 0 ? de : J, B = K === void 0 ? !1 : K, V = (l == null ? void 0 : l.category) ?? "", Z = (l == null ? void 0 : l.sort) ?? "", E = l == null ? void 0 : l.dateFrom, I = l == null ? void 0 : l.dateTo;
47
+ let x;
48
+ e[0] !== V || e[1] !== Z || e[2] !== E || e[3] !== I ? (x = {
49
+ category: V,
50
+ sort: Z,
51
+ dateFrom: E,
52
+ dateTo: I
53
+ }, e[0] = V, e[1] = Z, e[2] = E, e[3] = I, e[4] = x) : x = e[4];
54
+ const [t, L] = T(x), [X, ee] = T(!1), [_, te] = T(!1);
55
+ let C;
56
+ e[5] !== t.dateFrom ? (C = t.dateFrom ?? /* @__PURE__ */ new Date(), e[5] = t.dateFrom, e[6] = C) : C = e[6];
57
+ const [b, Q] = T(C);
58
+ let y;
59
+ e[7] !== t.dateTo ? (y = t.dateTo ?? /* @__PURE__ */ new Date(), e[7] = t.dateTo, e[8] = y) : y = e[8];
60
+ const [S, R] = T(y);
61
+ let O;
62
+ e[9] !== t || e[10] !== F ? (O = (o, oe) => {
63
+ const U = {
64
+ ...t,
65
+ [o]: oe
66
+ };
67
+ L(U), F == null || F(U);
68
+ }, e[9] = t, e[10] = F, e[11] = O) : O = e[11];
69
+ const a = O;
70
+ let D;
71
+ e[12] !== u ? (D = () => {
72
+ L({
73
+ category: "",
74
+ sort: "",
75
+ dateFrom: void 0,
76
+ dateTo: void 0
77
+ }), u == null || u();
78
+ }, e[12] = u, e[13] = D) : D = e[13];
79
+ const $ = D, q = Object.values(t).some(he);
80
+ let n;
81
+ e[14] !== M ? (n = ce("space-y-4", M), e[14] = M, e[15] = n) : n = e[15];
82
+ let r;
83
+ e[16] !== v ? (r = (o) => v == null ? void 0 : v(o.target.value), e[16] = v, e[17] = r) : r = e[17];
84
+ let c;
85
+ e[18] !== j || e[19] !== r ? (c = /* @__PURE__ */ s(ie, { size: "medium", placeholder: j, onChange: r }), e[18] = j, e[19] = r, e[20] = c) : c = e[20];
86
+ let k;
87
+ e[21] === Symbol.for("react.memo_cache_sentinel") ? (k = /* @__PURE__ */ N("div", { className: "flex items-center gap-2", children: [
88
+ /* @__PURE__ */ s(se, { className: "h-4 w-4 text-gray-500" }),
89
+ /* @__PURE__ */ s("span", { className: "text-sm font-medium text-gray-700", children: "Filters:" })
90
+ ] }), e[21] = k) : k = e[21];
91
+ let i;
92
+ e[22] !== a ? (i = (o) => a("category", o), e[22] = a, e[23] = i) : i = e[23];
93
+ let m;
94
+ e[24] !== P || e[25] !== i ? (m = /* @__PURE__ */ s(Y, { placeholder: "Category", options: P, onValueChange: i, className: "min-w-[140px]" }), e[24] = P, e[25] = i, e[26] = m) : m = e[26];
95
+ let d;
96
+ e[27] !== a ? (d = (o) => a("sort", o), e[27] = a, e[28] = d) : d = e[28];
97
+ let h;
98
+ e[29] !== z || e[30] !== d ? (h = /* @__PURE__ */ s(Y, { placeholder: "Sort by", options: z, onValueChange: d, className: "min-w-[140px]" }), e[29] = z, e[30] = d, e[31] = h) : h = e[31];
99
+ let p;
100
+ e[32] !== t.dateFrom || e[33] !== t.dateTo || e[34] !== a || e[35] !== b || e[36] !== S || e[37] !== X || e[38] !== _ || e[39] !== B ? (p = B && /* @__PURE__ */ N(le, { children: [
101
+ /* @__PURE__ */ s(W, { placeholder: "From date", value: t.dateFrom, onSelect: (o) => {
102
+ a("dateFrom", o), Q(o ?? b);
103
+ }, className: "min-w-[140px]", open: X, onOpenChange: ee, month: b, onMonthChange: Q }),
104
+ /* @__PURE__ */ s(W, { placeholder: "To date", value: t.dateTo, onSelect: (o) => {
105
+ a("dateTo", o), R(o ?? S);
106
+ }, className: "min-w-[140px]", open: _, onOpenChange: te, month: S, onMonthChange: R })
107
+ ] }), e[32] = t.dateFrom, e[33] = t.dateTo, e[34] = a, e[35] = b, e[36] = S, e[37] = X, e[38] = _, e[39] = B, e[40] = p) : p = e[40];
108
+ let f;
109
+ e[41] !== $ || e[42] !== q ? (f = q && /* @__PURE__ */ N(re, { variant: "outline", size: "small", onClick: $, className: "flex items-center gap-1", children: [
110
+ /* @__PURE__ */ s(ne, { className: "h-3 w-3" }),
111
+ "Clear"
112
+ ] }), e[41] = $, e[42] = q, e[43] = f) : f = e[43];
113
+ let g;
114
+ e[44] !== m || e[45] !== h || e[46] !== p || e[47] !== f ? (g = /* @__PURE__ */ N("div", { className: "flex flex-wrap items-center gap-4", children: [
115
+ k,
116
+ m,
117
+ h,
118
+ p,
119
+ f
120
+ ] }), e[44] = m, e[45] = h, e[46] = p, e[47] = f, e[48] = g) : g = e[48];
121
+ let A;
122
+ return e[49] !== n || e[50] !== c || e[51] !== g ? (A = /* @__PURE__ */ N("div", { className: n, children: [
123
+ c,
124
+ g
125
+ ] }), e[49] = n, e[50] = c, e[51] = g, e[52] = A) : A = e[52], A;
126
+ };
127
+ function he(w) {
128
+ return w !== "" && w !== void 0;
129
+ }
130
+ export {
131
+ xe as SearchFilterSection
132
+ };
@@ -0,0 +1,77 @@
1
+ "use client";
2
+ import { jsx as o, jsxs as I } from "react/jsx-runtime";
3
+ import { c as z } from "react-compiler-runtime";
4
+ import { Mail as G, User as H } from "lucide-react";
5
+ import { useState as r } from "react";
6
+ import { cn as J } from "../../../../lib/utils.js";
7
+ import { LabeledInput as U } from "../inputs/labeled-input.js";
8
+ import { PasswordInput as _ } from "../inputs/password-input.js";
9
+ import { DatePickerField as K } from "../pickers/date-picker-field.js";
10
+ import { SelectField as Q } from "../pickers/select-field.js";
11
+ const W = [{
12
+ value: "personal",
13
+ label: "Personal Account"
14
+ }, {
15
+ value: "business",
16
+ label: "Business Account"
17
+ }, {
18
+ value: "developer",
19
+ label: "Developer Account"
20
+ }];
21
+ function le(j) {
22
+ const e = z(43), {
23
+ className: D,
24
+ showDateOfBirth: q,
25
+ accountTypes: N,
26
+ onValueChange: t
27
+ } = j, T = q === void 0 ? !0 : q, g = N === void 0 ? W : N, [l, E] = r(), [x, F] = r(!1), [B, k] = r(!1), [O, L] = r(!1);
28
+ let b;
29
+ e[0] !== l ? (b = l ?? /* @__PURE__ */ new Date(), e[0] = l, e[1] = b) : b = e[1];
30
+ const [P, C] = r(b), [A, R] = r(""), [M, $] = r("");
31
+ let a;
32
+ e[2] !== D ? (a = J("space-y-4", D), e[2] = D, e[3] = a) : a = e[3];
33
+ let i;
34
+ e[4] !== t ? (i = /* @__PURE__ */ o(U, { label: "Username", placeholder: "Choose a username", helperText: "Must be at least 3 characters long", required: !0, onChange: (s) => t == null ? void 0 : t("username", s.target.value) }), e[4] = t, e[5] = i) : i = e[5];
35
+ let y;
36
+ e[6] === Symbol.for("react.memo_cache_sentinel") ? (y = /* @__PURE__ */ o(G, { className: "h-4 w-4" }), e[6] = y) : y = e[6];
37
+ let c;
38
+ e[7] !== t ? (c = /* @__PURE__ */ o(U, { label: "Email Address", type: "email", placeholder: "Enter your email", leftIcon: y, required: !0, onChange: (s) => t == null ? void 0 : t("email", s.target.value) }), e[7] = t, e[8] = c) : c = e[8];
39
+ let n;
40
+ e[9] !== t ? (n = (s) => {
41
+ R(s), t == null || t("password", s);
42
+ }, e[9] = t, e[10] = n) : n = e[10];
43
+ let f;
44
+ e[11] !== A || e[12] !== x || e[13] !== n ? (f = /* @__PURE__ */ o(_, { label: "Password", helperText: "Must be at least 8 characters", required: !0, value: A, onChange: n, showPassword: x, onShowPasswordChange: F }), e[11] = A, e[12] = x, e[13] = n, e[14] = f) : f = e[14];
45
+ let m;
46
+ e[15] !== t ? (m = (s) => {
47
+ $(s), t == null || t("confirmPassword", s);
48
+ }, e[15] = t, e[16] = m) : m = e[16];
49
+ let d;
50
+ e[17] !== M || e[18] !== B || e[19] !== m ? (d = /* @__PURE__ */ o(_, { label: "Confirm Password", placeholder: "Confirm your password", required: !0, value: M, onChange: m, showPassword: B, onShowPasswordChange: k }), e[17] = M, e[18] = B, e[19] = m, e[20] = d) : d = e[20];
51
+ let p;
52
+ e[21] !== d || e[22] !== f ? (p = /* @__PURE__ */ I("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
53
+ f,
54
+ d
55
+ ] }), e[21] = d, e[22] = f, e[23] = p) : p = e[23];
56
+ let v;
57
+ e[24] === Symbol.for("react.memo_cache_sentinel") ? (v = /* @__PURE__ */ o(H, { className: "h-4 w-4" }), e[24] = v) : v = e[24];
58
+ let u;
59
+ e[25] !== t ? (u = (s) => t == null ? void 0 : t("accountType", s), e[25] = t, e[26] = u) : u = e[26];
60
+ let h;
61
+ e[27] !== g || e[28] !== u ? (h = /* @__PURE__ */ o(Q, { label: "Account Type", placeholder: "Select account type", options: g, leadingIcon: v, required: !0, onValueChange: u }), e[27] = g, e[28] = u, e[29] = h) : h = e[29];
62
+ let w;
63
+ e[30] !== l || e[31] !== P || e[32] !== t || e[33] !== O || e[34] !== T ? (w = T && /* @__PURE__ */ o(K, { label: "Date of Birth", placeholder: "Select your birth date", helperText: "Must be 18 or older", value: l, maxDate: /* @__PURE__ */ new Date(), onSelect: (s) => {
64
+ E(s), C(s ?? P), s && (t == null || t("dateOfBirth", s));
65
+ }, open: O, onOpenChange: L, month: P, onMonthChange: C }), e[30] = l, e[31] = P, e[32] = t, e[33] = O, e[34] = T, e[35] = w) : w = e[35];
66
+ let S;
67
+ return e[36] !== p || e[37] !== h || e[38] !== w || e[39] !== a || e[40] !== i || e[41] !== c ? (S = /* @__PURE__ */ I("div", { className: a, children: [
68
+ i,
69
+ c,
70
+ p,
71
+ h,
72
+ w
73
+ ] }), e[36] = p, e[37] = h, e[38] = w, e[39] = a, e[40] = i, e[41] = c, e[42] = S) : S = e[42], S;
74
+ }
75
+ export {
76
+ le as UserRegistrationSection
77
+ };
@@ -0,0 +1,69 @@
1
+ "use client";
2
+ import { jsx as $, jsxs as R } from "react/jsx-runtime";
3
+ import { c as F } from "react-compiler-runtime";
4
+ import z from "react";
5
+ import { cn as S } from "../../../../lib/utils.js";
6
+ const B = z.forwardRef((k, A) => {
7
+ const e = F(45);
8
+ let d, l, t, r, i, s, n, a, c, o;
9
+ e[0] !== k ? ({
10
+ className: d,
11
+ label: s,
12
+ helperText: r,
13
+ error: t,
14
+ startAdornment: o,
15
+ endAdornment: l,
16
+ required: c,
17
+ id: i,
18
+ onInput: n,
19
+ ...a
20
+ } = k, e[0] = k, e[1] = d, e[2] = l, e[3] = t, e[4] = r, e[5] = i, e[6] = s, e[7] = n, e[8] = a, e[9] = c, e[10] = o) : (d = e[1], l = e[2], t = e[3], r = e[4], i = e[5], s = e[6], n = e[7], a = e[8], c = e[9], o = e[10]);
21
+ const v = !!t;
22
+ let I;
23
+ e[11] !== i ? (I = i || `currency-input-${Math.random().toString(36).substr(2, 9)}`, e[11] = i, e[12] = I) : I = e[12];
24
+ const u = I;
25
+ let _;
26
+ e[13] !== n ? (_ = (T) => {
27
+ var E;
28
+ const q = T.currentTarget;
29
+ let y = q.value;
30
+ y = y.replace(/[^0-9.]/g, "");
31
+ const N = y.split(".");
32
+ N.length > 2 && (y = `${N[0]}.${N.slice(1).join("")}`), ((E = N[1]) == null ? void 0 : E.length) > 2 && (y = `${N[0]}.${N[1].substring(0, 2)}`), q.value = y, n && n(T);
33
+ }, e[13] = n, e[14] = _) : _ = e[14];
34
+ const C = _;
35
+ let m;
36
+ e[15] !== u || e[16] !== s || e[17] !== c ? (m = s && /* @__PURE__ */ R("label", { htmlFor: u, className: "text-sm font-medium text-gray-700", children: [
37
+ s,
38
+ c && /* @__PURE__ */ $("span", { className: "text-red-500 ml-1", children: "*" })
39
+ ] }), e[15] = u, e[16] = s, e[17] = c, e[18] = m) : m = e[18];
40
+ const M = v ? "border-destructive" : "border-input";
41
+ let p;
42
+ e[19] !== d || e[20] !== M ? (p = S("flex items-center h-10 w-full rounded-md border bg-background text-sm ring-offset-background disabled:cursor-not-allowed disabled:opacity-50", M, d), e[19] = d, e[20] = M, e[21] = p) : p = e[21];
43
+ let f;
44
+ e[22] !== o ? (f = o && /* @__PURE__ */ $("span", { className: "px-3 text-sm text-muted-foreground", children: o }), e[22] = o, e[23] = f) : f = e[23];
45
+ let j;
46
+ e[24] === Symbol.for("react.memo_cache_sentinel") ? (j = S("flex-1 px-3 py-2 rounded-md placeholder:text-muted-foreground focus:outline-none disabled:opacity-50"), e[24] = j) : j = e[24];
47
+ let x;
48
+ e[25] !== C || e[26] !== u || e[27] !== a || e[28] !== A ? (x = /* @__PURE__ */ $("input", { id: u, type: "text", inputMode: "decimal", pattern: "^\\d+(\\.\\d{0,2})?$", className: j, ref: A, onInput: C, ...a }), e[25] = C, e[26] = u, e[27] = a, e[28] = A, e[29] = x) : x = e[29];
49
+ let h;
50
+ e[30] !== l ? (h = l && /* @__PURE__ */ $("span", { className: "px-3 text-sm text-muted-foreground", children: l }), e[30] = l, e[31] = h) : h = e[31];
51
+ let g;
52
+ e[32] !== p || e[33] !== f || e[34] !== x || e[35] !== h ? (g = /* @__PURE__ */ R("div", { className: p, children: [
53
+ f,
54
+ x,
55
+ h
56
+ ] }), e[32] = p, e[33] = f, e[34] = x, e[35] = h, e[36] = g) : g = e[36];
57
+ let b;
58
+ e[37] !== t || e[38] !== v || e[39] !== r ? (b = (r || t) && /* @__PURE__ */ $("span", { className: S("text-xs", v ? "text-red-500" : "text-muted-foreground"), children: t || r }), e[37] = t, e[38] = v, e[39] = r, e[40] = b) : b = e[40];
59
+ let w;
60
+ return e[41] !== g || e[42] !== b || e[43] !== m ? (w = /* @__PURE__ */ R("div", { className: "flex flex-col space-y-1", children: [
61
+ m,
62
+ g,
63
+ b
64
+ ] }), e[41] = g, e[42] = b, e[43] = m, e[44] = w) : w = e[44], w;
65
+ });
66
+ B.displayName = "CurrencyInput";
67
+ export {
68
+ B as CurrencyInput
69
+ };
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ import { jsx as n } from "react/jsx-runtime";
3
+ import { c as o } from "react-compiler-runtime";
4
+ function l(c) {
5
+ const e = o(2), {
6
+ src: i
7
+ } = c;
8
+ let t;
9
+ return e[0] !== i ? (t = /* @__PURE__ */ n("div", { className: "flex flex-col items-center justify-center h-screen w-full bg-white", children: /* @__PURE__ */ n("img", { src: i, alt: "Loading animation", className: "w-32 h-32 object-contain" }) }), e[0] = i, e[1] = t) : t = e[1], t;
10
+ }
11
+ export {
12
+ l as DoctAnimationLoader
13
+ };
@@ -0,0 +1,115 @@
1
+ "use client";
2
+ import { jsx as s, jsxs as ie } from "react/jsx-runtime";
3
+ import { c as fe } from "react-compiler-runtime";
4
+ import { Collapsible as P } from "@base-ui/react/collapsible";
5
+ import { ChevronDown as me } from "lucide-react";
6
+ import * as T from "react";
7
+ import { cn as R } from "../../../lib/utils.js";
8
+ import { DoctTypography as ne } from "../../ui/typography.js";
9
+ function Ce(d) {
10
+ const e = fe(75), {
11
+ title: A,
12
+ content: B,
13
+ defaultOpen: y,
14
+ open: H,
15
+ onOpenChange: I,
16
+ className: J,
17
+ titleTypographyProps: l,
18
+ contentTypographyProps: i,
19
+ animationDuration: p,
20
+ disabled: ee,
21
+ clickableArea: le
22
+ } = d, ae = y === void 0 ? !1 : y, L = p === void 0 ? 200 : p, n = ee === void 0 ? !1 : ee, t = le === void 0 ? "full" : le, [te, de] = T.useState(ae), a = H !== void 0 ? H : te;
23
+ let V;
24
+ e[0] !== H || e[1] !== I ? (V = (o) => {
25
+ H === void 0 && de(o), I == null || I(o);
26
+ }, e[0] = H, e[1] = I, e[2] = V) : V = e[2];
27
+ const c = V;
28
+ let S;
29
+ e[3] !== n || e[4] !== c || e[5] !== a ? (S = () => {
30
+ n || c(!a);
31
+ }, e[3] = n, e[4] = c, e[5] = a, e[6] = S) : S = e[6];
32
+ const f = S;
33
+ let q;
34
+ e[7] !== t || e[8] !== f ? (q = () => {
35
+ (t === "header" || t === "full") && f();
36
+ }, e[7] = t, e[8] = f, e[9] = q) : q = e[9];
37
+ const M = q, se = ve;
38
+ let z;
39
+ e[10] !== f ? (z = (o) => {
40
+ (o.key === "Enter" || o.key === " ") && (o.preventDefault(), f());
41
+ }, e[10] = f, e[11] = z) : z = e[11];
42
+ const Q = z, ce = ue, U = n && "opacity-50 cursor-not-allowed";
43
+ let m;
44
+ e[12] !== J || e[13] !== U ? (m = R("rounded-md border", U, J), e[12] = J, e[13] = U, e[14] = m) : m = e[14];
45
+ const W = (t === "header" || t === "full") && !n && "cursor-pointer hover:bg-accent/50 transition-colors";
46
+ let u;
47
+ e[15] !== W ? (u = R("flex items-center justify-between p-4", W), e[15] = W, e[16] = u) : u = e[16];
48
+ let v;
49
+ e[17] !== t || e[18] !== n || e[19] !== M || e[20] !== Q || e[21] !== a ? (v = t === "header" || t === "full" ? {
50
+ onClick: M,
51
+ onKeyDown: Q,
52
+ role: "button",
53
+ tabIndex: n ? void 0 : 0,
54
+ "aria-expanded": a,
55
+ "aria-disabled": n
56
+ } : {
57
+ role: "region"
58
+ }, e[17] = t, e[18] = n, e[19] = M, e[20] = Q, e[21] = a, e[22] = v) : v = e[22];
59
+ let b;
60
+ e[23] !== A || e[24] !== (l == null ? void 0 : l.align) || e[25] !== (l == null ? void 0 : l.className) || e[26] !== (l == null ? void 0 : l.color) || e[27] !== (l == null ? void 0 : l.variant) || e[28] !== (l == null ? void 0 : l.weight) ? (b = T.isValidElement(A) ? A : /* @__PURE__ */ s(ne, { variant: (l == null ? void 0 : l.variant) ?? "h6", weight: (l == null ? void 0 : l.weight) ?? "semiBold", align: l == null ? void 0 : l.align, color: l == null ? void 0 : l.color, className: l == null ? void 0 : l.className, children: A }), e[23] = A, e[24] = l == null ? void 0 : l.align, e[25] = l == null ? void 0 : l.className, e[26] = l == null ? void 0 : l.color, e[27] = l == null ? void 0 : l.variant, e[28] = l == null ? void 0 : l.weight, e[29] = b) : b = e[29];
61
+ const X = n && "cursor-not-allowed";
62
+ let w;
63
+ e[30] !== X ? (w = R("transition-transform rounded p-1 hover:bg-accent focus:outline-none focus:ring-2 focus:ring-ring", X), e[30] = X, e[31] = w) : w = e[31];
64
+ const Y = `${L}ms`;
65
+ let N;
66
+ e[32] !== Y ? (N = {
67
+ transitionDuration: Y
68
+ }, e[32] = Y, e[33] = N) : N = e[33];
69
+ const Z = a ? "Collapse" : "Expand";
70
+ let D;
71
+ e[34] !== n || e[35] !== w || e[36] !== N || e[37] !== Z ? (D = /* @__PURE__ */ s("button", { type: "button", onClick: se, onKeyDown: ce, disabled: n, className: w, style: N, "aria-label": Z }), e[34] = n, e[35] = w, e[36] = N, e[37] = Z, e[38] = D) : D = e[38];
72
+ const _ = a && "rotate-180";
73
+ let k;
74
+ e[39] !== _ ? (k = R("h-5 w-5 transition-transform", _), e[39] = _, e[40] = k) : k = e[40];
75
+ const r = `${L}ms`;
76
+ let x;
77
+ e[41] !== r ? (x = {
78
+ transitionDuration: r
79
+ }, e[41] = r, e[42] = x) : x = e[42];
80
+ let C;
81
+ e[43] !== k || e[44] !== x ? (C = /* @__PURE__ */ s(me, { className: k, style: x }), e[43] = k, e[44] = x, e[45] = C) : C = e[45];
82
+ let E;
83
+ e[46] !== D || e[47] !== C ? (E = /* @__PURE__ */ s(P.Trigger, { render: D, children: C }), e[46] = D, e[47] = C, e[48] = E) : E = e[48];
84
+ let O;
85
+ e[49] !== u || e[50] !== v || e[51] !== b || e[52] !== E ? (O = /* @__PURE__ */ ie("div", { className: u, ...v, children: [
86
+ b,
87
+ E
88
+ ] }), e[49] = u, e[50] = v, e[51] = b, e[52] = E, e[53] = O) : O = e[53];
89
+ const g = `${L}ms`;
90
+ let F;
91
+ e[54] !== g ? (F = {
92
+ "--collapsible-duration": g
93
+ }, e[54] = g, e[55] = F) : F = e[55];
94
+ const h = F;
95
+ let K;
96
+ e[56] !== B || e[57] !== (i == null ? void 0 : i.align) || e[58] !== (i == null ? void 0 : i.className) || e[59] !== (i == null ? void 0 : i.color) || e[60] !== (i == null ? void 0 : i.variant) || e[61] !== (i == null ? void 0 : i.weight) ? (K = T.isValidElement(B) ? B : /* @__PURE__ */ s(ne, { variant: (i == null ? void 0 : i.variant) ?? "body2", weight: (i == null ? void 0 : i.weight) ?? "regular", align: i == null ? void 0 : i.align, color: i == null ? void 0 : i.color, className: R("text-muted-foreground", i == null ? void 0 : i.className), children: B }), e[56] = B, e[57] = i == null ? void 0 : i.align, e[58] = i == null ? void 0 : i.className, e[59] = i == null ? void 0 : i.color, e[60] = i == null ? void 0 : i.variant, e[61] = i == null ? void 0 : i.weight, e[62] = K) : K = e[62];
97
+ let $;
98
+ e[63] !== K ? ($ = /* @__PURE__ */ s("div", { className: "px-4 pb-4", children: K }), e[63] = K, e[64] = $) : $ = e[64];
99
+ let j;
100
+ e[65] !== h || e[66] !== $ ? (j = /* @__PURE__ */ s(P.Panel, { className: "overflow-hidden data-[closed]:animate-collapsible-up data-[open]:animate-collapsible-down", style: h, children: $ }), e[65] = h, e[66] = $, e[67] = j) : j = e[67];
101
+ let G;
102
+ return e[68] !== n || e[69] !== c || e[70] !== a || e[71] !== m || e[72] !== O || e[73] !== j ? (G = /* @__PURE__ */ ie(P.Root, { open: a, onOpenChange: c, disabled: n, className: m, children: [
103
+ O,
104
+ j
105
+ ] }), e[68] = n, e[69] = c, e[70] = a, e[71] = m, e[72] = O, e[73] = j, e[74] = G) : G = e[74], G;
106
+ }
107
+ function ue(d) {
108
+ (d.key === "Enter" || d.key === " ") && d.stopPropagation();
109
+ }
110
+ function ve(d) {
111
+ d.stopPropagation();
112
+ }
113
+ export {
114
+ Ce as ExpandableCard
115
+ };
@@ -0,0 +1,35 @@
1
+ "use client";
2
+ import { jsx as d } from "react/jsx-runtime";
3
+ import { c as P } from "react-compiler-runtime";
4
+ import * as h from "react";
5
+ import { cn as b } from "../../../../lib/utils.js";
6
+ import { FooterDesktop as v } from "./footer-desktop.js";
7
+ import { FooterMobile as C } from "./footer-mobile.js";
8
+ import { getConsumerFooterColumns as w, getConsumerFooterPlatformPolicies as E, getConsumerFooterEnterprisePolicies as M, consumerFooterCopyrightText as x, consumerFooterBrand as y } from "./presets.js";
9
+ const l = 1024;
10
+ function T() {
11
+ const o = P(2), [i, r] = h.useState(void 0);
12
+ let e, t;
13
+ return o[0] === Symbol.for("react.memo_cache_sentinel") ? (e = () => {
14
+ const s = window.matchMedia(`(max-width: ${l - 1}px)`), n = () => r(window.innerWidth < l);
15
+ return s.addEventListener("change", n), r(window.innerWidth < l), () => s.removeEventListener("change", n);
16
+ }, t = [], o[0] = e, o[1] = t) : (e = o[0], t = o[1]), h.useEffect(e, t), !!i;
17
+ }
18
+ function R({
19
+ brand: o,
20
+ columns: i,
21
+ platformPolicies: r,
22
+ enterprisePolicies: e,
23
+ copyrightText: t,
24
+ className: s,
25
+ isMobileOverride: n
26
+ }) {
27
+ "use no memo";
28
+ const g = T(), F = n ?? g, m = o ?? y, c = i ?? w(), a = r ?? E(), u = e ?? M(), f = t ?? x;
29
+ if (!c.length) return null;
30
+ const p = b("w-full", s);
31
+ return F ? /* @__PURE__ */ d(C, { brand: m, columns: c, platformPolicies: a, enterprisePolicies: u, copyrightText: f, className: p }) : /* @__PURE__ */ d(v, { brand: m, columns: c, platformPolicies: a, enterprisePolicies: u, copyrightText: f, className: p });
32
+ }
33
+ export {
34
+ R as DoctFooter
35
+ };
@@ -0,0 +1,92 @@
1
+ "use client";
2
+ import { jsx as s, jsxs as u } from "react/jsx-runtime";
3
+ import { c as v } from "react-compiler-runtime";
4
+ import * as P from "react";
5
+ import { DoctTypography as F } from "../../../ui/typography.js";
6
+ import { cn as I } from "../../../../lib/utils.js";
7
+ import { FooterBrandBlock as L, FooterCopyright as B, FooterNavLink as R, SeeAllLinkList as T } from "./footer-shared.js";
8
+ function q(c) {
9
+ const e = v(28), {
10
+ brand: t,
11
+ columns: o,
12
+ platformPolicies: a,
13
+ enterprisePolicies: l,
14
+ copyrightText: i,
15
+ className: n
16
+ } = c, [k, A] = P.useState(null);
17
+ if (!o.length)
18
+ return null;
19
+ let r;
20
+ e[0] !== n ? (r = I("mt-auto w-full border-t border-black/8 bg-[#F5FBFD]", n), e[0] = n, e[1] = r) : r = e[1];
21
+ let d;
22
+ e[2] !== t ? (d = /* @__PURE__ */ s("div", { className: "min-w-[175px] flex-[1.2] xl:min-w-[175px]", children: /* @__PURE__ */ s(L, { brand: t, variant: "desktop" }) }), e[2] = t, e[3] = d) : d = e[3];
23
+ let f;
24
+ if (e[4] !== o || e[5] !== k) {
25
+ let g;
26
+ e[7] !== k ? (g = (y) => /* @__PURE__ */ s("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ s("div", { className: "flex flex-col gap-5 pb-4", children: y.sections.map((w, C) => /* @__PURE__ */ s("div", { className: I(C > 0 && "border-t border-black/8 pt-4"), children: /* @__PURE__ */ s(V, { section: w, expandedSeeAllSectionId: k, onSeeAllExpandChange: A }) }, w.id)) }) }, y.id), e[7] = k, e[8] = g) : g = e[8], f = o.map(g), e[4] = o, e[5] = k, e[6] = f;
27
+ } else
28
+ f = e[6];
29
+ let p;
30
+ e[9] !== d || e[10] !== f ? (p = /* @__PURE__ */ u("div", { className: "flex gap-4 py-6 xl:gap-6", children: [
31
+ d,
32
+ f
33
+ ] }), e[9] = d, e[10] = f, e[11] = p) : p = e[11];
34
+ let m;
35
+ e[12] !== a ? (m = /* @__PURE__ */ s(E, { title: "PLATFORM POLICIES", policies: a }), e[12] = a, e[13] = m) : m = e[13];
36
+ let x;
37
+ e[14] !== l ? (x = /* @__PURE__ */ s(E, { title: "ENTERPRISE POLICIES", policies: l }), e[14] = l, e[15] = x) : x = e[15];
38
+ let h;
39
+ e[16] !== m || e[17] !== x ? (h = /* @__PURE__ */ u("div", { className: "flex items-start justify-between border-t border-black/8 py-4", children: [
40
+ m,
41
+ x
42
+ ] }), e[16] = m, e[17] = x, e[18] = h) : h = e[18];
43
+ let b;
44
+ e[19] !== i ? (b = /* @__PURE__ */ s(B, { text: i, isMobile: !1, className: "py-2" }), e[19] = i, e[20] = b) : b = e[20];
45
+ let N;
46
+ e[21] !== p || e[22] !== h || e[23] !== b ? (N = /* @__PURE__ */ u("div", { className: "mx-auto w-full max-w-[1160px]", children: [
47
+ p,
48
+ h,
49
+ b
50
+ ] }), e[21] = p, e[22] = h, e[23] = b, e[24] = N) : N = e[24];
51
+ let S;
52
+ return e[25] !== r || e[26] !== N ? (S = /* @__PURE__ */ s("footer", { className: r, children: N }), e[25] = r, e[26] = N, e[27] = S) : S = e[27], S;
53
+ }
54
+ function V(c) {
55
+ const e = v(11), {
56
+ section: t,
57
+ expandedSeeAllSectionId: o,
58
+ onSeeAllExpandChange: a
59
+ } = c;
60
+ let l;
61
+ e[0] !== t.title ? (l = /* @__PURE__ */ s(F, { variant: "body3", weight: "bold", className: "px-1.5 py-2.5 mb-1 !text-[#313233]", children: t.title }), e[0] = t.title, e[1] = l) : l = e[1];
62
+ let i;
63
+ e[2] !== o || e[3] !== a || e[4] !== t.id || e[5] !== t.links || e[6] !== t.sectionVariant ? (i = /* @__PURE__ */ s(T, { links: t.links, sectionVariant: t.sectionVariant, linkClassName: "text-black/68", sectionId: t.id, expandedSectionId: o, onExpandChange: a }), e[2] = o, e[3] = a, e[4] = t.id, e[5] = t.links, e[6] = t.sectionVariant, e[7] = i) : i = e[7];
64
+ let n;
65
+ return e[8] !== l || e[9] !== i ? (n = /* @__PURE__ */ u("div", { className: "flex flex-col", children: [
66
+ l,
67
+ i
68
+ ] }), e[8] = l, e[9] = i, e[10] = n) : n = e[10], n;
69
+ }
70
+ function E(c) {
71
+ const e = v(9), {
72
+ title: t,
73
+ policies: o
74
+ } = c;
75
+ let a;
76
+ e[0] !== t ? (a = /* @__PURE__ */ s(F, { variant: "body3", weight: "bold", className: "py-2 !text-[#313233]", children: t }), e[0] = t, e[1] = a) : a = e[1];
77
+ let l;
78
+ e[2] !== o ? (l = o.map(j), e[2] = o, e[3] = l) : l = e[3];
79
+ let i;
80
+ e[4] !== l ? (i = /* @__PURE__ */ s("div", { className: "flex flex-wrap items-start gap-6", children: l }), e[4] = l, e[5] = i) : i = e[5];
81
+ let n;
82
+ return e[6] !== a || e[7] !== i ? (n = /* @__PURE__ */ u("div", { className: "flex flex-col items-start", children: [
83
+ a,
84
+ i
85
+ ] }), e[6] = a, e[7] = i, e[8] = n) : n = e[8], n;
86
+ }
87
+ function j(c) {
88
+ return /* @__PURE__ */ s(R, { link: c, className: "px-0 py-1 text-black/56" }, c.id);
89
+ }
90
+ export {
91
+ q as FooterDesktop
92
+ };