@pantool/components 1.0.0-alpha.1 → 1.0.0-alpha.11

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 (256) hide show
  1. package/dist/atoms/autocomplete/autocomplete.css +1 -0
  2. package/dist/atoms/autocomplete/autocomplete.d.ts +77 -0
  3. package/dist/atoms/autocomplete/autocomplete.js +2 -0
  4. package/dist/atoms/autocomplete/autocomplete.js.map +1 -0
  5. package/dist/atoms/autocomplete/autocomplete.module.js +3 -0
  6. package/dist/atoms/autocomplete/autocomplete.module.js.map +1 -0
  7. package/dist/atoms/autocomplete/index.d.ts +1 -0
  8. package/dist/atoms/autocomplete/index.js +1 -0
  9. package/dist/atoms/avatar/avatar.css +1 -0
  10. package/dist/atoms/avatar/avatar.d.ts +17 -0
  11. package/dist/atoms/avatar/avatar.js +2 -0
  12. package/dist/atoms/avatar/avatar.js.map +1 -0
  13. package/dist/atoms/avatar/avatar.module.js +3 -0
  14. package/dist/atoms/avatar/avatar.module.js.map +1 -0
  15. package/dist/atoms/avatar/index.d.ts +1 -0
  16. package/dist/atoms/avatar/index.js +1 -0
  17. package/dist/atoms/badge/badge.d.ts +42 -0
  18. package/dist/atoms/badge/badge.js +2 -0
  19. package/dist/atoms/badge/badge.js.map +1 -0
  20. package/dist/atoms/badge/index.d.ts +1 -0
  21. package/dist/atoms/badge/index.js +1 -0
  22. package/dist/atoms/badge/styles.css +1 -0
  23. package/dist/atoms/badge/styles.module.js +3 -0
  24. package/dist/atoms/badge/styles.module.js.map +1 -0
  25. package/dist/atoms/button/button.css +1 -18
  26. package/dist/atoms/button/button.d.ts +5 -5
  27. package/dist/atoms/button/button.js.map +1 -1
  28. package/dist/atoms/button/button.module.js +1 -0
  29. package/dist/atoms/button/button.module.js.map +1 -1
  30. package/dist/atoms/checkbox/checkbox.css +1 -119
  31. package/dist/atoms/checkbox/checkbox.d.ts +16 -32
  32. package/dist/atoms/checkbox/checkbox.js +1 -1
  33. package/dist/atoms/checkbox/checkbox.js.map +1 -1
  34. package/dist/atoms/checkbox/checkbox.module.js +2 -1
  35. package/dist/atoms/checkbox/checkbox.module.js.map +1 -1
  36. package/dist/atoms/checkbox-group/checkbox-group.css +1 -0
  37. package/dist/atoms/checkbox-group/checkbox-group.d.ts +47 -0
  38. package/dist/atoms/checkbox-group/checkbox-group.js +2 -0
  39. package/dist/atoms/checkbox-group/checkbox-group.js.map +1 -0
  40. package/dist/atoms/checkbox-group/checkbox-group.module.js +3 -0
  41. package/dist/atoms/checkbox-group/checkbox-group.module.js.map +1 -0
  42. package/dist/atoms/checkbox-group/index.d.ts +1 -0
  43. package/dist/atoms/checkbox-group/index.js +1 -0
  44. package/dist/atoms/clickable-area/clickable-area.d.ts +15 -0
  45. package/dist/atoms/clickable-area/clickable-area.js +2 -0
  46. package/dist/atoms/clickable-area/clickable-area.js.map +1 -0
  47. package/dist/atoms/clickable-area/index.d.ts +1 -0
  48. package/dist/atoms/clickable-area/index.js +1 -0
  49. package/dist/atoms/clickable-area/styles.css +1 -0
  50. package/dist/atoms/clickable-area/styles.module.js +3 -0
  51. package/dist/atoms/clickable-area/styles.module.js.map +1 -0
  52. package/dist/atoms/collapsible/collapsible.css +1 -0
  53. package/dist/atoms/collapsible/collapsible.d.ts +16 -0
  54. package/dist/atoms/collapsible/collapsible.js +2 -0
  55. package/dist/atoms/collapsible/collapsible.js.map +1 -0
  56. package/dist/atoms/collapsible/collapsible.module.js +3 -0
  57. package/dist/atoms/collapsible/collapsible.module.js.map +1 -0
  58. package/dist/atoms/collapsible/index.d.ts +1 -0
  59. package/dist/atoms/collapsible/index.js +1 -0
  60. package/dist/atoms/combobox/combobox.css +1 -302
  61. package/dist/atoms/combobox/combobox.d.ts +14 -13
  62. package/dist/atoms/combobox/combobox.js +1 -1
  63. package/dist/atoms/combobox/combobox.js.map +1 -1
  64. package/dist/atoms/combobox/combobox.module.js +2 -1
  65. package/dist/atoms/combobox/combobox.module.js.map +1 -1
  66. package/dist/atoms/combobox/components/item.js +1 -1
  67. package/dist/atoms/combobox/components/item.js.map +1 -1
  68. package/dist/atoms/combobox/index.d.ts +1 -0
  69. package/dist/atoms/context-menu/context-menu.css +1 -75
  70. package/dist/atoms/context-menu/context-menu.module.js +1 -0
  71. package/dist/atoms/context-menu/context-menu.module.js.map +1 -1
  72. package/dist/atoms/icon/icon.d.ts +2 -2
  73. package/dist/atoms/icon/icon.js.map +1 -1
  74. package/dist/atoms/icon-button/icon-button.css +1 -12
  75. package/dist/atoms/icon-button/icon-button.d.ts +4 -4
  76. package/dist/atoms/icon-button/icon-button.js +1 -1
  77. package/dist/atoms/icon-button/icon-button.js.map +1 -1
  78. package/dist/atoms/icon-button/icon-button.module.js +1 -0
  79. package/dist/atoms/index.d.ts +19 -4
  80. package/dist/atoms/index.js +1 -1
  81. package/dist/atoms/input/input.css +1 -29
  82. package/dist/atoms/input/input.d.ts +13 -14
  83. package/dist/atoms/input/input.js +1 -1
  84. package/dist/atoms/input/input.js.map +1 -1
  85. package/dist/atoms/input/input.module.js +1 -0
  86. package/dist/atoms/input/input.module.js.map +1 -1
  87. package/dist/atoms/menu/index.d.ts +1 -0
  88. package/dist/atoms/menu/index.js +1 -0
  89. package/dist/atoms/menu/menu.css +1 -0
  90. package/dist/atoms/menu/menu.d.ts +69 -0
  91. package/dist/atoms/menu/menu.js +2 -0
  92. package/dist/atoms/menu/menu.js.map +1 -0
  93. package/dist/atoms/menu/menu.module.js +3 -0
  94. package/dist/atoms/menu/menu.module.js.map +1 -0
  95. package/dist/atoms/menubar/index.d.ts +1 -0
  96. package/dist/atoms/menubar/index.js +1 -0
  97. package/dist/atoms/menubar/menubar.css +1 -0
  98. package/dist/atoms/menubar/menubar.d.ts +12 -0
  99. package/dist/atoms/menubar/menubar.js +2 -0
  100. package/dist/atoms/menubar/menubar.js.map +1 -0
  101. package/dist/atoms/menubar/menubar.module.js +3 -0
  102. package/dist/atoms/menubar/menubar.module.js.map +1 -0
  103. package/dist/atoms/notice/index.d.ts +1 -0
  104. package/dist/atoms/notice/index.js +1 -0
  105. package/dist/atoms/notice/notice.d.ts +28 -0
  106. package/dist/atoms/notice/notice.js +2 -0
  107. package/dist/atoms/notice/notice.js.map +1 -0
  108. package/dist/atoms/notice/styles.css +1 -0
  109. package/dist/atoms/notice/styles.module.js +3 -0
  110. package/dist/atoms/notice/styles.module.js.map +1 -0
  111. package/dist/atoms/radio/index.d.ts +1 -1
  112. package/dist/atoms/radio/radio.css +1 -142
  113. package/dist/atoms/radio/radio.d.ts +14 -17
  114. package/dist/atoms/radio/radio.js +1 -1
  115. package/dist/atoms/radio/radio.js.map +1 -1
  116. package/dist/atoms/radio/radio.module.js +2 -1
  117. package/dist/atoms/radio/radio.module.js.map +1 -1
  118. package/dist/atoms/radio-group/index.d.ts +1 -0
  119. package/dist/atoms/radio-group/index.js +1 -0
  120. package/dist/atoms/radio-group/radio-group.css +1 -0
  121. package/dist/atoms/radio-group/radio-group.d.ts +48 -0
  122. package/dist/atoms/radio-group/radio-group.js +2 -0
  123. package/dist/atoms/radio-group/radio-group.js.map +1 -0
  124. package/dist/atoms/radio-group/radio-group.module.js +3 -0
  125. package/dist/atoms/radio-group/radio-group.module.js.map +1 -0
  126. package/dist/atoms/select/components/item.d.ts +17 -0
  127. package/dist/atoms/select/components/item.js +2 -0
  128. package/dist/atoms/select/components/item.js.map +1 -0
  129. package/dist/atoms/select/index.d.ts +2 -0
  130. package/dist/atoms/select/index.js +1 -0
  131. package/dist/atoms/select/select.css +1 -0
  132. package/dist/atoms/select/select.d.ts +67 -0
  133. package/dist/atoms/select/select.js +2 -0
  134. package/dist/atoms/select/select.js.map +1 -0
  135. package/dist/atoms/select/select.module.js +3 -0
  136. package/dist/atoms/select/select.module.js.map +1 -0
  137. package/dist/atoms/slider/index.d.ts +1 -0
  138. package/dist/atoms/slider/index.js +1 -0
  139. package/dist/atoms/slider/slider.css +1 -0
  140. package/dist/atoms/slider/slider.d.ts +53 -0
  141. package/dist/atoms/slider/slider.js +2 -0
  142. package/dist/atoms/slider/slider.js.map +1 -0
  143. package/dist/atoms/slider/slider.module.js +3 -0
  144. package/dist/atoms/slider/slider.module.js.map +1 -0
  145. package/dist/atoms/stepper/index.d.ts +1 -0
  146. package/dist/atoms/stepper/index.js +1 -0
  147. package/dist/atoms/stepper/stepper.css +1 -0
  148. package/dist/atoms/stepper/stepper.d.ts +42 -0
  149. package/dist/atoms/stepper/stepper.js +2 -0
  150. package/dist/atoms/stepper/stepper.js.map +1 -0
  151. package/dist/atoms/stepper/stepper.module.js +3 -0
  152. package/dist/atoms/stepper/stepper.module.js.map +1 -0
  153. package/dist/atoms/switch/switch.css +1 -68
  154. package/dist/atoms/switch/switch.module.js +1 -0
  155. package/dist/atoms/switch/switch.module.js.map +1 -1
  156. package/dist/atoms/tabs/tabs.css +1 -92
  157. package/dist/atoms/tabs/tabs.d.ts +3 -3
  158. package/dist/atoms/tabs/tabs.module.js +1 -0
  159. package/dist/atoms/tabs/tabs.module.js.map +1 -1
  160. package/dist/atoms/text/text.css +1 -273
  161. package/dist/atoms/text/text.d.ts +3 -3
  162. package/dist/atoms/text/text.module.js +1 -0
  163. package/dist/atoms/text/text.module.js.map +1 -1
  164. package/dist/atoms/toast/toast.css +1 -151
  165. package/dist/atoms/toast/toast.module.js +1 -0
  166. package/dist/atoms/toast/toast.module.js.map +1 -1
  167. package/dist/atoms/tooltip/tooltip.css +1 -92
  168. package/dist/atoms/tooltip/tooltip.d.ts +3 -3
  169. package/dist/atoms/tooltip/tooltip.module.js +1 -0
  170. package/dist/atoms/tooltip/tooltip.module.js.map +1 -1
  171. package/dist/fields/autocomplete-field/autocomplete-field.d.ts +26 -0
  172. package/dist/fields/autocomplete-field/autocomplete-field.js +2 -0
  173. package/dist/fields/autocomplete-field/autocomplete-field.js.map +1 -0
  174. package/dist/fields/autocomplete-field/index.d.ts +1 -0
  175. package/dist/fields/autocomplete-field/index.js +1 -0
  176. package/dist/fields/checkbox-field/checkbox-field.d.ts +23 -0
  177. package/dist/fields/checkbox-field/checkbox-field.js +2 -0
  178. package/dist/fields/checkbox-field/checkbox-field.js.map +1 -0
  179. package/dist/fields/checkbox-field/index.d.ts +1 -0
  180. package/dist/fields/checkbox-field/index.js +1 -0
  181. package/dist/fields/checkbox-group-field/checkbox-group-field.d.ts +26 -0
  182. package/dist/fields/checkbox-group-field/checkbox-group-field.js +2 -0
  183. package/dist/fields/checkbox-group-field/checkbox-group-field.js.map +1 -0
  184. package/dist/fields/checkbox-group-field/index.d.ts +1 -0
  185. package/dist/fields/checkbox-group-field/index.js +1 -0
  186. package/dist/fields/combobox-field/combobox-field.d.ts +26 -0
  187. package/dist/fields/combobox-field/combobox-field.js +2 -0
  188. package/dist/fields/combobox-field/combobox-field.js.map +1 -0
  189. package/dist/fields/combobox-field/index.d.ts +1 -0
  190. package/dist/fields/combobox-field/index.js +1 -0
  191. package/dist/fields/index.d.ts +9 -0
  192. package/dist/fields/index.js +1 -0
  193. package/dist/fields/input-field/index.d.ts +1 -0
  194. package/dist/fields/input-field/index.js +1 -0
  195. package/dist/fields/input-field/input-field.d.ts +26 -0
  196. package/dist/fields/input-field/input-field.js +2 -0
  197. package/dist/fields/input-field/input-field.js.map +1 -0
  198. package/dist/fields/radio-group-field/index.d.ts +1 -0
  199. package/dist/fields/radio-group-field/index.js +1 -0
  200. package/dist/fields/radio-group-field/radio-group-field.d.ts +26 -0
  201. package/dist/fields/radio-group-field/radio-group-field.js +2 -0
  202. package/dist/fields/radio-group-field/radio-group-field.js.map +1 -0
  203. package/dist/fields/select-field/index.d.ts +1 -0
  204. package/dist/fields/select-field/index.js +1 -0
  205. package/dist/fields/select-field/select-field.d.ts +26 -0
  206. package/dist/fields/select-field/select-field.js +2 -0
  207. package/dist/fields/select-field/select-field.js.map +1 -0
  208. package/dist/fields/slider-field/index.d.ts +1 -0
  209. package/dist/fields/slider-field/index.js +1 -0
  210. package/dist/fields/slider-field/slider-field.d.ts +26 -0
  211. package/dist/fields/slider-field/slider-field.js +2 -0
  212. package/dist/fields/slider-field/slider-field.js.map +1 -0
  213. package/dist/fields/stepper-field/index.d.ts +1 -0
  214. package/dist/fields/stepper-field/index.js +1 -0
  215. package/dist/fields/stepper-field/stepper-field.d.ts +26 -0
  216. package/dist/fields/stepper-field/stepper-field.js +2 -0
  217. package/dist/fields/stepper-field/stepper-field.js.map +1 -0
  218. package/dist/helpers/flex/flex.d.ts +45 -0
  219. package/dist/helpers/flex/flex.js +2 -0
  220. package/dist/helpers/flex/flex.js.map +1 -0
  221. package/dist/helpers/flex/index.d.ts +1 -0
  222. package/dist/helpers/flex/index.js +1 -0
  223. package/dist/helpers/flex/styles.css +1 -0
  224. package/dist/helpers/flex/styles.module.js +3 -0
  225. package/dist/helpers/flex/styles.module.js.map +1 -0
  226. package/dist/helpers/index.d.ts +4 -0
  227. package/dist/helpers/index.js +1 -0
  228. package/dist/helpers/portal/context/portal-config.js.map +1 -1
  229. package/dist/index.d.ts +30 -5
  230. package/dist/index.js +1 -1
  231. package/dist/internals/base-button/base-button.css +1 -262
  232. package/dist/internals/base-button/base-button.d.ts +2 -2
  233. package/dist/internals/base-button/base-button.js.map +1 -1
  234. package/dist/internals/base-button/base-button.module.js +1 -0
  235. package/dist/internals/base-button/base-button.module.js.map +1 -1
  236. package/dist/internals/base-dialog/base-dialog.css +1 -74
  237. package/dist/internals/base-dialog/base-dialog.module.js +1 -0
  238. package/dist/internals/base-field/base-field.css +1 -115
  239. package/dist/internals/base-field/base-field.js +1 -1
  240. package/dist/internals/base-field/base-field.js.map +1 -1
  241. package/dist/internals/base-field/base-field.module.js +1 -0
  242. package/dist/internals/base-field/base-field.module.js.map +1 -1
  243. package/dist/internals/base-field/components/error.js +1 -1
  244. package/dist/internals/base-field/components/error.js.map +1 -1
  245. package/dist/internals/base-field/components/label.js.map +1 -1
  246. package/dist/internals/base-svg/base-svg.css +1 -137
  247. package/dist/internals/base-svg/base-svg.d.ts +2 -2
  248. package/dist/internals/base-svg/base-svg.js.map +1 -1
  249. package/dist/internals/base-svg/base-svg.module.js +1 -0
  250. package/dist/internals/base-svg/base-svg.module.js.map +1 -1
  251. package/dist/providers/index.d.ts +0 -3
  252. package/dist/providers/index.js +1 -1
  253. package/dist/providers/toast-provider/toast-provider.css +1 -13
  254. package/dist/providers/toast-provider/toast-provider.module.js +1 -0
  255. package/dist/providers/toast-provider/toast-provider.module.js.map +1 -1
  256. package/package.json +16 -30
@@ -0,0 +1 @@
1
+ import"./slider.js";
@@ -0,0 +1 @@
1
+ .uTCv8W_root{--slider-track-color:var(--color-surface-tertiary);--slider-indicator-color:var(--color-action-brand-base);--slider-thumb-bg:var(--color-surface-base);--slider-thumb-border:var(--color-action-brand-base);width:100%}.uTCv8W_root[data-invalid]{--slider-indicator-color:var(--color-content-negative-base);--slider-thumb-border:var(--color-content-negative-base)}.uTCv8W_root[data-disabled]{--slider-indicator-color:var(--color-content-neutral-muted);--slider-thumb-border:var(--color-content-neutral-muted);--slider-thumb-bg:var(--color-surface-tertiary);cursor:not-allowed}.uTCv8W_root[data-size=sm]{--slider-track-height:.125rem;--slider-thumb-size:.75rem}.uTCv8W_root[data-size=md]{--slider-track-height:.25rem;--slider-thumb-size:1rem}.uTCv8W_root[data-size=lg]{--slider-track-height:.375rem;--slider-thumb-size:1.25rem}.uTCv8W_control{box-sizing:border-box;width:100%;padding-block:var(--spacing-sm);touch-action:none;user-select:none;align-items:center;display:flex}.uTCv8W_control[data-orientation=vertical]{width:auto;height:8rem;padding-block:0;padding-inline:var(--spacing-sm)}.uTCv8W_track{width:100%;height:var(--slider-track-height);background-color:var(--slider-track-color);border-radius:var(--radius-full);user-select:none}.uTCv8W_track[data-orientation=vertical]{width:var(--slider-track-height);height:100%}.uTCv8W_indicator{background-color:var(--slider-indicator-color);border-radius:var(--radius-full);user-select:none}.uTCv8W_thumb{box-sizing:border-box;width:var(--slider-thumb-size);height:var(--slider-thumb-size);border:2px solid var(--slider-thumb-border);background-color:var(--slider-thumb-bg);border-radius:var(--radius-md);user-select:none;transition:box-shadow .1s,transform .1s}.uTCv8W_thumb:has(:focus-visible){outline-style:solid;outline-width:var(--stroke-focus-ring);outline-color:var(--color-action-info-base);outline-offset:var(--spacing-xxs)}.uTCv8W_thumb[data-dragging]{transform:scale(1.15)}
@@ -0,0 +1,53 @@
1
+ import { SliderRootProps } from "@base-ui/react/slider";
2
+
3
+ //#region src/atoms/slider/slider.d.ts
4
+ /**
5
+ * Props for the Slider component.
6
+ */
7
+ type SliderProps = Omit<SliderRootProps, "className"> & {
8
+ /**
9
+ * The size of the slider.
10
+ * @default "md"
11
+ */
12
+ size?: "sm" | "md" | "lg";
13
+ /**
14
+ * Whether the slider is in an invalid state.
15
+ * @default false
16
+ */
17
+ invalid?: boolean;
18
+ /**
19
+ * Accessible label for the thumb (single-thumb sliders).
20
+ */
21
+ thumbLabel?: string;
22
+ /**
23
+ * Accessible labels for range slider thumbs.
24
+ */
25
+ thumbLabels?: string[];
26
+ /**
27
+ * Additional CSS classes for styling.
28
+ */
29
+ classNames?: {
30
+ root?: string;
31
+ control?: string;
32
+ track?: string;
33
+ indicator?: string;
34
+ thumb?: string;
35
+ };
36
+ };
37
+ /**
38
+ * A slider component for selecting a value or range within a given interval.
39
+ * Built on top of Base UI's Slider primitive.
40
+ */
41
+ declare function Slider$1({
42
+ size,
43
+ invalid,
44
+ disabled,
45
+ defaultValue,
46
+ thumbLabel,
47
+ thumbLabels,
48
+ classNames,
49
+ ...props
50
+ }: SliderProps): import("react/jsx-runtime").JSX.Element;
51
+ //#endregion
52
+ export { Slider$1 as Slider, SliderProps };
53
+ //# sourceMappingURL=slider.d.ts.map
@@ -0,0 +1,2 @@
1
+ import e from"./slider.module.js";import t from"clsx";import{Fragment as n,jsx as r,jsxs as i}from"react/jsx-runtime";import{Slider as a}from"@base-ui/react/slider";function o({size:o=`md`,invalid:s=!1,disabled:c=!1,defaultValue:l,thumbLabel:u,thumbLabels:d,classNames:f,...p}){let m=Array.isArray(l??p.value);return r(a.Root,{defaultValue:l,disabled:c,className:t(e.root,f?.root),"data-size":o,"data-invalid":s||void 0,"data-slot":`slider-root`,...p,children:r(a.Control,{className:t(e.control,f?.control),"data-slot":`slider-control`,children:i(a.Track,{className:t(e.track,f?.track),"data-slot":`slider-track`,children:[r(a.Indicator,{className:t(e.indicator,f?.indicator),"data-slot":`slider-indicator`}),m?i(n,{children:[r(a.Thumb,{index:0,"aria-label":d?.[0],className:t(e.thumb,f?.thumb),"data-slot":`slider-thumb`}),r(a.Thumb,{index:1,"aria-label":d?.[1],className:t(e.thumb,f?.thumb),"data-slot":`slider-thumb`})]}):r(a.Thumb,{"aria-label":u,className:t(e.thumb,f?.thumb),"data-slot":`slider-thumb`})]})})})}export{o as Slider};
2
+ //# sourceMappingURL=slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.js","names":["Slider","BaseUISlider","styles"],"sources":["../../../src/atoms/slider/slider.tsx"],"sourcesContent":["import {\n Slider as BaseUISlider,\n type SliderRootProps,\n} from \"@base-ui/react/slider\";\nimport clsx from \"clsx\";\nimport styles from \"./slider.module.css\";\n\n/**\n * Props for the Slider component.\n */\nexport type SliderProps = Omit<SliderRootProps, \"className\"> & {\n /**\n * The size of the slider.\n * @default \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n /**\n * Whether the slider is in an invalid state.\n * @default false\n */\n invalid?: boolean;\n /**\n * Accessible label for the thumb (single-thumb sliders).\n */\n thumbLabel?: string;\n /**\n * Accessible labels for range slider thumbs.\n */\n thumbLabels?: string[];\n /**\n * Additional CSS classes for styling.\n */\n classNames?: {\n root?: string;\n control?: string;\n track?: string;\n indicator?: string;\n thumb?: string;\n };\n};\n\n/**\n * A slider component for selecting a value or range within a given interval.\n * Built on top of Base UI's Slider primitive.\n */\nexport function Slider({\n size = \"md\",\n invalid = false,\n disabled = false,\n defaultValue,\n thumbLabel,\n thumbLabels,\n classNames,\n ...props\n}: SliderProps) {\n const isRange = Array.isArray(defaultValue ?? props.value);\n\n return (\n <BaseUISlider.Root\n defaultValue={defaultValue}\n disabled={disabled}\n className={clsx(styles[\"root\"], classNames?.root)}\n data-size={size}\n data-invalid={invalid || undefined}\n data-slot=\"slider-root\"\n {...props}\n >\n <BaseUISlider.Control\n className={clsx(styles[\"control\"], classNames?.control)}\n data-slot=\"slider-control\"\n >\n <BaseUISlider.Track\n className={clsx(styles[\"track\"], classNames?.track)}\n data-slot=\"slider-track\"\n >\n <BaseUISlider.Indicator\n className={clsx(styles[\"indicator\"], classNames?.indicator)}\n data-slot=\"slider-indicator\"\n />\n {isRange ? (\n <>\n <BaseUISlider.Thumb\n index={0}\n aria-label={thumbLabels?.[0]}\n className={clsx(styles[\"thumb\"], classNames?.thumb)}\n data-slot=\"slider-thumb\"\n />\n <BaseUISlider.Thumb\n index={1}\n aria-label={thumbLabels?.[1]}\n className={clsx(styles[\"thumb\"], classNames?.thumb)}\n data-slot=\"slider-thumb\"\n />\n </>\n ) : (\n <BaseUISlider.Thumb\n aria-label={thumbLabel}\n className={clsx(styles[\"thumb\"], classNames?.thumb)}\n data-slot=\"slider-thumb\"\n />\n )}\n </BaseUISlider.Track>\n </BaseUISlider.Control>\n </BaseUISlider.Root>\n );\n}\n"],"mappings":"qKA6CA,SAAgBA,EAAO,CACrB,OAAO,KACP,UAAU,GACV,WAAW,GACX,eACA,aACA,cACA,aACA,GAAG,GACW,CACd,IAAM,EAAU,MAAM,QAAQ,GAAgB,EAAM,KAAK,EAEzD,OACE,EAACC,EAAa,KAAd,CACgB,eACJ,WACV,UAAW,EAAKC,EAAO,KAAS,GAAY,IAAI,EAChD,YAAW,EACX,eAAc,GAAW,IAAA,GACzB,YAAU,cACV,GAAI,WAEJ,EAACD,EAAa,QAAd,CACE,UAAW,EAAKC,EAAO,QAAY,GAAY,OAAO,EACtD,YAAU,0BAEV,EAACD,EAAa,MAAd,CACE,UAAW,EAAKC,EAAO,MAAU,GAAY,KAAK,EAClD,YAAU,wBAFZ,CAIE,EAACD,EAAa,UAAd,CACE,UAAW,EAAKC,EAAO,UAAc,GAAY,SAAS,EAC1D,YAAU,kBACX,CAAA,EACA,EACC,EAAA,EAAA,CAAA,SAAA,CACE,EAACD,EAAa,MAAd,CACE,MAAO,EACP,aAAY,IAAc,GAC1B,UAAW,EAAKC,EAAO,MAAU,GAAY,KAAK,EAClD,YAAU,cACX,CAAA,EACD,EAACD,EAAa,MAAd,CACE,MAAO,EACP,aAAY,IAAc,GAC1B,UAAW,EAAKC,EAAO,MAAU,GAAY,KAAK,EAClD,YAAU,cACX,CAAA,CACD,CAAA,CAAA,EAEF,EAACD,EAAa,MAAd,CACE,aAAY,EACZ,UAAW,EAAKC,EAAO,MAAU,GAAY,KAAK,EAClD,YAAU,cACX,CAAA,CAEe,GACA,CAAA,CACL,CAAA,CAEvB"}
@@ -0,0 +1,3 @@
1
+ import './slider.css';
2
+ var e={control:`uTCv8W_control`,indicator:`uTCv8W_indicator`,root:`uTCv8W_root`,thumb:`uTCv8W_thumb`,track:`uTCv8W_track`};export{e as default};
3
+ //# sourceMappingURL=slider.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.module.js","names":[],"sources":["../../../src/atoms/slider/slider.module.css"],"sourcesContent":[".root {\n --slider-track-color: var(--color-surface-tertiary);\n --slider-indicator-color: var(--color-action-brand-base);\n --slider-thumb-bg: var(--color-surface-base);\n --slider-thumb-border: var(--color-action-brand-base);\n width: 100%;\n}\n\n.root[data-invalid] {\n --slider-indicator-color: var(--color-content-negative-base);\n --slider-thumb-border: var(--color-content-negative-base);\n}\n\n.root[data-disabled] {\n --slider-indicator-color: var(--color-content-neutral-muted);\n --slider-thumb-border: var(--color-content-neutral-muted);\n --slider-thumb-bg: var(--color-surface-tertiary);\n cursor: not-allowed;\n}\n\n.root[data-size=\"sm\"] {\n --slider-track-height: 0.125rem;\n --slider-thumb-size: 0.75rem;\n}\n\n.root[data-size=\"md\"] {\n --slider-track-height: 0.25rem;\n --slider-thumb-size: 1rem;\n}\n\n.root[data-size=\"lg\"] {\n --slider-track-height: 0.375rem;\n --slider-thumb-size: 1.25rem;\n}\n\n.control {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n width: 100%;\n padding-block: var(--spacing-sm);\n touch-action: none;\n user-select: none;\n}\n\n.control[data-orientation=\"vertical\"] {\n height: 8rem;\n width: auto;\n padding-block: 0;\n padding-inline: var(--spacing-sm);\n}\n\n.track {\n width: 100%;\n height: var(--slider-track-height);\n background-color: var(--slider-track-color);\n border-radius: var(--radius-full);\n user-select: none;\n}\n\n.track[data-orientation=\"vertical\"] {\n width: var(--slider-track-height);\n height: 100%;\n}\n\n.indicator {\n background-color: var(--slider-indicator-color);\n border-radius: var(--radius-full);\n user-select: none;\n}\n\n.thumb {\n box-sizing: border-box;\n width: var(--slider-thumb-size);\n height: var(--slider-thumb-size);\n border: 2px solid var(--slider-thumb-border);\n background-color: var(--slider-thumb-bg);\n border-radius: var(--radius-md);\n user-select: none;\n transition:\n box-shadow 0.1s,\n transform 0.1s;\n}\n\n.thumb:has(:focus-visible) {\n outline-style: solid;\n outline-width: var(--stroke-focus-ring);\n outline-color: var(--color-action-info-base);\n outline-offset: var(--spacing-xxs);\n}\n\n.thumb[data-dragging] {\n transform: scale(1.15);\n}\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ import { Stepper, StepperProps } from "./stepper.js";
@@ -0,0 +1 @@
1
+ import"./stepper.js";
@@ -0,0 +1 @@
1
+ .nIISiW_root{--field-control-radius:var(--radius-md);--field-control-bg-color:var(--color-surface-base);--field-control-text-color:var(--color-content-neutral-base);--field-control-border-color:var(--color-border-secondary);--field-control-placeholder-color:var(--color-content-neutral-muted);--field-label-color:var(--color-content-neutral-secondary);width:100%}.nIISiW_root[data-size=sm]{--field-control-height:1.5rem;--field-control-icon-size:1.5rem;--field-control-font-size:var(--typography-caption-base-size);--field-control-line-height:var(--typography-caption-base-height);--field-control-font-weight:var(--typography-caption-base-weight)}.nIISiW_root[data-size=md]{--field-control-height:2rem;--field-control-icon-size:2rem;--field-control-font-size:var(--typography-body-2-size);--field-control-line-height:var(--typography-body-2-height);--field-control-font-weight:var(--typography-body-2-weight)}.nIISiW_root[data-size=lg]{--field-control-height:2.5rem;--field-control-icon-size:2rem;--field-control-font-size:var(--typography-body-1-size);--field-control-line-height:var(--typography-body-1-height);--field-control-font-weight:var(--typography-body-1-weight)}.nIISiW_root[data-invalid]{--field-control-border-color:var(--color-content-negative-base);--field-control-text-color:var(--color-content-negative-base)}.nIISiW_root[data-disabled]{--field-control-bg-color:var(--color-surface-tertiary);--field-control-text-color:var(--color-content-neutral-muted);--field-control-border-color:var(--color-border-secondary);--field-label-color:var(--color-content-neutral-muted);cursor:not-allowed}.nIISiW_group{height:var(--field-control-height);width:100%;display:flex}.nIISiW_input{box-sizing:border-box;min-width:0;padding:0 var(--spacing-sm);border:1px solid var(--field-control-border-color);border-radius:var(--radius-md);height:100%;font-family:var(--typography-typeface-ltr);font-size:var(--field-control-font-size);line-height:var(--field-control-line-height);font-weight:var(--field-control-font-weight);font-variant-numeric:tabular-nums;text-align:left;background-color:var(--field-control-bg-color);color:var(--field-control-text-color);outline:none;flex:1;margin:0}.nIISiW_input::placeholder{color:var(--field-control-placeholder-color)}.nIISiW_input:focus-visible{z-index:1;outline-style:solid;outline-width:var(--stroke-focus-ring);outline-color:var(--color-action-info-base);outline-offset:var(--spacing-xxs)}
@@ -0,0 +1,42 @@
1
+ import { NumberFieldRootProps } from "@base-ui/react/number-field";
2
+
3
+ //#region src/atoms/stepper/stepper.d.ts
4
+ /**
5
+ * Props for the Stepper component.
6
+ */
7
+ type StepperProps = Omit<NumberFieldRootProps, "className"> & {
8
+ /**
9
+ * The size of the stepper.
10
+ * @default "md"
11
+ */
12
+ size?: "sm" | "md" | "lg";
13
+ /**
14
+ * Whether the stepper is in an invalid state.
15
+ * @default false
16
+ */
17
+ invalid?: boolean;
18
+ /**
19
+ * Additional CSS classes for styling.
20
+ */
21
+ classNames?: {
22
+ root?: string;
23
+ group?: string;
24
+ input?: string;
25
+ decrement?: string;
26
+ increment?: string;
27
+ };
28
+ };
29
+ /**
30
+ * A numeric stepper component with increment and decrement buttons.
31
+ * Built on Base UI's NumberField primitive.
32
+ */
33
+ declare function Stepper({
34
+ size,
35
+ invalid,
36
+ disabled,
37
+ classNames,
38
+ ...props
39
+ }: StepperProps): import("react/jsx-runtime").JSX.Element;
40
+ //#endregion
41
+ export { Stepper, StepperProps };
42
+ //# sourceMappingURL=stepper.d.ts.map
@@ -0,0 +1,2 @@
1
+ import{IconButton as e}from"../icon-button/icon-button.js";import"../icon-button/index.js";import t from"./stepper.module.js";import n from"clsx";import{jsx as r,jsxs as i}from"react/jsx-runtime";import{mdiMinus as a,mdiPlus as o}from"@mdi/js";import{NumberField as s}from"@base-ui/react/number-field";function c({size:c=`md`,invalid:l=!1,disabled:u=!1,classNames:d,...f}){return r(s.Root,{disabled:u,className:n(t.root,d?.root),"data-size":c,"data-invalid":l||void 0,"data-slot":`stepper-root`,...f,children:i(s.Group,{className:n(t.group,d?.group),"data-slot":`stepper-group`,children:[r(s.Decrement,{className:n(d?.decrement),"data-slot":`stepper-decrement`,render:r(e,{label:`decrement`,size:c,variant:`ghost`,iconData:a})}),r(s.Input,{className:n(t.input,d?.input),"data-slot":`stepper-input`}),r(s.Increment,{className:n(d?.increment),"data-slot":`stepper-increment`,render:r(e,{label:`increment`,size:c,variant:`ghost`,iconData:o})})]})})}export{c as Stepper};
2
+ //# sourceMappingURL=stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.js","names":["BaseUINumberField","styles"],"sources":["../../../src/atoms/stepper/stepper.tsx"],"sourcesContent":["import {\n NumberField as BaseUINumberField,\n type NumberFieldRootProps,\n} from \"@base-ui/react/number-field\";\nimport { mdiMinus, mdiPlus } from \"@mdi/js\";\nimport clsx from \"clsx\";\nimport { IconButton } from \"../icon-button\";\nimport styles from \"./stepper.module.css\";\n\n/**\n * Props for the Stepper component.\n */\nexport type StepperProps = Omit<NumberFieldRootProps, \"className\"> & {\n /**\n * The size of the stepper.\n * @default \"md\"\n */\n size?: \"sm\" | \"md\" | \"lg\";\n /**\n * Whether the stepper is in an invalid state.\n * @default false\n */\n invalid?: boolean;\n /**\n * Additional CSS classes for styling.\n */\n classNames?: {\n root?: string;\n group?: string;\n input?: string;\n decrement?: string;\n increment?: string;\n };\n};\n\n/**\n * A numeric stepper component with increment and decrement buttons.\n * Built on Base UI's NumberField primitive.\n */\nexport function Stepper({\n size = \"md\",\n invalid = false,\n disabled = false,\n classNames,\n ...props\n}: StepperProps) {\n return (\n <BaseUINumberField.Root\n disabled={disabled}\n className={clsx(styles[\"root\"], classNames?.root)}\n data-size={size}\n data-invalid={invalid || undefined}\n data-slot=\"stepper-root\"\n {...props}\n >\n <BaseUINumberField.Group\n className={clsx(styles[\"group\"], classNames?.group)}\n data-slot=\"stepper-group\"\n >\n <BaseUINumberField.Decrement\n className={clsx(classNames?.decrement)}\n data-slot=\"stepper-decrement\"\n render={\n <IconButton\n label=\"decrement\"\n size={size}\n variant=\"ghost\"\n iconData={mdiMinus}\n />\n }\n />\n <BaseUINumberField.Input\n className={clsx(styles[\"input\"], classNames?.input)}\n data-slot=\"stepper-input\"\n />\n <BaseUINumberField.Increment\n className={clsx(classNames?.increment)}\n data-slot=\"stepper-increment\"\n render={\n <IconButton\n label=\"increment\"\n size={size}\n variant=\"ghost\"\n iconData={mdiPlus}\n />\n }\n />\n </BaseUINumberField.Group>\n </BaseUINumberField.Root>\n );\n}\n"],"mappings":"8SAuCA,SAAgB,EAAQ,CACtB,OAAO,KACP,UAAU,GACV,WAAW,GACX,aACA,GAAG,GACY,CACf,OACE,EAACA,EAAkB,KAAnB,CACY,WACV,UAAW,EAAKC,EAAO,KAAS,GAAY,IAAI,EAChD,YAAW,EACX,eAAc,GAAW,IAAA,GACzB,YAAU,eACV,GAAI,WAEJ,EAACD,EAAkB,MAAnB,CACE,UAAW,EAAKC,EAAO,MAAU,GAAY,KAAK,EAClD,YAAU,yBAFZ,CAIE,EAACD,EAAkB,UAAnB,CACE,UAAW,EAAK,GAAY,SAAS,EACrC,YAAU,oBACV,OACE,EAAC,EAAD,CACE,MAAM,YACA,OACN,QAAQ,QACR,SAAU,CACX,CAAA,CAEJ,CAAA,EACD,EAACA,EAAkB,MAAnB,CACE,UAAW,EAAKC,EAAO,MAAU,GAAY,KAAK,EAClD,YAAU,eACX,CAAA,EACD,EAACD,EAAkB,UAAnB,CACE,UAAW,EAAK,GAAY,SAAS,EACrC,YAAU,oBACV,OACE,EAAC,EAAD,CACE,MAAM,YACA,OACN,QAAQ,QACR,SAAU,CACX,CAAA,CAEJ,CAAA,CACsB,GACH,CAAA,CAE5B"}
@@ -0,0 +1,3 @@
1
+ import './stepper.css';
2
+ var e={group:`nIISiW_group`,input:`nIISiW_input`,root:`nIISiW_root`};export{e as default};
3
+ //# sourceMappingURL=stepper.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.module.js","names":[],"sources":["../../../src/atoms/stepper/stepper.module.css"],"sourcesContent":[".root {\n --field-control-radius: var(--radius-md);\n --field-control-bg-color: var(--color-surface-base);\n --field-control-text-color: var(--color-content-neutral-base);\n --field-control-border-color: var(--color-border-secondary);\n --field-control-placeholder-color: var(--color-content-neutral-muted);\n --field-label-color: var(--color-content-neutral-secondary);\n width: 100%;\n}\n\n.root[data-size=\"sm\"] {\n --field-control-height: 1.5rem;\n --field-control-icon-size: 1.5rem;\n --field-control-font-size: var(--typography-caption-base-size);\n --field-control-line-height: var(--typography-caption-base-height);\n --field-control-font-weight: var(--typography-caption-base-weight);\n}\n\n.root[data-size=\"md\"] {\n --field-control-height: 2rem;\n --field-control-icon-size: 2rem;\n --field-control-font-size: var(--typography-body-2-size);\n --field-control-line-height: var(--typography-body-2-height);\n --field-control-font-weight: var(--typography-body-2-weight);\n}\n\n.root[data-size=\"lg\"] {\n --field-control-height: 2.5rem;\n --field-control-icon-size: 2rem;\n --field-control-font-size: var(--typography-body-1-size);\n --field-control-line-height: var(--typography-body-1-height);\n --field-control-font-weight: var(--typography-body-1-weight);\n}\n\n.root[data-invalid] {\n --field-control-border-color: var(--color-content-negative-base);\n --field-control-text-color: var(--color-content-negative-base);\n}\n\n.root[data-disabled] {\n --field-control-bg-color: var(--color-surface-tertiary);\n --field-control-text-color: var(--color-content-neutral-muted);\n --field-control-border-color: var(--color-border-secondary);\n --field-label-color: var(--color-content-neutral-muted);\n cursor: not-allowed;\n}\n\n.group {\n display: flex;\n height: var(--field-control-height);\n width: 100%;\n}\n\n.input {\n box-sizing: border-box;\n flex: 1;\n min-width: 0;\n margin: 0;\n padding: 0 var(--spacing-sm);\n border: 1px solid var(--field-control-border-color);\n border-radius: var(--radius-md);\n height: 100%;\n font-family: var(--typography-typeface-ltr);\n font-size: var(--field-control-font-size);\n line-height: var(--field-control-line-height);\n font-weight: var(--field-control-font-weight);\n font-variant-numeric: tabular-nums;\n text-align: left;\n background-color: var(--field-control-bg-color);\n color: var(--field-control-text-color);\n outline: none;\n}\n\n.input::placeholder {\n color: var(--field-control-placeholder-color);\n}\n\n.input:focus-visible {\n z-index: 1;\n outline-style: solid;\n outline-width: var(--stroke-focus-ring);\n outline-color: var(--color-action-info-base);\n outline-offset: var(--spacing-xxs);\n}\n"],"mappings":""}
@@ -1,68 +1 @@
1
- .Ld_P-G_root {
2
- box-sizing: border-box;
3
- border-style: solid;
4
- border-width: .0625rem;
5
- border-color: var(--color-border-primary);
6
- background-color: var(--color-surface-tertiary);
7
- padding: var(--spacing-xxs);
8
- height: var(--root-height);
9
- width: var(--root-width);
10
- cursor: pointer;
11
- border-radius: var(--radius-full);
12
- flex-shrink: 0;
13
- align-items: center;
14
- transition: background-color .15s, border-color .15s, opacity .15s;
15
- display: inline-flex;
16
- }
17
-
18
- .Ld_P-G_root[data-size="sm"] {
19
- --root-width: 2rem;
20
- --root-height: 1.125rem;
21
- }
22
-
23
- .Ld_P-G_root[data-size="md"] {
24
- --root-width: 2.25rem;
25
- --root-height: 1.25rem;
26
- }
27
-
28
- .Ld_P-G_root[data-size="lg"] {
29
- --root-width: 2.625rem;
30
- --root-height: 1.5rem;
31
- }
32
-
33
- .Ld_P-G_root[data-checked] {
34
- background-color: var(--color-action-brand-base);
35
- border-color: var(--color-action-brand-base);
36
- }
37
-
38
- .Ld_P-G_root[data-disabled] {
39
- cursor: not-allowed;
40
- opacity: .6;
41
- }
42
-
43
- .Ld_P-G_root[data-readonly] {
44
- cursor: default;
45
- }
46
-
47
- .Ld_P-G_root:focus-visible {
48
- outline-style: solid;
49
- outline-width: var(--stroke-focus-ring);
50
- outline-color: var(--color-action-info-base);
51
- outline-offset: var(--spacing-xxs);
52
- }
53
-
54
- .Ld_P-G_thumb {
55
- --thumb-size: calc(var(--root-height) - var(--spacing-xs));
56
- background-color: var(--color-on-brand);
57
- border-radius: var(--radius-full);
58
- height: var(--thumb-size);
59
- width: var(--thumb-size);
60
- translate: calc(-1 * var(--spacing-xxs) / 2) 0;
61
- transition: translate .15s, background-color .15s;
62
- display: block;
63
- }
64
-
65
- .Ld_P-G_root[data-checked] .Ld_P-G_thumb {
66
- translate: calc(var(--root-width) - var(--thumb-size) - (2 * var(--spacing-xxs)))
67
- 0;
68
- }
1
+ .Ld_P-G_root{box-sizing:border-box;border-style:solid;border-width:.0625rem;border-color:var(--color-border-primary);background-color:var(--color-surface-tertiary);padding:var(--spacing-xxs);height:var(--root-height);width:var(--root-width);cursor:pointer;border-radius:var(--radius-full);flex-shrink:0;align-items:center;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}.Ld_P-G_root[data-size=sm]{--root-width:2rem;--root-height:1.125rem}.Ld_P-G_root[data-size=md]{--root-width:2.25rem;--root-height:1.25rem}.Ld_P-G_root[data-size=lg]{--root-width:2.625rem;--root-height:1.5rem}.Ld_P-G_root[data-checked]{background-color:var(--color-action-brand-base);border-color:var(--color-action-brand-base)}.Ld_P-G_root[data-disabled]{cursor:not-allowed;opacity:.6}.Ld_P-G_root[data-readonly]{cursor:default}.Ld_P-G_root:focus-visible{outline-style:solid;outline-width:var(--stroke-focus-ring);outline-color:var(--color-action-info-base);outline-offset:var(--spacing-xxs)}.Ld_P-G_thumb{--thumb-size:calc(var(--root-height) - var(--spacing-xs));background-color:var(--color-on-brand);border-radius:var(--radius-full);height:var(--thumb-size);width:var(--thumb-size);translate:calc(-1 * var(--spacing-xxs) / 2) 0;transition:translate .15s,background-color .15s;display:block}.Ld_P-G_root[data-checked] .Ld_P-G_thumb{translate:calc(var(--root-width) - var(--thumb-size) - (2 * var(--spacing-xxs))) 0}
@@ -1,2 +1,3 @@
1
+ import './switch.css';
1
2
  var e={root:`Ld_P-G_root`,thumb:`Ld_P-G_thumb`};export{e as default};
2
3
  //# sourceMappingURL=switch.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"switch.module.js","names":[],"sources":["../../../src/atoms/switch/switch.module.css"],"sourcesContent":[".root {\n /* Layout */\n box-sizing: border-box;\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n\n /* Track shape */\n border-style: solid;\n border-width: 0.0625rem; /* 1px */\n border-color: var(--color-border-primary);\n background-color: var(--color-surface-tertiary);\n padding: var(--spacing-xxs); /* 0.125rem */\n\n height: var(--root-height);\n width: var(--root-width);\n\n /* Interaction */\n cursor: pointer;\n border-radius: var(--radius-full);\n transition:\n background-color 150ms ease,\n border-color 150ms ease,\n opacity 150ms ease;\n}\n\n/* Sizes (track) */\n.root[data-size=\"sm\"] {\n --root-width: 2rem; /* 32px */\n --root-height: 1.125rem; /* 18px */\n}\n\n.root[data-size=\"md\"] {\n --root-width: 2.25rem; /* 36px */\n --root-height: 1.25rem; /* 20px */\n}\n\n.root[data-size=\"lg\"] {\n --root-width: 2.625rem; /* 42px */\n --root-height: 1.5rem; /* 24px */\n}\n\n/* Checked track */\n.root[data-checked] {\n background-color: var(--color-action-brand-base);\n border-color: var(--color-action-brand-base);\n}\n\n/* Disabled */\n.root[data-disabled] {\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n/* Readonly */\n.root[data-readonly] {\n cursor: default;\n}\n\n/* Focus ring\n If you standardize on [data-focus-visible] later, swap selector accordingly. */\n.root:focus-visible {\n outline-style: solid;\n outline-width: var(--stroke-focus-ring);\n outline-color: var(--color-action-info-base);\n outline-offset: var(--spacing-xxs);\n}\n\n/* Thumb */\n.thumb {\n --thumb-size: calc(var(--root-height) - var(--spacing-xs));\n display: block;\n background-color: var(--color-on-brand);\n border-radius: var(--radius-full);\n transition:\n translate 150ms ease,\n background-color 150ms ease;\n\n height: var(--thumb-size);\n width: var(--thumb-size);\n\n translate: calc(-1 * var(--spacing-xxs) / 2) 0;\n}\n\n/* Thumb position when checked */\n.root[data-checked] .thumb {\n translate: calc(\n var(--root-width) - var(--thumb-size) - (2 * var(--spacing-xxs))\n )\n 0;\n}\n"],"mappings":"AAIA,IAAA,EAAe,CAAC,KAAA,cAAA,MAAA,cAAA"}
1
+ {"version":3,"file":"switch.module.js","names":[],"sources":["../../../src/atoms/switch/switch.module.css"],"sourcesContent":[".root {\n /* Layout */\n box-sizing: border-box;\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n\n /* Track shape */\n border-style: solid;\n border-width: 0.0625rem; /* 1px */\n border-color: var(--color-border-primary);\n background-color: var(--color-surface-tertiary);\n padding: var(--spacing-xxs); /* 0.125rem */\n\n height: var(--root-height);\n width: var(--root-width);\n\n /* Interaction */\n cursor: pointer;\n border-radius: var(--radius-full);\n transition:\n background-color 150ms ease,\n border-color 150ms ease,\n opacity 150ms ease;\n}\n\n/* Sizes (track) */\n.root[data-size=\"sm\"] {\n --root-width: 2rem; /* 32px */\n --root-height: 1.125rem; /* 18px */\n}\n\n.root[data-size=\"md\"] {\n --root-width: 2.25rem; /* 36px */\n --root-height: 1.25rem; /* 20px */\n}\n\n.root[data-size=\"lg\"] {\n --root-width: 2.625rem; /* 42px */\n --root-height: 1.5rem; /* 24px */\n}\n\n/* Checked track */\n.root[data-checked] {\n background-color: var(--color-action-brand-base);\n border-color: var(--color-action-brand-base);\n}\n\n/* Disabled */\n.root[data-disabled] {\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n/* Readonly */\n.root[data-readonly] {\n cursor: default;\n}\n\n/* Focus ring\n If you standardize on [data-focus-visible] later, swap selector accordingly. */\n.root:focus-visible {\n outline-style: solid;\n outline-width: var(--stroke-focus-ring);\n outline-color: var(--color-action-info-base);\n outline-offset: var(--spacing-xxs);\n}\n\n/* Thumb */\n.thumb {\n --thumb-size: calc(var(--root-height) - var(--spacing-xs));\n display: block;\n background-color: var(--color-on-brand);\n border-radius: var(--radius-full);\n transition:\n translate 150ms ease,\n background-color 150ms ease;\n\n height: var(--thumb-size);\n width: var(--thumb-size);\n\n translate: calc(-1 * var(--spacing-xxs) / 2) 0;\n}\n\n/* Thumb position when checked */\n.root[data-checked] .thumb {\n translate: calc(\n var(--root-width) - var(--thumb-size) - (2 * var(--spacing-xxs))\n )\n 0;\n}\n"],"mappings":""}
@@ -1,92 +1 @@
1
- ._5jD7lW_root {
2
- box-sizing: border-box;
3
- width: 100%;
4
- }
5
-
6
- ._5jD7lW_list {
7
- z-index: 1;
8
- gap: var(--spacing-sm);
9
- border-bottom: .0625rem solid var(--color-border-primary);
10
- display: flex;
11
- position: relative;
12
- }
13
-
14
- ._5jD7lW_tab {
15
- box-sizing: border-box;
16
- color: var(--color-content-neutral-tertiary);
17
- font-family: var(--typography-typeface-ltr);
18
- font-size: var(--typography-caption-base-size);
19
- -webkit-user-select: none;
20
- user-select: none;
21
- white-space: nowrap;
22
- word-break: keep-all;
23
- padding-inline: var(--spacing-md);
24
- padding-block: var(--spacing-sm);
25
- background: none;
26
- border: none;
27
- border-bottom: .125rem solid #0000;
28
- outline: none;
29
- justify-content: center;
30
- align-items: center;
31
- height: 2.5rem;
32
- margin: 0;
33
- font-weight: 400;
34
- line-height: 1.4;
35
- transition: color .15s ease-in-out, border .15s ease-in-out, background-color .15s ease-in-out;
36
- display: flex;
37
-
38
- @media (hover: hover) {
39
- &:hover {
40
- color: var(--color-content-neutral-strong);
41
- }
42
- }
43
-
44
- &[data-active] {
45
- color: var(--color-content-brand-base);
46
- border-bottom-color: var(--color-brand-primary);
47
- }
48
-
49
- &:focus-visible {
50
- outline: var(--stroke-focus-ring) solid var(--color-action-info-base);
51
- outline-offset: -1px;
52
- }
53
- }
54
-
55
- ._5jD7lW_indicator {
56
- box-sizing: border-box;
57
- z-index: -1;
58
- background-color: var(--color-border-primary);
59
- border-radius: var(--spacing-xxs) var(--spacing-xxs) 0 0;
60
- height: .125rem;
61
- transition: translate, width, background-color .15s ease-in-out;
62
- position: absolute;
63
- bottom: -1px;
64
- left: 0;
65
- }
66
-
67
- ._5jD7lW_panel {
68
- box-sizing: border-box;
69
- width: 100%;
70
- min-height: 8rem;
71
- padding: var(--spacing-lg);
72
- color: var(--color-content-primary);
73
- background-color: var(--color-surface-secondary);
74
- border: .0625rem solid var(--color-border-secondary);
75
- border-top: none;
76
- border-end-end-radius: var(--spacing-sm);
77
- border-end-start-radius: var(--spacing-sm);
78
- grid-area: 1 / 1;
79
- justify-content: center;
80
- align-items: center;
81
- display: flex;
82
-
83
- &:focus-visible {
84
- outline: var(--stroke-focus-ring) solid var(--color-action-info-base);
85
- outline-offset: -1px;
86
- z-index: 1;
87
- }
88
-
89
- &[hidden] {
90
- display: none;
91
- }
92
- }
1
+ ._5jD7lW_root{box-sizing:border-box;width:100%}._5jD7lW_list{z-index:1;gap:var(--spacing-sm);border-bottom:.0625rem solid var(--color-border-primary);display:flex;position:relative}._5jD7lW_tab{box-sizing:border-box;color:var(--color-content-neutral-tertiary);font-family:var(--typography-typeface-ltr);font-size:var(--typography-caption-base-size);-webkit-user-select:none;user-select:none;white-space:nowrap;word-break:keep-all;padding-inline:var(--spacing-md);padding-block:var(--spacing-sm);background:0 0;border:none;border-bottom:.125rem solid #0000;outline:none;justify-content:center;align-items:center;height:2.5rem;margin:0;font-weight:400;line-height:1.4;transition:color .15s ease-in-out,border .15s ease-in-out,background-color .15s ease-in-out;display:flex;@media (hover:hover){&:hover{color:var(--color-content-neutral-strong)}}&[data-active]{color:var(--color-content-brand-base);border-bottom-color:var(--color-brand-primary)}&:focus-visible{outline:var(--stroke-focus-ring) solid var(--color-action-info-base);outline-offset:-1px}}._5jD7lW_indicator{box-sizing:border-box;z-index:-1;background-color:var(--color-border-primary);border-radius:var(--spacing-xxs) var(--spacing-xxs) 0 0;height:.125rem;transition:translate,width,background-color .15s ease-in-out;position:absolute;bottom:-1px;left:0}._5jD7lW_panel{box-sizing:border-box;width:100%;min-height:8rem;padding:var(--spacing-lg);color:var(--color-content-primary);background-color:var(--color-surface-secondary);border:.0625rem solid var(--color-border-secondary);border-top:none;border-end-end-radius:var(--spacing-sm);border-end-start-radius:var(--spacing-sm);grid-area:1/1;justify-content:center;align-items:center;display:flex;&:focus-visible{outline:var(--stroke-focus-ring) solid var(--color-action-info-base);outline-offset:-1px;z-index:1}&[hidden]{display:none}}
@@ -1,9 +1,9 @@
1
- import * as React from "react";
1
+ import * as React$1 from "react";
2
2
  import { Tabs } from "@base-ui/react/tabs";
3
3
 
4
4
  //#region src/atoms/tabs/tabs.d.ts
5
5
  type TabsProps = Tabs.Root.Props & {
6
- children: React.ReactNode;
6
+ children: React$1.ReactNode;
7
7
  };
8
8
  declare function Tabs$1({
9
9
  children,
@@ -11,7 +11,7 @@ declare function Tabs$1({
11
11
  ...props
12
12
  }: TabsProps): import("react/jsx-runtime").JSX.Element;
13
13
  type TabsListProps = Tabs.List.Props & {
14
- children: React.ReactNode;
14
+ children: React$1.ReactNode;
15
15
  /**
16
16
  * Whether to render the active tab indicator.
17
17
  */
@@ -1,2 +1,3 @@
1
+ import './tabs.css';
1
2
  var e={indicator:`_5jD7lW_indicator`,list:`_5jD7lW_list`,panel:`_5jD7lW_panel`,root:`_5jD7lW_root`,tab:`_5jD7lW_tab`};export{e as default};
2
3
  //# sourceMappingURL=tabs.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.module.js","names":[],"sources":["../../../src/atoms/tabs/tabs.module.css"],"sourcesContent":[".root {\n box-sizing: border-box;\n width: 100%;\n}\n\n.list {\n display: flex;\n position: relative;\n z-index: 1;\n gap: var(--spacing-sm);\n border-bottom: 0.0625rem solid var(--color-border-primary);\n}\n\n.tab {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n\n border: none;\n border-bottom-color: transparent;\n border-bottom-width: 0.125rem;\n border-bottom-style: solid;\n\n margin: 0;\n outline: none;\n background: none;\n color: var(--color-content-neutral-tertiary);\n font-family: var(--typography-typeface-ltr);\n font-size: var(--typography-caption-base-size);\n line-height: 1.4;\n font-weight: 400;\n -webkit-user-select: none;\n user-select: none;\n white-space: nowrap;\n word-break: keep-all;\n padding-inline: var(--spacing-md);\n padding-block: var(--spacing-sm);\n height: 2.5rem;\n\n transition:\n color 150ms ease-in-out,\n border 150ms ease-in-out,\n background-color 150ms ease-in-out;\n\n @media (hover: hover) {\n &:hover {\n color: var(--color-content-neutral-strong);\n }\n }\n\n &[data-active] {\n color: var(--color-content-brand-base);\n border-bottom-color: var(--color-brand-primary);\n }\n\n &:focus-visible {\n outline: var(--stroke-focus-ring) solid var(--color-action-info-base);\n outline-offset: -1px;\n }\n}\n\n.indicator {\n box-sizing: border-box;\n position: absolute;\n z-index: -1;\n bottom: -1px;\n left: 0;\n height: 0.125rem;\n background-color: var(--color-border-primary);\n transition:\n translate,\n width,\n background-color 150ms ease-in-out;\n border-radius: var(--spacing-xxs) var(--spacing-xxs) 0 0;\n}\n\n.panel {\n box-sizing: border-box;\n grid-area: 1 / 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-height: 8rem;\n padding: var(--spacing-lg);\n color: var(--color-content-primary);\n background-color: var(--color-surface-secondary);\n border: 0.0625rem solid var(--color-border-secondary);\n border-top: none;\n border-end-end-radius: var(--spacing-sm);\n border-end-start-radius: var(--spacing-sm);\n\n &:focus-visible {\n outline: var(--stroke-focus-ring) solid var(--color-action-info-base);\n outline-offset: -1px;\n z-index: 1;\n }\n\n &[hidden] {\n display: none;\n }\n}\n"],"mappings":"AAUA,IAAA,EAAS,CAAA,UAAU,oBAAA,KAAA,eAAA,MAAA,gBAAA,KAAA,eAAA,IAAA,aAAA"}
1
+ {"version":3,"file":"tabs.module.js","names":[],"sources":["../../../src/atoms/tabs/tabs.module.css"],"sourcesContent":[".root {\n box-sizing: border-box;\n width: 100%;\n}\n\n.list {\n display: flex;\n position: relative;\n z-index: 1;\n gap: var(--spacing-sm);\n border-bottom: 0.0625rem solid var(--color-border-primary);\n}\n\n.tab {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n\n border: none;\n border-bottom-color: transparent;\n border-bottom-width: 0.125rem;\n border-bottom-style: solid;\n\n margin: 0;\n outline: none;\n background: none;\n color: var(--color-content-neutral-tertiary);\n font-family: var(--typography-typeface-ltr);\n font-size: var(--typography-caption-base-size);\n line-height: 1.4;\n font-weight: 400;\n -webkit-user-select: none;\n user-select: none;\n white-space: nowrap;\n word-break: keep-all;\n padding-inline: var(--spacing-md);\n padding-block: var(--spacing-sm);\n height: 2.5rem;\n\n transition:\n color 150ms ease-in-out,\n border 150ms ease-in-out,\n background-color 150ms ease-in-out;\n\n @media (hover: hover) {\n &:hover {\n color: var(--color-content-neutral-strong);\n }\n }\n\n &[data-active] {\n color: var(--color-content-brand-base);\n border-bottom-color: var(--color-brand-primary);\n }\n\n &:focus-visible {\n outline: var(--stroke-focus-ring) solid var(--color-action-info-base);\n outline-offset: -1px;\n }\n}\n\n.indicator {\n box-sizing: border-box;\n position: absolute;\n z-index: -1;\n bottom: -1px;\n left: 0;\n height: 0.125rem;\n background-color: var(--color-border-primary);\n transition:\n translate,\n width,\n background-color 150ms ease-in-out;\n border-radius: var(--spacing-xxs) var(--spacing-xxs) 0 0;\n}\n\n.panel {\n box-sizing: border-box;\n grid-area: 1 / 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-height: 8rem;\n padding: var(--spacing-lg);\n color: var(--color-content-primary);\n background-color: var(--color-surface-secondary);\n border: 0.0625rem solid var(--color-border-secondary);\n border-top: none;\n border-end-end-radius: var(--spacing-sm);\n border-end-start-radius: var(--spacing-sm);\n\n &:focus-visible {\n outline: var(--stroke-focus-ring) solid var(--color-action-info-base);\n outline-offset: -1px;\n z-index: 1;\n }\n\n &[hidden] {\n display: none;\n }\n}\n"],"mappings":""}