asheeui 0.7.0 → 1.0.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 (266) hide show
  1. package/dist/AsheeUIProvider.d.ts.map +1 -1
  2. package/dist/AsheeUIProvider.js +22 -15
  3. package/dist/components/accordion/Accordion.d.ts.map +1 -1
  4. package/dist/components/accordion/Accordion.js +9 -7
  5. package/dist/components/alert/Alert.d.ts +88 -0
  6. package/dist/components/alert/Alert.d.ts.map +1 -0
  7. package/dist/components/alert/Alert.js +61 -0
  8. package/dist/components/alert/alert-config.d.ts +56 -0
  9. package/dist/components/alert/alert-config.d.ts.map +1 -0
  10. package/dist/components/alert/alert-config.js +14 -0
  11. package/dist/components/alert/alert-styles.d.ts +32 -0
  12. package/dist/components/alert/alert-styles.d.ts.map +1 -0
  13. package/dist/components/alert/alert-styles.js +20 -0
  14. package/dist/components/alert/index.d.ts +3 -0
  15. package/dist/components/alert/index.d.ts.map +1 -0
  16. package/dist/components/alert/index.js +3 -0
  17. package/dist/components/autocomplete/Autocomplete.d.ts +6 -6
  18. package/dist/components/autocomplete/Autocomplete.d.ts.map +1 -1
  19. package/dist/components/autocomplete/Autocomplete.js +94 -58
  20. package/dist/components/autocomplete/autocomplete-config.d.ts +1 -1
  21. package/dist/components/autocomplete/autocomplete-config.d.ts.map +1 -1
  22. package/dist/components/avatar/Avatar.d.ts +87 -0
  23. package/dist/components/avatar/Avatar.d.ts.map +1 -0
  24. package/dist/components/avatar/Avatar.js +43 -0
  25. package/dist/components/avatar/avatar-config.d.ts +48 -0
  26. package/dist/components/avatar/avatar-config.d.ts.map +1 -0
  27. package/dist/components/avatar/avatar-config.js +14 -0
  28. package/dist/components/avatar/avatar-styles.d.ts +21 -0
  29. package/dist/components/avatar/avatar-styles.d.ts.map +1 -0
  30. package/dist/components/avatar/avatar-styles.js +13 -0
  31. package/dist/components/avatar/avatar.helpers.d.ts +19 -0
  32. package/dist/components/avatar/avatar.helpers.d.ts.map +1 -0
  33. package/dist/components/avatar/avatar.helpers.js +11 -0
  34. package/dist/components/avatar/index.d.ts +3 -0
  35. package/dist/components/avatar/index.d.ts.map +1 -0
  36. package/dist/components/avatar/index.js +4 -0
  37. package/dist/components/badge/Badge.d.ts +69 -0
  38. package/dist/components/badge/Badge.d.ts.map +1 -0
  39. package/dist/components/badge/Badge.js +39 -0
  40. package/dist/components/badge/badge-config.d.ts +63 -0
  41. package/dist/components/badge/badge-config.d.ts.map +1 -0
  42. package/dist/components/badge/badge-config.js +15 -0
  43. package/dist/components/badge/badge-styles.d.ts +27 -0
  44. package/dist/components/badge/badge-styles.d.ts.map +1 -0
  45. package/dist/components/badge/badge-styles.js +25 -0
  46. package/dist/components/badge/index.d.ts +3 -0
  47. package/dist/components/badge/index.d.ts.map +1 -0
  48. package/dist/components/badge/index.js +3 -0
  49. package/dist/components/breadcrumb/Breadcrumb.d.ts +106 -0
  50. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -0
  51. package/dist/components/breadcrumb/Breadcrumb.js +52 -0
  52. package/dist/components/breadcrumb/breadcrumb-config.d.ts +41 -0
  53. package/dist/components/breadcrumb/breadcrumb-config.d.ts.map +1 -0
  54. package/dist/components/breadcrumb/breadcrumb-config.js +10 -0
  55. package/dist/components/breadcrumb/breadcrumb-styles.d.ts +28 -0
  56. package/dist/components/breadcrumb/breadcrumb-styles.d.ts.map +1 -0
  57. package/dist/components/breadcrumb/breadcrumb-styles.js +17 -0
  58. package/dist/components/breadcrumb/index.d.ts +3 -0
  59. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  60. package/dist/components/breadcrumb/index.js +3 -0
  61. package/dist/components/button/Button.d.ts.map +1 -1
  62. package/dist/components/button/Button.js +10 -7
  63. package/dist/components/{date-picker/DatePicker.d.ts → calendar/Calendar.d.ts} +21 -21
  64. package/dist/components/calendar/Calendar.d.ts.map +1 -0
  65. package/dist/components/{date-picker/DatePicker.js → calendar/Calendar.js} +11 -11
  66. package/dist/components/{date-picker/Calendar.d.ts → calendar/DateGrid.d.ts} +7 -7
  67. package/dist/components/calendar/DateGrid.d.ts.map +1 -0
  68. package/dist/components/calendar/DateGrid.js +194 -0
  69. package/dist/components/calendar/TimeSpinner.d.ts.map +1 -0
  70. package/dist/components/{date-picker → calendar}/TimeSpinner.js +3 -3
  71. package/dist/components/{date-picker/date-picker-config.d.ts → calendar/calendar-config.d.ts} +17 -17
  72. package/dist/components/calendar/calendar-config.d.ts.map +1 -0
  73. package/dist/components/{date-picker/date-picker-config.js → calendar/calendar-config.js} +3 -3
  74. package/dist/components/{date-picker/date-picker-styles.d.ts → calendar/calendar-styles.d.ts} +1 -1
  75. package/dist/components/calendar/calendar-styles.d.ts.map +1 -0
  76. package/dist/components/{date-picker/date-picker-styles.js → calendar/calendar-styles.js} +1 -1
  77. package/dist/components/{date-picker/date-picker.helpers.d.ts → calendar/calendar.helpers.d.ts} +9 -9
  78. package/dist/components/calendar/calendar.helpers.d.ts.map +1 -0
  79. package/dist/components/{date-picker/date-picker.helpers.js → calendar/calendar.helpers.js} +4 -4
  80. package/dist/components/calendar/index.d.ts +3 -0
  81. package/dist/components/calendar/index.d.ts.map +1 -0
  82. package/dist/components/calendar/index.js +6 -0
  83. package/dist/components/card/Card.d.ts +6 -6
  84. package/dist/components/card/Card.d.ts.map +1 -1
  85. package/dist/components/card/Card.js +8 -8
  86. package/dist/components/carousel/Carousel.d.ts.map +1 -1
  87. package/dist/components/carousel/Carousel.js +85 -83
  88. package/dist/components/carousel/carousel-styles.d.ts +1 -20
  89. package/dist/components/carousel/carousel-styles.d.ts.map +1 -1
  90. package/dist/components/chip/Chip.js +5 -5
  91. package/dist/components/drawer/Drawer.d.ts +8 -4
  92. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  93. package/dist/components/drawer/Drawer.js +54 -38
  94. package/dist/components/{select/Select.d.ts → dropmenu/Dropmenu.d.ts} +21 -21
  95. package/dist/components/{select/Select.d.ts.map → dropmenu/Dropmenu.d.ts.map} +1 -1
  96. package/dist/components/dropmenu/Dropmenu.js +102 -0
  97. package/dist/components/{select/select-config.d.ts → dropmenu/dropmenu-config.d.ts} +8 -8
  98. package/dist/components/dropmenu/dropmenu-config.d.ts.map +1 -0
  99. package/dist/components/{select/select-config.js → dropmenu/dropmenu-config.js} +3 -3
  100. package/dist/components/{select/select-styles.d.ts → dropmenu/dropmenu-styles.d.ts} +1 -1
  101. package/dist/components/dropmenu/dropmenu-styles.d.ts.map +1 -0
  102. package/dist/components/{select/select-styles.js → dropmenu/dropmenu-styles.js} +1 -1
  103. package/dist/components/dropmenu/index.d.ts +3 -0
  104. package/dist/components/dropmenu/index.d.ts.map +1 -0
  105. package/dist/components/dropmenu/index.js +3 -0
  106. package/dist/components/field/FieldShell.d.ts +13 -1
  107. package/dist/components/field/FieldShell.d.ts.map +1 -1
  108. package/dist/components/field/FieldShell.js +16 -15
  109. package/dist/components/form/Form.d.ts +109 -0
  110. package/dist/components/form/Form.d.ts.map +1 -0
  111. package/dist/components/form/Form.js +42 -0
  112. package/dist/components/form/form-config.d.ts +57 -0
  113. package/dist/components/form/form-config.d.ts.map +1 -0
  114. package/dist/components/form/form-config.js +12 -0
  115. package/dist/components/form/form-styles.d.ts +27 -0
  116. package/dist/components/form/form-styles.d.ts.map +1 -0
  117. package/dist/components/form/form-styles.js +5 -0
  118. package/dist/components/form/index.d.ts +3 -0
  119. package/dist/components/form/index.d.ts.map +1 -0
  120. package/dist/components/form/index.js +3 -0
  121. package/dist/components/image/Image.d.ts +4 -5
  122. package/dist/components/image/Image.d.ts.map +1 -1
  123. package/dist/components/image/Image.js +5 -5
  124. package/dist/components/input/Input.js +5 -5
  125. package/dist/components/link/Link.d.ts +12 -10
  126. package/dist/components/link/Link.d.ts.map +1 -1
  127. package/dist/components/link/Link.js +1 -1
  128. package/dist/components/marquee/Marquee.d.ts.map +1 -1
  129. package/dist/components/marquee/Marquee.js +36 -33
  130. package/dist/components/{select-menu/SelectMenu.d.ts → menu/Menu.d.ts} +52 -19
  131. package/dist/components/menu/Menu.d.ts.map +1 -0
  132. package/dist/components/menu/Menu.js +161 -0
  133. package/dist/components/menu/index.d.ts +5 -0
  134. package/dist/components/menu/index.d.ts.map +1 -0
  135. package/dist/components/menu/index.js +4 -0
  136. package/dist/components/{select-menu/select-menu-config.d.ts → menu/menu-config.d.ts} +5 -5
  137. package/dist/components/menu/menu-config.d.ts.map +1 -0
  138. package/dist/components/{select-menu/select-menu-config.js → menu/menu-config.js} +2 -2
  139. package/dist/components/menu/menu-navigation.d.ts +38 -0
  140. package/dist/components/menu/menu-navigation.d.ts.map +1 -0
  141. package/dist/components/menu/menu-navigation.js +20 -0
  142. package/dist/components/{select-menu/use-select-floating.d.ts → menu/use-menu-floating.d.ts} +10 -10
  143. package/dist/components/menu/use-menu-floating.d.ts.map +1 -0
  144. package/dist/components/{select-menu/use-select-floating.js → menu/use-menu-floating.js} +2 -2
  145. package/dist/components/modal/Modal.d.ts +6 -1
  146. package/dist/components/modal/Modal.d.ts.map +1 -1
  147. package/dist/components/modal/Modal.js +62 -45
  148. package/dist/components/multi-select/MultiSelect.d.ts +11 -10
  149. package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
  150. package/dist/components/multi-select/MultiSelect.js +99 -86
  151. package/dist/components/multi-select/multi-select-config.d.ts +1 -1
  152. package/dist/components/multi-select/multi-select-config.d.ts.map +1 -1
  153. package/dist/components/pagination/Pagination.d.ts +91 -0
  154. package/dist/components/pagination/Pagination.d.ts.map +1 -0
  155. package/dist/components/pagination/Pagination.js +66 -0
  156. package/dist/components/pagination/index.d.ts +3 -0
  157. package/dist/components/pagination/index.d.ts.map +1 -0
  158. package/dist/components/pagination/index.js +4 -0
  159. package/dist/components/pagination/pagination-config.d.ts +66 -0
  160. package/dist/components/pagination/pagination-config.d.ts.map +1 -0
  161. package/dist/components/pagination/pagination-config.js +19 -0
  162. package/dist/components/pagination/pagination-styles.d.ts +19 -0
  163. package/dist/components/pagination/pagination-styles.d.ts.map +1 -0
  164. package/dist/components/pagination/pagination-styles.js +5 -0
  165. package/dist/components/pagination/pagination.helpers.d.ts +26 -0
  166. package/dist/components/pagination/pagination.helpers.d.ts.map +1 -0
  167. package/dist/components/pagination/pagination.helpers.js +12 -0
  168. package/dist/components/radio/Radio.d.ts +53 -107
  169. package/dist/components/radio/Radio.d.ts.map +1 -1
  170. package/dist/components/radio/Radio.js +50 -36
  171. package/dist/components/radio/RadioGroup.d.ts +107 -53
  172. package/dist/components/radio/RadioGroup.d.ts.map +1 -1
  173. package/dist/components/radio/RadioGroup.js +43 -49
  174. package/dist/components/radio/index.d.ts +0 -1
  175. package/dist/components/radio/index.d.ts.map +1 -1
  176. package/dist/components/resizable-screen/ResizableScreen.d.ts +4 -4
  177. package/dist/components/scrollbar/index.js +1 -0
  178. package/dist/components/scrollbar/scrollbar-config.js +13 -0
  179. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  180. package/dist/components/sidebar/Sidebar.js +92 -90
  181. package/dist/components/skeleton/Skeleton.d.ts +65 -0
  182. package/dist/components/skeleton/Skeleton.d.ts.map +1 -0
  183. package/dist/components/skeleton/Skeleton.js +29 -0
  184. package/dist/components/skeleton/index.d.ts +3 -0
  185. package/dist/components/skeleton/index.d.ts.map +1 -0
  186. package/dist/components/skeleton/index.js +3 -0
  187. package/dist/components/skeleton/skeleton-config.d.ts +40 -0
  188. package/dist/components/skeleton/skeleton-config.d.ts.map +1 -0
  189. package/dist/components/skeleton/skeleton-config.js +13 -0
  190. package/dist/components/skeleton/skeleton-styles.d.ts +19 -0
  191. package/dist/components/skeleton/skeleton-styles.d.ts.map +1 -0
  192. package/dist/components/skeleton/skeleton-styles.js +5 -0
  193. package/dist/components/switch/Switch.d.ts.map +1 -1
  194. package/dist/components/switch/Switch.js +7 -5
  195. package/dist/components/table/Table.js +3 -3
  196. package/dist/components/tabs/Tabs.js +3 -3
  197. package/dist/components/textarea/Textarea.d.ts +10 -10
  198. package/dist/components/textarea/Textarea.js +7 -7
  199. package/dist/components/textarea/textarea-config.d.ts +2 -2
  200. package/dist/components/toast/ToastItem.d.ts.map +1 -1
  201. package/dist/components/toast/ToastItem.js +8 -7
  202. package/dist/components/tooltip/Tooltip.js +5 -5
  203. package/dist/components/typography/Typography.d.ts +60 -0
  204. package/dist/components/typography/Typography.d.ts.map +1 -0
  205. package/dist/components/typography/Typography.js +28 -0
  206. package/dist/components/typography/index.d.ts +3 -0
  207. package/dist/components/typography/index.d.ts.map +1 -0
  208. package/dist/components/typography/index.js +3 -0
  209. package/dist/components/typography/typography-config.d.ts +54 -0
  210. package/dist/components/typography/typography-config.d.ts.map +1 -0
  211. package/dist/components/typography/typography-config.js +12 -0
  212. package/dist/components/typography/typography-styles.d.ts +21 -0
  213. package/dist/components/typography/typography-styles.d.ts.map +1 -0
  214. package/dist/components/typography/typography-styles.js +19 -0
  215. package/dist/config/default-config.d.ts.map +1 -1
  216. package/dist/config/default-config.js +2 -2
  217. package/dist/config/index.js +1 -0
  218. package/dist/config/validate-config.d.ts +34 -0
  219. package/dist/config/validate-config.d.ts.map +1 -0
  220. package/dist/config/validate-config.js +190 -0
  221. package/dist/index.d.ts +15 -17
  222. package/dist/index.d.ts.map +1 -1
  223. package/dist/index.js +61 -47
  224. package/dist/libs/index.js +3 -0
  225. package/dist/libs/use-body-scroll-lock.d.ts +21 -0
  226. package/dist/libs/use-body-scroll-lock.d.ts.map +1 -0
  227. package/dist/libs/use-body-scroll-lock.js +27 -0
  228. package/dist/libs/use-dialog-overlay.d.ts +21 -0
  229. package/dist/libs/use-dialog-overlay.d.ts.map +1 -0
  230. package/dist/libs/use-dialog-overlay.js +21 -0
  231. package/dist/libs/use-prefers-reduced-motion.d.ts +23 -0
  232. package/dist/libs/use-prefers-reduced-motion.d.ts.map +1 -0
  233. package/dist/libs/use-prefers-reduced-motion.js +19 -0
  234. package/dist/scripts/AsheeThemeScript.js +43 -8
  235. package/dist/shared/index.d.ts +1 -0
  236. package/dist/shared/index.d.ts.map +1 -1
  237. package/dist/shared/typography.d.ts +81 -0
  238. package/dist/shared/typography.d.ts.map +1 -0
  239. package/dist/shared/typography.js +137 -0
  240. package/dist/utils/stacking.d.ts +2 -2
  241. package/dist/utils/stacking.d.ts.map +1 -1
  242. package/package.json +13 -6
  243. package/dist/components/date-picker/Calendar.d.ts.map +0 -1
  244. package/dist/components/date-picker/Calendar.js +0 -143
  245. package/dist/components/date-picker/DatePicker.d.ts.map +0 -1
  246. package/dist/components/date-picker/TimeSpinner.d.ts.map +0 -1
  247. package/dist/components/date-picker/date-picker-config.d.ts.map +0 -1
  248. package/dist/components/date-picker/date-picker-styles.d.ts.map +0 -1
  249. package/dist/components/date-picker/date-picker.helpers.d.ts.map +0 -1
  250. package/dist/components/date-picker/index.d.ts +0 -3
  251. package/dist/components/date-picker/index.d.ts.map +0 -1
  252. package/dist/components/date-picker/index.js +0 -6
  253. package/dist/components/select/Select.js +0 -98
  254. package/dist/components/select/index.d.ts +0 -3
  255. package/dist/components/select/index.d.ts.map +0 -1
  256. package/dist/components/select/index.js +0 -3
  257. package/dist/components/select/select-config.d.ts.map +0 -1
  258. package/dist/components/select/select-styles.d.ts.map +0 -1
  259. package/dist/components/select-menu/SelectMenu.d.ts.map +0 -1
  260. package/dist/components/select-menu/SelectMenu.js +0 -104
  261. package/dist/components/select-menu/index.d.ts +0 -4
  262. package/dist/components/select-menu/index.d.ts.map +0 -1
  263. package/dist/components/select-menu/index.js +0 -3
  264. package/dist/components/select-menu/select-menu-config.d.ts.map +0 -1
  265. package/dist/components/select-menu/use-select-floating.d.ts.map +0 -1
  266. /package/dist/components/{date-picker → calendar}/TimeSpinner.d.ts +0 -0
@@ -2,24 +2,24 @@
2
2
  "use client";
3
3
  import { cn as e } from "../../utils/cn.js";
4
4
  import { ASHEE_LAYER as t } from "../../utils/stacking.js";
5
- import { useAsheeConfig as n } from "../../libs/context.js";
6
- import { RADIUS_CLASS as r } from "../../shared/radius.js";
5
+ import { RADIUS_CLASS as n } from "../../shared/radius.js";
6
+ import { useAsheeConfig as r } from "../../libs/context.js";
7
7
  import { resolveCascade as i, resolveClassKey as a, resolveRadiusKey as o } from "../../utils/resolve-token.js";
8
8
  import { Input as s } from "../input/Input.js";
9
- import { FALLBACK_SELECT_MENU_CONFIG as c } from "../select-menu/select-menu-config.js";
10
- import { useSelectFloating as l } from "../select-menu/use-select-floating.js";
9
+ import { FALLBACK_MENU_CONFIG as c } from "../menu/menu-config.js";
10
+ import { useMenuFloating as l } from "../menu/use-menu-floating.js";
11
11
  import { CalendarIcon as u } from "../../icons/CalendarIcon.js";
12
12
  import { ClearIcon as d } from "../../icons/ClearIcon.js";
13
13
  import { ClockIcon as ee } from "../../icons/ClockIcon.js";
14
- import { formatDisplay as f, getDefaultPlaceholder as p, getNewCursorPosition as m, parseDateString as h } from "./date-picker.helpers.js";
15
- import { Calendar as g } from "./Calendar.js";
16
- import { FALLBACK_DATE_PICKER_CONFIG as _ } from "./date-picker-config.js";
14
+ import { formatDisplay as f, getDefaultPlaceholder as p, getNewCursorPosition as m, parseDateString as h } from "./calendar.helpers.js";
15
+ import { DateGrid as g } from "./DateGrid.js";
16
+ import { FALLBACK_DATE_PICKER_CONFIG as _ } from "./calendar-config.js";
17
17
  import { forwardRef as v, useCallback as y, useEffect as b, useId as x, useRef as S, useState as C } from "react";
18
18
  import { Fragment as te, jsx as w, jsxs as T } from "react/jsx-runtime";
19
19
  import { FloatingFocusManager as E, FloatingPortal as D } from "@floating-ui/react";
20
- //#region src/components/date-picker/DatePicker.tsx
20
+ //#region src/components/calendar/Calendar.tsx
21
21
  var O = v(({ selected: v, onChange: O, mode: k, isClearable: A = !1, disableFuture: j = !1, placeholder: ne, size: M, radius: N, color: P, disabled: F, picker: I, ...L }, R) => {
22
- let z = n(), B = z.components?.datePicker, V = x(), H = L.id ?? V, [U, W] = C(!1), [G, K] = C(""), q = S(null), J = i(k, B?.mode, void 0, _.mode), Y = i(I?.portal, B?.picker?.portal, void 0, c.portal), re = i(I?.portalTarget, B?.picker?.portalTarget, void 0, null), X = i(I?.lockScroll, B?.picker?.lockScroll, void 0, !0), ie = i(M, B?.size, void 0, _.size), ae = i(P, B?.color, z.defaultColor, _.color), Z = o(typeof N == "string" ? N : void 0, typeof B?.radius == "string" ? B.radius : void 0, z.defaultRadius, _.radius), oe = a(Z === "full" ? "xl" : Z, r, _.radius), { refs: Q, context: se, floatingStyles: ce, isPositioned: le, getReferenceProps: ue, getFloatingProps: de } = l({
22
+ let z = r(), B = z.components?.calendar, V = x(), H = L.id ?? V, [U, W] = C(!1), [G, K] = C(""), q = S(null), J = i(k, B?.mode, void 0, _.mode), Y = i(I?.portal, B?.picker?.portal, void 0, c.portal), re = i(I?.portalTarget, B?.picker?.portalTarget, void 0, null), X = i(I?.lockScroll, B?.picker?.lockScroll, void 0, !0), ie = i(M, B?.size, void 0, _.size), ae = i(P, B?.color, z.defaultColor, _.color), Z = o(typeof N == "string" ? N : void 0, typeof B?.radius == "string" ? B.radius : void 0, z.defaultRadius, _.radius), oe = a(Z === "full" ? "xl" : Z, n, _.radius), { refs: Q, context: se, floatingStyles: ce, isPositioned: le, getReferenceProps: ue, getFloatingProps: de } = l({
23
23
  isOpen: U,
24
24
  onOpenChange: W,
25
25
  disabled: F,
@@ -118,6 +118,6 @@ var O = v(({ selected: v, onChange: O, mode: k, isClearable: A = !1, disableFutu
118
118
  }) : $)]
119
119
  });
120
120
  });
121
- O.displayName = "DatePicker";
121
+ O.displayName = "Calendar";
122
122
  //#endregion
123
- export { O as DatePicker };
123
+ export { O as Calendar };
@@ -1,7 +1,7 @@
1
1
  import { Color } from '../../shared';
2
2
  import { FieldSizeKey } from '../field/field-config';
3
- import { DatePickerMode } from './date-picker-config';
4
- interface CalendarProps {
3
+ import { CalendarMode } from './calendar-config';
4
+ interface DateGridProps {
5
5
  /**
6
6
  * The currently selected date.
7
7
  * Used to highlight the selected day and initialize time values.
@@ -11,7 +11,7 @@ interface CalendarProps {
11
11
  * Selection mode of the picker.
12
12
  * Controls whether the calendar, time spinners, or both are shown.
13
13
  */
14
- mode: DatePickerMode;
14
+ mode: CalendarMode;
15
15
  /**
16
16
  * Whether a clear button is shown in the footer.
17
17
  */
@@ -50,13 +50,13 @@ interface CalendarProps {
50
50
  disableFuture?: boolean;
51
51
  }
52
52
  /**
53
- * Calendar popover component with month navigation and date selection.
53
+ * DateGrid popover component with month navigation and date selection.
54
54
  *
55
- * Memoized so parent-driven renders (the DatePicker popover's one-time
55
+ * Memoized so parent-driven renders (the Calendar popover's one-time
56
56
  * `isPositioned` flip, input typing, open/close) do not rebuild the month
57
57
  * grid. Every prop is a primitive or a stable callback, so React.memo can
58
58
  * skip those renders.
59
59
  */
60
- export declare const Calendar: import('react').MemoExoticComponent<({ selected, mode, isClearable, resolvedSizeKey, resolvedColor, radiusClass, onSelect, onClose, disableFuture, }: CalendarProps) => import("react").JSX.Element>;
60
+ export declare const DateGrid: import('react').MemoExoticComponent<({ selected, mode, isClearable, resolvedSizeKey, resolvedColor, radiusClass, onSelect, onClose, disableFuture, }: DateGridProps) => import("react").JSX.Element>;
61
61
  export {};
62
- //# sourceMappingURL=Calendar.d.ts.map
62
+ //# sourceMappingURL=DateGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateGrid.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/DateGrid.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAStD,UAAU,aAAa;IACrB;;;OAGG;IACH,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC;;;OAGG;IACH,IAAI,EAAE,YAAY,CAAC;IACnB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,eAAe,EAAE,YAAY,CAAC;IAC9B;;;OAGG;IACH,aAAa,EAAE,KAAK,CAAC;IACrB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IACtC;;;OAGG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,wJAUlB,aAAa,iCA4Yd,CAAC"}
@@ -0,0 +1,194 @@
1
+ "use client";
2
+ import { cn as e } from "../../utils/cn.js";
3
+ import { ChevronRightIcon as t } from "../../icons/ChevronRightIcon.js";
4
+ import { ChevronLeftIcon as n } from "../../icons/ChevronLeftIcon.js";
5
+ import { DAYS_OF_WEEK as r, MONTHS as i, buildDayCells as a } from "./calendar.helpers.js";
6
+ import { CALENDAR_COLOR_CLASSES as o, DATE_PICKER_CELL_SIZE_CLASS as s } from "./calendar-styles.js";
7
+ import { TimeSpinner as c } from "./TimeSpinner.js";
8
+ import { memo as l, useCallback as u, useEffect as d, useMemo as f, useRef as p, useState as m } from "react";
9
+ import { jsx as h, jsxs as g } from "react/jsx-runtime";
10
+ //#region src/components/calendar/DateGrid.tsx
11
+ var _ = l(function({ selected: l, mode: _, isClearable: v, resolvedSizeKey: y, resolvedColor: b, radiusClass: x, onSelect: S, onClose: C, disableFuture: w = !1 }) {
12
+ let T = /* @__PURE__ */ new Date(), [E, D] = m(l?.getFullYear() ?? T.getFullYear()), [O, k] = m(l?.getMonth() ?? T.getMonth()), [A, ee] = m(l?.getHours() ?? 0), [j, te] = m(l?.getMinutes() ?? 0), [M, N] = m(l?.getSeconds() ?? 0), [P, F] = m(() => l ?? T), I = p({}), L = p(!1), R = (e) => `${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`, z = u((e) => {
13
+ F((t) => {
14
+ let n = new Date(t.getFullYear(), t.getMonth(), t.getDate() + e);
15
+ return D(n.getFullYear()), k(n.getMonth()), L.current = !0, n;
16
+ });
17
+ }, []);
18
+ d(() => {
19
+ L.current && (L.current = !1, I.current[R(P)]?.focus());
20
+ });
21
+ function B(e) {
22
+ switch (e.key) {
23
+ case "ArrowLeft":
24
+ e.preventDefault(), z(-1);
25
+ return;
26
+ case "ArrowRight":
27
+ e.preventDefault(), z(1);
28
+ return;
29
+ case "ArrowUp":
30
+ e.preventDefault(), z(-7);
31
+ return;
32
+ case "ArrowDown":
33
+ e.preventDefault(), z(7);
34
+ return;
35
+ case "PageUp":
36
+ e.preventDefault(), z(-30);
37
+ return;
38
+ case "PageDown":
39
+ e.preventDefault(), z(30);
40
+ return;
41
+ }
42
+ }
43
+ let V = o[b] ?? o.primary;
44
+ function H(e, t, n) {
45
+ let r = l ?? /* @__PURE__ */ new Date();
46
+ S(new Date(r.getFullYear(), r.getMonth(), r.getDate(), e, t, n, 0));
47
+ }
48
+ function U(e) {
49
+ ee(e), H(e, j, M);
50
+ }
51
+ function W(e) {
52
+ te(e), H(A, e, M);
53
+ }
54
+ function G(e) {
55
+ N(e), H(A, j, e);
56
+ }
57
+ function K(e) {
58
+ S(new Date(E, O, e, A, j, M, 0)), _ === "date" && C();
59
+ }
60
+ function ne() {
61
+ O === 0 ? (k(11), D((e) => e - 1)) : k((e) => e - 1);
62
+ }
63
+ function re() {
64
+ O === 11 ? (k(0), D((e) => e + 1)) : k((e) => e + 1);
65
+ }
66
+ function q(e) {
67
+ return !!l && l.getFullYear() === E && l.getMonth() === O && l.getDate() === e;
68
+ }
69
+ function J(e) {
70
+ return T.getFullYear() === E && T.getMonth() === O && T.getDate() === e;
71
+ }
72
+ let ie = new Date(T.getFullYear(), T.getMonth(), T.getDate());
73
+ function Y(e) {
74
+ return w ? new Date(E, O, e) > ie : !1;
75
+ }
76
+ let X = !w || E < T.getFullYear() || E === T.getFullYear() && O < T.getMonth(), Z = _ === "date" || _ === "datetime", ae = _ === "time" || _ === "datetime", oe = _ !== "date" || v && !!l, Q = a(E, O), $ = f(() => Q.map((e, t) => ({
77
+ key: e === null ? `empty-slot-${t}` : `day-${e}`,
78
+ day: e
79
+ })), [Q]), se = f(() => {
80
+ let e = [];
81
+ for (let t = 0; t < $.length; t += 7) e.push($.slice(t, t + 7));
82
+ return e;
83
+ }, [$]);
84
+ return /* @__PURE__ */ g("div", {
85
+ className: e("bg-background border border-border/70 shadow-xl select-none p-4 w-max", x),
86
+ children: [/* @__PURE__ */ g("div", {
87
+ className: "flex flex-row",
88
+ children: [Z && /* @__PURE__ */ g("div", {
89
+ className: "flex flex-col w-[264px]",
90
+ children: [/* @__PURE__ */ g("div", {
91
+ className: "flex items-center justify-between pb-3 mb-2 border-b border-border/60",
92
+ children: [
93
+ /* @__PURE__ */ h("button", {
94
+ type: "button",
95
+ onClick: ne,
96
+ "aria-label": "Previous month",
97
+ className: e("p-1.5 text-foreground/70 transition-all active:scale-95", "hover:text-foreground hover:bg-secondary", x),
98
+ children: /* @__PURE__ */ h(n, {})
99
+ }),
100
+ /* @__PURE__ */ g("span", {
101
+ className: "font-semibold text-sm text-foreground tracking-wide",
102
+ children: [
103
+ i[O],
104
+ " ",
105
+ E
106
+ ]
107
+ }),
108
+ /* @__PURE__ */ h("button", {
109
+ type: "button",
110
+ onClick: re,
111
+ disabled: !X,
112
+ "aria-label": "Next month",
113
+ className: e("p-1.5 text-foreground/70 transition-all", X ? "hover:text-foreground hover:bg-secondary active:scale-95" : "opacity-30 cursor-not-allowed", x),
114
+ children: /* @__PURE__ */ h(t, {})
115
+ })
116
+ ]
117
+ }), /* @__PURE__ */ g("table", {
118
+ role: "grid",
119
+ "aria-label": `${i[O]} ${E}`,
120
+ tabIndex: -1,
121
+ onKeyDown: B,
122
+ className: "w-full table-fixed border-separate border-spacing-1 text-center",
123
+ children: [/* @__PURE__ */ h("thead", { children: /* @__PURE__ */ h("tr", { children: r.map((e) => /* @__PURE__ */ h("th", {
124
+ scope: "col",
125
+ className: "text-[11px] font-bold tracking-wider text-foreground/50 uppercase py-1 mb-1",
126
+ children: e
127
+ }, e)) }) }), /* @__PURE__ */ h("tbody", { children: se.map((t, n) => /* @__PURE__ */ h("tr", { children: t.map(({ key: t, day: n }) => n === null ? /* @__PURE__ */ h("td", {}, t) : /* @__PURE__ */ h("td", {
128
+ role: "gridcell",
129
+ tabIndex: -1,
130
+ "aria-selected": q(n),
131
+ "aria-current": J(n) ? "date" : void 0,
132
+ children: /* @__PURE__ */ h("button", {
133
+ ref: (e) => {
134
+ I.current[R(new Date(E, O, n))] = e;
135
+ },
136
+ type: "button",
137
+ tabIndex: P.getFullYear() === E && P.getMonth() === O && P.getDate() === n ? 0 : -1,
138
+ "aria-label": `${n} ${i[O]} ${E}`,
139
+ onClick: () => K(n),
140
+ disabled: Y(n),
141
+ className: e("w-full flex items-center justify-center font-medium transition-all duration-200", s[y], x, Y(n) ? "opacity-30 cursor-not-allowed text-foreground/50" : "active:scale-90", !Y(n) && !q(n) && !J(n) && V.hover, q(n) && e(V.bg, "font-semibold shadow-sm"), J(n) && !q(n) && e("border", V.border, V.text), !q(n) && !J(n) && "text-foreground"),
142
+ children: n
143
+ })
144
+ }, t)) }, t[0]?.key ?? `week-${n}`)) })]
145
+ })]
146
+ }), ae && /* @__PURE__ */ g("div", {
147
+ className: e("flex items-center justify-center gap-4", Z && "pl-5 ml-4 border-l border-border/60"),
148
+ children: [
149
+ /* @__PURE__ */ h(c, {
150
+ value: A,
151
+ max: 23,
152
+ label: "HH",
153
+ onChange: U,
154
+ resolvedColor: b,
155
+ radiusClass: x
156
+ }),
157
+ /* @__PURE__ */ h(c, {
158
+ value: j,
159
+ max: 59,
160
+ label: "MM",
161
+ onChange: W,
162
+ resolvedColor: b,
163
+ radiusClass: x
164
+ }),
165
+ /* @__PURE__ */ h(c, {
166
+ value: M,
167
+ max: 59,
168
+ label: "SS",
169
+ onChange: G,
170
+ resolvedColor: b,
171
+ radiusClass: x
172
+ })
173
+ ]
174
+ })]
175
+ }), oe && /* @__PURE__ */ g("div", {
176
+ className: "flex items-center justify-between border-t border-border/60 pt-3 mt-3",
177
+ children: [v && l ? /* @__PURE__ */ h("button", {
178
+ type: "button",
179
+ onClick: () => {
180
+ S(null), C();
181
+ },
182
+ className: "text-xs font-medium text-foreground/50 hover:text-danger transition-colors active:scale-95 px-2 py-1",
183
+ children: "Clear"
184
+ }) : /* @__PURE__ */ h("div", {}), _ !== "date" && /* @__PURE__ */ h("button", {
185
+ type: "button",
186
+ onClick: C,
187
+ className: e("ml-auto text-xs font-semibold px-4 py-2 transition-all hover:opacity-90 active:scale-95 shadow-sm", x, V.bg),
188
+ children: "Done"
189
+ })]
190
+ })]
191
+ });
192
+ });
193
+ //#endregion
194
+ export { _ as DateGrid };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeSpinner.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/TimeSpinner.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAO1C,UAAU,gBAAgB;IACxB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B;;;OAGG;IACH,aAAa,EAAE,KAAK,CAAC;IACrB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,GAAG,EACH,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,GACZ,EAAE,gBAAgB,+BAgGlB"}
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import { cn as e } from "../../utils/cn.js";
3
3
  import { ChevronDownIcon as t } from "../../icons/ChevronDownIcon.js";
4
- import { pad2 as n } from "./date-picker.helpers.js";
5
- import { CALENDAR_COLOR_CLASSES as r } from "./date-picker-styles.js";
4
+ import { pad2 as n } from "./calendar.helpers.js";
5
+ import { CALENDAR_COLOR_CLASSES as r } from "./calendar-styles.js";
6
6
  import { ChevronUpIcon as i } from "../../icons/ChevronUpIcon.js";
7
7
  import { useEffect as a, useState as o } from "react";
8
8
  import { jsx as s, jsxs as c } from "react/jsx-runtime";
9
- //#region src/components/date-picker/TimeSpinner.tsx
9
+ //#region src/components/calendar/TimeSpinner.tsx
10
10
  function l({ value: l, max: u, label: d, onChange: f, resolvedColor: p, radiusClass: m }) {
11
11
  let [h, g] = o(n(l));
12
12
  a(() => {
@@ -2,41 +2,41 @@ import { FieldSizeKey } from '../field/field-config';
2
2
  import { InputConfig } from '../input';
3
3
  /**
4
4
  * The selection mode of the date picker.
5
- * - `date`: Select only a date.
6
- * - `time`: Select only a time.
7
- * - `datetime`: Select both date and time.
5
+ * - `date`: Dropmenu only a date.
6
+ * - `time`: Dropmenu only a time.
7
+ * - `datetime`: Dropmenu both date and time.
8
8
  */
9
- export type DatePickerMode = "date" | "time" | "datetime";
9
+ export type CalendarMode = "date" | "time" | "datetime";
10
10
  /**
11
11
  * Size key for the date picker.
12
12
  * Maps to the FieldSizeKey type: "sm", "md", or "lg".
13
13
  */
14
- export type DatePickerSizeKey = FieldSizeKey;
14
+ export type CalendarSizeKey = FieldSizeKey;
15
15
  /**
16
- * Theme configuration options for the DatePicker component.
16
+ * Theme configuration options for the Calendar component.
17
17
  *
18
- * Set under `components.datePicker` in the AsheeUI config. Values feed the
18
+ * Set under `components.calendar` in the AsheeUI config. Values feed the
19
19
  * component-level fallback tier of the theme cascade.
20
20
  */
21
- export interface DatePickerConfig extends InputConfig {
21
+ export interface CalendarConfig extends InputConfig {
22
22
  /**
23
23
  * The selection mode of the picker.
24
24
  * Controls whether the picker shows date, time, or both.
25
25
  *
26
26
  * @default "date"
27
27
  */
28
- mode?: DatePickerMode;
28
+ mode?: CalendarMode;
29
29
  /**
30
30
  * Picker configuration for the calendar popover.
31
31
  * Controls portal behavior and other picker-specific settings.
32
32
  */
33
- picker?: DatePickerPickerConfig;
33
+ picker?: CalendarPickerConfig;
34
34
  }
35
35
  /**
36
- * Picker configuration for the DatePicker component.
37
- * Extends DatePickerConfig to allow override of portal settings.
36
+ * Picker configuration for the Calendar component.
37
+ * Extends CalendarConfig to allow override of portal settings.
38
38
  */
39
- export interface DatePickerPickerConfig {
39
+ export interface CalendarPickerConfig {
40
40
  /**
41
41
  * Whether to render the calendar popover through Floating UI's
42
42
  * `FloatingPortal`.
@@ -66,10 +66,10 @@ export interface DatePickerPickerConfig {
66
66
  lockScroll?: boolean;
67
67
  }
68
68
  /**
69
- * Default config values registered for the DatePicker component.
69
+ * Default config values registered for the Calendar component.
70
70
  * Inherits field label defaults and sets the default mode to "date".
71
71
  */
72
- export declare const defaultDatePickerConfig: DatePickerConfig;
72
+ export declare const defaultCalendarConfig: CalendarConfig;
73
73
  /**
74
74
  * Hard fallback values used when no config tier provides a value.
75
75
  * These values are used when instance props, component config,
@@ -87,7 +87,7 @@ export declare const FALLBACK_DATE_PICKER_CONFIG: {
87
87
  };
88
88
  declare module "../../libs/registry" {
89
89
  interface ComponentTypeConfigRegistry {
90
- datePicker: DatePickerConfig;
90
+ calendar: CalendarConfig;
91
91
  }
92
92
  }
93
- //# sourceMappingURL=date-picker-config.d.ts.map
93
+ //# sourceMappingURL=calendar-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-config.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/calendar-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAExD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD;;;;;OAKG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAElC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,cAGnC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;CAG9B,CAAC;AAEX,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,QAAQ,EAAE,cAAc,CAAC;KAC1B;CACF"}
@@ -2,7 +2,7 @@
2
2
  import { registerComponentDefaults as e } from "../../libs/registry.js";
3
3
  import { FALLBACK_FIELD_CONFIG as t } from "../field/field-config.js";
4
4
  import { defaultInputConfig as n } from "../input/input-config.js";
5
- //#region src/components/date-picker/date-picker-config.ts
5
+ //#region src/components/calendar/calendar-config.ts
6
6
  var r = {
7
7
  ...n,
8
8
  mode: "date"
@@ -10,6 +10,6 @@ var r = {
10
10
  ...t,
11
11
  mode: "date"
12
12
  };
13
- e("datePicker", r);
13
+ e("calendar", r);
14
14
  //#endregion
15
- export { i as FALLBACK_DATE_PICKER_CONFIG, r as defaultDatePickerConfig };
15
+ export { i as FALLBACK_DATE_PICKER_CONFIG, r as defaultCalendarConfig };
@@ -29,4 +29,4 @@ export declare const CALENDAR_COLOR_CLASSES: Record<Color | string, {
29
29
  border: string;
30
30
  hover: string;
31
31
  }>;
32
- //# sourceMappingURL=date-picker-styles.d.ts.map
32
+ //# sourceMappingURL=calendar-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-styles.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/calendar-styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKvE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAI/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAIpE,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAC7C,CAAC;AAI5B;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,KAAK,GAAG,MAAM,EACd;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAsC5D,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- //#region src/components/date-picker/date-picker-styles.ts
2
+ //#region src/components/calendar/calendar-styles.ts
3
3
  var e = {
4
4
  sm: "size-7 text-xs",
5
5
  md: "size-8 text-xs",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * DatePicker helper functions for AsheeUI.
2
+ * Calendar helper functions for AsheeUI.
3
3
  * This file provides utility functions for date formatting, parsing,
4
4
  * calendar grid building, and input cursor management.
5
5
  */
@@ -15,11 +15,11 @@ export declare const DAYS_OF_WEEK: readonly ["Su", "Mo", "Tu", "We", "Th", "Fr",
15
15
  export declare const MONTHS: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
16
16
  /**
17
17
  * The selection mode of the date picker.
18
- * - `date`: Select only a date.
19
- * - `time`: Select only a time.
20
- * - `datetime`: Select both date and time.
18
+ * - `date`: Dropmenu only a date.
19
+ * - `time`: Dropmenu only a time.
20
+ * - `datetime`: Dropmenu both date and time.
21
21
  */
22
- export type DatePickerMode = "date" | "time" | "datetime";
22
+ export type CalendarMode = "date" | "time" | "datetime";
23
23
  /**
24
24
  * Pads a number with leading zero to two digits.
25
25
  * Used for formatting hours, minutes, and seconds.
@@ -49,14 +49,14 @@ export declare function pad2(n: number): string;
49
49
  * formatDisplay(date, "datetime") // "15/01/2024 14:30:45"
50
50
  * ```
51
51
  */
52
- export declare function formatDisplay(date: Date, mode: DatePickerMode): string;
52
+ export declare function formatDisplay(date: Date, mode: CalendarMode): string;
53
53
  /**
54
54
  * Gets the default placeholder text for the input based on mode.
55
55
  *
56
56
  * @param mode - The picker mode.
57
57
  * @returns The placeholder text.
58
58
  */
59
- export declare function getDefaultPlaceholder(mode: DatePickerMode): string;
59
+ export declare function getDefaultPlaceholder(mode: CalendarMode): string;
60
60
  /**
61
61
  * Builds a 2D array of day numbers for the calendar grid.
62
62
  * Returns a flat array where null values represent empty slots
@@ -90,7 +90,7 @@ export declare function buildDayCells(year: number, month: number): (number | nu
90
90
  * parseDateString("150120241430", "datetime") // Date(2024, 0, 15, 14, 30)
91
91
  * ```
92
92
  */
93
- export declare function parseDateString(input: string, mode: DatePickerMode, fallbackDate?: Date): Date | null;
93
+ export declare function parseDateString(input: string, mode: CalendarMode, fallbackDate?: Date): Date | null;
94
94
  /**
95
95
  * Calculates the new cursor position after input formatting.
96
96
  * Ensures the cursor stays at the correct position when the
@@ -108,4 +108,4 @@ export declare function parseDateString(input: string, mode: DatePickerMode, fal
108
108
  * ```
109
109
  */
110
110
  export declare function getNewCursorPosition(oldValue: string, newValue: string, oldSelectionStart: number): number;
111
- //# sourceMappingURL=date-picker.helpers.d.ts.map
111
+ //# sourceMappingURL=calendar.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.helpers.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/calendar.helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,eAAO,MAAM,YAAY,qDAAsD,CAAC;AAEhF;;;GAGG;AACH,eAAO,MAAM,MAAM,qIAaT,CAAC;AAIX;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAIxD;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAgBpE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAShE;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAS5E;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,YAAY,EAClB,YAAY,CAAC,EAAE,IAAI,GAClB,IAAI,GAAG,IAAI,CAsDb;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAqBR"}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- //#region src/components/date-picker/date-picker.helpers.ts
2
+ //#region src/components/calendar/calendar.helpers.ts
3
3
  var e = [
4
4
  "Su",
5
5
  "Mo",
@@ -35,9 +35,9 @@ function r(e, t) {
35
35
  }
36
36
  function i(e) {
37
37
  switch (e) {
38
- case "date": return "Select date...";
39
- case "time": return "Select time...";
40
- case "datetime": return "Select date & time...";
38
+ case "date": return "Dropmenu date...";
39
+ case "time": return "Dropmenu time...";
40
+ case "datetime": return "Dropmenu date & time...";
41
41
  }
42
42
  }
43
43
  function a(e, t) {
@@ -0,0 +1,3 @@
1
+ export * from './Calendar';
2
+ export * from './calendar-config';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./Calendar.js";
2
+ export * from "./DateGrid.js";
3
+ export * from "./TimeSpinner.js";
4
+ export * from "./calendar-config.js";
5
+ export * from "./calendar-styles.js";
6
+ export * from "./calendar.helpers.js";
@@ -26,9 +26,9 @@ export interface CardImageProps extends CardImageConfig {
26
26
  /**
27
27
  * Additional props forwarded to the image component
28
28
  * (e.g. `{ priority: true, sizes: "..." }`).
29
- * These take precedence over the component's own props.
29
+ * These take precedence over the props the framework passes itself.
30
30
  */
31
- props?: Record<string, unknown>;
31
+ componentProps?: Record<string, unknown>;
32
32
  }
33
33
  export interface CardLinkConfig {
34
34
  }
@@ -37,16 +37,16 @@ export interface CardLinkProps extends CardLinkConfig {
37
37
  * Custom link component used to render the card as a link instead of the
38
38
  * native `<a>` tag (e.g. `next/link`, TanStack Router `Link`).
39
39
  *
40
- * When provided, the card root becomes this component and `props` are
41
- * forwarded to it.
40
+ * When provided, the card root becomes this component and `componentProps`
41
+ * are forwarded to it.
42
42
  */
43
43
  component?: ElementType;
44
44
  /**
45
45
  * Additional props forwarded to the link component
46
46
  * (e.g. `{ href: "/blog/post-1" }`).
47
- * These take precedence over the component's own props.
47
+ * These take precedence over the props the framework passes itself.
48
48
  */
49
- props?: Record<string, unknown>;
49
+ componentProps?: Record<string, unknown>;
50
50
  }
51
51
  /**
52
52
  * Configuration options for the Card component.
@@ -1 +1 @@
1
- {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/card/Card.tsx"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,cAAc,EAGnB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAYf,OAAO,EACL,KAAK,UAAU,EACf,KAAK,eAAe,EAKrB,MAAM,eAAe,CAAC;AAQvB,KAAK,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAC5C,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAGD,MAAM,WAAW,cAAc;CAAG;AAElC,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IAErB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4FG;AACH,eAAO,MAAM,IAAI,sGAuUhB,CAAC"}
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/components/card/Card.tsx"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,cAAc,EAGnB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAYf,OAAO,EACL,KAAK,UAAU,EACf,KAAK,eAAe,EAKrB,MAAM,eAAe,CAAC;AAQvB,KAAK,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAC5C,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAGD,MAAM,WAAW,cAAc;CAAG;AAElC,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IAErB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4FG;AACH,eAAO,MAAM,IAAI,sGAuUhB,CAAC"}
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  "use client";
3
3
  import { cn as e } from "../../utils/cn.js";
4
- import { useAsheeConfig as t } from "../../libs/context.js";
5
- import { RADIUS_CLASS as n } from "../../shared/radius.js";
4
+ import { RADIUS_CLASS as t } from "../../shared/radius.js";
5
+ import { useAsheeConfig as n } from "../../libs/context.js";
6
6
  import { resolveAnimate as r, resolveCascade as i, resolveClassKey as a, resolveRadiusKey as o } from "../../utils/resolve-token.js";
7
7
  import { Image as s } from "../image/Image.js";
8
8
  import { FALLBACK_CARD_CONFIG as c } from "./card-config.js";
@@ -11,7 +11,7 @@ import { forwardRef as p, useId as m } from "react";
11
11
  import { jsx as h, jsxs as g } from "react/jsx-runtime";
12
12
  //#region src/components/card/Card.tsx
13
13
  var _ = p(({ variant: p, size: _, radius: ee, animate: v, isClickable: y, isDisabled: b = !1, link: x, title: S, description: C, header: w, body: T, footer: E, image: D, className: te, children: ne, onClick: O, id: k, style: A, onKeyDown: j, ...M }, N) => {
14
- let P = t(), F = P.components?.card, I = m(), L = k ?? I, R = i(_, F?.size, void 0, c.size), z = i(p, F?.variant, P.defaultVariant, c.variant), B = o(ee, F?.radius, P.defaultRadius, c.radius), V = i(D?.position, F?.image.position, void 0, c.image.position), H = !!x, U = x?.component ?? (H ? "a" : "div"), W = y ?? !!(H || O), G = r(v, F?.animate, c.animate), K = a(R, d, c.size), q = a(R, l, c.size), J = a(R, u, c.size), Y = a(B, n, c.radius), X = i(D?.loading, F?.image.loading, void 0, c.image.loading), re = f[z] ?? f.bordered, { onClick: ie, ...ae } = x?.props ?? {}, Z = (e) => {
14
+ let P = n(), F = P.components?.card, I = m(), L = k ?? I, R = i(_, F?.size, void 0, c.size), z = i(p, F?.variant, P.defaultVariant, c.variant), B = o(ee, F?.radius, P.defaultRadius, c.radius), V = i(D?.position, F?.image.position, void 0, c.image.position), H = !!x, U = x?.component ?? (H ? "a" : "div"), W = y ?? !!(H || O), G = r(v, F?.animate, c.animate), K = a(R, d, c.size), q = a(R, l, c.size), J = a(R, u, c.size), Y = a(B, t, c.radius), X = i(D?.loading, F?.image.loading, void 0, c.image.loading), re = f[z] ?? f.bordered, { onClick: ie, ...ae } = x?.componentProps ?? {}, Z = (e) => {
15
15
  if (b) {
16
16
  e.preventDefault();
17
17
  return;
@@ -25,9 +25,9 @@ var _ = p(({ variant: p, size: _, radius: ee, animate: v, isClickable: y, isDisa
25
25
  top: "w-full shrink-0 rounded-b-none",
26
26
  bottom: "w-full shrink-0 order-last rounded-t-none",
27
27
  background: ""
28
- }[e], n = { ...D?.props ?? {} };
28
+ }[e], n = { ...D?.componentProps ?? {} };
29
29
  if (D?.component) {
30
- let e = D?.props?.loading === "lazy", t = D?.props?.priority === !0;
30
+ let e = D?.componentProps?.loading === "lazy", t = D?.componentProps?.priority === !0;
31
31
  (e || t) && console.warn(`[Card] ${e ? "`loading=\"lazy\"`" : "`priority={true}`"} with custom image component may cause rendering issues. Consider using \`loading="eager"\` and removing \`priority\` for card images.`), n = {
32
32
  ...n,
33
33
  loading: "eager",
@@ -41,14 +41,14 @@ var _ = p(({ variant: p, size: _, radius: ee, animate: v, isClickable: y, isDisa
41
41
  fit: D.fit ?? "cover",
42
42
  className: t,
43
43
  component: D.component,
44
- props: n,
44
+ componentProps: n,
45
45
  loading: X
46
46
  });
47
47
  }, se = () => {
48
48
  if (!D?.src || V !== "background") return null;
49
- let e = D.component || "img", t = { ...D?.props ?? {} };
49
+ let e = D.component || "img", t = { ...D?.componentProps ?? {} };
50
50
  if (D?.component) {
51
- let e = D?.props?.loading === "lazy", n = D?.props?.priority === !0;
51
+ let e = D?.componentProps?.loading === "lazy", n = D?.componentProps?.priority === !0;
52
52
  (e || n) && console.warn(`[Card] ${e ? "`loading=\"lazy\"`" : "`priority={true}`"} with custom image component may cause rendering issues. Consider using \`loading="eager"\` and removing \`priority\` for card images.`), t = {
53
53
  ...t,
54
54
  loading: "eager",
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/Carousel.tsx"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAYf,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EAGlB,MAAM,mBAAmB,CAAC;AAY3B,KAAK,iBAAiB,GAAG,cAAc,GACrC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IAEvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;KACnB,KAAK,SAAS,CAAC;IAEhB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;KACnB,KAAK,SAAS,CAAC;IAEhB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,eAAO,MAAM,QAAQ,0GA0VpB,CAAC"}
1
+ {"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/Carousel.tsx"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAaf,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EAGlB,MAAM,mBAAmB,CAAC;AAY3B,KAAK,iBAAiB,GAAG,cAAc,GACrC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IAEvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;KACnB,KAAK,SAAS,CAAC;IAEhB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;KACnB,KAAK,SAAS,CAAC;IAEhB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,eAAO,MAAM,QAAQ,0GAiWpB,CAAC"}