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,19 +1,16 @@
1
1
  "use client";
2
- function u(n, e, r, t) {
3
- return n ?? e ?? r ?? t;
2
+ //#region src/utils/resolve-token.ts
3
+ function e(e, t, n, r) {
4
+ return e ?? t ?? n ?? r;
4
5
  }
5
- function o(n, e, r) {
6
- return n ?? e ?? r;
6
+ function t(e, t, n) {
7
+ return e ?? t ?? n;
7
8
  }
8
- function i(n, e, r, t = "md") {
9
- return n ?? e ?? r ?? t;
9
+ function n(e, t, n, r = "md") {
10
+ return e ?? t ?? n ?? r;
10
11
  }
11
- function s(n, e, r) {
12
- return e[n] ?? e[r] ?? "";
12
+ function r(e, t, n) {
13
+ return t[e] ?? t[n] ?? "";
13
14
  }
14
- export {
15
- o as resolveAnimate,
16
- u as resolveCascade,
17
- s as resolveClassKey,
18
- i as resolveRadiusKey
19
- };
15
+ //#endregion
16
+ export { t as resolveAnimate, e as resolveCascade, r as resolveClassKey, n as resolveRadiusKey };
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Stacking-context utilities for AsheeUI floating elements.
3
+ * This file provides the layering standard used by every floating component.
4
+ *
5
+ * Floating elements are portaled to `document.body`, which places them in the
6
+ * root stacking context, so their `z-index` competes with app-level chrome
7
+ * such as custom navbars. To layer correctly against both AsheeUI's own
8
+ * components and arbitrary client components, a floating element derives its
9
+ * `z-index` from the trigger's own stacking context:
10
+ *
11
+ * floating z-index = outermost stacking context z-index of the trigger
12
+ * + the component's layer delta
13
+ *
14
+ * The delta only orders AsheeUI's internal layers relative to each other
15
+ * (dropdown < popover < tooltip). All elevation is carried by the derived
16
+ * base, so an anchored popup stays above its own container (for example a
17
+ * navbar) without ever outranking unrelated app chrome.
18
+ */
19
+ /**
20
+ * Layer deltas for anchored floating elements (elements bound to a trigger).
21
+ * Deltas are intentionally small integers so an anchored popup can never
22
+ * leapfrog unrelated app chrome such as a high `z-index` navbar.
23
+ */
24
+ export declare const ASHEE_LAYER: {
25
+ /** Select, MultiSelect, Autocomplete, and the shared SelectMenu. */
26
+ readonly dropdown: 10;
27
+ /** DatePicker and other floating panels. */
28
+ readonly popover: 20;
29
+ /** Tooltips. */
30
+ readonly tooltip: 30;
31
+ };
32
+ /**
33
+ * Fixed rungs for app-level overlays, which are not anchored to a trigger and
34
+ * should sit above page chrome.
35
+ */
36
+ export declare const ASHEE_GLOBAL_LAYER: {
37
+ /** Modal and Drawer. */
38
+ readonly overlay: 1000;
39
+ /** Docked surfaces such as the on-screen keyboard. */
40
+ readonly docked: 1500;
41
+ /** Toasts. */
42
+ readonly toast: 2000;
43
+ };
44
+ /**
45
+ * Determines whether an element establishes a stacking context, using the
46
+ * conditions documented for CSS stacking contexts.
47
+ *
48
+ * @param element - The element to test.
49
+ * @param computed - Optional precomputed style for the element.
50
+ * @returns True when the element creates a stacking context.
51
+ */
52
+ export declare function establishesStackingContext(element: Element, computed?: CSSStyleDeclaration): boolean;
53
+ /**
54
+ * Resolves the `z-index` of the outermost stacking context that contains the
55
+ * reference element — the context that governs where the reference's subtree
56
+ * sits in the root stacking order.
57
+ *
58
+ * Walking outward matters: stacking contexts are atomic in their parent, so
59
+ * only the outermost context ancestor decides the subtree's position.
60
+ *
61
+ * @param reference - The trigger element.
62
+ * @returns The context's `z-index`, or 0 when the reference lives in the
63
+ * plain root flow.
64
+ */
65
+ export declare function resolveBaseZIndex(reference: Element | null | undefined): number;
66
+ /**
67
+ * Resolves the `z-index` a portaled floating element should use so it renders
68
+ * above its trigger's stacking context without outranking unrelated app
69
+ * chrome.
70
+ *
71
+ * @param reference - The trigger element.
72
+ * @param layerDelta - The component's layer delta from `ASHEE_LAYER`.
73
+ * @returns The derived `z-index`.
74
+ */
75
+ export declare function resolveFloatingZIndex(reference: Element | null | undefined, layerDelta: number): number;
76
+ //# sourceMappingURL=stacking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stacking.d.ts","sourceRoot":"","sources":["../../src/utils/stacking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,WAAW;IACtB,oEAAoE;;IAEpE,4CAA4C;;IAE5C,gBAAgB;;CAER,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,kBAAkB;IAC7B,wBAAwB;;IAExB,sDAAsD;;IAEtD,cAAc;;CAEN,CAAC;AAiBX;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,QAAQ,GAAE,mBAAsD,GAC/D,OAAO,CAmCT;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GACpC,MAAM,CAwBR;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACrC,UAAU,EAAE,MAAM,GACjB,MAAM,CAER"}
@@ -0,0 +1,34 @@
1
+ "use client";
2
+ //#region src/utils/stacking.ts
3
+ var e = {
4
+ dropdown: 10,
5
+ popover: 20,
6
+ tooltip: 30
7
+ }, t = {
8
+ overlay: 1e3,
9
+ docked: 1500,
10
+ toast: 2e3
11
+ };
12
+ function n(e) {
13
+ if (e.parentElement) return e.parentElement;
14
+ let t = e.getRootNode();
15
+ return t instanceof ShadowRoot ? t.host : null;
16
+ }
17
+ function r(e, t = window.getComputedStyle(e)) {
18
+ return !!(t.position === "fixed" || t.position === "sticky" || (t.position === "absolute" || t.position === "relative") && t.zIndex !== "auto" || t.opacity !== "1" || t.transform !== "none" || t.filter !== "none" || t.getPropertyValue("backdrop-filter") !== "none" || t.getPropertyValue("perspective") !== "none" || t.getPropertyValue("clip-path") !== "none" || t.getPropertyValue("mix-blend-mode") !== "normal" || t.getPropertyValue("isolation") === "isolate" || /transform|opacity|filter/.test(t.getPropertyValue("will-change")) || /layout|paint|strict|content/.test(t.getPropertyValue("contain")));
19
+ }
20
+ function i(e) {
21
+ if (typeof window > "u" || !e) return 0;
22
+ let t = 0, i = n(e);
23
+ for (; i && i !== document.body && i !== document.documentElement;) {
24
+ let e = window.getComputedStyle(i);
25
+ if (r(i, e)) {
26
+ let n = Number.parseInt(e.zIndex, 10);
27
+ t = Number.isNaN(n) ? 0 : n;
28
+ }
29
+ i = n(i);
30
+ }
31
+ return Math.max(t, 0);
32
+ }
33
+ //#endregion
34
+ export { t as ASHEE_GLOBAL_LAYER, e as ASHEE_LAYER, r as establishesStackingContext, i as resolveBaseZIndex };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asheeui",
3
- "version": "0.6.14",
3
+ "version": "0.7.0",
4
4
  "description": "Accessible and customizable React primitives engineered with Tailwind CSS.",
5
5
  "author": "Ashee Softworks <asheesoftworks@gmail.com>",
6
6
  "homepage": "https://asheeui.com",
@@ -63,16 +63,17 @@
63
63
  },
64
64
  "devDependencies": {
65
65
  "@floating-ui/react": "^0.27.20",
66
- "@types/node": "^26.1.2",
67
- "@types/react": "^19.0.0",
68
- "@types/react-dom": "^19.0.0",
69
- "@vitejs/plugin-react": "^4.0.0",
70
- "react": "^19.0.0",
71
- "react-dom": "^19.0.0",
72
- "tsx": "^4.23.12",
73
- "typescript": "^5.0.0",
74
- "vite": "^6.0.0",
75
- "vite-plugin-dts": "^4.0.0"
66
+ "@types/node": "^26.5.1",
67
+ "@types/react": "^19.3.0",
68
+ "@types/react-dom": "^19.3.0",
69
+ "@typescript/typescript6": "^6.0.2",
70
+ "@vitejs/plugin-react": "^6.1.1",
71
+ "react": "^19.3.0",
72
+ "react-dom": "^19.3.0",
73
+ "tsx": "^4.23.13",
74
+ "typescript": "^7.0.2",
75
+ "vite": "^8.3.0",
76
+ "vite-plugin-dts": "^5.1.0"
76
77
  },
77
78
  "module": "./dist/index.js",
78
79
  "license": "MIT",