@uselets/ui 1.16.0 → 1.17.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 (845) hide show
  1. package/README.md +2 -1
  2. package/dist/accordion-BCo2odjy.js +2 -0
  3. package/dist/accordion-BCo2odjy.js.map +1 -0
  4. package/dist/accordion-DtSr3uiA.d.ts +15 -0
  5. package/dist/alert-CJRgRQVF.js +2 -0
  6. package/dist/alert-CJRgRQVF.js.map +1 -0
  7. package/dist/alert-dialog-B_nAiD4Y.js +2 -0
  8. package/dist/alert-dialog-B_nAiD4Y.js.map +1 -0
  9. package/dist/alert-dialog-Bf41-OnT.d.ts +34 -0
  10. package/dist/alert-eivgSC_S.d.ts +18 -0
  11. package/dist/anchor-DCOyn0Xa.d.ts +15 -0
  12. package/dist/anchor-srhmShjN.js +2 -0
  13. package/dist/anchor-srhmShjN.js.map +1 -0
  14. package/dist/area-chart-DdDy8Vm3.js +2 -0
  15. package/dist/area-chart-DdDy8Vm3.js.map +1 -0
  16. package/dist/area-chart-F_4ZL20j.d.ts +40 -0
  17. package/dist/avatar-2ZS3Tx76.d.ts +21 -0
  18. package/dist/avatar-CFUwrOwG.js +2 -0
  19. package/dist/avatar-CFUwrOwG.js.map +1 -0
  20. package/dist/badge-BqpQcDFd.d.ts +16 -0
  21. package/dist/badge-Cuq_DqRS.js +2 -0
  22. package/dist/badge-Cuq_DqRS.js.map +1 -0
  23. package/dist/badge-DEgLmZYC.js +2 -0
  24. package/dist/badge-DEgLmZYC.js.map +1 -0
  25. package/dist/badge-gkezuSZY.d.ts +19 -0
  26. package/dist/bar-chart-DIgSnh_j.js +2 -0
  27. package/dist/bar-chart-DIgSnh_j.js.map +1 -0
  28. package/dist/bar-chart-DRrrfMQR.d.ts +42 -0
  29. package/dist/breadcrumb-CqNDAI8V.js +2 -0
  30. package/dist/breadcrumb-CqNDAI8V.js.map +1 -0
  31. package/dist/breadcrumb-DZFS9htN.d.ts +22 -0
  32. package/dist/button-BNGy28pv.d.ts +17 -0
  33. package/dist/button-CQbH5Glc.d.ts +19 -0
  34. package/dist/button-DGewx2nE.js +2 -0
  35. package/dist/button-DGewx2nE.js.map +1 -0
  36. package/dist/button-group-DRgqsyjS.d.ts +18 -0
  37. package/dist/button-group-WJ5LeouK.js +2 -0
  38. package/dist/button-group-WJ5LeouK.js.map +1 -0
  39. package/dist/button-oI3hbOgp.js +2 -0
  40. package/dist/button-oI3hbOgp.js.map +1 -0
  41. package/dist/calendar-C1GgjzIA.d.ts +17 -0
  42. package/dist/calendar-CW1kGXom.js +2 -0
  43. package/dist/calendar-CW1kGXom.js.map +1 -0
  44. package/dist/card-Bx6iiocl.js +2 -0
  45. package/dist/card-Bx6iiocl.js.map +1 -0
  46. package/dist/card-pWjtkTKw.d.ts +22 -0
  47. package/dist/carousel-C6e4eRJD.d.ts +43 -0
  48. package/dist/carousel-D0OTImO7.js +2 -0
  49. package/dist/carousel-D0OTImO7.js.map +1 -0
  50. package/dist/center-CFQDr205.d.ts +13 -0
  51. package/dist/center-Dl1rnq7S.js +2 -0
  52. package/dist/center-Dl1rnq7S.js.map +1 -0
  53. package/dist/chart-Ci4V8B8v.js +8 -0
  54. package/dist/chart-Ci4V8B8v.js.map +1 -0
  55. package/dist/checkbox-DPvW_m7k.js +2 -0
  56. package/dist/checkbox-DPvW_m7k.js.map +1 -0
  57. package/dist/checkbox-y0XBdH4a.d.ts +21 -0
  58. package/dist/code-A6JERAsm.js +2 -0
  59. package/dist/code-A6JERAsm.js.map +1 -0
  60. package/dist/code-Cqoacc61.d.ts +8 -0
  61. package/dist/collapsible-BH8BqfTd.js +2 -0
  62. package/dist/collapsible-BH8BqfTd.js.map +1 -0
  63. package/dist/collapsible-CLSCZ630.d.ts +12 -0
  64. package/dist/color-DJvQFSl5.d.ts +19 -0
  65. package/dist/color-Don4qaht.js +2 -0
  66. package/dist/color-Don4qaht.js.map +1 -0
  67. package/dist/combobox-DkCRXUxd.d.ts +51 -0
  68. package/dist/combobox-fNAIovsN.js +2 -0
  69. package/dist/combobox-fNAIovsN.js.map +1 -0
  70. package/dist/command-0wTb46Ym.js +2 -0
  71. package/dist/command-0wTb46Ym.js.map +1 -0
  72. package/dist/command-D4pNOx0J.d.ts +31 -0
  73. package/dist/components/accordion.d.ts +2 -15
  74. package/dist/components/accordion.js +1 -2
  75. package/dist/components/accordion.spec.d.ts +1 -0
  76. package/dist/components/accordion.spec.js +2 -0
  77. package/dist/components/accordion.spec.js.map +1 -0
  78. package/dist/components/alert-dialog.d.ts +2 -34
  79. package/dist/components/alert-dialog.js +1 -2
  80. package/dist/components/alert-dialog.spec.d.ts +1 -0
  81. package/dist/components/alert-dialog.spec.js +2 -0
  82. package/dist/components/alert-dialog.spec.js.map +1 -0
  83. package/dist/components/alert.d.ts +2 -18
  84. package/dist/components/alert.js +1 -2
  85. package/dist/components/alert.spec.d.ts +1 -0
  86. package/dist/components/alert.spec.js +2 -0
  87. package/dist/components/alert.spec.js.map +1 -0
  88. package/dist/components/anchor.d.ts +2 -15
  89. package/dist/components/anchor.js +1 -2
  90. package/dist/components/anchor.spec.d.ts +1 -0
  91. package/dist/components/anchor.spec.js +2 -0
  92. package/dist/components/anchor.spec.js.map +1 -0
  93. package/dist/components/area-chart.d.ts +2 -40
  94. package/dist/components/area-chart.js +1 -2
  95. package/dist/components/area-chart.spec.d.ts +1 -0
  96. package/dist/components/area-chart.spec.js +2 -0
  97. package/dist/components/area-chart.spec.js.map +1 -0
  98. package/dist/components/avatar.d.ts +2 -21
  99. package/dist/components/avatar.js +1 -2
  100. package/dist/components/avatar.spec.d.ts +1 -0
  101. package/dist/components/avatar.spec.js +2 -0
  102. package/dist/components/avatar.spec.js.map +1 -0
  103. package/dist/components/badge.d.ts +2 -16
  104. package/dist/components/badge.js +1 -2
  105. package/dist/components/badge.spec.d.ts +1 -0
  106. package/dist/components/badge.spec.js +2 -0
  107. package/dist/components/badge.spec.js.map +1 -0
  108. package/dist/components/bar-chart.d.ts +2 -42
  109. package/dist/components/bar-chart.js +1 -2
  110. package/dist/components/bar-chart.spec.d.ts +1 -0
  111. package/dist/components/bar-chart.spec.js +2 -0
  112. package/dist/components/bar-chart.spec.js.map +1 -0
  113. package/dist/components/breadcrumb.d.ts +2 -22
  114. package/dist/components/breadcrumb.js +1 -2
  115. package/dist/components/breadcrumb.spec.d.ts +1 -0
  116. package/dist/components/breadcrumb.spec.js +2 -0
  117. package/dist/components/breadcrumb.spec.js.map +1 -0
  118. package/dist/components/button-group.d.ts +2 -18
  119. package/dist/components/button-group.js +1 -2
  120. package/dist/components/button-group.spec.d.ts +1 -0
  121. package/dist/components/button-group.spec.js +2 -0
  122. package/dist/components/button-group.spec.js.map +1 -0
  123. package/dist/components/button.d.ts +2 -17
  124. package/dist/components/button.js +1 -2
  125. package/dist/components/button.spec.d.ts +1 -0
  126. package/dist/components/button.spec.js +2 -0
  127. package/dist/components/button.spec.js.map +1 -0
  128. package/dist/components/calendar.d.ts +2 -17
  129. package/dist/components/calendar.js +1 -2
  130. package/dist/components/calendar.spec.d.ts +1 -0
  131. package/dist/components/calendar.spec.js +2 -0
  132. package/dist/components/calendar.spec.js.map +1 -0
  133. package/dist/components/card.d.ts +2 -22
  134. package/dist/components/card.js +1 -2
  135. package/dist/components/card.spec.d.ts +1 -0
  136. package/dist/components/card.spec.js +2 -0
  137. package/dist/components/card.spec.js.map +1 -0
  138. package/dist/components/carousel.d.ts +2 -43
  139. package/dist/components/carousel.js +1 -2
  140. package/dist/components/carousel.spec.js +1 -93
  141. package/dist/components/carousel.spec.js.map +1 -1
  142. package/dist/components/center.d.ts +2 -13
  143. package/dist/components/center.js +1 -2
  144. package/dist/components/center.spec.d.ts +1 -0
  145. package/dist/components/center.spec.js +2 -0
  146. package/dist/components/center.spec.js.map +1 -0
  147. package/dist/components/chart.js +1 -8
  148. package/dist/components/chart.spec.d.ts +1 -0
  149. package/dist/components/chart.spec.js +2 -0
  150. package/dist/components/chart.spec.js.map +1 -0
  151. package/dist/components/checkbox.d.ts +2 -21
  152. package/dist/components/checkbox.js +1 -2
  153. package/dist/components/checkbox.spec.d.ts +1 -0
  154. package/dist/components/checkbox.spec.js +2 -0
  155. package/dist/components/checkbox.spec.js.map +1 -0
  156. package/dist/components/code.d.ts +2 -8
  157. package/dist/components/code.js +1 -2
  158. package/dist/components/code.spec.d.ts +1 -0
  159. package/dist/components/code.spec.js +2 -0
  160. package/dist/components/code.spec.js.map +1 -0
  161. package/dist/components/collapsible.d.ts +2 -12
  162. package/dist/components/collapsible.js +1 -2
  163. package/dist/components/collapsible.spec.d.ts +1 -0
  164. package/dist/components/collapsible.spec.js +2 -0
  165. package/dist/components/collapsible.spec.js.map +1 -0
  166. package/dist/components/combobox.d.ts +2 -51
  167. package/dist/components/combobox.js +1 -2
  168. package/dist/components/combobox.spec.d.ts +1 -0
  169. package/dist/components/combobox.spec.js +2 -0
  170. package/dist/components/combobox.spec.js.map +1 -0
  171. package/dist/components/command.d.ts +2 -31
  172. package/dist/components/command.js +1 -2
  173. package/dist/components/command.spec.d.ts +1 -0
  174. package/dist/components/command.spec.js +2 -0
  175. package/dist/components/command.spec.js.map +1 -0
  176. package/dist/components/container.d.ts +2 -12
  177. package/dist/components/container.js +1 -2
  178. package/dist/components/container.spec.d.ts +1 -0
  179. package/dist/components/container.spec.js +2 -0
  180. package/dist/components/container.spec.js.map +1 -0
  181. package/dist/components/data-table.d.ts +2 -111
  182. package/dist/components/data-table.js +1 -2
  183. package/dist/components/data-table.spec.d.ts +1 -0
  184. package/dist/components/data-table.spec.js +2 -0
  185. package/dist/components/data-table.spec.js.map +1 -0
  186. package/dist/components/date-range-picker.d.ts +3 -55
  187. package/dist/components/date-range-picker.js +1 -2
  188. package/dist/components/date-range-picker.spec.d.ts +1 -0
  189. package/dist/components/date-range-picker.spec.js +2 -0
  190. package/dist/components/date-range-picker.spec.js.map +1 -0
  191. package/dist/components/dialog.d.ts +2 -42
  192. package/dist/components/dialog.js +1 -2
  193. package/dist/components/dialog.spec.d.ts +1 -0
  194. package/dist/components/dialog.spec.js +2 -0
  195. package/dist/components/dialog.spec.js.map +1 -0
  196. package/dist/components/donut-chart.d.ts +2 -13
  197. package/dist/components/donut-chart.js +1 -2
  198. package/dist/components/donut-chart.spec.d.ts +1 -0
  199. package/dist/components/donut-chart.spec.js +2 -0
  200. package/dist/components/donut-chart.spec.js.map +1 -0
  201. package/dist/components/drawer.d.ts +2 -43
  202. package/dist/components/drawer.js +1 -2
  203. package/dist/components/drawer.spec.d.ts +1 -0
  204. package/dist/components/drawer.spec.js +2 -0
  205. package/dist/components/drawer.spec.js.map +1 -0
  206. package/dist/components/dropdown-menu.d.ts +2 -48
  207. package/dist/components/dropdown-menu.js +1 -2
  208. package/dist/components/dropdown-menu.spec.d.ts +1 -0
  209. package/dist/components/dropdown-menu.spec.js +2 -0
  210. package/dist/components/dropdown-menu.spec.js.map +1 -0
  211. package/dist/components/dropzone.d.ts +2 -102
  212. package/dist/components/dropzone.js +1 -2
  213. package/dist/components/dropzone.spec.d.ts +1 -0
  214. package/dist/components/dropzone.spec.js +2 -0
  215. package/dist/components/dropzone.spec.js.map +1 -0
  216. package/dist/components/empty.d.ts +2 -21
  217. package/dist/components/empty.js +1 -2
  218. package/dist/components/empty.spec.d.ts +1 -0
  219. package/dist/components/empty.spec.js +2 -0
  220. package/dist/components/empty.spec.js.map +1 -0
  221. package/dist/components/field.d.ts +2 -39
  222. package/dist/components/field.js +1 -2
  223. package/dist/components/field.spec.js +1 -1
  224. package/dist/components/field.spec.js.map +1 -1
  225. package/dist/components/flex.d.ts +2 -16
  226. package/dist/components/flex.js +1 -2
  227. package/dist/components/flex.spec.d.ts +1 -0
  228. package/dist/components/flex.spec.js +2 -0
  229. package/dist/components/flex.spec.js.map +1 -0
  230. package/dist/components/grid.d.ts +2 -20
  231. package/dist/components/grid.js +1 -2
  232. package/dist/components/grid.spec.d.ts +1 -0
  233. package/dist/components/grid.spec.js +2 -0
  234. package/dist/components/grid.spec.js.map +1 -0
  235. package/dist/components/group.d.ts +2 -15
  236. package/dist/components/group.js +1 -2
  237. package/dist/components/group.spec.d.ts +1 -0
  238. package/dist/components/group.spec.js +2 -0
  239. package/dist/components/group.spec.js.map +1 -0
  240. package/dist/components/heading.d.ts +2 -14
  241. package/dist/components/heading.js +1 -2
  242. package/dist/components/heading.spec.d.ts +1 -0
  243. package/dist/components/heading.spec.js +2 -0
  244. package/dist/components/heading.spec.js.map +1 -0
  245. package/dist/components/hover-card.d.ts +2 -13
  246. package/dist/components/hover-card.js +1 -2
  247. package/dist/components/hover-card.spec.d.ts +1 -0
  248. package/dist/components/hover-card.spec.js +2 -0
  249. package/dist/components/hover-card.spec.js.map +1 -0
  250. package/dist/components/input-group.d.ts +2 -26
  251. package/dist/components/input-group.js +1 -2
  252. package/dist/components/input-group.spec.d.ts +1 -0
  253. package/dist/components/input-group.spec.js +2 -0
  254. package/dist/components/input-group.spec.js.map +1 -0
  255. package/dist/components/input-otp.d.ts +2 -19
  256. package/dist/components/input-otp.js +1 -2
  257. package/dist/components/input-otp.spec.d.ts +1 -0
  258. package/dist/components/input-otp.spec.js +2 -0
  259. package/dist/components/input-otp.spec.js.map +1 -0
  260. package/dist/components/input.d.ts +2 -8
  261. package/dist/components/input.js +1 -2
  262. package/dist/components/input.spec.d.ts +1 -0
  263. package/dist/components/input.spec.js +2 -0
  264. package/dist/components/input.spec.js.map +1 -0
  265. package/dist/components/kbd.d.ts +2 -10
  266. package/dist/components/kbd.js +1 -2
  267. package/dist/components/kbd.spec.d.ts +1 -0
  268. package/dist/components/kbd.spec.js +2 -0
  269. package/dist/components/kbd.spec.js.map +1 -0
  270. package/dist/components/label.d.ts +2 -9
  271. package/dist/components/label.js +1 -2
  272. package/dist/components/label.spec.d.ts +1 -0
  273. package/dist/components/label.spec.js +2 -0
  274. package/dist/components/label.spec.js.map +1 -0
  275. package/dist/components/list.d.ts +2 -25
  276. package/dist/components/list.js +1 -2
  277. package/dist/components/list.spec.d.ts +1 -0
  278. package/dist/components/list.spec.js +2 -0
  279. package/dist/components/list.spec.js.map +1 -0
  280. package/dist/components/logo.d.ts +2 -0
  281. package/dist/components/logo.js +1 -0
  282. package/dist/components/logo.spec.d.ts +1 -0
  283. package/dist/components/logo.spec.js +2 -0
  284. package/dist/components/logo.spec.js.map +1 -0
  285. package/dist/components/marker.d.ts +2 -18
  286. package/dist/components/marker.js +1 -2
  287. package/dist/components/marker.spec.d.ts +1 -0
  288. package/dist/components/marker.spec.js +2 -0
  289. package/dist/components/marker.spec.js.map +1 -0
  290. package/dist/components/mask-input.d.ts +2 -16
  291. package/dist/components/mask-input.js +1 -2
  292. package/dist/components/mask-input.spec.d.ts +1 -0
  293. package/dist/components/mask-input.spec.js +2 -0
  294. package/dist/components/mask-input.spec.js.map +1 -0
  295. package/dist/components/native-select.d.ts +2 -14
  296. package/dist/components/native-select.js +1 -2
  297. package/dist/components/native-select.spec.d.ts +1 -0
  298. package/dist/components/native-select.spec.js +2 -0
  299. package/dist/components/native-select.spec.js.map +1 -0
  300. package/dist/components/navigation-menu.d.ts +2 -26
  301. package/dist/components/navigation-menu.js +1 -2
  302. package/dist/components/navigation-menu.spec.d.ts +1 -0
  303. package/dist/components/navigation-menu.spec.js +2 -0
  304. package/dist/components/navigation-menu.spec.js.map +1 -0
  305. package/dist/components/number-field.d.ts +2 -35
  306. package/dist/components/number-field.js +1 -2
  307. package/dist/components/number-field.spec.d.ts +1 -0
  308. package/dist/components/number-field.spec.js +2 -0
  309. package/dist/components/number-field.spec.js.map +1 -0
  310. package/dist/components/pagination.d.ts +2 -27
  311. package/dist/components/pagination.js +1 -2
  312. package/dist/components/pagination.spec.d.ts +1 -0
  313. package/dist/components/pagination.spec.js +2 -0
  314. package/dist/components/pagination.spec.js.map +1 -0
  315. package/dist/components/phone-input.d.ts +2 -13
  316. package/dist/components/phone-input.js +1 -2
  317. package/dist/components/phone-input.spec.d.ts +1 -0
  318. package/dist/components/phone-input.spec.js +2 -0
  319. package/dist/components/phone-input.spec.js.map +1 -0
  320. package/dist/components/pie-chart.d.ts +2 -42
  321. package/dist/components/pie-chart.js +1 -2
  322. package/dist/components/pie-chart.spec.d.ts +1 -0
  323. package/dist/components/pie-chart.spec.js +2 -0
  324. package/dist/components/pie-chart.spec.js.map +1 -0
  325. package/dist/components/popover.d.ts +2 -21
  326. package/dist/components/popover.js +1 -2
  327. package/dist/components/popover.spec.d.ts +1 -0
  328. package/dist/components/popover.spec.js +2 -0
  329. package/dist/components/popover.spec.js.map +1 -0
  330. package/dist/components/progress.d.ts +2 -14
  331. package/dist/components/progress.js +1 -2
  332. package/dist/components/progress.spec.d.ts +1 -0
  333. package/dist/components/progress.spec.js +2 -0
  334. package/dist/components/progress.spec.js.map +1 -0
  335. package/dist/components/radio-group.d.ts +2 -25
  336. package/dist/components/radio-group.js +1 -2
  337. package/dist/components/radio-group.spec.d.ts +1 -0
  338. package/dist/components/radio-group.spec.js +2 -0
  339. package/dist/components/radio-group.spec.js.map +1 -0
  340. package/dist/components/resizable.d.ts +2 -14
  341. package/dist/components/resizable.js +1 -2
  342. package/dist/components/resizable.spec.d.ts +1 -0
  343. package/dist/components/resizable.spec.js +2 -0
  344. package/dist/components/resizable.spec.js.map +1 -0
  345. package/dist/components/ring-progress.d.ts +2 -17
  346. package/dist/components/ring-progress.js +1 -2
  347. package/dist/components/ring-progress.spec.d.ts +1 -0
  348. package/dist/components/ring-progress.spec.js +2 -0
  349. package/dist/components/ring-progress.spec.js.map +1 -0
  350. package/dist/components/scroll-area.d.ts +2 -11
  351. package/dist/components/scroll-area.js +1 -2
  352. package/dist/components/scroll-area.spec.d.ts +1 -0
  353. package/dist/components/scroll-area.spec.js +2 -0
  354. package/dist/components/scroll-area.spec.js.map +1 -0
  355. package/dist/components/select.d.ts +2 -29
  356. package/dist/components/select.js +1 -2
  357. package/dist/components/select.spec.d.ts +1 -0
  358. package/dist/components/select.spec.js +2 -0
  359. package/dist/components/select.spec.js.map +1 -0
  360. package/dist/components/separator.d.ts +2 -9
  361. package/dist/components/separator.js +1 -2
  362. package/dist/components/separator.spec.d.ts +1 -0
  363. package/dist/components/separator.spec.js +2 -0
  364. package/dist/components/separator.spec.js.map +1 -0
  365. package/dist/components/sidebar.d.ts +2 -96
  366. package/dist/components/sidebar.js +1 -2
  367. package/dist/components/sidebar.spec.d.ts +1 -0
  368. package/dist/components/sidebar.spec.js +2 -0
  369. package/dist/components/sidebar.spec.js.map +1 -0
  370. package/dist/components/simple-grid.d.ts +2 -14
  371. package/dist/components/simple-grid.js +1 -2
  372. package/dist/components/simple-grid.spec.d.ts +1 -0
  373. package/dist/components/simple-grid.spec.js +2 -0
  374. package/dist/components/simple-grid.spec.js.map +1 -0
  375. package/dist/components/skeleton.d.ts +2 -10
  376. package/dist/components/skeleton.js +1 -2
  377. package/dist/components/skeleton.spec.js +1 -1
  378. package/dist/components/skeleton.spec.js.map +1 -1
  379. package/dist/components/slider.d.ts +2 -9
  380. package/dist/components/slider.js +1 -2
  381. package/dist/components/slider.spec.d.ts +1 -0
  382. package/dist/components/slider.spec.js +2 -0
  383. package/dist/components/slider.spec.js.map +1 -0
  384. package/dist/components/sonner.d.ts +2 -8
  385. package/dist/components/sonner.js +1 -2
  386. package/dist/components/sonner.spec.d.ts +1 -0
  387. package/dist/components/sonner.spec.js +2 -0
  388. package/dist/components/sonner.spec.js.map +1 -0
  389. package/dist/components/spinner.d.ts +2 -12
  390. package/dist/components/spinner.js +1 -2
  391. package/dist/components/spinner.spec.d.ts +1 -0
  392. package/dist/components/spinner.spec.js +2 -0
  393. package/dist/components/spinner.spec.js.map +1 -0
  394. package/dist/components/stack.d.ts +2 -14
  395. package/dist/components/stack.js +1 -2
  396. package/dist/components/stack.spec.d.ts +1 -0
  397. package/dist/components/stack.spec.js +2 -0
  398. package/dist/components/stack.spec.js.map +1 -0
  399. package/dist/components/stepper.d.ts +2 -71
  400. package/dist/components/stepper.js +1 -2
  401. package/dist/components/stepper.spec.d.ts +1 -0
  402. package/dist/components/stepper.spec.js +2 -0
  403. package/dist/components/stepper.spec.js.map +1 -0
  404. package/dist/components/switch.d.ts +2 -17
  405. package/dist/components/switch.js +1 -2
  406. package/dist/components/switch.spec.d.ts +1 -0
  407. package/dist/components/switch.spec.js +2 -0
  408. package/dist/components/switch.spec.js.map +1 -0
  409. package/dist/components/table.d.ts +2 -33
  410. package/dist/components/table.js +1 -2
  411. package/dist/components/table.spec.d.ts +1 -0
  412. package/dist/components/table.spec.js +2 -0
  413. package/dist/components/table.spec.js.map +1 -0
  414. package/dist/components/tabs.d.ts +2 -21
  415. package/dist/components/tabs.js +1 -2
  416. package/dist/components/tabs.spec.d.ts +1 -0
  417. package/dist/components/tabs.spec.js +2 -0
  418. package/dist/components/tabs.spec.js.map +1 -0
  419. package/dist/components/text.d.ts +2 -14
  420. package/dist/components/text.js +1 -2
  421. package/dist/components/text.spec.d.ts +1 -0
  422. package/dist/components/text.spec.js +2 -0
  423. package/dist/components/text.spec.js.map +1 -0
  424. package/dist/components/textarea.d.ts +2 -8
  425. package/dist/components/textarea.js +1 -2
  426. package/dist/components/textarea.spec.d.ts +1 -0
  427. package/dist/components/textarea.spec.js +2 -0
  428. package/dist/components/textarea.spec.js.map +1 -0
  429. package/dist/components/theme.d.ts +2 -22
  430. package/dist/components/theme.js +1 -2
  431. package/dist/components/theme.spec.d.ts +1 -0
  432. package/dist/components/theme.spec.js +2 -0
  433. package/dist/components/theme.spec.js.map +1 -0
  434. package/dist/components/timeline.d.ts +2 -61
  435. package/dist/components/timeline.js +1 -2
  436. package/dist/components/timeline.spec.d.ts +1 -0
  437. package/dist/components/timeline.spec.js +2 -0
  438. package/dist/components/timeline.spec.js.map +1 -0
  439. package/dist/components/toggle-group.d.ts +2 -16
  440. package/dist/components/toggle-group.js +1 -2
  441. package/dist/components/toggle-group.spec.d.ts +1 -0
  442. package/dist/components/toggle-group.spec.js +2 -0
  443. package/dist/components/toggle-group.spec.js.map +1 -0
  444. package/dist/components/toggle.d.ts +2 -15
  445. package/dist/components/toggle.js +1 -2
  446. package/dist/components/toggle.spec.d.ts +1 -0
  447. package/dist/components/toggle.spec.js +2 -0
  448. package/dist/components/toggle.spec.js.map +1 -0
  449. package/dist/components/tooltip.d.ts +2 -21
  450. package/dist/components/tooltip.js +1 -2
  451. package/dist/components/tooltip.spec.d.ts +1 -0
  452. package/dist/components/tooltip.spec.js +2 -0
  453. package/dist/components/tooltip.spec.js.map +1 -0
  454. package/dist/components/unstyled-button.d.ts +2 -10
  455. package/dist/components/unstyled-button.js +1 -2
  456. package/dist/components/unstyled-button.spec.d.ts +1 -0
  457. package/dist/components/unstyled-button.spec.js +2 -0
  458. package/dist/components/unstyled-button.spec.js.map +1 -0
  459. package/dist/components/visibility.d.ts +2 -17
  460. package/dist/components/visibility.js +1 -2
  461. package/dist/components/visibility.spec.d.ts +1 -0
  462. package/dist/components/visibility.spec.js +2 -0
  463. package/dist/components/visibility.spec.js.map +1 -0
  464. package/dist/compose-refs-DUtp7lGn.js +2 -0
  465. package/dist/compose-refs-DUtp7lGn.js.map +1 -0
  466. package/dist/compose-refs-GP3zdokU.d.ts +8 -0
  467. package/dist/container-B8-lt-oX.d.ts +12 -0
  468. package/dist/container-CikeKdez.js +2 -0
  469. package/dist/container-CikeKdez.js.map +1 -0
  470. package/dist/data-table-BT75MSO9.d.ts +111 -0
  471. package/dist/data-table-DcyKClKz.js +2 -0
  472. package/dist/data-table-DcyKClKz.js.map +1 -0
  473. package/dist/date-range-picker-BngvCWcR.d.ts +55 -0
  474. package/dist/date-range-picker-CJVpTZdT.js +2 -0
  475. package/dist/date-range-picker-CJVpTZdT.js.map +1 -0
  476. package/dist/dialog-B7I4Ky1i.js +2 -0
  477. package/dist/dialog-B7I4Ky1i.js.map +1 -0
  478. package/dist/dialog-Ej7pnact.d.ts +42 -0
  479. package/dist/donut-chart-BDJR8TXh.d.ts +13 -0
  480. package/dist/donut-chart-BHU4kDE6.js +2 -0
  481. package/dist/donut-chart-BHU4kDE6.js.map +1 -0
  482. package/dist/drawer-BO4mP6y1.js +2 -0
  483. package/dist/drawer-BO4mP6y1.js.map +1 -0
  484. package/dist/drawer-DUfJzrKE.d.ts +43 -0
  485. package/dist/dropdown-menu-CVDIf0Rd.d.ts +48 -0
  486. package/dist/dropdown-menu-zRuQQS5S.js +2 -0
  487. package/dist/dropdown-menu-zRuQQS5S.js.map +1 -0
  488. package/dist/dropzone-43h3L9Ko.d.ts +102 -0
  489. package/dist/dropzone-BLZkZThJ.js +2 -0
  490. package/dist/dropzone-BLZkZThJ.js.map +1 -0
  491. package/dist/empty-BhKsDYZ5.js +2 -0
  492. package/dist/empty-BhKsDYZ5.js.map +1 -0
  493. package/dist/empty-D8ZiTCVK.d.ts +21 -0
  494. package/dist/field-C209yHO9.d.ts +39 -0
  495. package/dist/field-DzR-XrO7.js +2 -0
  496. package/dist/field-DzR-XrO7.js.map +1 -0
  497. package/dist/flex-BC4Diiy4.js +2 -0
  498. package/dist/flex-BC4Diiy4.js.map +1 -0
  499. package/dist/flex-aJXipTAz.d.ts +16 -0
  500. package/dist/grid-B3He1bGe.js +2 -0
  501. package/dist/grid-B3He1bGe.js.map +1 -0
  502. package/dist/grid-D_aEANA7.d.ts +20 -0
  503. package/dist/group-B6n_lMc4.js +2 -0
  504. package/dist/group-B6n_lMc4.js.map +1 -0
  505. package/dist/group-DBtx8eSe.d.ts +15 -0
  506. package/dist/heading-BTXl4JfI.d.ts +14 -0
  507. package/dist/heading-DaxKLVRm.js +2 -0
  508. package/dist/heading-DaxKLVRm.js.map +1 -0
  509. package/dist/hooks/use-breakpoint-value.d.ts +2 -8
  510. package/dist/hooks/use-breakpoint-value.js +1 -2
  511. package/dist/hooks/use-breakpoint-value.spec.js +34 -1
  512. package/dist/hooks/use-breakpoint-value.spec.js.map +1 -1
  513. package/dist/hooks/use-breakpoint.d.ts +2 -8
  514. package/dist/hooks/use-breakpoint.js +1 -2
  515. package/dist/hooks/use-breakpoint.spec.js +1 -1
  516. package/dist/hooks/use-breakpoint.spec.js.map +1 -1
  517. package/dist/hooks/use-disclosure.d.ts +2 -22
  518. package/dist/hooks/use-disclosure.js +1 -2
  519. package/dist/hooks/use-disclosure.spec.js +1 -1
  520. package/dist/hooks/use-disclosure.spec.js.map +1 -1
  521. package/dist/hooks/use-document-visibility.d.ts +2 -6
  522. package/dist/hooks/use-document-visibility.js +1 -2
  523. package/dist/hooks/use-document-visibility.spec.js +1 -1
  524. package/dist/hooks/use-document-visibility.spec.js.map +1 -1
  525. package/dist/hooks/use-hotkeys.spec.js +1 -1
  526. package/dist/hooks/use-idle.d.ts +2 -13
  527. package/dist/hooks/use-idle.js +1 -2
  528. package/dist/hooks/use-idle.spec.js +1 -1
  529. package/dist/hooks/use-idle.spec.js.map +1 -1
  530. package/dist/hooks/use-interval.d.ts +2 -24
  531. package/dist/hooks/use-interval.js +1 -2
  532. package/dist/hooks/use-interval.spec.js +1 -1
  533. package/dist/hooks/use-local-storage.d.ts +2 -16
  534. package/dist/hooks/use-local-storage.js +1 -2
  535. package/dist/hooks/use-local-storage.spec.js +1 -1
  536. package/dist/hooks/use-local-storage.spec.js.map +1 -1
  537. package/dist/hooks/use-mask.d.ts +2 -8
  538. package/dist/hooks/use-mask.js +1 -2
  539. package/dist/hooks/use-mask.spec.d.ts +1 -0
  540. package/dist/hooks/use-mask.spec.js +2 -0
  541. package/dist/hooks/use-mask.spec.js.map +1 -0
  542. package/dist/hooks/use-mobile.d.ts +2 -6
  543. package/dist/hooks/use-mobile.js +1 -2
  544. package/dist/hooks/use-mobile.spec.js +1 -1
  545. package/dist/hover-card-C3yz2zQi.d.ts +13 -0
  546. package/dist/hover-card-Dc8yLsm-.js +2 -0
  547. package/dist/hover-card-Dc8yLsm-.js.map +1 -0
  548. package/dist/index.d.ts +94 -93
  549. package/dist/index.js +1 -1
  550. package/dist/input-CI3RPXz0.d.ts +8 -0
  551. package/dist/input-Cmjl8YdK.js +2 -0
  552. package/dist/input-Cmjl8YdK.js.map +1 -0
  553. package/dist/input-group-CBn36aMg.d.ts +26 -0
  554. package/dist/input-group-DsO2W3Lw.js +2 -0
  555. package/dist/input-group-DsO2W3Lw.js.map +1 -0
  556. package/dist/input-otp-CzfRHf2V.js +2 -0
  557. package/dist/input-otp-CzfRHf2V.js.map +1 -0
  558. package/dist/input-otp-gIEkdiIC.d.ts +19 -0
  559. package/dist/kbd-BTl3AgkY.js +2 -0
  560. package/dist/kbd-BTl3AgkY.js.map +1 -0
  561. package/dist/kbd-DELCQBD0.d.ts +10 -0
  562. package/dist/label-BQDEej_c.js +2 -0
  563. package/dist/label-BQDEej_c.js.map +1 -0
  564. package/dist/label-KZl6I5Ey.d.ts +9 -0
  565. package/dist/lib/badge.d.ts +2 -19
  566. package/dist/lib/badge.js +1 -2
  567. package/dist/lib/badge.spec.d.ts +1 -0
  568. package/dist/lib/badge.spec.js +2 -0
  569. package/dist/lib/badge.spec.js.map +1 -0
  570. package/dist/lib/button.d.ts +2 -19
  571. package/dist/lib/button.js +1 -2
  572. package/dist/lib/button.spec.d.ts +1 -0
  573. package/dist/lib/button.spec.js +2 -0
  574. package/dist/lib/button.spec.js.map +1 -0
  575. package/dist/lib/color.d.ts +2 -19
  576. package/dist/lib/color.js +1 -2
  577. package/dist/lib/color.spec.d.ts +1 -0
  578. package/dist/lib/color.spec.js +2 -0
  579. package/dist/lib/color.spec.js.map +1 -0
  580. package/dist/lib/compose-refs.d.ts +2 -8
  581. package/dist/lib/compose-refs.js +1 -2
  582. package/dist/lib/compose-refs.spec.d.ts +1 -0
  583. package/dist/lib/compose-refs.spec.js +2 -0
  584. package/dist/lib/compose-refs.spec.js.map +1 -0
  585. package/dist/lib/progress.d.ts +2 -19
  586. package/dist/lib/progress.js +1 -2
  587. package/dist/lib/progress.spec.d.ts +1 -0
  588. package/dist/lib/progress.spec.js +2 -0
  589. package/dist/lib/progress.spec.js.map +1 -0
  590. package/dist/lib/utils.d.ts +2 -8
  591. package/dist/lib/utils.js +1 -2
  592. package/dist/lib/utils.spec.d.ts +1 -0
  593. package/dist/lib/utils.spec.js +2 -0
  594. package/dist/lib/utils.spec.js.map +1 -0
  595. package/dist/list-BbCg-ndB.js +2 -0
  596. package/dist/list-BbCg-ndB.js.map +1 -0
  597. package/dist/list-DMa2j1rk.d.ts +25 -0
  598. package/dist/logo-B0v9bNJH.js +2 -0
  599. package/dist/logo-B0v9bNJH.js.map +1 -0
  600. package/dist/logo-Buo7sqqn.d.ts +69 -0
  601. package/dist/marker-4_EnMIHk.js +2 -0
  602. package/dist/marker-4_EnMIHk.js.map +1 -0
  603. package/dist/marker-C4wLa1c0.d.ts +18 -0
  604. package/dist/mask-input-B4R5K1h6.d.ts +16 -0
  605. package/dist/mask-input-ssK7U_Pl.js +2 -0
  606. package/dist/mask-input-ssK7U_Pl.js.map +1 -0
  607. package/dist/native-select-BVmdMkHY.d.ts +14 -0
  608. package/dist/native-select-DZW3Y7nq.js +2 -0
  609. package/dist/native-select-DZW3Y7nq.js.map +1 -0
  610. package/dist/navigation-menu-B6drNL1-.js +2 -0
  611. package/dist/navigation-menu-B6drNL1-.js.map +1 -0
  612. package/dist/navigation-menu-siQVRMUF.d.ts +26 -0
  613. package/dist/number-field-IdgO_BUa.d.ts +35 -0
  614. package/dist/number-field-rEMfZa6A.js +2 -0
  615. package/dist/number-field-rEMfZa6A.js.map +1 -0
  616. package/dist/pagination-BZ3xMXsy.d.ts +27 -0
  617. package/dist/pagination-gnUKddCN.js +2 -0
  618. package/dist/pagination-gnUKddCN.js.map +1 -0
  619. package/dist/phone-input-By5lNF03.d.ts +13 -0
  620. package/dist/phone-input-D72tVPWH.js +2 -0
  621. package/dist/phone-input-D72tVPWH.js.map +1 -0
  622. package/dist/pie-chart-CvG27kFN.d.ts +42 -0
  623. package/dist/pie-chart-S4nMKbsW.js +2 -0
  624. package/dist/pie-chart-S4nMKbsW.js.map +1 -0
  625. package/dist/popover-BtX3tX8M.js +2 -0
  626. package/dist/popover-BtX3tX8M.js.map +1 -0
  627. package/dist/popover-DchAqyKn.d.ts +21 -0
  628. package/dist/progress-DeXRCHUw.d.ts +19 -0
  629. package/dist/progress-QvpY7tiy.js +2 -0
  630. package/dist/progress-QvpY7tiy.js.map +1 -0
  631. package/dist/progress-icFwrvnE.js +2 -0
  632. package/dist/progress-icFwrvnE.js.map +1 -0
  633. package/dist/progress-mEAw9ZhK.d.ts +14 -0
  634. package/dist/radio-group-BNbepK_U.d.ts +25 -0
  635. package/dist/radio-group-DM8n0XPS.js +2 -0
  636. package/dist/radio-group-DM8n0XPS.js.map +1 -0
  637. package/dist/{react.esm-D5AipFQb.js → react.esm-BkhVXJ8s.js} +2 -2
  638. package/dist/{react.esm-D5AipFQb.js.map → react.esm-BkhVXJ8s.js.map} +1 -1
  639. package/dist/resizable-DMQG3xF_.d.ts +14 -0
  640. package/dist/resizable-Dbg7r7nF.js +2 -0
  641. package/dist/resizable-Dbg7r7nF.js.map +1 -0
  642. package/dist/ring-progress-65ccdTQQ.d.ts +17 -0
  643. package/dist/ring-progress-Bfqq_HHA.js +2 -0
  644. package/dist/ring-progress-Bfqq_HHA.js.map +1 -0
  645. package/dist/scroll-area-DFcj5q66.d.ts +11 -0
  646. package/dist/scroll-area-DKS4QPHg.js +2 -0
  647. package/dist/scroll-area-DKS4QPHg.js.map +1 -0
  648. package/dist/select-BoYp-Xyc.d.ts +29 -0
  649. package/dist/select-C3QYNv4t.js +2 -0
  650. package/dist/select-C3QYNv4t.js.map +1 -0
  651. package/dist/separator-BsRLiqWE.d.ts +9 -0
  652. package/dist/separator-CCMmbXL0.js +2 -0
  653. package/dist/separator-CCMmbXL0.js.map +1 -0
  654. package/dist/sidebar-B5bEgDy5.js +2 -0
  655. package/dist/sidebar-B5bEgDy5.js.map +1 -0
  656. package/dist/sidebar-D7HQlj5O.d.ts +96 -0
  657. package/dist/simple-grid-9EryoUWI.js +2 -0
  658. package/dist/simple-grid-9EryoUWI.js.map +1 -0
  659. package/dist/simple-grid-B2zjpwZ3.d.ts +14 -0
  660. package/dist/skeleton-Cn3zBJRe.js +2 -0
  661. package/dist/skeleton-Cn3zBJRe.js.map +1 -0
  662. package/dist/skeleton-Co8pevj-.d.ts +10 -0
  663. package/dist/skills/uselets-ui/references/component-catalog.md +3 -0
  664. package/dist/skills/uselets-ui/references/package-guide.md +1 -1
  665. package/dist/slider-CC-gQawq.js +2 -0
  666. package/dist/slider-CC-gQawq.js.map +1 -0
  667. package/dist/slider-DmZ1YfLg.d.ts +9 -0
  668. package/dist/sonner-Binx8JJ2.d.ts +8 -0
  669. package/dist/sonner-DrKqhTDI.js +2 -0
  670. package/dist/sonner-DrKqhTDI.js.map +1 -0
  671. package/dist/spinner-Dz63Ltq-.d.ts +12 -0
  672. package/dist/spinner-ntLrcDLN.js +2 -0
  673. package/dist/spinner-ntLrcDLN.js.map +1 -0
  674. package/dist/stack-BbLllsqk.js +2 -0
  675. package/dist/stack-BbLllsqk.js.map +1 -0
  676. package/dist/stack-WiND8Dxq.d.ts +14 -0
  677. package/dist/stepper-BQ-59_UO.js +2 -0
  678. package/dist/stepper-BQ-59_UO.js.map +1 -0
  679. package/dist/stepper-DK5_o7RG.d.ts +71 -0
  680. package/dist/switch-DjdOGECT.js +2 -0
  681. package/dist/switch-DjdOGECT.js.map +1 -0
  682. package/dist/switch-OtBakZHc.d.ts +17 -0
  683. package/dist/table-CuE0Aenj.js +2 -0
  684. package/dist/table-CuE0Aenj.js.map +1 -0
  685. package/dist/table-qIAtG7Y5.d.ts +33 -0
  686. package/dist/tabs-BgWxTTah.d.ts +21 -0
  687. package/dist/tabs-DK9-RHkP.js +2 -0
  688. package/dist/tabs-DK9-RHkP.js.map +1 -0
  689. package/dist/text-CKFZ9Xsj.d.ts +14 -0
  690. package/dist/text-Kg1xuinT.js +2 -0
  691. package/dist/text-Kg1xuinT.js.map +1 -0
  692. package/dist/textarea-C8zrf9Rz.js +2 -0
  693. package/dist/textarea-C8zrf9Rz.js.map +1 -0
  694. package/dist/textarea-Cr9_P-bV.d.ts +8 -0
  695. package/dist/theme-BwEhfTyl.d.ts +22 -0
  696. package/dist/theme-DZJ_cJYp.js +2 -0
  697. package/dist/theme-DZJ_cJYp.js.map +1 -0
  698. package/dist/timeline-BDY3YzeJ.d.ts +61 -0
  699. package/dist/timeline-pBm0t1tb.js +2 -0
  700. package/dist/timeline-pBm0t1tb.js.map +1 -0
  701. package/dist/toggle-DJJkcqDy.js +2 -0
  702. package/dist/toggle-DJJkcqDy.js.map +1 -0
  703. package/dist/toggle-group-C3iNDYqI.d.ts +16 -0
  704. package/dist/toggle-group-D0OIpZN-.js +2 -0
  705. package/dist/toggle-group-D0OIpZN-.js.map +1 -0
  706. package/dist/toggle-jc8s_Z3T.d.ts +15 -0
  707. package/dist/tooltip-BZjnEqw5.d.ts +21 -0
  708. package/dist/tooltip-CNUNWZvs.js +2 -0
  709. package/dist/tooltip-CNUNWZvs.js.map +1 -0
  710. package/dist/unstyled-button-C-Zs4Qv2.d.ts +10 -0
  711. package/dist/unstyled-button-lGbDJA55.js +2 -0
  712. package/dist/unstyled-button-lGbDJA55.js.map +1 -0
  713. package/dist/use-breakpoint-D6YACz8C.js +2 -0
  714. package/dist/use-breakpoint-D6YACz8C.js.map +1 -0
  715. package/dist/use-breakpoint-DDuQFekj.d.ts +8 -0
  716. package/dist/use-breakpoint-value-BDjKflDX.js +2 -0
  717. package/dist/use-breakpoint-value-BDjKflDX.js.map +1 -0
  718. package/dist/use-breakpoint-value-CRbHqGAu.d.ts +8 -0
  719. package/dist/use-disclosure-CNaFpYFQ.d.ts +22 -0
  720. package/dist/use-disclosure-Cr405eRD.js +2 -0
  721. package/dist/use-disclosure-Cr405eRD.js.map +1 -0
  722. package/dist/use-document-visibility-CoWjCswu.js +2 -0
  723. package/dist/use-document-visibility-CoWjCswu.js.map +1 -0
  724. package/dist/use-document-visibility-DIzUN4tB.d.ts +6 -0
  725. package/dist/use-idle-Bsi10VE9.d.ts +13 -0
  726. package/dist/use-idle-DgheJlxd.js +2 -0
  727. package/dist/use-idle-DgheJlxd.js.map +1 -0
  728. package/dist/use-interval-B1aNo3tA.js +2 -0
  729. package/dist/use-interval-B1aNo3tA.js.map +1 -0
  730. package/dist/use-interval-CJVmE_lC.d.ts +24 -0
  731. package/dist/use-local-storage-CJBqB1GC.js +2 -0
  732. package/dist/use-local-storage-CJBqB1GC.js.map +1 -0
  733. package/dist/use-local-storage-Cmq4PWJc.d.ts +16 -0
  734. package/dist/use-mask-DBvFShXA.js +2 -0
  735. package/dist/use-mask-DBvFShXA.js.map +1 -0
  736. package/dist/use-mask-DRJVVcdh.d.ts +8 -0
  737. package/dist/use-mobile-BYwiljVq.d.ts +6 -0
  738. package/dist/use-mobile-OMmp56u2.js +2 -0
  739. package/dist/use-mobile-OMmp56u2.js.map +1 -0
  740. package/dist/utils-DGsdoA5l.d.ts +8 -0
  741. package/dist/utils-DP9KtG7I.js +2 -0
  742. package/dist/utils-DP9KtG7I.js.map +1 -0
  743. package/dist/visibility-_3zV3l-A.d.ts +17 -0
  744. package/dist/visibility-twHwe9Xp.js +2 -0
  745. package/dist/visibility-twHwe9Xp.js.map +1 -0
  746. package/package.json +10 -8
  747. package/skills/uselets-ui/references/component-catalog.md +3 -0
  748. package/skills/uselets-ui/references/package-guide.md +1 -1
  749. package/dist/components/accordion.js.map +0 -1
  750. package/dist/components/alert-dialog.js.map +0 -1
  751. package/dist/components/alert.js.map +0 -1
  752. package/dist/components/anchor.js.map +0 -1
  753. package/dist/components/area-chart.js.map +0 -1
  754. package/dist/components/avatar.js.map +0 -1
  755. package/dist/components/badge.js.map +0 -1
  756. package/dist/components/bar-chart.js.map +0 -1
  757. package/dist/components/breadcrumb.js.map +0 -1
  758. package/dist/components/button-group.js.map +0 -1
  759. package/dist/components/button.js.map +0 -1
  760. package/dist/components/calendar.js.map +0 -1
  761. package/dist/components/card.js.map +0 -1
  762. package/dist/components/carousel.js.map +0 -1
  763. package/dist/components/center.js.map +0 -1
  764. package/dist/components/chart.js.map +0 -1
  765. package/dist/components/checkbox.js.map +0 -1
  766. package/dist/components/code.js.map +0 -1
  767. package/dist/components/collapsible.js.map +0 -1
  768. package/dist/components/combobox.js.map +0 -1
  769. package/dist/components/command.js.map +0 -1
  770. package/dist/components/container.js.map +0 -1
  771. package/dist/components/data-table.js.map +0 -1
  772. package/dist/components/date-range-picker.js.map +0 -1
  773. package/dist/components/dialog.js.map +0 -1
  774. package/dist/components/donut-chart.js.map +0 -1
  775. package/dist/components/drawer.js.map +0 -1
  776. package/dist/components/dropdown-menu.js.map +0 -1
  777. package/dist/components/dropzone.js.map +0 -1
  778. package/dist/components/empty.js.map +0 -1
  779. package/dist/components/field.js.map +0 -1
  780. package/dist/components/flex.js.map +0 -1
  781. package/dist/components/grid.js.map +0 -1
  782. package/dist/components/group.js.map +0 -1
  783. package/dist/components/heading.js.map +0 -1
  784. package/dist/components/hover-card.js.map +0 -1
  785. package/dist/components/input-group.js.map +0 -1
  786. package/dist/components/input-otp.js.map +0 -1
  787. package/dist/components/input.js.map +0 -1
  788. package/dist/components/kbd.js.map +0 -1
  789. package/dist/components/label.js.map +0 -1
  790. package/dist/components/list.js.map +0 -1
  791. package/dist/components/marker.js.map +0 -1
  792. package/dist/components/mask-input.js.map +0 -1
  793. package/dist/components/native-select.js.map +0 -1
  794. package/dist/components/navigation-menu.js.map +0 -1
  795. package/dist/components/number-field.js.map +0 -1
  796. package/dist/components/pagination.js.map +0 -1
  797. package/dist/components/phone-input.js.map +0 -1
  798. package/dist/components/pie-chart.js.map +0 -1
  799. package/dist/components/popover.js.map +0 -1
  800. package/dist/components/progress.js.map +0 -1
  801. package/dist/components/radio-group.js.map +0 -1
  802. package/dist/components/resizable.js.map +0 -1
  803. package/dist/components/ring-progress.js.map +0 -1
  804. package/dist/components/scroll-area.js.map +0 -1
  805. package/dist/components/select.js.map +0 -1
  806. package/dist/components/separator.js.map +0 -1
  807. package/dist/components/sidebar.js.map +0 -1
  808. package/dist/components/simple-grid.js.map +0 -1
  809. package/dist/components/skeleton.js.map +0 -1
  810. package/dist/components/slider.js.map +0 -1
  811. package/dist/components/sonner.js.map +0 -1
  812. package/dist/components/spinner.js.map +0 -1
  813. package/dist/components/stack.js.map +0 -1
  814. package/dist/components/stepper.js.map +0 -1
  815. package/dist/components/switch.js.map +0 -1
  816. package/dist/components/table.js.map +0 -1
  817. package/dist/components/tabs.js.map +0 -1
  818. package/dist/components/text.js.map +0 -1
  819. package/dist/components/textarea.js.map +0 -1
  820. package/dist/components/theme.js.map +0 -1
  821. package/dist/components/timeline.js.map +0 -1
  822. package/dist/components/toggle-group.js.map +0 -1
  823. package/dist/components/toggle.js.map +0 -1
  824. package/dist/components/tooltip.js.map +0 -1
  825. package/dist/components/unstyled-button.js.map +0 -1
  826. package/dist/components/visibility.js.map +0 -1
  827. package/dist/hooks/use-breakpoint-value.js.map +0 -1
  828. package/dist/hooks/use-breakpoint.js.map +0 -1
  829. package/dist/hooks/use-disclosure.js.map +0 -1
  830. package/dist/hooks/use-document-visibility.js.map +0 -1
  831. package/dist/hooks/use-idle.js.map +0 -1
  832. package/dist/hooks/use-interval.js.map +0 -1
  833. package/dist/hooks/use-local-storage.js.map +0 -1
  834. package/dist/hooks/use-mask.js.map +0 -1
  835. package/dist/hooks/use-mobile.js.map +0 -1
  836. package/dist/lib/badge.js.map +0 -1
  837. package/dist/lib/button.js.map +0 -1
  838. package/dist/lib/color.js.map +0 -1
  839. package/dist/lib/compose-refs.js.map +0 -1
  840. package/dist/lib/progress.js.map +0 -1
  841. package/dist/lib/utils.js.map +0 -1
  842. package/dist/magic-string.es-oADFB1hu.js +0 -15
  843. package/dist/magic-string.es-oADFB1hu.js.map +0 -1
  844. package/dist/utils-Cj3IZeiu.js +0 -37
  845. package/dist/utils-Cj3IZeiu.js.map +0 -1
@@ -1,10 +1,2 @@
1
- import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
- import * as React from "react";
3
- //#region src/components/kbd.d.ts
4
- type KbdProps = React.ComponentProps<'kbd'>;
5
- type KbdGroupProps = React.ComponentProps<'div'>;
6
- declare function Kbd({ className, ...props }: KbdProps): React.JSX.Element;
7
- declare function KbdGroup({ className, ...props }: KbdGroupProps): React.JSX.Element;
8
- //#endregion
9
- export { Kbd, KbdGroup, KbdGroupProps, KbdProps };
10
- //# sourceMappingURL=kbd.d.ts.map
1
+ import { i as KbdProps, n as KbdGroup, r as KbdGroupProps, t as Kbd } from "../kbd-DELCQBD0.js";
2
+ export { Kbd, KbdGroup, KbdGroupProps, KbdProps };
@@ -1,2 +1 @@
1
- import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{jsx as t}from"react/jsx-runtime";function Kbd({className:n,...r}){return t(`kbd`,{"data-slot":`kbd`,className:e(`bg-muted text-muted-foreground in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 h-5 w-fit min-w-5 gap-1 rounded-sm px-1 font-sans text-xs font-medium [&_svg:not([class*='size-'])]:size-3 pointer-events-none inline-flex items-center justify-center select-none`,n),...r})}function KbdGroup({className:n,...r}){return t(`kbd`,{"data-slot":`kbd-group`,className:e(`gap-1 inline-flex items-center`,n),...r})}export{Kbd,KbdGroup};
2
- //# sourceMappingURL=kbd.js.map
1
+ import{n as e,t}from"../kbd-BTl3AgkY.js";export{t as Kbd,e as KbdGroup};
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1,2 @@
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{n as e,t}from"../kbd-BTl3AgkY.js";import{r as n}from"../react.esm-BkhVXJ8s.js";import{jsx as r,jsxs as i}from"react/jsx-runtime";describe(`Kbd`,()=>{it(`renders a kbd element with the kbd data-slot and base classes`,()=>{let{container:e}=n(r(t,{children:`Ctrl`})),i=e.querySelector(`[data-slot="kbd"]`);expect(i?.tagName).toBe(`KBD`),expect(i?.textContent).toBe(`Ctrl`),expect(i?.className).toContain(`bg-muted`)}),it(`merges a custom className onto Kbd`,()=>{let{container:e}=n(r(t,{className:`custom-class`,children:`Ctrl`}));expect(e.querySelector(`[data-slot="kbd"]`)?.className).toContain(`custom-class`)}),it(`renders KbdGroup with the kbd-group data-slot and its children`,()=>{let{container:a}=n(i(e,{children:[r(t,{children:`Ctrl`}),r(t,{children:`K`})]})),o=a.querySelector(`[data-slot="kbd-group"]`);expect(o).not.toBeNull(),expect(o?.className).toContain(`inline-flex`),expect(o?.querySelectorAll(`[data-slot="kbd"]`)).toHaveLength(2)}),it(`merges a custom className onto KbdGroup`,()=>{let{container:t}=n(r(e,{className:`custom-class`}));expect(t.querySelector(`[data-slot="kbd-group"]`)?.className).toContain(`custom-class`)})});
2
+ //# sourceMappingURL=kbd.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kbd.spec.js","names":[],"sources":["../../src/components/kbd.spec.tsx"],"sourcesContent":["import { render } from '@testing-library/react'\n\nimport { Kbd, KbdGroup } from './kbd'\n\ndescribe('Kbd', () => {\n it('renders a kbd element with the kbd data-slot and base classes', () => {\n const { container } = render(<Kbd>Ctrl</Kbd>)\n\n const kbd = container.querySelector('[data-slot=\"kbd\"]')\n\n expect(kbd?.tagName).toBe('KBD')\n expect(kbd?.textContent).toBe('Ctrl')\n expect(kbd?.className).toContain('bg-muted')\n })\n\n it('merges a custom className onto Kbd', () => {\n const { container } = render(<Kbd className=\"custom-class\">Ctrl</Kbd>)\n\n expect(container.querySelector('[data-slot=\"kbd\"]')?.className).toContain('custom-class')\n })\n\n it('renders KbdGroup with the kbd-group data-slot and its children', () => {\n const { container } = render(\n <KbdGroup>\n <Kbd>Ctrl</Kbd>\n <Kbd>K</Kbd>\n </KbdGroup>\n )\n\n const group = container.querySelector('[data-slot=\"kbd-group\"]')\n\n expect(group).not.toBeNull()\n expect(group?.className).toContain('inline-flex')\n expect(group?.querySelectorAll('[data-slot=\"kbd\"]')).toHaveLength(2)\n })\n\n it('merges a custom className onto KbdGroup', () => {\n const { container } = render(<KbdGroup className=\"custom-class\" />)\n\n expect(container.querySelector('[data-slot=\"kbd-group\"]')?.className).toContain('custom-class')\n })\n})\n"],"mappings":"gLAIA,SAAS,UAAa,CACpB,GAAG,oEAAuE,CACxE,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAA,SAAK,MAAS,CAAA,CAAC,EAEtC,EAAM,EAAU,cAAc,mBAAmB,EAEvD,OAAO,GAAK,OAAO,CAAC,CAAC,KAAK,KAAK,EAC/B,OAAO,GAAK,WAAW,CAAC,CAAC,KAAK,MAAM,EACpC,OAAO,GAAK,SAAS,CAAC,CAAC,UAAU,UAAU,CAC7C,CAAC,EAED,GAAG,yCAA4C,CAC7C,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAK,UAAU,eAAe,SAAA,MAAS,CAAA,CAAC,EAErE,OAAO,EAAU,cAAc,mBAAmB,CAAC,EAAE,SAAS,CAAC,CAAC,UAAU,cAAc,CAC1F,CAAC,EAED,GAAG,qEAAwE,CACzE,GAAM,CAAE,aAAc,EACpB,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAA,SAAK,MAAS,CAAA,EACd,EAAC,EAAD,CAAA,SAAK,GAAM,CAAA,CACH,CAAA,CAAA,CACZ,EAEM,EAAQ,EAAU,cAAc,yBAAyB,EAE/D,OAAO,CAAK,CAAC,CAAC,IAAI,SAAS,EAC3B,OAAO,GAAO,SAAS,CAAC,CAAC,UAAU,aAAa,EAChD,OAAO,GAAO,iBAAiB,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,CACrE,CAAC,EAED,GAAG,8CAAiD,CAClD,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAU,UAAU,cAAgB,CAAA,CAAC,EAElE,OAAO,EAAU,cAAc,yBAAyB,CAAC,EAAE,SAAS,CAAC,CAAC,UAAU,cAAc,CAChG,CAAC,CACH,CAAC"}
@@ -1,9 +1,2 @@
1
- import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
- import { Label as Label$1 } from "radix-ui";
3
- import * as React from "react";
4
- //#region src/components/label.d.ts
5
- type LabelProps = React.ComponentProps<typeof Label$1.Root>;
6
- declare function Label({ className, ...props }: LabelProps): React.JSX.Element;
7
- //#endregion
8
- export { Label, LabelProps };
9
- //# sourceMappingURL=label.d.ts.map
1
+ import { n as LabelProps, t as Label } from "../label-KZl6I5Ey.js";
2
+ export { Label, LabelProps };
@@ -1,2 +1 @@
1
- import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{Label as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";function Label({className:r,...i}){return n(t.Root,{"data-slot":`label`,className:e(`flex items-center gap-2 select-none text-sm leading-none`,`group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50`,`peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,r),...i})}export{Label};
2
- //# sourceMappingURL=label.js.map
1
+ import{t as e}from"../label-BQDEej_c.js";export{e as Label};
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1,2 @@
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{t as e}from"../label-BQDEej_c.js";import{a as t,r as n}from"../react.esm-BkhVXJ8s.js";import{Fragment as r,jsx as i,jsxs as a}from"react/jsx-runtime";describe(`Label`,()=>{it(`renders a label element with the label data-slot and base classes`,()=>{let{container:t}=n(i(e,{children:`Email`})),r=t.querySelector(`[data-slot="label"]`);expect(r?.tagName).toBe(`LABEL`),expect(r?.className).toContain(`select-none`),expect(r?.textContent).toBe(`Email`)}),it(`links to its control through htmlFor`,()=>{n(a(r,{children:[i(e,{htmlFor:`email-input`,children:`Email`}),i(`input`,{id:`email-input`})]})),expect(t.getByLabelText(`Email`)).not.toBeNull()}),it(`merges a custom className with the base classes`,()=>{let{container:t}=n(i(e,{className:`custom-class`,children:`Email`}));expect(t.querySelector(`[data-slot="label"]`)?.className).toContain(`custom-class`)}),it(`forwards a ref to the underlying label element`,()=>{let t={current:null};n(i(e,{ref:t,children:`Email`})),expect(t.current).toBeInstanceOf(HTMLLabelElement)})});
2
+ //# sourceMappingURL=label.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.spec.js","names":[],"sources":["../../src/components/label.spec.tsx"],"sourcesContent":["import { render, screen } from '@testing-library/react'\n\nimport { Label } from './label'\n\ndescribe('Label', () => {\n it('renders a label element with the label data-slot and base classes', () => {\n const { container } = render(<Label>Email</Label>)\n\n const label = container.querySelector('[data-slot=\"label\"]')\n\n expect(label?.tagName).toBe('LABEL')\n expect(label?.className).toContain('select-none')\n expect(label?.textContent).toBe('Email')\n })\n\n it('links to its control through htmlFor', () => {\n render(\n <>\n <Label htmlFor=\"email-input\">Email</Label>\n <input id=\"email-input\" />\n </>\n )\n\n expect(screen.getByLabelText('Email')).not.toBeNull()\n })\n\n it('merges a custom className with the base classes', () => {\n const { container } = render(<Label className=\"custom-class\">Email</Label>)\n\n expect(container.querySelector('[data-slot=\"label\"]')?.className).toContain('custom-class')\n })\n\n it('forwards a ref to the underlying label element', () => {\n const ref = { current: null as HTMLLabelElement | null }\n\n render(<Label ref={ref}>Email</Label>)\n\n expect(ref.current).toBeInstanceOf(HTMLLabelElement)\n })\n})\n"],"mappings":"qMAIA,SAAS,YAAe,CACtB,GAAG,wEAA2E,CAC5E,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAA,SAAO,OAAY,CAAA,CAAC,EAE3C,EAAQ,EAAU,cAAc,qBAAqB,EAE3D,OAAO,GAAO,OAAO,CAAC,CAAC,KAAK,OAAO,EACnC,OAAO,GAAO,SAAS,CAAC,CAAC,UAAU,aAAa,EAChD,OAAO,GAAO,WAAW,CAAC,CAAC,KAAK,OAAO,CACzC,CAAC,EAED,GAAG,2CAA8C,CAC/C,EACE,EAAA,EAAA,CAAA,SAAA,CACE,EAAC,EAAD,CAAO,QAAQ,cAAc,SAAA,OAAY,CAAA,EACzC,EAAC,QAAD,CAAO,GAAG,aAAe,CAAA,CACzB,CAAA,CAAA,CACJ,EAEA,OAAO,EAAO,eAAe,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,CACtD,CAAC,EAED,GAAG,sDAAyD,CAC1D,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAO,UAAU,eAAe,SAAA,OAAY,CAAA,CAAC,EAE1E,OAAO,EAAU,cAAc,qBAAqB,CAAC,EAAE,SAAS,CAAC,CAAC,UAAU,cAAc,CAC5F,CAAC,EAED,GAAG,qDAAwD,CACzD,IAAM,EAAM,CAAE,QAAS,IAAgC,EAEvD,EAAO,EAAC,EAAD,CAAY,MAAK,SAAA,OAAY,CAAA,CAAC,EAErC,OAAO,EAAI,OAAO,CAAC,CAAC,eAAe,gBAAgB,CACrD,CAAC,CACH,CAAC"}
@@ -1,25 +1,2 @@
1
- import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
- import { VariantProps } from "class-variance-authority";
3
- import * as React from "react";
4
- //#region src/components/list.d.ts
5
- type ListType = 'unordered' | 'ordered';
6
- type InternalListItemProps = {
7
- __index?: number;
8
- };
9
- declare const listVariants: (props?: ({
10
- size?: "lg" | "md" | "sm" | "xl" | "xs" | null | undefined;
11
- spacing?: "lg" | "md" | "sm" | "xl" | "xs" | null | undefined;
12
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
13
- type ListProps = Omit<React.ComponentProps<'ul'>, 'ref' | 'type'> & Omit<React.ComponentProps<'ol'>, 'ref' | 'type'> & VariantProps<typeof listVariants> & {
14
- type?: ListType;
15
- };
16
- type ListItemProps = React.ComponentProps<'li'>;
17
- type ListIconProps = React.ComponentProps<'span'> & {
18
- asChild?: boolean;
19
- };
20
- declare function List({ className, children, type, size, spacing, ...props }: ListProps): React.JSX.Element;
21
- declare function ListItem({ className, children, __index, ...props }: ListItemProps & InternalListItemProps): React.JSX.Element;
22
- declare function ListIcon({ className, asChild, ...props }: ListIconProps): React.JSX.Element;
23
- //#endregion
24
- export { List, ListIcon, ListIconProps, ListItem, ListItemProps, ListProps, listVariants };
25
- //# sourceMappingURL=list.d.ts.map
1
+ import { a as ListItemProps, i as ListItem, n as ListIcon, o as ListProps, r as ListIconProps, s as listVariants, t as List } from "../list-DMa2j1rk.js";
2
+ export { List, ListIcon, ListIconProps, ListItem, ListItemProps, ListProps, listVariants };
@@ -1,2 +1 @@
1
- import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{Slot as t}from"radix-ui";import{jsx as n,jsxs as r}from"react/jsx-runtime";import{cva as i}from"class-variance-authority";import*as a from"react";const o=a.createContext({type:`unordered`}),s=i(`m-0 flex list-none flex-col p-0 text-foreground`,{variants:{size:{xs:`text-xs`,sm:`text-sm`,md:`text-base`,lg:`text-lg`,xl:`text-xl`},spacing:{xs:`gap-1`,sm:`gap-2`,md:`gap-3`,lg:`gap-4`,xl:`gap-6`}},defaultVariants:{size:`md`,spacing:`md`}});function List({className:t,children:r,type:i=`unordered`,size:a=`md`,spacing:c=`md`,...l}){let u=i===`ordered`?`ol`:`ul`;return n(o.Provider,{value:{type:i},children:n(u,{"data-slot":`list`,"data-type":i,"data-size":a,"data-spacing":c,className:e(s({size:a,spacing:c}),t),...l,children:injectListItemIndices(r)})})}function ListItem({className:t,children:i,__index:s,...c}){let{type:l}=a.useContext(o),u=a.Children.toArray(i),d=u.find(isListIconElement)??null,f=d?u.filter(e=>e!==d):u,p=l===`ordered`;return r(`li`,{"data-slot":`list-item`,"data-type":l,"data-has-icon":d?`true`:`false`,className:e(`grid grid-cols-[auto_minmax(0,1fr)] items-start gap-x-3`,t),...c,children:[n(`span`,{"aria-hidden":`true`,className:e(`shrink-0`,d&&`flex min-h-5 min-w-4 items-center justify-center pt-0.5 text-primary [&_svg]:size-[1em]`,!d&&p&&`min-w-7 pt-0.5 text-right font-medium tabular-nums text-muted-foreground`,!d&&!p&&`flex min-h-5 min-w-4 items-start justify-center pt-[0.45em] text-muted-foreground`),children:d??(p?`${(s??0)+1}.`:n(`span`,{className:`size-1.5 rounded-full bg-current`}))}),n(`div`,{className:`min-w-0`,children:f})]})}function ListIcon({className:r,asChild:i=!1,...a}){return n(i?t.Root:`span`,{"data-slot":`list-icon`,className:e(`inline-flex shrink-0 items-center justify-center text-primary [&>svg]:size-4`,i&&`size-4`,r),...a})}function injectListItemIndices(e,t={current:0}){return a.Children.map(e,e=>{if(!a.isValidElement(e))return e;if(e.type===a.Fragment){let r=e;return n(a.Fragment,{children:injectListItemIndices(r.props.children,t)},e.key)}return e.type===ListItem?a.cloneElement(e,{__index:t.current++}):e})}function isListIconElement(e){return a.isValidElement(e)&&e.type===ListIcon}export{List,ListIcon,ListItem,s as listVariants};
2
- //# sourceMappingURL=list.js.map
1
+ import{i as e,n as t,r as n,t as r}from"../list-BbCg-ndB.js";export{r as List,t as ListIcon,n as ListItem,e as listVariants};
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1,2 @@
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{n as e,r as t,t as n}from"../list-BbCg-ndB.js";import{a as r,r as i}from"../react.esm-BkhVXJ8s.js";import{jsx as a,jsxs as o}from"react/jsx-runtime";describe(`List`,()=>{it(`renders a ul with data-slot and default size/spacing attributes`,()=>{let{container:e}=i(a(n,{children:a(t,{children:`First`})})),r=e.querySelector(`[data-slot="list"]`);expect(r?.tagName).toBe(`UL`),expect(r?.getAttribute(`data-type`)).toBe(`unordered`),expect(r?.getAttribute(`data-size`)).toBe(`md`),expect(r?.getAttribute(`data-spacing`)).toBe(`md`)}),it(`renders an ol element when type is ordered`,()=>{let{container:e}=i(a(n,{type:`ordered`,children:a(t,{children:`First`})})),r=e.querySelector(`[data-slot="list"]`);expect(r?.tagName).toBe(`OL`),expect(r?.getAttribute(`data-type`)).toBe(`ordered`)}),it(`applies size and spacing variant classes`,()=>{let{container:e}=i(a(n,{size:`lg`,spacing:`xl`,children:a(t,{children:`Item`})})),r=e.querySelector(`[data-slot="list"]`);expect(r?.className).toContain(`text-lg`),expect(r?.className).toContain(`gap-6`)}),describe(`ListItem`,()=>{it(`numbers items sequentially for an ordered list`,()=>{let{container:e}=i(o(n,{type:`ordered`,children:[a(t,{children:`First`}),a(t,{children:`Second`}),a(t,{children:`Third`})]})),r=Array.from(e.querySelectorAll(`[data-slot="list-item"] > span`)).map(e=>e.textContent);expect(r).toEqual([`1.`,`2.`,`3.`])}),it(`continues numbering through Fragment-wrapped children`,()=>{let{container:e}=i(o(n,{type:`ordered`,children:[a(t,{children:`First`}),a(t,{children:`Second`}),a(t,{children:`Third`})]})),r=Array.from(e.querySelectorAll(`[data-slot="list-item"] > span`)).map(e=>e.textContent);expect(r).toEqual([`1.`,`2.`,`3.`])}),it(`renders a bullet marker for unordered items without an icon`,()=>{let{container:e}=i(a(n,{children:a(t,{children:`Plain item`})})),r=e.querySelector(`[data-slot="list-item"]`);expect(r?.getAttribute(`data-has-icon`)).toBe(`false`),expect(r?.querySelector(`span.rounded-full`)).not.toBeNull()}),it(`renders a provided ListIcon as the marker and excludes it from the content area`,()=>{let{container:r}=i(a(n,{children:o(t,{children:[a(e,{"data-testid":`marker-icon`,children:`*`}),`Starred item`]})})),s=r.querySelector(`[data-slot="list-item"]`);expect(s?.getAttribute(`data-has-icon`)).toBe(`true`);let c=s?.querySelector(`span[aria-hidden="true"]`);expect(c?.querySelector(`[data-testid="marker-icon"]`)).not.toBeNull();let l=s?.querySelector(`.min-w-0`);expect(l?.textContent).toBe(`Starred item`)})}),describe(`ListIcon`,()=>{it(`renders as a span with the expected data-slot by default`,()=>{i(a(n,{children:o(t,{children:[a(e,{children:`*`}),`Item`]})}));let s=r.getByText(`*`);expect(s.tagName).toBe(`SPAN`),expect(s.getAttribute(`data-slot`)).toBe(`list-icon`)}),it(`merges props onto the child element when asChild is used`,()=>{i(a(n,{children:o(t,{children:[a(e,{asChild:!0,"data-testid":`custom-icon`,children:a(`svg`,{})}),`Item`]})}));let s=r.getByTestId(`custom-icon`);expect(s.tagName.toLowerCase()).toBe(`svg`),expect(s.getAttribute(`data-slot`)).toBe(`list-icon`),expect(s.getAttribute(`class`)).toContain(`size-4`)})})});
2
+ //# sourceMappingURL=list.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.spec.js","names":[],"sources":["../../src/components/list.spec.tsx"],"sourcesContent":["import { render, screen } from '@testing-library/react'\n\nimport { List, ListIcon, ListItem } from './list'\n\ndescribe('List', () => {\n it('renders a ul with data-slot and default size/spacing attributes', () => {\n const { container } = render(\n <List>\n <ListItem>First</ListItem>\n </List>\n )\n const list = container.querySelector('[data-slot=\"list\"]')\n\n expect(list?.tagName).toBe('UL')\n expect(list?.getAttribute('data-type')).toBe('unordered')\n expect(list?.getAttribute('data-size')).toBe('md')\n expect(list?.getAttribute('data-spacing')).toBe('md')\n })\n\n it('renders an ol element when type is ordered', () => {\n const { container } = render(\n <List type=\"ordered\">\n <ListItem>First</ListItem>\n </List>\n )\n const list = container.querySelector('[data-slot=\"list\"]')\n\n expect(list?.tagName).toBe('OL')\n expect(list?.getAttribute('data-type')).toBe('ordered')\n })\n\n it('applies size and spacing variant classes', () => {\n const { container } = render(\n <List size=\"lg\" spacing=\"xl\">\n <ListItem>Item</ListItem>\n </List>\n )\n const list = container.querySelector('[data-slot=\"list\"]')\n\n expect(list?.className).toContain('text-lg')\n expect(list?.className).toContain('gap-6')\n })\n\n describe('ListItem', () => {\n it('numbers items sequentially for an ordered list', () => {\n const { container } = render(\n <List type=\"ordered\">\n <ListItem>First</ListItem>\n <ListItem>Second</ListItem>\n <ListItem>Third</ListItem>\n </List>\n )\n\n const markers = Array.from(container.querySelectorAll('[data-slot=\"list-item\"] > span')).map(\n (marker) => marker.textContent\n )\n expect(markers).toEqual(['1.', '2.', '3.'])\n })\n\n it('continues numbering through Fragment-wrapped children', () => {\n const { container } = render(\n <List type=\"ordered\">\n <ListItem>First</ListItem>\n <ListItem>Second</ListItem>\n <ListItem>Third</ListItem>\n </List>\n )\n\n const markers = Array.from(container.querySelectorAll('[data-slot=\"list-item\"] > span')).map(\n (marker) => marker.textContent\n )\n expect(markers).toEqual(['1.', '2.', '3.'])\n })\n\n it('renders a bullet marker for unordered items without an icon', () => {\n const { container } = render(\n <List>\n <ListItem>Plain item</ListItem>\n </List>\n )\n\n const item = container.querySelector('[data-slot=\"list-item\"]')\n expect(item?.getAttribute('data-has-icon')).toBe('false')\n expect(item?.querySelector('span.rounded-full')).not.toBeNull()\n })\n\n it('renders a provided ListIcon as the marker and excludes it from the content area', () => {\n const { container } = render(\n <List>\n <ListItem>\n <ListIcon data-testid=\"marker-icon\">*</ListIcon>\n Starred item\n </ListItem>\n </List>\n )\n\n const item = container.querySelector('[data-slot=\"list-item\"]')\n expect(item?.getAttribute('data-has-icon')).toBe('true')\n\n const marker = item?.querySelector('span[aria-hidden=\"true\"]')\n expect(marker?.querySelector('[data-testid=\"marker-icon\"]')).not.toBeNull()\n\n const content = item?.querySelector('.min-w-0')\n expect(content?.textContent).toBe('Starred item')\n })\n })\n\n describe('ListIcon', () => {\n it('renders as a span with the expected data-slot by default', () => {\n render(\n <List>\n <ListItem>\n <ListIcon>*</ListIcon>\n Item\n </ListItem>\n </List>\n )\n\n const icon = screen.getByText('*')\n expect(icon.tagName).toBe('SPAN')\n expect(icon.getAttribute('data-slot')).toBe('list-icon')\n })\n\n it('merges props onto the child element when asChild is used', () => {\n render(\n <List>\n <ListItem>\n <ListIcon asChild data-testid=\"custom-icon\">\n <svg />\n </ListIcon>\n Item\n </ListItem>\n </List>\n )\n\n const icon = screen.getByTestId('custom-icon')\n expect(icon.tagName.toLowerCase()).toBe('svg')\n expect(icon.getAttribute('data-slot')).toBe('list-icon')\n expect(icon.getAttribute('class')).toContain('size-4')\n })\n })\n})\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { _ as RdLogo, a as GomaxLogo, c as IntelitrackLogoProps, d as LetsLogo, f as LetsLogoProps, g as NeutraLogoProps, h as NeutraLogo, i as FibonashLogoProps, l as KovraLogo, m as MaxLogoProps, n as BippiLogoProps, o as GomaxLogoProps, p as MaxLogo, r as FibonashLogo, s as IntelitrackLogo, t as BippiLogo, u as KovraLogoProps, v as RdLogoProps } from "../logo-Buo7sqqn.js";
2
+ export { BippiLogo, BippiLogoProps, FibonashLogo, FibonashLogoProps, GomaxLogo, GomaxLogoProps, IntelitrackLogo, IntelitrackLogoProps, KovraLogo, KovraLogoProps, LetsLogo, LetsLogoProps, MaxLogo, MaxLogoProps, NeutraLogo, NeutraLogoProps, RdLogo, RdLogoProps };
@@ -0,0 +1 @@
1
+ import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c}from"../logo-B0v9bNJH.js";export{c as BippiLogo,i as FibonashLogo,o as GomaxLogo,n as IntelitrackLogo,e as KovraLogo,a as LetsLogo,s as MaxLogo,t as NeutraLogo,r as RdLogo};
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1,2 @@
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c}from"../logo-B0v9bNJH.js";import{r as l}from"../react.esm-BkhVXJ8s.js";import{jsx as u}from"react/jsx-runtime";const d=[{Component:c,slot:`bippi-logo`,supportsVariant:!0},{Component:i,slot:`fibonash-logo`,supportsVariant:!0},{Component:o,slot:`gomax-logo`,supportsVariant:!0},{Component:n,slot:`intelitrack-logo`,supportsVariant:!0},{Component:e,slot:`kovra-logo`,supportsVariant:!0},{Component:a,slot:`lets-logo`,supportsVariant:!1},{Component:s,slot:`max-logo`,supportsVariant:!0},{Component:t,slot:`neutra-logo`,supportsVariant:!0},{Component:r,slot:`rd-logo`,supportsVariant:!0}];describe(`Logo`,()=>{it(`mounts every exported logo component without throwing`,()=>{for(let{Component:e}of d)expect(()=>l(u(e,{}))).not.toThrow()}),it(`renders each logo as an svg element with its expected data-slot`,()=>{for(let{Component:e,slot:t}of d){let{container:n,unmount:r}=l(u(e,{})),i=n.querySelector(`[data-slot="${t}"]`);expect(i).not.toBeNull(),expect(i?.tagName.toLowerCase()).toBe(`svg`),r()}}),it(`applies the mono tone to every logo`,()=>{for(let{Component:e,slot:t}of d){let{container:n,unmount:r}=l(u(e,{tone:`mono`})),i=n.querySelector(`[data-slot="${t}"]`);expect(i?.getAttribute(`data-tone`)).toBe(`mono`),r()}}),it(`applies the icon variant for logos that support a variant prop`,()=>{for(let{Component:e,slot:t,supportsVariant:n}of d){if(!n)continue;let{container:r,unmount:i}=l(u(e,{variant:`icon`})),a=r.querySelector(`[data-slot="${t}"]`);expect(a?.getAttribute(`data-variant`)).toBe(`icon`),i()}})});
2
+ //# sourceMappingURL=logo.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logo.spec.js","names":[],"sources":["../../src/components/logo.spec.tsx"],"sourcesContent":["import { render } from '@testing-library/react'\n\nimport {\n BippiLogo,\n FibonashLogo,\n GomaxLogo,\n IntelitrackLogo,\n KovraLogo,\n LetsLogo,\n MaxLogo,\n NeutraLogo,\n RdLogo\n} from './logo'\n\nconst logos = [\n { Component: BippiLogo, slot: 'bippi-logo', supportsVariant: true },\n { Component: FibonashLogo, slot: 'fibonash-logo', supportsVariant: true },\n { Component: GomaxLogo, slot: 'gomax-logo', supportsVariant: true },\n { Component: IntelitrackLogo, slot: 'intelitrack-logo', supportsVariant: true },\n { Component: KovraLogo, slot: 'kovra-logo', supportsVariant: true },\n { Component: LetsLogo, slot: 'lets-logo', supportsVariant: false },\n { Component: MaxLogo, slot: 'max-logo', supportsVariant: true },\n { Component: NeutraLogo, slot: 'neutra-logo', supportsVariant: true },\n { Component: RdLogo, slot: 'rd-logo', supportsVariant: true }\n] as const\n\ndescribe('Logo', () => {\n it('mounts every exported logo component without throwing', () => {\n for (const { Component } of logos) {\n expect(() => render(<Component />)).not.toThrow()\n }\n })\n\n it('renders each logo as an svg element with its expected data-slot', () => {\n for (const { Component, slot } of logos) {\n const { container, unmount } = render(<Component />)\n\n const svg = container.querySelector(`[data-slot=\"${slot}\"]`)\n\n expect(svg).not.toBeNull()\n expect(svg?.tagName.toLowerCase()).toBe('svg')\n\n unmount()\n }\n })\n\n it('applies the mono tone to every logo', () => {\n for (const { Component, slot } of logos) {\n const { container, unmount } = render(<Component tone=\"mono\" />)\n\n const svg = container.querySelector(`[data-slot=\"${slot}\"]`)\n\n expect(svg?.getAttribute('data-tone')).toBe('mono')\n\n unmount()\n }\n })\n\n it('applies the icon variant for logos that support a variant prop', () => {\n for (const { Component, slot, supportsVariant } of logos) {\n if (!supportsVariant) {\n continue\n }\n\n const { container, unmount } = render(<Component variant=\"icon\" />)\n\n const svg = container.querySelector(`[data-slot=\"${slot}\"]`)\n\n expect(svg?.getAttribute('data-variant')).toBe('icon')\n\n unmount()\n }\n })\n})\n"],"mappings":"wNAcA,MAAM,EAAQ,CACZ,CAAE,UAAW,EAAW,KAAM,aAAc,gBAAiB,EAAK,EAClE,CAAE,UAAW,EAAc,KAAM,gBAAiB,gBAAiB,EAAK,EACxE,CAAE,UAAW,EAAW,KAAM,aAAc,gBAAiB,EAAK,EAClE,CAAE,UAAW,EAAiB,KAAM,mBAAoB,gBAAiB,EAAK,EAC9E,CAAE,UAAW,EAAW,KAAM,aAAc,gBAAiB,EAAK,EAClE,CAAE,UAAW,EAAU,KAAM,YAAa,gBAAiB,EAAM,EACjE,CAAE,UAAW,EAAS,KAAM,WAAY,gBAAiB,EAAK,EAC9D,CAAE,UAAW,EAAY,KAAM,cAAe,gBAAiB,EAAK,EACpE,CAAE,UAAW,EAAQ,KAAM,UAAW,gBAAiB,EAAK,CAC9D,EAEA,SAAS,WAAc,CACrB,GAAG,4DAA+D,CAChE,IAAK,GAAM,CAAE,eAAe,EAC1B,WAAa,EAAO,EAAC,EAAD,CAAY,CAAA,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAEpD,CAAC,EAED,GAAG,sEAAyE,CAC1E,IAAK,GAAM,CAAE,YAAW,UAAU,EAAO,CACvC,GAAM,CAAE,YAAW,WAAY,EAAO,EAAC,EAAD,CAAY,CAAA,CAAC,EAE7C,EAAM,EAAU,cAAc,eAAe,EAAK,GAAG,EAE3D,OAAO,CAAG,CAAC,CAAC,IAAI,SAAS,EACzB,OAAO,GAAK,QAAQ,YAAY,CAAC,CAAC,CAAC,KAAK,KAAK,EAE7C,EAAQ,CACV,CACF,CAAC,EAED,GAAG,0CAA6C,CAC9C,IAAK,GAAM,CAAE,YAAW,UAAU,EAAO,CACvC,GAAM,CAAE,YAAW,WAAY,EAAO,EAAC,EAAD,CAAW,KAAK,MAAQ,CAAA,CAAC,EAEzD,EAAM,EAAU,cAAc,eAAe,EAAK,GAAG,EAE3D,OAAO,GAAK,aAAa,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,EAElD,EAAQ,CACV,CACF,CAAC,EAED,GAAG,qEAAwE,CACzE,IAAK,GAAM,CAAE,YAAW,OAAM,qBAAqB,EAAO,CACxD,GAAI,CAAC,EACH,SAGF,GAAM,CAAE,YAAW,WAAY,EAAO,EAAC,EAAD,CAAW,QAAQ,MAAQ,CAAA,CAAC,EAE5D,EAAM,EAAU,cAAc,eAAe,EAAK,GAAG,EAE3D,OAAO,GAAK,aAAa,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,EAErD,EAAQ,CACV,CACF,CAAC,CACH,CAAC"}
@@ -1,18 +1,2 @@
1
- import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
- import { VariantProps } from "class-variance-authority";
3
- import * as React from "react";
4
- //#region src/components/marker.d.ts
5
- declare const markerVariants: (props?: ({
6
- variant?: "border" | "default" | "separator" | null | undefined;
7
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
- type MarkerProps = React.ComponentProps<'div'> & VariantProps<typeof markerVariants> & {
9
- asChild?: boolean;
10
- };
11
- type MarkerIconProps = React.ComponentProps<'span'>;
12
- type MarkerContentProps = React.ComponentProps<'span'>;
13
- declare function Marker({ className, variant, asChild, ...props }: MarkerProps): React.JSX.Element;
14
- declare function MarkerIcon({ className, ...props }: MarkerIconProps): React.JSX.Element;
15
- declare function MarkerContent({ className, ...props }: MarkerContentProps): React.JSX.Element;
16
- //#endregion
17
- export { Marker, MarkerContent, MarkerContentProps, MarkerIcon, MarkerIconProps, MarkerProps, markerVariants };
18
- //# sourceMappingURL=marker.d.ts.map
1
+ import { a as MarkerIconProps, i as MarkerIcon, n as MarkerContent, o as MarkerProps, r as MarkerContentProps, s as markerVariants, t as Marker } from "../marker-C4wLa1c0.js";
2
+ export { Marker, MarkerContent, MarkerContentProps, MarkerIcon, MarkerIconProps, MarkerProps, markerVariants };
@@ -1,2 +1 @@
1
- import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{Slot as t}from"radix-ui";import{jsx as n}from"react/jsx-runtime";import{cva as r}from"class-variance-authority";const i=r(`group/marker relative flex min-h-4 w-full items-center gap-2 text-left text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground`,{variants:{variant:{default:``,separator:`before:mr-1 before:h-px before:min-w-0 before:flex-1 before:bg-border after:ml-1 after:h-px after:min-w-0 after:flex-1 after:bg-border`,border:`border-b border-border pb-2`}}});function Marker({className:r,variant:a=`default`,asChild:o=!1,...s}){return n(o?t.Root:`div`,{"data-slot":`marker`,"data-variant":a,className:e(i({variant:a,className:r})),...s})}function MarkerIcon({className:t,...r}){return n(`span`,{"data-slot":`marker-icon`,"aria-hidden":`true`,className:e(`size-4 shrink-0 [&_svg:not([class*='size-'])]:size-4`,t),...r})}function MarkerContent({className:t,...r}){return n(`span`,{"data-slot":`marker-content`,className:e(`min-w-0 wrap-break-word group-data-[variant=separator]/marker:flex-none group-data-[variant=separator]/marker:text-center *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,t),...r})}export{Marker,MarkerContent,MarkerIcon,i as markerVariants};
2
- //# sourceMappingURL=marker.js.map
1
+ import{i as e,n as t,r as n,t as r}from"../marker-4_EnMIHk.js";export{r as Marker,t as MarkerContent,n as MarkerIcon,e as markerVariants};
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1,2 @@
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{n as e,r as t,t as n}from"../marker-4_EnMIHk.js";import{a as r,r as i}from"../react.esm-BkhVXJ8s.js";import{jsx as a}from"react/jsx-runtime";describe(`Marker`,()=>{it(`renders a div with the marker data-slot and the default variant`,()=>{let{container:e}=i(a(n,{children:`Default marker`})),t=e.querySelector(`[data-slot="marker"]`);expect(t?.tagName).toBe(`DIV`),expect(t?.getAttribute(`data-variant`)).toBe(`default`),expect(t?.className).toContain(`text-muted-foreground`)}),it(`applies the separator variant classes and data-variant attribute`,()=>{let{container:e}=i(a(n,{variant:`separator`,children:`Separator marker`})),t=e.querySelector(`[data-slot="marker"]`);expect(t?.getAttribute(`data-variant`)).toBe(`separator`),expect(t?.className).toContain(`before:mr-1`),expect(t?.className).toContain(`after:ml-1`)}),it(`applies the border variant classes`,()=>{let{container:e}=i(a(n,{variant:`border`,children:`Border marker`})),t=e.querySelector(`[data-slot="marker"]`);expect(t?.getAttribute(`data-variant`)).toBe(`border`),expect(t?.className).toContain(`border-b`)}),it(`renders as the provided child element when asChild is set`,()=>{i(a(n,{asChild:!0,children:a(`a`,{href:`/target`,children:`Link marker`})}));let e=r.getByRole(`link`,{name:`Link marker`});expect(e.tagName).toBe(`A`),expect(e.getAttribute(`data-slot`)).toBe(`marker`)}),it(`renders MarkerIcon as a hidden span with the marker-icon data-slot`,()=>{let{container:e}=i(a(t,{className:`custom-icon`})),n=e.querySelector(`[data-slot="marker-icon"]`);expect(n?.tagName).toBe(`SPAN`),expect(n?.getAttribute(`aria-hidden`)).toBe(`true`),expect(n?.className).toContain(`custom-icon`)}),it(`renders MarkerContent as a span with the marker-content data-slot`,()=>{let{container:t}=i(a(e,{className:`custom-content`,children:`Content`})),n=t.querySelector(`[data-slot="marker-content"]`);expect(n?.tagName).toBe(`SPAN`),expect(n?.textContent).toBe(`Content`),expect(n?.className).toContain(`custom-content`)})});
2
+ //# sourceMappingURL=marker.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker.spec.js","names":[],"sources":["../../src/components/marker.spec.tsx"],"sourcesContent":["import { render, screen } from '@testing-library/react'\n\nimport { Marker, MarkerContent, MarkerIcon } from './marker'\n\ndescribe('Marker', () => {\n it('renders a div with the marker data-slot and the default variant', () => {\n const { container } = render(<Marker>Default marker</Marker>)\n\n const marker = container.querySelector('[data-slot=\"marker\"]')\n\n expect(marker?.tagName).toBe('DIV')\n expect(marker?.getAttribute('data-variant')).toBe('default')\n expect(marker?.className).toContain('text-muted-foreground')\n })\n\n it('applies the separator variant classes and data-variant attribute', () => {\n const { container } = render(<Marker variant=\"separator\">Separator marker</Marker>)\n\n const marker = container.querySelector('[data-slot=\"marker\"]')\n\n expect(marker?.getAttribute('data-variant')).toBe('separator')\n expect(marker?.className).toContain('before:mr-1')\n expect(marker?.className).toContain('after:ml-1')\n })\n\n it('applies the border variant classes', () => {\n const { container } = render(<Marker variant=\"border\">Border marker</Marker>)\n\n const marker = container.querySelector('[data-slot=\"marker\"]')\n\n expect(marker?.getAttribute('data-variant')).toBe('border')\n expect(marker?.className).toContain('border-b')\n })\n\n it('renders as the provided child element when asChild is set', () => {\n render(\n <Marker asChild>\n <a href=\"/target\">Link marker</a>\n </Marker>\n )\n\n const link = screen.getByRole('link', { name: 'Link marker' })\n\n expect(link.tagName).toBe('A')\n expect(link.getAttribute('data-slot')).toBe('marker')\n })\n\n it('renders MarkerIcon as a hidden span with the marker-icon data-slot', () => {\n const { container } = render(<MarkerIcon className=\"custom-icon\" />)\n\n const icon = container.querySelector('[data-slot=\"marker-icon\"]')\n\n expect(icon?.tagName).toBe('SPAN')\n expect(icon?.getAttribute('aria-hidden')).toBe('true')\n expect(icon?.className).toContain('custom-icon')\n })\n\n it('renders MarkerContent as a span with the marker-content data-slot', () => {\n const { container } = render(<MarkerContent className=\"custom-content\">Content</MarkerContent>)\n\n const content = container.querySelector('[data-slot=\"marker-content\"]')\n\n expect(content?.tagName).toBe('SPAN')\n expect(content?.textContent).toBe('Content')\n expect(content?.className).toContain('custom-content')\n })\n})\n"],"mappings":"4LAIA,SAAS,aAAgB,CACvB,GAAG,sEAAyE,CAC1E,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAA,SAAQ,gBAAsB,CAAA,CAAC,EAEtD,EAAS,EAAU,cAAc,sBAAsB,EAE7D,OAAO,GAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,EAClC,OAAO,GAAQ,aAAa,cAAc,CAAC,CAAC,CAAC,KAAK,SAAS,EAC3D,OAAO,GAAQ,SAAS,CAAC,CAAC,UAAU,uBAAuB,CAC7D,CAAC,EAED,GAAG,uEAA0E,CAC3E,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAQ,QAAQ,YAAY,SAAA,kBAAwB,CAAA,CAAC,EAE5E,EAAS,EAAU,cAAc,sBAAsB,EAE7D,OAAO,GAAQ,aAAa,cAAc,CAAC,CAAC,CAAC,KAAK,WAAW,EAC7D,OAAO,GAAQ,SAAS,CAAC,CAAC,UAAU,aAAa,EACjD,OAAO,GAAQ,SAAS,CAAC,CAAC,UAAU,YAAY,CAClD,CAAC,EAED,GAAG,yCAA4C,CAC7C,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAQ,QAAQ,SAAS,SAAA,eAAqB,CAAA,CAAC,EAEtE,EAAS,EAAU,cAAc,sBAAsB,EAE7D,OAAO,GAAQ,aAAa,cAAc,CAAC,CAAC,CAAC,KAAK,QAAQ,EAC1D,OAAO,GAAQ,SAAS,CAAC,CAAC,UAAU,UAAU,CAChD,CAAC,EAED,GAAG,gEAAmE,CACpE,EACE,EAAC,EAAD,CAAQ,QAAA,GACN,SAAA,EAAC,IAAD,CAAG,KAAK,UAAU,SAAA,aAAc,CAAA,CAC1B,CAAA,CACV,EAEA,IAAM,EAAO,EAAO,UAAU,OAAQ,CAAE,KAAM,aAAc,CAAC,EAE7D,OAAO,EAAK,OAAO,CAAC,CAAC,KAAK,GAAG,EAC7B,OAAO,EAAK,aAAa,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CACtD,CAAC,EAED,GAAG,yEAA4E,CAC7E,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAY,UAAU,aAAe,CAAA,CAAC,EAE7D,EAAO,EAAU,cAAc,2BAA2B,EAEhE,OAAO,GAAM,OAAO,CAAC,CAAC,KAAK,MAAM,EACjC,OAAO,GAAM,aAAa,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,EACrD,OAAO,GAAM,SAAS,CAAC,CAAC,UAAU,aAAa,CACjD,CAAC,EAED,GAAG,wEAA2E,CAC5E,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAe,UAAU,iBAAiB,SAAA,SAAsB,CAAA,CAAC,EAExF,EAAU,EAAU,cAAc,8BAA8B,EAEtE,OAAO,GAAS,OAAO,CAAC,CAAC,KAAK,MAAM,EACpC,OAAO,GAAS,WAAW,CAAC,CAAC,KAAK,SAAS,EAC3C,OAAO,GAAS,SAAS,CAAC,CAAC,UAAU,gBAAgB,CACvD,CAAC,CACH,CAAC"}
@@ -1,16 +1,2 @@
1
- import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
- import { InputProps } from "./input.js";
3
- import { Modify, Replacement, Track } from "../hooks/use-mask.js";
4
- //#region src/components/mask-input.d.ts
5
- type MaskInputProps = InputProps & {
6
- mask: string;
7
- replacement?: string | Replacement;
8
- showMask?: boolean;
9
- separate?: boolean;
10
- track?: Track;
11
- modify?: Modify;
12
- };
13
- declare function MaskInput({ ref, mask, replacement, showMask, separate, track, modify, ...props }: MaskInputProps): import("react").JSX.Element;
14
- //#endregion
15
- export { MaskInput, MaskInputProps };
16
- //# sourceMappingURL=mask-input.d.ts.map
1
+ import { n as MaskInputProps, t as MaskInput } from "../mask-input-B4R5K1h6.js";
2
+ export { MaskInput, MaskInputProps };
@@ -1,2 +1 @@
1
- import"../rolldown-runtime-Bdj-bS2b.js";import{Input as e}from"./input.js";import{composeRefs as t}from"../lib/compose-refs.js";import{useMask as n}from"../hooks/use-mask.js";import{jsx as r}from"react/jsx-runtime";function MaskInput({ref:i,mask:a,replacement:o,showMask:s,separate:c,track:l,modify:u,...d}){let f=n({mask:a,replacement:o,showMask:s,separate:c,track:l,modify:u});return r(e,{"data-slot":`mask-input`,...d,ref:t(i,f)})}export{MaskInput};
2
- //# sourceMappingURL=mask-input.js.map
1
+ import{t as e}from"../mask-input-ssK7U_Pl.js";export{e as MaskInput};
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1,2 @@
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{t as e}from"../use-mask-DBvFShXA.js";import{t}from"../mask-input-ssK7U_Pl.js";import{r as n}from"../react.esm-BkhVXJ8s.js";import{jsx as r}from"react/jsx-runtime";const i=vi.hoisted(()=>({ref:vi.fn(),useMask:vi.fn()}));vi.mock(`../hooks/use-mask`,()=>({useMask:i.useMask})),describe(`MaskInput`,()=>{beforeEach(()=>{i.useMask.mockReturnValue(i.ref)}),it(`renders an input with the mask-input data-slot`,()=>{let{container:e}=n(r(t,{mask:`___-___`}));expect(e.querySelector(`[data-slot="mask-input"]`)).not.toBeNull()}),it(`wires the mask hook with the mask prop and related options`,()=>{n(r(t,{mask:`(___) ___-____`,replacement:{_:/\d/},showMask:!0,separate:!0})),expect(e).toHaveBeenCalledWith({mask:`(___) ___-____`,replacement:{_:/\d/},showMask:!0,separate:!0,track:void 0,modify:void 0})}),it(`attaches the mask ref returned by the hook to the rendered input element`,()=>{let{container:e}=n(r(t,{mask:`___-___`})),a=e.querySelector(`[data-slot="mask-input"]`);expect(i.ref).toHaveBeenCalledWith(a)}),it(`forwards standard input props such as placeholder and disabled`,()=>{let{container:e}=n(r(t,{mask:`___-___`,placeholder:`Enter code`,disabled:!0})),i=e.querySelector(`[data-slot="mask-input"]`);expect(i.placeholder).toBe(`Enter code`),expect(i.disabled).toBe(!0)}),it(`forwards an external ref alongside the mask ref`,()=>{let e={current:null},{container:i}=n(r(t,{mask:`___-___`,ref:e}));expect(e.current).toBe(i.querySelector(`[data-slot="mask-input"]`))})});
2
+ //# sourceMappingURL=mask-input.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mask-input.spec.js","names":[],"sources":["../../src/components/mask-input.spec.tsx"],"sourcesContent":["import { render } from '@testing-library/react'\n\nconst maskMock = vi.hoisted(() => {\n return {\n ref: vi.fn(),\n useMask: vi.fn()\n }\n})\n\nvi.mock('../hooks/use-mask', () => ({\n useMask: maskMock.useMask\n}))\n\nimport { useMask } from '../hooks/use-mask'\nimport { MaskInput } from './mask-input'\n\ndescribe('MaskInput', () => {\n beforeEach(() => {\n maskMock.useMask.mockReturnValue(maskMock.ref)\n })\n\n it('renders an input with the mask-input data-slot', () => {\n const { container } = render(<MaskInput mask=\"___-___\" />)\n\n expect(container.querySelector('[data-slot=\"mask-input\"]')).not.toBeNull()\n })\n\n it('wires the mask hook with the mask prop and related options', () => {\n render(<MaskInput mask=\"(___) ___-____\" replacement={{ _: /\\d/ }} showMask separate />)\n\n expect(useMask).toHaveBeenCalledWith({\n mask: '(___) ___-____',\n replacement: { _: /\\d/ },\n showMask: true,\n separate: true,\n track: undefined,\n modify: undefined\n })\n })\n\n it('attaches the mask ref returned by the hook to the rendered input element', () => {\n const { container } = render(<MaskInput mask=\"___-___\" />)\n\n const input = container.querySelector('[data-slot=\"mask-input\"]')\n\n expect(maskMock.ref).toHaveBeenCalledWith(input)\n })\n\n it('forwards standard input props such as placeholder and disabled', () => {\n const { container } = render(<MaskInput mask=\"___-___\" placeholder=\"Enter code\" disabled />)\n\n const input = container.querySelector('[data-slot=\"mask-input\"]') as HTMLInputElement\n\n expect(input.placeholder).toBe('Enter code')\n expect(input.disabled).toBe(true)\n })\n\n it('forwards an external ref alongside the mask ref', () => {\n const ref = { current: null as HTMLInputElement | null }\n\n const { container } = render(<MaskInput mask=\"___-___\" ref={ref} />)\n\n expect(ref.current).toBe(container.querySelector('[data-slot=\"mask-input\"]'))\n })\n})\n"],"mappings":"kNAEA,MAAM,EAAW,GAAG,aACX,CACL,IAAK,GAAG,GAAG,EACX,QAAS,GAAG,GAAG,CACjB,EACD,EAED,GAAG,KAAK,yBAA4B,CAClC,QAAS,EAAS,OACpB,EAAE,EAKF,SAAS,gBAAmB,CAC1B,eAAiB,CACf,EAAS,QAAQ,gBAAgB,EAAS,GAAG,CAC/C,CAAC,EAED,GAAG,qDAAwD,CACzD,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAW,KAAK,SAAW,CAAA,CAAC,EAEzD,OAAO,EAAU,cAAc,0BAA0B,CAAC,CAAC,CAAC,IAAI,SAAS,CAC3E,CAAC,EAED,GAAG,iEAAoE,CACrE,EAAO,EAAC,EAAD,CAAW,KAAK,iBAAiB,YAAa,CAAE,EAAG,IAAK,EAAG,SAAA,GAAS,SAAA,EAAU,CAAA,CAAC,EAEtF,OAAO,CAAO,CAAC,CAAC,qBAAqB,CACnC,KAAM,iBACN,YAAa,CAAE,EAAG,IAAK,EACvB,SAAU,GACV,SAAU,GACV,MAAO,IAAA,GACP,OAAQ,IAAA,EACV,CAAC,CACH,CAAC,EAED,GAAG,+EAAkF,CACnF,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAW,KAAK,SAAW,CAAA,CAAC,EAEnD,EAAQ,EAAU,cAAc,0BAA0B,EAEhE,OAAO,EAAS,GAAG,CAAC,CAAC,qBAAqB,CAAK,CACjD,CAAC,EAED,GAAG,qEAAwE,CACzE,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAW,KAAK,UAAU,YAAY,aAAa,SAAA,EAAU,CAAA,CAAC,EAErF,EAAQ,EAAU,cAAc,0BAA0B,EAEhE,OAAO,EAAM,WAAW,CAAC,CAAC,KAAK,YAAY,EAC3C,OAAO,EAAM,QAAQ,CAAC,CAAC,KAAK,EAAI,CAClC,CAAC,EAED,GAAG,sDAAyD,CAC1D,IAAM,EAAM,CAAE,QAAS,IAAgC,EAEjD,CAAE,aAAc,EAAO,EAAC,EAAD,CAAW,KAAK,UAAe,KAAM,CAAA,CAAC,EAEnE,OAAO,EAAI,OAAO,CAAC,CAAC,KAAK,EAAU,cAAc,0BAA0B,CAAC,CAC9E,CAAC,CACH,CAAC"}
@@ -1,14 +1,2 @@
1
- import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
- import * as React from "react";
3
- //#region src/components/native-select.d.ts
4
- type NativeSelectProps = Omit<React.ComponentProps<'select'>, 'size'> & {
5
- size?: 'sm' | 'md';
6
- };
7
- type NativeSelectOptionProps = React.ComponentProps<'option'>;
8
- type NativeSelectOptGroupProps = React.ComponentProps<'optgroup'>;
9
- declare function NativeSelect({ className, id, size, ...props }: NativeSelectProps): React.JSX.Element;
10
- declare function NativeSelectOption({ ...props }: NativeSelectOptionProps): React.JSX.Element;
11
- declare function NativeSelectOptGroup({ className, ...props }: NativeSelectOptGroupProps): React.JSX.Element;
12
- //#endregion
13
- export { NativeSelect, NativeSelectOptGroup, NativeSelectOptGroupProps, NativeSelectOption, NativeSelectOptionProps, NativeSelectProps };
14
- //# sourceMappingURL=native-select.d.ts.map
1
+ import { a as NativeSelectOptionProps, i as NativeSelectOption, n as NativeSelectOptGroup, o as NativeSelectProps, r as NativeSelectOptGroupProps, t as NativeSelect } from "../native-select-BVmdMkHY.js";
2
+ export { NativeSelect, NativeSelectOptGroup, NativeSelectOptGroupProps, NativeSelectOption, NativeSelectOptionProps, NativeSelectProps };
@@ -1,2 +1 @@
1
- import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{useFieldControlId as t}from"./field.js";import{IconSelector as n}from"@tabler/icons-react";import{jsx as r,jsxs as i}from"react/jsx-runtime";function NativeSelect({className:a,id:o,size:s=`md`,...c}){let l=t(o);return i(`div`,{className:e(`group/native-select relative w-fit has-[select:disabled]:opacity-50`,a),"data-slot":`native-select-wrapper`,"data-size":s,children:[r(`select`,{id:l,"data-slot":`native-select`,"data-size":s,className:e(`border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 w-full min-w-0 appearance-none rounded-lg border bg-transparent py-1 pr-8 pl-2.5 text-sm transition-colors select-none outline-none`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3`,`aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,`placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground`,`data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5`,`disabled:pointer-events-none disabled:cursor-not-allowed`),...c}),r(n,{className:`text-muted-foreground top-1/2 right-2.5 size-4 -translate-y-1/2 pointer-events-none absolute select-none`,"aria-hidden":`true`,"data-slot":`native-select-icon`})]})}function NativeSelectOption({...e}){return r(`option`,{"data-slot":`native-select-option`,...e})}function NativeSelectOptGroup({className:t,...n}){return r(`optgroup`,{"data-slot":`native-select-optgroup`,className:e(t),...n})}export{NativeSelect,NativeSelectOptGroup,NativeSelectOption};
2
- //# sourceMappingURL=native-select.js.map
1
+ import{n as e,r as t,t as n}from"../native-select-DZW3Y7nq.js";export{n as NativeSelect,e as NativeSelectOptGroup,t as NativeSelectOption};
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1,2 @@
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{o as e,t}from"../field-DzR-XrO7.js";import{n,r,t as i}from"../native-select-DZW3Y7nq.js";import{a,n as o,r as s}from"../react.esm-BkhVXJ8s.js";import{jsx as c,jsxs as l}from"react/jsx-runtime";describe(`NativeSelect`,()=>{it(`renders a select with its wrapper, icon and default size`,()=>{let{container:e}=s(l(i,{children:[c(r,{value:`react`,children:`React`}),c(r,{value:`vue`,children:`Vue`})]})),t=e.querySelector(`[data-slot="native-select-wrapper"]`),n=e.querySelector(`[data-slot="native-select"]`),a=e.querySelector(`[data-slot="native-select-icon"]`);expect(t?.getAttribute(`data-size`)).toBe(`md`),expect(n?.tagName).toBe(`SELECT`),expect(n?.getAttribute(`data-size`)).toBe(`md`),expect(a?.getAttribute(`aria-hidden`)).toBe(`true`)}),it(`applies the sm size to both the wrapper and the select`,()=>{let{container:e}=s(c(i,{size:`sm`,children:c(r,{value:`a`,children:`A`})})),t=e.querySelector(`[data-slot="native-select-wrapper"]`),n=e.querySelector(`[data-slot="native-select"]`);expect(t?.getAttribute(`data-size`)).toBe(`sm`),expect(n?.getAttribute(`data-size`)).toBe(`sm`),expect(n?.className).toContain(`data-[size=sm]:h-7`)}),it(`updates the value when a different option is selected`,()=>{s(l(i,{defaultValue:`react`,children:[c(r,{value:`react`,children:`React`}),c(r,{value:`vue`,children:`Vue`})]}));let e=a.getByRole(`combobox`);expect(e.value).toBe(`react`),o.change(e,{target:{value:`vue`}}),expect(e.value).toBe(`vue`)}),it(`groups options under an optgroup with the expected data-slot`,()=>{let{container:e}=s(c(i,{children:l(n,{label:`Frameworks`,children:[c(r,{value:`react`,children:`React`}),c(r,{value:`vue`,children:`Vue`})]})})),t=e.querySelector(`[data-slot="native-select-optgroup"]`);expect(t?.tagName).toBe(`OPTGROUP`),expect(t?.getAttribute(`label`)).toBe(`Frameworks`),expect(t?.querySelectorAll(`[data-slot="native-select-option"]`)).toHaveLength(2)}),it(`reflects the disabled state on the select element while keeping the static opacity utility class`,()=>{let{container:e}=s(c(i,{disabled:!0,children:c(r,{value:`a`,children:`A`})})),t=e.querySelector(`[data-slot="native-select-wrapper"]`),n=e.querySelector(`[data-slot="native-select"]`);expect(n.disabled).toBe(!0),expect(t?.className).toContain(`has-[select:disabled]:opacity-50`)}),it(`wires the generated Field control id onto the select when used inside a Field`,()=>{s(l(t,{children:[c(e,{children:`Framework`}),c(i,{children:c(r,{value:`react`,children:`React`})})]}));let n=a.getByLabelText(`Framework`),o=a.getByText(`Framework`);expect(n.getAttribute(`id`)).toBeTruthy(),expect(o.getAttribute(`for`)).toBe(n.getAttribute(`id`))}),it(`does not assign an id or throw when rendered outside a Field`,()=>{let{container:e}=s(c(i,{children:c(r,{value:`a`,children:`A`})}));expect(e.querySelector(`[data-slot="native-select"]`)?.getAttribute(`id`)).toBeNull()})});
2
+ //# sourceMappingURL=native-select.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-select.spec.js","names":[],"sources":["../../src/components/native-select.spec.tsx"],"sourcesContent":["import { fireEvent, render, screen } from '@testing-library/react'\n\nimport { Field, FieldLabel } from './field'\nimport { NativeSelect, NativeSelectOptGroup, NativeSelectOption } from './native-select'\n\ndescribe('NativeSelect', () => {\n it('renders a select with its wrapper, icon and default size', () => {\n const { container } = render(\n <NativeSelect>\n <NativeSelectOption value=\"react\">React</NativeSelectOption>\n <NativeSelectOption value=\"vue\">Vue</NativeSelectOption>\n </NativeSelect>\n )\n\n const wrapper = container.querySelector('[data-slot=\"native-select-wrapper\"]')\n const select = container.querySelector('[data-slot=\"native-select\"]')\n const icon = container.querySelector('[data-slot=\"native-select-icon\"]')\n\n expect(wrapper?.getAttribute('data-size')).toBe('md')\n expect(select?.tagName).toBe('SELECT')\n expect(select?.getAttribute('data-size')).toBe('md')\n expect(icon?.getAttribute('aria-hidden')).toBe('true')\n })\n\n it('applies the sm size to both the wrapper and the select', () => {\n const { container } = render(\n <NativeSelect size=\"sm\">\n <NativeSelectOption value=\"a\">A</NativeSelectOption>\n </NativeSelect>\n )\n\n const wrapper = container.querySelector('[data-slot=\"native-select-wrapper\"]')\n const select = container.querySelector('[data-slot=\"native-select\"]')\n\n expect(wrapper?.getAttribute('data-size')).toBe('sm')\n expect(select?.getAttribute('data-size')).toBe('sm')\n expect(select?.className).toContain('data-[size=sm]:h-7')\n })\n\n it('updates the value when a different option is selected', () => {\n render(\n <NativeSelect defaultValue=\"react\">\n <NativeSelectOption value=\"react\">React</NativeSelectOption>\n <NativeSelectOption value=\"vue\">Vue</NativeSelectOption>\n </NativeSelect>\n )\n\n const select = screen.getByRole('combobox') as HTMLSelectElement\n expect(select.value).toBe('react')\n\n fireEvent.change(select, { target: { value: 'vue' } })\n\n expect(select.value).toBe('vue')\n })\n\n it('groups options under an optgroup with the expected data-slot', () => {\n const { container } = render(\n <NativeSelect>\n <NativeSelectOptGroup label=\"Frameworks\">\n <NativeSelectOption value=\"react\">React</NativeSelectOption>\n <NativeSelectOption value=\"vue\">Vue</NativeSelectOption>\n </NativeSelectOptGroup>\n </NativeSelect>\n )\n\n const optgroup = container.querySelector('[data-slot=\"native-select-optgroup\"]')\n expect(optgroup?.tagName).toBe('OPTGROUP')\n expect(optgroup?.getAttribute('label')).toBe('Frameworks')\n expect(optgroup?.querySelectorAll('[data-slot=\"native-select-option\"]')).toHaveLength(2)\n })\n\n it('reflects the disabled state on the select element while keeping the static opacity utility class', () => {\n const { container } = render(\n <NativeSelect disabled>\n <NativeSelectOption value=\"a\">A</NativeSelectOption>\n </NativeSelect>\n )\n\n const wrapper = container.querySelector('[data-slot=\"native-select-wrapper\"]')\n const select = container.querySelector('[data-slot=\"native-select\"]') as HTMLSelectElement\n\n expect(select.disabled).toBe(true)\n expect(wrapper?.className).toContain('has-[select:disabled]:opacity-50')\n })\n\n it('wires the generated Field control id onto the select when used inside a Field', () => {\n render(\n <Field>\n <FieldLabel>Framework</FieldLabel>\n <NativeSelect>\n <NativeSelectOption value=\"react\">React</NativeSelectOption>\n </NativeSelect>\n </Field>\n )\n\n const select = screen.getByLabelText('Framework')\n const label = screen.getByText('Framework')\n\n expect(select.getAttribute('id')).toBeTruthy()\n expect(label.getAttribute('for')).toBe(select.getAttribute('id'))\n })\n\n it('does not assign an id or throw when rendered outside a Field', () => {\n const { container } = render(\n <NativeSelect>\n <NativeSelectOption value=\"a\">A</NativeSelectOption>\n </NativeSelect>\n )\n\n expect(container.querySelector('[data-slot=\"native-select\"]')?.getAttribute('id')).toBeNull()\n })\n})\n"],"mappings":"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"}
@@ -1,26 +1,2 @@
1
- import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
- import { NavigationMenu as NavigationMenu$1 } from "radix-ui";
3
- import * as React from "react";
4
- //#region src/components/navigation-menu.d.ts
5
- type NavigationMenuProps = React.ComponentProps<typeof NavigationMenu$1.Root> & {
6
- viewport?: boolean;
7
- };
8
- type NavigationMenuListProps = React.ComponentProps<typeof NavigationMenu$1.List>;
9
- type NavigationMenuItemProps = React.ComponentProps<typeof NavigationMenu$1.Item>;
10
- type NavigationMenuTriggerProps = React.ComponentProps<typeof NavigationMenu$1.Trigger>;
11
- type NavigationMenuContentProps = React.ComponentProps<typeof NavigationMenu$1.Content>;
12
- type NavigationMenuViewportProps = React.ComponentProps<typeof NavigationMenu$1.Viewport>;
13
- type NavigationMenuLinkProps = React.ComponentProps<typeof NavigationMenu$1.Link>;
14
- type NavigationMenuIndicatorProps = React.ComponentProps<typeof NavigationMenu$1.Indicator>;
15
- declare function NavigationMenu({ className, children, viewport, ...props }: NavigationMenuProps): React.JSX.Element;
16
- declare function NavigationMenuList({ className, ...props }: NavigationMenuListProps): React.JSX.Element;
17
- declare function NavigationMenuItem({ className, ...props }: NavigationMenuItemProps): React.JSX.Element;
18
- declare const navigationMenuTriggerStyle: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
19
- declare function NavigationMenuTrigger({ className, children, ...props }: NavigationMenuTriggerProps): React.JSX.Element;
20
- declare function NavigationMenuContent({ className, ...props }: NavigationMenuContentProps): React.JSX.Element;
21
- declare function NavigationMenuViewport({ className, ...props }: NavigationMenuViewportProps): React.JSX.Element;
22
- declare function NavigationMenuLink({ className, ...props }: NavigationMenuLinkProps): React.JSX.Element;
23
- declare function NavigationMenuIndicator({ className, ...props }: NavigationMenuIndicatorProps): React.JSX.Element;
24
- //#endregion
25
- export { NavigationMenu, NavigationMenuContent, NavigationMenuContentProps, NavigationMenuIndicator, NavigationMenuIndicatorProps, NavigationMenuItem, NavigationMenuItemProps, NavigationMenuLink, NavigationMenuLinkProps, NavigationMenuList, NavigationMenuListProps, NavigationMenuProps, NavigationMenuTrigger, NavigationMenuTriggerProps, NavigationMenuViewport, NavigationMenuViewportProps, navigationMenuTriggerStyle };
26
- //# sourceMappingURL=navigation-menu.d.ts.map
1
+ import { _ as navigationMenuTriggerStyle, a as NavigationMenuIndicatorProps, c as NavigationMenuLink, d as NavigationMenuListProps, f as NavigationMenuProps, g as NavigationMenuViewportProps, h as NavigationMenuViewport, i as NavigationMenuIndicator, l as NavigationMenuLinkProps, m as NavigationMenuTriggerProps, n as NavigationMenuContent, o as NavigationMenuItem, p as NavigationMenuTrigger, r as NavigationMenuContentProps, s as NavigationMenuItemProps, t as NavigationMenu, u as NavigationMenuList } from "../navigation-menu-siQVRMUF.js";
2
+ export { NavigationMenu, NavigationMenuContent, NavigationMenuContentProps, NavigationMenuIndicator, NavigationMenuIndicatorProps, NavigationMenuItem, NavigationMenuItemProps, NavigationMenuLink, NavigationMenuLinkProps, NavigationMenuList, NavigationMenuListProps, NavigationMenuProps, NavigationMenuTrigger, NavigationMenuTriggerProps, NavigationMenuViewport, NavigationMenuViewportProps, navigationMenuTriggerStyle };
@@ -1,2 +1 @@
1
- import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{IconChevronDown as t}from"@tabler/icons-react";import{NavigationMenu as n}from"radix-ui";import{jsx as r,jsxs as i}from"react/jsx-runtime";import{cva as a}from"class-variance-authority";function NavigationMenu({className:t,children:a,viewport:o=!0,...s}){return i(n.Root,{"data-slot":`navigation-menu`,"data-viewport":o,className:e(`group/navigation-menu relative flex max-w-max flex-1 items-center justify-center`,t),...s,children:[a,o&&r(NavigationMenuViewport,{})]})}function NavigationMenuList({className:t,...i}){return r(n.List,{"data-slot":`navigation-menu-list`,className:e(`group flex flex-1 list-none items-center justify-center gap-0`,t),...i})}function NavigationMenuItem({className:t,...i}){return r(n.Item,{"data-slot":`navigation-menu-item`,className:e(`relative`,t),...i})}const o=a(`group/navigation-menu-trigger inline-flex h-9 w-max items-center justify-center rounded-lg bg-background px-2.5 py-1.5 text-sm font-medium transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted data-open:bg-muted/50 data-open:hover:bg-muted data-open:focus:bg-muted`);function NavigationMenuTrigger({className:a,children:s,...c}){return i(n.Trigger,{"data-slot":`navigation-menu-trigger`,className:e(o(),`group`,a),...c,children:[s,` `,r(t,{className:e(`relative top-px ml-1 size-3 transition duration-300`,`group-data-popup-open/navigation-menu-trigger:rotate-180`,`group-data-open/navigation-menu-trigger:rotate-180`),"aria-hidden":`true`})]})}function NavigationMenuContent({className:t,...i}){return r(n.Content,{"data-slot":`navigation-menu-content`,className:e(`top-0 left-0 w-full p-1 ease-[cubic-bezier(0.22,1,0.36,1)] md:absolute md:w-auto`,`group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5`,`group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-lg`,`group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground`,`group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:ring-1`,`group-data-[viewport=false]/navigation-menu:ring-foreground/10 group-data-[viewport=false]/navigation-menu:duration-300`,`group-data-[viewport=false]/navigation-menu:data-open:animate-in`,`group-data-[viewport=false]/navigation-menu:data-open:fade-in-0`,`group-data-[viewport=false]/navigation-menu:data-open:zoom-in-95`,`group-data-[viewport=false]/navigation-menu:data-closed:animate-out`,`group-data-[viewport=false]/navigation-menu:data-closed:fade-out-0`,`group-data-[viewport=false]/navigation-menu:data-closed:zoom-out-95`,`data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52`,`data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52`,`data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in`,`data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out`,`**:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none`,t),...i})}function NavigationMenuViewport({className:t,...i}){return r(`div`,{className:e(`absolute top-full left-0 isolate z-50 flex justify-center`),children:r(n.Viewport,{"data-slot":`navigation-menu-viewport`,className:e(`origin-top-center relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-lg`,`bg-popover text-popover-foreground shadow ring-1 ring-foreground/10 duration-100`,`md:w-(--radix-navigation-menu-viewport-width)`,`data-open:animate-in data-open:zoom-in-90`,`data-closed:animate-out data-closed:zoom-out-90`,t),...i})})}function NavigationMenuLink({className:t,...i}){return r(n.Link,{"data-slot":`navigation-menu-link`,className:e(`flex items-center gap-2 rounded-lg p-2 text-sm transition-all outline-none hover:bg-muted focus:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-1 in-data-[slot=navigation-menu-content]:rounded-md data-active:bg-muted/50 data-active:hover:bg-muted data-active:focus:bg-muted [&_svg:not([class*='size-'])]:size-4`,t),...i})}function NavigationMenuIndicator({className:t,...i}){return r(n.Indicator,{"data-slot":`navigation-menu-indicator`,className:e(`top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:animate-in data-[state=visible]:fade-in`,t),...i,children:r(`div`,{className:`relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md`})})}export{NavigationMenu,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuTrigger,NavigationMenuViewport,o as navigationMenuTriggerStyle};
2
- //# sourceMappingURL=navigation-menu.js.map
1
+ import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c}from"../navigation-menu-B6drNL1-.js";export{c as NavigationMenu,i as NavigationMenuContent,o as NavigationMenuIndicator,n as NavigationMenuItem,e as NavigationMenuLink,a as NavigationMenuList,s as NavigationMenuTrigger,t as NavigationMenuViewport,r as navigationMenuTriggerStyle};
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1,2 @@
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{a as e,i as t,l as n,n as r,o as i,r as a,s as o,t as s}from"../navigation-menu-B6drNL1-.js";import{a as c,n as l,r as u}from"../react.esm-BkhVXJ8s.js";import{jsx as d,jsxs as f}from"react/jsx-runtime";if(globalThis.ResizeObserver===void 0){class ResizeObserverStub{observe(){}unobserve(){}disconnect(){}}globalThis.ResizeObserver=ResizeObserverStub}describe(`NavigationMenu`,()=>{it(`renders the root with its data-slot and data-viewport attribute`,()=>{let{container:n}=u(d(s,{children:d(i,{children:d(t,{children:d(e,{href:`#`,children:`Home`})})})})),r=n.querySelector(`[data-slot="navigation-menu"]`);expect(r?.getAttribute(`data-viewport`)).toBe(`true`)}),it(`mounts the viewport once an item opens when viewport defaults to true`,async()=>{let{container:n}=u(d(s,{children:d(i,{children:f(t,{children:[d(o,{children:`Products`}),d(r,{children:d(e,{href:`/widgets`,children:`Widgets`})})]})})}));expect(n.querySelector(`[data-slot="navigation-menu-viewport"]`)).toBeNull(),l.click(c.getByRole(`button`,{name:/Products/})),await c.findByText(`Widgets`),expect(n.querySelector(`[data-slot="navigation-menu-viewport"]`)).not.toBeNull()}),it(`never mounts a viewport when viewport is false, even once an item opens`,async()=>{let{container:n}=u(d(s,{viewport:!1,children:d(i,{children:f(t,{children:[d(o,{children:`Products`}),d(r,{children:d(e,{href:`/widgets`,children:`Widgets`})})]})})})),a=n.querySelector(`[data-slot="navigation-menu"]`);expect(a?.getAttribute(`data-viewport`)).toBe(`false`),l.click(c.getByRole(`button`,{name:/Products/})),await c.findByText(`Widgets`),expect(n.querySelector(`[data-slot="navigation-menu-viewport"]`)).toBeNull()}),describe(`NavigationMenuTrigger`,()=>{it(`opens its content when clicked and exposes the open state`,async()=>{u(d(s,{children:d(i,{children:f(t,{children:[d(o,{children:`Products`}),d(r,{children:d(e,{href:`/widgets`,children:`Widgets`})})]})})}));let n=c.getByRole(`button`,{name:/Products/});expect(n.getAttribute(`aria-expanded`)).toBe(`false`),expect(n.getAttribute(`data-slot`)).toBe(`navigation-menu-trigger`),l.click(n),expect(n.getAttribute(`aria-expanded`)).toBe(`true`),expect(await c.findByText(`Widgets`)).not.toBeNull()}),it(`renders inline content (no viewport) when viewport is false`,async()=>{let{container:n}=u(d(s,{viewport:!1,children:d(i,{children:f(t,{children:[d(o,{children:`Products`}),d(r,{children:d(e,{href:`/widgets`,children:`Widgets`})})]})})}));l.click(c.getByRole(`button`,{name:/Products/}));let a=await c.findByText(`Widgets`);expect(a.closest(`[data-slot="navigation-menu-content"]`)).not.toBeNull(),expect(n.querySelector(`[data-slot="navigation-menu-viewport"]`)).toBeNull()})}),it(`renders NavigationMenuLink with data-active and its focus/hover classes`,()=>{u(d(s,{viewport:!1,children:d(i,{children:d(t,{children:d(e,{href:`#`,active:!0,children:`Current page`})})})}));let n=c.getByRole(`link`,{name:`Current page`});expect(n.getAttribute(`data-slot`)).toBe(`navigation-menu-link`),expect(n.getAttribute(`data-active`)).toBe(``),expect(n.getAttribute(`aria-current`)).toBe(`page`),expect(n.className).toContain(`rounded-lg`)}),it(`renders NavigationMenuItem and NavigationMenuList with their data-slots`,()=>{let{container:n}=u(d(s,{viewport:!1,children:d(i,{children:d(t,{children:d(e,{href:`#`,children:`Home`})})})}));expect(n.querySelector(`[data-slot="navigation-menu-list"]`)).not.toBeNull(),expect(n.querySelector(`[data-slot="navigation-menu-item"]`)).not.toBeNull()}),it(`renders NavigationMenuIndicator without throwing`,()=>{let{container:n}=u(d(s,{viewport:!1,children:f(i,{children:[d(t,{children:d(e,{href:`#`,children:`Home`})}),d(a,{})]})}));expect(n.querySelector(`[data-slot="navigation-menu-list"]`)).not.toBeNull()}),it(`exposes navigationMenuTriggerStyle as a reusable class string`,()=>{expect(n()).toContain(`inline-flex`)})});
2
+ //# sourceMappingURL=navigation-menu.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-menu.spec.js","names":[],"sources":["../../src/components/navigation-menu.spec.tsx"],"sourcesContent":["import { fireEvent, render, screen } from '@testing-library/react'\n\nimport {\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuIndicator,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuTrigger,\n navigationMenuTriggerStyle\n} from './navigation-menu'\n\n// Radix's navigation menu unconditionally instantiates a ResizeObserver once its viewport/content\n// mounts (to measure and animate the viewport size). jsdom has no native implementation.\nif (typeof globalThis.ResizeObserver === 'undefined') {\n class ResizeObserverStub {\n observe() {}\n unobserve() {}\n disconnect() {}\n }\n\n globalThis.ResizeObserver = ResizeObserverStub\n}\n\ndescribe('NavigationMenu', () => {\n it('renders the root with its data-slot and data-viewport attribute', () => {\n const { container } = render(\n <NavigationMenu>\n <NavigationMenuList>\n <NavigationMenuItem>\n <NavigationMenuLink href=\"#\">Home</NavigationMenuLink>\n </NavigationMenuItem>\n </NavigationMenuList>\n </NavigationMenu>\n )\n\n const root = container.querySelector('[data-slot=\"navigation-menu\"]')\n expect(root?.getAttribute('data-viewport')).toBe('true')\n })\n\n it('mounts the viewport once an item opens when viewport defaults to true', async () => {\n const { container } = render(\n <NavigationMenu>\n <NavigationMenuList>\n <NavigationMenuItem>\n <NavigationMenuTrigger>Products</NavigationMenuTrigger>\n <NavigationMenuContent>\n <NavigationMenuLink href=\"/widgets\">Widgets</NavigationMenuLink>\n </NavigationMenuContent>\n </NavigationMenuItem>\n </NavigationMenuList>\n </NavigationMenu>\n )\n\n expect(container.querySelector('[data-slot=\"navigation-menu-viewport\"]')).toBeNull()\n\n fireEvent.click(screen.getByRole('button', { name: /Products/ }))\n await screen.findByText('Widgets')\n\n expect(container.querySelector('[data-slot=\"navigation-menu-viewport\"]')).not.toBeNull()\n })\n\n it('never mounts a viewport when viewport is false, even once an item opens', async () => {\n const { container } = render(\n <NavigationMenu viewport={false}>\n <NavigationMenuList>\n <NavigationMenuItem>\n <NavigationMenuTrigger>Products</NavigationMenuTrigger>\n <NavigationMenuContent>\n <NavigationMenuLink href=\"/widgets\">Widgets</NavigationMenuLink>\n </NavigationMenuContent>\n </NavigationMenuItem>\n </NavigationMenuList>\n </NavigationMenu>\n )\n\n const root = container.querySelector('[data-slot=\"navigation-menu\"]')\n expect(root?.getAttribute('data-viewport')).toBe('false')\n\n fireEvent.click(screen.getByRole('button', { name: /Products/ }))\n await screen.findByText('Widgets')\n\n expect(container.querySelector('[data-slot=\"navigation-menu-viewport\"]')).toBeNull()\n })\n\n describe('NavigationMenuTrigger', () => {\n it('opens its content when clicked and exposes the open state', async () => {\n render(\n <NavigationMenu>\n <NavigationMenuList>\n <NavigationMenuItem>\n <NavigationMenuTrigger>Products</NavigationMenuTrigger>\n <NavigationMenuContent>\n <NavigationMenuLink href=\"/widgets\">Widgets</NavigationMenuLink>\n </NavigationMenuContent>\n </NavigationMenuItem>\n </NavigationMenuList>\n </NavigationMenu>\n )\n\n const trigger = screen.getByRole('button', { name: /Products/ })\n expect(trigger.getAttribute('aria-expanded')).toBe('false')\n expect(trigger.getAttribute('data-slot')).toBe('navigation-menu-trigger')\n\n fireEvent.click(trigger)\n\n expect(trigger.getAttribute('aria-expanded')).toBe('true')\n expect(await screen.findByText('Widgets')).not.toBeNull()\n })\n\n it('renders inline content (no viewport) when viewport is false', async () => {\n const { container } = render(\n <NavigationMenu viewport={false}>\n <NavigationMenuList>\n <NavigationMenuItem>\n <NavigationMenuTrigger>Products</NavigationMenuTrigger>\n <NavigationMenuContent>\n <NavigationMenuLink href=\"/widgets\">Widgets</NavigationMenuLink>\n </NavigationMenuContent>\n </NavigationMenuItem>\n </NavigationMenuList>\n </NavigationMenu>\n )\n\n fireEvent.click(screen.getByRole('button', { name: /Products/ }))\n\n const content = await screen.findByText('Widgets')\n expect(content.closest('[data-slot=\"navigation-menu-content\"]')).not.toBeNull()\n expect(container.querySelector('[data-slot=\"navigation-menu-viewport\"]')).toBeNull()\n })\n })\n\n it('renders NavigationMenuLink with data-active and its focus/hover classes', () => {\n render(\n <NavigationMenu viewport={false}>\n <NavigationMenuList>\n <NavigationMenuItem>\n <NavigationMenuLink href=\"#\" active>\n Current page\n </NavigationMenuLink>\n </NavigationMenuItem>\n </NavigationMenuList>\n </NavigationMenu>\n )\n\n const link = screen.getByRole('link', { name: 'Current page' })\n expect(link.getAttribute('data-slot')).toBe('navigation-menu-link')\n expect(link.getAttribute('data-active')).toBe('')\n expect(link.getAttribute('aria-current')).toBe('page')\n expect(link.className).toContain('rounded-lg')\n })\n\n it('renders NavigationMenuItem and NavigationMenuList with their data-slots', () => {\n const { container } = render(\n <NavigationMenu viewport={false}>\n <NavigationMenuList>\n <NavigationMenuItem>\n <NavigationMenuLink href=\"#\">Home</NavigationMenuLink>\n </NavigationMenuItem>\n </NavigationMenuList>\n </NavigationMenu>\n )\n\n expect(container.querySelector('[data-slot=\"navigation-menu-list\"]')).not.toBeNull()\n expect(container.querySelector('[data-slot=\"navigation-menu-item\"]')).not.toBeNull()\n })\n\n it('renders NavigationMenuIndicator without throwing', () => {\n const { container } = render(\n <NavigationMenu viewport={false}>\n <NavigationMenuList>\n <NavigationMenuItem>\n <NavigationMenuLink href=\"#\">Home</NavigationMenuLink>\n </NavigationMenuItem>\n <NavigationMenuIndicator />\n </NavigationMenuList>\n </NavigationMenu>\n )\n\n expect(container.querySelector('[data-slot=\"navigation-menu-list\"]')).not.toBeNull()\n })\n\n it('exposes navigationMenuTriggerStyle as a reusable class string', () => {\n expect(navigationMenuTriggerStyle()).toContain('inline-flex')\n })\n})\n"],"mappings":"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"}
@@ -1,35 +1,2 @@
1
- import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
- import { VariantProps } from "class-variance-authority";
3
- import { ReactNode } from "react";
4
- import { NumberField as NumberField$1 } from "@base-ui/react/number-field";
5
- //#region src/components/number-field.d.ts
6
- declare const numberFieldGroupVariants: (props?: ({
7
- size?: "lg" | "md" | "sm" | null | undefined;
8
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
- declare const numberFieldButtonVariants: (props?: ({
10
- size?: "lg" | "md" | "sm" | null | undefined;
11
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
- declare const numberFieldInputVariants: (props?: ({
13
- size?: "lg" | "md" | "sm" | null | undefined;
14
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
15
- type NumberFieldProps = NumberField$1.Root.Props & VariantProps<typeof numberFieldGroupVariants>;
16
- declare function NumberField({ id, className, size, ...props }: NumberFieldProps): import("react").JSX.Element;
17
- type NumberFieldGroupProps = NumberField$1.Group.Props & Partial<VariantProps<typeof numberFieldGroupVariants>>;
18
- declare function NumberFieldGroup({ className, size: sizeProp, ...props }: NumberFieldGroupProps): import("react").JSX.Element;
19
- type NumberFieldDecrementProps = NumberField$1.Decrement.Props & Partial<VariantProps<typeof numberFieldButtonVariants>> & {
20
- children?: React.ReactNode;
21
- };
22
- declare function NumberFieldDecrement({ className, size: sizeProp, children, ...props }: NumberFieldDecrementProps): import("react").JSX.Element;
23
- type NumberFieldIncrementProps = NumberField$1.Increment.Props & Partial<VariantProps<typeof numberFieldButtonVariants>> & {
24
- children?: ReactNode;
25
- };
26
- declare function NumberFieldIncrement({ className, size: sizeProp, children, ...props }: NumberFieldIncrementProps): import("react").JSX.Element;
27
- type NumberFieldInputProps = NumberField$1.Input.Props & Partial<VariantProps<typeof numberFieldInputVariants>>;
28
- declare function NumberFieldInput({ id, className, size: sizeProp, ...props }: NumberFieldInputProps): import("react").JSX.Element;
29
- type NumberFieldScrubAreaProps = NumberField$1.ScrubArea.Props & {
30
- label: string;
31
- };
32
- declare function NumberFieldScrubArea({ className, label, ...props }: NumberFieldScrubAreaProps): import("react").JSX.Element;
33
- //#endregion
34
- export { NumberField, NumberFieldDecrement, NumberFieldDecrementProps, NumberFieldGroup, NumberFieldGroupProps, NumberFieldIncrement, NumberFieldIncrementProps, NumberFieldInput, NumberFieldInputProps, NumberFieldProps, NumberFieldScrubArea, NumberFieldScrubAreaProps };
35
- //# sourceMappingURL=number-field.d.ts.map
1
+ import { a as NumberFieldGroupProps, c as NumberFieldInput, d as NumberFieldScrubArea, f as NumberFieldScrubAreaProps, i as NumberFieldGroup, l as NumberFieldInputProps, n as NumberFieldDecrement, o as NumberFieldIncrement, r as NumberFieldDecrementProps, s as NumberFieldIncrementProps, t as NumberField, u as NumberFieldProps } from "../number-field-IdgO_BUa.js";
2
+ export { NumberField, NumberFieldDecrement, NumberFieldDecrementProps, NumberFieldGroup, NumberFieldGroupProps, NumberFieldIncrement, NumberFieldIncrementProps, NumberFieldInput, NumberFieldInputProps, NumberFieldProps, NumberFieldScrubArea, NumberFieldScrubAreaProps };
@@ -1,2 +1 @@
1
- import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{Label as t}from"./label.js";import{useFieldControlId as n}from"./field.js";import{IconMinus as r,IconPlus as i}from"@tabler/icons-react";import{jsx as a,jsxs as o}from"react/jsx-runtime";import{cva as s}from"class-variance-authority";import{createContext as c,useContext as l,useId as u}from"react";import{NumberField as d}from"@base-ui/react/number-field";const f=c(null),p=s(`relative flex w-full justify-between border border-input data-disabled:pointer-events-none data-disabled:opacity-50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive focus-within:has-aria-invalid:border-destructive focus-within:has-aria-invalid:ring-destructive/20 dark:focus-within:has-aria-invalid:ring-destructive/40 rounded-lg bg-transparent dark:bg-input/30 transition-colors focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-3`,{variants:{size:{sm:`h-7 text-sm`,md:`h-8 text-sm`,lg:`h-9 text-sm`}},defaultVariants:{size:`md`}}),m=s(`relative flex shrink-0 cursor-pointer items-center justify-center transition-colors pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 hover:bg-accent`,{variants:{size:{sm:`px-1.5 [&_svg:not([class*='size-'])]:size-3.5`,md:`px-2 [&_svg:not([class*='size-'])]:size-4`,lg:`px-2.5 [&_svg:not([class*='size-'])]:size-4`}},defaultVariants:{size:`md`}}),h=s(`w-full min-w-0 flex-1 bg-transparent text-center tabular-nums outline-none`,{variants:{size:{sm:`px-2 py-0.5`,md:`px-2.5 py-1`,lg:`px-2.5 py-1.5`}},defaultVariants:{size:`md`}});function NumberField({id:t,className:r,size:i=`md`,...o}){let s=u(),c=n(t)??s,l=i??`md`;return a(f.Provider,{value:{fieldId:c,size:l},children:a(d.Root,{className:e(`flex w-full flex-col items-start gap-2`,r),"data-size":l,"data-slot":`number-field`,...o})})}function NumberFieldGroup({className:t,size:n,...r}){let i=l(f);if(!i)throw Error(`NumberFieldGroup must be used within a NumberField component.`);let o=n??i.size;return a(d.Group,{className:e(p({size:o}),t),"data-slot":`number-field-group`,...r})}function NumberFieldDecrement({className:t,size:n,children:i,...o}){let s=l(f);if(!s)throw Error(`NumberFieldDecrement must be used within a NumberField component.`);let c=n??s.size;return a(d.Decrement,{className:e(m({size:c}),`rounded-s-lg border-e-0`,t),"data-slot":`number-field-decrement`,...o,children:i??a(r,{})})}function NumberFieldIncrement({className:t,size:n,children:r,...o}){let s=l(f);if(!s)throw Error(`NumberFieldIncrement must be used within a NumberField component.`);let c=n??s.size;return a(d.Increment,{className:e(m({size:c}),`rounded-e-lg border-s-0`,t),"data-slot":`number-field-increment`,...o,children:r??a(i,{})})}function NumberFieldInput({id:t,className:n,size:r,...i}){let o=l(f);if(!o)throw Error(`NumberFieldInput must be used within a NumberField component.`);let s=r??o.size;return a(d.Input,{id:t??o.fieldId,className:e(h({size:s}),n),"data-slot":`number-field-input`,...i})}function NumberFieldScrubArea({className:n,label:r,...i}){let s=l(f);if(!s)throw Error(`NumberFieldScrubArea must be used within a NumberField component for accessibility.`);return o(d.ScrubArea,{className:e(`flex cursor-ew-resize`,n),"data-slot":`number-field-scrub-area`,...i,children:[a(t,{className:`cursor-ew-resize`,htmlFor:s.fieldId,children:r}),a(d.ScrubAreaCursor,{className:`drop-shadow-[0_1px_1px_#0008] filter`,children:a(CursorGrowIcon,{})})]})}function CursorGrowIcon(e){return a(`svg`,{"aria-hidden":`true`,fill:`black`,height:`14`,stroke:`white`,viewBox:`0 0 24 14`,width:`26`,xmlns:`http://www.w3.org/2000/svg`,...e,children:a(`path`,{d:`M19.5 5.5L6.49737 5.51844V2L1 6.9999L6.5 12L6.49737 8.5L19.5 8.5V12L25 6.9999L19.5 2V5.5Z`})})}export{NumberField,NumberFieldDecrement,NumberFieldGroup,NumberFieldIncrement,NumberFieldInput,NumberFieldScrubArea};
2
- //# sourceMappingURL=number-field.js.map
1
+ import{a as e,i as t,n,o as r,r as i,t as a}from"../number-field-rEMfZa6A.js";export{a as NumberField,n as NumberFieldDecrement,i as NumberFieldGroup,t as NumberFieldIncrement,e as NumberFieldInput,r as NumberFieldScrubArea};
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1,2 @@
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{o as e,t}from"../field-DzR-XrO7.js";import{a as n,i as r,n as i,o as a,r as o,t as s}from"../number-field-rEMfZa6A.js";import{a as c,n as l,r as u}from"../react.esm-BkhVXJ8s.js";import{jsx as d,jsxs as f}from"react/jsx-runtime";function renderNumberField(e={}){return u(d(s,{...e,children:f(o,{children:[d(i,{}),d(n,{}),d(r,{})]})}))}describe(`NumberField`,()=>{it(`renders the root with its data-slot and default size`,()=>{let{container:e}=renderNumberField({defaultValue:0}),t=e.querySelector(`[data-slot="number-field"]`);expect(t).not.toBeNull(),expect(t?.getAttribute(`data-size`)).toBe(`md`)}),it(`increments and decrements the value via the stepper buttons`,()=>{let e=vi.fn();renderNumberField({defaultValue:5,onValueChange:e});let t=c.getByRole(`textbox`),n=c.getByRole(`button`,{name:`Increase`}),r=c.getByRole(`button`,{name:`Decrease`});l.click(n),expect(t.value).toBe(`6`),expect(e).toHaveBeenLastCalledWith(6,expect.anything()),l.click(r),l.click(r),expect(t.value).toBe(`4`)}),it(`respects min/max boundaries when stepping`,()=>{renderNumberField({defaultValue:10,min:0,max:10});let e=c.getByRole(`textbox`),t=c.getByRole(`button`,{name:`Increase`});l.click(t),expect(e.value).toBe(`10`)}),it(`disables the stepper buttons and input when disabled`,()=>{renderNumberField({defaultValue:0,disabled:!0}),expect(c.getByRole(`button`,{name:`Increase`}).disabled).toBe(!0),expect(c.getByRole(`button`,{name:`Decrease`}).disabled).toBe(!0),expect(c.getByRole(`textbox`).disabled).toBe(!0)}),describe(`NumberFieldGroup`,()=>{it(`applies the size variant classes`,()=>{let{container:e}=u(d(s,{defaultValue:0,size:`lg`,children:d(o,{children:d(n,{})})})),t=e.querySelector(`[data-slot="number-field-group"]`);expect(t?.className).toContain(`h-9`)}),it(`throws when rendered outside a NumberField`,()=>{let e=vi.spyOn(console,`error`).mockImplementation(()=>{});expect(()=>u(d(o,{}))).toThrow(`NumberFieldGroup must be used within a NumberField component.`),e.mockRestore()})}),describe(`NumberFieldIncrement / NumberFieldDecrement`,()=>{it(`throw when rendered outside a NumberField`,()=>{let e=vi.spyOn(console,`error`).mockImplementation(()=>{});expect(()=>u(d(r,{}))).toThrow(`NumberFieldIncrement must be used within a NumberField component.`),expect(()=>u(d(i,{}))).toThrow(`NumberFieldDecrement must be used within a NumberField component.`),e.mockRestore()})}),describe(`NumberFieldInput`,()=>{it(`throws when rendered outside a NumberField`,()=>{let e=vi.spyOn(console,`error`).mockImplementation(()=>{});expect(()=>u(d(n,{}))).toThrow(`NumberFieldInput must be used within a NumberField component.`),e.mockRestore()}),it(`wires the generated Field control id when used inside a Field`,()=>{u(f(t,{children:[d(e,{children:`Quantity`}),d(s,{defaultValue:1,children:d(o,{children:d(n,{})})})]}));let r=c.getByLabelText(`Quantity`),i=c.getByText(`Quantity`);expect(r.getAttribute(`id`)).toBeTruthy(),expect(i.getAttribute(`for`)).toBe(r.getAttribute(`id`))})}),describe(`NumberFieldScrubArea`,()=>{it(`renders a label wired to the field id and throws outside a NumberField`,()=>{let{container:e}=u(f(s,{defaultValue:0,children:[d(a,{label:`Drag to scrub`}),d(o,{children:d(n,{})})]})),t=c.getByText(`Drag to scrub`),r=e.querySelector(`[data-slot="number-field-input"]`);expect(t.getAttribute(`for`)).toBe(r?.getAttribute(`id`));let i=vi.spyOn(console,`error`).mockImplementation(()=>{});expect(()=>u(d(a,{label:`Standalone`}))).toThrow(`NumberFieldScrubArea must be used within a NumberField component for accessibility.`),i.mockRestore()})})});
2
+ //# sourceMappingURL=number-field.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-field.spec.js","names":[],"sources":["../../src/components/number-field.spec.tsx"],"sourcesContent":["import { fireEvent, render, screen } from '@testing-library/react'\n\nimport { Field, FieldLabel } from './field'\nimport {\n NumberField,\n NumberFieldDecrement,\n NumberFieldGroup,\n NumberFieldIncrement,\n NumberFieldInput,\n NumberFieldScrubArea\n} from './number-field'\n\nfunction renderNumberField(props: Partial<React.ComponentProps<typeof NumberField>> = {}) {\n return render(\n <NumberField {...props}>\n <NumberFieldGroup>\n <NumberFieldDecrement />\n <NumberFieldInput />\n <NumberFieldIncrement />\n </NumberFieldGroup>\n </NumberField>\n )\n}\n\ndescribe('NumberField', () => {\n it('renders the root with its data-slot and default size', () => {\n const { container } = renderNumberField({ defaultValue: 0 })\n const root = container.querySelector('[data-slot=\"number-field\"]')\n\n expect(root).not.toBeNull()\n expect(root?.getAttribute('data-size')).toBe('md')\n })\n\n it('increments and decrements the value via the stepper buttons', () => {\n const handleValueChange = vi.fn()\n renderNumberField({ defaultValue: 5, onValueChange: handleValueChange })\n\n const input = screen.getByRole('textbox') as HTMLInputElement\n const increment = screen.getByRole('button', { name: 'Increase' })\n const decrement = screen.getByRole('button', { name: 'Decrease' })\n\n fireEvent.click(increment)\n expect(input.value).toBe('6')\n expect(handleValueChange).toHaveBeenLastCalledWith(6, expect.anything())\n\n fireEvent.click(decrement)\n fireEvent.click(decrement)\n expect(input.value).toBe('4')\n })\n\n it('respects min/max boundaries when stepping', () => {\n renderNumberField({ defaultValue: 10, min: 0, max: 10 })\n\n const input = screen.getByRole('textbox') as HTMLInputElement\n const increment = screen.getByRole('button', { name: 'Increase' })\n\n fireEvent.click(increment)\n\n expect(input.value).toBe('10')\n })\n\n it('disables the stepper buttons and input when disabled', () => {\n renderNumberField({ defaultValue: 0, disabled: true })\n\n expect((screen.getByRole('button', { name: 'Increase' }) as HTMLButtonElement).disabled).toBe(true)\n expect((screen.getByRole('button', { name: 'Decrease' }) as HTMLButtonElement).disabled).toBe(true)\n expect((screen.getByRole('textbox') as HTMLInputElement).disabled).toBe(true)\n })\n\n describe('NumberFieldGroup', () => {\n it('applies the size variant classes', () => {\n const { container } = render(\n <NumberField defaultValue={0} size=\"lg\">\n <NumberFieldGroup>\n <NumberFieldInput />\n </NumberFieldGroup>\n </NumberField>\n )\n\n const group = container.querySelector('[data-slot=\"number-field-group\"]')\n expect(group?.className).toContain('h-9')\n })\n\n it('throws when rendered outside a NumberField', () => {\n const consoleError = vi.spyOn(console, 'error').mockImplementation(() => {})\n\n expect(() => render(<NumberFieldGroup />)).toThrow(\n 'NumberFieldGroup must be used within a NumberField component.'\n )\n\n consoleError.mockRestore()\n })\n })\n\n describe('NumberFieldIncrement / NumberFieldDecrement', () => {\n it('throw when rendered outside a NumberField', () => {\n const consoleError = vi.spyOn(console, 'error').mockImplementation(() => {})\n\n expect(() => render(<NumberFieldIncrement />)).toThrow(\n 'NumberFieldIncrement must be used within a NumberField component.'\n )\n expect(() => render(<NumberFieldDecrement />)).toThrow(\n 'NumberFieldDecrement must be used within a NumberField component.'\n )\n\n consoleError.mockRestore()\n })\n })\n\n describe('NumberFieldInput', () => {\n it('throws when rendered outside a NumberField', () => {\n const consoleError = vi.spyOn(console, 'error').mockImplementation(() => {})\n\n expect(() => render(<NumberFieldInput />)).toThrow(\n 'NumberFieldInput must be used within a NumberField component.'\n )\n\n consoleError.mockRestore()\n })\n\n it('wires the generated Field control id when used inside a Field', () => {\n render(\n <Field>\n <FieldLabel>Quantity</FieldLabel>\n <NumberField defaultValue={1}>\n <NumberFieldGroup>\n <NumberFieldInput />\n </NumberFieldGroup>\n </NumberField>\n </Field>\n )\n\n const input = screen.getByLabelText('Quantity')\n const label = screen.getByText('Quantity')\n\n expect(input.getAttribute('id')).toBeTruthy()\n expect(label.getAttribute('for')).toBe(input.getAttribute('id'))\n })\n })\n\n describe('NumberFieldScrubArea', () => {\n it('renders a label wired to the field id and throws outside a NumberField', () => {\n const { container } = render(\n <NumberField defaultValue={0}>\n <NumberFieldScrubArea label=\"Drag to scrub\" />\n <NumberFieldGroup>\n <NumberFieldInput />\n </NumberFieldGroup>\n </NumberField>\n )\n\n const label = screen.getByText('Drag to scrub')\n const input = container.querySelector('[data-slot=\"number-field-input\"]')\n\n expect(label.getAttribute('for')).toBe(input?.getAttribute('id'))\n\n const consoleError = vi.spyOn(console, 'error').mockImplementation(() => {})\n expect(() => render(<NumberFieldScrubArea label=\"Standalone\" />)).toThrow(\n 'NumberFieldScrubArea must be used within a NumberField component for accessibility.'\n )\n consoleError.mockRestore()\n })\n })\n})\n"],"mappings":"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"}