@central-ui/react 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -2
  3. package/dist/components/accordion/index.d.ts +73 -0
  4. package/dist/components/accordion/index.d.ts.map +1 -0
  5. package/dist/components/accordion/index.js +92 -0
  6. package/dist/components/accordion/index.js.map +1 -0
  7. package/dist/components/autocomplete/index.d.ts +365 -0
  8. package/dist/components/autocomplete/index.d.ts.map +1 -0
  9. package/dist/components/autocomplete/index.js +369 -0
  10. package/dist/components/autocomplete/index.js.map +1 -0
  11. package/dist/components/avatar/index.d.ts +48 -0
  12. package/dist/components/avatar/index.d.ts.map +1 -0
  13. package/dist/components/avatar/index.js +60 -0
  14. package/dist/components/avatar/index.js.map +1 -0
  15. package/dist/components/badge/index.d.ts +29 -0
  16. package/dist/components/badge/index.d.ts.map +1 -0
  17. package/dist/components/badge/index.js +36 -0
  18. package/dist/components/badge/index.js.map +1 -0
  19. package/dist/components/banner/index.d.ts +71 -0
  20. package/dist/components/banner/index.d.ts.map +1 -0
  21. package/dist/components/banner/index.js +119 -0
  22. package/dist/components/banner/index.js.map +1 -0
  23. package/dist/components/breadcrumb/index.d.ts +31 -0
  24. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  25. package/dist/components/breadcrumb/index.js +42 -0
  26. package/dist/components/breadcrumb/index.js.map +1 -0
  27. package/dist/components/button/index.d.ts +48 -0
  28. package/dist/components/button/index.d.ts.map +1 -0
  29. package/dist/components/button/index.js +60 -0
  30. package/dist/components/button/index.js.map +1 -0
  31. package/dist/components/card/index.d.ts +34 -0
  32. package/dist/components/card/index.d.ts.map +1 -0
  33. package/dist/components/card/index.js +45 -0
  34. package/dist/components/card/index.js.map +1 -0
  35. package/dist/components/checkbox/index.d.ts +66 -0
  36. package/dist/components/checkbox/index.d.ts.map +1 -0
  37. package/dist/components/checkbox/index.js +146 -0
  38. package/dist/components/checkbox/index.js.map +1 -0
  39. package/dist/components/chip/index.d.ts +26 -0
  40. package/dist/components/chip/index.d.ts.map +1 -0
  41. package/dist/components/chip/index.js +40 -0
  42. package/dist/components/chip/index.js.map +1 -0
  43. package/dist/components/combobox/index.d.ts +427 -0
  44. package/dist/components/combobox/index.d.ts.map +1 -0
  45. package/dist/components/combobox/index.js +416 -0
  46. package/dist/components/combobox/index.js.map +1 -0
  47. package/dist/components/datepicker/index.d.ts +297 -0
  48. package/dist/components/datepicker/index.d.ts.map +1 -0
  49. package/dist/components/datepicker/index.js +507 -0
  50. package/dist/components/datepicker/index.js.map +1 -0
  51. package/dist/components/dialog/index.d.ts +88 -0
  52. package/dist/components/dialog/index.d.ts.map +1 -0
  53. package/dist/components/dialog/index.js +102 -0
  54. package/dist/components/dialog/index.js.map +1 -0
  55. package/dist/components/divider/index.d.ts +21 -0
  56. package/dist/components/divider/index.d.ts.map +1 -0
  57. package/dist/components/divider/index.js +24 -0
  58. package/dist/components/divider/index.js.map +1 -0
  59. package/dist/components/drawer/index.d.ts +99 -0
  60. package/dist/components/drawer/index.d.ts.map +1 -0
  61. package/dist/components/drawer/index.js +137 -0
  62. package/dist/components/drawer/index.js.map +1 -0
  63. package/dist/components/empty/index.d.ts +40 -0
  64. package/dist/components/empty/index.d.ts.map +1 -0
  65. package/dist/components/empty/index.js +61 -0
  66. package/dist/components/empty/index.js.map +1 -0
  67. package/dist/components/fileupload/index.d.ts +107 -0
  68. package/dist/components/fileupload/index.d.ts.map +1 -0
  69. package/dist/components/fileupload/index.js +185 -0
  70. package/dist/components/fileupload/index.js.map +1 -0
  71. package/dist/components/form/index.d.ts +34 -0
  72. package/dist/components/form/index.d.ts.map +1 -0
  73. package/dist/components/form/index.js +35 -0
  74. package/dist/components/form/index.js.map +1 -0
  75. package/dist/components/input/index.d.ts +85 -0
  76. package/dist/components/input/index.d.ts.map +1 -0
  77. package/dist/components/input/index.js +249 -0
  78. package/dist/components/input/index.js.map +1 -0
  79. package/dist/components/menu/index.d.ts +115 -0
  80. package/dist/components/menu/index.d.ts.map +1 -0
  81. package/dist/components/menu/index.js +188 -0
  82. package/dist/components/menu/index.js.map +1 -0
  83. package/dist/components/metric/index.d.ts +24 -0
  84. package/dist/components/metric/index.d.ts.map +1 -0
  85. package/dist/components/metric/index.js +26 -0
  86. package/dist/components/metric/index.js.map +1 -0
  87. package/dist/components/numberinput/index.d.ts +105 -0
  88. package/dist/components/numberinput/index.d.ts.map +1 -0
  89. package/dist/components/numberinput/index.js +240 -0
  90. package/dist/components/numberinput/index.js.map +1 -0
  91. package/dist/components/otpinput/index.d.ts +63 -0
  92. package/dist/components/otpinput/index.d.ts.map +1 -0
  93. package/dist/components/otpinput/index.js +133 -0
  94. package/dist/components/otpinput/index.js.map +1 -0
  95. package/dist/components/page/index.d.ts +54 -0
  96. package/dist/components/page/index.d.ts.map +1 -0
  97. package/dist/components/page/index.js +100 -0
  98. package/dist/components/page/index.js.map +1 -0
  99. package/dist/components/passwordinput/index.d.ts +88 -0
  100. package/dist/components/passwordinput/index.d.ts.map +1 -0
  101. package/dist/components/passwordinput/index.js +251 -0
  102. package/dist/components/passwordinput/index.js.map +1 -0
  103. package/dist/components/popover/index.d.ts +67 -0
  104. package/dist/components/popover/index.d.ts.map +1 -0
  105. package/dist/components/popover/index.js +76 -0
  106. package/dist/components/popover/index.js.map +1 -0
  107. package/dist/components/radio/index.d.ts +90 -0
  108. package/dist/components/radio/index.d.ts.map +1 -0
  109. package/dist/components/radio/index.js +232 -0
  110. package/dist/components/radio/index.js.map +1 -0
  111. package/dist/components/ratinginput/index.d.ts +59 -0
  112. package/dist/components/ratinginput/index.d.ts.map +1 -0
  113. package/dist/components/ratinginput/index.js +88 -0
  114. package/dist/components/ratinginput/index.js.map +1 -0
  115. package/dist/components/select/index.d.ts +205 -0
  116. package/dist/components/select/index.d.ts.map +1 -0
  117. package/dist/components/select/index.js +234 -0
  118. package/dist/components/select/index.js.map +1 -0
  119. package/dist/components/skeleton/index.d.ts +19 -0
  120. package/dist/components/skeleton/index.d.ts.map +1 -0
  121. package/dist/components/skeleton/index.js +20 -0
  122. package/dist/components/skeleton/index.js.map +1 -0
  123. package/dist/components/slider/index.d.ts +72 -0
  124. package/dist/components/slider/index.d.ts.map +1 -0
  125. package/dist/components/slider/index.js +159 -0
  126. package/dist/components/slider/index.js.map +1 -0
  127. package/dist/components/spinner/index.d.ts +14 -0
  128. package/dist/components/spinner/index.d.ts.map +1 -0
  129. package/dist/components/spinner/index.js +15 -0
  130. package/dist/components/spinner/index.js.map +1 -0
  131. package/dist/components/splitter/index.d.ts +49 -0
  132. package/dist/components/splitter/index.d.ts.map +1 -0
  133. package/dist/components/splitter/index.js +67 -0
  134. package/dist/components/splitter/index.js.map +1 -0
  135. package/dist/components/stepper/index.d.ts +82 -0
  136. package/dist/components/stepper/index.d.ts.map +1 -0
  137. package/dist/components/stepper/index.js +100 -0
  138. package/dist/components/stepper/index.js.map +1 -0
  139. package/dist/components/switch/index.d.ts +57 -0
  140. package/dist/components/switch/index.d.ts.map +1 -0
  141. package/dist/components/switch/index.js +101 -0
  142. package/dist/components/switch/index.js.map +1 -0
  143. package/dist/components/table/index.d.ts +110 -0
  144. package/dist/components/table/index.d.ts.map +1 -0
  145. package/dist/components/table/index.js +211 -0
  146. package/dist/components/table/index.js.map +1 -0
  147. package/dist/components/tabs/index.d.ts +67 -0
  148. package/dist/components/tabs/index.d.ts.map +1 -0
  149. package/dist/components/tabs/index.js +78 -0
  150. package/dist/components/tabs/index.js.map +1 -0
  151. package/dist/components/textarea/index.d.ts +72 -0
  152. package/dist/components/textarea/index.d.ts.map +1 -0
  153. package/dist/components/textarea/index.js +205 -0
  154. package/dist/components/textarea/index.js.map +1 -0
  155. package/dist/components/textlink/index.d.ts +39 -0
  156. package/dist/components/textlink/index.d.ts.map +1 -0
  157. package/dist/components/textlink/index.js +42 -0
  158. package/dist/components/textlink/index.js.map +1 -0
  159. package/dist/components/toast/index.d.ts +111 -0
  160. package/dist/components/toast/index.d.ts.map +1 -0
  161. package/dist/components/toast/index.js +205 -0
  162. package/dist/components/toast/index.js.map +1 -0
  163. package/dist/components/toggle/index.d.ts +41 -0
  164. package/dist/components/toggle/index.d.ts.map +1 -0
  165. package/dist/components/toggle/index.js +78 -0
  166. package/dist/components/toggle/index.js.map +1 -0
  167. package/dist/components/tooltip/index.d.ts +44 -0
  168. package/dist/components/tooltip/index.d.ts.map +1 -0
  169. package/dist/components/tooltip/index.js +51 -0
  170. package/dist/components/tooltip/index.js.map +1 -0
  171. package/dist/index.d.ts +50 -0
  172. package/dist/index.d.ts.map +1 -0
  173. package/dist/index.js +46 -0
  174. package/dist/index.js.map +1 -0
  175. package/dist/types/Style.d.ts +14 -0
  176. package/dist/types/Style.d.ts.map +1 -0
  177. package/dist/types/Style.js +2 -0
  178. package/dist/types/Style.js.map +1 -0
  179. package/dist/types/Tone.d.ts +4 -0
  180. package/dist/types/Tone.d.ts.map +1 -0
  181. package/dist/types/Tone.js +2 -0
  182. package/dist/types/Tone.js.map +1 -0
  183. package/dist/utils/ArkStateToDataAttributes.d.ts +4 -0
  184. package/dist/utils/ArkStateToDataAttributes.d.ts.map +1 -0
  185. package/dist/utils/ArkStateToDataAttributes.js +9 -0
  186. package/dist/utils/ArkStateToDataAttributes.js.map +1 -0
  187. package/dist/utils/Tone.d.ts +3 -0
  188. package/dist/utils/Tone.d.ts.map +1 -0
  189. package/dist/utils/Tone.js +7 -0
  190. package/dist/utils/Tone.js.map +1 -0
  191. package/dist/utils/useForwardClickToInput.d.ts +4 -0
  192. package/dist/utils/useForwardClickToInput.d.ts.map +1 -0
  193. package/dist/utils/useForwardClickToInput.js +27 -0
  194. package/dist/utils/useForwardClickToInput.js.map +1 -0
  195. package/dist/utils/virtualization/useVirtualizedAutocomplete.d.ts +198 -0
  196. package/dist/utils/virtualization/useVirtualizedAutocomplete.d.ts.map +1 -0
  197. package/dist/utils/virtualization/useVirtualizedAutocomplete.js +180 -0
  198. package/dist/utils/virtualization/useVirtualizedAutocomplete.js.map +1 -0
  199. package/dist/utils/virtualization/useVirtualizedCombobox.d.ts +200 -0
  200. package/dist/utils/virtualization/useVirtualizedCombobox.d.ts.map +1 -0
  201. package/dist/utils/virtualization/useVirtualizedCombobox.js +174 -0
  202. package/dist/utils/virtualization/useVirtualizedCombobox.js.map +1 -0
  203. package/dist/utils/virtualization/useVirtualizedTable.d.ts +169 -0
  204. package/dist/utils/virtualization/useVirtualizedTable.d.ts.map +1 -0
  205. package/dist/utils/virtualization/useVirtualizedTable.js +127 -0
  206. package/dist/utils/virtualization/useVirtualizedTable.js.map +1 -0
  207. package/package.json +64 -4
  208. package/src/presets/shopify-polaris/shopify-polaris-accordion.css +28 -0
  209. package/src/presets/shopify-polaris/shopify-polaris-autocomplete.css +155 -0
  210. package/src/presets/shopify-polaris/shopify-polaris-avatar.css +47 -0
  211. package/src/presets/shopify-polaris/shopify-polaris-badge.css +27 -0
  212. package/src/presets/shopify-polaris/shopify-polaris-banner.css +111 -0
  213. package/src/presets/shopify-polaris/shopify-polaris-breadcrumb.css +16 -0
  214. package/src/presets/shopify-polaris/shopify-polaris-button.css +79 -0
  215. package/src/presets/shopify-polaris/shopify-polaris-card.css +28 -0
  216. package/src/presets/shopify-polaris/shopify-polaris-checkbox.css +52 -0
  217. package/src/presets/shopify-polaris/shopify-polaris-chip.css +16 -0
  218. package/src/presets/shopify-polaris/shopify-polaris-combobox.css +179 -0
  219. package/src/presets/shopify-polaris/shopify-polaris-datepicker.css +183 -0
  220. package/src/presets/shopify-polaris/shopify-polaris-dialog.css +40 -0
  221. package/src/presets/shopify-polaris/shopify-polaris-divider.css +12 -0
  222. package/src/presets/shopify-polaris/shopify-polaris-drawer.css +40 -0
  223. package/src/presets/shopify-polaris/shopify-polaris-empty.css +32 -0
  224. package/src/presets/shopify-polaris/shopify-polaris-fileupload.css +78 -0
  225. package/src/presets/shopify-polaris/shopify-polaris-form.css +8 -0
  226. package/src/presets/shopify-polaris/shopify-polaris-input.css +72 -0
  227. package/src/presets/shopify-polaris/shopify-polaris-menu.css +112 -0
  228. package/src/presets/shopify-polaris/shopify-polaris-metric.css +16 -0
  229. package/src/presets/shopify-polaris/shopify-polaris-numberinput.css +88 -0
  230. package/src/presets/shopify-polaris/shopify-polaris-otpinput.css +42 -0
  231. package/src/presets/shopify-polaris/shopify-polaris-page.css +69 -0
  232. package/src/presets/shopify-polaris/shopify-polaris-passwordinput.css +76 -0
  233. package/src/presets/shopify-polaris/shopify-polaris-popover.css +47 -0
  234. package/src/presets/shopify-polaris/shopify-polaris-radio.css +54 -0
  235. package/src/presets/shopify-polaris/shopify-polaris-ratinginput.css +42 -0
  236. package/src/presets/shopify-polaris/shopify-polaris-select.css +119 -0
  237. package/src/presets/shopify-polaris/shopify-polaris-skeleton.css +8 -0
  238. package/src/presets/shopify-polaris/shopify-polaris-slider.css +86 -0
  239. package/src/presets/shopify-polaris/shopify-polaris-spinner.css +16 -0
  240. package/src/presets/shopify-polaris/shopify-polaris-splitter.css +34 -0
  241. package/src/presets/shopify-polaris/shopify-polaris-stepper.css +55 -0
  242. package/src/presets/shopify-polaris/shopify-polaris-switch.css +38 -0
  243. package/src/presets/shopify-polaris/shopify-polaris-table.css +72 -0
  244. package/src/presets/shopify-polaris/shopify-polaris-tabs.css +33 -0
  245. package/src/presets/shopify-polaris/shopify-polaris-textarea.css +61 -0
  246. package/src/presets/shopify-polaris/shopify-polaris-textlink.css +8 -0
  247. package/src/presets/shopify-polaris/shopify-polaris-toggle.css +52 -0
  248. package/src/presets/shopify-polaris/shopify-polaris-tooltip.css +31 -0
  249. package/src/presets/shopify-polaris/shopify-polaris.css +380 -0
  250. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-accordion.css +28 -0
  251. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-autocomplete.css +155 -0
  252. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-avatar.css +47 -0
  253. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-badge.css +27 -0
  254. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-banner.css +96 -0
  255. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-breadcrumb.css +16 -0
  256. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-button.css +68 -0
  257. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-card.css +28 -0
  258. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-checkbox.css +52 -0
  259. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-chip.css +16 -0
  260. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-combobox.css +184 -0
  261. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-datepicker.css +187 -0
  262. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-dialog.css +40 -0
  263. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-divider.css +12 -0
  264. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-drawer.css +40 -0
  265. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-empty.css +32 -0
  266. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-fileupload.css +72 -0
  267. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-form.css +8 -0
  268. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-input.css +72 -0
  269. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-menu.css +112 -0
  270. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-metric.css +16 -0
  271. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-numberinput.css +88 -0
  272. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-otpinput.css +42 -0
  273. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-page.css +69 -0
  274. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-passwordinput.css +76 -0
  275. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-popover.css +47 -0
  276. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-radio.css +54 -0
  277. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-ratinginput.css +42 -0
  278. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-select.css +118 -0
  279. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-skeleton.css +8 -0
  280. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-slider.css +86 -0
  281. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-spinner.css +16 -0
  282. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-splitter.css +34 -0
  283. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-stepper.css +55 -0
  284. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-switch.css +38 -0
  285. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-table.css +72 -0
  286. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-tabs.css +33 -0
  287. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-textarea.css +61 -0
  288. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-textlink.css +8 -0
  289. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-toast.css +43 -0
  290. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-toggle.css +52 -0
  291. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-tooltip.css +31 -0
  292. package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy.css +381 -0
@@ -0,0 +1,8 @@
1
+ /* skeleton */
2
+ @layer components {
3
+ :where(:not([data-style-disabled])) {
4
+ &:where([data-component='skeleton-skeleton']) {
5
+ @apply h-4 w-4 animate-pulse rounded-lg bg-neutral-200;
6
+ }
7
+ }
8
+ }
@@ -0,0 +1,86 @@
1
+ /* slider */
2
+ @layer components {
3
+ :where(:not([data-style-disabled])) {
4
+ &:where([data-component='slider-container']) {
5
+ @apply grid w-full grid-cols-[minmax(0,1fr)_auto] items-center gap-x-2 gap-y-1;
6
+ }
7
+
8
+ &:where([data-component='slider-label']) {
9
+ @apply col-start-1 row-start-1 text-sm text-neutral-950 data-disabled:text-neutral-500;
10
+ }
11
+
12
+ &:where([data-component='slider-value']) {
13
+ @apply col-start-2 row-start-1 justify-self-end select-none text-sm font-semibold text-neutral-950 data-disabled:text-neutral-500;
14
+ }
15
+
16
+ &:where([data-component='slider-trackgroup']) {
17
+ @apply col-span-2 relative flex w-full touch-none items-center py-2 select-none data-disabled:pointer-events-none data-disabled:opacity-30;
18
+ &[data-orientation='vertical'] {
19
+ @apply h-44 w-fit px-2 py-0;
20
+ }
21
+ }
22
+
23
+ &:where([data-component='slider-track']) {
24
+ @apply relative h-1.5 w-full rounded-full bg-neutral-100;
25
+ &[data-orientation='vertical'] {
26
+ @apply h-full w-1.5;
27
+ }
28
+ }
29
+
30
+ &:where([data-component='slider-indicator']) {
31
+ @apply h-full rounded-full bg-neutral-950;
32
+ &[data-orientation='vertical'] {
33
+ @apply h-auto w-full;
34
+ }
35
+ &[data-tone='invalid'] {
36
+ @apply bg-red-600;
37
+ }
38
+ &[data-tone='valid'] {
39
+ @apply bg-green-700;
40
+ }
41
+ }
42
+
43
+ &:where([data-component='slider-draghandle']) {
44
+ @apply size-4 cursor-grab rounded-full border border-neutral-300 bg-white shadow-sm transition-shadow hover:shadow-md data-dragging:cursor-grabbing data-disabled:cursor-not-allowed has-[:focus-visible]:border-blue-500 has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-blue-500/20;
45
+ }
46
+
47
+ &:where([data-component='slider-markslist']) {
48
+ @apply pointer-events-none absolute inset-0;
49
+ }
50
+
51
+ &:where([data-component='slider-mark']) {
52
+ @apply absolute top-1/2 flex -translate-x-1/2 -translate-y-1/2 items-center justify-center rtl:translate-x-1/2;
53
+ &[data-orientation='vertical'] {
54
+ @apply top-auto left-1/2 translate-y-1/2;
55
+ }
56
+ }
57
+
58
+ &:where([data-component='slider-mark'])
59
+ &:where([data-component='slider-mark-1']) {
60
+ @apply h-2 w-px bg-neutral-900;
61
+ &[data-orientation='vertical'] {
62
+ @apply h-px w-2;
63
+ }
64
+ }
65
+
66
+ &:where([data-component='slider-mark'])
67
+ &:where([data-component='slider-mark-2']) {
68
+ @apply absolute top-full pt-1 text-xs whitespace-nowrap text-neutral-600;
69
+ &[data-orientation='vertical'] {
70
+ @apply top-auto left-full pt-0 pl-1;
71
+ }
72
+ }
73
+
74
+ &:where([data-component='slider-description']) {
75
+ @apply col-span-2 text-xs font-medium text-neutral-600;
76
+ }
77
+
78
+ &:where([data-component='slider-error']) {
79
+ @apply col-span-2 text-xs font-medium text-red-600;
80
+ }
81
+
82
+ &:where([data-component='slider-success']) {
83
+ @apply col-span-2 text-xs font-medium text-emerald-700;
84
+ }
85
+ }
86
+ }
@@ -0,0 +1,16 @@
1
+ /* spinner */
2
+ @layer components {
3
+ :where(:not([data-style-disabled])) {
4
+ &:where([data-component='spinner-spinner']) {
5
+ @apply h-4 w-fit shrink-0 animate-spin stroke-[1.5] text-neutral-950;
6
+ }
7
+ &:where([data-component='spinner-spinner'])
8
+ &:where([data-component='spinner-track']) {
9
+ @apply stroke-neutral-200;
10
+ }
11
+ &:where([data-component='spinner-spinner'])
12
+ &:where([data-component='spinner-indicator']) {
13
+ @apply [stroke-dasharray:0.4_0.6];
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,34 @@
1
+ /* splitter */
2
+ @layer components {
3
+ :where(:not([data-style-disabled])) {
4
+ &:where([data-component='splitter-contentlist']) {
5
+ @apply flex h-full w-full;
6
+ &[data-orientation='vertical'] {
7
+ @apply flex-col;
8
+ }
9
+ }
10
+
11
+ &:where([data-component='splitter-content']) {
12
+ @apply min-h-0 min-w-0;
13
+ }
14
+
15
+ &:where([data-component='splitter-separator']) {
16
+ @apply relative flex w-px shrink-0 items-center justify-center bg-neutral-200 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-blue-500 focus-visible:ring-offset-1;
17
+ &[data-orientation='vertical'] {
18
+ @apply h-px w-full;
19
+ }
20
+ }
21
+
22
+ &:where([data-component='splitter-handle']) {
23
+ @apply z-10 flex h-4 w-3.5 items-center justify-center rounded-full border border-neutral-200 bg-white shadow-xs;
24
+ &[data-orientation='vertical'] {
25
+ @apply rotate-90;
26
+ }
27
+ }
28
+
29
+ &:where([data-component='splitter-handle'])
30
+ &:where([data-component='splitter-handle-1']) {
31
+ @apply h-2.5 w-fit text-neutral-400;
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,55 @@
1
+ /* stepper */
2
+ @layer components {
3
+ :where(:not([data-style-disabled])) {
4
+ &:where([data-component='stepper-list']) {
5
+ @apply flex w-full flex-col gap-1.5;
6
+ &[data-orientation='horizontal'] {
7
+ @apply flex-row;
8
+ }
9
+ }
10
+
11
+ &:where([data-component='stepper-item']) {
12
+ @apply relative flex w-full items-stretch gap-3;
13
+ &[data-orientation='horizontal'] {
14
+ @apply flex-1;
15
+ }
16
+ }
17
+
18
+ &:where([data-component='stepper-indicator']) {
19
+ @apply flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-neutral-200;
20
+ }
21
+
22
+ &:where([data-component='stepper-indicator'])[data-completed] {
23
+ @apply bg-neutral-950;
24
+ }
25
+
26
+ &:where([data-component='stepper-indicator'])
27
+ &:where([data-component='stepper-indicator-1']) {
28
+ @apply h-3.5 w-fit shrink-0 text-white;
29
+ }
30
+
31
+ &:where([data-component='stepper-indicator'])
32
+ &:where([data-component='stepper-indicator-2']) {
33
+ @apply h-2 w-2 rounded-full bg-white;
34
+ }
35
+
36
+ &:where([data-component='stepper-separator']) {
37
+ @apply absolute top-7 bottom-0 left-3 w-px bg-neutral-300 data-[complete]:bg-neutral-700;
38
+ &[data-orientation='horizontal'] {
39
+ @apply top-3 right-0 bottom-auto left-7 h-px w-auto;
40
+ }
41
+ }
42
+
43
+ &:where([data-component='stepper-content']) {
44
+ @apply w-full p-3;
45
+ }
46
+
47
+ &:where([data-component='stepper-completedcontent']) {
48
+ @apply w-full rounded-xl bg-green-50 p-3 text-sm leading-relaxed text-green-800;
49
+ }
50
+
51
+ &:where([data-component='stepper-openbutton']) {
52
+ @apply flex w-full cursor-pointer items-start gap-3 pb-5 text-left text-[0.95rem] font-medium text-neutral-950 outline-none focus-visible:rounded-lg focus-visible:outline-2 focus-visible:outline-blue-500 disabled:pointer-events-none disabled:opacity-30;
53
+ }
54
+ }
55
+ }
@@ -0,0 +1,38 @@
1
+ /* switch */
2
+ @layer components {
3
+ :where(:not([data-style-disabled])) {
4
+ &:where([data-component='switch-container']) {
5
+ @apply grid w-full grid-cols-[auto_1fr] items-start gap-x-2 gap-y-0.5;
6
+ }
7
+
8
+ &:where([data-component='switch-button']) {
9
+ @apply col-start-1 row-start-1 inline-flex h-4.5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-neutral-300 bg-white transition-all hover:brightness-95 data-checked:border-neutral-950 data-checked:bg-neutral-950 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 data-disabled:cursor-not-allowed data-disabled:opacity-50;
10
+ &[data-tone='invalid'] {
11
+ @apply border-red-600 bg-red-50 data-checked:border-red-600 data-checked:bg-red-600;
12
+ }
13
+ &[data-tone='valid'] {
14
+ @apply border-green-700 bg-green-50 data-checked:border-green-700 data-checked:bg-green-700;
15
+ }
16
+ }
17
+
18
+ &:where([data-component='switch-indicator']) {
19
+ @apply pointer-events-none block h-3 w-5 shrink-0 translate-x-0 rounded-full bg-neutral-400 shadow-xs transition-all data-checked:translate-x-[calc(1rem-2px)] data-checked:bg-white;
20
+ }
21
+
22
+ &:where([data-component='switch-label']) {
23
+ @apply col-start-2 text-sm text-neutral-950 data-disabled:text-neutral-500;
24
+ }
25
+
26
+ &:where([data-component='switch-description']) {
27
+ @apply col-start-2 text-xs font-medium text-neutral-600;
28
+ }
29
+
30
+ &:where([data-component='switch-error']) {
31
+ @apply col-start-2 text-xs font-medium text-red-600;
32
+ }
33
+
34
+ &:where([data-component='switch-success']) {
35
+ @apply col-start-2 text-xs font-medium text-emerald-700;
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,72 @@
1
+ /* table */
2
+ @layer components {
3
+ :where(:not([data-style-disabled])) {
4
+ &:where([data-component='table-surface']) {
5
+ @apply min-w-0 w-full h-fit overflow-hidden rounded-2xl border border-neutral-200 bg-white shadow-xs;
6
+ }
7
+
8
+ &:where([data-component='table-surfaceheader']) {
9
+ @apply flex w-full items-center border-b border-neutral-200 p-2.25;
10
+ }
11
+
12
+ &:where([data-component='table-surfacefooter']) {
13
+ @apply flex w-full items-center border-t border-neutral-200 bg-neutral-50 p-2.25;
14
+ }
15
+
16
+ &:where([data-component='table-scrollarea']) {
17
+ @apply h-fit w-full bg-white;
18
+ }
19
+
20
+ &:where([data-component='table-table']) {
21
+ @apply min-w-full table-fixed border-collapse;
22
+ }
23
+
24
+ &:where([data-component='table-head']) {
25
+ @apply sticky top-0 z-20 border-b border-neutral-200;
26
+ }
27
+
28
+ &:where([data-component='table-body']) {
29
+ @apply bg-white;
30
+ }
31
+
32
+ &:where([data-component='table-row']) {
33
+ @apply border-b border-neutral-200 bg-white last:border-b-0;
34
+ }
35
+
36
+ &:where([data-component='table-headcell']) {
37
+ @apply bg-neutral-50 px-3 py-1.5 text-left text-sm font-medium text-nowrap text-neutral-600 first:data-[pinning=first]:shadow-[1px_0_0_0_#e5e5e5,5px_0_8px_-4px_rgba(0,0,0,0.18)] last:data-[pinning=last]:shadow-[-1px_0_0_0_#e5e5e5,-5px_0_8px_-4px_rgba(0,0,0,0.18)];
38
+ }
39
+
40
+ &:where([data-component='table-cell']) {
41
+ @apply h-8 truncate bg-white px-3 text-sm text-neutral-950 first:data-[pinning=first]:shadow-[1px_0_0_0_#e5e5e5,5px_0_8px_-4px_rgba(0,0,0,0.18)] last:data-[pinning=last]:shadow-[-1px_0_0_0_#e5e5e5,-5px_0_8px_-4px_rgba(0,0,0,0.18)];
42
+ }
43
+
44
+ &:where([data-component='table-empty']) {
45
+ @apply w-full flex flex-col items-center justify-center p-6 h-fit min-h-70;
46
+ }
47
+
48
+ &:where([data-component='table-emptybody']) {
49
+ @apply w-full h-fit flex flex-col items-center justify-center gap-1;
50
+ }
51
+
52
+ &:where([data-component='table-emptytitle']) {
53
+ @apply text-sm font-semibold text-neutral-950;
54
+ }
55
+
56
+ &:where([data-component='table-emptydescription']) {
57
+ @apply text-sm text-center text-neutral-600 font-normal;
58
+ }
59
+
60
+ &:where([data-component='table-emptyimage']) {
61
+ @apply mb-4 h-16 w-fit;
62
+ }
63
+
64
+ &:where([data-component='table-emptyicon']) {
65
+ @apply mb-2 h-8 w-fit text-neutral-950;
66
+ }
67
+
68
+ &:where([data-component='table-emptyactionslist']) {
69
+ @apply mt-3 flex w-fit items-center gap-4;
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,33 @@
1
+ /* tabs */
2
+ @layer components {
3
+ :where(:not([data-style-disabled])) {
4
+ &:where([data-component='tabs-list']) {
5
+ @apply relative flex w-full border-b border-neutral-200;
6
+ &[data-orientation='vertical'] {
7
+ @apply w-fit shrink-0 flex-col border-r border-b-0;
8
+ }
9
+ }
10
+
11
+ &:where([data-component='tabs-tab']) {
12
+ @apply flex h-8.5 w-fit cursor-pointer items-center justify-center gap-1 rounded-t-lg px-2.5 pb-1.5 text-[0.85rem] font-medium text-nowrap text-neutral-600 outline-none hover:bg-neutral-50 hover:text-neutral-950 focus-visible:outline-2 focus-visible:outline-blue-500 data-active:bg-neutral-100 data-active:font-semibold data-active:text-neutral-950 data-disabled:pointer-events-none data-disabled:opacity-30;
13
+ &[data-orientation='vertical'] {
14
+ @apply w-full justify-start rounded-l-md rounded-tr-none pb-0;
15
+ }
16
+ }
17
+
18
+ &:where([data-component='tabs-icon']) {
19
+ @apply h-3.5 w-fit shrink-0 text-inherit;
20
+ }
21
+
22
+ &:where([data-component='tabs-indicator']) {
23
+ @apply absolute bottom-0 left-(--active-tab-left) h-0.75 w-(--active-tab-width) bg-neutral-900 transition-all;
24
+ &[data-orientation='vertical'] {
25
+ @apply top-(--active-tab-top) right-0 bottom-auto left-auto h-(--active-tab-height) w-0.75;
26
+ }
27
+ }
28
+
29
+ &:where([data-component='tabs-content']) {
30
+ @apply w-full text-sm text-neutral-950 outline-none;
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,61 @@
1
+ /* textarea */
2
+ @layer components {
3
+ :where(:not([data-style-disabled])) {
4
+ &:where([data-component='textarea-textarea']) {
5
+ @apply min-h-36 w-full min-w-0 flex-1 self-stretch resize-none rounded-none border-0 bg-transparent px-2.5 py-2 text-sm text-neutral-950 shadow-none outline-none placeholder:text-sm placeholder:text-neutral-500 hover:bg-transparent focus:outline-none disabled:cursor-not-allowed disabled:text-neutral-500;
6
+ }
7
+
8
+ &:where([data-component='textarea-textareagroup']) {
9
+ @apply p-0 flex w-full min-w-0 flex-col items-stretch overflow-hidden rounded-xl border border-neutral-200 bg-white text-[0.8rem] text-neutral-950 shadow-xs outline-none hover:bg-neutral-50 focus-within:border-blue-500 focus-within:ring-2 focus-within:ring-blue-500/10 focus-within:shadow-sm data-disabled:cursor-not-allowed data-disabled:border-neutral-200 data-disabled:bg-white data-disabled:text-neutral-400 data-disabled:shadow-none data-disabled:hover:bg-white data-readonly:cursor-not-allowed data-readonly:border-neutral-200 data-readonly:bg-neutral-50 data-readonly:hover:bg-neutral-50 data-readonly:shadow-none;
10
+ &[data-tone='invalid'] {
11
+ @apply border-red-500 focus-within:border-red-500 focus-within:ring-red-500/10;
12
+ }
13
+ &[data-tone='valid'] {
14
+ @apply border-green-600 focus-within:border-green-600 focus-within:ring-green-600/10;
15
+ }
16
+ }
17
+
18
+ &:where([data-component='textarea-container']) {
19
+ @apply flex flex-col gap-1.5 w-full;
20
+ }
21
+
22
+ &:where([data-component='textarea-label']) {
23
+ @apply text-sm font-medium text-neutral-950 data-disabled:text-neutral-400;
24
+ }
25
+
26
+ &:where([data-component='textarea-description']) {
27
+ @apply text-xs text-neutral-600;
28
+ }
29
+
30
+ &:where([data-component='textarea-error']) {
31
+ @apply text-xs text-red-800;
32
+ }
33
+
34
+ &:where([data-component='textarea-success']) {
35
+ @apply text-xs text-green-800;
36
+ }
37
+
38
+ &:where([data-component='textarea-addon']) {
39
+ @apply inline-flex w-full shrink-0 items-center gap-2.5 empty:hidden px-2.5 py-1.5;
40
+ &[data-variant='emphasized'] {
41
+ @apply bg-neutral-200/60;
42
+ }
43
+ }
44
+
45
+ &:where([data-component='textarea-addontext']) {
46
+ @apply shrink-0 whitespace-nowrap text-[0.8rem] text-neutral-600 data-disabled:text-neutral-400 data-readonly:text-neutral-600;
47
+ }
48
+
49
+ &:where([data-component='textarea-addonicon']) {
50
+ @apply h-4 w-fit shrink-0 text-neutral-600 data-disabled:text-neutral-400;
51
+ }
52
+
53
+ &:where([data-component='textarea-addonbutton']) {
54
+ @apply flex h-5.5 w-fit cursor-pointer items-center justify-center gap-1 text-nowrap rounded-full bg-neutral-200 px-2 text-[0.75rem] font-medium text-neutral-950 hover:bg-neutral-300 active:bg-neutral-300 active:scale-97 focus-visible:outline-2 focus-visible:outline-blue-500 disabled:pointer-events-none disabled:bg-black/3 disabled:text-neutral-400;
55
+ }
56
+
57
+ &:where([data-component='textarea-addonloadingicon']) {
58
+ @apply h-4 w-fit shrink-0 pointer-events-none animate-spin text-neutral-600 data-disabled:text-neutral-400 data-readonly:text-neutral-600;
59
+ }
60
+ }
61
+ }
@@ -0,0 +1,8 @@
1
+ /* textlink */
2
+ @layer components {
3
+ :where(:not([data-style-disabled])) {
4
+ &:where([data-component='textlink-textlink']) {
5
+ @apply w-fit cursor-pointer rounded-sm text-sm font-normal text-blue-700 hover:text-blue-800 hover:underline active:text-blue-900 focus-visible:outline-2 focus-visible:outline-blue-500 focus-visible:outline-offset-2;
6
+ }
7
+ }
8
+ }
@@ -0,0 +1,52 @@
1
+ /* toggle */
2
+ @layer components {
3
+ :where(:not([data-style-disabled])) {
4
+ &:where([data-component='toggle-root']) {
5
+ @apply flex p-0 aspect-square w-auto cursor-pointer items-center justify-center rounded-full bg-transparent text-neutral-500 outline-blue-500 outline-offset-1 hover:bg-neutral-100 hover:text-neutral-700 focus-visible:outline-2 data-pressed:bg-neutral-200 data-pressed:text-neutral-950 data-disabled:pointer-events-none data-disabled:opacity-30;
6
+ &[data-size='small'] {
7
+ @apply h-6;
8
+ }
9
+ &[data-size='medium'] {
10
+ @apply h-7;
11
+ }
12
+ &[data-size='large'] {
13
+ @apply h-8.5;
14
+ }
15
+ &[data-size='icon'] {
16
+ @apply h-7;
17
+ }
18
+ }
19
+
20
+ &:where([data-component='toggle-activeicon']) {
21
+ @apply w-fit shrink-0 text-inherit;
22
+ &[data-size='small'] {
23
+ @apply h-3;
24
+ }
25
+ &[data-size='medium'] {
26
+ @apply h-4;
27
+ }
28
+ &[data-size='large'] {
29
+ @apply h-4.5;
30
+ }
31
+ &[data-size='icon'] {
32
+ @apply h-4;
33
+ }
34
+ }
35
+
36
+ &:where([data-component='toggle-inactiveicon']) {
37
+ @apply w-fit shrink-0 text-inherit;
38
+ &[data-size='small'] {
39
+ @apply h-3;
40
+ }
41
+ &[data-size='medium'] {
42
+ @apply h-4;
43
+ }
44
+ &[data-size='large'] {
45
+ @apply h-4.5;
46
+ }
47
+ &[data-size='icon'] {
48
+ @apply h-4;
49
+ }
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,31 @@
1
+ /* tooltip */
2
+ @layer components {
3
+ :where(:not([data-style-disabled])) {
4
+ &:where([data-component='tooltip-popup']) {
5
+ @apply relative flex h-fit w-fit max-w-96 flex-col items-start rounded-lg border border-neutral-200 bg-white px-2 py-1 shadow-lg outline-none data-closed:opacity-0;
6
+ }
7
+
8
+ &:where([data-component='tooltip-popuptext']) {
9
+ @apply text-[0.8rem] font-normal text-wrap text-neutral-950;
10
+ }
11
+
12
+ &:where([data-component='tooltip-arrow']) {
13
+ @apply pointer-events-none flex fill-white data-uncentered:hidden data-[side=bottom]:-top-2 data-[side=top]:-bottom-2 data-[side=top]:rotate-180 data-[side=left]:-right-[13px] data-[side=left]:rotate-90 data-[side=right]:-left-[13px] data-[side=right]:-rotate-90 ltr:data-[side=inline-start]:-right-[13px] ltr:data-[side=inline-start]:rotate-90 rtl:data-[side=inline-start]:-left-[13px] rtl:data-[side=inline-start]:-rotate-90 ltr:data-[side=inline-end]:-left-[13px] ltr:data-[side=inline-end]:-rotate-90 rtl:data-[side=inline-end]:-right-[13px] rtl:data-[side=inline-end]:rotate-90;
14
+ }
15
+
16
+ &:where([data-component='tooltip-arrow'])
17
+ &:where([data-component='tooltip-arrow-1']) {
18
+ @apply fill-inherit;
19
+ }
20
+
21
+ &:where([data-component='tooltip-arrow'])
22
+ &:where([data-component='tooltip-arrow-2']) {
23
+ @apply fill-neutral-200;
24
+ }
25
+
26
+ &:where([data-component='tooltip-arrow'])
27
+ &:where([data-component='tooltip-arrow-3']) {
28
+ @apply fill-inherit;
29
+ }
30
+ }
31
+ }