@tpc-mare/mare-ui-components-react 0.0.1

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 (137) hide show
  1. package/dist/.storybook/main.d.ts +3 -0
  2. package/dist/.storybook/manager.d.ts +1 -0
  3. package/dist/.storybook/preview.d.ts +3 -0
  4. package/dist/avatar/Avatar.d.ts +2 -0
  5. package/dist/avatar/Avatar.types.d.ts +26 -0
  6. package/dist/avatar/index.d.ts +2 -0
  7. package/dist/avatar/index.js +4 -0
  8. package/dist/badge/Badge.d.ts +2 -0
  9. package/dist/badge/Badge.types.d.ts +11 -0
  10. package/dist/badge/index.d.ts +2 -0
  11. package/dist/badge/index.js +4 -0
  12. package/dist/button/Button.d.ts +2 -0
  13. package/dist/button/Button.types.d.ts +18 -0
  14. package/dist/button/index.d.ts +2 -0
  15. package/dist/button/index.js +4 -0
  16. package/dist/checkbox/Checkbox.d.ts +2 -0
  17. package/dist/checkbox/Checkbox.types.d.ts +69 -0
  18. package/dist/checkbox/index.d.ts +2 -0
  19. package/dist/checkbox/index.js +4 -0
  20. package/dist/combobox/Combobox.d.ts +13 -0
  21. package/dist/combobox/Combobox.types.d.ts +16 -0
  22. package/dist/combobox/index.d.ts +2 -0
  23. package/dist/combobox/index.js +4 -0
  24. package/dist/date-picker/DatePicker.d.ts +3 -0
  25. package/dist/date-picker/DatePicker.types.d.ts +52 -0
  26. package/dist/date-picker/index.d.ts +2 -0
  27. package/dist/date-picker/index.js +4 -0
  28. package/dist/dialog/Dialog.d.ts +2 -0
  29. package/dist/dialog/Dialog.types.d.ts +55 -0
  30. package/dist/dialog/DialogFooter.d.ts +2 -0
  31. package/dist/dialog/DialogHeader.d.ts +2 -0
  32. package/dist/dialog/index.d.ts +4 -0
  33. package/dist/dialog/index.js +6 -0
  34. package/dist/drawer/Drawer.d.ts +2 -0
  35. package/dist/drawer/Drawer.types.d.ts +53 -0
  36. package/dist/drawer/DrawerFooter.d.ts +2 -0
  37. package/dist/drawer/DrawerHeader.d.ts +2 -0
  38. package/dist/drawer/index.d.ts +4 -0
  39. package/dist/drawer/index.js +6 -0
  40. package/dist/index/index.d.ts +44 -0
  41. package/dist/index/index.js +57 -0
  42. package/dist/input-number/InputNumber.d.ts +2 -0
  43. package/dist/input-number/InputNumber.types.d.ts +30 -0
  44. package/dist/input-number/index.d.ts +2 -0
  45. package/dist/input-number/index.js +4 -0
  46. package/dist/input-text/CharacterCount.d.ts +5 -0
  47. package/dist/input-text/FloatLabel.d.ts +6 -0
  48. package/dist/input-text/FormField.d.ts +8 -0
  49. package/dist/input-text/HelperText.d.ts +4 -0
  50. package/dist/input-text/IconField.d.ts +16 -0
  51. package/dist/input-text/InputText.d.ts +2 -0
  52. package/dist/input-text/InputText.types.d.ts +14 -0
  53. package/dist/input-text/field-layout.d.ts +12 -0
  54. package/dist/input-text/index.d.ts +11 -0
  55. package/dist/input-text/index.js +10 -0
  56. package/dist/menu/Menu.d.ts +2 -0
  57. package/dist/menu/Menu.types.d.ts +19 -0
  58. package/dist/menu/index.d.ts +2 -0
  59. package/dist/menu/index.js +4 -0
  60. package/dist/panel-menu/PanelMenu.d.ts +2 -0
  61. package/dist/panel-menu/PanelMenu.types.d.ts +12 -0
  62. package/dist/panel-menu/index.d.ts +2 -0
  63. package/dist/panel-menu/index.js +4 -0
  64. package/dist/progress-spinner/ProgressSpinner.d.ts +10 -0
  65. package/dist/progress-spinner/index.d.ts +2 -0
  66. package/dist/progress-spinner/index.js +4 -0
  67. package/dist/radio-group/RadioGroup.d.ts +2 -0
  68. package/dist/radio-group/RadioGroup.types.d.ts +62 -0
  69. package/dist/radio-group/index.d.ts +2 -0
  70. package/dist/radio-group/index.js +4 -0
  71. package/dist/search-field/SearchField.d.ts +2 -0
  72. package/dist/search-field/SearchField.types.d.ts +26 -0
  73. package/dist/search-field/index.d.ts +2 -0
  74. package/dist/search-field/index.js +4 -0
  75. package/dist/select-field/SelectField.d.ts +14 -0
  76. package/dist/select-field/SelectField.types.d.ts +11 -0
  77. package/dist/select-field/index.d.ts +2 -0
  78. package/dist/select-field/index.js +4 -0
  79. package/dist/shared/Avatar-D3QlO3Tz.js +59 -0
  80. package/dist/shared/Badge-WC6my4Aw.js +35 -0
  81. package/dist/shared/Button-AfMqNCme.js +177 -0
  82. package/dist/shared/Checkbox-Ci1b59K1.js +134 -0
  83. package/dist/shared/Combobox-DZ5SgSv6.js +134 -0
  84. package/dist/shared/DatePicker-BMl0szfL.js +856 -0
  85. package/dist/shared/DialogFooter-Bg3hz6fh.js +154 -0
  86. package/dist/shared/DrawerFooter-COA137vD.js +172 -0
  87. package/dist/shared/HelperText-CVWWvLCI.js +46 -0
  88. package/dist/shared/IconField-Dh6j6SL1.js +78 -0
  89. package/dist/shared/InputNumber-D48wsE-o.js +62 -0
  90. package/dist/shared/Menu-Cv9dU1iA.js +104 -0
  91. package/dist/shared/PanelMenu-5A9LgcGR.js +123 -0
  92. package/dist/shared/ProgressSpinner-B-lrS-tu.js +35 -0
  93. package/dist/shared/RadioGroup-lw27DCoV.js +133 -0
  94. package/dist/shared/SearchField-CuQ0cXOZ.js +63 -0
  95. package/dist/shared/SelectField-D6OlgFYy.js +118 -0
  96. package/dist/shared/Snackbar-C29nLHO9.js +100 -0
  97. package/dist/shared/Stepper-BGKHXl-b.js +110 -0
  98. package/dist/shared/Switch-D6E2OmgE.js +104 -0
  99. package/dist/shared/Tabs-BqIorZYD.js +66 -0
  100. package/dist/shared/Tag-BtbmgIwL.js +36 -0
  101. package/dist/shared/Textarea-iJhYTZos.js +40 -0
  102. package/dist/shared/field-layout-D34MpDMB.js +53 -0
  103. package/dist/shared/icons-_QeAcImG.js +44 -0
  104. package/dist/shared/icons.d.ts +11 -0
  105. package/dist/shared/useMediaQuery.d.ts +5 -0
  106. package/dist/snackbar/Snackbar.d.ts +3 -0
  107. package/dist/snackbar/Snackbar.types.d.ts +42 -0
  108. package/dist/snackbar/index.d.ts +2 -0
  109. package/dist/snackbar/index.js +5 -0
  110. package/dist/stepper/Stepper.d.ts +2 -0
  111. package/dist/stepper/Stepper.types.d.ts +18 -0
  112. package/dist/stepper/index.d.ts +2 -0
  113. package/dist/stepper/index.js +4 -0
  114. package/dist/styles.css +1 -0
  115. package/dist/switch/Switch.d.ts +2 -0
  116. package/dist/switch/Switch.types.d.ts +59 -0
  117. package/dist/switch/index.d.ts +2 -0
  118. package/dist/switch/index.js +4 -0
  119. package/dist/tabs/Tabs.d.ts +10 -0
  120. package/dist/tabs/Tabs.types.d.ts +7 -0
  121. package/dist/tabs/index.d.ts +2 -0
  122. package/dist/tabs/index.js +4 -0
  123. package/dist/tag/Tag.d.ts +2 -0
  124. package/dist/tag/Tag.types.d.ts +11 -0
  125. package/dist/tag/index.d.ts +2 -0
  126. package/dist/tag/index.js +4 -0
  127. package/dist/textarea/Textarea.d.ts +2 -0
  128. package/dist/textarea/Textarea.types.d.ts +15 -0
  129. package/dist/textarea/index.d.ts +2 -0
  130. package/dist/textarea/index.js +4 -0
  131. package/dist/themes/baglioni-resorts.css +1 -0
  132. package/dist/themes/baglioni.css +1 -0
  133. package/dist/themes/le-blanc.css +1 -0
  134. package/dist/themes/palace.css +1 -0
  135. package/dist/themes/the-palace-company.css +1 -0
  136. package/dist/vite.config.d.ts +2 -0
  137. package/package.json +70 -0
@@ -0,0 +1,123 @@
1
+ import { jsx as a, jsxs as s, Fragment as u } from "react/jsx-runtime";
2
+ import { useMemo as x } from "react";
3
+ import { createTreeCollection as f, TreeView as n } from "@ark-ui/react/tree-view";
4
+ import { b } from "./icons-_QeAcImG.js";
5
+ const g = "mare:flex mare:flex-col mare:gap-1", v = "mare:flex mare:flex-col mare:gap-1", k = `
6
+ mare:group mare:flex mare:items-center mare:gap-2 mare:min-h-10 mare:px-3 mare:py-2
7
+ mare:rounded-menu-item mare:cursor-pointer mare:select-none mare:outline-none
8
+ mare:tpc-typography-body-s mare:text-default
9
+ mare:hover:bg-hover mare:ark-open:bg-accent-weak mare:ark-open:text-accent
10
+ mare:ark-disabled:text-disabled mare:ark-disabled:cursor-not-allowed mare:ark-disabled:pointer-events-none
11
+ `, N = "mare:flex-1 mare:flex mare:items-center mare:gap-2", y = `
12
+ mare:flex mare:items-center mare:shrink-0 mare:text-default
13
+ mare:transition-transform mare:ark-open:rotate-180 mare:ark-open:text-accent
14
+ `, C = `
15
+ mare:flex mare:flex-col mare:gap-1 mare:ps-7 mare:overflow-hidden mare:empty:hidden
16
+ mare:ark-open:[animation:mare-panel-menu-branch-open_150ms_ease-out]
17
+ mare:ark-closed:[animation:mare-panel-menu-branch-close_150ms_ease-out]
18
+ `, _ = (e) => `
19
+ mare:flex mare:items-center mare:gap-2 mare:min-h-10 mare:px-3 mare:py-2
20
+ mare:rounded-menu-item mare:cursor-pointer mare:select-none mare:outline-none
21
+ mare:no-underline mare:text-inherit mare:tpc-typography-body-s
22
+ ${e.active ? "mare:bg-accent-weak mare:text-accent" : "mare:text-default mare:hover:bg-hover"}
23
+ mare:ark-disabled:text-disabled mare:ark-disabled:cursor-not-allowed mare:ark-disabled:pointer-events-none
24
+ `, d = "mare:flex-1 mare:flex mare:items-center mare:gap-2", w = "mare:flex mare:items-center mare:shrink-0 mare:[&>svg]:size-5";
25
+ function i(e, t) {
26
+ if (t) return t(e);
27
+ const m = e.icon;
28
+ return /* @__PURE__ */ s(u, { children: [
29
+ m ? /* @__PURE__ */ a("span", { className: w, children: m }) : null,
30
+ /* @__PURE__ */ a("span", { children: e.label })
31
+ ] });
32
+ }
33
+ function p({
34
+ node: e,
35
+ indexPath: t,
36
+ renderItem: m
37
+ }) {
38
+ if (e.items?.length)
39
+ return /* @__PURE__ */ a(
40
+ n.NodeProvider,
41
+ {
42
+ node: e,
43
+ indexPath: t,
44
+ children: /* @__PURE__ */ s(n.Branch, { className: v, children: [
45
+ /* @__PURE__ */ s(n.BranchControl, { className: k, children: [
46
+ /* @__PURE__ */ a(n.BranchText, { className: N, children: i(e, m) }),
47
+ /* @__PURE__ */ a(n.BranchIndicator, { className: y, children: /* @__PURE__ */ a(b, {}) })
48
+ ] }),
49
+ /* @__PURE__ */ a(n.BranchContent, { className: C, children: e.items.map((o, r) => /* @__PURE__ */ a(
50
+ p,
51
+ {
52
+ node: o,
53
+ indexPath: [...t, r],
54
+ renderItem: m
55
+ },
56
+ o.value
57
+ )) })
58
+ ] })
59
+ }
60
+ );
61
+ const l = e.href, c = _({ active: e.active });
62
+ return /* @__PURE__ */ a(
63
+ n.NodeProvider,
64
+ {
65
+ node: e,
66
+ indexPath: t,
67
+ children: l ? /* @__PURE__ */ a(
68
+ n.Item,
69
+ {
70
+ className: c,
71
+ asChild: !0,
72
+ children: /* @__PURE__ */ a(
73
+ "a",
74
+ {
75
+ href: l,
76
+ target: e.target,
77
+ children: /* @__PURE__ */ a("span", { className: d, children: i(e, m) })
78
+ }
79
+ )
80
+ }
81
+ ) : /* @__PURE__ */ a(n.Item, { className: c, children: /* @__PURE__ */ a("span", { className: d, children: i(e, m) }) })
82
+ }
83
+ );
84
+ }
85
+ function V({
86
+ items: e,
87
+ expandedValue: t,
88
+ defaultExpandedValue: m,
89
+ onExpandedChange: l,
90
+ renderItem: c
91
+ }) {
92
+ const o = x(
93
+ () => f({
94
+ rootNode: { value: "__root__", label: "", items: e },
95
+ nodeToValue: (r) => r.value,
96
+ nodeToString: (r) => r.label,
97
+ nodeToChildren: (r) => r.items ?? [],
98
+ isNodeDisabled: (r) => !!r.disabled
99
+ }),
100
+ [e]
101
+ );
102
+ return /* @__PURE__ */ a(
103
+ n.Root,
104
+ {
105
+ collection: o,
106
+ expandedValue: t,
107
+ defaultExpandedValue: m,
108
+ onExpandedChange: (r) => l?.(r.expandedValue),
109
+ children: /* @__PURE__ */ a(n.Tree, { className: g, children: o.rootNode.items?.map((r, h) => /* @__PURE__ */ a(
110
+ p,
111
+ {
112
+ node: r,
113
+ indexPath: [h],
114
+ renderItem: c
115
+ },
116
+ r.value
117
+ )) })
118
+ }
119
+ );
120
+ }
121
+ export {
122
+ V as P
123
+ };
@@ -0,0 +1,35 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ function n({
3
+ circleClass: r,
4
+ className: i
5
+ }) {
6
+ return /* @__PURE__ */ e(
7
+ "span",
8
+ {
9
+ className: `mare:inline-block mare:[animation:spin_2s_linear_infinite] ${i ?? ""}`,
10
+ "aria-hidden": "true",
11
+ children: /* @__PURE__ */ e(
12
+ "svg",
13
+ {
14
+ className: "mare:size-full",
15
+ viewBox: "0 0 50 50",
16
+ children: /* @__PURE__ */ e(
17
+ "circle",
18
+ {
19
+ className: `mare:fill-none mare:[stroke-dashoffset:0] mare:[animation:mare-spinner-dash_1.5s_ease-in-out_infinite] ${r ?? ""}`,
20
+ stroke: "var(--color-fg-default)",
21
+ cx: "25",
22
+ cy: "25",
23
+ r: "20",
24
+ strokeWidth: "4",
25
+ strokeLinecap: "round"
26
+ }
27
+ )
28
+ }
29
+ )
30
+ }
31
+ );
32
+ }
33
+ export {
34
+ n as P
35
+ };
@@ -0,0 +1,133 @@
1
+ import { jsx as e, jsxs as k } from "react/jsx-runtime";
2
+ import { RadioGroup as r } from "@ark-ui/react/radio-group";
3
+ const g = `
4
+ mare:flex mare:gap-4
5
+ mare:ark-vertical:flex-col
6
+ mare:ark-horizontal:flex-row
7
+ mare:ark-disabled:cursor-default
8
+ `, z = `
9
+ mare:relative mare:inline-flex mare:items-center mare:gap-2
10
+ mare:select-none mare:cursor-pointer
11
+ mare:ark-disabled:cursor-default
12
+ mare:data-size-small:gap-1.5
13
+ mare:data-size-medium:gap-2
14
+ mare:data-size-large:gap-2.5
15
+ `, f = `
16
+ mare:relative mare:inline-flex mare:items-center mare:justify-center mare:shrink-0
17
+ mare:rounded-full mare:border mare:border-strong mare:bg-transparent
18
+ mare:shadow-[0_1px_2px_0_rgba(18,18,23,0.05)]
19
+ mare:transition-[border-width,border-color] mare:duration-200
20
+ mare:overflow-hidden
21
+
22
+ mare:data-size-small:w-4.5 mare:data-size-small:h-4.5
23
+ mare:data-size-medium:w-6 mare:data-size-medium:h-6
24
+ mare:data-size-large:w-8 mare:data-size-large:h-8
25
+
26
+ mare:not-ark-disabled:hover:border-accent
27
+
28
+ mare:ark-checked:border-accent
29
+ mare:data-size-small:ark-checked:border-[6px]
30
+ mare:data-size-medium:ark-checked:border-[8px]
31
+ mare:data-size-large:ark-checked:border-[11px]
32
+ mare:not-ark-disabled:ark-checked:hover:border-accent-hover
33
+
34
+ mare:ark-disabled:border-disabled!
35
+
36
+ mare:ark-invalid:border-danger!
37
+ `, v = `
38
+ mare:invisible mare:rounded-full mare:bg-[var(--color-fg-on-accent)]
39
+
40
+ mare:data-size-small:w-2 mare:data-size-small:h-2
41
+ mare:data-size-medium:w-2.5 mare:data-size-medium:h-2.5
42
+ mare:data-size-large:w-3 mare:data-size-large:h-3
43
+
44
+ mare:ark-checked:visible
45
+ mare:ark-disabled:ark-checked:bg-disabled!
46
+ mare:ark-invalid:ark-checked:bg-[var(--color-fg-on-danger)]!
47
+ `, x = `
48
+ mare:text-default
49
+ mare:data-size-small:tpc-typography-body-s
50
+ mare:data-size-medium:tpc-typography-body-m
51
+ mare:data-size-large:tpc-typography-body-l
52
+ mare:ark-disabled:text-disabled
53
+ `, y = `
54
+ mare:sr-only
55
+ `;
56
+ function I({
57
+ items: m,
58
+ value: l,
59
+ defaultValue: s,
60
+ onValueChange: i,
61
+ size: d = "small",
62
+ orientation: t = "vertical",
63
+ disabled: o = !1,
64
+ invalid: c = !1,
65
+ readOnly: n = !1,
66
+ required: b = !1,
67
+ name: u,
68
+ form: h,
69
+ id: p
70
+ }) {
71
+ return /* @__PURE__ */ e(
72
+ r.Root,
73
+ {
74
+ value: l,
75
+ defaultValue: s,
76
+ onValueChange: (a) => {
77
+ a.value && i?.(a.value);
78
+ },
79
+ orientation: t,
80
+ disabled: o,
81
+ invalid: c,
82
+ readOnly: n,
83
+ required: b,
84
+ name: u,
85
+ form: h,
86
+ id: p,
87
+ className: g,
88
+ children: m.map((a) => /* @__PURE__ */ k(
89
+ r.Item,
90
+ {
91
+ value: a.value,
92
+ disabled: a.disabled,
93
+ className: z,
94
+ "data-size": d,
95
+ children: [
96
+ /* @__PURE__ */ e(
97
+ r.ItemControl,
98
+ {
99
+ className: f,
100
+ "data-size": d,
101
+ children: /* @__PURE__ */ e(
102
+ "span",
103
+ {
104
+ className: v,
105
+ "data-size": d
106
+ }
107
+ )
108
+ }
109
+ ),
110
+ /* @__PURE__ */ e(
111
+ r.ItemText,
112
+ {
113
+ className: x,
114
+ "data-size": d,
115
+ children: a.label
116
+ }
117
+ ),
118
+ /* @__PURE__ */ e(
119
+ r.ItemHiddenInput,
120
+ {
121
+ className: y
122
+ }
123
+ )
124
+ ]
125
+ },
126
+ a.value
127
+ ))
128
+ }
129
+ );
130
+ }
131
+ export {
132
+ I as R
133
+ };
@@ -0,0 +1,63 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { a as x, I as t } from "./IconField-Dh6j6SL1.js";
3
+ import { P as I } from "./ProgressSpinner-B-lrS-tu.js";
4
+ import { S as v, a as F } from "./icons-_QeAcImG.js";
5
+ const L = (o) => !!o.value && o.clearable, P = (o) => o.loading && !o.disabled;
6
+ function B({
7
+ value: o = "",
8
+ onValueChange: s,
9
+ loading: e = !1,
10
+ clearable: c = !1,
11
+ disabled: i = !1,
12
+ leftIcon: l = /* @__PURE__ */ n(v, {}),
13
+ clearIcon: u = /* @__PURE__ */ n(F, {}),
14
+ rightIcon: r,
15
+ onClear: S,
16
+ ...h
17
+ }) {
18
+ const a = L({ value: o, clearable: c }), p = P({ loading: e, disabled: i }), C = !!r || c || e, f = /* @__PURE__ */ n(
19
+ x,
20
+ {
21
+ ...h,
22
+ value: o,
23
+ onValueChange: s,
24
+ disabled: i,
25
+ rounded: !0
26
+ }
27
+ );
28
+ if (!C)
29
+ return /* @__PURE__ */ n(
30
+ t,
31
+ {
32
+ icon: l,
33
+ position: "left",
34
+ disabled: i,
35
+ children: f
36
+ }
37
+ );
38
+ const d = r || (p ? /* @__PURE__ */ n(I, { className: "mare:size-5" }) : a ? u : null), m = !r && !p && a;
39
+ return /* @__PURE__ */ n(
40
+ t,
41
+ {
42
+ icon: l,
43
+ position: "left",
44
+ disabled: i,
45
+ children: /* @__PURE__ */ n(
46
+ t,
47
+ {
48
+ icon: d,
49
+ position: "right",
50
+ disabled: i,
51
+ onIconClick: m ? () => {
52
+ s?.(""), S?.();
53
+ } : void 0,
54
+ iconLabel: m ? "Clear" : void 0,
55
+ children: f
56
+ }
57
+ )
58
+ }
59
+ );
60
+ }
61
+ export {
62
+ B as S
63
+ };
@@ -0,0 +1,118 @@
1
+ import { jsxs as m, jsx as e } from "react/jsx-runtime";
2
+ import { useMemo as w } from "react";
3
+ import { createListCollection as S, SelectRoot as y, SelectLabel as v, SelectControl as N, SelectTrigger as C, SelectContext as I, SelectValueText as T, SelectClearTrigger as j, SelectIndicator as _, SelectPositioner as z, SelectContent as D, SelectItem as L, SelectItemText as V, SelectItemIndicator as $ } from "@ark-ui/react/select";
4
+ import { a as F, b as M, C as P } from "./icons-_QeAcImG.js";
5
+ const R = {
6
+ small: "mare:h-10",
7
+ medium: "mare:h-12"
8
+ }, q = {
9
+ small: "mare:tpc-typography-body-s",
10
+ medium: "mare:tpc-typography-body-m"
11
+ }, A = (r) => `
12
+ mare:group mare:w-full mare:flex mare:items-center mare:justify-between mare:gap-3
13
+ ${R[r]}
14
+ mare:px-3 mare:cursor-pointer
15
+ mare:rounded-input mare:border mare:border-strong mare:bg-default
16
+ mare:text-default ${q[r]}
17
+ mare:ark-open:outline-solid mare:ark-open:outline-2 mare:ark-open:outline-accent mare:ark-open:-outline-offset-2
18
+ mare:ark-disabled:text-disabled mare:ark-disabled:border-disabled-default mare:ark-disabled:cursor-not-allowed
19
+ mare:data-[invalid]:outline-solid mare:data-[invalid]:outline-2 mare:data-[invalid]:outline-danger mare:data-[invalid]:-outline-offset-2
20
+ `, l = "mare:flex-auto mare:text-left mare:truncate mare:data-[placeholder-shown]:text-weak", B = "mare:flex mare:items-center mare:shrink-0 mare:text-lg mare:transition-transform mare:ark-open:rotate-180 mare:text-default", E = "mare:flex mare:items-center mare:shrink-0 mare:text-base mare:cursor-pointer mare:text-default mare:hover:text-weak", G = "mare:flex mare:items-center mare:shrink-0 mare:text-weak mare:[&>svg]:size-5", H = `
21
+ mare:flex mare:flex-col mare:gap-0.5 mare:p-1
22
+ mare:rounded-input mare:border mare:border-default mare:bg-raised
23
+ mare:shadow-[0_2px_6px_0_rgba(0,0,0,0.16)]
24
+ mare:max-h-72 mare:overflow-y-auto
25
+ mare:min-w-[var(--reference-width)]
26
+ mare:z-50
27
+ `, J = `
28
+ mare:group/option mare:flex mare:items-center mare:justify-between mare:gap-2
29
+ mare:w-full mare:min-h-8 mare:py-2 mare:px-3 mare:cursor-pointer mare:rounded-menu-item
30
+ mare:tpc-typography-body-s mare:text-default
31
+ mare:ark-highlighted:bg-hover
32
+ mare:ark-selected:bg-accent-weak mare:ark-selected:text-accent
33
+ mare:ark-disabled:text-disabled mare:ark-disabled:cursor-not-allowed
34
+ `, K = "mare:flex mare:items-center mare:text-accent", Q = "mare:tpc-typography-label-s mare:text-default mare:mb-1.5 mare:block";
35
+ function Z({
36
+ value: r = null,
37
+ onValueChange: d,
38
+ options: t,
39
+ placeholder: o = "Select…",
40
+ size: u = "small",
41
+ disabled: p = !1,
42
+ invalid: f = !1,
43
+ clearable: h = !1,
44
+ label: n,
45
+ leadingIcon: s,
46
+ indicator: x,
47
+ clearIcon: b,
48
+ checkIcon: g,
49
+ renderValue: c,
50
+ renderOption: i
51
+ }) {
52
+ const k = w(
53
+ () => S({
54
+ items: t,
55
+ itemToValue: (a) => a.value,
56
+ itemToString: (a) => a.label,
57
+ isItemDisabled: (a) => !!a.disabled
58
+ }),
59
+ [t]
60
+ );
61
+ return /* @__PURE__ */ m(
62
+ y,
63
+ {
64
+ collection: k,
65
+ value: r == null ? [] : [r],
66
+ disabled: p,
67
+ invalid: f,
68
+ onValueChange: (a) => d?.(a.value[0] ?? null),
69
+ children: [
70
+ n && /* @__PURE__ */ e(v, { className: Q, children: n }),
71
+ /* @__PURE__ */ e(N, { children: /* @__PURE__ */ m(C, { className: A(u), children: [
72
+ s && /* @__PURE__ */ e("span", { className: G, children: s }),
73
+ c ? /* @__PURE__ */ e(I, { children: (a) => a.selectedItems.length > 0 ? /* @__PURE__ */ e("span", { className: l, children: c(
74
+ a.selectedItems[0]
75
+ ) }) : /* @__PURE__ */ e(
76
+ "span",
77
+ {
78
+ className: l,
79
+ style: {
80
+ color: "var(--color-fg-weak)"
81
+ },
82
+ children: o
83
+ }
84
+ ) }) : /* @__PURE__ */ e(
85
+ T,
86
+ {
87
+ className: l,
88
+ placeholder: o
89
+ }
90
+ ),
91
+ h && /* @__PURE__ */ e(j, { className: E, children: b ?? /* @__PURE__ */ e(F, {}) }),
92
+ /* @__PURE__ */ e(_, { className: B, children: x ?? /* @__PURE__ */ e(M, {}) })
93
+ ] }) }),
94
+ /* @__PURE__ */ e(z, { children: /* @__PURE__ */ e(D, { className: H, children: t.map((a) => /* @__PURE__ */ m(
95
+ L,
96
+ {
97
+ item: a,
98
+ className: J,
99
+ children: [
100
+ /* @__PURE__ */ e(V, { children: i ? i(a) : a.label }),
101
+ /* @__PURE__ */ e(
102
+ $,
103
+ {
104
+ className: K,
105
+ children: g ?? /* @__PURE__ */ e(P, {})
106
+ }
107
+ )
108
+ ]
109
+ },
110
+ a.value
111
+ )) }) })
112
+ ]
113
+ }
114
+ );
115
+ }
116
+ export {
117
+ Z as S
118
+ };
@@ -0,0 +1,100 @@
1
+ import { jsx as o, jsxs as p } from "react/jsx-runtime";
2
+ import { Portal as g } from "@ark-ui/react/portal";
3
+ import { Toaster as y, Toast as m, createToaster as u } from "@ark-ui/react/toast";
4
+ import { B as b } from "./Button-AfMqNCme.js";
5
+ const h = `
6
+ mare:group mare:w-full mare:min-w-[20rem] mare:max-w-[429px]
7
+ mare:relative mare:overflow-hidden mare:rounded-tpc-snackbar
8
+ mare:flex mare:items-center mare:gap-3 mare:p-3 mare:pr-4 mare:min-h-13
9
+ mare:shadow-[0px_10px_15px_-3px_rgba(0,0,0,0.10),0px_4px_6px_-2px_rgba(0,0,0,0.05)]
10
+ mare:outline-none
11
+ mare:[translate:var(--x)_var(--y)] mare:[scale:var(--scale)]
12
+ mare:[z-index:var(--z-index)] mare:[height:var(--height)]
13
+ mare:[opacity:var(--opacity)] mare:[will-change:translate,opacity,scale]
14
+ mare:[transition:translate_400ms,scale_400ms,opacity_400ms,height_400ms]
15
+ mare:ark-closed:[transition:translate_400ms,scale_400ms,opacity_200ms]
16
+ mare:ark-type-contrast:bg-inverse mare:ark-type-contrast:text-on-inverse
17
+ mare:ark-type-secondary:bg-raised mare:ark-type-secondary:text-default mare:ark-type-secondary:border mare:ark-type-secondary:border-default
18
+ mare:ark-type-error:bg-danger mare:ark-type-error:text-on-danger
19
+ `, k = `
20
+ mare:flex mare:max-w-13 mare:min-w-6 mare:aspect-square mare:shrink-0
21
+ mare:items-center mare:justify-center mare:rounded-tpc-container-s
22
+ `, x = (a) => `
23
+ mare:tpc-typography-body-s ${a ? "" : "mare:ps-1"}
24
+ `, f = "mare:ml-auto mare:shrink-0", _ = `
25
+ mare:absolute mare:bottom-0 mare:left-0 mare:h-1 mare:w-0
26
+ mare:[background-color:currentColor]
27
+ mare:[animation:mare-snackbar-progress_var(--mare-snackbar-life)_linear_forwards]
28
+ `, v = {
29
+ "top-left": "top-start",
30
+ "top-center": "top",
31
+ "top-right": "top-end",
32
+ "bottom-left": "bottom-start",
33
+ "bottom-center": "bottom",
34
+ "bottom-right": "bottom-end"
35
+ }, w = (a) => v[a], i = 3e3, c = (a) => Math.max(a ?? i, i), l = /* @__PURE__ */ new WeakMap(), B = {
36
+ error: [1, 2],
37
+ secondary: [3, 6],
38
+ contrast: [6, 8]
39
+ }, T = (a, t) => {
40
+ const [s, e] = B[a];
41
+ return t ? s : e;
42
+ };
43
+ function I(a = {}) {
44
+ const t = u({
45
+ placement: w(a.placement ?? "bottom-center")
46
+ }), s = {
47
+ show(e) {
48
+ const r = e.severity ?? "contrast";
49
+ return t.create({
50
+ description: e.detail,
51
+ type: r,
52
+ priority: T(r, !!e.action),
53
+ duration: c(e.life),
54
+ action: e.action,
55
+ meta: { leading: e.leading, progressBar: e.progressBar }
56
+ });
57
+ },
58
+ dismiss(e) {
59
+ t.dismiss(e);
60
+ },
61
+ update(e, r) {
62
+ const n = t.getVisibleToasts().find((d) => d.id === e);
63
+ t.update(e, {
64
+ description: r.detail ?? n?.description,
65
+ type: r.severity ?? n?.type,
66
+ duration: r.life != null ? c(r.life) : n?.duration,
67
+ action: r.action ?? n?.action,
68
+ meta: {
69
+ leading: r.leading ?? n?.meta?.leading,
70
+ progressBar: r.progressBar ?? n?.meta?.progressBar
71
+ }
72
+ });
73
+ }
74
+ };
75
+ return l.set(s, t), s;
76
+ }
77
+ function j({ controller: a, portalContainer: t }) {
78
+ const s = l.get(a);
79
+ if (!s)
80
+ throw new Error("Snackbar: controller was not created by createSnackbar().");
81
+ return /* @__PURE__ */ o(g, { container: t, children: /* @__PURE__ */ o(y, { toaster: s, children: (e) => {
82
+ const r = e.meta?.leading, n = !!e.meta?.progressBar;
83
+ return /* @__PURE__ */ p(m.Root, { className: h, children: [
84
+ r ? /* @__PURE__ */ o("div", { className: k, children: r }) : null,
85
+ /* @__PURE__ */ o(m.Description, { className: x(!!r), children: e.description }),
86
+ e.action ? /* @__PURE__ */ o("div", { className: f, children: /* @__PURE__ */ o(m.ActionTrigger, { asChild: !0, children: /* @__PURE__ */ o(b, { severity: "ghost", link: !0, size: "xsmall", children: e.action.label }) }) }) : null,
87
+ n ? /* @__PURE__ */ o(
88
+ "div",
89
+ {
90
+ className: _,
91
+ style: { "--mare-snackbar-life": `${e.duration}ms` }
92
+ }
93
+ ) : null
94
+ ] }, e.id);
95
+ } }) });
96
+ }
97
+ export {
98
+ j as S,
99
+ I as c
100
+ };
@@ -0,0 +1,110 @@
1
+ import { jsxs as m, jsx as e, Fragment as g } from "react/jsx-runtime";
2
+ import { Steps as a } from "@ark-ui/react/steps";
3
+ import { C as k, c as b, d as v } from "./icons-_QeAcImG.js";
4
+ const y = "mare:flex mare:ark-horizontal:flex-col mare:ark-vertical:flex-row mare:gap-4 mare:w-full", N = `
5
+ mare:hidden mare:sm:flex mare:gap-2 mare:overflow-x-auto
6
+ mare:ark-horizontal:flex-row mare:ark-horizontal:items-center mare:ark-horizontal:justify-between
7
+ mare:ark-vertical:flex-col mare:ark-vertical:items-start
8
+ `, w = "mare:relative mare:flex mare:items-center mare:ark-vertical:items-start mare:gap-3 mare:flex-1 mare:last:flex-none", j = `
9
+ mare:group mare:flex mare:items-center mare:gap-3 mare:bg-transparent mare:border-none
10
+ mare:text-left mare:cursor-pointer mare:rounded-md mare:outline-none
11
+ mare:disabled:cursor-not-allowed mare:disabled:opacity-50
12
+ `, z = (t) => `
13
+ mare:group mare:flex mare:items-center mare:justify-center mare:shrink-0 mare:relative
14
+ mare:size-8 mare:rounded-full mare:tpc-typography-label-s
15
+ mare:ark-incomplete:bg-neutral-weak mare:ark-incomplete:text-weak
16
+ mare:ark-current:bg-accent mare:ark-current:text-on-accent
17
+ ${t === "strong" ? "mare:ark-complete:bg-accent mare:ark-complete:text-on-accent" : "mare:ark-complete:bg-accent-weak mare:ark-complete:text-accent"}
18
+ `, C = "mare:flex mare:items-center mare:justify-center mare:[&>svg]:size-4", S = "mare:flex mare:items-center mare:justify-center mare:group-[[data-complete]]:hidden", I = "mare:hidden mare:group-[[data-complete]]:flex mare:items-center mare:justify-center mare:absolute mare:inset-0 mare:[&>svg]:size-4", T = `
19
+ mare:flex-1 mare:h-[1.5px] mare:bg-neutral-weak mare:transition-colors mare:duration-300
20
+ mare:ark-complete:bg-accent
21
+ mare:ark-vertical:absolute mare:ark-vertical:flex-none mare:ark-vertical:w-[1.5px] mare:ark-vertical:h-auto
22
+ mare:ark-vertical:top-8 mare:ark-vertical:bottom-[-0.5rem] mare:ark-vertical:start-[calc(1rem-0.75px)]
23
+ `, L = "mare:flex mare:flex-col mare:items-start mare:gap-0.5", R = "mare:tpc-typography-label-s mare:text-default mare:group-[[data-incomplete]]:text-weak", B = "mare:block mare:tpc-typography-body-xs mare:text-weak", F = `
24
+ mare:p-4 mare:min-h-24 mare:rounded-input mare:border mare:border-default
25
+ mare:bg-default mare:text-default mare:tpc-typography-body-s
26
+ `, M = `
27
+ mare:flex mare:sm:hidden mare:items-center mare:justify-between mare:gap-3
28
+ mare:px-3 mare:py-2 mare:rounded-input mare:border mare:border-default mare:bg-default
29
+ `, P = "mare:flex-1 mare:text-center mare:truncate mare:tpc-typography-body-s mare:text-default", c = `
30
+ mare:flex mare:items-center mare:justify-center mare:size-8 mare:rounded-full mare:text-default
31
+ mare:hover:bg-hover mare:disabled:opacity-40 mare:disabled:cursor-not-allowed mare:disabled:pointer-events-none
32
+ `;
33
+ function $({ items: t }) {
34
+ return /* @__PURE__ */ m("div", { className: M, children: [
35
+ /* @__PURE__ */ e(a.PrevTrigger, { className: c, children: /* @__PURE__ */ e(b, {}) }),
36
+ /* @__PURE__ */ e(a.Context, { children: (n) => /* @__PURE__ */ m("span", { className: P, children: [
37
+ t[n.value]?.title,
38
+ " · ",
39
+ n.value + 1,
40
+ "/",
41
+ n.count
42
+ ] }) }),
43
+ /* @__PURE__ */ e(a.NextTrigger, { className: c, children: /* @__PURE__ */ e(v, {}) })
44
+ ] });
45
+ }
46
+ function E({
47
+ items: t,
48
+ step: n,
49
+ defaultStep: o,
50
+ onStepChange: s,
51
+ onStepComplete: i,
52
+ linear: d = !1,
53
+ orientation: p = "horizontal",
54
+ indicatorVariant: u = "default",
55
+ isStepValid: f,
56
+ isStepSkippable: h
57
+ }) {
58
+ const x = z(u);
59
+ return /* @__PURE__ */ m(
60
+ a.Root,
61
+ {
62
+ className: y,
63
+ count: t.length,
64
+ step: n,
65
+ defaultStep: o,
66
+ linear: d,
67
+ orientation: p,
68
+ isStepValid: f,
69
+ isStepSkippable: h,
70
+ onStepChange: (r) => s?.(r.step),
71
+ onStepComplete: i,
72
+ children: [
73
+ /* @__PURE__ */ e(a.List, { className: N, children: t.map((r, l) => /* @__PURE__ */ m(
74
+ a.Item,
75
+ {
76
+ index: l,
77
+ className: w,
78
+ children: [
79
+ /* @__PURE__ */ m(a.Trigger, { className: j, children: [
80
+ /* @__PURE__ */ e(a.Indicator, { className: x, children: r.icon ? /* @__PURE__ */ e("span", { className: C, children: r.icon }) : /* @__PURE__ */ m(g, { children: [
81
+ /* @__PURE__ */ e("span", { className: I, children: /* @__PURE__ */ e(k, {}) }),
82
+ /* @__PURE__ */ e("span", { className: S, children: l + 1 })
83
+ ] }) }),
84
+ /* @__PURE__ */ m("span", { className: L, children: [
85
+ /* @__PURE__ */ e("span", { className: R, children: r.title }),
86
+ r.description && /* @__PURE__ */ e("span", { className: B, children: r.description })
87
+ ] })
88
+ ] }),
89
+ /* @__PURE__ */ e(a.Separator, { className: T })
90
+ ]
91
+ },
92
+ l
93
+ )) }),
94
+ /* @__PURE__ */ e($, { items: t }),
95
+ t.map((r, l) => /* @__PURE__ */ e(
96
+ a.Content,
97
+ {
98
+ index: l,
99
+ className: F,
100
+ children: r.content
101
+ },
102
+ l
103
+ ))
104
+ ]
105
+ }
106
+ );
107
+ }
108
+ export {
109
+ E as S
110
+ };