@work-rjkashyap/unified-ui 0.3.4 → 0.3.6

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 (456) hide show
  1. package/CHANGELOG.md +105 -0
  2. package/LICENSE +21 -0
  3. package/dist/components/accordion.cjs +225 -0
  4. package/dist/components/accordion.d.cts +157 -0
  5. package/dist/components/accordion.d.ts +157 -0
  6. package/dist/components/accordion.mjs +199 -0
  7. package/dist/components/alert-dialog.cjs +246 -0
  8. package/dist/components/alert-dialog.d.cts +61 -0
  9. package/dist/components/alert-dialog.d.ts +61 -0
  10. package/dist/components/alert-dialog.mjs +218 -0
  11. package/dist/components/alert.cjs +401 -0
  12. package/dist/components/alert.d.cts +217 -0
  13. package/dist/components/alert.d.ts +217 -0
  14. package/dist/components/alert.mjs +374 -0
  15. package/dist/components/aspect-ratio.cjs +45 -0
  16. package/dist/components/aspect-ratio.d.cts +10 -0
  17. package/dist/components/aspect-ratio.d.ts +10 -0
  18. package/dist/components/aspect-ratio.mjs +23 -0
  19. package/dist/components/avatar.cjs +348 -0
  20. package/dist/components/avatar.d.cts +198 -0
  21. package/dist/components/avatar.d.ts +198 -0
  22. package/dist/components/avatar.mjs +329 -0
  23. package/dist/components/badge.cjs +325 -0
  24. package/dist/components/badge.d.cts +259 -0
  25. package/dist/components/badge.d.ts +259 -0
  26. package/dist/components/badge.mjs +298 -0
  27. package/dist/components/banner.cjs +147 -0
  28. package/dist/components/banner.d.cts +31 -0
  29. package/dist/components/banner.d.ts +31 -0
  30. package/dist/components/banner.mjs +122 -0
  31. package/dist/components/breadcrumb.cjs +266 -0
  32. package/dist/components/breadcrumb.d.cts +159 -0
  33. package/dist/components/breadcrumb.d.ts +159 -0
  34. package/dist/components/breadcrumb.mjs +235 -0
  35. package/dist/components/button.cjs +254 -0
  36. package/dist/components/button.d.cts +126 -0
  37. package/dist/components/button.d.ts +126 -0
  38. package/dist/components/button.mjs +229 -0
  39. package/dist/components/calendar.cjs +511 -0
  40. package/dist/components/calendar.d.cts +94 -0
  41. package/dist/components/calendar.d.ts +94 -0
  42. package/dist/components/calendar.mjs +492 -0
  43. package/dist/components/card.cjs +234 -0
  44. package/dist/components/card.d.cts +190 -0
  45. package/dist/components/card.d.ts +190 -0
  46. package/dist/components/card.mjs +210 -0
  47. package/dist/components/carousel.cjs +234 -0
  48. package/dist/components/carousel.d.cts +30 -0
  49. package/dist/components/carousel.d.ts +30 -0
  50. package/dist/components/carousel.mjs +217 -0
  51. package/dist/components/chart.cjs +122 -0
  52. package/dist/components/chart.d.cts +103 -0
  53. package/dist/components/chart.d.ts +103 -0
  54. package/dist/components/chart.mjs +96 -0
  55. package/dist/components/checkbox.cjs +318 -0
  56. package/dist/components/checkbox.d.cts +182 -0
  57. package/dist/components/checkbox.d.ts +182 -0
  58. package/dist/components/checkbox.mjs +296 -0
  59. package/dist/components/code-highlight.cjs +335 -0
  60. package/dist/components/code-highlight.d.cts +18 -0
  61. package/dist/components/code-highlight.d.ts +18 -0
  62. package/dist/components/code-highlight.mjs +308 -0
  63. package/dist/components/code.cjs +265 -0
  64. package/dist/components/code.d.cts +40 -0
  65. package/dist/components/code.d.ts +40 -0
  66. package/dist/components/code.mjs +243 -0
  67. package/dist/components/collapsible.cjs +143 -0
  68. package/dist/components/collapsible.d.cts +159 -0
  69. package/dist/components/collapsible.d.ts +159 -0
  70. package/dist/components/collapsible.mjs +123 -0
  71. package/dist/components/color-picker.cjs +348 -0
  72. package/dist/components/color-picker.d.cts +35 -0
  73. package/dist/components/color-picker.d.ts +35 -0
  74. package/dist/components/color-picker.mjs +331 -0
  75. package/dist/components/combobox.cjs +584 -0
  76. package/dist/components/combobox.d.cts +183 -0
  77. package/dist/components/combobox.d.ts +183 -0
  78. package/dist/components/combobox.mjs +571 -0
  79. package/dist/components/command.cjs +329 -0
  80. package/dist/components/command.d.cts +97 -0
  81. package/dist/components/command.d.ts +97 -0
  82. package/dist/components/command.mjs +311 -0
  83. package/dist/components/confirm-dialog.cjs +100 -0
  84. package/dist/components/confirm-dialog.d.cts +25 -0
  85. package/dist/components/confirm-dialog.d.ts +25 -0
  86. package/dist/components/confirm-dialog.mjs +86 -0
  87. package/dist/components/context-menu.cjs +325 -0
  88. package/dist/components/context-menu.d.cts +259 -0
  89. package/dist/components/context-menu.d.ts +259 -0
  90. package/dist/components/context-menu.mjs +290 -0
  91. package/dist/components/copy-button.cjs +203 -0
  92. package/dist/components/copy-button.d.cts +22 -0
  93. package/dist/components/copy-button.d.ts +22 -0
  94. package/dist/components/copy-button.mjs +178 -0
  95. package/dist/components/data-list.cjs +140 -0
  96. package/dist/components/data-list.d.cts +36 -0
  97. package/dist/components/data-list.d.ts +36 -0
  98. package/dist/components/data-list.mjs +113 -0
  99. package/dist/components/data-table-toolbar.cjs +338 -0
  100. package/dist/components/data-table-toolbar.d.cts +84 -0
  101. package/dist/components/data-table-toolbar.d.ts +84 -0
  102. package/dist/components/data-table-toolbar.mjs +320 -0
  103. package/dist/components/data-table.cjs +1324 -0
  104. package/dist/components/data-table.d.cts +349 -0
  105. package/dist/components/data-table.d.ts +349 -0
  106. package/dist/components/data-table.mjs +1323 -0
  107. package/dist/components/date-picker.cjs +282 -0
  108. package/dist/components/date-picker.d.cts +97 -0
  109. package/dist/components/date-picker.d.ts +97 -0
  110. package/dist/components/date-picker.mjs +258 -0
  111. package/dist/components/dialog.cjs +319 -0
  112. package/dist/components/dialog.d.cts +74 -0
  113. package/dist/components/dialog.d.ts +74 -0
  114. package/dist/components/dialog.mjs +292 -0
  115. package/dist/components/drawer.cjs +262 -0
  116. package/dist/components/drawer.d.cts +113 -0
  117. package/dist/components/drawer.d.ts +113 -0
  118. package/dist/components/drawer.mjs +230 -0
  119. package/dist/components/dropdown-menu.cjs +328 -0
  120. package/dist/components/dropdown-menu.d.cts +95 -0
  121. package/dist/components/dropdown-menu.d.ts +95 -0
  122. package/dist/components/dropdown-menu.mjs +293 -0
  123. package/dist/components/empty-state.cjs +123 -0
  124. package/dist/components/empty-state.d.cts +15 -0
  125. package/dist/components/empty-state.d.ts +15 -0
  126. package/dist/components/empty-state.mjs +99 -0
  127. package/dist/components/file-upload.cjs +442 -0
  128. package/dist/components/file-upload.d.cts +35 -0
  129. package/dist/components/file-upload.d.ts +35 -0
  130. package/dist/components/file-upload.mjs +423 -0
  131. package/dist/components/form-field.cjs +191 -0
  132. package/dist/components/form-field.d.cts +163 -0
  133. package/dist/components/form-field.d.ts +163 -0
  134. package/dist/components/form-field.mjs +167 -0
  135. package/dist/components/hover-card.cjs +99 -0
  136. package/dist/components/hover-card.d.cts +28 -0
  137. package/dist/components/hover-card.d.ts +28 -0
  138. package/dist/components/hover-card.mjs +75 -0
  139. package/dist/components/image-gallery.cjs +359 -0
  140. package/dist/components/image-gallery.d.cts +46 -0
  141. package/dist/components/image-gallery.d.ts +46 -0
  142. package/dist/components/image-gallery.mjs +340 -0
  143. package/dist/components/index.cjs +719 -0
  144. package/dist/components/index.d.cts +84 -0
  145. package/dist/components/index.d.ts +84 -0
  146. package/dist/components/index.mjs +771 -0
  147. package/dist/components/infinite-scroll.cjs +95 -0
  148. package/dist/components/infinite-scroll.d.cts +54 -0
  149. package/dist/components/infinite-scroll.d.ts +54 -0
  150. package/dist/components/infinite-scroll.mjs +71 -0
  151. package/dist/components/input-group.cjs +202 -0
  152. package/dist/components/input-group.d.cts +22 -0
  153. package/dist/components/input-group.d.ts +22 -0
  154. package/dist/components/input-group.mjs +178 -0
  155. package/dist/components/input.cjs +318 -0
  156. package/dist/components/input.d.cts +99 -0
  157. package/dist/components/input.d.ts +99 -0
  158. package/dist/components/input.mjs +296 -0
  159. package/dist/components/kbd.cjs +69 -0
  160. package/dist/components/kbd.d.cts +25 -0
  161. package/dist/components/kbd.d.ts +25 -0
  162. package/dist/components/kbd.mjs +44 -0
  163. package/dist/components/label.cjs +138 -0
  164. package/dist/components/label.d.cts +91 -0
  165. package/dist/components/label.d.ts +91 -0
  166. package/dist/components/label.mjs +113 -0
  167. package/dist/components/markdown.cjs +179 -0
  168. package/dist/components/markdown.d.cts +41 -0
  169. package/dist/components/markdown.d.ts +41 -0
  170. package/dist/components/markdown.mjs +155 -0
  171. package/dist/components/menubar.cjs +365 -0
  172. package/dist/components/menubar.d.cts +88 -0
  173. package/dist/components/menubar.d.ts +88 -0
  174. package/dist/components/menubar.mjs +329 -0
  175. package/dist/components/navigation-menu.cjs +280 -0
  176. package/dist/components/navigation-menu.d.cts +123 -0
  177. package/dist/components/navigation-menu.d.ts +123 -0
  178. package/dist/components/navigation-menu.mjs +250 -0
  179. package/dist/components/number-input.cjs +419 -0
  180. package/dist/components/number-input.d.cts +111 -0
  181. package/dist/components/number-input.d.ts +111 -0
  182. package/dist/components/number-input.mjs +400 -0
  183. package/dist/components/pagination.cjs +322 -0
  184. package/dist/components/pagination.d.cts +119 -0
  185. package/dist/components/pagination.d.ts +119 -0
  186. package/dist/components/pagination.mjs +297 -0
  187. package/dist/components/pin-input.cjs +321 -0
  188. package/dist/components/pin-input.d.cts +112 -0
  189. package/dist/components/pin-input.d.ts +112 -0
  190. package/dist/components/pin-input.mjs +303 -0
  191. package/dist/components/popover.cjs +194 -0
  192. package/dist/components/popover.d.cts +108 -0
  193. package/dist/components/popover.d.ts +108 -0
  194. package/dist/components/popover.mjs +168 -0
  195. package/dist/components/progress.cjs +237 -0
  196. package/dist/components/progress.d.cts +137 -0
  197. package/dist/components/progress.d.ts +137 -0
  198. package/dist/components/progress.mjs +211 -0
  199. package/dist/components/radio.cjs +344 -0
  200. package/dist/components/radio.d.cts +145 -0
  201. package/dist/components/radio.d.ts +145 -0
  202. package/dist/components/radio.mjs +320 -0
  203. package/dist/components/resizable.cjs +121 -0
  204. package/dist/components/resizable.d.cts +23 -0
  205. package/dist/components/resizable.d.ts +23 -0
  206. package/dist/components/resizable.mjs +99 -0
  207. package/dist/components/scroll-area.cjs +168 -0
  208. package/dist/components/scroll-area.d.cts +131 -0
  209. package/dist/components/scroll-area.d.ts +131 -0
  210. package/dist/components/scroll-area.mjs +143 -0
  211. package/dist/components/search-input.cjs +261 -0
  212. package/dist/components/search-input.d.cts +26 -0
  213. package/dist/components/search-input.d.ts +26 -0
  214. package/dist/components/search-input.mjs +243 -0
  215. package/dist/components/select.cjs +320 -0
  216. package/dist/components/select.d.cts +55 -0
  217. package/dist/components/select.d.ts +55 -0
  218. package/dist/components/select.mjs +288 -0
  219. package/dist/components/separator.cjs +193 -0
  220. package/dist/components/separator.d.cts +92 -0
  221. package/dist/components/separator.d.ts +92 -0
  222. package/dist/components/separator.mjs +170 -0
  223. package/dist/components/sheet.cjs +399 -0
  224. package/dist/components/sheet.d.cts +219 -0
  225. package/dist/components/sheet.d.ts +219 -0
  226. package/dist/components/sheet.mjs +379 -0
  227. package/dist/components/sidebar.cjs +1077 -0
  228. package/dist/components/sidebar.d.cts +733 -0
  229. package/dist/components/sidebar.d.ts +733 -0
  230. package/dist/components/sidebar.mjs +1033 -0
  231. package/dist/components/skeleton.cjs +210 -0
  232. package/dist/components/skeleton.d.cts +202 -0
  233. package/dist/components/skeleton.d.ts +202 -0
  234. package/dist/components/skeleton.mjs +182 -0
  235. package/dist/components/slider.cjs +319 -0
  236. package/dist/components/slider.d.cts +82 -0
  237. package/dist/components/slider.d.ts +82 -0
  238. package/dist/components/slider.mjs +296 -0
  239. package/dist/components/sonner.cjs +119 -0
  240. package/dist/components/sonner.d.cts +60 -0
  241. package/dist/components/sonner.d.ts +60 -0
  242. package/dist/components/sonner.mjs +94 -0
  243. package/dist/components/spinner.cjs +238 -0
  244. package/dist/components/spinner.d.cts +101 -0
  245. package/dist/components/spinner.d.ts +101 -0
  246. package/dist/components/spinner.mjs +213 -0
  247. package/dist/components/stat.cjs +180 -0
  248. package/dist/components/stat.d.cts +21 -0
  249. package/dist/components/stat.d.ts +21 -0
  250. package/dist/components/stat.mjs +161 -0
  251. package/dist/components/steps.cjs +228 -0
  252. package/dist/components/steps.d.cts +76 -0
  253. package/dist/components/steps.d.ts +76 -0
  254. package/dist/components/steps.mjs +207 -0
  255. package/dist/components/switch.cjs +243 -0
  256. package/dist/components/switch.d.cts +90 -0
  257. package/dist/components/switch.d.ts +90 -0
  258. package/dist/components/switch.mjs +228 -0
  259. package/dist/components/table.cjs +381 -0
  260. package/dist/components/table.d.cts +181 -0
  261. package/dist/components/table.d.ts +181 -0
  262. package/dist/components/table.mjs +349 -0
  263. package/dist/components/tabs.cjs +326 -0
  264. package/dist/components/tabs.d.cts +154 -0
  265. package/dist/components/tabs.d.ts +154 -0
  266. package/dist/components/tabs.mjs +304 -0
  267. package/dist/components/textarea.cjs +258 -0
  268. package/dist/components/textarea.d.cts +112 -0
  269. package/dist/components/textarea.d.ts +112 -0
  270. package/dist/components/textarea.mjs +233 -0
  271. package/dist/components/theme-toggle.cjs +282 -0
  272. package/dist/components/theme-toggle.d.cts +58 -0
  273. package/dist/components/theme-toggle.d.ts +58 -0
  274. package/dist/components/theme-toggle.mjs +258 -0
  275. package/dist/components/timeline.cjs +178 -0
  276. package/dist/components/timeline.d.cts +41 -0
  277. package/dist/components/timeline.d.ts +41 -0
  278. package/dist/components/timeline.mjs +157 -0
  279. package/dist/components/toast.cjs +546 -0
  280. package/dist/components/toast.d.cts +169 -0
  281. package/dist/components/toast.d.ts +169 -0
  282. package/dist/components/toast.mjs +528 -0
  283. package/dist/components/toggle-group.cjs +204 -0
  284. package/dist/components/toggle-group.d.cts +215 -0
  285. package/dist/components/toggle-group.d.ts +215 -0
  286. package/dist/components/toggle-group.mjs +180 -0
  287. package/dist/components/toggle.cjs +155 -0
  288. package/dist/components/toggle.d.cts +100 -0
  289. package/dist/components/toggle.d.ts +100 -0
  290. package/dist/components/toggle.mjs +130 -0
  291. package/dist/components/tooltip.cjs +155 -0
  292. package/dist/components/tooltip.d.cts +129 -0
  293. package/dist/components/tooltip.d.ts +129 -0
  294. package/dist/components/tooltip.mjs +132 -0
  295. package/dist/components/tree-view.cjs +450 -0
  296. package/dist/components/tree-view.d.cts +67 -0
  297. package/dist/components/tree-view.d.ts +67 -0
  298. package/dist/components/tree-view.mjs +433 -0
  299. package/dist/components/video-player.cjs +344 -0
  300. package/dist/components/video-player.d.cts +34 -0
  301. package/dist/components/video-player.d.ts +34 -0
  302. package/dist/components/video-player.mjs +320 -0
  303. package/dist/components/virtual-list.cjs +153 -0
  304. package/dist/components/virtual-list.d.cts +53 -0
  305. package/dist/components/virtual-list.d.ts +53 -0
  306. package/dist/components/virtual-list.mjs +136 -0
  307. package/dist/components/visually-hidden.cjs +43 -0
  308. package/dist/components/visually-hidden.d.cts +9 -0
  309. package/dist/components/visually-hidden.d.ts +9 -0
  310. package/dist/components/visually-hidden.mjs +21 -0
  311. package/dist/index.cjs +1081 -1957
  312. package/dist/index.d.cts +99 -11
  313. package/dist/index.d.ts +99 -11
  314. package/dist/index.mjs +1138 -16
  315. package/dist/motion/hooks.cjs +98 -0
  316. package/dist/motion/hooks.d.cts +32 -0
  317. package/dist/motion/hooks.d.ts +32 -0
  318. package/dist/motion/hooks.mjs +70 -0
  319. package/dist/motion/index.cjs +157 -0
  320. package/dist/motion/index.d.cts +5 -0
  321. package/dist/motion/index.d.ts +5 -0
  322. package/dist/motion/index.mjs +137 -0
  323. package/dist/motion/presets.cjs +609 -0
  324. package/dist/{motion.d.ts → motion/presets.d.cts} +1 -30
  325. package/dist/{motion.d.cts → motion/presets.d.ts} +1 -30
  326. package/dist/{chunk-PLRSH37T.mjs → motion/presets.mjs} +119 -126
  327. package/dist/primitives/container.cjs +88 -0
  328. package/dist/primitives/container.d.cts +82 -0
  329. package/dist/primitives/container.d.ts +82 -0
  330. package/dist/primitives/container.mjs +64 -0
  331. package/dist/primitives/divider.cjs +74 -0
  332. package/dist/primitives/divider.d.cts +30 -0
  333. package/dist/primitives/divider.d.ts +30 -0
  334. package/dist/primitives/divider.mjs +50 -0
  335. package/dist/primitives/index.cjs +54 -0
  336. package/dist/primitives/index.d.cts +6 -0
  337. package/dist/primitives/index.d.ts +6 -0
  338. package/dist/primitives/index.mjs +33 -0
  339. package/dist/primitives/stack.cjs +167 -0
  340. package/dist/primitives/stack.d.cts +132 -0
  341. package/dist/primitives/stack.d.ts +132 -0
  342. package/dist/primitives/stack.mjs +142 -0
  343. package/dist/primitives/typography.cjs +260 -0
  344. package/dist/primitives/typography.d.cts +157 -0
  345. package/dist/primitives/typography.d.ts +157 -0
  346. package/dist/primitives/typography.mjs +229 -0
  347. package/dist/theme/contract.cjs +246 -0
  348. package/dist/theme/contract.d.cts +76 -0
  349. package/dist/theme/contract.d.ts +76 -0
  350. package/dist/theme/contract.mjs +221 -0
  351. package/dist/theme/customizer-store.cjs +266 -0
  352. package/dist/theme/customizer-store.d.cts +76 -0
  353. package/dist/theme/customizer-store.d.ts +76 -0
  354. package/dist/theme/customizer-store.mjs +261 -0
  355. package/dist/theme/customizer.cjs +812 -0
  356. package/dist/theme/customizer.d.cts +13 -0
  357. package/dist/theme/customizer.d.ts +13 -0
  358. package/dist/theme/customizer.mjs +803 -0
  359. package/dist/theme/index.cjs +105 -0
  360. package/dist/theme/index.d.cts +13 -0
  361. package/dist/theme/index.d.ts +13 -0
  362. package/dist/theme/index.mjs +87 -0
  363. package/dist/theme/presets.cjs +1205 -0
  364. package/dist/theme/presets.d.cts +232 -0
  365. package/dist/theme/presets.d.ts +232 -0
  366. package/dist/theme/presets.mjs +1175 -0
  367. package/dist/theme/provider.cjs +122 -0
  368. package/dist/theme/provider.d.cts +57 -0
  369. package/dist/theme/provider.d.ts +57 -0
  370. package/dist/theme/provider.mjs +104 -0
  371. package/dist/{chunk-AAEWG5VR.mjs → tokens/colors.cjs} +94 -94
  372. package/dist/{z-index-DmLl6FUD.d.ts → tokens/colors.d.cts} +118 -72
  373. package/dist/{z-index-DmLl6FUD.d.cts → tokens/colors.d.ts} +118 -72
  374. package/dist/{chunk-6ZZZBOCH.cjs → tokens/colors.mjs} +47 -121
  375. package/dist/tokens/index.cjs +96 -0
  376. package/dist/tokens/index.d.cts +7 -0
  377. package/dist/tokens/index.d.ts +7 -0
  378. package/dist/tokens/index.mjs +71 -0
  379. package/dist/{chunk-XCKK6P46.cjs → tokens/motion.cjs} +46 -18
  380. package/dist/{motion-D9wQbcKL.d.cts → tokens/motion.d.cts} +1 -1
  381. package/dist/{motion-D9wQbcKL.d.ts → tokens/motion.d.ts} +1 -1
  382. package/dist/{chunk-EZ2L3XPS.mjs → tokens/motion.mjs} +16 -10
  383. package/dist/tokens/radius.cjs +41 -0
  384. package/dist/tokens/radius.d.cts +18 -0
  385. package/dist/tokens/radius.d.ts +18 -0
  386. package/dist/tokens/radius.mjs +17 -0
  387. package/dist/tokens/shadows.cjs +57 -0
  388. package/dist/tokens/shadows.d.cts +32 -0
  389. package/dist/tokens/shadows.d.ts +32 -0
  390. package/dist/tokens/shadows.mjs +32 -0
  391. package/dist/tokens/spacing.cjs +51 -0
  392. package/dist/tokens/spacing.d.cts +26 -0
  393. package/dist/tokens/spacing.d.ts +26 -0
  394. package/dist/{chunk-NMPHV6ZD.mjs → tokens/spacing.mjs} +4 -4
  395. package/dist/{chunk-ECIGDEAH.cjs → tokens/typography.cjs} +43 -16
  396. package/dist/{typography-DlvVjEdE.d.ts → tokens/typography.d.cts} +1 -1
  397. package/dist/{typography-DlvVjEdE.d.cts → tokens/typography.d.ts} +1 -1
  398. package/dist/{chunk-ITBG42M5.mjs → tokens/typography.mjs} +14 -9
  399. package/dist/tokens/z-index.cjs +47 -0
  400. package/dist/tokens/z-index.d.cts +24 -0
  401. package/dist/tokens/z-index.d.ts +24 -0
  402. package/dist/tokens/z-index.mjs +23 -0
  403. package/dist/utils/cn.cjs +102 -0
  404. package/dist/utils/cn.d.cts +84 -0
  405. package/dist/utils/cn.d.ts +84 -0
  406. package/dist/{chunk-ZT3PCXDF.mjs → utils/cn.mjs} +14 -7
  407. package/dist/{chunk-33QEKXRQ.cjs → utils/contrast.cjs} +68 -38
  408. package/dist/utils/contrast.d.cts +209 -0
  409. package/dist/utils/contrast.d.ts +209 -0
  410. package/dist/{chunk-5NZDQWRV.mjs → utils/contrast.mjs} +27 -18
  411. package/dist/utils/focus-ring.cjs +81 -0
  412. package/dist/utils/focus-ring.d.cts +80 -0
  413. package/dist/utils/focus-ring.d.ts +80 -0
  414. package/dist/utils/focus-ring.mjs +47 -0
  415. package/dist/utils/index.cjs +107 -0
  416. package/dist/utils/index.d.cts +6 -0
  417. package/dist/utils/index.d.ts +6 -0
  418. package/dist/utils/index.mjs +88 -0
  419. package/dist/utils/types.cjs +38 -0
  420. package/dist/utils/types.d.cts +187 -0
  421. package/dist/utils/types.d.ts +187 -0
  422. package/dist/utils/types.mjs +13 -0
  423. package/package.json +191 -191
  424. package/dist/chunk-2JFREULQ.cjs +0 -29
  425. package/dist/chunk-3EHT6IOA.cjs +0 -49
  426. package/dist/chunk-4ON3M3OM.cjs +0 -73
  427. package/dist/chunk-A2DGHQL2.cjs +0 -21808
  428. package/dist/chunk-BJ55D5IK.mjs +0 -2433
  429. package/dist/chunk-F4JJFWWU.cjs +0 -604
  430. package/dist/chunk-FUWXGHWQ.cjs +0 -468
  431. package/dist/chunk-MBYCK2JJ.mjs +0 -37
  432. package/dist/chunk-OHEH57BV.mjs +0 -455
  433. package/dist/chunk-RUG3BW2B.cjs +0 -2471
  434. package/dist/chunk-XAIUX2YS.mjs +0 -21477
  435. package/dist/components.cjs +0 -1247
  436. package/dist/components.d.cts +0 -7881
  437. package/dist/components.d.ts +0 -7881
  438. package/dist/components.mjs +0 -6
  439. package/dist/motion.cjs +0 -264
  440. package/dist/motion.mjs +0 -3
  441. package/dist/primitives.cjs +0 -57
  442. package/dist/primitives.d.cts +0 -390
  443. package/dist/primitives.d.ts +0 -390
  444. package/dist/primitives.mjs +0 -4
  445. package/dist/theme.cjs +0 -159
  446. package/dist/theme.d.cts +0 -440
  447. package/dist/theme.d.ts +0 -440
  448. package/dist/theme.mjs +0 -6
  449. package/dist/tokens.cjs +0 -137
  450. package/dist/tokens.d.cts +0 -30
  451. package/dist/tokens.d.ts +0 -30
  452. package/dist/tokens.mjs +0 -4
  453. package/dist/utils.cjs +0 -164
  454. package/dist/utils.d.cts +0 -525
  455. package/dist/utils.d.ts +0 -525
  456. package/dist/utils.mjs +0 -3
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+ "use client";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var spinner_exports = {};
21
+ __export(spinner_exports, {
22
+ Spinner: () => Spinner,
23
+ spinnerVariants: () => spinnerVariants
24
+ });
25
+ module.exports = __toCommonJS(spinner_exports);
26
+ var import_jsx_runtime = (
27
+ // Reduced motion fallback — uses CSS animate-spin (a simple
28
+ // rotation that the browser can optimize or skip per OS settings)
29
+ require("react/jsx-runtime")
30
+ );
31
+ var import_cn = require("../utils/cn.cjs");
32
+ var import_class_variance_authority = require("class-variance-authority");
33
+ var import_framer_motion = require("framer-motion");
34
+ var import_react = require("react");
35
+ const spinnerVariants = (0, import_class_variance_authority.cva)(
36
+ // Base styles — shared across all variants and sizes
37
+ [
38
+ // Ensure the spinner is inline and doesn't collapse
39
+ "shrink-0"
40
+ ],
41
+ {
42
+ variants: {
43
+ // -----------------------------------------------------------------
44
+ // Size Variants
45
+ // -----------------------------------------------------------------
46
+ size: {
47
+ /**
48
+ * Extra Small — for inline indicators, buttons, badges.
49
+ * 14px (size-3.5)
50
+ */
51
+ xs: "size-3.5",
52
+ /**
53
+ * Small — for compact UIs, table cells, small buttons.
54
+ * 16px (size-4)
55
+ */
56
+ sm: "size-4",
57
+ /**
58
+ * Medium — default size for most loading states.
59
+ * 20px (size-5)
60
+ */
61
+ md: "size-5",
62
+ /**
63
+ * Large — for prominent loading indicators, empty states.
64
+ * 24px (size-6)
65
+ */
66
+ lg: "size-6"
67
+ },
68
+ // -----------------------------------------------------------------
69
+ // Color Variants
70
+ // -----------------------------------------------------------------
71
+ variant: {
72
+ /**
73
+ * Default — uses the current text color.
74
+ * Inherits from the parent element's color.
75
+ */
76
+ default: "text-current",
77
+ /**
78
+ * Primary — uses the brand/primary color.
79
+ * For prominent loading states on neutral backgrounds.
80
+ */
81
+ primary: "text-primary",
82
+ /**
83
+ * Secondary — uses the secondary/foreground color.
84
+ * For subtle loading indicators.
85
+ */
86
+ secondary: "text-foreground",
87
+ /**
88
+ * Muted — uses the muted-foreground color.
89
+ * For very subtle, non-intrusive loading states.
90
+ */
91
+ muted: "text-muted-foreground"
92
+ }
93
+ },
94
+ defaultVariants: {
95
+ size: "md",
96
+ variant: "default"
97
+ }
98
+ }
99
+ );
100
+ const labelSizeMap = {
101
+ xs: "text-xs",
102
+ sm: "text-xs",
103
+ md: "text-sm",
104
+ lg: "text-sm"
105
+ };
106
+ const spinTransition = {
107
+ rotate: {
108
+ duration: 0.8,
109
+ ease: "linear",
110
+ repeat: Number.POSITIVE_INFINITY
111
+ }
112
+ };
113
+ const spinAnimate = {
114
+ rotate: 360
115
+ };
116
+ const Spinner = (0, import_react.forwardRef)(
117
+ function Spinner2({
118
+ size = "md",
119
+ variant = "default",
120
+ label,
121
+ labelPosition = "right",
122
+ "aria-label": ariaLabel,
123
+ strokeWidth = 2.5,
124
+ className,
125
+ ...rest
126
+ }, ref) {
127
+ const prefersReduced = (0, import_framer_motion.useReducedMotion)();
128
+ const resolvedAriaLabel = ariaLabel ?? (typeof label === "string" ? label : "Loading");
129
+ const MotionSvg = import_framer_motion.motion.svg;
130
+ const spinnerElement = prefersReduced ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
131
+ "svg",
132
+ {
133
+ className: (0, import_cn.cn)("animate-spin", spinnerVariants({ size, variant })),
134
+ xmlns: "http://www.w3.org/2000/svg",
135
+ fill: "none",
136
+ viewBox: "0 0 24 24",
137
+ "aria-hidden": "true",
138
+ children: [
139
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
140
+ "circle",
141
+ {
142
+ cx: "12",
143
+ cy: "12",
144
+ r: "10",
145
+ stroke: "currentColor",
146
+ strokeWidth,
147
+ className: "opacity-20"
148
+ }
149
+ ),
150
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
151
+ "path",
152
+ {
153
+ d: "M12 2a10 10 0 0 1 10 10",
154
+ stroke: "currentColor",
155
+ strokeWidth,
156
+ strokeLinecap: "round"
157
+ }
158
+ )
159
+ ]
160
+ }
161
+ ) : (
162
+ // Full Framer Motion animation
163
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
164
+ MotionSvg,
165
+ {
166
+ className: (0, import_cn.cn)(spinnerVariants({ size, variant })),
167
+ xmlns: "http://www.w3.org/2000/svg",
168
+ fill: "none",
169
+ viewBox: "0 0 24 24",
170
+ animate: spinAnimate,
171
+ transition: spinTransition,
172
+ "aria-hidden": "true",
173
+ children: [
174
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
175
+ "circle",
176
+ {
177
+ cx: "12",
178
+ cy: "12",
179
+ r: "10",
180
+ stroke: "currentColor",
181
+ strokeWidth,
182
+ className: "opacity-20"
183
+ }
184
+ ),
185
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
186
+ "path",
187
+ {
188
+ d: "M12 2a10 10 0 0 1 10 10",
189
+ stroke: "currentColor",
190
+ strokeWidth,
191
+ strokeLinecap: "round"
192
+ }
193
+ )
194
+ ]
195
+ }
196
+ )
197
+ );
198
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
199
+ "div",
200
+ {
201
+ ref,
202
+ role: "status",
203
+ "aria-label": resolvedAriaLabel,
204
+ className: (0, import_cn.cn)(
205
+ "inline-flex items-center",
206
+ labelPosition === "bottom" ? "flex-col gap-2" : "flex-row gap-2",
207
+ className
208
+ ),
209
+ "data-ds": "",
210
+ "data-ds-component": "spinner",
211
+ "data-ds-size": size,
212
+ "data-ds-variant": variant,
213
+ ...rest,
214
+ children: [
215
+ spinnerElement,
216
+ label && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
217
+ "span",
218
+ {
219
+ className: (0, import_cn.cn)(
220
+ "leading-5",
221
+ labelSizeMap[size],
222
+ variant === "muted" ? "text-muted-foreground" : "text-foreground"
223
+ ),
224
+ children: label
225
+ }
226
+ ),
227
+ !label && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "sr-only", children: resolvedAriaLabel })
228
+ ]
229
+ }
230
+ );
231
+ }
232
+ );
233
+ Spinner.displayName = "Spinner";
234
+ // Annotate the CommonJS export names for ESM import in node:
235
+ 0 && (module.exports = {
236
+ Spinner,
237
+ spinnerVariants
238
+ });
@@ -0,0 +1,101 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import { VariantProps } from 'class-variance-authority';
5
+
6
+ declare const spinnerVariants: (props?: ({
7
+ size?: "xs" | "sm" | "md" | "lg" | null | undefined;
8
+ variant?: "default" | "primary" | "secondary" | "muted" | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
10
+ type SpinnerSize = "xs" | "sm" | "md" | "lg";
11
+ type SpinnerVariant = "default" | "primary" | "secondary" | "muted";
12
+ interface SpinnerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children">, VariantProps<typeof spinnerVariants> {
13
+ /**
14
+ * Size of the spinner.
15
+ * @default "md"
16
+ */
17
+ size?: SpinnerSize;
18
+ /**
19
+ * Color variant of the spinner.
20
+ * @default "default"
21
+ */
22
+ variant?: SpinnerVariant;
23
+ /**
24
+ * Optional label text displayed alongside the spinner.
25
+ * Provides visible context for the loading state.
26
+ */
27
+ label?: ReactNode;
28
+ /**
29
+ * Position of the label relative to the spinner.
30
+ * @default "right"
31
+ */
32
+ labelPosition?: "right" | "bottom";
33
+ /**
34
+ * Accessible label for screen readers.
35
+ * If `label` is a string, it will be used as the default.
36
+ * @default "Loading"
37
+ */
38
+ "aria-label"?: string;
39
+ /**
40
+ * Thickness of the spinner stroke.
41
+ * @default "2"
42
+ */
43
+ strokeWidth?: number;
44
+ /** Additional CSS classes to merge on the root element. */
45
+ className?: string;
46
+ }
47
+ /**
48
+ * Spinner — an animated loading indicator.
49
+ *
50
+ * Built on the design system's token layer with CVA for variant composition.
51
+ * Uses Framer Motion for smooth, GPU-accelerated rotation with automatic
52
+ * reduced-motion support (falls back to CSS `animate-spin`).
53
+ *
54
+ * The spinner renders as a circular arc (3/4 circle) that rotates
55
+ * continuously. A faded track circle provides visual context for the
56
+ * rotation path.
57
+ *
58
+ * Accessibility:
59
+ * - Uses `role="status"` for live region semantics
60
+ * - Includes screen-reader-only text via `aria-label`
61
+ * - SVG elements are decorative (`aria-hidden`)
62
+ * - Respects `prefers-reduced-motion` — uses CSS fallback
63
+ *
64
+ * @example
65
+ * ```tsx
66
+ * // Basic usage
67
+ * <Spinner />
68
+ *
69
+ * // Sizes
70
+ * <Spinner size="xs" />
71
+ * <Spinner size="sm" />
72
+ * <Spinner size="md" />
73
+ * <Spinner size="lg" />
74
+ *
75
+ * // Variants
76
+ * <Spinner variant="primary" />
77
+ * <Spinner variant="secondary" />
78
+ * <Spinner variant="muted" />
79
+ *
80
+ * // With label (inline)
81
+ * <Spinner label="Loading…" />
82
+ *
83
+ * // With label (stacked)
84
+ * <Spinner label="Loading data…" labelPosition="bottom" />
85
+ *
86
+ * // Inside a button
87
+ * <Button disabled>
88
+ * <Spinner size="xs" variant="default" />
89
+ * Saving…
90
+ * </Button>
91
+ *
92
+ * // Custom aria-label
93
+ * <Spinner aria-label="Fetching results" />
94
+ *
95
+ * // Custom stroke width
96
+ * <Spinner size="lg" strokeWidth={3} />
97
+ * ```
98
+ */
99
+ declare const Spinner: react.ForwardRefExoticComponent<SpinnerProps & react.RefAttributes<HTMLDivElement>>;
100
+
101
+ export { Spinner, type SpinnerProps, type SpinnerSize, type SpinnerVariant, spinnerVariants };
@@ -0,0 +1,101 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import { VariantProps } from 'class-variance-authority';
5
+
6
+ declare const spinnerVariants: (props?: ({
7
+ size?: "xs" | "sm" | "md" | "lg" | null | undefined;
8
+ variant?: "default" | "primary" | "secondary" | "muted" | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
10
+ type SpinnerSize = "xs" | "sm" | "md" | "lg";
11
+ type SpinnerVariant = "default" | "primary" | "secondary" | "muted";
12
+ interface SpinnerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children">, VariantProps<typeof spinnerVariants> {
13
+ /**
14
+ * Size of the spinner.
15
+ * @default "md"
16
+ */
17
+ size?: SpinnerSize;
18
+ /**
19
+ * Color variant of the spinner.
20
+ * @default "default"
21
+ */
22
+ variant?: SpinnerVariant;
23
+ /**
24
+ * Optional label text displayed alongside the spinner.
25
+ * Provides visible context for the loading state.
26
+ */
27
+ label?: ReactNode;
28
+ /**
29
+ * Position of the label relative to the spinner.
30
+ * @default "right"
31
+ */
32
+ labelPosition?: "right" | "bottom";
33
+ /**
34
+ * Accessible label for screen readers.
35
+ * If `label` is a string, it will be used as the default.
36
+ * @default "Loading"
37
+ */
38
+ "aria-label"?: string;
39
+ /**
40
+ * Thickness of the spinner stroke.
41
+ * @default "2"
42
+ */
43
+ strokeWidth?: number;
44
+ /** Additional CSS classes to merge on the root element. */
45
+ className?: string;
46
+ }
47
+ /**
48
+ * Spinner — an animated loading indicator.
49
+ *
50
+ * Built on the design system's token layer with CVA for variant composition.
51
+ * Uses Framer Motion for smooth, GPU-accelerated rotation with automatic
52
+ * reduced-motion support (falls back to CSS `animate-spin`).
53
+ *
54
+ * The spinner renders as a circular arc (3/4 circle) that rotates
55
+ * continuously. A faded track circle provides visual context for the
56
+ * rotation path.
57
+ *
58
+ * Accessibility:
59
+ * - Uses `role="status"` for live region semantics
60
+ * - Includes screen-reader-only text via `aria-label`
61
+ * - SVG elements are decorative (`aria-hidden`)
62
+ * - Respects `prefers-reduced-motion` — uses CSS fallback
63
+ *
64
+ * @example
65
+ * ```tsx
66
+ * // Basic usage
67
+ * <Spinner />
68
+ *
69
+ * // Sizes
70
+ * <Spinner size="xs" />
71
+ * <Spinner size="sm" />
72
+ * <Spinner size="md" />
73
+ * <Spinner size="lg" />
74
+ *
75
+ * // Variants
76
+ * <Spinner variant="primary" />
77
+ * <Spinner variant="secondary" />
78
+ * <Spinner variant="muted" />
79
+ *
80
+ * // With label (inline)
81
+ * <Spinner label="Loading…" />
82
+ *
83
+ * // With label (stacked)
84
+ * <Spinner label="Loading data…" labelPosition="bottom" />
85
+ *
86
+ * // Inside a button
87
+ * <Button disabled>
88
+ * <Spinner size="xs" variant="default" />
89
+ * Saving…
90
+ * </Button>
91
+ *
92
+ * // Custom aria-label
93
+ * <Spinner aria-label="Fetching results" />
94
+ *
95
+ * // Custom stroke width
96
+ * <Spinner size="lg" strokeWidth={3} />
97
+ * ```
98
+ */
99
+ declare const Spinner: react.ForwardRefExoticComponent<SpinnerProps & react.RefAttributes<HTMLDivElement>>;
100
+
101
+ export { Spinner, type SpinnerProps, type SpinnerSize, type SpinnerVariant, spinnerVariants };
@@ -0,0 +1,213 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { cn } from "../utils/cn.mjs";
4
+ import { cva } from "class-variance-authority";
5
+ import { motion, useReducedMotion } from "framer-motion";
6
+ import { forwardRef } from "react";
7
+ const spinnerVariants = cva(
8
+ // Base styles — shared across all variants and sizes
9
+ [
10
+ // Ensure the spinner is inline and doesn't collapse
11
+ "shrink-0"
12
+ ],
13
+ {
14
+ variants: {
15
+ // -----------------------------------------------------------------
16
+ // Size Variants
17
+ // -----------------------------------------------------------------
18
+ size: {
19
+ /**
20
+ * Extra Small — for inline indicators, buttons, badges.
21
+ * 14px (size-3.5)
22
+ */
23
+ xs: "size-3.5",
24
+ /**
25
+ * Small — for compact UIs, table cells, small buttons.
26
+ * 16px (size-4)
27
+ */
28
+ sm: "size-4",
29
+ /**
30
+ * Medium — default size for most loading states.
31
+ * 20px (size-5)
32
+ */
33
+ md: "size-5",
34
+ /**
35
+ * Large — for prominent loading indicators, empty states.
36
+ * 24px (size-6)
37
+ */
38
+ lg: "size-6"
39
+ },
40
+ // -----------------------------------------------------------------
41
+ // Color Variants
42
+ // -----------------------------------------------------------------
43
+ variant: {
44
+ /**
45
+ * Default — uses the current text color.
46
+ * Inherits from the parent element's color.
47
+ */
48
+ default: "text-current",
49
+ /**
50
+ * Primary — uses the brand/primary color.
51
+ * For prominent loading states on neutral backgrounds.
52
+ */
53
+ primary: "text-primary",
54
+ /**
55
+ * Secondary — uses the secondary/foreground color.
56
+ * For subtle loading indicators.
57
+ */
58
+ secondary: "text-foreground",
59
+ /**
60
+ * Muted — uses the muted-foreground color.
61
+ * For very subtle, non-intrusive loading states.
62
+ */
63
+ muted: "text-muted-foreground"
64
+ }
65
+ },
66
+ defaultVariants: {
67
+ size: "md",
68
+ variant: "default"
69
+ }
70
+ }
71
+ );
72
+ const labelSizeMap = {
73
+ xs: "text-xs",
74
+ sm: "text-xs",
75
+ md: "text-sm",
76
+ lg: "text-sm"
77
+ };
78
+ const spinTransition = {
79
+ rotate: {
80
+ duration: 0.8,
81
+ ease: "linear",
82
+ repeat: Number.POSITIVE_INFINITY
83
+ }
84
+ };
85
+ const spinAnimate = {
86
+ rotate: 360
87
+ };
88
+ const Spinner = forwardRef(
89
+ function Spinner2({
90
+ size = "md",
91
+ variant = "default",
92
+ label,
93
+ labelPosition = "right",
94
+ "aria-label": ariaLabel,
95
+ strokeWidth = 2.5,
96
+ className,
97
+ ...rest
98
+ }, ref) {
99
+ const prefersReduced = useReducedMotion();
100
+ const resolvedAriaLabel = ariaLabel ?? (typeof label === "string" ? label : "Loading");
101
+ const MotionSvg = motion.svg;
102
+ const spinnerElement = prefersReduced ? (
103
+ // Reduced motion fallback — uses CSS animate-spin (a simple
104
+ // rotation that the browser can optimize or skip per OS settings)
105
+ /* @__PURE__ */ jsxs(
106
+ "svg",
107
+ {
108
+ className: cn("animate-spin", spinnerVariants({ size, variant })),
109
+ xmlns: "http://www.w3.org/2000/svg",
110
+ fill: "none",
111
+ viewBox: "0 0 24 24",
112
+ "aria-hidden": "true",
113
+ children: [
114
+ /* @__PURE__ */ jsx(
115
+ "circle",
116
+ {
117
+ cx: "12",
118
+ cy: "12",
119
+ r: "10",
120
+ stroke: "currentColor",
121
+ strokeWidth,
122
+ className: "opacity-20"
123
+ }
124
+ ),
125
+ /* @__PURE__ */ jsx(
126
+ "path",
127
+ {
128
+ d: "M12 2a10 10 0 0 1 10 10",
129
+ stroke: "currentColor",
130
+ strokeWidth,
131
+ strokeLinecap: "round"
132
+ }
133
+ )
134
+ ]
135
+ }
136
+ )
137
+ ) : (
138
+ // Full Framer Motion animation
139
+ /* @__PURE__ */ jsxs(
140
+ MotionSvg,
141
+ {
142
+ className: cn(spinnerVariants({ size, variant })),
143
+ xmlns: "http://www.w3.org/2000/svg",
144
+ fill: "none",
145
+ viewBox: "0 0 24 24",
146
+ animate: spinAnimate,
147
+ transition: spinTransition,
148
+ "aria-hidden": "true",
149
+ children: [
150
+ /* @__PURE__ */ jsx(
151
+ "circle",
152
+ {
153
+ cx: "12",
154
+ cy: "12",
155
+ r: "10",
156
+ stroke: "currentColor",
157
+ strokeWidth,
158
+ className: "opacity-20"
159
+ }
160
+ ),
161
+ /* @__PURE__ */ jsx(
162
+ "path",
163
+ {
164
+ d: "M12 2a10 10 0 0 1 10 10",
165
+ stroke: "currentColor",
166
+ strokeWidth,
167
+ strokeLinecap: "round"
168
+ }
169
+ )
170
+ ]
171
+ }
172
+ )
173
+ );
174
+ return /* @__PURE__ */ jsxs(
175
+ "div",
176
+ {
177
+ ref,
178
+ role: "status",
179
+ "aria-label": resolvedAriaLabel,
180
+ className: cn(
181
+ "inline-flex items-center",
182
+ labelPosition === "bottom" ? "flex-col gap-2" : "flex-row gap-2",
183
+ className
184
+ ),
185
+ "data-ds": "",
186
+ "data-ds-component": "spinner",
187
+ "data-ds-size": size,
188
+ "data-ds-variant": variant,
189
+ ...rest,
190
+ children: [
191
+ spinnerElement,
192
+ label && /* @__PURE__ */ jsx(
193
+ "span",
194
+ {
195
+ className: cn(
196
+ "leading-5",
197
+ labelSizeMap[size],
198
+ variant === "muted" ? "text-muted-foreground" : "text-foreground"
199
+ ),
200
+ children: label
201
+ }
202
+ ),
203
+ !label && /* @__PURE__ */ jsx("span", { className: "sr-only", children: resolvedAriaLabel })
204
+ ]
205
+ }
206
+ );
207
+ }
208
+ );
209
+ Spinner.displayName = "Spinner";
210
+ export {
211
+ Spinner,
212
+ spinnerVariants
213
+ };