@docyrus/shadcn 1.1.0 → 1.2.1

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 (766) hide show
  1. package/dist/base-lyra/accordion.js.map +1 -1
  2. package/dist/base-lyra/alert-dialog.js.map +1 -1
  3. package/dist/base-lyra/alert.js.map +1 -1
  4. package/dist/base-lyra/aspect-ratio.js.map +1 -1
  5. package/dist/base-lyra/avatar.js.map +1 -1
  6. package/dist/base-lyra/badge.js.map +1 -1
  7. package/dist/base-lyra/breadcrumb.js.map +1 -1
  8. package/dist/base-lyra/button-group.js.map +1 -1
  9. package/dist/base-lyra/button.js.map +1 -1
  10. package/dist/base-lyra/calendar.js.map +1 -1
  11. package/dist/base-lyra/card.js.map +1 -1
  12. package/dist/base-lyra/carousel.js.map +1 -1
  13. package/dist/base-lyra/chart.js.map +1 -1
  14. package/dist/base-lyra/checkbox.js.map +1 -1
  15. package/dist/base-lyra/combobox.js.map +1 -1
  16. package/dist/base-lyra/command.js.map +1 -1
  17. package/dist/base-lyra/context-menu.js.map +1 -1
  18. package/dist/base-lyra/dialog.js.map +1 -1
  19. package/dist/base-lyra/drawer.js.map +1 -1
  20. package/dist/base-lyra/dropdown-menu.js.map +1 -1
  21. package/dist/base-lyra/empty.js.map +1 -1
  22. package/dist/base-lyra/field.js.map +1 -1
  23. package/dist/base-lyra/hover-card.js.map +1 -1
  24. package/dist/base-lyra/index.js +8 -6
  25. package/dist/base-lyra/index.js.map +1 -1
  26. package/dist/base-lyra/input-group.js.map +1 -1
  27. package/dist/base-lyra/input-otp.js.map +1 -1
  28. package/dist/base-lyra/input.js.map +1 -1
  29. package/dist/base-lyra/item.js.map +1 -1
  30. package/dist/base-lyra/kbd.js.map +1 -1
  31. package/dist/base-lyra/label.js.map +1 -1
  32. package/dist/base-lyra/menubar.js.map +1 -1
  33. package/dist/base-lyra/native-select.js.map +1 -1
  34. package/dist/base-lyra/navigation-menu.js.map +1 -1
  35. package/dist/base-lyra/pagination.js.map +1 -1
  36. package/dist/base-lyra/popover.js.map +1 -1
  37. package/dist/base-lyra/progress.js.map +1 -1
  38. package/dist/base-lyra/radio-group.js.map +1 -1
  39. package/dist/base-lyra/resizable.js.map +1 -1
  40. package/dist/base-lyra/scroll-area.js.map +1 -1
  41. package/dist/base-lyra/select.js.map +1 -1
  42. package/dist/base-lyra/separator.js.map +1 -1
  43. package/dist/base-lyra/sheet.js.map +1 -1
  44. package/dist/base-lyra/sidebar.js +8 -6
  45. package/dist/base-lyra/sidebar.js.map +1 -1
  46. package/dist/base-lyra/skeleton.js.map +1 -1
  47. package/dist/base-lyra/slider.js.map +1 -1
  48. package/dist/base-lyra/spinner.js.map +1 -1
  49. package/dist/base-lyra/switch.js.map +1 -1
  50. package/dist/base-lyra/table.js.map +1 -1
  51. package/dist/base-lyra/tabs.js.map +1 -1
  52. package/dist/base-lyra/textarea.js.map +1 -1
  53. package/dist/base-lyra/toggle-group.js.map +1 -1
  54. package/dist/base-lyra/toggle.js.map +1 -1
  55. package/dist/base-lyra/tooltip.js.map +1 -1
  56. package/dist/base-maia/accordion.js.map +1 -1
  57. package/dist/base-maia/alert-dialog.js.map +1 -1
  58. package/dist/base-maia/alert.js.map +1 -1
  59. package/dist/base-maia/aspect-ratio.js.map +1 -1
  60. package/dist/base-maia/avatar.js.map +1 -1
  61. package/dist/base-maia/badge.js.map +1 -1
  62. package/dist/base-maia/breadcrumb.js.map +1 -1
  63. package/dist/base-maia/button-group.js.map +1 -1
  64. package/dist/base-maia/button.js.map +1 -1
  65. package/dist/base-maia/calendar.js.map +1 -1
  66. package/dist/base-maia/card.js.map +1 -1
  67. package/dist/base-maia/carousel.js.map +1 -1
  68. package/dist/base-maia/chart.js.map +1 -1
  69. package/dist/base-maia/checkbox.js.map +1 -1
  70. package/dist/base-maia/combobox.js.map +1 -1
  71. package/dist/base-maia/command.js.map +1 -1
  72. package/dist/base-maia/context-menu.js.map +1 -1
  73. package/dist/base-maia/dialog.js.map +1 -1
  74. package/dist/base-maia/drawer.js.map +1 -1
  75. package/dist/base-maia/dropdown-menu.js.map +1 -1
  76. package/dist/base-maia/empty.js.map +1 -1
  77. package/dist/base-maia/field.js.map +1 -1
  78. package/dist/base-maia/hover-card.js.map +1 -1
  79. package/dist/base-maia/index.js +8 -6
  80. package/dist/base-maia/index.js.map +1 -1
  81. package/dist/base-maia/input-group.js.map +1 -1
  82. package/dist/base-maia/input-otp.js.map +1 -1
  83. package/dist/base-maia/input.js.map +1 -1
  84. package/dist/base-maia/item.js.map +1 -1
  85. package/dist/base-maia/kbd.js.map +1 -1
  86. package/dist/base-maia/label.js.map +1 -1
  87. package/dist/base-maia/menubar.js.map +1 -1
  88. package/dist/base-maia/native-select.js.map +1 -1
  89. package/dist/base-maia/navigation-menu.js.map +1 -1
  90. package/dist/base-maia/pagination.js.map +1 -1
  91. package/dist/base-maia/popover.js.map +1 -1
  92. package/dist/base-maia/progress.js.map +1 -1
  93. package/dist/base-maia/radio-group.js.map +1 -1
  94. package/dist/base-maia/resizable.js.map +1 -1
  95. package/dist/base-maia/scroll-area.js.map +1 -1
  96. package/dist/base-maia/select.js.map +1 -1
  97. package/dist/base-maia/separator.js.map +1 -1
  98. package/dist/base-maia/sheet.js.map +1 -1
  99. package/dist/base-maia/sidebar.js +8 -6
  100. package/dist/base-maia/sidebar.js.map +1 -1
  101. package/dist/base-maia/skeleton.js.map +1 -1
  102. package/dist/base-maia/slider.js.map +1 -1
  103. package/dist/base-maia/spinner.js.map +1 -1
  104. package/dist/base-maia/switch.js.map +1 -1
  105. package/dist/base-maia/table.js.map +1 -1
  106. package/dist/base-maia/tabs.js.map +1 -1
  107. package/dist/base-maia/textarea.js.map +1 -1
  108. package/dist/base-maia/toggle-group.js.map +1 -1
  109. package/dist/base-maia/toggle.js.map +1 -1
  110. package/dist/base-maia/tooltip.js.map +1 -1
  111. package/dist/base-mira/accordion.js.map +1 -1
  112. package/dist/base-mira/alert-dialog.js.map +1 -1
  113. package/dist/base-mira/alert.js.map +1 -1
  114. package/dist/base-mira/aspect-ratio.js.map +1 -1
  115. package/dist/base-mira/avatar.js.map +1 -1
  116. package/dist/base-mira/badge.js.map +1 -1
  117. package/dist/base-mira/breadcrumb.js.map +1 -1
  118. package/dist/base-mira/button-group.js.map +1 -1
  119. package/dist/base-mira/button.js.map +1 -1
  120. package/dist/base-mira/calendar.js.map +1 -1
  121. package/dist/base-mira/card.js.map +1 -1
  122. package/dist/base-mira/carousel.js.map +1 -1
  123. package/dist/base-mira/chart.js.map +1 -1
  124. package/dist/base-mira/checkbox.js.map +1 -1
  125. package/dist/base-mira/combobox.js.map +1 -1
  126. package/dist/base-mira/command.js.map +1 -1
  127. package/dist/base-mira/context-menu.js.map +1 -1
  128. package/dist/base-mira/dialog.js.map +1 -1
  129. package/dist/base-mira/drawer.js.map +1 -1
  130. package/dist/base-mira/dropdown-menu.js.map +1 -1
  131. package/dist/base-mira/empty.js.map +1 -1
  132. package/dist/base-mira/field.js.map +1 -1
  133. package/dist/base-mira/hover-card.js.map +1 -1
  134. package/dist/base-mira/index.js +8 -6
  135. package/dist/base-mira/index.js.map +1 -1
  136. package/dist/base-mira/input-group.js.map +1 -1
  137. package/dist/base-mira/input-otp.js.map +1 -1
  138. package/dist/base-mira/input.js.map +1 -1
  139. package/dist/base-mira/item.js.map +1 -1
  140. package/dist/base-mira/kbd.js.map +1 -1
  141. package/dist/base-mira/label.js.map +1 -1
  142. package/dist/base-mira/menubar.js.map +1 -1
  143. package/dist/base-mira/native-select.js.map +1 -1
  144. package/dist/base-mira/navigation-menu.js.map +1 -1
  145. package/dist/base-mira/pagination.js.map +1 -1
  146. package/dist/base-mira/popover.js.map +1 -1
  147. package/dist/base-mira/progress.js.map +1 -1
  148. package/dist/base-mira/radio-group.js.map +1 -1
  149. package/dist/base-mira/resizable.js.map +1 -1
  150. package/dist/base-mira/scroll-area.js.map +1 -1
  151. package/dist/base-mira/select.js.map +1 -1
  152. package/dist/base-mira/separator.js.map +1 -1
  153. package/dist/base-mira/sheet.js.map +1 -1
  154. package/dist/base-mira/sidebar.js +8 -6
  155. package/dist/base-mira/sidebar.js.map +1 -1
  156. package/dist/base-mira/skeleton.js.map +1 -1
  157. package/dist/base-mira/slider.js.map +1 -1
  158. package/dist/base-mira/spinner.js.map +1 -1
  159. package/dist/base-mira/switch.js.map +1 -1
  160. package/dist/base-mira/table.js.map +1 -1
  161. package/dist/base-mira/tabs.js.map +1 -1
  162. package/dist/base-mira/textarea.js.map +1 -1
  163. package/dist/base-mira/toggle-group.js.map +1 -1
  164. package/dist/base-mira/toggle.js.map +1 -1
  165. package/dist/base-mira/tooltip.js.map +1 -1
  166. package/dist/base-nova/accordion.js.map +1 -1
  167. package/dist/base-nova/alert-dialog.js.map +1 -1
  168. package/dist/base-nova/alert.js.map +1 -1
  169. package/dist/base-nova/aspect-ratio.js.map +1 -1
  170. package/dist/base-nova/avatar.js.map +1 -1
  171. package/dist/base-nova/badge.js.map +1 -1
  172. package/dist/base-nova/breadcrumb.js.map +1 -1
  173. package/dist/base-nova/button-group.js.map +1 -1
  174. package/dist/base-nova/button.js.map +1 -1
  175. package/dist/base-nova/calendar.js.map +1 -1
  176. package/dist/base-nova/card.js.map +1 -1
  177. package/dist/base-nova/carousel.js.map +1 -1
  178. package/dist/base-nova/chart.js.map +1 -1
  179. package/dist/base-nova/checkbox.js.map +1 -1
  180. package/dist/base-nova/combobox.js.map +1 -1
  181. package/dist/base-nova/command.js.map +1 -1
  182. package/dist/base-nova/context-menu.js.map +1 -1
  183. package/dist/base-nova/dialog.js.map +1 -1
  184. package/dist/base-nova/drawer.js.map +1 -1
  185. package/dist/base-nova/dropdown-menu.js.map +1 -1
  186. package/dist/base-nova/empty.js.map +1 -1
  187. package/dist/base-nova/field.js.map +1 -1
  188. package/dist/base-nova/hover-card.js.map +1 -1
  189. package/dist/base-nova/index.js +8 -6
  190. package/dist/base-nova/index.js.map +1 -1
  191. package/dist/base-nova/input-group.js.map +1 -1
  192. package/dist/base-nova/input-otp.js.map +1 -1
  193. package/dist/base-nova/input.js.map +1 -1
  194. package/dist/base-nova/item.js.map +1 -1
  195. package/dist/base-nova/kbd.js.map +1 -1
  196. package/dist/base-nova/label.js.map +1 -1
  197. package/dist/base-nova/menubar.js.map +1 -1
  198. package/dist/base-nova/native-select.js.map +1 -1
  199. package/dist/base-nova/navigation-menu.js.map +1 -1
  200. package/dist/base-nova/pagination.js.map +1 -1
  201. package/dist/base-nova/popover.js.map +1 -1
  202. package/dist/base-nova/progress.js.map +1 -1
  203. package/dist/base-nova/radio-group.js.map +1 -1
  204. package/dist/base-nova/resizable.js.map +1 -1
  205. package/dist/base-nova/scroll-area.js.map +1 -1
  206. package/dist/base-nova/select.js.map +1 -1
  207. package/dist/base-nova/separator.js.map +1 -1
  208. package/dist/base-nova/sheet.js.map +1 -1
  209. package/dist/base-nova/sidebar.js +8 -6
  210. package/dist/base-nova/sidebar.js.map +1 -1
  211. package/dist/base-nova/skeleton.js.map +1 -1
  212. package/dist/base-nova/slider.js.map +1 -1
  213. package/dist/base-nova/spinner.js.map +1 -1
  214. package/dist/base-nova/switch.js.map +1 -1
  215. package/dist/base-nova/table.js.map +1 -1
  216. package/dist/base-nova/tabs.js.map +1 -1
  217. package/dist/base-nova/textarea.js.map +1 -1
  218. package/dist/base-nova/toggle-group.js.map +1 -1
  219. package/dist/base-nova/toggle.js.map +1 -1
  220. package/dist/base-nova/tooltip.js.map +1 -1
  221. package/dist/base-vega/accordion.js.map +1 -1
  222. package/dist/base-vega/alert-dialog.js.map +1 -1
  223. package/dist/base-vega/alert.js.map +1 -1
  224. package/dist/base-vega/aspect-ratio.js.map +1 -1
  225. package/dist/base-vega/avatar.js.map +1 -1
  226. package/dist/base-vega/badge.js.map +1 -1
  227. package/dist/base-vega/breadcrumb.js.map +1 -1
  228. package/dist/base-vega/button-group.js.map +1 -1
  229. package/dist/base-vega/button.js.map +1 -1
  230. package/dist/base-vega/calendar.js.map +1 -1
  231. package/dist/base-vega/card.js.map +1 -1
  232. package/dist/base-vega/carousel.js.map +1 -1
  233. package/dist/base-vega/chart.js.map +1 -1
  234. package/dist/base-vega/checkbox.js.map +1 -1
  235. package/dist/base-vega/combobox.js.map +1 -1
  236. package/dist/base-vega/command.js.map +1 -1
  237. package/dist/base-vega/context-menu.js.map +1 -1
  238. package/dist/base-vega/dialog.js.map +1 -1
  239. package/dist/base-vega/drawer.js.map +1 -1
  240. package/dist/base-vega/dropdown-menu.js.map +1 -1
  241. package/dist/base-vega/empty.js.map +1 -1
  242. package/dist/base-vega/field.js.map +1 -1
  243. package/dist/base-vega/hover-card.js.map +1 -1
  244. package/dist/base-vega/index.js +8 -6
  245. package/dist/base-vega/index.js.map +1 -1
  246. package/dist/base-vega/input-group.js.map +1 -1
  247. package/dist/base-vega/input-otp.js.map +1 -1
  248. package/dist/base-vega/input.js.map +1 -1
  249. package/dist/base-vega/item.js.map +1 -1
  250. package/dist/base-vega/kbd.js.map +1 -1
  251. package/dist/base-vega/label.js.map +1 -1
  252. package/dist/base-vega/menubar.js.map +1 -1
  253. package/dist/base-vega/native-select.js.map +1 -1
  254. package/dist/base-vega/navigation-menu.js.map +1 -1
  255. package/dist/base-vega/pagination.js.map +1 -1
  256. package/dist/base-vega/popover.js.map +1 -1
  257. package/dist/base-vega/progress.js.map +1 -1
  258. package/dist/base-vega/radio-group.js.map +1 -1
  259. package/dist/base-vega/resizable.js.map +1 -1
  260. package/dist/base-vega/scroll-area.js.map +1 -1
  261. package/dist/base-vega/select.js.map +1 -1
  262. package/dist/base-vega/separator.js.map +1 -1
  263. package/dist/base-vega/sheet.js.map +1 -1
  264. package/dist/base-vega/sidebar.js +8 -6
  265. package/dist/base-vega/sidebar.js.map +1 -1
  266. package/dist/base-vega/skeleton.js.map +1 -1
  267. package/dist/base-vega/slider.js.map +1 -1
  268. package/dist/base-vega/spinner.js.map +1 -1
  269. package/dist/base-vega/switch.js.map +1 -1
  270. package/dist/base-vega/table.js.map +1 -1
  271. package/dist/base-vega/tabs.js.map +1 -1
  272. package/dist/base-vega/textarea.js.map +1 -1
  273. package/dist/base-vega/toggle-group.js.map +1 -1
  274. package/dist/base-vega/toggle.js.map +1 -1
  275. package/dist/base-vega/tooltip.js.map +1 -1
  276. package/dist/hooks/index.d.ts +7 -0
  277. package/dist/hooks/index.js +181 -10
  278. package/dist/hooks/index.js.map +1 -1
  279. package/dist/hooks/use-as-ref.d.ts +5 -0
  280. package/dist/hooks/use-as-ref.js +17 -0
  281. package/dist/hooks/use-as-ref.js.map +1 -0
  282. package/dist/hooks/use-badge-overflow.d.ts +24 -0
  283. package/dist/hooks/use-badge-overflow.js +130 -0
  284. package/dist/hooks/use-badge-overflow.js.map +1 -0
  285. package/dist/hooks/use-callback-ref.d.ts +10 -0
  286. package/dist/hooks/use-callback-ref.js +17 -0
  287. package/dist/hooks/use-callback-ref.js.map +1 -0
  288. package/dist/hooks/use-debounced-callback.d.ts +3 -0
  289. package/dist/hooks/use-debounced-callback.js +38 -0
  290. package/dist/hooks/use-debounced-callback.js.map +1 -0
  291. package/dist/hooks/use-file-upload.d.ts +48 -0
  292. package/dist/hooks/use-file-upload.js +279 -0
  293. package/dist/hooks/use-file-upload.js.map +1 -0
  294. package/dist/hooks/use-isomorphic-layout-effect.d.ts +5 -0
  295. package/dist/hooks/use-isomorphic-layout-effect.js +8 -0
  296. package/dist/hooks/use-isomorphic-layout-effect.js.map +1 -0
  297. package/dist/hooks/use-lazy-ref.d.ts +5 -0
  298. package/dist/hooks/use-lazy-ref.js +14 -0
  299. package/dist/hooks/use-lazy-ref.js.map +1 -0
  300. package/dist/hooks/use-mobile.d.ts +1 -1
  301. package/dist/hooks/use-mobile.js +8 -6
  302. package/dist/hooks/use-mobile.js.map +1 -1
  303. package/dist/index.d.ts +1561 -57
  304. package/dist/index.js +23035 -2534
  305. package/dist/index.js.map +1 -1
  306. package/dist/lib/compose-refs.d.ts +15 -0
  307. package/dist/lib/compose-refs.js +42 -0
  308. package/dist/lib/compose-refs.js.map +1 -0
  309. package/dist/lib/format.d.ts +3 -0
  310. package/dist/lib/format.js +18 -0
  311. package/dist/lib/format.js.map +1 -0
  312. package/dist/lib/index.d.ts +3 -0
  313. package/dist/lib/index.js +53 -2
  314. package/dist/lib/index.js.map +1 -1
  315. package/dist/lib/utils.d.ts +6 -0
  316. package/dist/lib/utils.js.map +1 -1
  317. package/dist/new-york/accordion.js.map +1 -1
  318. package/dist/new-york/alert-dialog.js.map +1 -1
  319. package/dist/new-york/alert.js.map +1 -1
  320. package/dist/new-york/avatar.js.map +1 -1
  321. package/dist/new-york/badge.js.map +1 -1
  322. package/dist/new-york/breadcrumb.js.map +1 -1
  323. package/dist/new-york/button-group.js.map +1 -1
  324. package/dist/new-york/button.js.map +1 -1
  325. package/dist/new-york/calendar.js.map +1 -1
  326. package/dist/new-york/card.js.map +1 -1
  327. package/dist/new-york/carousel.js.map +1 -1
  328. package/dist/new-york/chart.js.map +1 -1
  329. package/dist/new-york/checkbox.js.map +1 -1
  330. package/dist/new-york/combobox.js.map +1 -1
  331. package/dist/new-york/command.js.map +1 -1
  332. package/dist/new-york/context-menu.js.map +1 -1
  333. package/dist/new-york/dialog.js.map +1 -1
  334. package/dist/new-york/drawer.js.map +1 -1
  335. package/dist/new-york/dropdown-menu.js.map +1 -1
  336. package/dist/new-york/empty.js.map +1 -1
  337. package/dist/new-york/field.js.map +1 -1
  338. package/dist/new-york/form.js.map +1 -1
  339. package/dist/new-york/hover-card.js.map +1 -1
  340. package/dist/new-york/index.js +8 -6
  341. package/dist/new-york/index.js.map +1 -1
  342. package/dist/new-york/input-group.js.map +1 -1
  343. package/dist/new-york/input-otp.js.map +1 -1
  344. package/dist/new-york/input.js.map +1 -1
  345. package/dist/new-york/item.js.map +1 -1
  346. package/dist/new-york/kbd.js.map +1 -1
  347. package/dist/new-york/label.js.map +1 -1
  348. package/dist/new-york/menubar.js.map +1 -1
  349. package/dist/new-york/native-select.js.map +1 -1
  350. package/dist/new-york/navigation-menu.js.map +1 -1
  351. package/dist/new-york/pagination.js.map +1 -1
  352. package/dist/new-york/popover.js.map +1 -1
  353. package/dist/new-york/progress.js.map +1 -1
  354. package/dist/new-york/radio-group.js.map +1 -1
  355. package/dist/new-york/resizable.js.map +1 -1
  356. package/dist/new-york/scroll-area.js.map +1 -1
  357. package/dist/new-york/select.js.map +1 -1
  358. package/dist/new-york/separator.js.map +1 -1
  359. package/dist/new-york/sheet.js.map +1 -1
  360. package/dist/new-york/sidebar.js +8 -6
  361. package/dist/new-york/sidebar.js.map +1 -1
  362. package/dist/new-york/skeleton.js.map +1 -1
  363. package/dist/new-york/slider.js.map +1 -1
  364. package/dist/new-york/spinner.js.map +1 -1
  365. package/dist/new-york/switch.js.map +1 -1
  366. package/dist/new-york/table.js.map +1 -1
  367. package/dist/new-york/tabs.js.map +1 -1
  368. package/dist/new-york/textarea.js.map +1 -1
  369. package/dist/new-york/toggle-group.js.map +1 -1
  370. package/dist/new-york/toggle.js.map +1 -1
  371. package/dist/new-york/tooltip.js.map +1 -1
  372. package/dist/radix-lyra/accordion.js.map +1 -1
  373. package/dist/radix-lyra/alert-dialog.js.map +1 -1
  374. package/dist/radix-lyra/alert.js.map +1 -1
  375. package/dist/radix-lyra/avatar.js.map +1 -1
  376. package/dist/radix-lyra/badge.js.map +1 -1
  377. package/dist/radix-lyra/breadcrumb.js.map +1 -1
  378. package/dist/radix-lyra/button-group.js.map +1 -1
  379. package/dist/radix-lyra/button.js.map +1 -1
  380. package/dist/radix-lyra/calendar.js.map +1 -1
  381. package/dist/radix-lyra/card.js.map +1 -1
  382. package/dist/radix-lyra/carousel.js.map +1 -1
  383. package/dist/radix-lyra/chart.js.map +1 -1
  384. package/dist/radix-lyra/checkbox.js.map +1 -1
  385. package/dist/radix-lyra/combobox.js.map +1 -1
  386. package/dist/radix-lyra/command.js.map +1 -1
  387. package/dist/radix-lyra/context-menu.js.map +1 -1
  388. package/dist/radix-lyra/dialog.js.map +1 -1
  389. package/dist/radix-lyra/drawer.js.map +1 -1
  390. package/dist/radix-lyra/dropdown-menu.js.map +1 -1
  391. package/dist/radix-lyra/empty.js.map +1 -1
  392. package/dist/radix-lyra/field.js.map +1 -1
  393. package/dist/radix-lyra/hover-card.js.map +1 -1
  394. package/dist/radix-lyra/index.js +8 -6
  395. package/dist/radix-lyra/index.js.map +1 -1
  396. package/dist/radix-lyra/input-group.js.map +1 -1
  397. package/dist/radix-lyra/input-otp.js.map +1 -1
  398. package/dist/radix-lyra/input.js.map +1 -1
  399. package/dist/radix-lyra/item.js.map +1 -1
  400. package/dist/radix-lyra/kbd.js.map +1 -1
  401. package/dist/radix-lyra/label.js.map +1 -1
  402. package/dist/radix-lyra/menubar.js.map +1 -1
  403. package/dist/radix-lyra/native-select.js.map +1 -1
  404. package/dist/radix-lyra/navigation-menu.js.map +1 -1
  405. package/dist/radix-lyra/pagination.js.map +1 -1
  406. package/dist/radix-lyra/popover.js.map +1 -1
  407. package/dist/radix-lyra/progress.js.map +1 -1
  408. package/dist/radix-lyra/radio-group.js.map +1 -1
  409. package/dist/radix-lyra/resizable.js.map +1 -1
  410. package/dist/radix-lyra/scroll-area.js.map +1 -1
  411. package/dist/radix-lyra/select.js.map +1 -1
  412. package/dist/radix-lyra/separator.js.map +1 -1
  413. package/dist/radix-lyra/sheet.js.map +1 -1
  414. package/dist/radix-lyra/sidebar.js +8 -6
  415. package/dist/radix-lyra/sidebar.js.map +1 -1
  416. package/dist/radix-lyra/skeleton.js.map +1 -1
  417. package/dist/radix-lyra/slider.js.map +1 -1
  418. package/dist/radix-lyra/spinner.js.map +1 -1
  419. package/dist/radix-lyra/switch.js.map +1 -1
  420. package/dist/radix-lyra/table.js.map +1 -1
  421. package/dist/radix-lyra/tabs.js.map +1 -1
  422. package/dist/radix-lyra/textarea.js.map +1 -1
  423. package/dist/radix-lyra/toggle-group.js.map +1 -1
  424. package/dist/radix-lyra/toggle.js.map +1 -1
  425. package/dist/radix-lyra/tooltip.js.map +1 -1
  426. package/dist/radix-maia/accordion.js.map +1 -1
  427. package/dist/radix-maia/alert-dialog.js.map +1 -1
  428. package/dist/radix-maia/alert.js.map +1 -1
  429. package/dist/radix-maia/avatar.js.map +1 -1
  430. package/dist/radix-maia/badge.js.map +1 -1
  431. package/dist/radix-maia/breadcrumb.js.map +1 -1
  432. package/dist/radix-maia/button-group.js.map +1 -1
  433. package/dist/radix-maia/button.js.map +1 -1
  434. package/dist/radix-maia/calendar.js.map +1 -1
  435. package/dist/radix-maia/card.js.map +1 -1
  436. package/dist/radix-maia/carousel.js.map +1 -1
  437. package/dist/radix-maia/chart.js.map +1 -1
  438. package/dist/radix-maia/checkbox.js.map +1 -1
  439. package/dist/radix-maia/combobox.js.map +1 -1
  440. package/dist/radix-maia/command.js.map +1 -1
  441. package/dist/radix-maia/context-menu.js.map +1 -1
  442. package/dist/radix-maia/dialog.js.map +1 -1
  443. package/dist/radix-maia/drawer.js.map +1 -1
  444. package/dist/radix-maia/dropdown-menu.js.map +1 -1
  445. package/dist/radix-maia/empty.js.map +1 -1
  446. package/dist/radix-maia/field.js.map +1 -1
  447. package/dist/radix-maia/hover-card.js.map +1 -1
  448. package/dist/radix-maia/index.js +8 -6
  449. package/dist/radix-maia/index.js.map +1 -1
  450. package/dist/radix-maia/input-group.js.map +1 -1
  451. package/dist/radix-maia/input-otp.js.map +1 -1
  452. package/dist/radix-maia/input.js.map +1 -1
  453. package/dist/radix-maia/item.js.map +1 -1
  454. package/dist/radix-maia/kbd.js.map +1 -1
  455. package/dist/radix-maia/label.js.map +1 -1
  456. package/dist/radix-maia/menubar.js.map +1 -1
  457. package/dist/radix-maia/native-select.js.map +1 -1
  458. package/dist/radix-maia/navigation-menu.js.map +1 -1
  459. package/dist/radix-maia/pagination.js.map +1 -1
  460. package/dist/radix-maia/popover.js.map +1 -1
  461. package/dist/radix-maia/progress.js.map +1 -1
  462. package/dist/radix-maia/radio-group.js.map +1 -1
  463. package/dist/radix-maia/resizable.js.map +1 -1
  464. package/dist/radix-maia/scroll-area.js.map +1 -1
  465. package/dist/radix-maia/select.js.map +1 -1
  466. package/dist/radix-maia/separator.js.map +1 -1
  467. package/dist/radix-maia/sheet.js.map +1 -1
  468. package/dist/radix-maia/sidebar.js +8 -6
  469. package/dist/radix-maia/sidebar.js.map +1 -1
  470. package/dist/radix-maia/skeleton.js.map +1 -1
  471. package/dist/radix-maia/slider.js.map +1 -1
  472. package/dist/radix-maia/spinner.js.map +1 -1
  473. package/dist/radix-maia/switch.js.map +1 -1
  474. package/dist/radix-maia/table.js.map +1 -1
  475. package/dist/radix-maia/tabs.js.map +1 -1
  476. package/dist/radix-maia/textarea.js.map +1 -1
  477. package/dist/radix-maia/toggle-group.js.map +1 -1
  478. package/dist/radix-maia/toggle.js.map +1 -1
  479. package/dist/radix-maia/tooltip.js.map +1 -1
  480. package/dist/radix-mira/accordion.js.map +1 -1
  481. package/dist/radix-mira/alert-dialog.js.map +1 -1
  482. package/dist/radix-mira/alert.js.map +1 -1
  483. package/dist/radix-mira/avatar.js.map +1 -1
  484. package/dist/radix-mira/badge.js.map +1 -1
  485. package/dist/radix-mira/breadcrumb.js.map +1 -1
  486. package/dist/radix-mira/button-group.js.map +1 -1
  487. package/dist/radix-mira/button.js.map +1 -1
  488. package/dist/radix-mira/calendar.js.map +1 -1
  489. package/dist/radix-mira/card.js.map +1 -1
  490. package/dist/radix-mira/carousel.js.map +1 -1
  491. package/dist/radix-mira/chart.js.map +1 -1
  492. package/dist/radix-mira/checkbox.js.map +1 -1
  493. package/dist/radix-mira/combobox.js.map +1 -1
  494. package/dist/radix-mira/command.js.map +1 -1
  495. package/dist/radix-mira/context-menu.js.map +1 -1
  496. package/dist/radix-mira/dialog.js.map +1 -1
  497. package/dist/radix-mira/drawer.js.map +1 -1
  498. package/dist/radix-mira/dropdown-menu.js.map +1 -1
  499. package/dist/radix-mira/empty.js.map +1 -1
  500. package/dist/radix-mira/field.js.map +1 -1
  501. package/dist/radix-mira/hover-card.js.map +1 -1
  502. package/dist/radix-mira/index.js +8 -6
  503. package/dist/radix-mira/index.js.map +1 -1
  504. package/dist/radix-mira/input-group.js.map +1 -1
  505. package/dist/radix-mira/input-otp.js.map +1 -1
  506. package/dist/radix-mira/input.js.map +1 -1
  507. package/dist/radix-mira/item.js.map +1 -1
  508. package/dist/radix-mira/kbd.js.map +1 -1
  509. package/dist/radix-mira/label.js.map +1 -1
  510. package/dist/radix-mira/menubar.js.map +1 -1
  511. package/dist/radix-mira/native-select.js.map +1 -1
  512. package/dist/radix-mira/navigation-menu.js.map +1 -1
  513. package/dist/radix-mira/pagination.js.map +1 -1
  514. package/dist/radix-mira/popover.js.map +1 -1
  515. package/dist/radix-mira/progress.js.map +1 -1
  516. package/dist/radix-mira/radio-group.js.map +1 -1
  517. package/dist/radix-mira/resizable.js.map +1 -1
  518. package/dist/radix-mira/scroll-area.js.map +1 -1
  519. package/dist/radix-mira/select.js.map +1 -1
  520. package/dist/radix-mira/separator.js.map +1 -1
  521. package/dist/radix-mira/sheet.js.map +1 -1
  522. package/dist/radix-mira/sidebar.js +8 -6
  523. package/dist/radix-mira/sidebar.js.map +1 -1
  524. package/dist/radix-mira/skeleton.js.map +1 -1
  525. package/dist/radix-mira/slider.js.map +1 -1
  526. package/dist/radix-mira/spinner.js.map +1 -1
  527. package/dist/radix-mira/switch.js.map +1 -1
  528. package/dist/radix-mira/table.js.map +1 -1
  529. package/dist/radix-mira/tabs.js.map +1 -1
  530. package/dist/radix-mira/textarea.js.map +1 -1
  531. package/dist/radix-mira/toggle-group.js.map +1 -1
  532. package/dist/radix-mira/toggle.js.map +1 -1
  533. package/dist/radix-mira/tooltip.js.map +1 -1
  534. package/dist/radix-nova/accordion.js.map +1 -1
  535. package/dist/radix-nova/alert-dialog.js.map +1 -1
  536. package/dist/radix-nova/alert.js.map +1 -1
  537. package/dist/radix-nova/avatar.js.map +1 -1
  538. package/dist/radix-nova/badge.js.map +1 -1
  539. package/dist/radix-nova/breadcrumb.js.map +1 -1
  540. package/dist/radix-nova/button-group.js.map +1 -1
  541. package/dist/radix-nova/button.js.map +1 -1
  542. package/dist/radix-nova/calendar.js.map +1 -1
  543. package/dist/radix-nova/card.js.map +1 -1
  544. package/dist/radix-nova/carousel.js.map +1 -1
  545. package/dist/radix-nova/chart.js.map +1 -1
  546. package/dist/radix-nova/checkbox.js.map +1 -1
  547. package/dist/radix-nova/combobox.js.map +1 -1
  548. package/dist/radix-nova/command.js.map +1 -1
  549. package/dist/radix-nova/context-menu.js.map +1 -1
  550. package/dist/radix-nova/dialog.js.map +1 -1
  551. package/dist/radix-nova/drawer.js.map +1 -1
  552. package/dist/radix-nova/dropdown-menu.js.map +1 -1
  553. package/dist/radix-nova/empty.js.map +1 -1
  554. package/dist/radix-nova/field.js.map +1 -1
  555. package/dist/radix-nova/hover-card.js.map +1 -1
  556. package/dist/radix-nova/index.js +8 -6
  557. package/dist/radix-nova/index.js.map +1 -1
  558. package/dist/radix-nova/input-group.js.map +1 -1
  559. package/dist/radix-nova/input-otp.js.map +1 -1
  560. package/dist/radix-nova/input.js.map +1 -1
  561. package/dist/radix-nova/item.js.map +1 -1
  562. package/dist/radix-nova/kbd.js.map +1 -1
  563. package/dist/radix-nova/label.js.map +1 -1
  564. package/dist/radix-nova/menubar.js.map +1 -1
  565. package/dist/radix-nova/native-select.js.map +1 -1
  566. package/dist/radix-nova/navigation-menu.js.map +1 -1
  567. package/dist/radix-nova/pagination.js.map +1 -1
  568. package/dist/radix-nova/popover.js.map +1 -1
  569. package/dist/radix-nova/progress.js.map +1 -1
  570. package/dist/radix-nova/radio-group.js.map +1 -1
  571. package/dist/radix-nova/resizable.js.map +1 -1
  572. package/dist/radix-nova/scroll-area.js.map +1 -1
  573. package/dist/radix-nova/select.js.map +1 -1
  574. package/dist/radix-nova/separator.js.map +1 -1
  575. package/dist/radix-nova/sheet.js.map +1 -1
  576. package/dist/radix-nova/sidebar.js +8 -6
  577. package/dist/radix-nova/sidebar.js.map +1 -1
  578. package/dist/radix-nova/skeleton.js.map +1 -1
  579. package/dist/radix-nova/slider.js.map +1 -1
  580. package/dist/radix-nova/spinner.js.map +1 -1
  581. package/dist/radix-nova/switch.js.map +1 -1
  582. package/dist/radix-nova/table.js.map +1 -1
  583. package/dist/radix-nova/tabs.js.map +1 -1
  584. package/dist/radix-nova/textarea.js.map +1 -1
  585. package/dist/radix-nova/toggle-group.js.map +1 -1
  586. package/dist/radix-nova/toggle.js.map +1 -1
  587. package/dist/radix-nova/tooltip.js.map +1 -1
  588. package/dist/radix-vega/accordion.js.map +1 -1
  589. package/dist/radix-vega/action-bar.d.ts +41 -0
  590. package/dist/radix-vega/action-bar.js +589 -0
  591. package/dist/radix-vega/action-bar.js.map +1 -0
  592. package/dist/radix-vega/alert-dialog.js.map +1 -1
  593. package/dist/radix-vega/alert.js.map +1 -1
  594. package/dist/radix-vega/avatar-group.d.ts +19 -0
  595. package/dist/radix-vega/avatar-group.js +193 -0
  596. package/dist/radix-vega/avatar-group.js.map +1 -0
  597. package/dist/radix-vega/avatar.d.ts +1 -3
  598. package/dist/radix-vega/avatar.js +1 -27
  599. package/dist/radix-vega/avatar.js.map +1 -1
  600. package/dist/radix-vega/badge-overflow.d.ts +21 -0
  601. package/dist/radix-vega/badge-overflow.js +223 -0
  602. package/dist/radix-vega/badge-overflow.js.map +1 -0
  603. package/dist/radix-vega/badge.d.ts +1 -1
  604. package/dist/radix-vega/badge.js.map +1 -1
  605. package/dist/radix-vega/breadcrumb.js.map +1 -1
  606. package/dist/radix-vega/button-group.js.map +1 -1
  607. package/dist/radix-vega/button.d.ts +2 -2
  608. package/dist/radix-vega/button.js.map +1 -1
  609. package/dist/radix-vega/calendar.js.map +1 -1
  610. package/dist/radix-vega/card.js.map +1 -1
  611. package/dist/radix-vega/carousel.js.map +1 -1
  612. package/dist/radix-vega/chart.js.map +1 -1
  613. package/dist/radix-vega/checkbox-group.d.ts +12 -0
  614. package/dist/radix-vega/checkbox-group.js +119 -0
  615. package/dist/radix-vega/checkbox-group.js.map +1 -0
  616. package/dist/radix-vega/checkbox.js.map +1 -1
  617. package/dist/radix-vega/circular-progress.d.ts +27 -0
  618. package/dist/radix-vega/circular-progress.js +252 -0
  619. package/dist/radix-vega/circular-progress.js.map +1 -0
  620. package/dist/radix-vega/color-picker.d.ts +85 -0
  621. package/dist/radix-vega/color-picker.js +1683 -0
  622. package/dist/radix-vega/color-picker.js.map +1 -0
  623. package/dist/radix-vega/color-swatch.d.ts +17 -0
  624. package/dist/radix-vega/color-swatch.js +95 -0
  625. package/dist/radix-vega/color-swatch.js.map +1 -0
  626. package/dist/radix-vega/combobox.d.ts +18 -22
  627. package/dist/radix-vega/combobox.js +118 -276
  628. package/dist/radix-vega/combobox.js.map +1 -1
  629. package/dist/radix-vega/command.js.map +1 -1
  630. package/dist/radix-vega/compare-slider.d.ts +32 -0
  631. package/dist/radix-vega/compare-slider.js +393 -0
  632. package/dist/radix-vega/compare-slider.js.map +1 -0
  633. package/dist/radix-vega/context-menu.js.map +1 -1
  634. package/dist/radix-vega/cropper.d.ts +89 -0
  635. package/dist/radix-vega/cropper.js +1396 -0
  636. package/dist/radix-vega/cropper.js.map +1 -0
  637. package/dist/radix-vega/dialog.js.map +1 -1
  638. package/dist/radix-vega/drawer.js.map +1 -1
  639. package/dist/radix-vega/dropdown-menu.js.map +1 -1
  640. package/dist/radix-vega/editable.d.ts +100 -0
  641. package/dist/radix-vega/editable.js +684 -0
  642. package/dist/radix-vega/editable.js.map +1 -0
  643. package/dist/radix-vega/empty.js.map +1 -1
  644. package/dist/radix-vega/field.js.map +1 -1
  645. package/dist/radix-vega/file-upload.d.ts +89 -0
  646. package/dist/radix-vega/file-upload.js +1089 -0
  647. package/dist/radix-vega/file-upload.js.map +1 -0
  648. package/dist/radix-vega/gauge.d.ts +27 -0
  649. package/dist/radix-vega/gauge.js +359 -0
  650. package/dist/radix-vega/gauge.js.map +1 -0
  651. package/dist/radix-vega/hover-card.js.map +1 -1
  652. package/dist/radix-vega/index.d.ts +50 -3
  653. package/dist/radix-vega/index.js +23001 -2667
  654. package/dist/radix-vega/index.js.map +1 -1
  655. package/dist/radix-vega/input-group.d.ts +1 -1
  656. package/dist/radix-vega/input-group.js.map +1 -1
  657. package/dist/radix-vega/input-otp.js.map +1 -1
  658. package/dist/radix-vega/input.js.map +1 -1
  659. package/dist/radix-vega/item.d.ts +2 -2
  660. package/dist/radix-vega/item.js.map +1 -1
  661. package/dist/radix-vega/kanban.d.ts +62 -0
  662. package/dist/radix-vega/kanban.js +831 -0
  663. package/dist/radix-vega/kanban.js.map +1 -0
  664. package/dist/radix-vega/kbd.js.map +1 -1
  665. package/dist/radix-vega/key-value.d.ts +82 -0
  666. package/dist/radix-vega/key-value.js +765 -0
  667. package/dist/radix-vega/key-value.js.map +1 -0
  668. package/dist/radix-vega/label.js.map +1 -1
  669. package/dist/radix-vega/listbox.d.ts +11 -0
  670. package/dist/radix-vega/listbox.js +90 -0
  671. package/dist/radix-vega/listbox.js.map +1 -0
  672. package/dist/radix-vega/mask-input.d.ts +64 -0
  673. package/dist/radix-vega/mask-input.js +1186 -0
  674. package/dist/radix-vega/mask-input.js.map +1 -0
  675. package/dist/radix-vega/media-player.d.ts +127 -0
  676. package/dist/radix-vega/media-player.js +2696 -0
  677. package/dist/radix-vega/media-player.js.map +1 -0
  678. package/dist/radix-vega/mention.d.ts +11 -0
  679. package/dist/radix-vega/mention.js +94 -0
  680. package/dist/radix-vega/mention.js.map +1 -0
  681. package/dist/radix-vega/menubar.js.map +1 -1
  682. package/dist/radix-vega/native-select.js.map +1 -1
  683. package/dist/radix-vega/navigation-menu.js.map +1 -1
  684. package/dist/radix-vega/pagination.js.map +1 -1
  685. package/dist/radix-vega/phone-input.d.ts +48 -0
  686. package/dist/radix-vega/phone-input.js +957 -0
  687. package/dist/radix-vega/phone-input.js.map +1 -0
  688. package/dist/radix-vega/popover.js.map +1 -1
  689. package/dist/radix-vega/progress.js.map +1 -1
  690. package/dist/radix-vega/qr-code.d.ts +53 -0
  691. package/dist/radix-vega/qr-code.js +396 -0
  692. package/dist/radix-vega/qr-code.js.map +1 -0
  693. package/dist/radix-vega/radio-group.js.map +1 -1
  694. package/dist/radix-vega/rating.d.ts +47 -0
  695. package/dist/radix-vega/rating.js +749 -0
  696. package/dist/radix-vega/rating.js.map +1 -0
  697. package/dist/radix-vega/relative-time-card.d.ts +22 -0
  698. package/dist/radix-vega/relative-time-card.js +236 -0
  699. package/dist/radix-vega/relative-time-card.js.map +1 -0
  700. package/dist/radix-vega/resizable.js.map +1 -1
  701. package/dist/radix-vega/responsive-dialog.d.ts +20 -0
  702. package/dist/radix-vega/responsive-dialog.js +483 -0
  703. package/dist/radix-vega/responsive-dialog.js.map +1 -0
  704. package/dist/radix-vega/scroll-area.js.map +1 -1
  705. package/dist/radix-vega/scroll-spy.d.ts +39 -0
  706. package/dist/radix-vega/scroll-spy.js +372 -0
  707. package/dist/radix-vega/scroll-spy.js.map +1 -0
  708. package/dist/radix-vega/scroller.d.ts +20 -0
  709. package/dist/radix-vega/scroller.js +352 -0
  710. package/dist/radix-vega/scroller.js.map +1 -0
  711. package/dist/radix-vega/segmented-input.d.ts +29 -0
  712. package/dist/radix-vega/segmented-input.js +178 -0
  713. package/dist/radix-vega/segmented-input.js.map +1 -0
  714. package/dist/radix-vega/select.js.map +1 -1
  715. package/dist/radix-vega/separator.js.map +1 -1
  716. package/dist/radix-vega/sheet.js.map +1 -1
  717. package/dist/radix-vega/sidebar.js +8 -6
  718. package/dist/radix-vega/sidebar.js.map +1 -1
  719. package/dist/radix-vega/skeleton.js.map +1 -1
  720. package/dist/radix-vega/slider.js.map +1 -1
  721. package/dist/radix-vega/sortable.d.ts +51 -0
  722. package/dist/radix-vega/sortable.js +444 -0
  723. package/dist/radix-vega/sortable.js.map +1 -0
  724. package/dist/radix-vega/speed-dial.d.ts +46 -0
  725. package/dist/radix-vega/speed-dial.js +898 -0
  726. package/dist/radix-vega/speed-dial.js.map +1 -0
  727. package/dist/radix-vega/spinner.js.map +1 -1
  728. package/dist/radix-vega/stack.d.ts +21 -0
  729. package/dist/radix-vega/stack.js +268 -0
  730. package/dist/radix-vega/stack.js.map +1 -0
  731. package/dist/radix-vega/stat.d.ts +24 -0
  732. package/dist/radix-vega/stat.js +147 -0
  733. package/dist/radix-vega/stat.js.map +1 -0
  734. package/dist/radix-vega/status.d.ts +18 -0
  735. package/dist/radix-vega/status.js +71 -0
  736. package/dist/radix-vega/status.js.map +1 -0
  737. package/dist/radix-vega/stepper.d.ts +73 -0
  738. package/dist/radix-vega/stepper.js +973 -0
  739. package/dist/radix-vega/stepper.js.map +1 -0
  740. package/dist/radix-vega/swap.d.ts +29 -0
  741. package/dist/radix-vega/swap.js +214 -0
  742. package/dist/radix-vega/swap.js.map +1 -0
  743. package/dist/radix-vega/switch.js.map +1 -1
  744. package/dist/radix-vega/table.js.map +1 -1
  745. package/dist/radix-vega/tabs.d.ts +1 -1
  746. package/dist/radix-vega/tabs.js.map +1 -1
  747. package/dist/radix-vega/tags-input.d.ts +12 -0
  748. package/dist/radix-vega/tags-input.js +98 -0
  749. package/dist/radix-vega/tags-input.js.map +1 -0
  750. package/dist/radix-vega/textarea.js.map +1 -1
  751. package/dist/radix-vega/time-picker.d.ts +88 -0
  752. package/dist/radix-vega/time-picker.js +1750 -0
  753. package/dist/radix-vega/time-picker.js.map +1 -0
  754. package/dist/radix-vega/timeline.d.ts +32 -0
  755. package/dist/radix-vega/timeline.js +611 -0
  756. package/dist/radix-vega/timeline.js.map +1 -0
  757. package/dist/radix-vega/toggle-group.js.map +1 -1
  758. package/dist/radix-vega/toggle.js.map +1 -1
  759. package/dist/radix-vega/tooltip.js.map +1 -1
  760. package/dist/radix-vega/tour.d.ts +109 -0
  761. package/dist/radix-vega/tour.js +1314 -0
  762. package/dist/radix-vega/tour.js.map +1 -0
  763. package/dist/radix-vega/visually-hidden-input.d.ts +8 -0
  764. package/dist/radix-vega/visually-hidden-input.js +33 -0
  765. package/dist/radix-vega/visually-hidden-input.js.map +1 -0
  766. package/package.json +40 -7
@@ -0,0 +1,831 @@
1
+ import { KeyboardCode, defaultDropAnimationSideEffects, useSensors, useSensor, MouseSensor, TouchSensor, KeyboardSensor, closestCenter, pointerWithin, rectIntersection, getFirstCollision, DndContext, MeasuringStrategy, DragOverlay, closestCorners } from '@dnd-kit/core';
2
+ import { verticalListSortingStrategy, arrayMove, SortableContext, horizontalListSortingStrategy, useSortable, defaultAnimateLayoutChanges } from '@dnd-kit/sortable';
3
+ import { CSS } from '@dnd-kit/utilities';
4
+ import { Slot } from '@radix-ui/react-slot';
5
+ import * as React2 from 'react';
6
+ import * as ReactDOM from 'react-dom';
7
+ import { clsx } from 'clsx';
8
+ import { twMerge } from 'tailwind-merge';
9
+ import { jsx } from 'react/jsx-runtime';
10
+
11
+ function setRef(ref, value) {
12
+ if (typeof ref === "function") {
13
+ return ref(value);
14
+ }
15
+ if (ref !== null && ref !== void 0) {
16
+ ref.current = value;
17
+ }
18
+ }
19
+ function composeRefs(...refs) {
20
+ return (node) => {
21
+ let hasCleanup = false;
22
+ const cleanups = refs.map((ref) => {
23
+ const cleanup = setRef(ref, node);
24
+ if (!hasCleanup && typeof cleanup === "function") {
25
+ hasCleanup = true;
26
+ }
27
+ return cleanup;
28
+ });
29
+ if (hasCleanup) {
30
+ return () => {
31
+ for (let i = 0; i < cleanups.length; i++) {
32
+ const cleanup = cleanups[i];
33
+ if (typeof cleanup === "function") {
34
+ cleanup();
35
+ } else {
36
+ setRef(refs[i], null);
37
+ }
38
+ }
39
+ };
40
+ }
41
+ };
42
+ }
43
+ function useComposedRefs(...refs) {
44
+ return React2.useCallback(composeRefs(...refs), refs);
45
+ }
46
+ function cn(...inputs) {
47
+ return twMerge(clsx(inputs));
48
+ }
49
+ var directions = [
50
+ KeyboardCode.Down,
51
+ KeyboardCode.Right,
52
+ KeyboardCode.Up,
53
+ KeyboardCode.Left
54
+ ];
55
+ var coordinateGetter = (event, { context }) => {
56
+ const { active, droppableRects, droppableContainers, collisionRect } = context;
57
+ if (directions.includes(event.code)) {
58
+ event.preventDefault();
59
+ if (!active || !collisionRect) return;
60
+ const filteredContainers = [];
61
+ for (const entry of droppableContainers.getEnabled()) {
62
+ if (!entry || entry?.disabled) return;
63
+ const rect = droppableRects.get(entry.id);
64
+ if (!rect) return;
65
+ const data = entry.data.current;
66
+ if (data) {
67
+ const { type, children } = data;
68
+ if (type === "container" && children?.length > 0) {
69
+ if (active.data.current?.type !== "container") {
70
+ return;
71
+ }
72
+ }
73
+ }
74
+ switch (event.code) {
75
+ case KeyboardCode.Down:
76
+ if (collisionRect.top < rect.top) {
77
+ filteredContainers.push(entry);
78
+ }
79
+ break;
80
+ case KeyboardCode.Up:
81
+ if (collisionRect.top > rect.top) {
82
+ filteredContainers.push(entry);
83
+ }
84
+ break;
85
+ case KeyboardCode.Left:
86
+ if (collisionRect.left >= rect.left + rect.width) {
87
+ filteredContainers.push(entry);
88
+ }
89
+ break;
90
+ case KeyboardCode.Right:
91
+ if (collisionRect.left + collisionRect.width <= rect.left) {
92
+ filteredContainers.push(entry);
93
+ }
94
+ break;
95
+ }
96
+ }
97
+ const collisions = closestCorners({
98
+ active,
99
+ collisionRect,
100
+ droppableRects,
101
+ droppableContainers: filteredContainers,
102
+ pointerCoordinates: null
103
+ });
104
+ const closestId = getFirstCollision(collisions, "id");
105
+ if (closestId != null) {
106
+ const newDroppable = droppableContainers.get(closestId);
107
+ const newNode = newDroppable?.node.current;
108
+ const newRect = newDroppable?.rect.current;
109
+ if (newNode && newRect) {
110
+ if (newDroppable.id === "placeholder") {
111
+ return {
112
+ x: newRect.left + (newRect.width - collisionRect.width) / 2,
113
+ y: newRect.top + (newRect.height - collisionRect.height) / 2
114
+ };
115
+ }
116
+ if (newDroppable.data.current?.type === "container") {
117
+ return {
118
+ x: newRect.left + 20,
119
+ y: newRect.top + 74
120
+ };
121
+ }
122
+ return {
123
+ x: newRect.left,
124
+ y: newRect.top
125
+ };
126
+ }
127
+ }
128
+ }
129
+ return void 0;
130
+ };
131
+ var ROOT_NAME = "Kanban";
132
+ var BOARD_NAME = "KanbanBoard";
133
+ var COLUMN_NAME = "KanbanColumn";
134
+ var COLUMN_HANDLE_NAME = "KanbanColumnHandle";
135
+ var ITEM_NAME = "KanbanItem";
136
+ var ITEM_HANDLE_NAME = "KanbanItemHandle";
137
+ var OVERLAY_NAME = "KanbanOverlay";
138
+ var KanbanContext = React2.createContext(
139
+ null
140
+ );
141
+ function useKanbanContext(consumerName) {
142
+ const context = React2.useContext(KanbanContext);
143
+ if (!context) {
144
+ throw new Error(`\`${consumerName}\` must be used within \`${ROOT_NAME}\``);
145
+ }
146
+ return context;
147
+ }
148
+ function Kanban(props) {
149
+ const {
150
+ value,
151
+ onValueChange,
152
+ modifiers,
153
+ strategy = verticalListSortingStrategy,
154
+ orientation = "horizontal",
155
+ onMove,
156
+ getItemValue: getItemValueProp,
157
+ accessibility,
158
+ flatCursor = false,
159
+ ...kanbanProps
160
+ } = props;
161
+ const id = React2.useId();
162
+ const [activeId, setActiveId] = React2.useState(null);
163
+ const lastOverIdRef = React2.useRef(null);
164
+ const hasMovedRef = React2.useRef(false);
165
+ const sensors = useSensors(
166
+ useSensor(MouseSensor),
167
+ useSensor(TouchSensor),
168
+ useSensor(KeyboardSensor, {
169
+ coordinateGetter
170
+ })
171
+ );
172
+ const getItemValue = React2.useCallback(
173
+ (item) => {
174
+ if (typeof item === "object" && !getItemValueProp) {
175
+ throw new Error(
176
+ "`getItemValue` is required when using array of objects"
177
+ );
178
+ }
179
+ return getItemValueProp ? getItemValueProp(item) : item;
180
+ },
181
+ [getItemValueProp]
182
+ );
183
+ const getColumn = React2.useCallback(
184
+ (id2) => {
185
+ if (id2 in value) return id2;
186
+ for (const [columnId, items] of Object.entries(value)) {
187
+ if (items.some((item) => getItemValue(item) === id2)) {
188
+ return columnId;
189
+ }
190
+ }
191
+ return null;
192
+ },
193
+ [value, getItemValue]
194
+ );
195
+ const collisionDetection = React2.useCallback(
196
+ (args) => {
197
+ if (activeId && activeId in value) {
198
+ return closestCenter({
199
+ ...args,
200
+ droppableContainers: args.droppableContainers.filter(
201
+ (container) => container.id in value
202
+ )
203
+ });
204
+ }
205
+ const pointerIntersections = pointerWithin(args);
206
+ const intersections = pointerIntersections.length > 0 ? pointerIntersections : rectIntersection(args);
207
+ let overId = getFirstCollision(intersections, "id");
208
+ if (!overId) {
209
+ if (hasMovedRef.current) {
210
+ lastOverIdRef.current = activeId;
211
+ }
212
+ return lastOverIdRef.current ? [{ id: lastOverIdRef.current }] : [];
213
+ }
214
+ if (overId in value) {
215
+ const containerItems = value[overId];
216
+ if (containerItems && containerItems.length > 0) {
217
+ const closestItem = closestCenter({
218
+ ...args,
219
+ droppableContainers: args.droppableContainers.filter(
220
+ (container) => container.id !== overId && containerItems.some(
221
+ (item) => getItemValue(item) === container.id
222
+ )
223
+ )
224
+ });
225
+ if (closestItem.length > 0) {
226
+ overId = closestItem[0]?.id ?? overId;
227
+ }
228
+ }
229
+ }
230
+ lastOverIdRef.current = overId;
231
+ return [{ id: overId }];
232
+ },
233
+ [activeId, value, getItemValue]
234
+ );
235
+ const onDragStart = React2.useCallback(
236
+ (event) => {
237
+ kanbanProps.onDragStart?.(event);
238
+ if (event.activatorEvent.defaultPrevented) return;
239
+ setActiveId(event.active.id);
240
+ },
241
+ [kanbanProps.onDragStart]
242
+ );
243
+ const onDragOver = React2.useCallback(
244
+ (event) => {
245
+ kanbanProps.onDragOver?.(event);
246
+ if (event.activatorEvent.defaultPrevented) return;
247
+ const { active, over } = event;
248
+ if (!over) return;
249
+ const activeColumn = getColumn(active.id);
250
+ const overColumn = getColumn(over.id);
251
+ if (!activeColumn || !overColumn) return;
252
+ if (activeColumn === overColumn) {
253
+ const items = value[activeColumn];
254
+ if (!items) return;
255
+ const activeIndex = items.findIndex(
256
+ (item) => getItemValue(item) === active.id
257
+ );
258
+ const overIndex = items.findIndex(
259
+ (item) => getItemValue(item) === over.id
260
+ );
261
+ if (activeIndex !== overIndex) {
262
+ const newColumns = { ...value };
263
+ newColumns[activeColumn] = arrayMove(items, activeIndex, overIndex);
264
+ onValueChange?.(newColumns);
265
+ }
266
+ } else {
267
+ const activeItems = value[activeColumn];
268
+ const overItems = value[overColumn];
269
+ if (!activeItems || !overItems) return;
270
+ const activeIndex = activeItems.findIndex(
271
+ (item) => getItemValue(item) === active.id
272
+ );
273
+ if (activeIndex === -1) return;
274
+ const activeItem = activeItems[activeIndex];
275
+ if (!activeItem) return;
276
+ const updatedItems = {
277
+ ...value,
278
+ [activeColumn]: activeItems.filter(
279
+ (item) => getItemValue(item) !== active.id
280
+ ),
281
+ [overColumn]: [...overItems, activeItem]
282
+ };
283
+ onValueChange?.(updatedItems);
284
+ hasMovedRef.current = true;
285
+ }
286
+ },
287
+ [value, getColumn, getItemValue, onValueChange, kanbanProps.onDragOver]
288
+ );
289
+ const onDragEnd = React2.useCallback(
290
+ (event) => {
291
+ kanbanProps.onDragEnd?.(event);
292
+ if (event.activatorEvent.defaultPrevented) return;
293
+ const { active, over } = event;
294
+ if (!over) {
295
+ setActiveId(null);
296
+ return;
297
+ }
298
+ if (active.id in value && over.id in value) {
299
+ const activeIndex = Object.keys(value).indexOf(active.id);
300
+ const overIndex = Object.keys(value).indexOf(over.id);
301
+ if (activeIndex !== overIndex) {
302
+ const orderedColumns = Object.keys(value);
303
+ const newOrder = arrayMove(orderedColumns, activeIndex, overIndex);
304
+ const newColumns = {};
305
+ for (const key of newOrder) {
306
+ const items = value[key];
307
+ if (items) {
308
+ newColumns[key] = items;
309
+ }
310
+ }
311
+ if (onMove) {
312
+ onMove({ ...event, activeIndex, overIndex });
313
+ } else {
314
+ onValueChange?.(newColumns);
315
+ }
316
+ }
317
+ } else {
318
+ const activeColumn = getColumn(active.id);
319
+ const overColumn = getColumn(over.id);
320
+ if (!activeColumn || !overColumn) {
321
+ setActiveId(null);
322
+ return;
323
+ }
324
+ if (activeColumn === overColumn) {
325
+ const items = value[activeColumn];
326
+ if (!items) {
327
+ setActiveId(null);
328
+ return;
329
+ }
330
+ const activeIndex = items.findIndex(
331
+ (item) => getItemValue(item) === active.id
332
+ );
333
+ const overIndex = items.findIndex(
334
+ (item) => getItemValue(item) === over.id
335
+ );
336
+ if (activeIndex !== overIndex) {
337
+ const newColumns = { ...value };
338
+ newColumns[activeColumn] = arrayMove(items, activeIndex, overIndex);
339
+ if (onMove) {
340
+ onMove({
341
+ ...event,
342
+ activeIndex,
343
+ overIndex
344
+ });
345
+ } else {
346
+ onValueChange?.(newColumns);
347
+ }
348
+ }
349
+ }
350
+ }
351
+ setActiveId(null);
352
+ hasMovedRef.current = false;
353
+ },
354
+ [
355
+ value,
356
+ getColumn,
357
+ getItemValue,
358
+ onValueChange,
359
+ onMove,
360
+ kanbanProps.onDragEnd
361
+ ]
362
+ );
363
+ const onDragCancel = React2.useCallback(
364
+ (event) => {
365
+ kanbanProps.onDragCancel?.(event);
366
+ if (event.activatorEvent.defaultPrevented) return;
367
+ setActiveId(null);
368
+ hasMovedRef.current = false;
369
+ },
370
+ [kanbanProps.onDragCancel]
371
+ );
372
+ const announcements = React2.useMemo(
373
+ () => ({
374
+ onDragStart({ active }) {
375
+ const isColumn = active.id in value;
376
+ const itemType = isColumn ? "column" : "item";
377
+ const position = isColumn ? Object.keys(value).indexOf(active.id) + 1 : (() => {
378
+ const column = getColumn(active.id);
379
+ if (!column || !value[column]) return 1;
380
+ return value[column].findIndex(
381
+ (item) => getItemValue(item) === active.id
382
+ ) + 1;
383
+ })();
384
+ const total = isColumn ? Object.keys(value).length : (() => {
385
+ const column = getColumn(active.id);
386
+ return column ? value[column]?.length ?? 0 : 0;
387
+ })();
388
+ return `Picked up ${itemType} at position ${position} of ${total}`;
389
+ },
390
+ onDragOver({ active, over }) {
391
+ if (!over) return;
392
+ const isColumn = active.id in value;
393
+ const itemType = isColumn ? "column" : "item";
394
+ const position = isColumn ? Object.keys(value).indexOf(over.id) + 1 : (() => {
395
+ const column = getColumn(over.id);
396
+ if (!column || !value[column]) return 1;
397
+ return value[column].findIndex(
398
+ (item) => getItemValue(item) === over.id
399
+ ) + 1;
400
+ })();
401
+ const total = isColumn ? Object.keys(value).length : (() => {
402
+ const column = getColumn(over.id);
403
+ return column ? value[column]?.length ?? 0 : 0;
404
+ })();
405
+ const overColumn = getColumn(over.id);
406
+ const activeColumn = getColumn(active.id);
407
+ if (isColumn) {
408
+ return `${itemType} is now at position ${position} of ${total}`;
409
+ }
410
+ if (activeColumn !== overColumn) {
411
+ return `${itemType} is now at position ${position} of ${total} in ${overColumn}`;
412
+ }
413
+ return `${itemType} is now at position ${position} of ${total}`;
414
+ },
415
+ onDragEnd({ active, over }) {
416
+ if (!over) return;
417
+ const isColumn = active.id in value;
418
+ const itemType = isColumn ? "column" : "item";
419
+ const position = isColumn ? Object.keys(value).indexOf(over.id) + 1 : (() => {
420
+ const column = getColumn(over.id);
421
+ if (!column || !value[column]) return 1;
422
+ return value[column].findIndex(
423
+ (item) => getItemValue(item) === over.id
424
+ ) + 1;
425
+ })();
426
+ const total = isColumn ? Object.keys(value).length : (() => {
427
+ const column = getColumn(over.id);
428
+ return column ? value[column]?.length ?? 0 : 0;
429
+ })();
430
+ const overColumn = getColumn(over.id);
431
+ const activeColumn = getColumn(active.id);
432
+ if (isColumn) {
433
+ return `${itemType} was dropped at position ${position} of ${total}`;
434
+ }
435
+ if (activeColumn !== overColumn) {
436
+ return `${itemType} was dropped at position ${position} of ${total} in ${overColumn}`;
437
+ }
438
+ return `${itemType} was dropped at position ${position} of ${total}`;
439
+ },
440
+ onDragCancel({ active }) {
441
+ const isColumn = active.id in value;
442
+ const itemType = isColumn ? "column" : "item";
443
+ return `Dragging was cancelled. ${itemType} was dropped.`;
444
+ }
445
+ }),
446
+ [value, getColumn, getItemValue]
447
+ );
448
+ const contextValue = React2.useMemo(
449
+ () => ({
450
+ id,
451
+ items: value,
452
+ modifiers,
453
+ strategy,
454
+ orientation,
455
+ activeId,
456
+ setActiveId,
457
+ getItemValue,
458
+ flatCursor
459
+ }),
460
+ [
461
+ id,
462
+ value,
463
+ activeId,
464
+ modifiers,
465
+ strategy,
466
+ orientation,
467
+ getItemValue,
468
+ flatCursor
469
+ ]
470
+ );
471
+ return /* @__PURE__ */ jsx(KanbanContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
472
+ DndContext,
473
+ {
474
+ collisionDetection,
475
+ modifiers,
476
+ sensors,
477
+ ...kanbanProps,
478
+ id,
479
+ measuring: {
480
+ droppable: {
481
+ strategy: MeasuringStrategy.Always
482
+ }
483
+ },
484
+ onDragStart,
485
+ onDragOver,
486
+ onDragEnd,
487
+ onDragCancel,
488
+ accessibility: {
489
+ announcements,
490
+ screenReaderInstructions: {
491
+ draggable: `
492
+ To pick up a kanban item or column, press space or enter.
493
+ While dragging, use the arrow keys to move the item.
494
+ Press space or enter again to drop the item in its new position, or press escape to cancel.
495
+ `
496
+ },
497
+ ...accessibility
498
+ }
499
+ }
500
+ ) });
501
+ }
502
+ var KanbanBoardContext = React2.createContext(false);
503
+ function KanbanBoard(props) {
504
+ const { asChild, className, ref, ...boardProps } = props;
505
+ const context = useKanbanContext(BOARD_NAME);
506
+ const columns = React2.useMemo(() => {
507
+ return Object.keys(context.items);
508
+ }, [context.items]);
509
+ const BoardPrimitive = asChild ? Slot : "div";
510
+ return /* @__PURE__ */ jsx(KanbanBoardContext.Provider, { value: true, children: /* @__PURE__ */ jsx(
511
+ SortableContext,
512
+ {
513
+ items: columns,
514
+ strategy: context.orientation === "horizontal" ? horizontalListSortingStrategy : verticalListSortingStrategy,
515
+ children: /* @__PURE__ */ jsx(
516
+ BoardPrimitive,
517
+ {
518
+ "aria-orientation": context.orientation,
519
+ "data-orientation": context.orientation,
520
+ "data-slot": "kanban-board",
521
+ ...boardProps,
522
+ ref,
523
+ className: cn(
524
+ "flex size-full gap-4",
525
+ context.orientation === "horizontal" ? "flex-row" : "flex-col",
526
+ className
527
+ )
528
+ }
529
+ )
530
+ }
531
+ ) });
532
+ }
533
+ var KanbanColumnContext = React2.createContext(null);
534
+ function useKanbanColumnContext(consumerName) {
535
+ const context = React2.useContext(KanbanColumnContext);
536
+ if (!context) {
537
+ throw new Error(
538
+ `\`${consumerName}\` must be used within \`${COLUMN_NAME}\``
539
+ );
540
+ }
541
+ return context;
542
+ }
543
+ var animateLayoutChanges = (args) => defaultAnimateLayoutChanges({ ...args, wasDragging: true });
544
+ function KanbanColumn(props) {
545
+ const {
546
+ value,
547
+ asChild,
548
+ asHandle,
549
+ disabled,
550
+ className,
551
+ style,
552
+ ref,
553
+ ...columnProps
554
+ } = props;
555
+ const id = React2.useId();
556
+ const context = useKanbanContext(COLUMN_NAME);
557
+ const inBoard = React2.useContext(KanbanBoardContext);
558
+ const inOverlay = React2.useContext(KanbanOverlayContext);
559
+ if (!inBoard && !inOverlay) {
560
+ throw new Error(
561
+ `\`${COLUMN_NAME}\` must be used within \`${BOARD_NAME}\` or \`${OVERLAY_NAME}\``
562
+ );
563
+ }
564
+ if (value === "") {
565
+ throw new Error(`\`${COLUMN_NAME}\` value cannot be an empty string`);
566
+ }
567
+ const {
568
+ attributes,
569
+ listeners,
570
+ setNodeRef,
571
+ setActivatorNodeRef,
572
+ transform,
573
+ transition,
574
+ isDragging
575
+ } = useSortable({
576
+ id: value,
577
+ disabled,
578
+ animateLayoutChanges
579
+ });
580
+ const composedRef = useComposedRefs(ref, (node) => {
581
+ if (disabled) return;
582
+ setNodeRef(node);
583
+ });
584
+ const composedStyle = React2.useMemo(() => {
585
+ return {
586
+ transform: CSS.Transform.toString(transform),
587
+ transition,
588
+ ...style
589
+ };
590
+ }, [transform, transition, style]);
591
+ const items = React2.useMemo(() => {
592
+ const items2 = context.items[value] ?? [];
593
+ return items2.map((item) => context.getItemValue(item));
594
+ }, [context.items, value, context.getItemValue]);
595
+ const columnContext = React2.useMemo(
596
+ () => ({
597
+ id,
598
+ attributes,
599
+ listeners,
600
+ setActivatorNodeRef,
601
+ isDragging,
602
+ disabled
603
+ }),
604
+ [id, attributes, listeners, setActivatorNodeRef, isDragging, disabled]
605
+ );
606
+ const ColumnPrimitive = asChild ? Slot : "div";
607
+ return /* @__PURE__ */ jsx(KanbanColumnContext.Provider, { value: columnContext, children: /* @__PURE__ */ jsx(
608
+ SortableContext,
609
+ {
610
+ items,
611
+ strategy: context.orientation === "horizontal" ? horizontalListSortingStrategy : verticalListSortingStrategy,
612
+ children: /* @__PURE__ */ jsx(
613
+ ColumnPrimitive,
614
+ {
615
+ id,
616
+ "data-disabled": disabled,
617
+ "data-dragging": isDragging ? "" : void 0,
618
+ "data-slot": "kanban-column",
619
+ ...columnProps,
620
+ ...asHandle && !disabled ? attributes : {},
621
+ ...asHandle && !disabled ? listeners : {},
622
+ ref: composedRef,
623
+ style: composedStyle,
624
+ className: cn(
625
+ "flex size-full flex-col gap-2 rounded-lg border bg-zinc-100 p-2.5 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:bg-zinc-900",
626
+ {
627
+ "touch-none select-none": asHandle,
628
+ "cursor-default": context.flatCursor,
629
+ "data-dragging:cursor-grabbing": !context.flatCursor,
630
+ "cursor-grab": !isDragging && asHandle && !context.flatCursor,
631
+ "opacity-50": isDragging,
632
+ "pointer-events-none opacity-50": disabled
633
+ },
634
+ className
635
+ )
636
+ }
637
+ )
638
+ }
639
+ ) });
640
+ }
641
+ function KanbanColumnHandle(props) {
642
+ const { asChild, disabled, className, ref, ...columnHandleProps } = props;
643
+ const context = useKanbanContext(COLUMN_NAME);
644
+ const columnContext = useKanbanColumnContext(COLUMN_HANDLE_NAME);
645
+ const isDisabled = disabled ?? columnContext.disabled;
646
+ const composedRef = useComposedRefs(ref, (node) => {
647
+ if (isDisabled) return;
648
+ columnContext.setActivatorNodeRef(node);
649
+ });
650
+ const HandlePrimitive = asChild ? Slot : "button";
651
+ return /* @__PURE__ */ jsx(
652
+ HandlePrimitive,
653
+ {
654
+ type: "button",
655
+ "aria-controls": columnContext.id,
656
+ "data-disabled": isDisabled,
657
+ "data-dragging": columnContext.isDragging ? "" : void 0,
658
+ "data-slot": "kanban-column-handle",
659
+ ...columnHandleProps,
660
+ ...isDisabled ? {} : columnContext.attributes,
661
+ ...isDisabled ? {} : columnContext.listeners,
662
+ ref: composedRef,
663
+ className: cn(
664
+ "select-none disabled:pointer-events-none disabled:opacity-50",
665
+ context.flatCursor ? "cursor-default" : "cursor-grab data-dragging:cursor-grabbing",
666
+ className
667
+ ),
668
+ disabled: isDisabled
669
+ }
670
+ );
671
+ }
672
+ var KanbanItemContext = React2.createContext(
673
+ null
674
+ );
675
+ function useKanbanItemContext(consumerName) {
676
+ const context = React2.useContext(KanbanItemContext);
677
+ if (!context) {
678
+ throw new Error(`\`${consumerName}\` must be used within \`${ITEM_NAME}\``);
679
+ }
680
+ return context;
681
+ }
682
+ function KanbanItem(props) {
683
+ const {
684
+ value,
685
+ style,
686
+ asHandle,
687
+ asChild,
688
+ disabled,
689
+ className,
690
+ ref,
691
+ ...itemProps
692
+ } = props;
693
+ const id = React2.useId();
694
+ const context = useKanbanContext(ITEM_NAME);
695
+ const inBoard = React2.useContext(KanbanBoardContext);
696
+ const inOverlay = React2.useContext(KanbanOverlayContext);
697
+ if (!inBoard && !inOverlay) {
698
+ throw new Error(`\`${ITEM_NAME}\` must be used within \`${BOARD_NAME}\``);
699
+ }
700
+ const {
701
+ attributes,
702
+ listeners,
703
+ setNodeRef,
704
+ setActivatorNodeRef,
705
+ transform,
706
+ transition,
707
+ isDragging
708
+ } = useSortable({ id: value, disabled });
709
+ if (value === "") {
710
+ throw new Error(`\`${ITEM_NAME}\` value cannot be an empty string`);
711
+ }
712
+ const composedRef = useComposedRefs(ref, (node) => {
713
+ if (disabled) return;
714
+ setNodeRef(node);
715
+ });
716
+ const composedStyle = React2.useMemo(() => {
717
+ return {
718
+ transform: CSS.Transform.toString(transform),
719
+ transition,
720
+ ...style
721
+ };
722
+ }, [transform, transition, style]);
723
+ const itemContext = React2.useMemo(
724
+ () => ({
725
+ id,
726
+ attributes,
727
+ listeners,
728
+ setActivatorNodeRef,
729
+ isDragging,
730
+ disabled
731
+ }),
732
+ [id, attributes, listeners, setActivatorNodeRef, isDragging, disabled]
733
+ );
734
+ const ItemPrimitive = asChild ? Slot : "div";
735
+ return /* @__PURE__ */ jsx(KanbanItemContext.Provider, { value: itemContext, children: /* @__PURE__ */ jsx(
736
+ ItemPrimitive,
737
+ {
738
+ id,
739
+ "data-disabled": disabled,
740
+ "data-dragging": isDragging ? "" : void 0,
741
+ "data-slot": "kanban-item",
742
+ ...itemProps,
743
+ ...asHandle && !disabled ? attributes : {},
744
+ ...asHandle && !disabled ? listeners : {},
745
+ ref: composedRef,
746
+ style: composedStyle,
747
+ className: cn(
748
+ "focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1",
749
+ {
750
+ "touch-none select-none": asHandle,
751
+ "cursor-default": context.flatCursor,
752
+ "data-dragging:cursor-grabbing": !context.flatCursor,
753
+ "cursor-grab": !isDragging && asHandle && !context.flatCursor,
754
+ "opacity-50": isDragging,
755
+ "pointer-events-none opacity-50": disabled
756
+ },
757
+ className
758
+ )
759
+ }
760
+ ) });
761
+ }
762
+ function KanbanItemHandle(props) {
763
+ const { asChild, disabled, className, ref, ...itemHandleProps } = props;
764
+ const context = useKanbanContext(ITEM_HANDLE_NAME);
765
+ const itemContext = useKanbanItemContext(ITEM_HANDLE_NAME);
766
+ const isDisabled = disabled ?? itemContext.disabled;
767
+ const composedRef = useComposedRefs(ref, (node) => {
768
+ if (isDisabled) return;
769
+ itemContext.setActivatorNodeRef(node);
770
+ });
771
+ const HandlePrimitive = asChild ? Slot : "button";
772
+ return /* @__PURE__ */ jsx(
773
+ HandlePrimitive,
774
+ {
775
+ type: "button",
776
+ "aria-controls": itemContext.id,
777
+ "data-disabled": isDisabled,
778
+ "data-dragging": itemContext.isDragging ? "" : void 0,
779
+ "data-slot": "kanban-item-handle",
780
+ ...itemHandleProps,
781
+ ...isDisabled ? {} : itemContext.attributes,
782
+ ...isDisabled ? {} : itemContext.listeners,
783
+ ref: composedRef,
784
+ className: cn(
785
+ "select-none disabled:pointer-events-none disabled:opacity-50",
786
+ context.flatCursor ? "cursor-default" : "cursor-grab data-dragging:cursor-grabbing",
787
+ className
788
+ ),
789
+ disabled: isDisabled
790
+ }
791
+ );
792
+ }
793
+ var KanbanOverlayContext = React2.createContext(false);
794
+ var dropAnimation = {
795
+ sideEffects: defaultDropAnimationSideEffects({
796
+ styles: {
797
+ active: {
798
+ opacity: "0.4"
799
+ }
800
+ }
801
+ })
802
+ };
803
+ function KanbanOverlay(props) {
804
+ const { container: containerProp, children, ...overlayProps } = props;
805
+ const context = useKanbanContext(OVERLAY_NAME);
806
+ const [mounted, setMounted] = React2.useState(false);
807
+ React2.useLayoutEffect(() => setMounted(true), []);
808
+ const container = containerProp ?? (mounted ? globalThis.document?.body : null);
809
+ if (!container) return null;
810
+ const variant = context.activeId && context.activeId in context.items ? "column" : "item";
811
+ return ReactDOM.createPortal(
812
+ /* @__PURE__ */ jsx(
813
+ DragOverlay,
814
+ {
815
+ dropAnimation,
816
+ modifiers: context.modifiers,
817
+ className: cn(!context.flatCursor && "cursor-grabbing"),
818
+ ...overlayProps,
819
+ children: /* @__PURE__ */ jsx(KanbanOverlayContext.Provider, { value: true, children: context.activeId && children ? typeof children === "function" ? children({
820
+ value: context.activeId,
821
+ variant
822
+ }) : children : null })
823
+ }
824
+ ),
825
+ container
826
+ );
827
+ }
828
+
829
+ export { Kanban, KanbanBoard, KanbanColumn, KanbanColumnHandle, KanbanItem, KanbanItemHandle, KanbanOverlay };
830
+ //# sourceMappingURL=kanban.js.map
831
+ //# sourceMappingURL=kanban.js.map