@pathscale/ui 1.1.33 → 1.1.35

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 (260) hide show
  1. package/dist/components/badge/Badge.css +5 -5
  2. package/dist/components/badge/Badge.d.ts +1 -1
  3. package/dist/components/badge/Badge.js +1 -2
  4. package/dist/components/button/Button.css +10 -1
  5. package/dist/components/button/Button.d.ts +2 -0
  6. package/dist/components/button/Button.js +31 -6
  7. package/dist/components/button-group/ButtonGroup.css +117 -0
  8. package/dist/components/button-group/ButtonGroup.d.ts +23 -0
  9. package/dist/components/button-group/ButtonGroup.js +91 -0
  10. package/dist/components/button-group/context.d.ts +8 -0
  11. package/dist/components/button-group/context.js +3 -0
  12. package/dist/components/button-group/index.d.ts +1 -0
  13. package/dist/components/button-group/index.js +6 -0
  14. package/dist/components/card/Card.css +110 -0
  15. package/dist/components/card/Card.d.ts +26 -26
  16. package/dist/components/card/Card.js +131 -70
  17. package/dist/components/card/index.d.ts +1 -1
  18. package/dist/components/card/index.js +6 -1
  19. package/dist/components/checkbox/Checkbox.js +18 -4
  20. package/dist/components/checkbox-group/CheckboxGroup.css +10 -0
  21. package/dist/components/checkbox-group/CheckboxGroup.d.ts +18 -0
  22. package/dist/components/checkbox-group/CheckboxGroup.js +97 -0
  23. package/dist/components/checkbox-group/context.d.ts +11 -0
  24. package/dist/components/checkbox-group/context.js +3 -0
  25. package/dist/components/checkbox-group/index.d.ts +4 -0
  26. package/dist/components/checkbox-group/index.js +4 -0
  27. package/dist/components/chip/Chip.css +197 -0
  28. package/dist/components/chip/Chip.d.ts +25 -0
  29. package/dist/components/chip/Chip.js +142 -0
  30. package/dist/components/chip/index.d.ts +8 -0
  31. package/dist/components/chip/index.js +9 -0
  32. package/dist/components/close-button/CloseButton.css +81 -0
  33. package/dist/components/close-button/CloseButton.d.ts +14 -0
  34. package/dist/components/close-button/CloseButton.js +76 -0
  35. package/dist/components/close-button/index.d.ts +1 -0
  36. package/dist/components/close-button/index.js +3 -0
  37. package/dist/components/combo-box/ComboBox.css +344 -0
  38. package/dist/components/combo-box/ComboBox.d.ts +86 -0
  39. package/dist/components/combo-box/ComboBox.js +708 -0
  40. package/dist/components/combo-box/index.d.ts +1 -0
  41. package/dist/components/combo-box/index.js +10 -0
  42. package/dist/components/date-field/DateField.css +215 -0
  43. package/dist/components/date-field/DateField.d.ts +64 -0
  44. package/dist/components/date-field/DateField.js +341 -0
  45. package/dist/components/date-field/index.d.ts +1 -0
  46. package/dist/components/date-field/index.js +11 -0
  47. package/dist/components/description/Description.css +10 -0
  48. package/dist/components/description/Description.d.ts +11 -0
  49. package/dist/components/{form/Label.js → description/Description.js} +23 -14
  50. package/dist/components/description/index.d.ts +1 -0
  51. package/dist/components/description/index.js +5 -0
  52. package/dist/components/drawer/Drawer.css +15 -0
  53. package/dist/components/drawer/Drawer.d.ts +2 -0
  54. package/dist/components/drawer/Drawer.js +24 -16
  55. package/dist/components/error-message/ErrorMessage.css +20 -0
  56. package/dist/components/error-message/ErrorMessage.d.ts +11 -0
  57. package/dist/components/error-message/ErrorMessage.js +40 -0
  58. package/dist/components/error-message/index.d.ts +1 -0
  59. package/dist/components/error-message/index.js +5 -0
  60. package/dist/components/field-error/FieldError.css +27 -0
  61. package/dist/components/field-error/FieldError.d.ts +21 -0
  62. package/dist/components/field-error/FieldError.js +69 -0
  63. package/dist/components/field-error/index.d.ts +1 -0
  64. package/dist/components/field-error/index.js +5 -0
  65. package/dist/components/fieldset/Fieldset.css +30 -0
  66. package/dist/components/fieldset/Fieldset.d.ts +22 -9
  67. package/dist/components/fieldset/Fieldset.js +88 -44
  68. package/dist/components/fieldset/index.d.ts +1 -2
  69. package/dist/components/fieldset/index.js +7 -2
  70. package/dist/components/form/Form.css +5 -0
  71. package/dist/components/form/Form.d.ts +10 -16
  72. package/dist/components/form/Form.js +33 -16
  73. package/dist/components/form/index.d.ts +1 -4
  74. package/dist/components/form/index.js +3 -4
  75. package/dist/components/header/Header.css +13 -0
  76. package/dist/components/header/Header.d.ts +9 -0
  77. package/dist/components/{menu/MenuDetails.js → header/Header.js} +17 -20
  78. package/dist/components/header/index.d.ts +1 -0
  79. package/dist/components/header/index.js +5 -0
  80. package/dist/components/immersive-landing/components/FirefoxPWABanner.js +62 -68
  81. package/dist/components/immersive-landing/components/PWAInstallPrompt.js +58 -64
  82. package/dist/components/input/Input.css +3 -2
  83. package/dist/components/input/Input.d.ts +2 -2
  84. package/dist/components/input/Input.js +7 -7
  85. package/dist/components/input-group/InputGroup.css +172 -0
  86. package/dist/components/input-group/InputGroup.d.ts +44 -0
  87. package/dist/components/input-group/InputGroup.js +227 -0
  88. package/dist/components/input-group/index.d.ts +1 -0
  89. package/dist/components/input-group/index.js +9 -0
  90. package/dist/components/input-otp/InputOTP.css +170 -0
  91. package/dist/components/input-otp/InputOTP.d.ts +46 -0
  92. package/dist/components/input-otp/InputOTP.js +385 -0
  93. package/dist/components/input-otp/index.d.ts +1 -0
  94. package/dist/components/input-otp/index.js +11 -0
  95. package/dist/components/label/Label.css +30 -0
  96. package/dist/components/label/Label.d.ts +17 -0
  97. package/dist/components/label/Label.js +64 -0
  98. package/dist/components/label/index.d.ts +1 -0
  99. package/dist/components/label/index.js +5 -0
  100. package/dist/components/list-box/ListBox.css +148 -0
  101. package/dist/components/list-box/ListBox.d.ts +23 -0
  102. package/dist/components/list-box/ListBox.js +224 -0
  103. package/dist/components/list-box/ListBoxItem.d.ts +28 -0
  104. package/dist/components/list-box/ListBoxItem.js +231 -0
  105. package/dist/components/list-box/ListBoxSection.d.ts +11 -0
  106. package/dist/components/list-box/ListBoxSection.js +48 -0
  107. package/dist/components/list-box/context.d.ts +27 -0
  108. package/dist/components/list-box/context.js +3 -0
  109. package/dist/components/list-box/index.d.ts +17 -0
  110. package/dist/components/list-box/index.js +17 -0
  111. package/dist/components/menu/Menu.css +199 -0
  112. package/dist/components/menu/Menu.d.ts +32 -20
  113. package/dist/components/menu/Menu.js +213 -39
  114. package/dist/components/menu/MenuItem.d.ts +35 -5
  115. package/dist/components/menu/MenuItem.js +270 -19
  116. package/dist/components/menu/MenuSection.d.ts +11 -0
  117. package/dist/components/menu/MenuSection.js +48 -0
  118. package/dist/components/menu/context.d.ts +26 -0
  119. package/dist/components/menu/context.js +3 -0
  120. package/dist/components/menu/index.d.ts +4 -3
  121. package/dist/components/menu/index.js +11 -2
  122. package/dist/components/number-field/NumberField.css +198 -0
  123. package/dist/components/number-field/NumberField.d.ts +48 -0
  124. package/dist/components/number-field/NumberField.js +350 -0
  125. package/dist/components/number-field/index.d.ts +1 -0
  126. package/dist/components/number-field/index.js +9 -0
  127. package/dist/components/search-field/SearchField.css +183 -0
  128. package/dist/components/search-field/SearchField.d.ts +53 -0
  129. package/dist/components/search-field/SearchField.js +303 -0
  130. package/dist/components/search-field/index.d.ts +1 -0
  131. package/dist/components/search-field/index.js +9 -0
  132. package/dist/components/select/Select.css +16 -10
  133. package/dist/components/select/Select.d.ts +10 -2
  134. package/dist/components/select/Select.js +119 -33
  135. package/dist/components/separator/Separator.css +35 -0
  136. package/dist/components/separator/Separator.d.ts +12 -0
  137. package/dist/components/separator/Separator.js +57 -0
  138. package/dist/components/separator/index.d.ts +1 -0
  139. package/dist/components/separator/index.js +4 -0
  140. package/dist/components/sidenav/Sidenav.js +2 -2
  141. package/dist/components/surface/Surface.css +37 -0
  142. package/dist/components/surface/Surface.d.ts +12 -0
  143. package/dist/components/surface/Surface.js +41 -0
  144. package/dist/components/surface/index.d.ts +1 -0
  145. package/dist/components/surface/index.js +4 -0
  146. package/dist/components/table/hooks/index.d.ts +1 -9
  147. package/dist/components/table/hooks/index.js +1 -18
  148. package/dist/components/tag/Tag.css +121 -0
  149. package/dist/components/tag/Tag.d.ts +33 -0
  150. package/dist/components/tag/Tag.js +241 -0
  151. package/dist/components/tag/index.d.ts +1 -0
  152. package/dist/components/tag/index.js +6 -0
  153. package/dist/components/tag-group/TagGroup.css +22 -0
  154. package/dist/components/tag-group/TagGroup.d.ts +32 -0
  155. package/dist/components/tag-group/TagGroup.js +177 -0
  156. package/dist/components/tag-group/context.d.ts +15 -0
  157. package/dist/components/tag-group/context.js +3 -0
  158. package/dist/components/tag-group/index.d.ts +2 -0
  159. package/dist/components/tag-group/index.js +6 -0
  160. package/dist/components/text/Text.css +66 -0
  161. package/dist/components/text/Text.d.ts +17 -0
  162. package/dist/components/text/Text.js +46 -0
  163. package/dist/components/text/index.d.ts +1 -0
  164. package/dist/components/text/index.js +5 -0
  165. package/dist/components/text-area/TextArea.css +95 -0
  166. package/dist/components/text-area/TextArea.d.ts +19 -0
  167. package/dist/components/text-area/TextArea.js +64 -0
  168. package/dist/components/text-area/index.d.ts +1 -0
  169. package/dist/components/text-area/index.js +5 -0
  170. package/dist/components/text-field/TextField.css +33 -0
  171. package/dist/components/text-field/TextField.d.ts +34 -0
  172. package/dist/components/text-field/TextField.js +85 -0
  173. package/dist/components/text-field/index.d.ts +1 -0
  174. package/dist/components/text-field/index.js +7 -0
  175. package/dist/components/textarea/Textarea.d.ts +8 -13
  176. package/dist/components/textarea/Textarea.js +14 -45
  177. package/dist/components/textarea/index.d.ts +2 -1
  178. package/dist/components/textarea/index.js +4 -1
  179. package/dist/components/time-field/TimeField.css +215 -0
  180. package/dist/components/time-field/TimeField.d.ts +64 -0
  181. package/dist/components/time-field/TimeField.js +341 -0
  182. package/dist/components/time-field/index.d.ts +1 -0
  183. package/dist/components/time-field/index.js +11 -0
  184. package/dist/components/utils.d.ts +2 -2
  185. package/dist/components/utils.js +3 -17
  186. package/dist/hooks/form/index.d.ts +5 -0
  187. package/dist/hooks/form/index.js +12 -0
  188. package/dist/hooks/form/useField.d.ts +11 -0
  189. package/dist/hooks/form/useField.js +20 -0
  190. package/dist/hooks/form/useFieldError.d.ts +3 -0
  191. package/dist/hooks/form/useFieldError.js +3 -0
  192. package/dist/hooks/form/useFieldMeta.d.ts +20 -0
  193. package/dist/hooks/form/useFieldMeta.js +49 -0
  194. package/dist/hooks/form/useFieldProps.d.ts +10 -0
  195. package/dist/hooks/form/useFieldProps.js +51 -0
  196. package/dist/hooks/form/useForm.d.ts +27 -0
  197. package/dist/hooks/form/useForm.js +54 -0
  198. package/dist/hooks/form/utils.d.ts +4 -0
  199. package/dist/hooks/form/utils.js +30 -0
  200. package/dist/hooks/layout/index.d.ts +1 -0
  201. package/dist/hooks/layout/index.js +3 -0
  202. package/dist/hooks/layout/useDesktop.d.ts +1 -0
  203. package/dist/hooks/layout/useDesktop.js +17 -0
  204. package/dist/hooks/table/index.d.ts +9 -0
  205. package/dist/hooks/table/index.js +18 -0
  206. package/dist/index.d.ts +63 -7
  207. package/dist/index.js +145 -15
  208. package/dist/primitives/streaming/index.d.ts +2 -0
  209. package/dist/primitives/streaming/index.js +5 -0
  210. package/dist/primitives/streaming/useStreamingBuffer.d.ts +15 -0
  211. package/dist/primitives/streaming/useStreamingBuffer.js +115 -0
  212. package/dist/primitives/streaming/useStreamingSubscription.d.ts +27 -0
  213. package/dist/primitives/streaming/useStreamingSubscription.js +115 -0
  214. package/dist/styles/icons/generated-icons.css +1 -1
  215. package/package.json +1 -1
  216. package/dist/components/card/CardActions.d.ts +0 -4
  217. package/dist/components/card/CardActions.js +0 -15
  218. package/dist/components/card/CardBody.d.ts +0 -4
  219. package/dist/components/card/CardBody.js +0 -15
  220. package/dist/components/card/CardImage.d.ts +0 -3
  221. package/dist/components/card/CardImage.js +0 -10
  222. package/dist/components/card/CardTitle.d.ts +0 -6
  223. package/dist/components/card/CardTitle.js +0 -13
  224. package/dist/components/card/card.css +0 -171
  225. package/dist/components/form/FormBase.d.ts +0 -8
  226. package/dist/components/form/FormBase.js +0 -74
  227. package/dist/components/form/FormDropdown.d.ts +0 -25
  228. package/dist/components/form/FormDropdown.js +0 -139
  229. package/dist/components/form/FormField.d.ts +0 -14
  230. package/dist/components/form/FormField.js +0 -78
  231. package/dist/components/form/Label.d.ts +0 -7
  232. package/dist/components/form/NumberField.d.ts +0 -20
  233. package/dist/components/form/NumberField.js +0 -109
  234. package/dist/components/form/PasswordField.d.ts +0 -16
  235. package/dist/components/form/PasswordField.js +0 -113
  236. package/dist/components/form/ValidatedForm.d.ts +0 -26
  237. package/dist/components/form/ValidatedForm.js +0 -55
  238. package/dist/components/menu/MenuDetails.d.ts +0 -8
  239. package/dist/components/menu/MenuDropdown.d.ts +0 -12
  240. package/dist/components/menu/MenuDropdown.js +0 -48
  241. package/dist/components/menu/MenuTitle.d.ts +0 -8
  242. package/dist/components/menu/MenuTitle.js +0 -22
  243. package/dist/components/menu/menu.css +0 -364
  244. package/dist/components/textarea/textarea.css +0 -191
  245. /package/dist/{components/table/hooks → hooks/table}/helpers.d.ts +0 -0
  246. /package/dist/{components/table/hooks → hooks/table}/helpers.js +0 -0
  247. /package/dist/{components/table/hooks → hooks/table}/useAnchoredOverlayPosition.d.ts +0 -0
  248. /package/dist/{components/table/hooks → hooks/table}/useAnchoredOverlayPosition.js +0 -0
  249. /package/dist/{components/table/hooks → hooks/table}/useTableExpansion.d.ts +0 -0
  250. /package/dist/{components/table/hooks → hooks/table}/useTableExpansion.js +0 -0
  251. /package/dist/{components/table/hooks → hooks/table}/useTableFiltering.d.ts +0 -0
  252. /package/dist/{components/table/hooks → hooks/table}/useTableFiltering.js +0 -0
  253. /package/dist/{components/table/hooks → hooks/table}/useTableModel.d.ts +0 -0
  254. /package/dist/{components/table/hooks → hooks/table}/useTableModel.js +0 -0
  255. /package/dist/{components/table/hooks → hooks/table}/useTablePagination.d.ts +0 -0
  256. /package/dist/{components/table/hooks → hooks/table}/useTablePagination.js +0 -0
  257. /package/dist/{components/table/hooks → hooks/table}/useTableSelection.d.ts +0 -0
  258. /package/dist/{components/table/hooks → hooks/table}/useTableSelection.js +0 -0
  259. /package/dist/{components/table/hooks → hooks/table}/useTableSorting.d.ts +0 -0
  260. /package/dist/{components/table/hooks → hooks/table}/useTableSorting.js +0 -0
@@ -1,40 +1,291 @@
1
1
  import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web";
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
4
- import * as __WEBPACK_EXTERNAL_MODULE_clsx__ from "clsx";
5
- var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<li role=menuitem>");
6
- const MenuItem = (props)=>{
4
+ import * as __WEBPACK_EXTERNAL_MODULE__context_js_80e2871f__ from "./context.js";
5
+ var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>"), _tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span>"), _tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<svg aria-hidden=true data-slot=menu-item-indicator--dot fill=currentColor fill-rule=evenodd role=presentation viewBox="0 0 16 16"xmlns=http://www.w3.org/2000/svg><path clip-rule=evenodd d="M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14"fill-rule=evenodd>'), _tmpl$4 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<svg aria-hidden=true data-slot=menu-item-indicator--checkmark fill=none role=presentation stroke=currentColor stroke-dasharray=22 stroke-linecap=round stroke-linejoin=round stroke-width=2 viewBox="0 0 17 18"><polyline points="1 9 7 14 15 4">'), _tmpl$5 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)('<svg aria-hidden=true fill=none role=presentation viewBox="0 0 16 16"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round><path d="M6 3.5L10 8l-4 4.5">');
6
+ const MenuItemStateContext = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createContext)();
7
+ const MENU_ITEM_VARIANT_CLASS_MAP = {
8
+ default: "menu-item--default",
9
+ danger: "menu-item--danger"
10
+ };
11
+ const invokeEventHandler = (handler, event)=>{
12
+ if ("function" == typeof handler) return void handler(event);
13
+ if (Array.isArray(handler) && "function" == typeof handler[0]) handler[0](handler[1], event);
14
+ };
15
+ const toSlug = (value)=>value.trim().toLowerCase().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-");
16
+ const extractTextValue = (nodes)=>{
17
+ for (const node of nodes){
18
+ if ("string" == typeof node && node.trim().length > 0) return node.trim();
19
+ if ("number" == typeof node) return String(node);
20
+ }
21
+ };
22
+ const MenuItemRoot = (props)=>{
23
+ const menu = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(__WEBPACK_EXTERNAL_MODULE__context_js_80e2871f__.MenuContext);
24
+ const fallbackKey = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createUniqueId)();
7
25
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
26
+ "children",
8
27
  "class",
9
28
  "className",
10
- "focus",
11
- "active",
29
+ "dataTheme",
30
+ "style",
31
+ "id",
32
+ "textValue",
33
+ "variant",
34
+ "isDisabled",
12
35
  "disabled",
36
+ "hasSubmenu",
37
+ "onAction",
38
+ "onClick",
39
+ "onKeyDown",
40
+ "onFocus",
41
+ "onBlur",
42
+ "ref",
43
+ "tabIndex",
44
+ "role"
45
+ ]);
46
+ let itemRef;
47
+ const key = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>{
48
+ if (null != local.id) return String(local.id);
49
+ if (local.textValue) return toSlug(local.textValue);
50
+ const staticChildren = "function" == typeof local.children ? [] : [
51
+ local.children
52
+ ];
53
+ const textValue = extractTextValue(staticChildren);
54
+ if (textValue) return toSlug(textValue);
55
+ return fallbackKey;
56
+ });
57
+ const variant = ()=>local.variant ?? "default";
58
+ const selectionMode = ()=>menu?.selectionMode() ?? "none";
59
+ const isSelected = ()=>menu?.isSelected(key()) ?? false;
60
+ const isFocused = ()=>menu?.focusedKey() === key();
61
+ const isDisabled = ()=>menu?.isItemDisabled(key(), Boolean(local.isDisabled) || Boolean(local.disabled)) ?? (Boolean(local.isDisabled) || Boolean(local.disabled));
62
+ const renderState = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createMemo)(()=>({
63
+ isSelected: isSelected(),
64
+ isFocused: isFocused(),
65
+ isDisabled: isDisabled(),
66
+ hasSubmenu: Boolean(local.hasSubmenu),
67
+ selectionMode: selectionMode()
68
+ }));
69
+ const resolvedRole = ()=>{
70
+ if (local.role) return local.role;
71
+ if ("multiple" === selectionMode()) return "menuitemcheckbox";
72
+ if ("single" === selectionMode()) return "menuitemradio";
73
+ return "menuitem";
74
+ };
75
+ const resolvedTabIndex = ()=>{
76
+ if (void 0 !== local.tabIndex) return local.tabIndex;
77
+ if (!menu) return isDisabled() ? -1 : 0;
78
+ return menu.getItemTabIndex(key(), isDisabled());
79
+ };
80
+ const handleActivate = (event)=>{
81
+ if (event.defaultPrevented || isDisabled()) return;
82
+ menu?.activateKey(key(), event);
83
+ local.onAction?.(key());
84
+ };
85
+ const handleClick = (event)=>{
86
+ invokeEventHandler(local.onClick, event);
87
+ handleActivate(event);
88
+ };
89
+ const handleKeyDown = (event)=>{
90
+ invokeEventHandler(local.onKeyDown, event);
91
+ if (event.defaultPrevented || isDisabled()) return;
92
+ if ("ArrowDown" === event.key || "ArrowRight" === event.key) {
93
+ event.preventDefault();
94
+ menu?.focusNext(1);
95
+ return;
96
+ }
97
+ if ("ArrowUp" === event.key || "ArrowLeft" === event.key) {
98
+ event.preventDefault();
99
+ menu?.focusNext(-1);
100
+ return;
101
+ }
102
+ if ("Home" === event.key) {
103
+ event.preventDefault();
104
+ menu?.focusBoundary("first");
105
+ return;
106
+ }
107
+ if ("End" === event.key) {
108
+ event.preventDefault();
109
+ menu?.focusBoundary("last");
110
+ return;
111
+ }
112
+ if ("Enter" === event.key || " " === event.key) {
113
+ event.preventDefault();
114
+ handleActivate(event);
115
+ }
116
+ };
117
+ const handleFocus = (event)=>{
118
+ invokeEventHandler(local.onFocus, event);
119
+ if (event.defaultPrevented) return;
120
+ menu?.setFocusedKey(key());
121
+ };
122
+ const handleBlur = (event)=>{
123
+ invokeEventHandler(local.onBlur, event);
124
+ if (event.defaultPrevented) return;
125
+ if (menu?.focusedKey() === key()) menu.setFocusedKey(void 0);
126
+ };
127
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
128
+ if (!menu || !itemRef) return;
129
+ menu.registerItem({
130
+ key: key(),
131
+ disabled: Boolean(local.isDisabled) || Boolean(local.disabled),
132
+ ref: itemRef
133
+ });
134
+ });
135
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>{
136
+ if (!menu) return;
137
+ menu.unregisterItem(key());
138
+ });
139
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(MenuItemStateContext.Provider, {
140
+ value: {
141
+ renderState
142
+ },
143
+ get children () {
144
+ var _el$ = _tmpl$();
145
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.use)((node)=>{
146
+ itemRef = node;
147
+ if ("function" == typeof local.ref) local.ref(node);
148
+ }, _el$);
149
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
150
+ get role () {
151
+ return resolvedRole();
152
+ },
153
+ get tabIndex () {
154
+ return resolvedTabIndex();
155
+ },
156
+ get ["aria-selected"] () {
157
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>"none" === selectionMode())() ? void 0 : isSelected() ? "true" : "false";
158
+ },
159
+ get ["aria-checked"] () {
160
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>"none" === selectionMode())() ? void 0 : isSelected() ? "true" : "false";
161
+ },
162
+ get ["aria-disabled"] () {
163
+ return isDisabled() ? "true" : void 0;
164
+ },
165
+ "data-slot": "menu-item",
166
+ get ["data-theme"] () {
167
+ return local.dataTheme;
168
+ },
169
+ get ["data-disabled"] () {
170
+ return isDisabled() ? "true" : "false";
171
+ },
172
+ get ["data-selected"] () {
173
+ return isSelected() ? "true" : "false";
174
+ },
175
+ get ["data-focus"] () {
176
+ return isFocused() ? "true" : "false";
177
+ },
178
+ get ["data-has-submenu"] () {
179
+ return local.hasSubmenu ? "true" : void 0;
180
+ },
181
+ get ["data-selection-mode"] () {
182
+ return selectionMode();
183
+ },
184
+ get ["data-key"] () {
185
+ return key();
186
+ },
187
+ get ["class"] () {
188
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("menu-item", MENU_ITEM_VARIANT_CLASS_MAP[variant()], local.class, local.className);
189
+ },
190
+ get style () {
191
+ return local.style;
192
+ },
193
+ onClick: handleClick,
194
+ onKeyDown: handleKeyDown,
195
+ onFocus: handleFocus,
196
+ onBlur: handleBlur
197
+ }), false, true);
198
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (()=>{
199
+ var _c$ = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>"function" == typeof local.children);
200
+ return ()=>_c$() ? local.children(renderState()) : local.children;
201
+ })());
202
+ return _el$;
203
+ }
204
+ });
205
+ };
206
+ const MenuItemIndicator = (props)=>{
207
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(MenuItemStateContext);
208
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
13
209
  "children",
210
+ "class",
211
+ "className",
212
+ "dataTheme",
14
213
  "style",
15
- "dataTheme"
214
+ "type"
16
215
  ]);
17
- const classes = ()=>(0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(local.class, local.className, (0, __WEBPACK_EXTERNAL_MODULE_clsx__.clsx)({
18
- "menu-focus": local.focus,
19
- "menu-active": local.active,
20
- "menu-disabled": local.disabled
21
- }));
216
+ const renderState = ()=>context?.renderState() ?? {
217
+ isSelected: false,
218
+ isFocused: false,
219
+ isDisabled: false,
220
+ hasSubmenu: false,
221
+ selectionMode: "none"
222
+ };
223
+ const type = ()=>local.type ?? "checkmark";
22
224
  return (()=>{
23
- var _el$ = _tmpl$();
24
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)({
225
+ var _el$2 = _tmpl$2();
226
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
227
+ "aria-hidden": "true",
228
+ "data-slot": "menu-item-indicator",
229
+ get ["data-theme"] () {
230
+ return local.dataTheme;
231
+ },
232
+ get ["data-type"] () {
233
+ return type();
234
+ },
235
+ get ["data-visible"] () {
236
+ return renderState().isSelected ? "true" : void 0;
237
+ },
25
238
  get ["class"] () {
26
- return classes();
239
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("menu-item__indicator", local.class, local.className);
27
240
  },
28
241
  get style () {
29
242
  return local.style;
30
- },
243
+ }
244
+ }), false, true);
245
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, (()=>{
246
+ var _c$2 = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>"function" == typeof local.children);
247
+ return ()=>_c$2() ? local.children(renderState()) : (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.children)() ? local.children : (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>"dot" === type())() ? _tmpl$3() : (()=>{
248
+ var _el$4 = _tmpl$4();
249
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.setAttribute)(_el$4, "stroke-dashoffset", String(renderState().isSelected ? 44 : 66)));
250
+ return _el$4;
251
+ })();
252
+ })());
253
+ return _el$2;
254
+ })();
255
+ };
256
+ const MenuItemSubmenuIndicator = (props)=>{
257
+ const context = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(MenuItemStateContext);
258
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
259
+ "children",
260
+ "class",
261
+ "className",
262
+ "dataTheme",
263
+ "style"
264
+ ]);
265
+ if (!context?.renderState().hasSubmenu) return null;
266
+ return (()=>{
267
+ var _el$5 = _tmpl$2();
268
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$5, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
269
+ "aria-hidden": "true",
270
+ "data-slot": "submenu-indicator",
31
271
  get ["data-theme"] () {
32
272
  return local.dataTheme;
273
+ },
274
+ get ["class"] () {
275
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("menu-item__indicator menu-item__indicator--submenu", local.class, local.className);
276
+ },
277
+ get style () {
278
+ return local.style;
33
279
  }
34
- }, others), false, true);
35
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>local.children);
36
- return _el$;
280
+ }), false, true);
281
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$5, ()=>local.children ?? _tmpl$5());
282
+ return _el$5;
37
283
  })();
38
284
  };
285
+ const MenuItem = Object.assign(MenuItemRoot, {
286
+ Root: MenuItemRoot,
287
+ Indicator: MenuItemIndicator,
288
+ SubmenuIndicator: MenuItemSubmenuIndicator
289
+ });
39
290
  const menu_MenuItem = MenuItem;
40
- export { menu_MenuItem as default };
291
+ export { MenuItem, MenuItemIndicator, MenuItemRoot, MenuItemSubmenuIndicator, menu_MenuItem as default };
@@ -0,0 +1,11 @@
1
+ import { type Component, type JSX } from "solid-js";
2
+ import type { IComponentBaseProps } from "../types";
3
+ export type MenuSectionRootProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, "children"> & IComponentBaseProps & {
4
+ children?: JSX.Element;
5
+ title?: JSX.Element;
6
+ };
7
+ declare const MenuSectionRoot: Component<MenuSectionRootProps>;
8
+ declare const MenuSection: Component<MenuSectionRootProps>;
9
+ export default MenuSection;
10
+ export { MenuSection, MenuSectionRoot };
11
+ export type { MenuSectionRootProps as MenuSectionProps };
@@ -0,0 +1,48 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
4
+ var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span class=menu-section__title data-slot=heading>"), _tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>");
5
+ const MenuSectionRoot = (props)=>{
6
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
7
+ "children",
8
+ "class",
9
+ "className",
10
+ "dataTheme",
11
+ "style",
12
+ "title",
13
+ "role"
14
+ ]);
15
+ return (()=>{
16
+ var _el$ = _tmpl$2();
17
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
18
+ get role () {
19
+ return local.role ?? "group";
20
+ },
21
+ "data-slot": "menu-section",
22
+ get ["data-theme"] () {
23
+ return local.dataTheme;
24
+ },
25
+ get ["class"] () {
26
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)("menu-section", local.class, local.className);
27
+ },
28
+ get style () {
29
+ return local.style;
30
+ }
31
+ }), false, true);
32
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
33
+ get when () {
34
+ return local.title;
35
+ },
36
+ get children () {
37
+ var _el$2 = _tmpl$();
38
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, ()=>local.title);
39
+ return _el$2;
40
+ }
41
+ }), null);
42
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>local.children, null);
43
+ return _el$;
44
+ })();
45
+ };
46
+ const MenuSection = MenuSectionRoot;
47
+ const menu_MenuSection = MenuSection;
48
+ export { MenuSection, MenuSectionRoot, menu_MenuSection as default };
@@ -0,0 +1,26 @@
1
+ import { type Accessor } from "solid-js";
2
+ export type MenuItemVariant = "default" | "danger";
3
+ export type MenuSelectionMode = "none" | "single" | "multiple";
4
+ export type MenuItemRecord = {
5
+ key: string;
6
+ disabled: boolean;
7
+ ref: HTMLDivElement;
8
+ };
9
+ export type MenuFocusTarget = "first" | "last" | "selected";
10
+ export type MenuContextValue = {
11
+ selectionMode: Accessor<MenuSelectionMode>;
12
+ selectedKeys: Accessor<Set<string>>;
13
+ disabledKeys: Accessor<Set<string>>;
14
+ isDisabled: Accessor<boolean>;
15
+ focusedKey: Accessor<string | undefined>;
16
+ isSelected: (key: string) => boolean;
17
+ isItemDisabled: (key: string, localDisabled?: boolean) => boolean;
18
+ getItemTabIndex: (key: string, localDisabled?: boolean) => number;
19
+ registerItem: (item: MenuItemRecord) => void;
20
+ unregisterItem: (key: string) => void;
21
+ activateKey: (key: string, event: Event) => void;
22
+ setFocusedKey: (key: string | undefined) => void;
23
+ focusNext: (direction: 1 | -1) => void;
24
+ focusBoundary: (target: MenuFocusTarget) => void;
25
+ };
26
+ export declare const MenuContext: import("solid-js").Context<MenuContextValue | undefined>;
@@ -0,0 +1,3 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
2
+ const MenuContext = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createContext)();
3
+ export { MenuContext };
@@ -1,3 +1,4 @@
1
- import Menu, { type MenuProps as TMenuProps } from "./Menu";
2
- export type MenuProps = TMenuProps;
3
- export { Menu };
1
+ export { default, Menu, MenuRoot, MenuItem, MenuItemRoot, MenuItemIndicator, MenuSection, MenuSectionRoot, type MenuProps, type MenuRootProps, type MenuSelectionMode, } from "./Menu";
2
+ export { MenuItemSubmenuIndicator } from "./MenuItem";
3
+ export type { MenuItemProps, MenuItemRootProps, MenuItemIndicatorProps, MenuItemSubmenuIndicatorProps, MenuItemRenderProps, MenuItemVariant, } from "./MenuItem";
4
+ export type { MenuSectionProps, MenuSectionRootProps, } from "./MenuSection";
@@ -1,3 +1,12 @@
1
1
  import * as __WEBPACK_EXTERNAL_MODULE__Menu_js_892357c4__ from "./Menu.js";
2
- var __webpack_exports__Menu = __WEBPACK_EXTERNAL_MODULE__Menu_js_892357c4__["default"];
3
- export { __webpack_exports__Menu as Menu };
2
+ import * as __WEBPACK_EXTERNAL_MODULE__MenuItem_js_0945051f__ from "./MenuItem.js";
3
+ var __webpack_exports__Menu = __WEBPACK_EXTERNAL_MODULE__Menu_js_892357c4__.Menu;
4
+ var __webpack_exports__MenuItem = __WEBPACK_EXTERNAL_MODULE__Menu_js_892357c4__.MenuItem;
5
+ var __webpack_exports__MenuItemIndicator = __WEBPACK_EXTERNAL_MODULE__Menu_js_892357c4__.MenuItemIndicator;
6
+ var __webpack_exports__MenuItemRoot = __WEBPACK_EXTERNAL_MODULE__Menu_js_892357c4__.MenuItemRoot;
7
+ var __webpack_exports__MenuItemSubmenuIndicator = __WEBPACK_EXTERNAL_MODULE__MenuItem_js_0945051f__.MenuItemSubmenuIndicator;
8
+ var __webpack_exports__MenuRoot = __WEBPACK_EXTERNAL_MODULE__Menu_js_892357c4__.MenuRoot;
9
+ var __webpack_exports__MenuSection = __WEBPACK_EXTERNAL_MODULE__Menu_js_892357c4__.MenuSection;
10
+ var __webpack_exports__MenuSectionRoot = __WEBPACK_EXTERNAL_MODULE__Menu_js_892357c4__.MenuSectionRoot;
11
+ var __webpack_exports__default = __WEBPACK_EXTERNAL_MODULE__Menu_js_892357c4__["default"];
12
+ export { __webpack_exports__Menu as Menu, __webpack_exports__MenuItem as MenuItem, __webpack_exports__MenuItemIndicator as MenuItemIndicator, __webpack_exports__MenuItemRoot as MenuItemRoot, __webpack_exports__MenuItemSubmenuIndicator as MenuItemSubmenuIndicator, __webpack_exports__MenuRoot as MenuRoot, __webpack_exports__MenuSection as MenuSection, __webpack_exports__MenuSectionRoot as MenuSectionRoot, __webpack_exports__default as default };
@@ -0,0 +1,198 @@
1
+ @layer components {
2
+ .number-field {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: 0.25rem;
6
+ }
7
+
8
+ .number-field[data-invalid="true"] [data-slot="description"],
9
+ .number-field[aria-invalid="true"] [data-slot="description"] {
10
+ display: none;
11
+ }
12
+
13
+ .number-field [data-slot="label"] {
14
+ width: fit-content;
15
+ }
16
+
17
+ .number-field [data-slot="description"] {
18
+ padding-inline: 0.25rem;
19
+ }
20
+
21
+ .number-field__group {
22
+ display: grid;
23
+ grid-template-columns: 2.5rem 1fr 2.5rem;
24
+ align-items: center;
25
+ height: 2.25rem;
26
+ overflow: hidden;
27
+ border-radius: var(--radius-field, 0.75rem);
28
+ border: var(--border-width-field, 1px) solid
29
+ var(--color-field-border, color-mix(in oklab, var(--color-base-content) 16%, transparent));
30
+ background-color: var(--color-field, var(--color-base-100));
31
+ color: var(--color-field-foreground, var(--color-base-content));
32
+ box-shadow:
33
+ 0 1px 0 color-mix(in oklab, var(--color-base-content) 8%, transparent),
34
+ 0 1px 0 color-mix(in oklab, var(--color-base-100) 60%, transparent) inset;
35
+ outline: none;
36
+ transition:
37
+ background-color 150ms var(--ease-smooth),
38
+ border-color 150ms var(--ease-smooth),
39
+ box-shadow 150ms var(--ease-out);
40
+ }
41
+
42
+ @media (prefers-reduced-motion: reduce) {
43
+ .number-field__group {
44
+ transition: none;
45
+ }
46
+ }
47
+
48
+ @media (hover: hover) {
49
+ .number-field__group:hover:not(:focus-within):not([data-disabled="true"]) {
50
+ background-color: var(--color-field-hover, var(--color-base-200));
51
+ border-color: var(--color-field-border-hover, color-mix(in oklab, var(--color-base-content) 22%, transparent));
52
+ }
53
+ }
54
+
55
+ .number-field__group:focus-within,
56
+ .number-field__group[data-focus-within="true"] {
57
+ border-color: var(--color-field-border-focus, var(--color-accent));
58
+ background-color: var(--color-field-focus, var(--color-base-100));
59
+ box-shadow:
60
+ 0 0 0 3px color-mix(in oklab, var(--color-accent) 22%, transparent),
61
+ 0 1px 0 color-mix(in oklab, var(--color-accent) 24%, transparent);
62
+ }
63
+
64
+ .number-field__group[data-invalid="true"] {
65
+ border-color: var(--color-field-border-invalid, var(--color-danger));
66
+ background-color: var(--color-field-focus, var(--color-base-100));
67
+ box-shadow:
68
+ 0 0 0 3px color-mix(in oklab, var(--color-danger) 20%, transparent),
69
+ 0 1px 0 color-mix(in oklab, var(--color-danger) 20%, transparent);
70
+ }
71
+
72
+ .number-field__group[data-disabled="true"],
73
+ .number-field__group[aria-disabled="true"] {
74
+ cursor: not-allowed;
75
+ background-color: var(--color-base-200);
76
+ color: color-mix(in oklab, var(--color-base-content) 45%, transparent);
77
+ opacity: var(--disabled-opacity, 0.6);
78
+ box-shadow: none;
79
+ }
80
+
81
+ .number-field__input {
82
+ min-width: 0;
83
+ border: 0;
84
+ border-radius: 0;
85
+ background: transparent;
86
+ padding-block: 0.5rem;
87
+ padding-inline: 0.75rem;
88
+ font-size: 0.875rem;
89
+ line-height: 1.25rem;
90
+ color: inherit;
91
+ outline: none;
92
+ box-shadow: none;
93
+ text-align: center;
94
+ font-variant-numeric: tabular-nums;
95
+ }
96
+
97
+ .number-field__input::placeholder {
98
+ color: var(--color-field-placeholder, color-mix(in oklab, var(--color-base-content) 45%, transparent));
99
+ }
100
+
101
+ .number-field__input:focus,
102
+ .number-field__input:focus-visible {
103
+ outline: none;
104
+ }
105
+
106
+ .number-field__increment-button,
107
+ .number-field__decrement-button {
108
+ display: flex;
109
+ width: 2.5rem;
110
+ height: 100%;
111
+ align-items: center;
112
+ justify-content: center;
113
+ border: 0;
114
+ background: transparent;
115
+ color: inherit;
116
+ cursor: var(--cursor-interactive, pointer);
117
+ outline: none;
118
+ transition:
119
+ background-color 150ms var(--ease-smooth),
120
+ border-color 150ms var(--ease-smooth),
121
+ transform 150ms var(--ease-out);
122
+ }
123
+
124
+ @media (prefers-reduced-motion: reduce) {
125
+ .number-field__increment-button,
126
+ .number-field__decrement-button {
127
+ transition: none;
128
+ }
129
+ }
130
+
131
+ .number-field__increment-button {
132
+ border-inline-start: var(--border-width-field, 1px) solid
133
+ color-mix(in oklab, var(--color-field-placeholder, var(--color-base-content)) 25%, transparent);
134
+ }
135
+
136
+ .number-field__decrement-button {
137
+ border-inline-end: var(--border-width-field, 1px) solid
138
+ color-mix(in oklab, var(--color-field-placeholder, var(--color-base-content)) 25%, transparent);
139
+ }
140
+
141
+ @media (hover: hover) {
142
+ .number-field__increment-button:hover:not(:disabled),
143
+ .number-field__decrement-button:hover:not(:disabled) {
144
+ background-color: color-mix(in oklab, var(--color-base-content) 7%, transparent);
145
+ }
146
+ }
147
+
148
+ .number-field__increment-button:active:not(:disabled),
149
+ .number-field__increment-button[data-pressed="true"],
150
+ .number-field__decrement-button:active:not(:disabled),
151
+ .number-field__decrement-button[data-pressed="true"] {
152
+ background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
153
+ transform: scale(0.97);
154
+ }
155
+
156
+ .number-field__increment-button:disabled,
157
+ .number-field__decrement-button:disabled,
158
+ .number-field__increment-button[data-disabled="true"],
159
+ .number-field__decrement-button[data-disabled="true"] {
160
+ cursor: not-allowed;
161
+ opacity: 0.6;
162
+ }
163
+
164
+ .number-field__increment-button [data-slot="number-field-increment-button-icon"],
165
+ .number-field__decrement-button [data-slot="number-field-decrement-button-icon"] {
166
+ width: 1rem;
167
+ height: 1rem;
168
+ }
169
+
170
+ .number-field--secondary .number-field__group {
171
+ box-shadow: none;
172
+ background-color: var(--number-field-group-bg, var(--color-default, var(--color-base-200)));
173
+ }
174
+
175
+ @media (hover: hover) {
176
+ .number-field--secondary .number-field__group:hover:not(:focus-within):not([data-disabled="true"]) {
177
+ background-color: var(--number-field-group-bg-hover, var(--color-default-hover, var(--color-base-300)));
178
+ }
179
+ }
180
+
181
+ .number-field--secondary .number-field__group:focus-within,
182
+ .number-field--secondary .number-field__group[data-focus-within="true"] {
183
+ background-color: var(--number-field-group-bg-focus, var(--color-default, var(--color-base-200)));
184
+ }
185
+
186
+ .number-field--secondary .number-field__group[data-invalid="true"] {
187
+ border-color: var(--color-field-border-invalid, var(--color-danger));
188
+ background-color: var(--number-field-group-bg-focus, var(--color-default, var(--color-base-200)));
189
+ }
190
+
191
+ .number-field--full-width {
192
+ width: 100%;
193
+ }
194
+
195
+ .number-field__group--full-width {
196
+ width: 100%;
197
+ }
198
+ }