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,1126 @@
1
+ // Generated by shadcnui-hono-jsx. DO NOT EDIT; run `bun run generate combobox`.
2
+ // upstream: shadcn/ui base-sera/combobox (https://ui.shadcn.com/r/styles/base-sera/combobox.json)
3
+ // upstream-revision: sha256:27eac56b72f08e32b0fff850a44fb89081869f6f5627d66280fee7f73893b6bc; shadcn-ui/ui@98a1fe67b439324ddc857f47fbdce056600a4329
4
+ // mode: adapter
5
+ // variant: rtl
6
+ // client: <script type="module" src="/shadcn/combobox.js"> (public/shadcn/)
7
+ // Derived from shadcn/ui. Copyright (c) 2023 shadcn.
8
+ // Original additions and modifications: Copyright (c) 2026 supermomonga.
9
+ // SPDX-License-Identifier: MIT
10
+ // Full license: LICENSE-shadcnui-hono-jsx.txt at the project root.
11
+ // Icons: lucide@1.48.0 (check, chevron-down, x). Copyright (c) 2026 Lucide Icons and Contributors. ISC License (see LICENSE-shadcnui-hono-jsx.txt).
12
+
13
+ import { cn } from "cn"
14
+ import type { Child, JSX, JSXNode } from "hono/jsx"
15
+ import {
16
+ cloneElement,
17
+ createContext,
18
+ isValidElement,
19
+ useContext,
20
+ useId,
21
+ } from "hono/jsx"
22
+
23
+ import { Button } from "./button"
24
+ import {
25
+ InputGroup,
26
+ InputGroupAddon,
27
+ InputGroupButton,
28
+ InputGroupInput,
29
+ } from "./input-group"
30
+
31
+ /** Props of the intrinsic element `T`, following Hono JSX conventions (`class`, no `render`/`asChild`). */
32
+ type ComponentProps<
33
+ T extends keyof JSX.IntrinsicElements | "svg",
34
+ Render = never,
35
+ > = (T extends keyof JSX.IntrinsicElements
36
+ ? JSX.IntrinsicElements[T]
37
+ : JSX.HTMLAttributes) & {
38
+ class?: string | undefined
39
+ className?: never
40
+ render?: Render
41
+ asChild?: never
42
+ }
43
+
44
+ /** An element (or a function returning one) that replaces the default element, as in Base UI. */
45
+ type RenderProp = Child | ((props: Record<string, unknown>) => Child)
46
+
47
+ /**
48
+ * Renders `render` in place of `element`, merging props like Base UI's
49
+ * mergeProps: the render element's props win, classes are combined (the render
50
+ * element's first) and styles are merged. `type` only applies to button and
51
+ * input targets.
52
+ */
53
+ function renderElement<Element>(
54
+ element: Element,
55
+ render: RenderProp | undefined
56
+ ): Element {
57
+ if (render === undefined) return element
58
+ const own: Record<string, unknown> = {
59
+ ...(element as unknown as JSXNode).props,
60
+ }
61
+ if (typeof render === "function") return render(own) as Element
62
+ if (!isValidElement(render)) {
63
+ throw new Error("render must be a JSX element or a function returning one")
64
+ }
65
+ const target = render as JSXNode
66
+ const merged: Record<string, unknown> = { ...own }
67
+ for (const [key, value] of Object.entries(target.props)) {
68
+ if (key === "class" || key === "className") {
69
+ merged.class = [value, own.class].filter(Boolean).join(" ")
70
+ } else if (key === "style" && isObject(value) && isObject(own.style)) {
71
+ merged.style = { ...own.style, ...value }
72
+ } else {
73
+ merged[key] = value
74
+ }
75
+ }
76
+ if (
77
+ typeof target.tag === "string" &&
78
+ !["button", "input"].includes(target.tag)
79
+ ) {
80
+ if (!("type" in target.props)) delete merged.type
81
+ }
82
+ const { children, ...props } = merged
83
+ return cloneElement(
84
+ target,
85
+ props,
86
+ ...(children === undefined ? [] : [children as Child].flat())
87
+ ) as Element
88
+ }
89
+
90
+ function isObject(value: unknown): value is Record<string, unknown> {
91
+ return typeof value === "object" && value !== null
92
+ }
93
+
94
+ /** Renders list content for each item (`ComboboxList`, `ComboboxCollection`). */
95
+ type ComboboxItemRenderer = {
96
+ bivarianceHack(item: unknown, index: number): Child
97
+ }["bivarianceHack"]
98
+
99
+ /** Renders the selected value(s) (`ComboboxValue`). */
100
+ type ComboboxValueRenderer = {
101
+ bivarianceHack(value: unknown): Child
102
+ }["bivarianceHack"]
103
+
104
+ /** Converts an item to a string (`itemToStringLabel`, `itemToStringValue`). */
105
+ type ComboboxItemToString = {
106
+ bivarianceHack(item: unknown): string
107
+ }["bivarianceHack"]
108
+
109
+ type ComboboxRootProps = {
110
+ id?: string | undefined
111
+ /** The items passed to `ComboboxList` render functions: values, or groups with `items`. */
112
+ items?: readonly unknown[] | undefined
113
+ value?: unknown
114
+ defaultValue?: unknown
115
+ /** Select several values, shown as chips. */
116
+ multiple?: boolean | undefined
117
+ name?: string | undefined
118
+ form?: string | undefined
119
+ disabled?: boolean | undefined
120
+ required?: boolean | undefined
121
+ /** Highlight the first match while typing. */
122
+ autoHighlight?: boolean | undefined
123
+ itemToStringLabel?: ComboboxItemToString | undefined
124
+ itemToStringValue?: ComboboxItemToString | undefined
125
+ children?: Child
126
+ }
127
+
128
+ interface ComboboxState {
129
+ id: string
130
+ anchor: string
131
+ items: readonly unknown[]
132
+ /** Whether `items` were given: only then the script filters them. */
133
+ filtering: boolean
134
+ selected: readonly unknown[]
135
+ multiple: boolean
136
+ disabled: boolean
137
+ label: (item: unknown) => string
138
+ value: (item: unknown) => string
139
+ /** Items claim their index in render order (option ids). */
140
+ rendered: number
141
+ }
142
+
143
+ const ComboboxContext = createContext<ComboboxState | null>(null)
144
+
145
+ function useComboboxContext(): ComboboxState {
146
+ const context = useContext(ComboboxContext)
147
+ if (!context)
148
+ throw new Error("Combobox parts must be rendered inside <Combobox>")
149
+ return context
150
+ }
151
+
152
+ /** Whether the item rendered inside is selected (for its indicator). */
153
+ const ComboboxItemContext = createContext(false)
154
+
155
+ /** The items of the enclosing group, for `ComboboxCollection`. */
156
+ const ComboboxGroupContext = createContext<{
157
+ labelId: string
158
+ items: readonly unknown[] | undefined
159
+ } | null>(null)
160
+
161
+ /** The anchor passed to `ComboboxContent` (chips), instead of the input. */
162
+ const ComboboxAnchorContext = createContext<string | null>(null)
163
+
164
+ /** Base UI's label of an item: `itemToStringLabel`, an object's `label` or `value`, or the string. */
165
+ function comboboxLabel(item: unknown, convert?: ComboboxItemToString): string {
166
+ if (convert && item != null) return convert(item) ?? ""
167
+ if (item && typeof item === "object") {
168
+ if ("label" in item && item.label != null) return String(item.label)
169
+ if ("value" in item) return String(item.value)
170
+ }
171
+ return comboboxString(item)
172
+ }
173
+
174
+ /** Base UI's form value of an item: `itemToStringValue`, a `{ label, value }` object's value, or the string. */
175
+ function comboboxValue(item: unknown, convert?: ComboboxItemToString): string {
176
+ if (convert && item != null) return convert(item) ?? ""
177
+ if (item && typeof item === "object" && "value" in item && "label" in item) {
178
+ return comboboxString(item.value)
179
+ }
180
+ return comboboxString(item)
181
+ }
182
+
183
+ function comboboxString(value: unknown): string {
184
+ if (value == null) return ""
185
+ return typeof value === "string" ? value : JSON.stringify(value)
186
+ }
187
+
188
+ /** Groups (`{ items }`) are flattened to their items. */
189
+ function comboboxLeaves(items: readonly unknown[]): unknown[] {
190
+ return items.flatMap((item) =>
191
+ item &&
192
+ typeof item === "object" &&
193
+ "items" in item &&
194
+ Array.isArray(item.items)
195
+ ? item.items
196
+ : [item]
197
+ )
198
+ }
199
+
200
+ const COMBOBOX_HIDDEN_INPUT =
201
+ "clip-path:inset(50%);overflow:hidden;white-space:nowrap;border:0;padding:0;width:1px;height:1px;margin:-1px;position:absolute"
202
+
203
+ /**
204
+ * Holds the combobox state for its parts and renders the form value; the
205
+ * client script `/shadcn/combobox.js` finds the parts by `data-combobox`.
206
+ */
207
+ function ComboboxRootElement({
208
+ id,
209
+ items,
210
+ value,
211
+ defaultValue,
212
+ multiple = false,
213
+ name,
214
+ form,
215
+ disabled = false,
216
+ required,
217
+ autoHighlight = false,
218
+ itemToStringLabel,
219
+ itemToStringValue,
220
+ children,
221
+ }: ComboboxRootProps) {
222
+ const generated = useId().replaceAll(":", "-")
223
+ const comboboxId = id ?? `combobox${generated}`
224
+ const initial = value === undefined ? defaultValue : value
225
+ const selected: readonly unknown[] = multiple
226
+ ? Array.isArray(initial)
227
+ ? initial
228
+ : []
229
+ : initial == null
230
+ ? []
231
+ : [initial]
232
+ const state: ComboboxState = {
233
+ id: comboboxId,
234
+ anchor: `--${comboboxId}`,
235
+ items: items ?? [],
236
+ filtering: items !== undefined,
237
+ selected,
238
+ multiple,
239
+ disabled,
240
+ label: (item) => comboboxLabel(item, itemToStringLabel),
241
+ value: (item) => comboboxValue(item, itemToStringValue),
242
+ rendered: 0,
243
+ }
244
+ const values = selected.map(state.value)
245
+ return (
246
+ <ComboboxContext.Provider value={state}>
247
+ {children}
248
+ {/* biome-ignore lint/a11y/noAriaHiddenOnFocusable: Base UI's form input, out of the tab order and hidden from assistive technology */}
249
+ <input
250
+ tabindex={-1}
251
+ aria-hidden="true"
252
+ name={multiple ? undefined : name}
253
+ form={form}
254
+ value={multiple ? "" : (values[0] ?? "")}
255
+ required={required}
256
+ disabled={disabled || undefined}
257
+ data-combobox-field={comboboxId}
258
+ data-name={multiple ? name : undefined}
259
+ data-values={multiple ? JSON.stringify(values) : undefined}
260
+ data-multiple={multiple ? "" : undefined}
261
+ data-auto-highlight={autoHighlight ? "" : undefined}
262
+ data-filter={items ? "" : undefined}
263
+ style={COMBOBOX_HIDDEN_INPUT}
264
+ />
265
+ {multiple && name
266
+ ? values.map((item) => (
267
+ <input
268
+ type="hidden"
269
+ name={name}
270
+ form={form}
271
+ value={item}
272
+ data-combobox-field={comboboxId}
273
+ />
274
+ ))
275
+ : null}
276
+ </ComboboxContext.Provider>
277
+ )
278
+ }
279
+
280
+ type ComboboxValueProps = {
281
+ children?: Child | ComboboxValueRenderer
282
+ placeholder?: Child
283
+ }
284
+
285
+ /**
286
+ * The selected value: a render function's result (chips, with a template the
287
+ * script copies for new chips) or the selected label.
288
+ */
289
+ function ComboboxValueElement({ children, placeholder }: ComboboxValueProps) {
290
+ const state = useComboboxContext()
291
+ if (typeof children === "function") {
292
+ const [sample] = comboboxLeaves(state.items)
293
+ return (
294
+ <span
295
+ data-combobox-value={state.id}
296
+ data-initial={
297
+ state.multiple
298
+ ? JSON.stringify(state.selected.map(state.value))
299
+ : undefined
300
+ }
301
+ style="display:contents"
302
+ >
303
+ {children(
304
+ state.multiple ? state.selected : (state.selected[0] ?? null)
305
+ )}
306
+ {state.multiple && sample !== undefined ? (
307
+ <template data-label={state.label(sample)}>
308
+ {children([sample])}
309
+ </template>
310
+ ) : null}
311
+ </span>
312
+ )
313
+ }
314
+ const label = state.selected.map(state.label).join(", ")
315
+ return (
316
+ <span
317
+ data-combobox-value={state.id}
318
+ data-placeholder={
319
+ typeof placeholder === "string" ? placeholder : undefined
320
+ }
321
+ style="display:contents"
322
+ >
323
+ {children ?? (label || placeholder)}
324
+ </span>
325
+ )
326
+ }
327
+
328
+ function ComboboxTriggerElement({
329
+ type = "button",
330
+ render,
331
+ ...props
332
+ }: ComponentProps<"button", RenderProp>) {
333
+ const state = useComboboxContext()
334
+ return renderElement(
335
+ <button
336
+ type={type}
337
+ aria-expanded="false"
338
+ aria-haspopup="listbox"
339
+ disabled={state.disabled || undefined}
340
+ data-combobox={state.id}
341
+ data-combobox-trigger=""
342
+ data-placeholder={state.selected.length === 0 ? "" : undefined}
343
+ {...props}
344
+ />,
345
+ render
346
+ )
347
+ }
348
+
349
+ /** Shown only while there is a value; the script keeps it in a template otherwise. */
350
+ function ComboboxClearElement({
351
+ type = "button",
352
+ render,
353
+ ...props
354
+ }: ComponentProps<"button", RenderProp>) {
355
+ const state = useComboboxContext()
356
+ const button = renderElement(
357
+ <button
358
+ type={type}
359
+ tabindex={-1}
360
+ aria-label="Clear selection"
361
+ disabled={state.disabled || undefined}
362
+ data-combobox={state.id}
363
+ data-combobox-clear=""
364
+ {...props}
365
+ />,
366
+ render
367
+ )
368
+ return state.selected.length > 0 ? (
369
+ button
370
+ ) : (
371
+ <template data-combobox-clear={state.id}>{button}</template>
372
+ )
373
+ }
374
+
375
+ function ComboboxInputElement({
376
+ render,
377
+ style,
378
+ ...props
379
+ }: ComponentProps<"input", RenderProp>) {
380
+ const state = useComboboxContext()
381
+ return renderElement(
382
+ <input
383
+ id={`${state.id}-input`}
384
+ autocomplete="off"
385
+ spellcheck={false}
386
+ autocorrect="off"
387
+ autocapitalize="none"
388
+ role="combobox"
389
+ aria-expanded="false"
390
+ aria-haspopup="listbox"
391
+ aria-autocomplete="list"
392
+ value={state.multiple ? "" : state.selected.map(state.label).join("")}
393
+ disabled={state.disabled || undefined}
394
+ data-combobox={state.id}
395
+ data-combobox-input=""
396
+ style={withStyle(style, { "anchor-name": state.anchor })}
397
+ {...props}
398
+ />,
399
+ render
400
+ )
401
+ }
402
+
403
+ function ComboboxPortalElement({ children }: { children?: Child }) {
404
+ return <>{children}</>
405
+ }
406
+
407
+ /** A CSS anchor shared by `ComboboxChips` (`ref`) and `ComboboxContent` (`anchor`). */
408
+ interface ComboboxAnchor {
409
+ readonly name: string
410
+ }
411
+
412
+ function createComboboxAnchor(): ComboboxAnchor {
413
+ return { name: `--combobox-anchor${useId().replaceAll(":", "-")}` }
414
+ }
415
+
416
+ type ComboboxPositionerProps = AnchorPositionerProps & {
417
+ anchor?: ComboboxAnchor | null | undefined
418
+ }
419
+
420
+ function ComboboxPositionerElement({
421
+ anchor,
422
+ ...props
423
+ }: ComboboxPositionerProps) {
424
+ return (
425
+ <ComboboxAnchorContext.Provider value={anchor?.name ?? null}>
426
+ <AnchorPositioner {...props} />
427
+ </ComboboxAnchorContext.Provider>
428
+ )
429
+ }
430
+
431
+ function ComboboxPopupElement({ style, ...props }: ComponentProps<"div">) {
432
+ const state = useComboboxContext()
433
+ const placement = useContext(AnchorPlacementContext)
434
+ const anchor = useContext(ComboboxAnchorContext) ?? state.anchor
435
+ return (
436
+ <div
437
+ id={`${state.id}-popup`}
438
+ popover="manual"
439
+ role="presentation"
440
+ data-side={placement.side}
441
+ data-align={placement.align}
442
+ data-combobox={state.id}
443
+ data-combobox-popup=""
444
+ style={withStyle(style, anchorPlacementStyle(anchor, placement))}
445
+ {...props}
446
+ />
447
+ )
448
+ }
449
+
450
+ type ComboboxListProps = ComponentProps<"div"> & {
451
+ children?: Child | ComboboxItemRenderer
452
+ }
453
+
454
+ function ComboboxListElement({ children, ...props }: ComboboxListProps) {
455
+ const state = useComboboxContext()
456
+ return (
457
+ <div
458
+ id={`${state.id}-list`}
459
+ role="listbox"
460
+ tabindex={-1}
461
+ aria-multiselectable={state.multiple ? "true" : undefined}
462
+ {...props}
463
+ >
464
+ {typeof children === "function"
465
+ ? state.items.map((item, index) => children(item, index))
466
+ : children}
467
+ </div>
468
+ )
469
+ }
470
+
471
+ type ComboboxItemProps = ComponentProps<"div", RenderProp> & {
472
+ value?: unknown
473
+ disabled?: boolean | undefined
474
+ }
475
+
476
+ function ComboboxItemElement({
477
+ value,
478
+ disabled,
479
+ render,
480
+ ...props
481
+ }: ComboboxItemProps) {
482
+ const state = useComboboxContext()
483
+ const index = state.rendered++
484
+ const itemValue = state.value(value)
485
+ const selected = state.selected.some(
486
+ (item) => state.value(item) === itemValue
487
+ )
488
+ return (
489
+ <ComboboxItemContext.Provider value={selected}>
490
+ {renderElement(
491
+ <div
492
+ id={`${state.id}-option-${index}`}
493
+ role="option"
494
+ aria-selected={selected ? "true" : "false"}
495
+ aria-disabled={disabled ? "true" : undefined}
496
+ data-selected={selected ? "" : undefined}
497
+ data-disabled={disabled ? "" : undefined}
498
+ data-value={itemValue}
499
+ data-label={state.label(value)}
500
+ {...props}
501
+ />,
502
+ render
503
+ )}
504
+ </ComboboxItemContext.Provider>
505
+ )
506
+ }
507
+
508
+ /** Rendered hidden unless its item is selected; the script toggles it. */
509
+ function ComboboxItemIndicatorElement({
510
+ render,
511
+ ...props
512
+ }: ComponentProps<"span", RenderProp>) {
513
+ const selected = useContext(ComboboxItemContext)
514
+ return renderElement(
515
+ <span
516
+ aria-hidden="true"
517
+ hidden={!selected}
518
+ data-selected={selected ? "" : undefined}
519
+ data-combobox-indicator=""
520
+ {...props}
521
+ />,
522
+ render
523
+ )
524
+ }
525
+
526
+ type ComboboxGroupProps = ComponentProps<"div"> & {
527
+ /** The group's items, for `ComboboxCollection`. */
528
+ items?: readonly unknown[] | undefined
529
+ }
530
+
531
+ function ComboboxGroupElement({ items, ...props }: ComboboxGroupProps) {
532
+ const labelId = `${useComboboxContext().id}-group${useId().replaceAll(":", "-")}`
533
+ return (
534
+ <ComboboxGroupContext.Provider value={{ labelId, items }}>
535
+ <div role="group" aria-labelledby={labelId} {...props} />
536
+ </ComboboxGroupContext.Provider>
537
+ )
538
+ }
539
+
540
+ function ComboboxGroupLabelElement(props: ComponentProps<"div">) {
541
+ return <div id={useContext(ComboboxGroupContext)?.labelId} {...props} />
542
+ }
543
+
544
+ function ComboboxCollectionElement({
545
+ children,
546
+ }: {
547
+ children?: Child | ComboboxItemRenderer
548
+ }) {
549
+ const state = useComboboxContext()
550
+ const items = useContext(ComboboxGroupContext)?.items ?? state.items
551
+ return (
552
+ <>
553
+ {typeof children === "function"
554
+ ? items.map((item, index) => children(item, index))
555
+ : children}
556
+ </>
557
+ )
558
+ }
559
+
560
+ /** Its content shows while no item matches; the script copies it from the template. */
561
+ function ComboboxEmptyElement({ children, ...props }: ComponentProps<"div">) {
562
+ const state = useComboboxContext()
563
+ const empty = state.filtering && state.items.length === 0
564
+ return (
565
+ <div
566
+ role="status"
567
+ aria-live="polite"
568
+ aria-atomic="true"
569
+ data-combobox-empty=""
570
+ {...props}
571
+ >
572
+ <template>{children}</template>
573
+ {empty ? children : null}
574
+ </div>
575
+ )
576
+ }
577
+
578
+ function ComboboxSeparatorElement(props: ComponentProps<"div">) {
579
+ return <div role="separator" aria-orientation="horizontal" {...props} />
580
+ }
581
+
582
+ type ComboboxChipsProps = ComponentProps<"div"> & {
583
+ /** From `useComboboxAnchor()`: places `ComboboxContent` under the chips. */
584
+ ref?: ComboboxAnchor | null | undefined
585
+ }
586
+
587
+ function ComboboxChipsElement({ ref, style, ...props }: ComboboxChipsProps) {
588
+ const state = useComboboxContext()
589
+ return (
590
+ <div
591
+ role="toolbar"
592
+ data-combobox={state.id}
593
+ data-combobox-chips=""
594
+ style={ref ? withStyle(style, { "anchor-name": ref.name }) : style}
595
+ {...props}
596
+ />
597
+ )
598
+ }
599
+
600
+ function ComboboxChipElement(props: ComponentProps<"div">) {
601
+ return <div tabindex={-1} data-combobox-chip="" {...props} />
602
+ }
603
+
604
+ function ComboboxChipRemoveElement({
605
+ type = "button",
606
+ render,
607
+ ...props
608
+ }: ComponentProps<"button", RenderProp>) {
609
+ return renderElement(
610
+ <button
611
+ type={type}
612
+ tabindex={-1}
613
+ aria-label="Remove"
614
+ data-combobox-chip-remove=""
615
+ {...props}
616
+ />,
617
+ render
618
+ )
619
+ }
620
+
621
+ type AnchorSide =
622
+ | "top"
623
+ | "bottom"
624
+ | "left"
625
+ | "right"
626
+ | "inline-start"
627
+ | "inline-end"
628
+
629
+ type AnchorAlign = "start" | "center" | "end"
630
+
631
+ interface AnchorPlacement {
632
+ side: AnchorSide
633
+ align: AnchorAlign
634
+ sideOffset: number
635
+ alignOffset: number
636
+ }
637
+
638
+ type AnchorPositionerProps = {
639
+ side?: AnchorSide | undefined
640
+ align?: AnchorAlign | undefined
641
+ sideOffset?: number | undefined
642
+ alignOffset?: number | undefined
643
+ class?: string | undefined
644
+ children?: Child
645
+ }
646
+
647
+ const AnchorPlacementContext = createContext<AnchorPlacement>({
648
+ side: "bottom",
649
+ align: "center",
650
+ sideOffset: 0,
651
+ alignOffset: 0,
652
+ })
653
+
654
+ /** Placement for the popup inside; the popup itself is positioned with CSS. */
655
+ function AnchorPositioner({
656
+ side = "bottom",
657
+ align = "center",
658
+ sideOffset = 0,
659
+ alignOffset = 0,
660
+ children,
661
+ }: AnchorPositionerProps) {
662
+ return (
663
+ <AnchorPlacementContext.Provider
664
+ value={{ side, align, sideOffset, alignOffset }}
665
+ >
666
+ {children}
667
+ </AnchorPlacementContext.Provider>
668
+ )
669
+ }
670
+
671
+ /** Inline styles that anchor a popup to `anchor` like Base UI's positioner. */
672
+ function anchorPlacementStyle(
673
+ anchor: string,
674
+ p: AnchorPlacement
675
+ ): Record<string, string> {
676
+ const block = p.side === "top" || p.side === "bottom"
677
+ const logical = p.side === "inline-start" || p.side === "inline-end"
678
+ const span = block
679
+ ? { start: "span-x-end", center: "", end: "span-x-start" }[p.align]
680
+ : logical
681
+ ? { start: "span-block-end", center: "", end: "span-block-start" }[
682
+ p.align
683
+ ]
684
+ : { start: "span-y-end", center: "", end: "span-y-start" }[p.align]
685
+ const toward = {
686
+ top: "margin-bottom",
687
+ bottom: "margin-top",
688
+ left: "margin-right",
689
+ right: "margin-left",
690
+ "inline-start": "margin-inline-end",
691
+ "inline-end": "margin-inline-start",
692
+ }[p.side]
693
+ const across = block
694
+ ? p.align === "end"
695
+ ? "margin-inline-end"
696
+ : "margin-inline-start"
697
+ : p.align === "end"
698
+ ? "margin-block-end"
699
+ : "margin-block-start"
700
+ const edge = { start: "0%", center: "50%", end: "100%" }[p.align]
701
+ const origin = {
702
+ top: `${edge} 100%`,
703
+ bottom: `${edge} 0%`,
704
+ left: `100% ${edge}`,
705
+ right: `0% ${edge}`,
706
+ "inline-start": `100% ${edge}`,
707
+ "inline-end": `0% ${edge}`,
708
+ }[p.side]
709
+ return {
710
+ "position-anchor": anchor,
711
+ "position-area": [p.side, span].filter(Boolean).join(" "),
712
+ "position-try-fallbacks": block ? "flip-block" : "flip-inline",
713
+ [toward]: `${p.sideOffset}px`,
714
+ // A centered popup is centered with its margins, so a start margin of
715
+ // twice the offset shifts it by the offset: toward the end of the line
716
+ // (mirrored in right-to-left text, like Base UI) or down.
717
+ ...(p.alignOffset === 0
718
+ ? {}
719
+ : p.align === "center"
720
+ ? {
721
+ [block ? "margin-inline-start" : "margin-block-start"]:
722
+ `${2 * p.alignOffset}px`,
723
+ }
724
+ : { [across]: `${p.alignOffset}px` }),
725
+ "--transform-origin": origin,
726
+ // Base UI's size variables for popup classes (`w-(--anchor-width)`, ...).
727
+ "--anchor-width": "anchor-size(width)",
728
+ "--anchor-height": "anchor-size(height)",
729
+ "--available-width": "100%",
730
+ "--available-height": "100%",
731
+ }
732
+ }
733
+
734
+ /** Adds `extra` declarations to a string or object `style` prop (the prop wins). */
735
+ function withStyle(
736
+ style: string | JSX.CSSProperties | undefined,
737
+ extra: Record<string, string>
738
+ ): string | JSX.CSSProperties {
739
+ if (typeof style === "string") {
740
+ const css = Object.entries(extra).map(([key, value]) => `${key}:${value}`)
741
+ return [...css, style].join(";")
742
+ }
743
+ return { ...extra, ...style }
744
+ }
745
+
746
+ const Combobox = ComboboxRootElement
747
+
748
+ function ComboboxValue({ ...props }: ComboboxValueProps) {
749
+ return <ComboboxValueElement data-slot="combobox-value" {...props} />
750
+ }
751
+
752
+ function ComboboxTrigger({
753
+ class: className,
754
+ children,
755
+ ...props
756
+ }: ComponentProps<"button", RenderProp>) {
757
+ return (
758
+ <ComboboxTriggerElement
759
+ data-slot="combobox-trigger"
760
+ class={cn("[&_svg:not([class*='size-'])]:size-3.5", className)}
761
+ {...props}
762
+ >
763
+ {children}
764
+ <ChevronDownIcon class="pointer-events-none size-3.5 text-muted-foreground" />
765
+ </ComboboxTriggerElement>
766
+ )
767
+ }
768
+
769
+ function ComboboxClear({
770
+ class: className,
771
+ ...props
772
+ }: ComponentProps<"button", RenderProp>) {
773
+ return (
774
+ <ComboboxClearElement
775
+ data-slot="combobox-clear"
776
+ render={<InputGroupButton variant="ghost" size="icon-xs" />}
777
+ class={cn(className)}
778
+ {...props}
779
+ >
780
+ <XIcon class="pointer-events-none" />
781
+ </ComboboxClearElement>
782
+ )
783
+ }
784
+
785
+ function ComboboxInput({
786
+ class: className,
787
+ children,
788
+ disabled = false,
789
+ showTrigger = true,
790
+ showClear = false,
791
+ ...props
792
+ }: ComponentProps<"input", RenderProp> & {
793
+ showTrigger?: boolean
794
+ showClear?: boolean
795
+ }) {
796
+ return (
797
+ <InputGroup class={cn("w-auto", className)}>
798
+ <ComboboxInputElement
799
+ render={<InputGroupInput disabled={disabled} />}
800
+ {...props}
801
+ />
802
+ <InputGroupAddon align="inline-end">
803
+ {showTrigger && (
804
+ <InputGroupButton
805
+ size="icon-xs"
806
+ variant="ghost"
807
+ render={<ComboboxTrigger />}
808
+ data-slot="input-group-button"
809
+ class="group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent"
810
+ disabled={disabled}
811
+ />
812
+ )}
813
+ {showClear && <ComboboxClear disabled={disabled} />}
814
+ </InputGroupAddon>
815
+ {children}
816
+ </InputGroup>
817
+ )
818
+ }
819
+
820
+ function ComboboxContent({
821
+ class: className,
822
+ side = "bottom",
823
+ sideOffset = 6,
824
+ align = "start",
825
+ alignOffset = 0,
826
+ anchor,
827
+ ...props
828
+ }: ComponentProps<"div"> &
829
+ Pick<
830
+ ComboboxPositionerProps,
831
+ "side" | "align" | "sideOffset" | "alignOffset" | "anchor"
832
+ >) {
833
+ return (
834
+ <ComboboxPortalElement>
835
+ <ComboboxPositionerElement
836
+ side={side}
837
+ sideOffset={sideOffset}
838
+ align={align}
839
+ alignOffset={alignOffset}
840
+ anchor={anchor}
841
+ class="isolate z-50"
842
+ >
843
+ <ComboboxPopupElement
844
+ data-slot="combobox-content"
845
+ data-chips={!!anchor}
846
+ class={cn(
847
+ "m-auto supports-[position-area:bottom]:m-0",
848
+ "group/combobox-content relative max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+--spacing(7))] origin-(--transform-origin) overflow-hidden rounded-none bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[chips=true]:min-w-(--anchor-width) data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 *:data-[slot=input-group]:m-1.5 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:border-transparent *:data-[slot=input-group]:bg-transparent *:data-[slot=input-group]:px-2.5 *:data-[slot=input-group]:focus-within:border-transparent open:animate-in open:fade-in-0 open:zoom-in-95 not-open:animate-out not-open:fade-out-0 not-open:zoom-out-95 not-open:hidden transition-[display,overlay] transition-discrete",
849
+ className
850
+ )}
851
+ {...props}
852
+ />
853
+ </ComboboxPositionerElement>
854
+ </ComboboxPortalElement>
855
+ )
856
+ }
857
+
858
+ function ComboboxList({ class: className, ...props }: ComboboxListProps) {
859
+ return (
860
+ <ComboboxListElement
861
+ data-slot="combobox-list"
862
+ class={cn(
863
+ "no-scrollbar max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1.5 overflow-y-auto overscroll-contain p-1.5 data-empty:p-0",
864
+ className
865
+ )}
866
+ {...props}
867
+ />
868
+ )
869
+ }
870
+
871
+ function ComboboxItem({
872
+ class: className,
873
+ children,
874
+ ...props
875
+ }: ComboboxItemProps) {
876
+ return (
877
+ <ComboboxItemElement
878
+ data-slot="combobox-item"
879
+ class={cn(
880
+ "relative flex w-full cursor-default items-center gap-2.5 rounded-none py-2 pe-8 ps-3 text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5",
881
+ className
882
+ )}
883
+ {...props}
884
+ >
885
+ {children}
886
+ <ComboboxItemIndicatorElement
887
+ render={
888
+ <span class="pointer-events-none absolute end-2 flex size-4 items-center justify-center" />
889
+ }
890
+ >
891
+ <CheckIcon class="pointer-events-none" />
892
+ </ComboboxItemIndicatorElement>
893
+ </ComboboxItemElement>
894
+ )
895
+ }
896
+
897
+ function ComboboxGroup({ class: className, ...props }: ComboboxGroupProps) {
898
+ return (
899
+ <ComboboxGroupElement
900
+ data-slot="combobox-group"
901
+ class={cn(className)}
902
+ {...props}
903
+ />
904
+ )
905
+ }
906
+
907
+ function ComboboxLabel({ class: className, ...props }: ComponentProps<"div">) {
908
+ return (
909
+ <ComboboxGroupLabelElement
910
+ data-slot="combobox-label"
911
+ class={cn(
912
+ "px-3 py-2 text-xs font-semibold tracking-wider text-muted-foreground uppercase",
913
+ className
914
+ )}
915
+ {...props}
916
+ />
917
+ )
918
+ }
919
+
920
+ function ComboboxCollection({
921
+ ...props
922
+ }: {
923
+ children?: Child | ComboboxItemRenderer
924
+ }) {
925
+ return (
926
+ <ComboboxCollectionElement data-slot="combobox-collection" {...props} />
927
+ )
928
+ }
929
+
930
+ function ComboboxEmpty({ class: className, ...props }: ComponentProps<"div">) {
931
+ return (
932
+ <ComboboxEmptyElement
933
+ data-slot="combobox-empty"
934
+ class={cn(
935
+ "hidden w-full justify-center py-2 text-center text-sm text-muted-foreground group-data-empty/combobox-content:flex",
936
+ className
937
+ )}
938
+ {...props}
939
+ />
940
+ )
941
+ }
942
+
943
+ function ComboboxSeparator({
944
+ class: className,
945
+ ...props
946
+ }: ComponentProps<"div">) {
947
+ return (
948
+ <ComboboxSeparatorElement
949
+ data-slot="combobox-separator"
950
+ class={cn("-mx-1.5 my-1.5 h-px bg-border/50", className)}
951
+ {...props}
952
+ />
953
+ )
954
+ }
955
+
956
+ function ComboboxChips({ class: className, ...props }: ComboboxChipsProps) {
957
+ return (
958
+ <ComboboxChipsElement
959
+ data-slot="combobox-chips"
960
+ class={cn(
961
+ "flex min-h-10 flex-wrap items-center gap-1.5 rounded-none border border-transparent border-b-input bg-transparent bg-clip-padding px-0 py-1.5 text-sm transition-[color,border-color] focus-within:border-b-ring has-aria-invalid:border-b-destructive has-data-[slot=combobox-chip]:px-0 dark:has-aria-invalid:border-b-destructive/50",
962
+ className
963
+ )}
964
+ {...props}
965
+ />
966
+ )
967
+ }
968
+
969
+ function ComboboxChip({
970
+ class: className,
971
+ children,
972
+ showRemove = true,
973
+ ...props
974
+ }: ComponentProps<"div"> & {
975
+ showRemove?: boolean
976
+ }) {
977
+ return (
978
+ <ComboboxChipElement
979
+ data-slot="combobox-chip"
980
+ class={cn(
981
+ "flex h-[calc(--spacing(5.5))] w-fit items-center justify-center gap-1 rounded-none bg-muted px-2 text-xs font-medium whitespace-nowrap text-foreground has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pe-0",
982
+ className
983
+ )}
984
+ {...props}
985
+ >
986
+ {children}
987
+ {showRemove && (
988
+ <ComboboxChipRemoveElement
989
+ render={<Button variant="ghost" size="icon-xs" />}
990
+ class="-ms-1 opacity-50 hover:opacity-100"
991
+ data-slot="combobox-chip-remove"
992
+ >
993
+ <XIcon class="pointer-events-none" />
994
+ </ComboboxChipRemoveElement>
995
+ )}
996
+ </ComboboxChipElement>
997
+ )
998
+ }
999
+
1000
+ function ComboboxChipsInput({
1001
+ class: className,
1002
+ ...props
1003
+ }: ComponentProps<"input", RenderProp>) {
1004
+ return (
1005
+ <ComboboxInputElement
1006
+ data-slot="combobox-chip-input"
1007
+ class={cn("min-w-16 flex-1 outline-none", className)}
1008
+ {...props}
1009
+ />
1010
+ )
1011
+ }
1012
+
1013
+ function useComboboxAnchor() {
1014
+ return createComboboxAnchor()
1015
+ }
1016
+ // icon-helper
1017
+ /** Like lucide-react, icons are hidden from assistive technology unless labelled. */
1018
+ function hasA11yProp(props: object): boolean {
1019
+ return Object.keys(props).some(
1020
+ (key) => key.startsWith("aria-") || key === "role" || key === "title"
1021
+ )
1022
+ }
1023
+
1024
+ // icon: {"lucide":"CheckIcon","tabler":"IconCheck","hugeicons":"Tick02Icon","phosphor":"CheckIcon","remixicon":"RiCheckLine"}
1025
+ /** Lucide `check` icon, inlined (ISC License, see LICENSE-shadcnui-hono-jsx.txt). */
1026
+ function CheckIcon({
1027
+ class: className,
1028
+ children,
1029
+ ...props
1030
+ }: ComponentProps<"svg">) {
1031
+ return (
1032
+ <svg
1033
+ xmlns="http://www.w3.org/2000/svg"
1034
+ width="24"
1035
+ height="24"
1036
+ viewBox="0 0 24 24"
1037
+ fill="none"
1038
+ stroke="currentColor"
1039
+ stroke-width="2"
1040
+ stroke-linecap="round"
1041
+ stroke-linejoin="round"
1042
+ class={cn("lucide lucide-check", className)}
1043
+ aria-hidden={children || hasA11yProp(props) ? undefined : "true"}
1044
+ {...props}
1045
+ >
1046
+ <path d="M20 6 9 17l-5-5" />
1047
+ {children}
1048
+ </svg>
1049
+ )
1050
+ }
1051
+
1052
+ // icon: {"lucide":"ChevronDownIcon","tabler":"IconChevronDown","hugeicons":"ArrowDown01Icon","phosphor":"CaretDownIcon","remixicon":"RiArrowDownSLine"}
1053
+ /** Lucide `chevron-down` icon, inlined (ISC License, see LICENSE-shadcnui-hono-jsx.txt). */
1054
+ function ChevronDownIcon({
1055
+ class: className,
1056
+ children,
1057
+ ...props
1058
+ }: ComponentProps<"svg">) {
1059
+ return (
1060
+ <svg
1061
+ xmlns="http://www.w3.org/2000/svg"
1062
+ width="24"
1063
+ height="24"
1064
+ viewBox="0 0 24 24"
1065
+ fill="none"
1066
+ stroke="currentColor"
1067
+ stroke-width="2"
1068
+ stroke-linecap="round"
1069
+ stroke-linejoin="round"
1070
+ class={cn("lucide lucide-chevron-down", className)}
1071
+ aria-hidden={children || hasA11yProp(props) ? undefined : "true"}
1072
+ {...props}
1073
+ >
1074
+ <path d="m6 9 6 6 6-6" />
1075
+ {children}
1076
+ </svg>
1077
+ )
1078
+ }
1079
+
1080
+ // icon: {"lucide":"XIcon","tabler":"IconX","hugeicons":"Cancel01Icon","phosphor":"XIcon","remixicon":"RiCloseLine"}
1081
+ /** Lucide `x` icon, inlined (ISC License, see LICENSE-shadcnui-hono-jsx.txt). */
1082
+ function XIcon({
1083
+ class: className,
1084
+ children,
1085
+ ...props
1086
+ }: ComponentProps<"svg">) {
1087
+ return (
1088
+ <svg
1089
+ xmlns="http://www.w3.org/2000/svg"
1090
+ width="24"
1091
+ height="24"
1092
+ viewBox="0 0 24 24"
1093
+ fill="none"
1094
+ stroke="currentColor"
1095
+ stroke-width="2"
1096
+ stroke-linecap="round"
1097
+ stroke-linejoin="round"
1098
+ class={cn("lucide lucide-x", className)}
1099
+ aria-hidden={children || hasA11yProp(props) ? undefined : "true"}
1100
+ {...props}
1101
+ >
1102
+ <path d="M18 6 6 18" />
1103
+ <path d="m6 6 12 12" />
1104
+ {children}
1105
+ </svg>
1106
+ )
1107
+ }
1108
+
1109
+ export {
1110
+ Combobox,
1111
+ ComboboxChip,
1112
+ ComboboxChips,
1113
+ ComboboxChipsInput,
1114
+ ComboboxCollection,
1115
+ ComboboxContent,
1116
+ ComboboxEmpty,
1117
+ ComboboxGroup,
1118
+ ComboboxInput,
1119
+ ComboboxItem,
1120
+ ComboboxLabel,
1121
+ ComboboxList,
1122
+ ComboboxSeparator,
1123
+ ComboboxTrigger,
1124
+ ComboboxValue,
1125
+ useComboboxAnchor,
1126
+ }