shadcnui-hono-jsx 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1032) hide show
  1. package/LICENSE +367 -0
  2. package/README.md +28 -0
  3. package/client/avatar.js +41 -0
  4. package/client/collapsible.js +47 -0
  5. package/client/combobox.js +759 -0
  6. package/client/core.js +81 -0
  7. package/client/drawer.js +208 -0
  8. package/client/hover.js +126 -0
  9. package/client/input-group.js +14 -0
  10. package/client/menu.js +460 -0
  11. package/client/navigation-menu.js +547 -0
  12. package/client/scroll-area.js +312 -0
  13. package/client/sidebar.js +163 -0
  14. package/client/slider.js +200 -0
  15. package/client/tabs.js +50 -0
  16. package/client/toast.js +612 -0
  17. package/dist/bin.js +864 -0
  18. package/generated/catalog.json +414 -0
  19. package/generated/icons/hugeicons.json +68 -0
  20. package/generated/icons/phosphor.json +64 -0
  21. package/generated/icons/remixicon.json +64 -0
  22. package/generated/icons/tabler.json +68 -0
  23. package/generated/named-presets.json +98 -0
  24. package/generated/notices/hugeicons.txt +69 -0
  25. package/generated/notices/lucide.txt +91 -0
  26. package/generated/notices/phosphor.txt +69 -0
  27. package/generated/notices/remixicon.txt +236 -0
  28. package/generated/notices/tabler.txt +69 -0
  29. package/generated/shadcn-preset.d.ts +44 -0
  30. package/generated/shadcn-preset.js +8 -0
  31. package/generated/tailwind.css +637 -0
  32. package/generated/templates/base-luma/accordion.tsx +293 -0
  33. package/generated/templates/base-luma/alert-dialog.tsx +341 -0
  34. package/generated/templates/base-luma/alert.tsx +95 -0
  35. package/generated/templates/base-luma/aspect-ratio.tsx +43 -0
  36. package/generated/templates/base-luma/attachment.tsx +274 -0
  37. package/generated/templates/base-luma/avatar.tsx +165 -0
  38. package/generated/templates/base-luma/badge.tsx +116 -0
  39. package/generated/templates/base-luma/breadcrumb.tsx +255 -0
  40. package/generated/templates/base-luma/bubble.tsx +191 -0
  41. package/generated/templates/base-luma/button-group.tsx +152 -0
  42. package/generated/templates/base-luma/button.tsx +132 -0
  43. package/generated/templates/base-luma/card.tsx +122 -0
  44. package/generated/templates/base-luma/checkbox.tsx +137 -0
  45. package/generated/templates/base-luma/collapsible.tsx +140 -0
  46. package/generated/templates/base-luma/combobox.tsx +1122 -0
  47. package/generated/templates/base-luma/context-menu.tsx +833 -0
  48. package/generated/templates/base-luma/date-picker-lite.tsx +104 -0
  49. package/generated/templates/base-luma/dialog.tsx +350 -0
  50. package/generated/templates/base-luma/direction.tsx +40 -0
  51. package/generated/templates/base-luma/drawer.tsx +427 -0
  52. package/generated/templates/base-luma/dropdown-menu.tsx +862 -0
  53. package/generated/templates/base-luma/empty.tsx +121 -0
  54. package/generated/templates/base-luma/field.tsx +256 -0
  55. package/generated/templates/base-luma/hover-card.tsx +350 -0
  56. package/generated/templates/base-luma/input-group.tsx +171 -0
  57. package/generated/templates/base-luma/input-otp-lite.tsx +96 -0
  58. package/generated/templates/base-luma/input.tsx +39 -0
  59. package/generated/templates/base-luma/item.tsx +265 -0
  60. package/generated/templates/base-luma/kbd.tsx +47 -0
  61. package/generated/templates/base-luma/label.tsx +37 -0
  62. package/generated/templates/base-luma/marker.tsx +134 -0
  63. package/generated/templates/base-luma/menu-default-translucent/combobox.tsx +1123 -0
  64. package/generated/templates/base-luma/menu-default-translucent/context-menu.tsx +834 -0
  65. package/generated/templates/base-luma/menu-default-translucent/dropdown-menu.tsx +863 -0
  66. package/generated/templates/base-luma/menu-default-translucent/menubar.tsx +525 -0
  67. package/generated/templates/base-luma/menu-default-translucent/select.tsx +570 -0
  68. package/generated/templates/base-luma/menu-inverted/combobox.tsx +1123 -0
  69. package/generated/templates/base-luma/menu-inverted/context-menu.tsx +834 -0
  70. package/generated/templates/base-luma/menu-inverted/dropdown-menu.tsx +863 -0
  71. package/generated/templates/base-luma/menu-inverted/menubar.tsx +525 -0
  72. package/generated/templates/base-luma/menu-inverted/select.tsx +570 -0
  73. package/generated/templates/base-luma/menu-inverted-translucent/combobox.tsx +1123 -0
  74. package/generated/templates/base-luma/menu-inverted-translucent/context-menu.tsx +834 -0
  75. package/generated/templates/base-luma/menu-inverted-translucent/dropdown-menu.tsx +863 -0
  76. package/generated/templates/base-luma/menu-inverted-translucent/menubar.tsx +525 -0
  77. package/generated/templates/base-luma/menu-inverted-translucent/select.tsx +570 -0
  78. package/generated/templates/base-luma/menubar.tsx +524 -0
  79. package/generated/templates/base-luma/message.tsx +111 -0
  80. package/generated/templates/base-luma/native-select.tsx +121 -0
  81. package/generated/templates/base-luma/navigation-menu.tsx +598 -0
  82. package/generated/templates/base-luma/pagination.tsx +244 -0
  83. package/generated/templates/base-luma/popover.tsx +375 -0
  84. package/generated/templates/base-luma/progress.tsx +228 -0
  85. package/generated/templates/base-luma/radio-group.tsx +160 -0
  86. package/generated/templates/base-luma/rtl/accordion.tsx +294 -0
  87. package/generated/templates/base-luma/rtl/alert-dialog.tsx +342 -0
  88. package/generated/templates/base-luma/rtl/alert.tsx +96 -0
  89. package/generated/templates/base-luma/rtl/attachment.tsx +275 -0
  90. package/generated/templates/base-luma/rtl/avatar.tsx +166 -0
  91. package/generated/templates/base-luma/rtl/badge.tsx +117 -0
  92. package/generated/templates/base-luma/rtl/breadcrumb.tsx +256 -0
  93. package/generated/templates/base-luma/rtl/bubble.tsx +192 -0
  94. package/generated/templates/base-luma/rtl/button-group.tsx +153 -0
  95. package/generated/templates/base-luma/rtl/button.tsx +133 -0
  96. package/generated/templates/base-luma/rtl/combobox.tsx +1123 -0
  97. package/generated/templates/base-luma/rtl/context-menu.tsx +834 -0
  98. package/generated/templates/base-luma/rtl/date-picker-lite.tsx +105 -0
  99. package/generated/templates/base-luma/rtl/dialog.tsx +351 -0
  100. package/generated/templates/base-luma/rtl/drawer.tsx +428 -0
  101. package/generated/templates/base-luma/rtl/dropdown-menu.tsx +863 -0
  102. package/generated/templates/base-luma/rtl/field.tsx +257 -0
  103. package/generated/templates/base-luma/rtl/hover-card.tsx +351 -0
  104. package/generated/templates/base-luma/rtl/input-group.tsx +172 -0
  105. package/generated/templates/base-luma/rtl/input-otp-lite.tsx +97 -0
  106. package/generated/templates/base-luma/rtl/item.tsx +266 -0
  107. package/generated/templates/base-luma/rtl/marker.tsx +135 -0
  108. package/generated/templates/base-luma/rtl/menubar.tsx +525 -0
  109. package/generated/templates/base-luma/rtl/native-select.tsx +122 -0
  110. package/generated/templates/base-luma/rtl/navigation-menu.tsx +599 -0
  111. package/generated/templates/base-luma/rtl/pagination.tsx +245 -0
  112. package/generated/templates/base-luma/rtl/popover.tsx +376 -0
  113. package/generated/templates/base-luma/rtl/progress.tsx +229 -0
  114. package/generated/templates/base-luma/rtl/radio-group.tsx +161 -0
  115. package/generated/templates/base-luma/rtl/scroll-area.tsx +184 -0
  116. package/generated/templates/base-luma/rtl/select.tsx +570 -0
  117. package/generated/templates/base-luma/rtl/sheet.tsx +332 -0
  118. package/generated/templates/base-luma/rtl/sidebar.tsx +766 -0
  119. package/generated/templates/base-luma/rtl/switch.tsx +107 -0
  120. package/generated/templates/base-luma/rtl/table.tsx +131 -0
  121. package/generated/templates/base-luma/rtl/tabs.tsx +216 -0
  122. package/generated/templates/base-luma/rtl/toast.tsx +814 -0
  123. package/generated/templates/base-luma/rtl/toggle-group.tsx +211 -0
  124. package/generated/templates/base-luma/rtl/toggle.tsx +138 -0
  125. package/generated/templates/base-luma/rtl/tooltip.tsx +398 -0
  126. package/generated/templates/base-luma/rtl_menu-default-translucent/combobox.tsx +1123 -0
  127. package/generated/templates/base-luma/rtl_menu-default-translucent/context-menu.tsx +834 -0
  128. package/generated/templates/base-luma/rtl_menu-default-translucent/dropdown-menu.tsx +863 -0
  129. package/generated/templates/base-luma/rtl_menu-default-translucent/menubar.tsx +525 -0
  130. package/generated/templates/base-luma/rtl_menu-default-translucent/select.tsx +570 -0
  131. package/generated/templates/base-luma/rtl_menu-inverted/combobox.tsx +1123 -0
  132. package/generated/templates/base-luma/rtl_menu-inverted/context-menu.tsx +834 -0
  133. package/generated/templates/base-luma/rtl_menu-inverted/dropdown-menu.tsx +863 -0
  134. package/generated/templates/base-luma/rtl_menu-inverted/menubar.tsx +525 -0
  135. package/generated/templates/base-luma/rtl_menu-inverted/select.tsx +570 -0
  136. package/generated/templates/base-luma/rtl_menu-inverted-translucent/combobox.tsx +1123 -0
  137. package/generated/templates/base-luma/rtl_menu-inverted-translucent/context-menu.tsx +834 -0
  138. package/generated/templates/base-luma/rtl_menu-inverted-translucent/dropdown-menu.tsx +863 -0
  139. package/generated/templates/base-luma/rtl_menu-inverted-translucent/menubar.tsx +525 -0
  140. package/generated/templates/base-luma/rtl_menu-inverted-translucent/select.tsx +570 -0
  141. package/generated/templates/base-luma/scroll-area.tsx +183 -0
  142. package/generated/templates/base-luma/select.tsx +569 -0
  143. package/generated/templates/base-luma/separator.tsx +99 -0
  144. package/generated/templates/base-luma/sheet.tsx +331 -0
  145. package/generated/templates/base-luma/sidebar.tsx +765 -0
  146. package/generated/templates/base-luma/skeleton.tsx +34 -0
  147. package/generated/templates/base-luma/slider.tsx +282 -0
  148. package/generated/templates/base-luma/spinner.tsx +74 -0
  149. package/generated/templates/base-luma/switch.tsx +106 -0
  150. package/generated/templates/base-luma/table.tsx +130 -0
  151. package/generated/templates/base-luma/tabs.tsx +215 -0
  152. package/generated/templates/base-luma/textarea.tsx +37 -0
  153. package/generated/templates/base-luma/toast.tsx +813 -0
  154. package/generated/templates/base-luma/toggle-group.tsx +210 -0
  155. package/generated/templates/base-luma/toggle.tsx +137 -0
  156. package/generated/templates/base-luma/tooltip.tsx +397 -0
  157. package/generated/templates/base-lyra/accordion.tsx +290 -0
  158. package/generated/templates/base-lyra/alert-dialog.tsx +341 -0
  159. package/generated/templates/base-lyra/alert.tsx +98 -0
  160. package/generated/templates/base-lyra/aspect-ratio.tsx +43 -0
  161. package/generated/templates/base-lyra/attachment.tsx +274 -0
  162. package/generated/templates/base-lyra/avatar.tsx +165 -0
  163. package/generated/templates/base-lyra/badge.tsx +116 -0
  164. package/generated/templates/base-lyra/breadcrumb.tsx +255 -0
  165. package/generated/templates/base-lyra/bubble.tsx +191 -0
  166. package/generated/templates/base-lyra/button-group.tsx +152 -0
  167. package/generated/templates/base-lyra/button.tsx +132 -0
  168. package/generated/templates/base-lyra/card.tsx +125 -0
  169. package/generated/templates/base-lyra/checkbox.tsx +137 -0
  170. package/generated/templates/base-lyra/collapsible.tsx +140 -0
  171. package/generated/templates/base-lyra/combobox.tsx +1122 -0
  172. package/generated/templates/base-lyra/context-menu.tsx +833 -0
  173. package/generated/templates/base-lyra/date-picker-lite.tsx +104 -0
  174. package/generated/templates/base-lyra/dialog.tsx +350 -0
  175. package/generated/templates/base-lyra/direction.tsx +40 -0
  176. package/generated/templates/base-lyra/drawer.tsx +427 -0
  177. package/generated/templates/base-lyra/dropdown-menu.tsx +862 -0
  178. package/generated/templates/base-lyra/empty.tsx +121 -0
  179. package/generated/templates/base-lyra/field.tsx +256 -0
  180. package/generated/templates/base-lyra/hover-card.tsx +350 -0
  181. package/generated/templates/base-lyra/input-group.tsx +173 -0
  182. package/generated/templates/base-lyra/input-otp-lite.tsx +96 -0
  183. package/generated/templates/base-lyra/input.tsx +39 -0
  184. package/generated/templates/base-lyra/item.tsx +265 -0
  185. package/generated/templates/base-lyra/kbd.tsx +47 -0
  186. package/generated/templates/base-lyra/label.tsx +37 -0
  187. package/generated/templates/base-lyra/marker.tsx +134 -0
  188. package/generated/templates/base-lyra/menu-default-translucent/combobox.tsx +1123 -0
  189. package/generated/templates/base-lyra/menu-default-translucent/context-menu.tsx +834 -0
  190. package/generated/templates/base-lyra/menu-default-translucent/dropdown-menu.tsx +863 -0
  191. package/generated/templates/base-lyra/menu-default-translucent/menubar.tsx +525 -0
  192. package/generated/templates/base-lyra/menu-default-translucent/select.tsx +567 -0
  193. package/generated/templates/base-lyra/menu-inverted/combobox.tsx +1123 -0
  194. package/generated/templates/base-lyra/menu-inverted/context-menu.tsx +834 -0
  195. package/generated/templates/base-lyra/menu-inverted/dropdown-menu.tsx +863 -0
  196. package/generated/templates/base-lyra/menu-inverted/menubar.tsx +525 -0
  197. package/generated/templates/base-lyra/menu-inverted/select.tsx +567 -0
  198. package/generated/templates/base-lyra/menu-inverted-translucent/combobox.tsx +1123 -0
  199. package/generated/templates/base-lyra/menu-inverted-translucent/context-menu.tsx +834 -0
  200. package/generated/templates/base-lyra/menu-inverted-translucent/dropdown-menu.tsx +863 -0
  201. package/generated/templates/base-lyra/menu-inverted-translucent/menubar.tsx +525 -0
  202. package/generated/templates/base-lyra/menu-inverted-translucent/select.tsx +567 -0
  203. package/generated/templates/base-lyra/menubar.tsx +524 -0
  204. package/generated/templates/base-lyra/message.tsx +111 -0
  205. package/generated/templates/base-lyra/native-select.tsx +121 -0
  206. package/generated/templates/base-lyra/navigation-menu.tsx +598 -0
  207. package/generated/templates/base-lyra/pagination.tsx +244 -0
  208. package/generated/templates/base-lyra/popover.tsx +375 -0
  209. package/generated/templates/base-lyra/progress.tsx +228 -0
  210. package/generated/templates/base-lyra/radio-group.tsx +160 -0
  211. package/generated/templates/base-lyra/rtl/accordion.tsx +291 -0
  212. package/generated/templates/base-lyra/rtl/alert-dialog.tsx +342 -0
  213. package/generated/templates/base-lyra/rtl/alert.tsx +99 -0
  214. package/generated/templates/base-lyra/rtl/attachment.tsx +275 -0
  215. package/generated/templates/base-lyra/rtl/avatar.tsx +166 -0
  216. package/generated/templates/base-lyra/rtl/badge.tsx +117 -0
  217. package/generated/templates/base-lyra/rtl/breadcrumb.tsx +256 -0
  218. package/generated/templates/base-lyra/rtl/bubble.tsx +192 -0
  219. package/generated/templates/base-lyra/rtl/button-group.tsx +153 -0
  220. package/generated/templates/base-lyra/rtl/button.tsx +133 -0
  221. package/generated/templates/base-lyra/rtl/combobox.tsx +1123 -0
  222. package/generated/templates/base-lyra/rtl/context-menu.tsx +834 -0
  223. package/generated/templates/base-lyra/rtl/date-picker-lite.tsx +105 -0
  224. package/generated/templates/base-lyra/rtl/dialog.tsx +351 -0
  225. package/generated/templates/base-lyra/rtl/drawer.tsx +428 -0
  226. package/generated/templates/base-lyra/rtl/dropdown-menu.tsx +863 -0
  227. package/generated/templates/base-lyra/rtl/field.tsx +257 -0
  228. package/generated/templates/base-lyra/rtl/hover-card.tsx +351 -0
  229. package/generated/templates/base-lyra/rtl/input-group.tsx +174 -0
  230. package/generated/templates/base-lyra/rtl/input-otp-lite.tsx +97 -0
  231. package/generated/templates/base-lyra/rtl/item.tsx +266 -0
  232. package/generated/templates/base-lyra/rtl/marker.tsx +135 -0
  233. package/generated/templates/base-lyra/rtl/menubar.tsx +525 -0
  234. package/generated/templates/base-lyra/rtl/native-select.tsx +122 -0
  235. package/generated/templates/base-lyra/rtl/navigation-menu.tsx +599 -0
  236. package/generated/templates/base-lyra/rtl/pagination.tsx +245 -0
  237. package/generated/templates/base-lyra/rtl/popover.tsx +376 -0
  238. package/generated/templates/base-lyra/rtl/progress.tsx +229 -0
  239. package/generated/templates/base-lyra/rtl/radio-group.tsx +161 -0
  240. package/generated/templates/base-lyra/rtl/scroll-area.tsx +184 -0
  241. package/generated/templates/base-lyra/rtl/select.tsx +567 -0
  242. package/generated/templates/base-lyra/rtl/sheet.tsx +329 -0
  243. package/generated/templates/base-lyra/rtl/sidebar.tsx +766 -0
  244. package/generated/templates/base-lyra/rtl/switch.tsx +107 -0
  245. package/generated/templates/base-lyra/rtl/table.tsx +131 -0
  246. package/generated/templates/base-lyra/rtl/tabs.tsx +216 -0
  247. package/generated/templates/base-lyra/rtl/toast.tsx +814 -0
  248. package/generated/templates/base-lyra/rtl/toggle-group.tsx +211 -0
  249. package/generated/templates/base-lyra/rtl/toggle.tsx +138 -0
  250. package/generated/templates/base-lyra/rtl/tooltip.tsx +398 -0
  251. package/generated/templates/base-lyra/rtl_menu-default-translucent/combobox.tsx +1123 -0
  252. package/generated/templates/base-lyra/rtl_menu-default-translucent/context-menu.tsx +834 -0
  253. package/generated/templates/base-lyra/rtl_menu-default-translucent/dropdown-menu.tsx +863 -0
  254. package/generated/templates/base-lyra/rtl_menu-default-translucent/menubar.tsx +525 -0
  255. package/generated/templates/base-lyra/rtl_menu-default-translucent/select.tsx +567 -0
  256. package/generated/templates/base-lyra/rtl_menu-inverted/combobox.tsx +1123 -0
  257. package/generated/templates/base-lyra/rtl_menu-inverted/context-menu.tsx +834 -0
  258. package/generated/templates/base-lyra/rtl_menu-inverted/dropdown-menu.tsx +863 -0
  259. package/generated/templates/base-lyra/rtl_menu-inverted/menubar.tsx +525 -0
  260. package/generated/templates/base-lyra/rtl_menu-inverted/select.tsx +567 -0
  261. package/generated/templates/base-lyra/rtl_menu-inverted-translucent/combobox.tsx +1123 -0
  262. package/generated/templates/base-lyra/rtl_menu-inverted-translucent/context-menu.tsx +834 -0
  263. package/generated/templates/base-lyra/rtl_menu-inverted-translucent/dropdown-menu.tsx +863 -0
  264. package/generated/templates/base-lyra/rtl_menu-inverted-translucent/menubar.tsx +525 -0
  265. package/generated/templates/base-lyra/rtl_menu-inverted-translucent/select.tsx +567 -0
  266. package/generated/templates/base-lyra/scroll-area.tsx +183 -0
  267. package/generated/templates/base-lyra/select.tsx +566 -0
  268. package/generated/templates/base-lyra/separator.tsx +99 -0
  269. package/generated/templates/base-lyra/sheet.tsx +328 -0
  270. package/generated/templates/base-lyra/sidebar.tsx +765 -0
  271. package/generated/templates/base-lyra/skeleton.tsx +34 -0
  272. package/generated/templates/base-lyra/slider.tsx +282 -0
  273. package/generated/templates/base-lyra/spinner.tsx +74 -0
  274. package/generated/templates/base-lyra/switch.tsx +106 -0
  275. package/generated/templates/base-lyra/table.tsx +130 -0
  276. package/generated/templates/base-lyra/tabs.tsx +215 -0
  277. package/generated/templates/base-lyra/textarea.tsx +37 -0
  278. package/generated/templates/base-lyra/toast.tsx +813 -0
  279. package/generated/templates/base-lyra/toggle-group.tsx +210 -0
  280. package/generated/templates/base-lyra/toggle.tsx +137 -0
  281. package/generated/templates/base-lyra/tooltip.tsx +397 -0
  282. package/generated/templates/base-maia/accordion.tsx +293 -0
  283. package/generated/templates/base-maia/alert-dialog.tsx +341 -0
  284. package/generated/templates/base-maia/alert.tsx +95 -0
  285. package/generated/templates/base-maia/aspect-ratio.tsx +43 -0
  286. package/generated/templates/base-maia/attachment.tsx +274 -0
  287. package/generated/templates/base-maia/avatar.tsx +165 -0
  288. package/generated/templates/base-maia/badge.tsx +116 -0
  289. package/generated/templates/base-maia/breadcrumb.tsx +255 -0
  290. package/generated/templates/base-maia/bubble.tsx +191 -0
  291. package/generated/templates/base-maia/button-group.tsx +152 -0
  292. package/generated/templates/base-maia/button.tsx +132 -0
  293. package/generated/templates/base-maia/card.tsx +122 -0
  294. package/generated/templates/base-maia/checkbox.tsx +137 -0
  295. package/generated/templates/base-maia/collapsible.tsx +140 -0
  296. package/generated/templates/base-maia/combobox.tsx +1122 -0
  297. package/generated/templates/base-maia/context-menu.tsx +833 -0
  298. package/generated/templates/base-maia/date-picker-lite.tsx +104 -0
  299. package/generated/templates/base-maia/dialog.tsx +350 -0
  300. package/generated/templates/base-maia/direction.tsx +40 -0
  301. package/generated/templates/base-maia/drawer.tsx +427 -0
  302. package/generated/templates/base-maia/dropdown-menu.tsx +862 -0
  303. package/generated/templates/base-maia/empty.tsx +121 -0
  304. package/generated/templates/base-maia/field.tsx +256 -0
  305. package/generated/templates/base-maia/hover-card.tsx +350 -0
  306. package/generated/templates/base-maia/input-group.tsx +173 -0
  307. package/generated/templates/base-maia/input-otp-lite.tsx +96 -0
  308. package/generated/templates/base-maia/input.tsx +39 -0
  309. package/generated/templates/base-maia/item.tsx +265 -0
  310. package/generated/templates/base-maia/kbd.tsx +47 -0
  311. package/generated/templates/base-maia/label.tsx +37 -0
  312. package/generated/templates/base-maia/marker.tsx +134 -0
  313. package/generated/templates/base-maia/menu-default-translucent/combobox.tsx +1123 -0
  314. package/generated/templates/base-maia/menu-default-translucent/context-menu.tsx +834 -0
  315. package/generated/templates/base-maia/menu-default-translucent/dropdown-menu.tsx +863 -0
  316. package/generated/templates/base-maia/menu-default-translucent/menubar.tsx +525 -0
  317. package/generated/templates/base-maia/menu-default-translucent/select.tsx +570 -0
  318. package/generated/templates/base-maia/menu-inverted/combobox.tsx +1123 -0
  319. package/generated/templates/base-maia/menu-inverted/context-menu.tsx +834 -0
  320. package/generated/templates/base-maia/menu-inverted/dropdown-menu.tsx +863 -0
  321. package/generated/templates/base-maia/menu-inverted/menubar.tsx +525 -0
  322. package/generated/templates/base-maia/menu-inverted/select.tsx +570 -0
  323. package/generated/templates/base-maia/menu-inverted-translucent/combobox.tsx +1123 -0
  324. package/generated/templates/base-maia/menu-inverted-translucent/context-menu.tsx +834 -0
  325. package/generated/templates/base-maia/menu-inverted-translucent/dropdown-menu.tsx +863 -0
  326. package/generated/templates/base-maia/menu-inverted-translucent/menubar.tsx +525 -0
  327. package/generated/templates/base-maia/menu-inverted-translucent/select.tsx +570 -0
  328. package/generated/templates/base-maia/menubar.tsx +524 -0
  329. package/generated/templates/base-maia/message.tsx +111 -0
  330. package/generated/templates/base-maia/native-select.tsx +121 -0
  331. package/generated/templates/base-maia/navigation-menu.tsx +598 -0
  332. package/generated/templates/base-maia/pagination.tsx +244 -0
  333. package/generated/templates/base-maia/popover.tsx +375 -0
  334. package/generated/templates/base-maia/progress.tsx +228 -0
  335. package/generated/templates/base-maia/radio-group.tsx +160 -0
  336. package/generated/templates/base-maia/rtl/accordion.tsx +294 -0
  337. package/generated/templates/base-maia/rtl/alert-dialog.tsx +342 -0
  338. package/generated/templates/base-maia/rtl/alert.tsx +96 -0
  339. package/generated/templates/base-maia/rtl/attachment.tsx +275 -0
  340. package/generated/templates/base-maia/rtl/avatar.tsx +166 -0
  341. package/generated/templates/base-maia/rtl/badge.tsx +117 -0
  342. package/generated/templates/base-maia/rtl/breadcrumb.tsx +256 -0
  343. package/generated/templates/base-maia/rtl/bubble.tsx +192 -0
  344. package/generated/templates/base-maia/rtl/button-group.tsx +153 -0
  345. package/generated/templates/base-maia/rtl/button.tsx +133 -0
  346. package/generated/templates/base-maia/rtl/combobox.tsx +1123 -0
  347. package/generated/templates/base-maia/rtl/context-menu.tsx +834 -0
  348. package/generated/templates/base-maia/rtl/date-picker-lite.tsx +105 -0
  349. package/generated/templates/base-maia/rtl/dialog.tsx +351 -0
  350. package/generated/templates/base-maia/rtl/drawer.tsx +428 -0
  351. package/generated/templates/base-maia/rtl/dropdown-menu.tsx +863 -0
  352. package/generated/templates/base-maia/rtl/field.tsx +257 -0
  353. package/generated/templates/base-maia/rtl/hover-card.tsx +351 -0
  354. package/generated/templates/base-maia/rtl/input-group.tsx +174 -0
  355. package/generated/templates/base-maia/rtl/input-otp-lite.tsx +97 -0
  356. package/generated/templates/base-maia/rtl/item.tsx +266 -0
  357. package/generated/templates/base-maia/rtl/marker.tsx +135 -0
  358. package/generated/templates/base-maia/rtl/menubar.tsx +525 -0
  359. package/generated/templates/base-maia/rtl/native-select.tsx +122 -0
  360. package/generated/templates/base-maia/rtl/navigation-menu.tsx +599 -0
  361. package/generated/templates/base-maia/rtl/pagination.tsx +245 -0
  362. package/generated/templates/base-maia/rtl/popover.tsx +376 -0
  363. package/generated/templates/base-maia/rtl/progress.tsx +229 -0
  364. package/generated/templates/base-maia/rtl/radio-group.tsx +161 -0
  365. package/generated/templates/base-maia/rtl/scroll-area.tsx +184 -0
  366. package/generated/templates/base-maia/rtl/select.tsx +570 -0
  367. package/generated/templates/base-maia/rtl/sheet.tsx +332 -0
  368. package/generated/templates/base-maia/rtl/sidebar.tsx +766 -0
  369. package/generated/templates/base-maia/rtl/switch.tsx +107 -0
  370. package/generated/templates/base-maia/rtl/table.tsx +131 -0
  371. package/generated/templates/base-maia/rtl/tabs.tsx +216 -0
  372. package/generated/templates/base-maia/rtl/toast.tsx +814 -0
  373. package/generated/templates/base-maia/rtl/toggle-group.tsx +211 -0
  374. package/generated/templates/base-maia/rtl/toggle.tsx +138 -0
  375. package/generated/templates/base-maia/rtl/tooltip.tsx +398 -0
  376. package/generated/templates/base-maia/rtl_menu-default-translucent/combobox.tsx +1123 -0
  377. package/generated/templates/base-maia/rtl_menu-default-translucent/context-menu.tsx +834 -0
  378. package/generated/templates/base-maia/rtl_menu-default-translucent/dropdown-menu.tsx +863 -0
  379. package/generated/templates/base-maia/rtl_menu-default-translucent/menubar.tsx +525 -0
  380. package/generated/templates/base-maia/rtl_menu-default-translucent/select.tsx +570 -0
  381. package/generated/templates/base-maia/rtl_menu-inverted/combobox.tsx +1123 -0
  382. package/generated/templates/base-maia/rtl_menu-inverted/context-menu.tsx +834 -0
  383. package/generated/templates/base-maia/rtl_menu-inverted/dropdown-menu.tsx +863 -0
  384. package/generated/templates/base-maia/rtl_menu-inverted/menubar.tsx +525 -0
  385. package/generated/templates/base-maia/rtl_menu-inverted/select.tsx +570 -0
  386. package/generated/templates/base-maia/rtl_menu-inverted-translucent/combobox.tsx +1123 -0
  387. package/generated/templates/base-maia/rtl_menu-inverted-translucent/context-menu.tsx +834 -0
  388. package/generated/templates/base-maia/rtl_menu-inverted-translucent/dropdown-menu.tsx +863 -0
  389. package/generated/templates/base-maia/rtl_menu-inverted-translucent/menubar.tsx +525 -0
  390. package/generated/templates/base-maia/rtl_menu-inverted-translucent/select.tsx +570 -0
  391. package/generated/templates/base-maia/scroll-area.tsx +183 -0
  392. package/generated/templates/base-maia/select.tsx +569 -0
  393. package/generated/templates/base-maia/separator.tsx +99 -0
  394. package/generated/templates/base-maia/sheet.tsx +331 -0
  395. package/generated/templates/base-maia/sidebar.tsx +765 -0
  396. package/generated/templates/base-maia/skeleton.tsx +34 -0
  397. package/generated/templates/base-maia/slider.tsx +282 -0
  398. package/generated/templates/base-maia/spinner.tsx +74 -0
  399. package/generated/templates/base-maia/switch.tsx +106 -0
  400. package/generated/templates/base-maia/table.tsx +130 -0
  401. package/generated/templates/base-maia/tabs.tsx +215 -0
  402. package/generated/templates/base-maia/textarea.tsx +37 -0
  403. package/generated/templates/base-maia/toast.tsx +813 -0
  404. package/generated/templates/base-maia/toggle-group.tsx +210 -0
  405. package/generated/templates/base-maia/toggle.tsx +137 -0
  406. package/generated/templates/base-maia/tooltip.tsx +397 -0
  407. package/generated/templates/base-mira/accordion.tsx +293 -0
  408. package/generated/templates/base-mira/alert-dialog.tsx +341 -0
  409. package/generated/templates/base-mira/alert.tsx +95 -0
  410. package/generated/templates/base-mira/aspect-ratio.tsx +43 -0
  411. package/generated/templates/base-mira/attachment.tsx +274 -0
  412. package/generated/templates/base-mira/avatar.tsx +165 -0
  413. package/generated/templates/base-mira/badge.tsx +116 -0
  414. package/generated/templates/base-mira/breadcrumb.tsx +255 -0
  415. package/generated/templates/base-mira/bubble.tsx +191 -0
  416. package/generated/templates/base-mira/button-group.tsx +152 -0
  417. package/generated/templates/base-mira/button.tsx +132 -0
  418. package/generated/templates/base-mira/card.tsx +122 -0
  419. package/generated/templates/base-mira/checkbox.tsx +137 -0
  420. package/generated/templates/base-mira/collapsible.tsx +140 -0
  421. package/generated/templates/base-mira/combobox.tsx +1122 -0
  422. package/generated/templates/base-mira/context-menu.tsx +833 -0
  423. package/generated/templates/base-mira/date-picker-lite.tsx +104 -0
  424. package/generated/templates/base-mira/dialog.tsx +350 -0
  425. package/generated/templates/base-mira/direction.tsx +40 -0
  426. package/generated/templates/base-mira/drawer.tsx +427 -0
  427. package/generated/templates/base-mira/dropdown-menu.tsx +862 -0
  428. package/generated/templates/base-mira/empty.tsx +121 -0
  429. package/generated/templates/base-mira/field.tsx +256 -0
  430. package/generated/templates/base-mira/hover-card.tsx +350 -0
  431. package/generated/templates/base-mira/input-group.tsx +173 -0
  432. package/generated/templates/base-mira/input-otp-lite.tsx +96 -0
  433. package/generated/templates/base-mira/input.tsx +39 -0
  434. package/generated/templates/base-mira/item.tsx +265 -0
  435. package/generated/templates/base-mira/kbd.tsx +47 -0
  436. package/generated/templates/base-mira/label.tsx +37 -0
  437. package/generated/templates/base-mira/marker.tsx +134 -0
  438. package/generated/templates/base-mira/menu-default-translucent/combobox.tsx +1123 -0
  439. package/generated/templates/base-mira/menu-default-translucent/context-menu.tsx +834 -0
  440. package/generated/templates/base-mira/menu-default-translucent/dropdown-menu.tsx +863 -0
  441. package/generated/templates/base-mira/menu-default-translucent/menubar.tsx +525 -0
  442. package/generated/templates/base-mira/menu-default-translucent/select.tsx +570 -0
  443. package/generated/templates/base-mira/menu-inverted/combobox.tsx +1123 -0
  444. package/generated/templates/base-mira/menu-inverted/context-menu.tsx +834 -0
  445. package/generated/templates/base-mira/menu-inverted/dropdown-menu.tsx +863 -0
  446. package/generated/templates/base-mira/menu-inverted/menubar.tsx +525 -0
  447. package/generated/templates/base-mira/menu-inverted/select.tsx +570 -0
  448. package/generated/templates/base-mira/menu-inverted-translucent/combobox.tsx +1123 -0
  449. package/generated/templates/base-mira/menu-inverted-translucent/context-menu.tsx +834 -0
  450. package/generated/templates/base-mira/menu-inverted-translucent/dropdown-menu.tsx +863 -0
  451. package/generated/templates/base-mira/menu-inverted-translucent/menubar.tsx +525 -0
  452. package/generated/templates/base-mira/menu-inverted-translucent/select.tsx +570 -0
  453. package/generated/templates/base-mira/menubar.tsx +524 -0
  454. package/generated/templates/base-mira/message.tsx +111 -0
  455. package/generated/templates/base-mira/native-select.tsx +121 -0
  456. package/generated/templates/base-mira/navigation-menu.tsx +598 -0
  457. package/generated/templates/base-mira/pagination.tsx +244 -0
  458. package/generated/templates/base-mira/popover.tsx +375 -0
  459. package/generated/templates/base-mira/progress.tsx +228 -0
  460. package/generated/templates/base-mira/radio-group.tsx +160 -0
  461. package/generated/templates/base-mira/rtl/accordion.tsx +294 -0
  462. package/generated/templates/base-mira/rtl/alert-dialog.tsx +342 -0
  463. package/generated/templates/base-mira/rtl/alert.tsx +96 -0
  464. package/generated/templates/base-mira/rtl/attachment.tsx +275 -0
  465. package/generated/templates/base-mira/rtl/avatar.tsx +166 -0
  466. package/generated/templates/base-mira/rtl/badge.tsx +117 -0
  467. package/generated/templates/base-mira/rtl/breadcrumb.tsx +256 -0
  468. package/generated/templates/base-mira/rtl/bubble.tsx +192 -0
  469. package/generated/templates/base-mira/rtl/button-group.tsx +153 -0
  470. package/generated/templates/base-mira/rtl/button.tsx +133 -0
  471. package/generated/templates/base-mira/rtl/combobox.tsx +1123 -0
  472. package/generated/templates/base-mira/rtl/context-menu.tsx +834 -0
  473. package/generated/templates/base-mira/rtl/date-picker-lite.tsx +105 -0
  474. package/generated/templates/base-mira/rtl/dialog.tsx +351 -0
  475. package/generated/templates/base-mira/rtl/drawer.tsx +428 -0
  476. package/generated/templates/base-mira/rtl/dropdown-menu.tsx +863 -0
  477. package/generated/templates/base-mira/rtl/field.tsx +257 -0
  478. package/generated/templates/base-mira/rtl/hover-card.tsx +351 -0
  479. package/generated/templates/base-mira/rtl/input-group.tsx +174 -0
  480. package/generated/templates/base-mira/rtl/input-otp-lite.tsx +97 -0
  481. package/generated/templates/base-mira/rtl/item.tsx +266 -0
  482. package/generated/templates/base-mira/rtl/marker.tsx +135 -0
  483. package/generated/templates/base-mira/rtl/menubar.tsx +525 -0
  484. package/generated/templates/base-mira/rtl/native-select.tsx +122 -0
  485. package/generated/templates/base-mira/rtl/navigation-menu.tsx +599 -0
  486. package/generated/templates/base-mira/rtl/pagination.tsx +245 -0
  487. package/generated/templates/base-mira/rtl/popover.tsx +376 -0
  488. package/generated/templates/base-mira/rtl/progress.tsx +229 -0
  489. package/generated/templates/base-mira/rtl/radio-group.tsx +161 -0
  490. package/generated/templates/base-mira/rtl/scroll-area.tsx +184 -0
  491. package/generated/templates/base-mira/rtl/select.tsx +570 -0
  492. package/generated/templates/base-mira/rtl/sheet.tsx +329 -0
  493. package/generated/templates/base-mira/rtl/sidebar.tsx +766 -0
  494. package/generated/templates/base-mira/rtl/switch.tsx +107 -0
  495. package/generated/templates/base-mira/rtl/table.tsx +131 -0
  496. package/generated/templates/base-mira/rtl/tabs.tsx +216 -0
  497. package/generated/templates/base-mira/rtl/toast.tsx +814 -0
  498. package/generated/templates/base-mira/rtl/toggle-group.tsx +211 -0
  499. package/generated/templates/base-mira/rtl/toggle.tsx +138 -0
  500. package/generated/templates/base-mira/rtl/tooltip.tsx +398 -0
  501. package/generated/templates/base-mira/rtl_menu-default-translucent/combobox.tsx +1123 -0
  502. package/generated/templates/base-mira/rtl_menu-default-translucent/context-menu.tsx +834 -0
  503. package/generated/templates/base-mira/rtl_menu-default-translucent/dropdown-menu.tsx +863 -0
  504. package/generated/templates/base-mira/rtl_menu-default-translucent/menubar.tsx +525 -0
  505. package/generated/templates/base-mira/rtl_menu-default-translucent/select.tsx +570 -0
  506. package/generated/templates/base-mira/rtl_menu-inverted/combobox.tsx +1123 -0
  507. package/generated/templates/base-mira/rtl_menu-inverted/context-menu.tsx +834 -0
  508. package/generated/templates/base-mira/rtl_menu-inverted/dropdown-menu.tsx +863 -0
  509. package/generated/templates/base-mira/rtl_menu-inverted/menubar.tsx +525 -0
  510. package/generated/templates/base-mira/rtl_menu-inverted/select.tsx +570 -0
  511. package/generated/templates/base-mira/rtl_menu-inverted-translucent/combobox.tsx +1123 -0
  512. package/generated/templates/base-mira/rtl_menu-inverted-translucent/context-menu.tsx +834 -0
  513. package/generated/templates/base-mira/rtl_menu-inverted-translucent/dropdown-menu.tsx +863 -0
  514. package/generated/templates/base-mira/rtl_menu-inverted-translucent/menubar.tsx +525 -0
  515. package/generated/templates/base-mira/rtl_menu-inverted-translucent/select.tsx +570 -0
  516. package/generated/templates/base-mira/scroll-area.tsx +183 -0
  517. package/generated/templates/base-mira/select.tsx +569 -0
  518. package/generated/templates/base-mira/separator.tsx +99 -0
  519. package/generated/templates/base-mira/sheet.tsx +328 -0
  520. package/generated/templates/base-mira/sidebar.tsx +765 -0
  521. package/generated/templates/base-mira/skeleton.tsx +34 -0
  522. package/generated/templates/base-mira/slider.tsx +282 -0
  523. package/generated/templates/base-mira/spinner.tsx +74 -0
  524. package/generated/templates/base-mira/switch.tsx +106 -0
  525. package/generated/templates/base-mira/table.tsx +130 -0
  526. package/generated/templates/base-mira/tabs.tsx +215 -0
  527. package/generated/templates/base-mira/textarea.tsx +37 -0
  528. package/generated/templates/base-mira/toast.tsx +813 -0
  529. package/generated/templates/base-mira/toggle-group.tsx +210 -0
  530. package/generated/templates/base-mira/toggle.tsx +137 -0
  531. package/generated/templates/base-mira/tooltip.tsx +397 -0
  532. package/generated/templates/base-nova/accordion.tsx +290 -0
  533. package/generated/templates/base-nova/alert-dialog.tsx +341 -0
  534. package/generated/templates/base-nova/alert.tsx +95 -0
  535. package/generated/templates/base-nova/aspect-ratio.tsx +43 -0
  536. package/generated/templates/base-nova/attachment.tsx +274 -0
  537. package/generated/templates/base-nova/avatar.tsx +165 -0
  538. package/generated/templates/base-nova/badge.tsx +116 -0
  539. package/generated/templates/base-nova/breadcrumb.tsx +255 -0
  540. package/generated/templates/base-nova/bubble.tsx +191 -0
  541. package/generated/templates/base-nova/button-group.tsx +152 -0
  542. package/generated/templates/base-nova/button.tsx +134 -0
  543. package/generated/templates/base-nova/card.tsx +125 -0
  544. package/generated/templates/base-nova/checkbox.tsx +137 -0
  545. package/generated/templates/base-nova/collapsible.tsx +140 -0
  546. package/generated/templates/base-nova/combobox.tsx +1122 -0
  547. package/generated/templates/base-nova/context-menu.tsx +833 -0
  548. package/generated/templates/base-nova/date-picker-lite.tsx +104 -0
  549. package/generated/templates/base-nova/dialog.tsx +350 -0
  550. package/generated/templates/base-nova/direction.tsx +40 -0
  551. package/generated/templates/base-nova/drawer.tsx +427 -0
  552. package/generated/templates/base-nova/dropdown-menu.tsx +862 -0
  553. package/generated/templates/base-nova/empty.tsx +121 -0
  554. package/generated/templates/base-nova/field.tsx +256 -0
  555. package/generated/templates/base-nova/hover-card.tsx +350 -0
  556. package/generated/templates/base-nova/input-group.tsx +174 -0
  557. package/generated/templates/base-nova/input-otp-lite.tsx +96 -0
  558. package/generated/templates/base-nova/input.tsx +39 -0
  559. package/generated/templates/base-nova/item.tsx +265 -0
  560. package/generated/templates/base-nova/kbd.tsx +47 -0
  561. package/generated/templates/base-nova/label.tsx +37 -0
  562. package/generated/templates/base-nova/marker.tsx +134 -0
  563. package/generated/templates/base-nova/menu-default-translucent/combobox.tsx +1123 -0
  564. package/generated/templates/base-nova/menu-default-translucent/context-menu.tsx +834 -0
  565. package/generated/templates/base-nova/menu-default-translucent/dropdown-menu.tsx +863 -0
  566. package/generated/templates/base-nova/menu-default-translucent/menubar.tsx +525 -0
  567. package/generated/templates/base-nova/menu-default-translucent/select.tsx +570 -0
  568. package/generated/templates/base-nova/menu-inverted/combobox.tsx +1123 -0
  569. package/generated/templates/base-nova/menu-inverted/context-menu.tsx +834 -0
  570. package/generated/templates/base-nova/menu-inverted/dropdown-menu.tsx +863 -0
  571. package/generated/templates/base-nova/menu-inverted/menubar.tsx +525 -0
  572. package/generated/templates/base-nova/menu-inverted/select.tsx +570 -0
  573. package/generated/templates/base-nova/menu-inverted-translucent/combobox.tsx +1123 -0
  574. package/generated/templates/base-nova/menu-inverted-translucent/context-menu.tsx +834 -0
  575. package/generated/templates/base-nova/menu-inverted-translucent/dropdown-menu.tsx +863 -0
  576. package/generated/templates/base-nova/menu-inverted-translucent/menubar.tsx +525 -0
  577. package/generated/templates/base-nova/menu-inverted-translucent/select.tsx +570 -0
  578. package/generated/templates/base-nova/menubar.tsx +524 -0
  579. package/generated/templates/base-nova/message.tsx +111 -0
  580. package/generated/templates/base-nova/native-select.tsx +121 -0
  581. package/generated/templates/base-nova/navigation-menu.tsx +598 -0
  582. package/generated/templates/base-nova/pagination.tsx +244 -0
  583. package/generated/templates/base-nova/popover.tsx +375 -0
  584. package/generated/templates/base-nova/progress.tsx +228 -0
  585. package/generated/templates/base-nova/radio-group.tsx +160 -0
  586. package/generated/templates/base-nova/rtl/accordion.tsx +291 -0
  587. package/generated/templates/base-nova/rtl/alert-dialog.tsx +342 -0
  588. package/generated/templates/base-nova/rtl/alert.tsx +96 -0
  589. package/generated/templates/base-nova/rtl/attachment.tsx +275 -0
  590. package/generated/templates/base-nova/rtl/avatar.tsx +166 -0
  591. package/generated/templates/base-nova/rtl/badge.tsx +117 -0
  592. package/generated/templates/base-nova/rtl/breadcrumb.tsx +256 -0
  593. package/generated/templates/base-nova/rtl/bubble.tsx +192 -0
  594. package/generated/templates/base-nova/rtl/button-group.tsx +153 -0
  595. package/generated/templates/base-nova/rtl/button.tsx +135 -0
  596. package/generated/templates/base-nova/rtl/combobox.tsx +1123 -0
  597. package/generated/templates/base-nova/rtl/context-menu.tsx +834 -0
  598. package/generated/templates/base-nova/rtl/date-picker-lite.tsx +105 -0
  599. package/generated/templates/base-nova/rtl/dialog.tsx +351 -0
  600. package/generated/templates/base-nova/rtl/drawer.tsx +428 -0
  601. package/generated/templates/base-nova/rtl/dropdown-menu.tsx +863 -0
  602. package/generated/templates/base-nova/rtl/field.tsx +257 -0
  603. package/generated/templates/base-nova/rtl/hover-card.tsx +351 -0
  604. package/generated/templates/base-nova/rtl/input-group.tsx +175 -0
  605. package/generated/templates/base-nova/rtl/input-otp-lite.tsx +97 -0
  606. package/generated/templates/base-nova/rtl/item.tsx +266 -0
  607. package/generated/templates/base-nova/rtl/marker.tsx +135 -0
  608. package/generated/templates/base-nova/rtl/menubar.tsx +525 -0
  609. package/generated/templates/base-nova/rtl/native-select.tsx +122 -0
  610. package/generated/templates/base-nova/rtl/navigation-menu.tsx +599 -0
  611. package/generated/templates/base-nova/rtl/pagination.tsx +245 -0
  612. package/generated/templates/base-nova/rtl/popover.tsx +376 -0
  613. package/generated/templates/base-nova/rtl/progress.tsx +229 -0
  614. package/generated/templates/base-nova/rtl/radio-group.tsx +161 -0
  615. package/generated/templates/base-nova/rtl/scroll-area.tsx +184 -0
  616. package/generated/templates/base-nova/rtl/select.tsx +570 -0
  617. package/generated/templates/base-nova/rtl/sheet.tsx +332 -0
  618. package/generated/templates/base-nova/rtl/sidebar.tsx +763 -0
  619. package/generated/templates/base-nova/rtl/switch.tsx +107 -0
  620. package/generated/templates/base-nova/rtl/table.tsx +131 -0
  621. package/generated/templates/base-nova/rtl/tabs.tsx +216 -0
  622. package/generated/templates/base-nova/rtl/toast.tsx +814 -0
  623. package/generated/templates/base-nova/rtl/toggle-group.tsx +211 -0
  624. package/generated/templates/base-nova/rtl/toggle.tsx +138 -0
  625. package/generated/templates/base-nova/rtl/tooltip.tsx +398 -0
  626. package/generated/templates/base-nova/rtl_menu-default-translucent/combobox.tsx +1123 -0
  627. package/generated/templates/base-nova/rtl_menu-default-translucent/context-menu.tsx +834 -0
  628. package/generated/templates/base-nova/rtl_menu-default-translucent/dropdown-menu.tsx +863 -0
  629. package/generated/templates/base-nova/rtl_menu-default-translucent/menubar.tsx +525 -0
  630. package/generated/templates/base-nova/rtl_menu-default-translucent/select.tsx +570 -0
  631. package/generated/templates/base-nova/rtl_menu-inverted/combobox.tsx +1123 -0
  632. package/generated/templates/base-nova/rtl_menu-inverted/context-menu.tsx +834 -0
  633. package/generated/templates/base-nova/rtl_menu-inverted/dropdown-menu.tsx +863 -0
  634. package/generated/templates/base-nova/rtl_menu-inverted/menubar.tsx +525 -0
  635. package/generated/templates/base-nova/rtl_menu-inverted/select.tsx +570 -0
  636. package/generated/templates/base-nova/rtl_menu-inverted-translucent/combobox.tsx +1123 -0
  637. package/generated/templates/base-nova/rtl_menu-inverted-translucent/context-menu.tsx +834 -0
  638. package/generated/templates/base-nova/rtl_menu-inverted-translucent/dropdown-menu.tsx +863 -0
  639. package/generated/templates/base-nova/rtl_menu-inverted-translucent/menubar.tsx +525 -0
  640. package/generated/templates/base-nova/rtl_menu-inverted-translucent/select.tsx +570 -0
  641. package/generated/templates/base-nova/scroll-area.tsx +183 -0
  642. package/generated/templates/base-nova/select.tsx +569 -0
  643. package/generated/templates/base-nova/separator.tsx +99 -0
  644. package/generated/templates/base-nova/sheet.tsx +331 -0
  645. package/generated/templates/base-nova/sidebar.tsx +762 -0
  646. package/generated/templates/base-nova/skeleton.tsx +34 -0
  647. package/generated/templates/base-nova/slider.tsx +282 -0
  648. package/generated/templates/base-nova/spinner.tsx +74 -0
  649. package/generated/templates/base-nova/switch.tsx +106 -0
  650. package/generated/templates/base-nova/table.tsx +130 -0
  651. package/generated/templates/base-nova/tabs.tsx +215 -0
  652. package/generated/templates/base-nova/textarea.tsx +37 -0
  653. package/generated/templates/base-nova/toast.tsx +813 -0
  654. package/generated/templates/base-nova/toggle-group.tsx +210 -0
  655. package/generated/templates/base-nova/toggle.tsx +137 -0
  656. package/generated/templates/base-nova/tooltip.tsx +397 -0
  657. package/generated/templates/base-rhea/accordion.tsx +293 -0
  658. package/generated/templates/base-rhea/alert-dialog.tsx +341 -0
  659. package/generated/templates/base-rhea/alert.tsx +95 -0
  660. package/generated/templates/base-rhea/aspect-ratio.tsx +43 -0
  661. package/generated/templates/base-rhea/attachment.tsx +274 -0
  662. package/generated/templates/base-rhea/avatar.tsx +165 -0
  663. package/generated/templates/base-rhea/badge.tsx +116 -0
  664. package/generated/templates/base-rhea/breadcrumb.tsx +255 -0
  665. package/generated/templates/base-rhea/bubble.tsx +191 -0
  666. package/generated/templates/base-rhea/button-group.tsx +152 -0
  667. package/generated/templates/base-rhea/button.tsx +132 -0
  668. package/generated/templates/base-rhea/card.tsx +122 -0
  669. package/generated/templates/base-rhea/checkbox.tsx +137 -0
  670. package/generated/templates/base-rhea/collapsible.tsx +140 -0
  671. package/generated/templates/base-rhea/combobox.tsx +1122 -0
  672. package/generated/templates/base-rhea/context-menu.tsx +833 -0
  673. package/generated/templates/base-rhea/date-picker-lite.tsx +104 -0
  674. package/generated/templates/base-rhea/dialog.tsx +350 -0
  675. package/generated/templates/base-rhea/direction.tsx +40 -0
  676. package/generated/templates/base-rhea/drawer.tsx +427 -0
  677. package/generated/templates/base-rhea/dropdown-menu.tsx +862 -0
  678. package/generated/templates/base-rhea/empty.tsx +121 -0
  679. package/generated/templates/base-rhea/field.tsx +256 -0
  680. package/generated/templates/base-rhea/hover-card.tsx +350 -0
  681. package/generated/templates/base-rhea/input-group.tsx +173 -0
  682. package/generated/templates/base-rhea/input-otp-lite.tsx +96 -0
  683. package/generated/templates/base-rhea/input.tsx +39 -0
  684. package/generated/templates/base-rhea/item.tsx +265 -0
  685. package/generated/templates/base-rhea/kbd.tsx +47 -0
  686. package/generated/templates/base-rhea/label.tsx +37 -0
  687. package/generated/templates/base-rhea/marker.tsx +134 -0
  688. package/generated/templates/base-rhea/menu-default-translucent/combobox.tsx +1123 -0
  689. package/generated/templates/base-rhea/menu-default-translucent/context-menu.tsx +834 -0
  690. package/generated/templates/base-rhea/menu-default-translucent/dropdown-menu.tsx +863 -0
  691. package/generated/templates/base-rhea/menu-default-translucent/menubar.tsx +525 -0
  692. package/generated/templates/base-rhea/menu-default-translucent/select.tsx +570 -0
  693. package/generated/templates/base-rhea/menu-inverted/combobox.tsx +1123 -0
  694. package/generated/templates/base-rhea/menu-inverted/context-menu.tsx +834 -0
  695. package/generated/templates/base-rhea/menu-inverted/dropdown-menu.tsx +863 -0
  696. package/generated/templates/base-rhea/menu-inverted/menubar.tsx +525 -0
  697. package/generated/templates/base-rhea/menu-inverted/select.tsx +570 -0
  698. package/generated/templates/base-rhea/menu-inverted-translucent/combobox.tsx +1123 -0
  699. package/generated/templates/base-rhea/menu-inverted-translucent/context-menu.tsx +834 -0
  700. package/generated/templates/base-rhea/menu-inverted-translucent/dropdown-menu.tsx +863 -0
  701. package/generated/templates/base-rhea/menu-inverted-translucent/menubar.tsx +525 -0
  702. package/generated/templates/base-rhea/menu-inverted-translucent/select.tsx +570 -0
  703. package/generated/templates/base-rhea/menubar.tsx +524 -0
  704. package/generated/templates/base-rhea/message.tsx +111 -0
  705. package/generated/templates/base-rhea/native-select.tsx +121 -0
  706. package/generated/templates/base-rhea/navigation-menu.tsx +598 -0
  707. package/generated/templates/base-rhea/pagination.tsx +244 -0
  708. package/generated/templates/base-rhea/popover.tsx +375 -0
  709. package/generated/templates/base-rhea/progress.tsx +228 -0
  710. package/generated/templates/base-rhea/radio-group.tsx +160 -0
  711. package/generated/templates/base-rhea/rtl/accordion.tsx +294 -0
  712. package/generated/templates/base-rhea/rtl/alert-dialog.tsx +342 -0
  713. package/generated/templates/base-rhea/rtl/alert.tsx +96 -0
  714. package/generated/templates/base-rhea/rtl/attachment.tsx +275 -0
  715. package/generated/templates/base-rhea/rtl/avatar.tsx +166 -0
  716. package/generated/templates/base-rhea/rtl/badge.tsx +117 -0
  717. package/generated/templates/base-rhea/rtl/breadcrumb.tsx +256 -0
  718. package/generated/templates/base-rhea/rtl/bubble.tsx +192 -0
  719. package/generated/templates/base-rhea/rtl/button-group.tsx +153 -0
  720. package/generated/templates/base-rhea/rtl/button.tsx +133 -0
  721. package/generated/templates/base-rhea/rtl/combobox.tsx +1123 -0
  722. package/generated/templates/base-rhea/rtl/context-menu.tsx +834 -0
  723. package/generated/templates/base-rhea/rtl/date-picker-lite.tsx +105 -0
  724. package/generated/templates/base-rhea/rtl/dialog.tsx +351 -0
  725. package/generated/templates/base-rhea/rtl/drawer.tsx +428 -0
  726. package/generated/templates/base-rhea/rtl/dropdown-menu.tsx +863 -0
  727. package/generated/templates/base-rhea/rtl/field.tsx +257 -0
  728. package/generated/templates/base-rhea/rtl/hover-card.tsx +351 -0
  729. package/generated/templates/base-rhea/rtl/input-group.tsx +174 -0
  730. package/generated/templates/base-rhea/rtl/input-otp-lite.tsx +97 -0
  731. package/generated/templates/base-rhea/rtl/item.tsx +266 -0
  732. package/generated/templates/base-rhea/rtl/marker.tsx +135 -0
  733. package/generated/templates/base-rhea/rtl/menubar.tsx +525 -0
  734. package/generated/templates/base-rhea/rtl/native-select.tsx +122 -0
  735. package/generated/templates/base-rhea/rtl/navigation-menu.tsx +599 -0
  736. package/generated/templates/base-rhea/rtl/pagination.tsx +245 -0
  737. package/generated/templates/base-rhea/rtl/popover.tsx +376 -0
  738. package/generated/templates/base-rhea/rtl/progress.tsx +229 -0
  739. package/generated/templates/base-rhea/rtl/radio-group.tsx +161 -0
  740. package/generated/templates/base-rhea/rtl/scroll-area.tsx +184 -0
  741. package/generated/templates/base-rhea/rtl/select.tsx +570 -0
  742. package/generated/templates/base-rhea/rtl/sheet.tsx +332 -0
  743. package/generated/templates/base-rhea/rtl/sidebar.tsx +766 -0
  744. package/generated/templates/base-rhea/rtl/switch.tsx +107 -0
  745. package/generated/templates/base-rhea/rtl/table.tsx +131 -0
  746. package/generated/templates/base-rhea/rtl/tabs.tsx +216 -0
  747. package/generated/templates/base-rhea/rtl/toast.tsx +814 -0
  748. package/generated/templates/base-rhea/rtl/toggle-group.tsx +211 -0
  749. package/generated/templates/base-rhea/rtl/toggle.tsx +138 -0
  750. package/generated/templates/base-rhea/rtl/tooltip.tsx +398 -0
  751. package/generated/templates/base-rhea/rtl_menu-default-translucent/combobox.tsx +1123 -0
  752. package/generated/templates/base-rhea/rtl_menu-default-translucent/context-menu.tsx +834 -0
  753. package/generated/templates/base-rhea/rtl_menu-default-translucent/dropdown-menu.tsx +863 -0
  754. package/generated/templates/base-rhea/rtl_menu-default-translucent/menubar.tsx +525 -0
  755. package/generated/templates/base-rhea/rtl_menu-default-translucent/select.tsx +570 -0
  756. package/generated/templates/base-rhea/rtl_menu-inverted/combobox.tsx +1123 -0
  757. package/generated/templates/base-rhea/rtl_menu-inverted/context-menu.tsx +834 -0
  758. package/generated/templates/base-rhea/rtl_menu-inverted/dropdown-menu.tsx +863 -0
  759. package/generated/templates/base-rhea/rtl_menu-inverted/menubar.tsx +525 -0
  760. package/generated/templates/base-rhea/rtl_menu-inverted/select.tsx +570 -0
  761. package/generated/templates/base-rhea/rtl_menu-inverted-translucent/combobox.tsx +1123 -0
  762. package/generated/templates/base-rhea/rtl_menu-inverted-translucent/context-menu.tsx +834 -0
  763. package/generated/templates/base-rhea/rtl_menu-inverted-translucent/dropdown-menu.tsx +863 -0
  764. package/generated/templates/base-rhea/rtl_menu-inverted-translucent/menubar.tsx +525 -0
  765. package/generated/templates/base-rhea/rtl_menu-inverted-translucent/select.tsx +570 -0
  766. package/generated/templates/base-rhea/scroll-area.tsx +183 -0
  767. package/generated/templates/base-rhea/select.tsx +569 -0
  768. package/generated/templates/base-rhea/separator.tsx +99 -0
  769. package/generated/templates/base-rhea/sheet.tsx +331 -0
  770. package/generated/templates/base-rhea/sidebar.tsx +765 -0
  771. package/generated/templates/base-rhea/skeleton.tsx +34 -0
  772. package/generated/templates/base-rhea/slider.tsx +282 -0
  773. package/generated/templates/base-rhea/spinner.tsx +74 -0
  774. package/generated/templates/base-rhea/switch.tsx +106 -0
  775. package/generated/templates/base-rhea/table.tsx +130 -0
  776. package/generated/templates/base-rhea/tabs.tsx +215 -0
  777. package/generated/templates/base-rhea/textarea.tsx +37 -0
  778. package/generated/templates/base-rhea/toast.tsx +813 -0
  779. package/generated/templates/base-rhea/toggle-group.tsx +210 -0
  780. package/generated/templates/base-rhea/toggle.tsx +137 -0
  781. package/generated/templates/base-rhea/tooltip.tsx +397 -0
  782. package/generated/templates/base-sera/accordion.tsx +290 -0
  783. package/generated/templates/base-sera/alert-dialog.tsx +341 -0
  784. package/generated/templates/base-sera/alert.tsx +95 -0
  785. package/generated/templates/base-sera/aspect-ratio.tsx +43 -0
  786. package/generated/templates/base-sera/attachment.tsx +274 -0
  787. package/generated/templates/base-sera/avatar.tsx +165 -0
  788. package/generated/templates/base-sera/badge.tsx +113 -0
  789. package/generated/templates/base-sera/breadcrumb.tsx +255 -0
  790. package/generated/templates/base-sera/bubble.tsx +191 -0
  791. package/generated/templates/base-sera/button-group.tsx +152 -0
  792. package/generated/templates/base-sera/button.tsx +132 -0
  793. package/generated/templates/base-sera/card.tsx +125 -0
  794. package/generated/templates/base-sera/checkbox.tsx +137 -0
  795. package/generated/templates/base-sera/collapsible.tsx +140 -0
  796. package/generated/templates/base-sera/combobox.tsx +1125 -0
  797. package/generated/templates/base-sera/context-menu.tsx +833 -0
  798. package/generated/templates/base-sera/date-picker-lite.tsx +104 -0
  799. package/generated/templates/base-sera/dialog.tsx +353 -0
  800. package/generated/templates/base-sera/direction.tsx +40 -0
  801. package/generated/templates/base-sera/drawer.tsx +430 -0
  802. package/generated/templates/base-sera/dropdown-menu.tsx +862 -0
  803. package/generated/templates/base-sera/empty.tsx +124 -0
  804. package/generated/templates/base-sera/field.tsx +256 -0
  805. package/generated/templates/base-sera/hover-card.tsx +350 -0
  806. package/generated/templates/base-sera/input-group.tsx +171 -0
  807. package/generated/templates/base-sera/input-otp-lite.tsx +96 -0
  808. package/generated/templates/base-sera/input.tsx +39 -0
  809. package/generated/templates/base-sera/item.tsx +265 -0
  810. package/generated/templates/base-sera/kbd.tsx +47 -0
  811. package/generated/templates/base-sera/label.tsx +37 -0
  812. package/generated/templates/base-sera/marker.tsx +134 -0
  813. package/generated/templates/base-sera/menu-default-translucent/combobox.tsx +1126 -0
  814. package/generated/templates/base-sera/menu-default-translucent/context-menu.tsx +834 -0
  815. package/generated/templates/base-sera/menu-default-translucent/dropdown-menu.tsx +863 -0
  816. package/generated/templates/base-sera/menu-default-translucent/menubar.tsx +525 -0
  817. package/generated/templates/base-sera/menu-default-translucent/select.tsx +573 -0
  818. package/generated/templates/base-sera/menu-inverted/combobox.tsx +1126 -0
  819. package/generated/templates/base-sera/menu-inverted/context-menu.tsx +834 -0
  820. package/generated/templates/base-sera/menu-inverted/dropdown-menu.tsx +863 -0
  821. package/generated/templates/base-sera/menu-inverted/menubar.tsx +525 -0
  822. package/generated/templates/base-sera/menu-inverted/select.tsx +573 -0
  823. package/generated/templates/base-sera/menu-inverted-translucent/combobox.tsx +1126 -0
  824. package/generated/templates/base-sera/menu-inverted-translucent/context-menu.tsx +834 -0
  825. package/generated/templates/base-sera/menu-inverted-translucent/dropdown-menu.tsx +863 -0
  826. package/generated/templates/base-sera/menu-inverted-translucent/menubar.tsx +525 -0
  827. package/generated/templates/base-sera/menu-inverted-translucent/select.tsx +573 -0
  828. package/generated/templates/base-sera/menubar.tsx +524 -0
  829. package/generated/templates/base-sera/message.tsx +111 -0
  830. package/generated/templates/base-sera/native-select.tsx +121 -0
  831. package/generated/templates/base-sera/navigation-menu.tsx +598 -0
  832. package/generated/templates/base-sera/pagination.tsx +244 -0
  833. package/generated/templates/base-sera/popover.tsx +378 -0
  834. package/generated/templates/base-sera/progress.tsx +228 -0
  835. package/generated/templates/base-sera/radio-group.tsx +160 -0
  836. package/generated/templates/base-sera/rtl/accordion.tsx +291 -0
  837. package/generated/templates/base-sera/rtl/alert-dialog.tsx +342 -0
  838. package/generated/templates/base-sera/rtl/alert.tsx +96 -0
  839. package/generated/templates/base-sera/rtl/attachment.tsx +275 -0
  840. package/generated/templates/base-sera/rtl/avatar.tsx +166 -0
  841. package/generated/templates/base-sera/rtl/badge.tsx +114 -0
  842. package/generated/templates/base-sera/rtl/breadcrumb.tsx +256 -0
  843. package/generated/templates/base-sera/rtl/bubble.tsx +192 -0
  844. package/generated/templates/base-sera/rtl/button-group.tsx +153 -0
  845. package/generated/templates/base-sera/rtl/button.tsx +133 -0
  846. package/generated/templates/base-sera/rtl/combobox.tsx +1126 -0
  847. package/generated/templates/base-sera/rtl/context-menu.tsx +834 -0
  848. package/generated/templates/base-sera/rtl/date-picker-lite.tsx +105 -0
  849. package/generated/templates/base-sera/rtl/dialog.tsx +354 -0
  850. package/generated/templates/base-sera/rtl/drawer.tsx +431 -0
  851. package/generated/templates/base-sera/rtl/dropdown-menu.tsx +863 -0
  852. package/generated/templates/base-sera/rtl/field.tsx +257 -0
  853. package/generated/templates/base-sera/rtl/hover-card.tsx +351 -0
  854. package/generated/templates/base-sera/rtl/input-group.tsx +172 -0
  855. package/generated/templates/base-sera/rtl/input-otp-lite.tsx +97 -0
  856. package/generated/templates/base-sera/rtl/item.tsx +266 -0
  857. package/generated/templates/base-sera/rtl/marker.tsx +135 -0
  858. package/generated/templates/base-sera/rtl/menubar.tsx +525 -0
  859. package/generated/templates/base-sera/rtl/native-select.tsx +122 -0
  860. package/generated/templates/base-sera/rtl/navigation-menu.tsx +599 -0
  861. package/generated/templates/base-sera/rtl/pagination.tsx +245 -0
  862. package/generated/templates/base-sera/rtl/popover.tsx +379 -0
  863. package/generated/templates/base-sera/rtl/progress.tsx +229 -0
  864. package/generated/templates/base-sera/rtl/radio-group.tsx +161 -0
  865. package/generated/templates/base-sera/rtl/scroll-area.tsx +184 -0
  866. package/generated/templates/base-sera/rtl/select.tsx +573 -0
  867. package/generated/templates/base-sera/rtl/sheet.tsx +335 -0
  868. package/generated/templates/base-sera/rtl/sidebar.tsx +769 -0
  869. package/generated/templates/base-sera/rtl/switch.tsx +107 -0
  870. package/generated/templates/base-sera/rtl/table.tsx +131 -0
  871. package/generated/templates/base-sera/rtl/tabs.tsx +216 -0
  872. package/generated/templates/base-sera/rtl/toast.tsx +814 -0
  873. package/generated/templates/base-sera/rtl/toggle-group.tsx +211 -0
  874. package/generated/templates/base-sera/rtl/toggle.tsx +138 -0
  875. package/generated/templates/base-sera/rtl/tooltip.tsx +398 -0
  876. package/generated/templates/base-sera/rtl_menu-default-translucent/combobox.tsx +1126 -0
  877. package/generated/templates/base-sera/rtl_menu-default-translucent/context-menu.tsx +834 -0
  878. package/generated/templates/base-sera/rtl_menu-default-translucent/dropdown-menu.tsx +863 -0
  879. package/generated/templates/base-sera/rtl_menu-default-translucent/menubar.tsx +525 -0
  880. package/generated/templates/base-sera/rtl_menu-default-translucent/select.tsx +573 -0
  881. package/generated/templates/base-sera/rtl_menu-inverted/combobox.tsx +1126 -0
  882. package/generated/templates/base-sera/rtl_menu-inverted/context-menu.tsx +834 -0
  883. package/generated/templates/base-sera/rtl_menu-inverted/dropdown-menu.tsx +863 -0
  884. package/generated/templates/base-sera/rtl_menu-inverted/menubar.tsx +525 -0
  885. package/generated/templates/base-sera/rtl_menu-inverted/select.tsx +573 -0
  886. package/generated/templates/base-sera/rtl_menu-inverted-translucent/combobox.tsx +1126 -0
  887. package/generated/templates/base-sera/rtl_menu-inverted-translucent/context-menu.tsx +834 -0
  888. package/generated/templates/base-sera/rtl_menu-inverted-translucent/dropdown-menu.tsx +863 -0
  889. package/generated/templates/base-sera/rtl_menu-inverted-translucent/menubar.tsx +525 -0
  890. package/generated/templates/base-sera/rtl_menu-inverted-translucent/select.tsx +573 -0
  891. package/generated/templates/base-sera/scroll-area.tsx +183 -0
  892. package/generated/templates/base-sera/select.tsx +572 -0
  893. package/generated/templates/base-sera/separator.tsx +99 -0
  894. package/generated/templates/base-sera/sheet.tsx +334 -0
  895. package/generated/templates/base-sera/sidebar.tsx +768 -0
  896. package/generated/templates/base-sera/skeleton.tsx +34 -0
  897. package/generated/templates/base-sera/slider.tsx +282 -0
  898. package/generated/templates/base-sera/spinner.tsx +74 -0
  899. package/generated/templates/base-sera/switch.tsx +106 -0
  900. package/generated/templates/base-sera/table.tsx +130 -0
  901. package/generated/templates/base-sera/tabs.tsx +215 -0
  902. package/generated/templates/base-sera/textarea.tsx +37 -0
  903. package/generated/templates/base-sera/toast.tsx +813 -0
  904. package/generated/templates/base-sera/toggle-group.tsx +210 -0
  905. package/generated/templates/base-sera/toggle.tsx +137 -0
  906. package/generated/templates/base-sera/tooltip.tsx +397 -0
  907. package/generated/templates/base-vega/accordion.tsx +290 -0
  908. package/generated/templates/base-vega/alert-dialog.tsx +341 -0
  909. package/generated/templates/base-vega/alert.tsx +95 -0
  910. package/generated/templates/base-vega/aspect-ratio.tsx +43 -0
  911. package/generated/templates/base-vega/attachment.tsx +274 -0
  912. package/generated/templates/base-vega/avatar.tsx +165 -0
  913. package/generated/templates/base-vega/badge.tsx +116 -0
  914. package/generated/templates/base-vega/breadcrumb.tsx +255 -0
  915. package/generated/templates/base-vega/bubble.tsx +191 -0
  916. package/generated/templates/base-vega/button-group.tsx +152 -0
  917. package/generated/templates/base-vega/button.tsx +134 -0
  918. package/generated/templates/base-vega/card.tsx +125 -0
  919. package/generated/templates/base-vega/checkbox.tsx +137 -0
  920. package/generated/templates/base-vega/collapsible.tsx +140 -0
  921. package/generated/templates/base-vega/combobox.tsx +1122 -0
  922. package/generated/templates/base-vega/context-menu.tsx +833 -0
  923. package/generated/templates/base-vega/date-picker-lite.tsx +104 -0
  924. package/generated/templates/base-vega/dialog.tsx +350 -0
  925. package/generated/templates/base-vega/direction.tsx +40 -0
  926. package/generated/templates/base-vega/drawer.tsx +424 -0
  927. package/generated/templates/base-vega/dropdown-menu.tsx +862 -0
  928. package/generated/templates/base-vega/empty.tsx +121 -0
  929. package/generated/templates/base-vega/field.tsx +256 -0
  930. package/generated/templates/base-vega/hover-card.tsx +350 -0
  931. package/generated/templates/base-vega/input-group.tsx +174 -0
  932. package/generated/templates/base-vega/input-otp-lite.tsx +96 -0
  933. package/generated/templates/base-vega/input.tsx +39 -0
  934. package/generated/templates/base-vega/item.tsx +265 -0
  935. package/generated/templates/base-vega/kbd.tsx +47 -0
  936. package/generated/templates/base-vega/label.tsx +37 -0
  937. package/generated/templates/base-vega/marker.tsx +134 -0
  938. package/generated/templates/base-vega/menu-default-translucent/combobox.tsx +1123 -0
  939. package/generated/templates/base-vega/menu-default-translucent/context-menu.tsx +834 -0
  940. package/generated/templates/base-vega/menu-default-translucent/dropdown-menu.tsx +863 -0
  941. package/generated/templates/base-vega/menu-default-translucent/menubar.tsx +525 -0
  942. package/generated/templates/base-vega/menu-default-translucent/select.tsx +570 -0
  943. package/generated/templates/base-vega/menu-inverted/combobox.tsx +1123 -0
  944. package/generated/templates/base-vega/menu-inverted/context-menu.tsx +834 -0
  945. package/generated/templates/base-vega/menu-inverted/dropdown-menu.tsx +863 -0
  946. package/generated/templates/base-vega/menu-inverted/menubar.tsx +525 -0
  947. package/generated/templates/base-vega/menu-inverted/select.tsx +570 -0
  948. package/generated/templates/base-vega/menu-inverted-translucent/combobox.tsx +1123 -0
  949. package/generated/templates/base-vega/menu-inverted-translucent/context-menu.tsx +834 -0
  950. package/generated/templates/base-vega/menu-inverted-translucent/dropdown-menu.tsx +863 -0
  951. package/generated/templates/base-vega/menu-inverted-translucent/menubar.tsx +525 -0
  952. package/generated/templates/base-vega/menu-inverted-translucent/select.tsx +570 -0
  953. package/generated/templates/base-vega/menubar.tsx +524 -0
  954. package/generated/templates/base-vega/message.tsx +111 -0
  955. package/generated/templates/base-vega/native-select.tsx +121 -0
  956. package/generated/templates/base-vega/navigation-menu.tsx +598 -0
  957. package/generated/templates/base-vega/pagination.tsx +244 -0
  958. package/generated/templates/base-vega/popover.tsx +375 -0
  959. package/generated/templates/base-vega/progress.tsx +228 -0
  960. package/generated/templates/base-vega/radio-group.tsx +160 -0
  961. package/generated/templates/base-vega/rtl/accordion.tsx +291 -0
  962. package/generated/templates/base-vega/rtl/alert-dialog.tsx +342 -0
  963. package/generated/templates/base-vega/rtl/alert.tsx +96 -0
  964. package/generated/templates/base-vega/rtl/attachment.tsx +275 -0
  965. package/generated/templates/base-vega/rtl/avatar.tsx +166 -0
  966. package/generated/templates/base-vega/rtl/badge.tsx +117 -0
  967. package/generated/templates/base-vega/rtl/breadcrumb.tsx +256 -0
  968. package/generated/templates/base-vega/rtl/bubble.tsx +192 -0
  969. package/generated/templates/base-vega/rtl/button-group.tsx +153 -0
  970. package/generated/templates/base-vega/rtl/button.tsx +135 -0
  971. package/generated/templates/base-vega/rtl/combobox.tsx +1123 -0
  972. package/generated/templates/base-vega/rtl/context-menu.tsx +834 -0
  973. package/generated/templates/base-vega/rtl/date-picker-lite.tsx +105 -0
  974. package/generated/templates/base-vega/rtl/dialog.tsx +351 -0
  975. package/generated/templates/base-vega/rtl/drawer.tsx +425 -0
  976. package/generated/templates/base-vega/rtl/dropdown-menu.tsx +863 -0
  977. package/generated/templates/base-vega/rtl/field.tsx +257 -0
  978. package/generated/templates/base-vega/rtl/hover-card.tsx +351 -0
  979. package/generated/templates/base-vega/rtl/input-group.tsx +175 -0
  980. package/generated/templates/base-vega/rtl/input-otp-lite.tsx +97 -0
  981. package/generated/templates/base-vega/rtl/item.tsx +266 -0
  982. package/generated/templates/base-vega/rtl/marker.tsx +135 -0
  983. package/generated/templates/base-vega/rtl/menubar.tsx +525 -0
  984. package/generated/templates/base-vega/rtl/native-select.tsx +122 -0
  985. package/generated/templates/base-vega/rtl/navigation-menu.tsx +599 -0
  986. package/generated/templates/base-vega/rtl/pagination.tsx +245 -0
  987. package/generated/templates/base-vega/rtl/popover.tsx +376 -0
  988. package/generated/templates/base-vega/rtl/progress.tsx +229 -0
  989. package/generated/templates/base-vega/rtl/radio-group.tsx +161 -0
  990. package/generated/templates/base-vega/rtl/scroll-area.tsx +184 -0
  991. package/generated/templates/base-vega/rtl/select.tsx +570 -0
  992. package/generated/templates/base-vega/rtl/sheet.tsx +329 -0
  993. package/generated/templates/base-vega/rtl/sidebar.tsx +763 -0
  994. package/generated/templates/base-vega/rtl/switch.tsx +107 -0
  995. package/generated/templates/base-vega/rtl/table.tsx +131 -0
  996. package/generated/templates/base-vega/rtl/tabs.tsx +216 -0
  997. package/generated/templates/base-vega/rtl/toast.tsx +814 -0
  998. package/generated/templates/base-vega/rtl/toggle-group.tsx +211 -0
  999. package/generated/templates/base-vega/rtl/toggle.tsx +138 -0
  1000. package/generated/templates/base-vega/rtl/tooltip.tsx +398 -0
  1001. package/generated/templates/base-vega/rtl_menu-default-translucent/combobox.tsx +1123 -0
  1002. package/generated/templates/base-vega/rtl_menu-default-translucent/context-menu.tsx +834 -0
  1003. package/generated/templates/base-vega/rtl_menu-default-translucent/dropdown-menu.tsx +863 -0
  1004. package/generated/templates/base-vega/rtl_menu-default-translucent/menubar.tsx +525 -0
  1005. package/generated/templates/base-vega/rtl_menu-default-translucent/select.tsx +570 -0
  1006. package/generated/templates/base-vega/rtl_menu-inverted/combobox.tsx +1123 -0
  1007. package/generated/templates/base-vega/rtl_menu-inverted/context-menu.tsx +834 -0
  1008. package/generated/templates/base-vega/rtl_menu-inverted/dropdown-menu.tsx +863 -0
  1009. package/generated/templates/base-vega/rtl_menu-inverted/menubar.tsx +525 -0
  1010. package/generated/templates/base-vega/rtl_menu-inverted/select.tsx +570 -0
  1011. package/generated/templates/base-vega/rtl_menu-inverted-translucent/combobox.tsx +1123 -0
  1012. package/generated/templates/base-vega/rtl_menu-inverted-translucent/context-menu.tsx +834 -0
  1013. package/generated/templates/base-vega/rtl_menu-inverted-translucent/dropdown-menu.tsx +863 -0
  1014. package/generated/templates/base-vega/rtl_menu-inverted-translucent/menubar.tsx +525 -0
  1015. package/generated/templates/base-vega/rtl_menu-inverted-translucent/select.tsx +570 -0
  1016. package/generated/templates/base-vega/scroll-area.tsx +183 -0
  1017. package/generated/templates/base-vega/select.tsx +569 -0
  1018. package/generated/templates/base-vega/separator.tsx +99 -0
  1019. package/generated/templates/base-vega/sheet.tsx +328 -0
  1020. package/generated/templates/base-vega/sidebar.tsx +762 -0
  1021. package/generated/templates/base-vega/skeleton.tsx +34 -0
  1022. package/generated/templates/base-vega/slider.tsx +282 -0
  1023. package/generated/templates/base-vega/spinner.tsx +74 -0
  1024. package/generated/templates/base-vega/switch.tsx +106 -0
  1025. package/generated/templates/base-vega/table.tsx +130 -0
  1026. package/generated/templates/base-vega/tabs.tsx +215 -0
  1027. package/generated/templates/base-vega/textarea.tsx +37 -0
  1028. package/generated/templates/base-vega/toast.tsx +813 -0
  1029. package/generated/templates/base-vega/toggle-group.tsx +210 -0
  1030. package/generated/templates/base-vega/toggle.tsx +137 -0
  1031. package/generated/templates/base-vega/tooltip.tsx +397 -0
  1032. package/package.json +36 -0
@@ -0,0 +1,759 @@
1
+ // @ts-check
2
+ /**
3
+ * Comboboxes: typing in the input filters the items of a native popover
4
+ * placed with CSS anchor positioning, the arrow keys highlight an item
5
+ * (`aria-activedescendant`, focus stays in the input) and Enter or a click
6
+ * selects it, like Base UI. Single comboboxes show the selected label in the
7
+ * input; multiple ones add and remove chips (copied from a template rendered
8
+ * on the server) and keep one hidden input per value for forms.
9
+ *
10
+ * The parts of a combobox share its id in `data-combobox`; the form value
11
+ * lives in the hidden input `[data-combobox-field]`.
12
+ */
13
+
14
+ /** @typedef {"pointer" | "keyboard" | "input"} OpenReason */
15
+
16
+ const collator = new Intl.Collator(undefined, {
17
+ usage: "search",
18
+ sensitivity: "base",
19
+ ignorePunctuation: true,
20
+ })
21
+
22
+ /**
23
+ * Base UI's default filter: whether `text` contains `query`, ignoring case,
24
+ * accents and punctuation.
25
+ *
26
+ * @param {string} text
27
+ * @param {string} query
28
+ */
29
+ function contains(text, query) {
30
+ if (query === "") return true
31
+ for (let start = 0; start + query.length <= text.length; start++) {
32
+ if (collator.compare(text.slice(start, start + query.length), query) === 0)
33
+ return true
34
+ }
35
+ return false
36
+ }
37
+
38
+ /**
39
+ * Per-combobox state that is not in the markup.
40
+ *
41
+ * @type {WeakMap<HTMLInputElement, { values: string[], reason: OpenReason | null, queryChanged: boolean, keyboard: boolean }>}
42
+ */
43
+ const states = new WeakMap()
44
+
45
+ /** @param {string} id */
46
+ const partsOf = (id) => {
47
+ const selector = `[data-combobox="${CSS.escape(id)}"]`
48
+ const field = /** @type {HTMLInputElement | null} */ (
49
+ document.querySelector(
50
+ `input[data-combobox-field="${CSS.escape(id)}"]:not([type="hidden"])`
51
+ )
52
+ )
53
+ const popup = /** @type {HTMLElement | null} */ (
54
+ document.querySelector(`${selector}[data-combobox-popup]`)
55
+ )
56
+ return {
57
+ id,
58
+ field,
59
+ input: /** @type {HTMLInputElement | null} */ (
60
+ document.querySelector(`${selector}[data-combobox-input]`)
61
+ ),
62
+ triggers: /** @type {HTMLElement[]} */ ([
63
+ ...document.querySelectorAll(`${selector}[data-combobox-trigger]`),
64
+ ]),
65
+ popup,
66
+ list: popup?.querySelector('[role="listbox"]') ?? null,
67
+ multiple: field?.hasAttribute("data-multiple") ?? false,
68
+ }
69
+ }
70
+
71
+ /** @typedef {ReturnType<typeof partsOf>} Parts */
72
+
73
+ /** @param {Element | null} element */
74
+ function comboboxOf(element) {
75
+ const id = element
76
+ ?.closest("[data-combobox], [data-combobox-popup]")
77
+ ?.getAttribute("data-combobox")
78
+ return id ? partsOf(id) : null
79
+ }
80
+
81
+ /** @param {Parts} parts */
82
+ function stateOf(parts) {
83
+ const field = /** @type {HTMLInputElement} */ (parts.field)
84
+ let state = states.get(field)
85
+ if (!state) {
86
+ state = {
87
+ values: parts.multiple
88
+ ? JSON.parse(field.dataset.values ?? "[]")
89
+ : field.value === ""
90
+ ? []
91
+ : [field.value],
92
+ reason: null,
93
+ queryChanged: false,
94
+ keyboard: false,
95
+ }
96
+ states.set(field, state)
97
+ }
98
+ return state
99
+ }
100
+
101
+ /** @param {Parts} parts */
102
+ const itemsOf = (parts) =>
103
+ /** @type {HTMLElement[]} */ ([
104
+ ...(parts.list?.querySelectorAll('[role="option"]') ?? []),
105
+ ])
106
+
107
+ /** @param {Parts} parts */
108
+ const visibleItems = (parts) => itemsOf(parts).filter((item) => !item.hidden)
109
+
110
+ /** @param {Parts} parts */
111
+ const isOpen = (parts) => parts.popup?.matches(":popover-open") ?? false
112
+
113
+ /** @param {Parts} parts */
114
+ const highlighted = (parts) =>
115
+ itemsOf(parts).find((item) => item.hasAttribute("data-highlighted")) ?? null
116
+
117
+ /**
118
+ * @param {Parts} parts
119
+ * @param {HTMLElement | null} item
120
+ */
121
+ function highlight(parts, item) {
122
+ for (const other of itemsOf(parts)) {
123
+ other.toggleAttribute("data-highlighted", other === item)
124
+ }
125
+ if (item && isOpen(parts)) {
126
+ parts.input?.setAttribute("aria-activedescendant", item.id)
127
+ item.scrollIntoView({ block: "nearest" })
128
+ } else {
129
+ parts.input?.removeAttribute("aria-activedescendant")
130
+ }
131
+ }
132
+
133
+ /** @param {Parts} parts */
134
+ function selectedLabel(parts) {
135
+ const [value] = stateOf(parts).values
136
+ const item = itemsOf(parts).find((i) => i.dataset.value === value)
137
+ return item?.dataset.label ?? value ?? ""
138
+ }
139
+
140
+ /**
141
+ * Shows the items matching the input, like Base UI's filter, and the empty
142
+ * state when none does.
143
+ *
144
+ * @param {Parts} parts
145
+ */
146
+ function filter(parts) {
147
+ const { field, input, popup, list } = parts
148
+ if (!field || !input || !popup || !list) return
149
+ const state = stateOf(parts)
150
+ const query = input.value.trim()
151
+ const label = parts.multiple ? "" : selectedLabel(parts)
152
+ // A single combobox shows every item while its input holds the selection.
153
+ const bypass =
154
+ !parts.multiple &&
155
+ !state.queryChanged &&
156
+ query !== "" &&
157
+ label.length === query.length &&
158
+ contains(label, query)
159
+ const filtering = field.hasAttribute("data-filter")
160
+ let empty = true
161
+ for (const item of itemsOf(parts)) {
162
+ item.hidden =
163
+ filtering && !bypass && !contains(item.dataset.label ?? "", query)
164
+ if (!item.hidden) empty = false
165
+ }
166
+ for (const group of list.querySelectorAll('[role="group"]')) {
167
+ if (group instanceof HTMLElement) {
168
+ group.hidden = !group.querySelector('[role="option"]:not([hidden])')
169
+ }
170
+ }
171
+ empty = filtering && empty
172
+ for (const element of [popup, list]) {
173
+ element.toggleAttribute("data-empty", empty)
174
+ }
175
+ for (const element of [input, ...parts.triggers]) {
176
+ element.toggleAttribute("data-list-empty", empty)
177
+ }
178
+ for (const status of popup.querySelectorAll("[data-combobox-empty]")) {
179
+ const template = status.querySelector(":scope > template")
180
+ if (!(template instanceof HTMLTemplateElement)) continue
181
+ status.replaceChildren(
182
+ template,
183
+ ...(empty ? [template.content.cloneNode(true)] : [])
184
+ )
185
+ }
186
+ const current = highlighted(parts)
187
+ if (current?.hidden) highlight(parts, null)
188
+ }
189
+
190
+ /**
191
+ * @param {Parts} parts
192
+ * @param {OpenReason} reason
193
+ */
194
+ function open(parts, reason) {
195
+ const { input, popup } = parts
196
+ if (!input || !popup || input.disabled || isOpen(parts)) return
197
+ for (const other of document.querySelectorAll(
198
+ "[data-combobox-popup]:popover-open"
199
+ )) {
200
+ const combobox = comboboxOf(other)
201
+ if (combobox && combobox.id !== parts.id) close(combobox)
202
+ }
203
+ const state = stateOf(parts)
204
+ state.reason = reason
205
+ filter(parts)
206
+ popup.showPopover()
207
+ for (const element of [input, ...parts.triggers]) {
208
+ element.setAttribute("aria-expanded", "true")
209
+ element.setAttribute("aria-controls", parts.list?.id ?? "")
210
+ element.toggleAttribute("data-popup-open", true)
211
+ element.toggleAttribute("data-pressed", true)
212
+ }
213
+ }
214
+
215
+ /** @param {Parts} parts */
216
+ function close(parts) {
217
+ const { input, popup } = parts
218
+ if (!input || !popup) return
219
+ if (isOpen(parts)) popup.hidePopover()
220
+ highlight(parts, null)
221
+ for (const element of [input, ...parts.triggers]) {
222
+ element.setAttribute("aria-expanded", "false")
223
+ element.removeAttribute("aria-controls")
224
+ element.removeAttribute("data-popup-open")
225
+ element.removeAttribute("data-pressed")
226
+ }
227
+ const state = stateOf(parts)
228
+ state.reason = null
229
+ state.queryChanged = false
230
+ // The input shows the selection again (single) or clears (multiple).
231
+ input.value = parts.multiple ? "" : selectedLabel(parts)
232
+ }
233
+
234
+ /**
235
+ * The item a combobox highlights when it opens: the selected one, else the
236
+ * first (or last) enabled one when opened with the arrow keys.
237
+ *
238
+ * @param {Parts} parts
239
+ * @param {"first" | "last" | null} fallback
240
+ */
241
+ function initialItem(parts, fallback) {
242
+ const items = visibleItems(parts)
243
+ const selected = items.find((item) => item.hasAttribute("data-selected"))
244
+ if (selected || !fallback) return selected ?? null
245
+ const enabled = items.filter((item) => !item.hasAttribute("data-disabled"))
246
+ return (fallback === "first" ? enabled[0] : enabled.at(-1)) ?? null
247
+ }
248
+
249
+ /**
250
+ * Renders the selection: items and indicators, the form fields, the trigger,
251
+ * the clear button, the value and the chips.
252
+ *
253
+ * @param {Parts} parts
254
+ */
255
+ function renderValue(parts) {
256
+ const { field } = parts
257
+ if (!field) return
258
+ const { values } = stateOf(parts)
259
+ for (const item of itemsOf(parts)) {
260
+ const selected = values.includes(item.dataset.value ?? "")
261
+ item.setAttribute("aria-selected", String(selected))
262
+ item.toggleAttribute("data-selected", selected)
263
+ for (const indicator of item.querySelectorAll(
264
+ "[data-combobox-indicator]"
265
+ )) {
266
+ if (indicator.closest('[role="option"]') !== item) continue
267
+ indicator.toggleAttribute("hidden", !selected)
268
+ indicator.toggleAttribute("data-selected", selected)
269
+ }
270
+ }
271
+ for (const trigger of parts.triggers) {
272
+ trigger.toggleAttribute("data-placeholder", values.length === 0)
273
+ }
274
+ if (parts.multiple) {
275
+ field.dataset.values = JSON.stringify(values)
276
+ const name = field.dataset.name
277
+ for (const hidden of document.querySelectorAll(
278
+ `input[type="hidden"][data-combobox-field="${CSS.escape(parts.id)}"]`
279
+ )) {
280
+ hidden.remove()
281
+ }
282
+ if (name) {
283
+ field.after(
284
+ ...values.map((value) => {
285
+ const hidden = document.createElement("input")
286
+ hidden.type = "hidden"
287
+ hidden.name = name
288
+ hidden.value = value
289
+ if (field.getAttribute("form"))
290
+ hidden.setAttribute("form", field.getAttribute("form") ?? "")
291
+ hidden.dataset.comboboxField = parts.id
292
+ return hidden
293
+ })
294
+ )
295
+ }
296
+ renderChips(parts)
297
+ } else {
298
+ field.value = values[0] ?? ""
299
+ for (const value of document.querySelectorAll(
300
+ `[data-combobox-value="${CSS.escape(parts.id)}"]`
301
+ )) {
302
+ if (!value.querySelector("template, [data-combobox-chip]")) {
303
+ value.textContent =
304
+ selectedLabel(parts) || value.getAttribute("data-placeholder") || ""
305
+ }
306
+ }
307
+ }
308
+ renderClear(parts, values.length > 0)
309
+ }
310
+
311
+ /**
312
+ * Mounts the clear buttons while there is a value (kept in a template otherwise).
313
+ *
314
+ * @param {Parts} parts
315
+ * @param {boolean} visible
316
+ */
317
+ function renderClear(parts, visible) {
318
+ const id = CSS.escape(parts.id)
319
+ if (visible) {
320
+ for (const template of document.querySelectorAll(
321
+ `template[data-combobox-clear="${id}"]`
322
+ )) {
323
+ if (template instanceof HTMLTemplateElement) {
324
+ template.replaceWith(template.content.cloneNode(true))
325
+ }
326
+ }
327
+ } else {
328
+ for (const button of document.querySelectorAll(
329
+ `[data-combobox="${id}"][data-combobox-clear]`
330
+ )) {
331
+ const template = document.createElement("template")
332
+ template.dataset.comboboxClear = parts.id
333
+ button.replaceWith(template)
334
+ template.content.append(button)
335
+ }
336
+ }
337
+ }
338
+
339
+ /**
340
+ * Adds and removes chips so they follow the values, copying new chips from
341
+ * the template of `ComboboxValue` (its sample label replaced).
342
+ *
343
+ * @param {Parts} parts
344
+ */
345
+ function renderChips(parts) {
346
+ const container = document.querySelector(
347
+ `[data-combobox-value="${CSS.escape(parts.id)}"]`
348
+ )
349
+ const template = container?.querySelector(":scope > template")
350
+ if (!container || !(template instanceof HTMLTemplateElement)) return
351
+ const { values } = stateOf(parts)
352
+ const chips = [...container.querySelectorAll("[data-combobox-chip]")]
353
+ // Server-rendered chips follow the initial values.
354
+ const initial = JSON.parse(container.getAttribute("data-initial") ?? "[]")
355
+ chips.forEach((chip, index) => {
356
+ if (!chip.hasAttribute("data-value")) {
357
+ chip.setAttribute("data-value", initial[index] ?? "")
358
+ }
359
+ })
360
+ const byValue = new Map(
361
+ chips.map((chip) => [chip.getAttribute("data-value") ?? "", chip])
362
+ )
363
+ const sample = template.dataset.label ?? ""
364
+ let previous = null
365
+ for (const value of values) {
366
+ let chip = byValue.get(value)
367
+ byValue.delete(value)
368
+ if (!chip) {
369
+ const label =
370
+ itemsOf(parts).find((item) => item.dataset.value === value)?.dataset
371
+ .label ?? value
372
+ const copy = /** @type {DocumentFragment} */ (
373
+ template.content.cloneNode(true)
374
+ ).querySelector("[data-combobox-chip]")
375
+ if (!copy) return
376
+ relabel(copy, sample, label)
377
+ copy.setAttribute("data-value", value)
378
+ chip = copy
379
+ }
380
+ if (previous) previous.after(chip)
381
+ else container.prepend(chip)
382
+ previous = chip
383
+ }
384
+ for (const chip of byValue.values()) chip?.remove()
385
+ }
386
+
387
+ /**
388
+ * Replaces `from` with `to` in the text and attributes of a copied chip.
389
+ *
390
+ * @param {Element} element
391
+ * @param {string} from
392
+ * @param {string} to
393
+ */
394
+ function relabel(element, from, to) {
395
+ if (from === "") return
396
+ const walker = document.createTreeWalker(element, NodeFilter.SHOW_TEXT)
397
+ for (let node = walker.nextNode(); node; node = walker.nextNode()) {
398
+ node.nodeValue = (node.nodeValue ?? "").replaceAll(from, to)
399
+ }
400
+ for (const each of [element, ...element.querySelectorAll("*")]) {
401
+ for (const attribute of each.attributes) {
402
+ if (attribute.value.includes(from)) {
403
+ attribute.value = attribute.value.replaceAll(from, to)
404
+ }
405
+ }
406
+ }
407
+ }
408
+
409
+ /**
410
+ * Selects an item: single comboboxes take its value and close, multiple ones
411
+ * toggle it.
412
+ *
413
+ * @param {Parts} parts
414
+ * @param {HTMLElement} item
415
+ */
416
+ function select(parts, item) {
417
+ if (item.hasAttribute("data-disabled")) return
418
+ const state = stateOf(parts)
419
+ const value = item.dataset.value ?? ""
420
+ if (parts.multiple) {
421
+ state.values = state.values.includes(value)
422
+ ? state.values.filter((v) => v !== value)
423
+ : [...state.values, value]
424
+ renderValue(parts)
425
+ if (parts.input && parts.input.value.trim() !== "") {
426
+ close(parts)
427
+ } else {
428
+ filter(parts)
429
+ }
430
+ } else {
431
+ state.values = [value]
432
+ renderValue(parts)
433
+ close(parts)
434
+ }
435
+ parts.field?.dispatchEvent(new Event("change", { bubbles: true }))
436
+ }
437
+
438
+ /** @param {Parts} parts */
439
+ function clearValue(parts) {
440
+ stateOf(parts).values = []
441
+ renderValue(parts)
442
+ parts.field?.dispatchEvent(new Event("change", { bubbles: true }))
443
+ }
444
+
445
+ /**
446
+ * @param {Parts} parts
447
+ * @param {number} index
448
+ * @param {boolean} [focusInput]
449
+ */
450
+ function removeValue(parts, index, focusInput = true) {
451
+ const state = stateOf(parts)
452
+ state.values = state.values.filter((_, i) => i !== index)
453
+ renderValue(parts)
454
+ filter(parts)
455
+ parts.field?.dispatchEvent(new Event("change", { bubbles: true }))
456
+ if (focusInput) parts.input?.focus()
457
+ }
458
+
459
+ /**
460
+ * Moves the highlight like Base UI: past either end it returns to the input
461
+ * (no highlight) unless `autoHighlight` makes it wrap.
462
+ *
463
+ * @param {Parts} parts
464
+ * @param {1 | -1} step
465
+ */
466
+ function move(parts, step) {
467
+ const items = visibleItems(parts)
468
+ if (items.length === 0) return
469
+ const current = highlighted(parts)
470
+ const index = current ? items.indexOf(current) : -1
471
+ const wrap = parts.field?.hasAttribute("data-auto-highlight") ?? false
472
+ let next
473
+ if (index === -1) next = step === 1 ? 0 : items.length - 1
474
+ else if (index + step < 0 || index + step >= items.length)
475
+ next = wrap ? (index + step + items.length) % items.length : -1
476
+ else next = index + step
477
+ highlight(parts, items[next] ?? null)
478
+ }
479
+
480
+ document.addEventListener("keydown", (event) => {
481
+ const target = event.target
482
+ if (!(target instanceof HTMLElement)) return
483
+ if (target.matches("[data-combobox-chip]")) {
484
+ chipKeydown(event, target)
485
+ return
486
+ }
487
+ if (
488
+ !(target instanceof HTMLInputElement) ||
489
+ !target.matches("[data-combobox-input]")
490
+ )
491
+ return
492
+ const parts = comboboxOf(target)
493
+ if (!parts || parts.input !== target) return
494
+ const state = stateOf(parts)
495
+ state.keyboard = true
496
+ const opened = isOpen(parts)
497
+ switch (event.key) {
498
+ case "ArrowDown":
499
+ case "ArrowUp": {
500
+ event.preventDefault()
501
+ if (!opened) {
502
+ open(parts, "keyboard")
503
+ highlight(
504
+ parts,
505
+ initialItem(parts, event.key === "ArrowDown" ? "first" : "last")
506
+ )
507
+ } else {
508
+ move(parts, event.key === "ArrowDown" ? 1 : -1)
509
+ }
510
+ break
511
+ }
512
+ case "Enter": {
513
+ const item = highlighted(parts)
514
+ if (opened && item) {
515
+ event.preventDefault()
516
+ item.click()
517
+ } else if (opened) {
518
+ close(parts)
519
+ }
520
+ break
521
+ }
522
+ case "Escape": {
523
+ if (opened) {
524
+ event.preventDefault()
525
+ close(parts)
526
+ } else if (target.value !== "" || state.values.length > 0) {
527
+ event.preventDefault()
528
+ target.value = ""
529
+ clearValue(parts)
530
+ }
531
+ break
532
+ }
533
+ case "Tab":
534
+ if (opened) close(parts)
535
+ break
536
+ case "Backspace":
537
+ if (parts.multiple && target.value === "" && state.values.length > 0) {
538
+ removeValue(parts, state.values.length - 1, false)
539
+ }
540
+ break
541
+ case inlineKeys(target)[0]:
542
+ if (
543
+ parts.multiple &&
544
+ target.selectionStart === 0 &&
545
+ target.selectionEnd === 0
546
+ ) {
547
+ const chips = chipsOf(parts)
548
+ const last = chips.at(-1)
549
+ if (last) {
550
+ event.preventDefault()
551
+ last.focus()
552
+ }
553
+ }
554
+ break
555
+ }
556
+ })
557
+
558
+ /** @param {Parts} parts */
559
+ const chipsOf = (parts) =>
560
+ /** @type {HTMLElement[]} */ ([
561
+ ...document.querySelectorAll(
562
+ `[data-combobox-value="${CSS.escape(parts.id)}"] [data-combobox-chip]`
563
+ ),
564
+ ]).filter((chip) => chip.closest("template") === null)
565
+
566
+ /**
567
+ * @param {KeyboardEvent} event
568
+ * @param {HTMLElement} chip
569
+ */
570
+ function chipKeydown(event, chip) {
571
+ const parts = comboboxOf(chip)
572
+ if (!parts?.input) return
573
+ const chips = chipsOf(parts)
574
+ const index = chips.indexOf(chip)
575
+ switch (event.key) {
576
+ case "ArrowLeft":
577
+ case "ArrowRight": {
578
+ event.preventDefault()
579
+ const [backKey] = inlineKeys(chip)
580
+ const next = chips[index + (event.key === backKey ? -1 : 1)]
581
+ if (next) next.focus()
582
+ else parts.input.focus()
583
+ break
584
+ }
585
+ case "Backspace":
586
+ case "Delete": {
587
+ event.preventDefault()
588
+ removeValue(parts, index, false)
589
+ const remaining = chipsOf(parts)
590
+ const next = remaining[index] ?? remaining[index - 1]
591
+ if (next) next.focus()
592
+ else parts.input.focus()
593
+ break
594
+ }
595
+ case "ArrowDown":
596
+ case "ArrowUp":
597
+ event.preventDefault()
598
+ parts.input.focus()
599
+ open(parts, "keyboard")
600
+ break
601
+ default:
602
+ if (
603
+ event.key === "Enter" ||
604
+ event.key === " " ||
605
+ event.key.length === 1
606
+ ) {
607
+ parts.input.focus()
608
+ }
609
+ }
610
+ }
611
+
612
+ document.addEventListener("input", (event) => {
613
+ const input = event.target
614
+ if (
615
+ !(input instanceof HTMLInputElement) ||
616
+ !input.matches("[data-combobox-input]")
617
+ )
618
+ return
619
+ const parts = comboboxOf(input)
620
+ if (!parts || parts.input !== input) return
621
+ const state = stateOf(parts)
622
+ const query = input.value.trim()
623
+ if (!parts.multiple && input.value === "" && state.values.length > 0) {
624
+ clearValue(parts)
625
+ }
626
+ if (query !== "") state.queryChanged = true
627
+ if (query !== "" && !isOpen(parts)) open(parts, "input")
628
+ filter(parts)
629
+ const autoHighlight = parts.field?.hasAttribute("data-auto-highlight")
630
+ highlight(
631
+ parts,
632
+ autoHighlight && query !== "" ? (visibleItems(parts)[0] ?? null) : null
633
+ )
634
+ })
635
+
636
+ document.addEventListener("mousedown", (event) => {
637
+ const target = event.target
638
+ if (!(target instanceof Element) || event.button !== 0) return
639
+ const parts = comboboxOf(target)
640
+ // Outside presses close open comboboxes.
641
+ for (const popup of document.querySelectorAll(
642
+ "[data-combobox-popup]:popover-open"
643
+ )) {
644
+ const other = comboboxOf(popup)
645
+ if (other && other.id !== parts?.id) close(other)
646
+ }
647
+ if (!parts?.input) return
648
+ const input = parts.input
649
+ if (target.closest('[role="option"]')) {
650
+ event.preventDefault()
651
+ } else if (
652
+ target.closest("[data-combobox-chip-remove], [data-combobox-clear]")
653
+ ) {
654
+ event.preventDefault()
655
+ } else if (target.closest("[data-combobox-trigger]")) {
656
+ event.preventDefault()
657
+ input.focus()
658
+ } else if (target === input) {
659
+ stateOf(parts).keyboard = false
660
+ if (!isOpen(parts)) {
661
+ open(parts, "pointer")
662
+ highlight(parts, initialItem(parts, null))
663
+ }
664
+ } else if (
665
+ target.closest("[data-combobox-chips]") &&
666
+ !target.closest("[data-combobox-chip]")
667
+ ) {
668
+ event.preventDefault()
669
+ input.focus()
670
+ if (!isOpen(parts)) open(parts, "pointer")
671
+ }
672
+ })
673
+
674
+ document.addEventListener("click", (event) => {
675
+ const target = event.target
676
+ if (!(target instanceof Element)) return
677
+ const parts = comboboxOf(target)
678
+ if (!parts?.input) return
679
+ const item = target.closest('[role="option"]')
680
+ const remove = target.closest("[data-combobox-chip-remove]")
681
+ if (item instanceof HTMLElement && parts.list?.contains(item)) {
682
+ select(parts, item)
683
+ } else if (remove) {
684
+ const chip = remove.closest("[data-combobox-chip]")
685
+ const index =
686
+ chip instanceof HTMLElement ? chipsOf(parts).indexOf(chip) : -1
687
+ if (index !== -1) removeValue(parts, index)
688
+ } else if (target.closest("[data-combobox-clear]")) {
689
+ parts.input.value = ""
690
+ highlight(parts, null)
691
+ clearValue(parts)
692
+ filter(parts)
693
+ parts.input.focus()
694
+ } else if (target.closest("[data-combobox-trigger]")) {
695
+ const state = stateOf(parts)
696
+ if (!isOpen(parts)) {
697
+ open(parts, "pointer")
698
+ highlight(parts, initialItem(parts, null))
699
+ } else if (state.reason === "pointer") {
700
+ close(parts)
701
+ }
702
+ }
703
+ })
704
+
705
+ // Hovering an item highlights it; leaving the items clears the highlight.
706
+ document.addEventListener("mousemove", (event) => {
707
+ const target = event.target
708
+ if (!(target instanceof Element)) return
709
+ const item = target.closest('[role="option"]')
710
+ const parts = comboboxOf(item)
711
+ if (!parts || !(item instanceof HTMLElement) || item.hidden) return
712
+ stateOf(parts).keyboard = false
713
+ if (!item.hasAttribute("data-highlighted")) highlight(parts, item)
714
+ })
715
+
716
+ document.addEventListener(
717
+ "mouseout",
718
+ (event) => {
719
+ const target = event.target
720
+ if (!(target instanceof Element)) return
721
+ const item = target.closest('[role="option"]')
722
+ const parts = comboboxOf(item)
723
+ if (!parts || stateOf(parts).keyboard) return
724
+ const to = event.relatedTarget
725
+ if (to instanceof Element && to.closest('[role="option"]')) return
726
+ if (to instanceof Node && item?.contains(to)) return
727
+ highlight(parts, null)
728
+ },
729
+ true
730
+ )
731
+
732
+ // Focus moving out of the combobox (Tab) closes it.
733
+ document.addEventListener("focusout", (event) => {
734
+ const input = event.target
735
+ if (
736
+ !(input instanceof HTMLInputElement) ||
737
+ !input.matches("[data-combobox-input]")
738
+ )
739
+ return
740
+ const parts = comboboxOf(input)
741
+ const to = event.relatedTarget
742
+ if (!parts || !isOpen(parts)) return
743
+ if (to instanceof Element && comboboxOf(to)?.id === parts.id) return
744
+ if (to === null) return
745
+ close(parts)
746
+ })
747
+
748
+ /**
749
+ * The inline arrow keys in reading order: [backward, forward].
750
+ *
751
+ * @param {Element} element
752
+ */
753
+ const inlineKeys = (element) =>
754
+ getComputedStyle(element).direction === "rtl"
755
+ ? ["ArrowRight", "ArrowLeft"]
756
+ : ["ArrowLeft", "ArrowRight"]
757
+
758
+ // A module: its declarations stay local.
759
+ export {}