asheeui 0.6.14 → 0.7.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 (184) hide show
  1. package/README.md +1 -14
  2. package/dist/AsheeUIProvider.js +22 -24
  3. package/dist/components/accordion/Accordion.js +79 -173
  4. package/dist/components/accordion/accordion-config.js +12 -13
  5. package/dist/components/accordion/accordion-styles.js +21 -24
  6. package/dist/components/autocomplete/Autocomplete.js +78 -136
  7. package/dist/components/autocomplete/autocomplete-config.js +7 -12
  8. package/dist/components/button/Button.d.ts +29 -1
  9. package/dist/components/button/Button.d.ts.map +1 -1
  10. package/dist/components/button/Button.js +47 -108
  11. package/dist/components/button/button-config.js +16 -17
  12. package/dist/components/button/button-styles.js +10 -11
  13. package/dist/components/card/Card.d.ts +36 -16
  14. package/dist/components/card/Card.d.ts.map +1 -1
  15. package/dist/components/card/Card.js +115 -205
  16. package/dist/components/card/card-config.js +24 -21
  17. package/dist/components/card/card-styles.js +19 -22
  18. package/dist/components/carousel/Carousel.js +123 -248
  19. package/dist/components/carousel/carousel-config.js +24 -25
  20. package/dist/components/carousel/carousel-styles.js +14 -16
  21. package/dist/components/chip/Chip.js +84 -191
  22. package/dist/components/chip/chip-config.js +13 -14
  23. package/dist/components/chip/chip-styles.js +22 -26
  24. package/dist/components/date-picker/Calendar.d.ts +3 -3
  25. package/dist/components/date-picker/Calendar.d.ts.map +1 -1
  26. package/dist/components/date-picker/Calendar.js +141 -222
  27. package/dist/components/date-picker/DatePicker.d.ts +5 -5
  28. package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
  29. package/dist/components/date-picker/DatePicker.js +122 -220
  30. package/dist/components/date-picker/TimeSpinner.js +58 -82
  31. package/dist/components/date-picker/date-picker-config.d.ts +4 -4
  32. package/dist/components/date-picker/date-picker-config.d.ts.map +1 -1
  33. package/dist/components/date-picker/date-picker-config.js +10 -11
  34. package/dist/components/date-picker/date-picker-styles.js +44 -45
  35. package/dist/components/date-picker/date-picker.helpers.d.ts +4 -4
  36. package/dist/components/date-picker/date-picker.helpers.d.ts.map +1 -1
  37. package/dist/components/date-picker/date-picker.helpers.js +74 -102
  38. package/dist/components/drawer/Drawer.d.ts +26 -8
  39. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  40. package/dist/components/drawer/Drawer.js +54 -131
  41. package/dist/components/drawer/drawer-config.js +14 -15
  42. package/dist/components/drawer/drawer-styles.js +38 -42
  43. package/dist/components/field/FieldShell.js +49 -56
  44. package/dist/components/field/field-config.js +17 -18
  45. package/dist/components/field/field-styles.js +8 -8
  46. package/dist/components/image/Image.d.ts +7 -7
  47. package/dist/components/image/Image.d.ts.map +1 -1
  48. package/dist/components/image/Image.js +65 -132
  49. package/dist/components/image/image-config.js +17 -18
  50. package/dist/components/image/image-styles.js +14 -15
  51. package/dist/components/input/Input.js +65 -150
  52. package/dist/components/input/PasswordInput.js +30 -49
  53. package/dist/components/input/input-config.js +7 -7
  54. package/dist/components/input/input-styles.js +9 -10
  55. package/dist/components/keyboard/KeyboardContext.js +10 -11
  56. package/dist/components/keyboard/KeyboardProvider.js +100 -181
  57. package/dist/components/keyboard/OnScreenKeyboard.d.ts.map +1 -1
  58. package/dist/components/keyboard/OnScreenKeyboard.js +159 -166
  59. package/dist/components/keyboard/keyboard-config.js +59 -57
  60. package/dist/components/keyboard/keyboard-styles.js +10 -11
  61. package/dist/components/keyboard/use-keyboard-field.js +29 -21
  62. package/dist/components/link/Link.js +47 -137
  63. package/dist/components/link/link-config.js +14 -15
  64. package/dist/components/link/link-styles.js +25 -29
  65. package/dist/components/marquee/Marquee.js +55 -144
  66. package/dist/components/marquee/marquee-config.js +18 -19
  67. package/dist/components/marquee/marquee-styles.js +13 -15
  68. package/dist/components/modal/Modal.d.ts +26 -10
  69. package/dist/components/modal/Modal.d.ts.map +1 -1
  70. package/dist/components/modal/Modal.js +56 -136
  71. package/dist/components/modal/modal-config.js +15 -16
  72. package/dist/components/modal/modal-styles.js +13 -14
  73. package/dist/components/multi-select/MultiSelect.d.ts +18 -2
  74. package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
  75. package/dist/components/multi-select/MultiSelect.js +149 -283
  76. package/dist/components/multi-select/multi-select-config.d.ts +23 -18
  77. package/dist/components/multi-select/multi-select-config.d.ts.map +1 -1
  78. package/dist/components/multi-select/multi-select-config.js +18 -21
  79. package/dist/components/multi-select/multi-select-styles.js +17 -20
  80. package/dist/components/radio/Radio.js +43 -80
  81. package/dist/components/radio/RadioGroup.js +57 -155
  82. package/dist/components/radio/radio-config.js +15 -16
  83. package/dist/components/radio/radio-context.js +6 -6
  84. package/dist/components/radio/radio-styles.js +55 -60
  85. package/dist/components/resizable-screen/ResizableScreen.js +87 -177
  86. package/dist/components/resizable-screen/resizable-screen-config.js +16 -17
  87. package/dist/components/select/Select.d.ts +3 -2
  88. package/dist/components/select/Select.d.ts.map +1 -1
  89. package/dist/components/select/Select.js +97 -195
  90. package/dist/components/select/select-config.js +8 -9
  91. package/dist/components/select/select-styles.js +5 -5
  92. package/dist/components/select-menu/SelectMenu.d.ts.map +1 -1
  93. package/dist/components/select-menu/SelectMenu.js +102 -196
  94. package/dist/components/select-menu/select-menu-config.js +12 -12
  95. package/dist/components/select-menu/use-select-floating.d.ts +11 -1
  96. package/dist/components/select-menu/use-select-floating.d.ts.map +1 -1
  97. package/dist/components/select-menu/use-select-floating.js +41 -48
  98. package/dist/components/sidebar/Sidebar.d.ts +43 -22
  99. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  100. package/dist/components/sidebar/Sidebar.js +146 -331
  101. package/dist/components/sidebar/sidebar-config.d.ts +98 -31
  102. package/dist/components/sidebar/sidebar-config.d.ts.map +1 -1
  103. package/dist/components/sidebar/sidebar-config.js +47 -33
  104. package/dist/components/sidebar/sidebar-styles.js +27 -32
  105. package/dist/components/spinner/spinner-config.js +12 -13
  106. package/dist/components/spinner/spinner-styles.js +13 -14
  107. package/dist/components/spinner/spinner.js +39 -82
  108. package/dist/components/switch/Switch.js +62 -154
  109. package/dist/components/switch/switch-config.js +11 -12
  110. package/dist/components/switch/switch-styles.js +14 -16
  111. package/dist/components/table/Table.js +64 -186
  112. package/dist/components/table/table-config.js +17 -18
  113. package/dist/components/table/table-styles.js +48 -52
  114. package/dist/components/tabs/Tabs.d.ts +16 -8
  115. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  116. package/dist/components/tabs/Tabs.js +93 -208
  117. package/dist/components/tabs/tabs-config.d.ts +42 -20
  118. package/dist/components/tabs/tabs-config.d.ts.map +1 -1
  119. package/dist/components/tabs/tabs-config.js +26 -18
  120. package/dist/components/tabs/tabs-styles.js +15 -17
  121. package/dist/components/textarea/Textarea.js +52 -138
  122. package/dist/components/textarea/textarea-config.js +10 -11
  123. package/dist/components/textarea/textarea-styles.js +9 -10
  124. package/dist/components/toast/ToastContext.js +22 -26
  125. package/dist/components/toast/ToastItem.js +82 -144
  126. package/dist/components/toast/ToastProvider.d.ts.map +1 -1
  127. package/dist/components/toast/ToastProvider.js +128 -190
  128. package/dist/components/toast/toast-config.js +23 -24
  129. package/dist/components/toast/toast-styles.js +50 -55
  130. package/dist/components/toast/use-pausable-timeout.js +17 -13
  131. package/dist/components/tooltip/Tooltip.d.ts +5 -0
  132. package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
  133. package/dist/components/tooltip/Tooltip.js +68 -158
  134. package/dist/components/tooltip/tooltip-config.d.ts +25 -0
  135. package/dist/components/tooltip/tooltip-config.d.ts.map +1 -1
  136. package/dist/components/tooltip/tooltip-config.js +26 -22
  137. package/dist/components/tooltip/tooltip-styles.js +15 -17
  138. package/dist/config/default-config.js +11 -34
  139. package/dist/config/resolve-color.js +23 -23
  140. package/dist/config/resolve-config.d.ts.map +1 -1
  141. package/dist/config/resolve-config.js +14 -12
  142. package/dist/icons/ArrowLeftIcon.js +16 -19
  143. package/dist/icons/CalendarIcon.js +43 -24
  144. package/dist/icons/CheckIcon.js +16 -19
  145. package/dist/icons/ChevronDownIcon.js +15 -21
  146. package/dist/icons/ChevronLeftIcon.js +16 -19
  147. package/dist/icons/ChevronRightIcon.js +16 -19
  148. package/dist/icons/ChevronUpIcon.js +16 -19
  149. package/dist/icons/ClearIcon.js +26 -22
  150. package/dist/icons/ClockIcon.js +20 -22
  151. package/dist/icons/CloseIcon.js +26 -22
  152. package/dist/icons/ErrorIcon.js +16 -19
  153. package/dist/icons/ExternalLinkIcon.js +25 -23
  154. package/dist/icons/EyeIcon.js +20 -22
  155. package/dist/icons/EyeOffIcon.js +21 -22
  156. package/dist/icons/InfoIcon.js +16 -19
  157. package/dist/icons/SearchIcon.js +25 -22
  158. package/dist/icons/WarningIcon.js +16 -19
  159. package/dist/index.js +65 -163
  160. package/dist/libs/context.js +10 -13
  161. package/dist/libs/index.js +1 -0
  162. package/dist/libs/registry.js +10 -12
  163. package/dist/libs/use-floating-z-index.d.ts +32 -0
  164. package/dist/libs/use-floating-z-index.d.ts.map +1 -0
  165. package/dist/libs/use-floating-z-index.js +16 -0
  166. package/dist/libs/use-isomorphic-layout-effect.js +5 -5
  167. package/dist/scripts/AsheeThemeScript.js +35 -44
  168. package/dist/shared/radius.d.ts.map +1 -1
  169. package/dist/shared/radius.js +12 -13
  170. package/dist/shared/variant.js +46 -134
  171. package/dist/theme/color.js +28 -28
  172. package/dist/theme/controller.d.ts.map +1 -1
  173. package/dist/theme/controller.js +65 -178
  174. package/dist/theme/useTheme.js +13 -44
  175. package/dist/utils/cn.js +7 -7
  176. package/dist/utils/index.d.ts +1 -0
  177. package/dist/utils/index.d.ts.map +1 -1
  178. package/dist/utils/index.js +1 -0
  179. package/dist/utils/merge-object.js +13 -14
  180. package/dist/utils/resolve-token.js +11 -14
  181. package/dist/utils/stacking.d.ts +76 -0
  182. package/dist/utils/stacking.d.ts.map +1 -0
  183. package/dist/utils/stacking.js +34 -0
  184. package/package.json +12 -11
@@ -1,138 +1,48 @@
1
1
  "use client";
2
- import { jsxs as T, jsx as c } from "react/jsx-runtime";
3
- import { forwardRef as q } from "react";
4
- import { ExternalLinkIcon as H } from "../../icons/ExternalLinkIcon.js";
5
- import { useAsheeConfig as J } from "../../libs/context.js";
6
- import { resolveCascade as i, resolveClassKey as n } from "../../utils/resolve-token.js";
7
- import { FALLBACK_LINK_CONFIG as r } from "./link-config.js";
8
- import { LINK_VARIANT_CLASS as k, LINK_COLOR_CLASS as M, LINK_SIZE_CLASS as Q, LINK_ICON_SIZE_CLASS as W, LINK_UNDERLINE_CLASS as X } from "./link-styles.js";
9
- import { cn as s } from "../../utils/cn.js";
10
- const Y = q(
11
- ({
12
- href: _,
13
- variant: S,
14
- color: A,
15
- size: I,
16
- underline: x,
17
- isExternal: h,
18
- disabled: o = !1,
19
- startIcon: m,
20
- endIcon: d,
21
- children: C,
22
- className: K,
23
- style: y,
24
- target: E,
25
- rel: z,
26
- onClick: t,
27
- linkComponent: b,
28
- linkProps: j,
29
- ...O
30
- }, P) => {
31
- var f;
32
- const p = J(), e = (f = p.components) == null ? void 0 : f.link, L = i(
33
- I,
34
- e == null ? void 0 : e.size,
35
- void 0,
36
- r.size
37
- ), u = i(
38
- S,
39
- e == null ? void 0 : e.variant,
40
- void 0,
41
- r.variant
42
- ), R = i(
43
- A,
44
- e == null ? void 0 : e.color,
45
- p.defaultColor,
46
- r.color
47
- ), w = i(
48
- x,
49
- e == null ? void 0 : e.underline,
50
- void 0,
51
- r.underline
52
- ), l = h ?? (e == null ? void 0 : e.isExternal) ?? r.isExternal, D = u === "muted" ? k.muted : s(
53
- n(
54
- R,
55
- M,
56
- r.color
57
- ),
58
- n(
59
- u,
60
- k,
61
- r.variant
62
- )
63
- ), F = n(
64
- L,
65
- Q,
66
- r.size
67
- ), a = n(
68
- L,
69
- W,
70
- r.size
71
- ), U = n(
72
- w,
73
- X,
74
- r.underline
75
- ), v = E ?? (l ? "_blank" : void 0), V = z ?? (l || v === "_blank" ? "noopener noreferrer" : void 0), Z = (N) => {
76
- if (o) {
77
- N.preventDefault();
78
- return;
79
- }
80
- t == null || t(N);
81
- }, B = s(
82
- "inline-flex items-center transition-colors duration-200 outline-none select-none shrink-0",
83
- "focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 rounded-xs",
84
- F,
85
- D,
86
- U,
87
- o && "opacity-50 pointer-events-none cursor-not-allowed",
88
- K
89
- ), G = {
90
- ...{
91
- href: o ? void 0 : _,
92
- target: v,
93
- rel: V,
94
- "aria-disabled": o,
95
- onClick: Z,
96
- className: B,
97
- style: y,
98
- ref: P,
99
- // forward ref to the custom component if it accepts it
100
- ...O
101
- // any other native anchor attributes
102
- },
103
- ...j || {}
104
- };
105
- return /* @__PURE__ */ T(b || "a", { ...G, children: [
106
- m && /* @__PURE__ */ c(
107
- "span",
108
- {
109
- className: s(
110
- "inline-flex items-center justify-center shrink-0",
111
- a
112
- ),
113
- children: m
114
- }
115
- ),
116
- C,
117
- d ? /* @__PURE__ */ c(
118
- "span",
119
- {
120
- className: s(
121
- "inline-flex items-center justify-center shrink-0",
122
- a
123
- ),
124
- children: d
125
- }
126
- ) : l && /* @__PURE__ */ c(
127
- H,
128
- {
129
- className: s("inline-block shrink-0", a)
130
- }
131
- )
132
- ] });
133
- }
134
- );
135
- Y.displayName = "Link";
136
- export {
137
- Y as Link
138
- };
2
+ "use client";
3
+ import { cn as e } from "../../utils/cn.js";
4
+ import { useAsheeConfig as t } from "../../libs/context.js";
5
+ import { resolveCascade as n, resolveClassKey as r } from "../../utils/resolve-token.js";
6
+ import { ExternalLinkIcon as i } from "../../icons/ExternalLinkIcon.js";
7
+ import { FALLBACK_LINK_CONFIG as a } from "./link-config.js";
8
+ import { LINK_COLOR_CLASS as o, LINK_ICON_SIZE_CLASS as s, LINK_SIZE_CLASS as c, LINK_UNDERLINE_CLASS as l, LINK_VARIANT_CLASS as u } from "./link-styles.js";
9
+ import { forwardRef as d } from "react";
10
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
11
+ //#region src/components/link/Link.tsx
12
+ var m = d(({ href: d, variant: m, color: h, size: g, underline: _, isExternal: v, disabled: y = !1, startIcon: b, endIcon: x, children: S, className: C, style: w, target: T, rel: E, onClick: D, linkComponent: O, linkProps: k, ...A }, j) => {
13
+ let M = t(), N = M.components?.link, P = n(g, N?.size, void 0, a.size), F = n(m, N?.variant, void 0, a.variant), I = n(h, N?.color, M.defaultColor, a.color), L = n(_, N?.underline, void 0, a.underline), R = v ?? N?.isExternal ?? a.isExternal, z = F === "muted" ? u.muted : e(r(I, o, a.color), r(F, u, a.variant)), B = r(P, c, a.size), V = r(P, s, a.size), H = r(L, l, a.underline), U = T ?? (R ? "_blank" : void 0), W = E ?? (R || U === "_blank" ? "noopener noreferrer" : void 0), G = (e) => {
14
+ if (y) {
15
+ e.preventDefault();
16
+ return;
17
+ }
18
+ D?.(e);
19
+ }, K = e("inline-flex items-center transition-colors duration-200 outline-none select-none shrink-0", "focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 rounded-xs", B, z, H, y && "opacity-50 pointer-events-none cursor-not-allowed", C), q = {
20
+ href: y ? void 0 : d,
21
+ target: U,
22
+ rel: W,
23
+ "aria-disabled": y,
24
+ onClick: G,
25
+ className: K,
26
+ style: w,
27
+ ref: j,
28
+ ...A,
29
+ ...k || {}
30
+ };
31
+ return /* @__PURE__ */ p(O || "a", {
32
+ ...q,
33
+ children: [
34
+ b && /* @__PURE__ */ f("span", {
35
+ className: e("inline-flex items-center justify-center shrink-0", V),
36
+ children: b
37
+ }),
38
+ S,
39
+ x ? /* @__PURE__ */ f("span", {
40
+ className: e("inline-flex items-center justify-center shrink-0", V),
41
+ children: x
42
+ }) : R && /* @__PURE__ */ f(i, { className: e("inline-block shrink-0", V) })
43
+ ]
44
+ });
45
+ });
46
+ m.displayName = "Link";
47
+ //#endregion
48
+ export { m as Link };
@@ -1,18 +1,17 @@
1
1
  "use client";
2
2
  import { registerComponentDefaults as e } from "../../libs/registry.js";
3
- const n = {
4
- size: "md",
5
- underline: "hover",
6
- isExternal: !1
7
- }, i = {
8
- size: "md",
9
- variant: "default",
10
- color: "primary",
11
- underline: "hover",
12
- isExternal: !1
13
- };
14
- e("link", n);
15
- export {
16
- i as FALLBACK_LINK_CONFIG,
17
- n as defaultLinkConfig
3
+ //#region src/components/link/link-config.ts
4
+ var t = {
5
+ size: "md",
6
+ underline: "hover",
7
+ isExternal: !1
8
+ }, n = {
9
+ size: "md",
10
+ variant: "default",
11
+ color: "primary",
12
+ underline: "hover",
13
+ isExternal: !1
18
14
  };
15
+ e("link", t);
16
+ //#endregion
17
+ export { n as FALLBACK_LINK_CONFIG, t as defaultLinkConfig };
@@ -1,33 +1,29 @@
1
1
  "use client";
2
- const e = {
3
- sm: "text-xs gap-1.5",
4
- md: "text-sm gap-2",
5
- lg: "text-base gap-2.5"
2
+ //#region src/components/link/link-styles.ts
3
+ var e = {
4
+ sm: "text-xs gap-1.5",
5
+ md: "text-sm gap-2",
6
+ lg: "text-base gap-2.5"
6
7
  }, t = {
7
- sm: "size-3.5",
8
- md: "size-4",
9
- lg: "size-4.5"
10
- }, r = {
11
- none: "text-foreground hover:text-foreground/80",
12
- default: "text-foreground hover:text-foreground/80",
13
- primary: "text-primary hover:text-primary/80",
14
- secondary: "text-secondary hover:text-secondary/80",
15
- success: "text-success hover:text-success/80",
16
- warning: "text-warning hover:text-warning/80",
17
- danger: "text-danger hover:text-danger/80"
8
+ sm: "size-3.5",
9
+ md: "size-4",
10
+ lg: "size-4.5"
18
11
  }, n = {
19
- default: "",
20
- muted: "text-foreground/70 hover:text-foreground",
21
- subtle: "opacity-80 hover:opacity-100"
22
- }, o = {
23
- always: "underline underline-offset-4 decoration-current",
24
- hover: "no-underline hover:underline underline-offset-4 decoration-current",
25
- never: "no-underline"
26
- };
27
- export {
28
- r as LINK_COLOR_CLASS,
29
- t as LINK_ICON_SIZE_CLASS,
30
- e as LINK_SIZE_CLASS,
31
- o as LINK_UNDERLINE_CLASS,
32
- n as LINK_VARIANT_CLASS
12
+ none: "text-foreground hover:text-foreground/80",
13
+ default: "text-foreground hover:text-foreground/80",
14
+ primary: "text-primary hover:text-primary/80",
15
+ secondary: "text-secondary hover:text-secondary/80",
16
+ success: "text-success hover:text-success/80",
17
+ warning: "text-warning hover:text-warning/80",
18
+ danger: "text-danger hover:text-danger/80"
19
+ }, r = {
20
+ default: "",
21
+ muted: "text-foreground/70 hover:text-foreground",
22
+ subtle: "opacity-80 hover:opacity-100"
23
+ }, i = {
24
+ always: "underline underline-offset-4 decoration-current",
25
+ hover: "no-underline hover:underline underline-offset-4 decoration-current",
26
+ never: "no-underline"
33
27
  };
28
+ //#endregion
29
+ export { n as LINK_COLOR_CLASS, t as LINK_ICON_SIZE_CLASS, e as LINK_SIZE_CLASS, i as LINK_UNDERLINE_CLASS, r as LINK_VARIANT_CLASS };
@@ -1,145 +1,56 @@
1
1
  "use client";
2
- import { jsx as r, jsxs as f, Fragment as O } from "react/jsx-runtime";
3
- import { forwardRef as P, useMemo as Q, isValidElement as T } from "react";
4
- import { useAsheeConfig as U } from "../../libs/context.js";
5
- import { resolveCascade as a } from "../../utils/resolve-token.js";
6
- import { FALLBACK_MARQUEE_CONFIG as o } from "./marquee-config.js";
7
- import { MARQUEE_SPEED_PRESETS as E, MARQUEE_FADE_START_CLASS as g, MARQUEE_FADE_END_CLASS as H } from "./marquee-styles.js";
8
- import { cn as s } from "../../utils/cn.js";
9
- const j = P(
10
- ({
11
- children: i,
12
- axis: y,
13
- direction: x,
14
- speed: A,
15
- gap: h,
16
- pauseOnHover: S,
17
- fadeEdges: _,
18
- className: N,
19
- itemClassName: p,
20
- ...q
21
- }, D) => {
22
- var v;
23
- const e = (v = U().components) == null ? void 0 : v.marquee, l = a(
24
- y,
25
- e == null ? void 0 : e.axis,
26
- void 0,
27
- o.axis
28
- ), F = a(
29
- x,
30
- e == null ? void 0 : e.direction,
31
- void 0,
32
- o.direction
33
- ), m = a(
34
- A,
35
- e == null ? void 0 : e.speed,
36
- void 0,
37
- o.speed
38
- ), d = a(
39
- h,
40
- e == null ? void 0 : e.gap,
41
- void 0,
42
- o.gap
43
- ), M = a(
44
- S,
45
- e == null ? void 0 : e.pauseOnHover,
46
- void 0,
47
- o.pauseOnHover
48
- ), R = a(
49
- _,
50
- e == null ? void 0 : e.fadeEdges,
51
- void 0,
52
- o.fadeEdges
53
- ), k = typeof m == "number" ? m : E[m] ?? E.normal, t = l === "y", w = Q(
54
- () => [i, i].map(($, u) => {
55
- const c = u === 0 ? "primary" : "secondary";
56
- return /* @__PURE__ */ r(
57
- "div",
58
- {
59
- className: s(
60
- "flex shrink-0",
61
- t ? "flex-col" : "flex-row"
62
- ),
63
- style: {
64
- gap: d
65
- },
66
- "aria-hidden": u === 1,
67
- children: $.map((n, b) => {
68
- const L = T(n) && n.key ? `${c}-${n.key}` : `${c}-item-${b}`;
69
- return /* @__PURE__ */ r("div", { className: s("shrink-0", p), children: n }, L);
70
- })
71
- },
72
- `${c}-set`
73
- );
74
- }),
75
- [i, t, d, p]
76
- );
77
- return /* @__PURE__ */ f(
78
- "div",
79
- {
80
- ref: D,
81
- className: s(
82
- "group relative scrollbar-hide overflow-hidden",
83
- t ? "h-full" : "w-full",
84
- N
85
- ),
86
- ...q,
87
- children: [
88
- /* @__PURE__ */ r("style", { children: `
89
- @keyframes marquee-x {
90
- from { transform: translateX(0%); }
91
- to { transform: translateX(-50%); }
92
- }
93
- @keyframes marquee-y {
94
- from { transform: translateY(0%); }
95
- to { transform: translateY(-50%); }
96
- }
97
- ` }),
98
- /* @__PURE__ */ r(
99
- "div",
100
- {
101
- className: s(
102
- "flex",
103
- t ? "flex-col" : "flex-row w-max",
104
- M && "group-hover:[animation-play-state:paused]"
105
- ),
106
- style: {
107
- gap: d,
108
- animationName: t ? "marquee-y" : "marquee-x",
109
- animationDuration: `${k}s`,
110
- animationTimingFunction: "linear",
111
- animationIterationCount: "infinite",
112
- animationDirection: F === "reverse" ? "reverse" : "normal"
113
- },
114
- children: w
115
- }
116
- ),
117
- R && /* @__PURE__ */ f(O, { children: [
118
- /* @__PURE__ */ r(
119
- "div",
120
- {
121
- className: s(
122
- "absolute z-10 pointer-events-none",
123
- g[l]
124
- )
125
- }
126
- ),
127
- /* @__PURE__ */ r(
128
- "div",
129
- {
130
- className: s(
131
- "absolute z-10 pointer-events-none",
132
- H[l]
133
- )
134
- }
135
- )
136
- ] })
137
- ]
138
- }
139
- );
140
- }
141
- );
142
- j.displayName = "Marquee";
143
- export {
144
- j as Marquee
145
- };
2
+ "use client";
3
+ import { cn as e } from "../../utils/cn.js";
4
+ import { useAsheeConfig as t } from "../../libs/context.js";
5
+ import { resolveCascade as n } from "../../utils/resolve-token.js";
6
+ import { FALLBACK_MARQUEE_CONFIG as r } from "./marquee-config.js";
7
+ import { MARQUEE_FADE_END_CLASS as i, MARQUEE_FADE_START_CLASS as a, MARQUEE_SPEED_PRESETS as o } from "./marquee-styles.js";
8
+ import { forwardRef as s, isValidElement as c, useMemo as l } from "react";
9
+ import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
10
+ //#region src/components/marquee/Marquee.tsx
11
+ var p = s(({ children: s, axis: p, direction: m, speed: h, gap: g, pauseOnHover: _, fadeEdges: v, className: y, itemClassName: b, ...x }, S) => {
12
+ let C = t().components?.marquee, w = n(p, C?.axis, void 0, r.axis), T = n(m, C?.direction, void 0, r.direction), E = n(h, C?.speed, void 0, r.speed), D = n(g, C?.gap, void 0, r.gap), O = n(_, C?.pauseOnHover, void 0, r.pauseOnHover), k = n(v, C?.fadeEdges, void 0, r.fadeEdges), A = typeof E == "number" ? E : o[E] ?? o.normal, j = w === "y", M = l(() => [s, s].map((t, n) => {
13
+ let r = n === 0 ? "primary" : "secondary";
14
+ return /* @__PURE__ */ d("div", {
15
+ className: e("flex shrink-0", j ? "flex-col" : "flex-row"),
16
+ style: { gap: D },
17
+ "aria-hidden": n === 1,
18
+ children: t.map((t, n) => {
19
+ let i = c(t) && t.key ? `${r}-${t.key}` : `${r}-item-${n}`;
20
+ return /* @__PURE__ */ d("div", {
21
+ className: e("shrink-0", b),
22
+ children: t
23
+ }, i);
24
+ })
25
+ }, `${r}-set`);
26
+ }), [
27
+ s,
28
+ j,
29
+ D,
30
+ b
31
+ ]);
32
+ return /* @__PURE__ */ f("div", {
33
+ ref: S,
34
+ className: e("group relative scrollbar-hide overflow-hidden", j ? "h-full" : "w-full", y),
35
+ ...x,
36
+ children: [
37
+ /* @__PURE__ */ d("style", { children: "\n @keyframes marquee-x {\n from { transform: translateX(0%); }\n to { transform: translateX(-50%); }\n }\n @keyframes marquee-y {\n from { transform: translateY(0%); }\n to { transform: translateY(-50%); }\n }\n " }),
38
+ /* @__PURE__ */ d("div", {
39
+ className: e("flex", j ? "flex-col" : "flex-row w-max", O && "group-hover:[animation-play-state:paused]"),
40
+ style: {
41
+ gap: D,
42
+ animationName: j ? "marquee-y" : "marquee-x",
43
+ animationDuration: `${A}s`,
44
+ animationTimingFunction: "linear",
45
+ animationIterationCount: "infinite",
46
+ animationDirection: T === "reverse" ? "reverse" : "normal"
47
+ },
48
+ children: M
49
+ }),
50
+ k && /* @__PURE__ */ f(u, { children: [/* @__PURE__ */ d("div", { className: e("absolute z-10 pointer-events-none", a[w]) }), /* @__PURE__ */ d("div", { className: e("absolute z-10 pointer-events-none", i[w]) })] })
51
+ ]
52
+ });
53
+ });
54
+ p.displayName = "Marquee";
55
+ //#endregion
56
+ export { p as Marquee };
@@ -1,22 +1,21 @@
1
1
  "use client";
2
2
  import { registerComponentDefaults as e } from "../../libs/registry.js";
3
- const r = {
4
- axis: "x",
5
- direction: "forward",
6
- speed: "normal",
7
- gap: "1.5rem",
8
- pauseOnHover: !1,
9
- fadeEdges: !1
10
- }, o = {
11
- axis: "x",
12
- direction: "forward",
13
- speed: "normal",
14
- gap: "1.5rem",
15
- pauseOnHover: !0,
16
- fadeEdges: !0
17
- };
18
- e("marquee", r);
19
- export {
20
- o as FALLBACK_MARQUEE_CONFIG,
21
- r as defaultMarqueeConfig
3
+ //#region src/components/marquee/marquee-config.ts
4
+ var t = {
5
+ axis: "x",
6
+ direction: "forward",
7
+ speed: "normal",
8
+ gap: "1.5rem",
9
+ pauseOnHover: !1,
10
+ fadeEdges: !1
11
+ }, n = {
12
+ axis: "x",
13
+ direction: "forward",
14
+ speed: "normal",
15
+ gap: "1.5rem",
16
+ pauseOnHover: !0,
17
+ fadeEdges: !0
22
18
  };
19
+ e("marquee", t);
20
+ //#endregion
21
+ export { n as FALLBACK_MARQUEE_CONFIG, t as defaultMarqueeConfig };
@@ -1,17 +1,15 @@
1
1
  "use client";
2
- const t = {
3
- slow: 50,
4
- normal: 30,
5
- fast: 15
6
- }, o = {
7
- x: "top-0 left-0 h-full w-24 bg-linear-to-r from-background to-transparent",
8
- y: "top-0 left-0 w-full h-24 bg-linear-to-b from-background to-transparent"
9
- }, r = {
10
- x: "top-0 -right-5 h-full w-24 bg-linear-to-l from-background to-transparent",
11
- y: "bottom-0 left-0 w-full h-24 bg-linear-to-t from-background to-transparent"
12
- };
13
- export {
14
- r as MARQUEE_FADE_END_CLASS,
15
- o as MARQUEE_FADE_START_CLASS,
16
- t as MARQUEE_SPEED_PRESETS
2
+ //#region src/components/marquee/marquee-styles.ts
3
+ var e = {
4
+ slow: 50,
5
+ normal: 30,
6
+ fast: 15
7
+ }, t = {
8
+ x: "top-0 left-0 h-full w-24 bg-linear-to-r from-background to-transparent",
9
+ y: "top-0 left-0 w-full h-24 bg-linear-to-b from-background to-transparent"
10
+ }, n = {
11
+ x: "top-0 -right-5 h-full w-24 bg-linear-to-l from-background to-transparent",
12
+ y: "bottom-0 left-0 w-full h-24 bg-linear-to-t from-background to-transparent"
17
13
  };
14
+ //#endregion
15
+ export { n as MARQUEE_FADE_END_CLASS, t as MARQUEE_FADE_START_CLASS, e as MARQUEE_SPEED_PRESETS };
@@ -1,6 +1,24 @@
1
1
  import { HTMLAttributes, ReactNode } from 'react';
2
2
  import { ModalConfig } from './modal-config';
3
- type BaseModalProps = ModalConfig & Omit<HTMLAttributes<HTMLDivElement>, "size">;
3
+ type BaseModalProps = ModalConfig & Omit<HTMLAttributes<HTMLDivElement>, "size" | "content">;
4
+ /**
5
+ * Props for the modal's backdrop overlay.
6
+ */
7
+ export interface ModalOverlayProps {
8
+ /**
9
+ * Extra classes applied to the backdrop element.
10
+ */
11
+ className?: string;
12
+ }
13
+ /**
14
+ * Props for the modal's content container.
15
+ */
16
+ export interface ModalContentProps {
17
+ /**
18
+ * Extra classes applied to the modal content container.
19
+ */
20
+ className?: string;
21
+ }
4
22
  /**
5
23
  * Configuration options for the Modal component.
6
24
  */
@@ -32,15 +50,13 @@ export interface ModalProps extends BaseModalProps {
32
50
  */
33
51
  height?: string;
34
52
  /**
35
- * Backdrop overlay custom class name.
36
- * Extra classes applied to the backdrop element.
53
+ * Backdrop overlay overrides, including its class override.
37
54
  */
38
- overlayClassName?: string;
55
+ overlay?: ModalOverlayProps;
39
56
  /**
40
- * Content container custom class name.
41
- * Extra classes applied to the modal content container.
57
+ * Content container overrides, including its class override.
42
58
  */
43
- contentClassName?: string;
59
+ content?: ModalContentProps;
44
60
  }
45
61
  /**
46
62
  * A dialog overlay with backdrop, scroll locking, and configurable animations.
@@ -68,8 +84,8 @@ export interface ModalProps extends BaseModalProps {
68
84
  * @param props.closeOnEscape - Whether pressing Escape closes the modal. Defaults to true.
69
85
  * @param props.width - Width override for the modal.
70
86
  * @param props.height - Height override for the modal.
71
- * @param props.overlayClassName - Extra classes for the backdrop.
72
- * @param props.contentClassName - Extra classes for the content container.
87
+ * @param props.overlay - Backdrop overlay overrides (className).
88
+ * @param props.content - Content container overrides (className).
73
89
  * @param props.children - The modal content.
74
90
  *
75
91
  * @example
@@ -118,7 +134,7 @@ export interface ModalProps extends BaseModalProps {
118
134
  * @see ModalConfig - The configuration type for component defaults.
119
135
  * @see useAsheeConfig - Hook for accessing the global configuration.
120
136
  */
121
- export declare function Modal({ isOpen, onClose, children, width, height, size, position: positionProp, radius, animated: animatedProp, closeOnBackdropClick: closeOnBackdropClickProp, closeOnEscape: closeOnEscapeProp, overlayClassName: overlayClassNameProp, contentClassName: contentClassNameProp, className, style, ...props }: ModalProps): import("react").JSX.Element | null;
137
+ export declare function Modal({ isOpen, onClose, children, width, height, size, position: positionProp, radius, animated: animatedProp, closeOnBackdropClick: closeOnBackdropClickProp, closeOnEscape: closeOnEscapeProp, overlay, content, className, style, ...props }: ModalProps): import("react").JSX.Element | null;
122
138
  export declare namespace Modal {
123
139
  var displayName: string;
124
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/modal/Modal.tsx"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AASf,OAAO,EAEL,KAAK,WAAW,EAGjB,MAAM,gBAAgB,CAAC;AAGxB,KAAK,cAAc,GAAG,WAAW,GAC/B,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AACH,wBAAgB,KAAK,CAAC,EACpB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,MAAM,EACN,IAAI,EACJ,QAAQ,EAAE,YAAY,EACtB,MAAM,EACN,QAAQ,EAAE,YAAY,EACtB,oBAAoB,EAAE,wBAAwB,EAC9C,aAAa,EAAE,iBAAiB,EAChC,gBAAgB,EAAE,oBAAoB,EACtC,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,UAAU,sCA+JZ;yBAhLe,KAAK"}
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/modal/Modal.tsx"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAUf,OAAO,EAEL,KAAK,WAAW,EAGjB,MAAM,gBAAgB,CAAC;AAGxB,KAAK,cAAc,GAAG,WAAW,GAC/B,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAE5B;;OAEG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AACH,wBAAgB,KAAK,CAAC,EACpB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,MAAM,EACN,IAAI,EACJ,QAAQ,EAAE,YAAY,EACtB,MAAM,EACN,QAAQ,EAAE,YAAY,EACtB,oBAAoB,EAAE,wBAAwB,EAC9C,aAAa,EAAE,iBAAiB,EAChC,OAAO,EACP,OAAO,EACP,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,UAAU,sCAkKZ;yBAnLe,KAAK"}