tembro 2.0.3 → 2.0.5

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 (579) hide show
  1. package/dist/components/actions/action-menu.cjs +1 -1
  2. package/dist/components/actions/action-menu.d.ts +13 -1
  3. package/dist/components/actions/action-menu.js +87 -61
  4. package/dist/components/actions/button-group.cjs +1 -1
  5. package/dist/components/actions/button-group.d.ts +9 -1
  6. package/dist/components/actions/button-group.js +58 -14
  7. package/dist/components/actions/copy-button.cjs +1 -1
  8. package/dist/components/actions/copy-button.d.ts +2 -1
  9. package/dist/components/actions/copy-button.js +13 -11
  10. package/dist/components/calendar/calendar.cjs +1 -1
  11. package/dist/components/calendar/calendar.d.ts +14 -1
  12. package/dist/components/calendar/calendar.js +207 -128
  13. package/dist/components/calendar/date-picker.cjs +1 -1
  14. package/dist/components/calendar/date-picker.d.ts +3 -1
  15. package/dist/components/calendar/date-picker.js +57 -27
  16. package/dist/components/calendar/date-range-picker.cjs +1 -1
  17. package/dist/components/calendar/date-range-picker.d.ts +10 -1
  18. package/dist/components/calendar/date-range-picker.js +149 -64
  19. package/dist/components/data-table/data-table-toolbar.cjs +1 -1
  20. package/dist/components/data-table/data-table-toolbar.d.ts +5 -1
  21. package/dist/components/data-table/data-table-toolbar.js +36 -23
  22. package/dist/components/data-table/data-table.cjs +1 -1
  23. package/dist/components/data-table/data-table.d.ts +6 -4
  24. package/dist/components/data-table/data-table.js +87 -79
  25. package/dist/components/data-table/demo.cjs +1 -1
  26. package/dist/components/data-table/demo.js +3 -13
  27. package/dist/components/data-table/index.cjs +1 -1
  28. package/dist/components/data-table/index.js +5 -5
  29. package/dist/components/data-table/public.cjs +1 -1
  30. package/dist/components/data-table/public.d.ts +1 -6
  31. package/dist/components/data-table/public.js +7 -12
  32. package/dist/components/display/activity-feed.cjs +1 -1
  33. package/dist/components/display/activity-feed.d.ts +12 -1
  34. package/dist/components/display/activity-feed.js +69 -47
  35. package/dist/components/display/carousel.cjs +1 -1
  36. package/dist/components/display/carousel.d.ts +10 -1
  37. package/dist/components/display/carousel.js +68 -23
  38. package/dist/components/display/code-block.cjs +2 -1
  39. package/dist/components/display/code-block.d.ts +3 -1
  40. package/dist/components/display/code-block.js +33 -19
  41. package/dist/components/display/comparison-card.cjs +1 -1
  42. package/dist/components/display/comparison-card.d.ts +3 -3
  43. package/dist/components/display/comparison-card.js +14 -38
  44. package/dist/components/display/data-state.cjs +1 -1
  45. package/dist/components/display/data-state.d.ts +12 -2
  46. package/dist/components/display/data-state.js +80 -42
  47. package/dist/components/display/demo.cjs +1 -1
  48. package/dist/components/display/demo.js +1 -5
  49. package/dist/components/display/index.cjs +1 -1
  50. package/dist/components/display/index.d.ts +0 -8
  51. package/dist/components/display/index.js +21 -29
  52. package/dist/components/feedback/alert.cjs +1 -1
  53. package/dist/components/feedback/alert.d.ts +6 -1
  54. package/dist/components/feedback/alert.js +49 -19
  55. package/dist/components/feedback/index.cjs +1 -1
  56. package/dist/components/feedback/index.d.ts +0 -2
  57. package/dist/components/feedback/index.js +3 -5
  58. package/dist/components/filters/demo.cjs +1 -1
  59. package/dist/components/filters/demo.js +1 -5
  60. package/dist/components/filters/filter-bar.cjs +1 -1
  61. package/dist/components/filters/filter-bar.d.ts +15 -1
  62. package/dist/components/filters/filter-bar.js +94 -50
  63. package/dist/components/filters/index.cjs +1 -1
  64. package/dist/components/filters/index.d.ts +0 -1
  65. package/dist/components/filters/index.js +3 -4
  66. package/dist/components/form/demo.cjs +1 -1
  67. package/dist/components/form/demo.js +1 -2
  68. package/dist/components/form/form-field-shell.cjs +1 -1
  69. package/dist/components/form/form-field-shell.d.ts +17 -3
  70. package/dist/components/form/form-field-shell.js +54 -40
  71. package/dist/components/form/form-input.cjs +1 -1
  72. package/dist/components/form/form-input.js +278 -217
  73. package/dist/components/form/form-select.cjs +1 -1
  74. package/dist/components/form/form-select.js +47 -33
  75. package/dist/components/form/form-switch.cjs +1 -1
  76. package/dist/components/form/form-switch.js +79 -66
  77. package/dist/components/form/form-textarea.cjs +1 -1
  78. package/dist/components/form/form-textarea.js +59 -48
  79. package/dist/components/form/index.cjs +1 -1
  80. package/dist/components/form/index.d.ts +0 -1
  81. package/dist/components/form/index.js +11 -12
  82. package/dist/components/form/public.cjs +1 -1
  83. package/dist/components/form/public.d.ts +0 -9
  84. package/dist/components/form/public.js +7 -16
  85. package/dist/components/inputs/async-select.cjs +1 -1
  86. package/dist/components/inputs/async-select.d.ts +11 -2
  87. package/dist/components/inputs/async-select.js +278 -270
  88. package/dist/components/inputs/combobox.cjs +1 -1
  89. package/dist/components/inputs/combobox.d.ts +5 -1
  90. package/dist/components/inputs/combobox.js +52 -19
  91. package/dist/components/inputs/index.cjs +1 -1
  92. package/dist/components/inputs/index.d.ts +0 -2
  93. package/dist/components/inputs/index.js +3 -5
  94. package/dist/components/inputs/public.cjs +1 -1
  95. package/dist/components/inputs/public.d.ts +0 -2
  96. package/dist/components/inputs/public.js +3 -5
  97. package/dist/components/inputs/simple-select.cjs +1 -1
  98. package/dist/components/inputs/simple-select.d.ts +2 -1
  99. package/dist/components/inputs/simple-select.js +32 -16
  100. package/dist/components/layout/app-sidebar.cjs +1 -1
  101. package/dist/components/layout/app-sidebar.d.ts +4 -1
  102. package/dist/components/layout/app-sidebar.js +152 -132
  103. package/dist/components/layout/breadcrumbs.cjs +1 -1
  104. package/dist/components/layout/breadcrumbs.d.ts +2 -1
  105. package/dist/components/layout/breadcrumbs.js +10 -10
  106. package/dist/components/layout/index.cjs +1 -1
  107. package/dist/components/layout/index.d.ts +0 -1
  108. package/dist/components/layout/index.js +4 -5
  109. package/dist/components/layout/public.cjs +1 -1
  110. package/dist/components/layout/public.d.ts +0 -1
  111. package/dist/components/layout/public.js +2 -3
  112. package/dist/components/layout/stat-card.cjs +1 -1
  113. package/dist/components/layout/stat-card.d.ts +8 -1
  114. package/dist/components/layout/stat-card.js +33 -11
  115. package/dist/components/modern/calendar-scheduler.cjs +1 -1
  116. package/dist/components/modern/calendar-scheduler.d.ts +2 -1
  117. package/dist/components/modern/calendar-scheduler.js +21 -12
  118. package/dist/components/modern/index.cjs +1 -1
  119. package/dist/components/modern/index.d.ts +0 -4
  120. package/dist/components/modern/index.js +12 -16
  121. package/dist/components/overlay/alert-dialog.cjs +1 -1
  122. package/dist/components/overlay/alert-dialog.d.ts +15 -1
  123. package/dist/components/overlay/alert-dialog.js +102 -27
  124. package/dist/components/overlay/drawer.cjs +1 -1
  125. package/dist/components/overlay/drawer.d.ts +4 -1
  126. package/dist/components/overlay/drawer.js +20 -17
  127. package/dist/components/patterns/index.cjs +1 -1
  128. package/dist/components/patterns/index.d.ts +0 -1
  129. package/dist/components/patterns/index.js +1 -2
  130. package/dist/components/patterns/public.cjs +1 -1
  131. package/dist/components/patterns/public.d.ts +0 -1
  132. package/dist/components/patterns/public.js +1 -2
  133. package/dist/components/ui/button/index.cjs +1 -1
  134. package/dist/components/ui/button/index.d.ts +3 -1
  135. package/dist/components/ui/button/index.js +7 -5
  136. package/dist/components/ui/checkbox/index.cjs +1 -1
  137. package/dist/components/ui/checkbox/index.d.ts +8 -0
  138. package/dist/components/ui/checkbox/index.js +16 -14
  139. package/dist/components/ui/collapse/index.cjs +1 -1
  140. package/dist/components/ui/collapse/index.d.ts +17 -3
  141. package/dist/components/ui/collapse/index.js +88 -33
  142. package/dist/components/ui/dialog/index.cjs +1 -1
  143. package/dist/components/ui/dialog/index.d.ts +2 -1
  144. package/dist/components/ui/dialog/index.js +6 -4
  145. package/dist/components/ui/dropdown-menu/index.cjs +1 -1
  146. package/dist/components/ui/dropdown-menu/index.d.ts +9 -4
  147. package/dist/components/ui/dropdown-menu/index.js +87 -62
  148. package/dist/index.cjs +1 -1
  149. package/dist/index.js +145 -177
  150. package/dist/public-component-surface.cjs +1 -1
  151. package/dist/public-component-surface.js +0 -80
  152. package/dist/showcase/component-api-schema.cjs +1 -1
  153. package/dist/showcase/component-api-schema.js +2 -2
  154. package/dist/showcase/create-demo.cjs +20 -34
  155. package/dist/showcase/create-demo.js +15 -16
  156. package/dist/showcase/fallback.cjs +3 -3
  157. package/dist/showcase/fallback.js +287 -451
  158. package/dist/showcase/premium/accordion/showcase.cjs +1 -1
  159. package/dist/showcase/premium/accordion/showcase.js +36 -5
  160. package/dist/showcase/premium/action-menu/showcase.cjs +1 -1
  161. package/dist/showcase/premium/action-menu/showcase.js +26 -8
  162. package/dist/showcase/premium/activity-feed/showcase.cjs +1 -1
  163. package/dist/showcase/premium/activity-feed/showcase.js +60 -36
  164. package/dist/showcase/premium/alert/showcase.cjs +1 -1
  165. package/dist/showcase/premium/alert/showcase.js +41 -18
  166. package/dist/showcase/premium/alert-dialog/showcase.cjs +1 -1
  167. package/dist/showcase/premium/alert-dialog/showcase.js +35 -7
  168. package/dist/showcase/premium/async-multi-select/mock.cjs +4 -3
  169. package/dist/showcase/premium/async-multi-select/mock.js +5 -5
  170. package/dist/showcase/premium/async-multi-select/showcase.cjs +1 -1
  171. package/dist/showcase/premium/async-multi-select/showcase.js +4 -3
  172. package/dist/showcase/premium/async-select/mock.cjs +1 -1
  173. package/dist/showcase/premium/async-select/mock.js +1 -1
  174. package/dist/showcase/premium/async-select/showcase.cjs +1 -1
  175. package/dist/showcase/premium/async-select/showcase.js +69 -22
  176. package/dist/showcase/premium/button/showcase.cjs +1 -1
  177. package/dist/showcase/premium/button/showcase.js +49 -3
  178. package/dist/showcase/premium/button-group/showcase.cjs +1 -1
  179. package/dist/showcase/premium/button-group/showcase.js +53 -29
  180. package/dist/showcase/premium/calendar/showcase.cjs +1 -1
  181. package/dist/showcase/premium/calendar/showcase.js +7 -2
  182. package/dist/showcase/premium/carousel/showcase.cjs +1 -1
  183. package/dist/showcase/premium/carousel/showcase.js +95 -47
  184. package/dist/showcase/premium/checkbox/showcase.cjs +1 -1
  185. package/dist/showcase/premium/checkbox/showcase.js +143 -67
  186. package/dist/showcase/premium/clearable-input/mock.cjs +4 -3
  187. package/dist/showcase/premium/clearable-input/mock.js +3 -2
  188. package/dist/showcase/premium/clearable-input/showcase.cjs +1 -1
  189. package/dist/showcase/premium/clearable-input/showcase.js +8 -2
  190. package/dist/showcase/premium/collapse/showcase.cjs +1 -1
  191. package/dist/showcase/premium/collapse/showcase.js +7 -0
  192. package/dist/showcase/premium/combobox/showcase.cjs +1 -1
  193. package/dist/showcase/premium/combobox/showcase.d.ts +2 -1
  194. package/dist/showcase/premium/combobox/showcase.js +56 -47
  195. package/dist/showcase/premium/data-table/showcase.cjs +1 -1
  196. package/dist/showcase/premium/data-table/showcase.js +138 -46
  197. package/dist/showcase/premium/data-table-parts/showcase.cjs +1 -1
  198. package/dist/showcase/premium/data-table-parts/showcase.js +13 -13
  199. package/dist/showcase/premium/date-input/mock.cjs +1 -1
  200. package/dist/showcase/premium/date-input/mock.js +1 -1
  201. package/dist/showcase/premium/date-range-picker/showcase.cjs +1 -1
  202. package/dist/showcase/premium/date-range-picker/showcase.js +32 -1
  203. package/dist/showcase/premium/dropdown-menu/showcase.cjs +1 -1
  204. package/dist/showcase/premium/dropdown-menu/showcase.js +88 -54
  205. package/dist/showcase/premium/form-wrapper/mock.cjs +41 -15
  206. package/dist/showcase/premium/form-wrapper/mock.js +4 -4
  207. package/dist/showcase/premium/form-wrapper/showcase.cjs +1 -1
  208. package/dist/showcase/premium/form-wrapper/showcase.js +77 -28
  209. package/dist/showcase/premium/index.cjs +1 -1
  210. package/dist/showcase/premium/index.js +467 -574
  211. package/dist/showcase/premium/input/mock.cjs +4 -1
  212. package/dist/showcase/premium/input/mock.js +1 -1
  213. package/dist/showcase/premium/masked-input/mock.cjs +1 -1
  214. package/dist/showcase/premium/masked-input/mock.js +1 -1
  215. package/dist/showcase/premium/money-input/mock.cjs +1 -1
  216. package/dist/showcase/premium/money-input/mock.js +1 -1
  217. package/dist/showcase/premium/number-input/mock.cjs +1 -1
  218. package/dist/showcase/premium/number-input/mock.js +1 -1
  219. package/dist/showcase/premium/phone-input/mock.cjs +1 -1
  220. package/dist/showcase/premium/phone-input/mock.js +1 -1
  221. package/dist/showcase/premium/quantity-input/mock.cjs +1 -1
  222. package/dist/showcase/premium/quantity-input/mock.js +1 -1
  223. package/dist/showcase/premium/simple-select/mock.cjs +1 -1
  224. package/dist/showcase/premium/simple-select/mock.js +1 -1
  225. package/dist/showcase/premium/simple-select/showcase.cjs +1 -1
  226. package/dist/showcase/premium/simple-select/showcase.js +4 -2
  227. package/dist/showcase/preview-catalog.cjs +7 -10
  228. package/dist/showcase/preview-catalog.js +7 -7
  229. package/dist/showcase/registry-quality.cjs +1 -1
  230. package/dist/showcase/registry-quality.js +0 -24
  231. package/dist/showcase/registry-specific.cjs +1 -1
  232. package/dist/showcase/registry-specific.js +149 -383
  233. package/dist/showcase/render-registry-preview.cjs +1 -1
  234. package/dist/showcase/render-registry-preview.js +163 -195
  235. package/dist/showcase/site-data.cjs +1 -1
  236. package/dist/showcase/site-data.js +197 -941
  237. package/dist/showcase/supplemental.cjs +1 -1
  238. package/dist/showcase/supplemental.js +1 -1
  239. package/dist/showcase/tembro-registry.json.cjs +1 -1
  240. package/dist/showcase/tembro-registry.json.js +33 -59
  241. package/package.json +1 -1
  242. package/packages/cli/dist/index.cjs +2 -2
  243. package/packages/cli/vendor/src/components/actions/action-menu.tsx +149 -83
  244. package/packages/cli/vendor/src/components/actions/button-group.tsx +141 -33
  245. package/packages/cli/vendor/src/components/actions/copy-button.tsx +21 -16
  246. package/packages/cli/vendor/src/components/calendar/calendar.tsx +223 -88
  247. package/packages/cli/vendor/src/components/calendar/date-picker.tsx +73 -29
  248. package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +154 -49
  249. package/packages/cli/vendor/src/components/data-table/data-table-toolbar.tsx +71 -50
  250. package/packages/cli/vendor/src/components/data-table/data-table.tsx +65 -53
  251. package/packages/cli/vendor/src/components/data-table/demo.tsx +2 -12
  252. package/packages/cli/vendor/src/components/data-table/public.ts +1 -6
  253. package/packages/cli/vendor/src/components/display/activity-feed.tsx +98 -40
  254. package/packages/cli/vendor/src/components/display/carousel.tsx +88 -2
  255. package/packages/cli/vendor/src/components/display/code-block.tsx +58 -26
  256. package/packages/cli/vendor/src/components/display/comparison-card.tsx +15 -41
  257. package/packages/cli/vendor/src/components/display/data-state.tsx +119 -50
  258. package/packages/cli/vendor/src/components/display/demo.tsx +0 -4
  259. package/packages/cli/vendor/src/components/display/index.ts +0 -8
  260. package/packages/cli/vendor/src/components/feedback/alert.tsx +86 -28
  261. package/packages/cli/vendor/src/components/feedback/index.ts +0 -2
  262. package/packages/cli/vendor/src/components/filters/demo.tsx +0 -1
  263. package/packages/cli/vendor/src/components/filters/filter-bar.tsx +126 -54
  264. package/packages/cli/vendor/src/components/filters/index.ts +0 -1
  265. package/packages/cli/vendor/src/components/form/demo.tsx +0 -1
  266. package/packages/cli/vendor/src/components/form/form-field-shell.tsx +72 -34
  267. package/packages/cli/vendor/src/components/form/form-input.tsx +118 -11
  268. package/packages/cli/vendor/src/components/form/form-select.tsx +26 -3
  269. package/packages/cli/vendor/src/components/form/form-switch.tsx +77 -58
  270. package/packages/cli/vendor/src/components/form/form-textarea.tsx +65 -51
  271. package/packages/cli/vendor/src/components/form/index.ts +0 -1
  272. package/packages/cli/vendor/src/components/form/public.ts +0 -11
  273. package/packages/cli/vendor/src/components/inputs/async-select.tsx +126 -82
  274. package/packages/cli/vendor/src/components/inputs/combobox.tsx +66 -9
  275. package/packages/cli/vendor/src/components/inputs/index.ts +0 -2
  276. package/packages/cli/vendor/src/components/inputs/public.ts +0 -2
  277. package/packages/cli/vendor/src/components/inputs/simple-select.tsx +52 -24
  278. package/packages/cli/vendor/src/components/layout/app-sidebar.tsx +42 -1
  279. package/packages/cli/vendor/src/components/layout/breadcrumbs.tsx +17 -8
  280. package/packages/cli/vendor/src/components/layout/index.ts +0 -1
  281. package/packages/cli/vendor/src/components/layout/public.ts +0 -1
  282. package/packages/cli/vendor/src/components/layout/stat-card.tsx +63 -23
  283. package/packages/cli/vendor/src/components/modern/calendar-scheduler.tsx +32 -22
  284. package/packages/cli/vendor/src/components/modern/index.ts +1 -5
  285. package/packages/cli/vendor/src/components/overlay/alert-dialog.tsx +148 -24
  286. package/packages/cli/vendor/src/components/overlay/drawer.tsx +42 -30
  287. package/packages/cli/vendor/src/components/patterns/index.ts +0 -1
  288. package/packages/cli/vendor/src/components/patterns/public.ts +0 -1
  289. package/packages/cli/vendor/src/components/ui/button/index.tsx +27 -17
  290. package/packages/cli/vendor/src/components/ui/checkbox/index.tsx +22 -5
  291. package/packages/cli/vendor/src/components/ui/collapse/index.tsx +97 -16
  292. package/packages/cli/vendor/src/components/ui/dialog/index.tsx +12 -8
  293. package/packages/cli/vendor/src/components/ui/dropdown-menu/index.tsx +82 -28
  294. package/packages/cli/vendor/src/public-component-surface.ts +0 -16
  295. package/packages/cli/vendor/src/showcase/component-api-schema.ts +2 -2
  296. package/packages/cli/vendor/src/showcase/create-demo.tsx +31 -46
  297. package/packages/cli/vendor/src/showcase/fallback.tsx +83 -263
  298. package/packages/cli/vendor/src/showcase/premium/accordion/showcase.tsx +32 -2
  299. package/packages/cli/vendor/src/showcase/premium/action-menu/showcase.tsx +12 -3
  300. package/packages/cli/vendor/src/showcase/premium/activity-feed/showcase.tsx +15 -2
  301. package/packages/cli/vendor/src/showcase/premium/alert/showcase.tsx +32 -17
  302. package/packages/cli/vendor/src/showcase/premium/alert-dialog/showcase.tsx +28 -3
  303. package/packages/cli/vendor/src/showcase/premium/async-multi-select/mock.ts +6 -5
  304. package/packages/cli/vendor/src/showcase/premium/async-multi-select/showcase.tsx +5 -4
  305. package/packages/cli/vendor/src/showcase/premium/async-select/mock.ts +1 -1
  306. package/packages/cli/vendor/src/showcase/premium/async-select/showcase.tsx +36 -0
  307. package/packages/cli/vendor/src/showcase/premium/button/showcase.tsx +26 -5
  308. package/packages/cli/vendor/src/showcase/premium/button-group/showcase.tsx +20 -3
  309. package/packages/cli/vendor/src/showcase/premium/calendar/showcase.tsx +5 -0
  310. package/packages/cli/vendor/src/showcase/premium/carousel/showcase.tsx +33 -5
  311. package/packages/cli/vendor/src/showcase/premium/checkbox/showcase.tsx +46 -3
  312. package/packages/cli/vendor/src/showcase/premium/clearable-input/mock.ts +5 -3
  313. package/packages/cli/vendor/src/showcase/premium/clearable-input/showcase.tsx +5 -2
  314. package/packages/cli/vendor/src/showcase/premium/collapse/showcase.tsx +4 -0
  315. package/packages/cli/vendor/src/showcase/premium/combobox/showcase.tsx +8 -0
  316. package/packages/cli/vendor/src/showcase/premium/data-table/showcase.tsx +77 -27
  317. package/packages/cli/vendor/src/showcase/premium/data-table-parts/showcase.tsx +11 -11
  318. package/packages/cli/vendor/src/showcase/premium/date-input/mock.ts +1 -1
  319. package/packages/cli/vendor/src/showcase/premium/date-range-picker/showcase.tsx +7 -0
  320. package/packages/cli/vendor/src/showcase/premium/dropdown-menu/showcase.tsx +46 -3
  321. package/packages/cli/vendor/src/showcase/premium/form-wrapper/mock.ts +70 -44
  322. package/packages/cli/vendor/src/showcase/premium/form-wrapper/showcase.tsx +129 -12
  323. package/packages/cli/vendor/src/showcase/premium/index.ts +7 -46
  324. package/packages/cli/vendor/src/showcase/premium/input/mock.ts +2 -2
  325. package/packages/cli/vendor/src/showcase/premium/masked-input/mock.ts +1 -1
  326. package/packages/cli/vendor/src/showcase/premium/money-input/mock.ts +1 -1
  327. package/packages/cli/vendor/src/showcase/premium/number-input/mock.ts +1 -1
  328. package/packages/cli/vendor/src/showcase/premium/phone-input/mock.ts +1 -1
  329. package/packages/cli/vendor/src/showcase/premium/quantity-input/mock.ts +1 -1
  330. package/packages/cli/vendor/src/showcase/premium/simple-select/mock.ts +1 -1
  331. package/packages/cli/vendor/src/showcase/premium/simple-select/showcase.tsx +2 -1
  332. package/packages/cli/vendor/src/showcase/preview-catalog.tsx +7 -7
  333. package/packages/cli/vendor/src/showcase/registry-quality.ts +4 -30
  334. package/packages/cli/vendor/src/showcase/registry-specific.tsx +3 -178
  335. package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +18 -51
  336. package/packages/cli/vendor/src/showcase/site-data.tsx +2443 -2761
  337. package/packages/cli/vendor/src/showcase/supplemental.tsx +2 -42
  338. package/packages/cli/vendor/src/showcase/tembro-registry.json +206 -280
  339. package/registry.json +251 -329
  340. package/dist/components/display/aspect-ratio.cjs +0 -1
  341. package/dist/components/display/aspect-ratio.d.ts +0 -6
  342. package/dist/components/display/aspect-ratio.js +0 -21
  343. package/dist/components/display/entity-card.cjs +0 -1
  344. package/dist/components/display/entity-card.d.ts +0 -18
  345. package/dist/components/display/entity-card.js +0 -61
  346. package/dist/components/display/entity-header.cjs +0 -1
  347. package/dist/components/display/entity-header.d.ts +0 -13
  348. package/dist/components/display/entity-header.js +0 -52
  349. package/dist/components/display/file-card.cjs +0 -1
  350. package/dist/components/display/file-card.d.ts +0 -14
  351. package/dist/components/display/file-card.js +0 -59
  352. package/dist/components/display/float-button.cjs +0 -1
  353. package/dist/components/display/float-button.d.ts +0 -6
  354. package/dist/components/display/float-button.js +0 -20
  355. package/dist/components/display/key-value-card.cjs +0 -1
  356. package/dist/components/display/key-value-card.d.ts +0 -16
  357. package/dist/components/display/key-value-card.js +0 -35
  358. package/dist/components/display/keyboard-shortcut.cjs +0 -1
  359. package/dist/components/display/keyboard-shortcut.d.ts +0 -7
  360. package/dist/components/display/keyboard-shortcut.js +0 -18
  361. package/dist/components/display/skeleton-form.cjs +0 -1
  362. package/dist/components/display/skeleton-form.d.ts +0 -9
  363. package/dist/components/display/skeleton-form.js +0 -31
  364. package/dist/components/display/skeleton-table.cjs +0 -1
  365. package/dist/components/display/skeleton-table.d.ts +0 -9
  366. package/dist/components/display/skeleton-table.js +0 -42
  367. package/dist/components/display/tag-list.cjs +0 -1
  368. package/dist/components/display/tag-list.d.ts +0 -17
  369. package/dist/components/display/tag-list.js +0 -30
  370. package/dist/components/display/watermark.cjs +0 -1
  371. package/dist/components/display/watermark.d.ts +0 -6
  372. package/dist/components/display/watermark.js +0 -23
  373. package/dist/components/feedback/empty-search-state.cjs +0 -1
  374. package/dist/components/feedback/empty-search-state.d.ts +0 -11
  375. package/dist/components/feedback/empty-search-state.js +0 -45
  376. package/dist/components/feedback/empty-state.cjs +0 -1
  377. package/dist/components/feedback/empty-state.d.ts +0 -11
  378. package/dist/components/feedback/empty-state.js +0 -38
  379. package/dist/components/filters/filter-chips.cjs +0 -1
  380. package/dist/components/filters/filter-chips.d.ts +0 -18
  381. package/dist/components/filters/filter-chips.js +0 -61
  382. package/dist/components/form/repeater-field.cjs +0 -1
  383. package/dist/components/form/repeater-field.d.ts +0 -16
  384. package/dist/components/form/repeater-field.js +0 -48
  385. package/dist/components/inputs/cascader.cjs +0 -1
  386. package/dist/components/inputs/cascader.d.ts +0 -13
  387. package/dist/components/inputs/cascader.js +0 -58
  388. package/dist/components/inputs/mention-input.cjs +0 -1
  389. package/dist/components/inputs/mention-input.d.ts +0 -18
  390. package/dist/components/inputs/mention-input.js +0 -96
  391. package/dist/components/layout/stack.cjs +0 -1
  392. package/dist/components/layout/stack.d.ts +0 -23
  393. package/dist/components/layout/stack.js +0 -57
  394. package/dist/components/modern/affix.cjs +0 -1
  395. package/dist/components/modern/affix.d.ts +0 -7
  396. package/dist/components/modern/affix.js +0 -18
  397. package/dist/components/patterns/form-builder-presets.cjs +0 -1
  398. package/dist/components/patterns/form-builder-presets.d.ts +0 -1
  399. package/dist/components/patterns/form-builder-presets.js +0 -2
  400. package/dist/components/patterns/form-builder.cjs +0 -1
  401. package/dist/components/patterns/form-builder.d.ts +0 -109
  402. package/dist/components/patterns/form-builder.js +0 -263
  403. package/dist/showcase/premium/affix/index.cjs +0 -1
  404. package/dist/showcase/premium/affix/index.d.ts +0 -2
  405. package/dist/showcase/premium/affix/index.js +0 -3
  406. package/dist/showcase/premium/affix/mock.cjs +0 -12
  407. package/dist/showcase/premium/affix/mock.d.ts +0 -2
  408. package/dist/showcase/premium/affix/mock.js +0 -15
  409. package/dist/showcase/premium/affix/showcase.cjs +0 -1
  410. package/dist/showcase/premium/affix/showcase.d.ts +0 -2
  411. package/dist/showcase/premium/affix/showcase.js +0 -64
  412. package/dist/showcase/premium/aspect-ratio/index.cjs +0 -1
  413. package/dist/showcase/premium/aspect-ratio/index.d.ts +0 -2
  414. package/dist/showcase/premium/aspect-ratio/index.js +0 -3
  415. package/dist/showcase/premium/aspect-ratio/mock.cjs +0 -11
  416. package/dist/showcase/premium/aspect-ratio/mock.d.ts +0 -2
  417. package/dist/showcase/premium/aspect-ratio/mock.js +0 -26
  418. package/dist/showcase/premium/aspect-ratio/showcase.cjs +0 -1
  419. package/dist/showcase/premium/aspect-ratio/showcase.d.ts +0 -2
  420. package/dist/showcase/premium/aspect-ratio/showcase.js +0 -53
  421. package/dist/showcase/premium/cascader/index.cjs +0 -1
  422. package/dist/showcase/premium/cascader/index.d.ts +0 -2
  423. package/dist/showcase/premium/cascader/index.js +0 -3
  424. package/dist/showcase/premium/cascader/mock.cjs +0 -9
  425. package/dist/showcase/premium/cascader/mock.d.ts +0 -2
  426. package/dist/showcase/premium/cascader/mock.js +0 -19
  427. package/dist/showcase/premium/cascader/showcase.cjs +0 -1
  428. package/dist/showcase/premium/cascader/showcase.d.ts +0 -2
  429. package/dist/showcase/premium/cascader/showcase.js +0 -43
  430. package/dist/showcase/premium/empty-state/index.cjs +0 -1
  431. package/dist/showcase/premium/empty-state/index.d.ts +0 -2
  432. package/dist/showcase/premium/empty-state/index.js +0 -3
  433. package/dist/showcase/premium/empty-state/mock.cjs +0 -14
  434. package/dist/showcase/premium/empty-state/mock.d.ts +0 -2
  435. package/dist/showcase/premium/empty-state/mock.js +0 -31
  436. package/dist/showcase/premium/empty-state/showcase.cjs +0 -1
  437. package/dist/showcase/premium/empty-state/showcase.d.ts +0 -3
  438. package/dist/showcase/premium/empty-state/showcase.js +0 -99
  439. package/dist/showcase/premium/float-button/index.cjs +0 -1
  440. package/dist/showcase/premium/float-button/index.d.ts +0 -2
  441. package/dist/showcase/premium/float-button/index.js +0 -3
  442. package/dist/showcase/premium/float-button/mock.cjs +0 -10
  443. package/dist/showcase/premium/float-button/mock.d.ts +0 -2
  444. package/dist/showcase/premium/float-button/mock.js +0 -15
  445. package/dist/showcase/premium/float-button/showcase.cjs +0 -1
  446. package/dist/showcase/premium/float-button/showcase.d.ts +0 -2
  447. package/dist/showcase/premium/float-button/showcase.js +0 -28
  448. package/dist/showcase/premium/form-builder/index.cjs +0 -1
  449. package/dist/showcase/premium/form-builder/index.d.ts +0 -2
  450. package/dist/showcase/premium/form-builder/index.js +0 -3
  451. package/dist/showcase/premium/form-builder/mock.cjs +0 -57
  452. package/dist/showcase/premium/form-builder/mock.d.ts +0 -2
  453. package/dist/showcase/premium/form-builder/mock.js +0 -40
  454. package/dist/showcase/premium/form-builder/showcase.cjs +0 -1
  455. package/dist/showcase/premium/form-builder/showcase.d.ts +0 -3
  456. package/dist/showcase/premium/form-builder/showcase.js +0 -69
  457. package/dist/showcase/premium/keyboard-shortcut/index.cjs +0 -1
  458. package/dist/showcase/premium/keyboard-shortcut/index.d.ts +0 -2
  459. package/dist/showcase/premium/keyboard-shortcut/index.js +0 -3
  460. package/dist/showcase/premium/keyboard-shortcut/mock.cjs +0 -5
  461. package/dist/showcase/premium/keyboard-shortcut/mock.d.ts +0 -2
  462. package/dist/showcase/premium/keyboard-shortcut/mock.js +0 -26
  463. package/dist/showcase/premium/keyboard-shortcut/showcase.cjs +0 -1
  464. package/dist/showcase/premium/keyboard-shortcut/showcase.d.ts +0 -1
  465. package/dist/showcase/premium/keyboard-shortcut/showcase.js +0 -64
  466. package/dist/showcase/premium/mention-input/index.cjs +0 -1
  467. package/dist/showcase/premium/mention-input/index.d.ts +0 -2
  468. package/dist/showcase/premium/mention-input/index.js +0 -3
  469. package/dist/showcase/premium/mention-input/mock.cjs +0 -11
  470. package/dist/showcase/premium/mention-input/mock.d.ts +0 -2
  471. package/dist/showcase/premium/mention-input/mock.js +0 -19
  472. package/dist/showcase/premium/mention-input/showcase.cjs +0 -1
  473. package/dist/showcase/premium/mention-input/showcase.d.ts +0 -2
  474. package/dist/showcase/premium/mention-input/showcase.js +0 -35
  475. package/dist/showcase/premium/skeleton-form/index.cjs +0 -1
  476. package/dist/showcase/premium/skeleton-form/index.d.ts +0 -2
  477. package/dist/showcase/premium/skeleton-form/index.js +0 -3
  478. package/dist/showcase/premium/skeleton-form/mock.cjs +0 -5
  479. package/dist/showcase/premium/skeleton-form/mock.d.ts +0 -2
  480. package/dist/showcase/premium/skeleton-form/mock.js +0 -19
  481. package/dist/showcase/premium/skeleton-form/showcase.cjs +0 -1
  482. package/dist/showcase/premium/skeleton-form/showcase.d.ts +0 -2
  483. package/dist/showcase/premium/skeleton-form/showcase.js +0 -52
  484. package/dist/showcase/premium/skeleton-table/index.cjs +0 -1
  485. package/dist/showcase/premium/skeleton-table/index.d.ts +0 -2
  486. package/dist/showcase/premium/skeleton-table/index.js +0 -3
  487. package/dist/showcase/premium/skeleton-table/mock.cjs +0 -5
  488. package/dist/showcase/premium/skeleton-table/mock.d.ts +0 -2
  489. package/dist/showcase/premium/skeleton-table/mock.js +0 -19
  490. package/dist/showcase/premium/skeleton-table/showcase.cjs +0 -1
  491. package/dist/showcase/premium/skeleton-table/showcase.d.ts +0 -2
  492. package/dist/showcase/premium/skeleton-table/showcase.js +0 -59
  493. package/dist/showcase/premium/stack/index.cjs +0 -1
  494. package/dist/showcase/premium/stack/index.d.ts +0 -2
  495. package/dist/showcase/premium/stack/index.js +0 -3
  496. package/dist/showcase/premium/stack/mock.cjs +0 -10
  497. package/dist/showcase/premium/stack/mock.d.ts +0 -2
  498. package/dist/showcase/premium/stack/mock.js +0 -26
  499. package/dist/showcase/premium/stack/showcase.cjs +0 -1
  500. package/dist/showcase/premium/stack/showcase.d.ts +0 -1
  501. package/dist/showcase/premium/stack/showcase.js +0 -47
  502. package/dist/showcase/premium/tag-list/index.cjs +0 -1
  503. package/dist/showcase/premium/tag-list/index.d.ts +0 -2
  504. package/dist/showcase/premium/tag-list/index.js +0 -3
  505. package/dist/showcase/premium/tag-list/mock.cjs +0 -12
  506. package/dist/showcase/premium/tag-list/mock.d.ts +0 -2
  507. package/dist/showcase/premium/tag-list/mock.js +0 -26
  508. package/dist/showcase/premium/tag-list/showcase.cjs +0 -1
  509. package/dist/showcase/premium/tag-list/showcase.d.ts +0 -2
  510. package/dist/showcase/premium/tag-list/showcase.js +0 -83
  511. package/dist/showcase/premium/watermark/index.cjs +0 -1
  512. package/dist/showcase/premium/watermark/index.d.ts +0 -2
  513. package/dist/showcase/premium/watermark/index.js +0 -3
  514. package/dist/showcase/premium/watermark/mock.cjs +0 -11
  515. package/dist/showcase/premium/watermark/mock.d.ts +0 -2
  516. package/dist/showcase/premium/watermark/mock.js +0 -26
  517. package/dist/showcase/premium/watermark/showcase.cjs +0 -1
  518. package/dist/showcase/premium/watermark/showcase.d.ts +0 -2
  519. package/dist/showcase/premium/watermark/showcase.js +0 -34
  520. package/packages/cli/vendor/src/components/display/aspect-ratio.tsx +0 -22
  521. package/packages/cli/vendor/src/components/display/entity-card.tsx +0 -80
  522. package/packages/cli/vendor/src/components/display/entity-header.tsx +0 -80
  523. package/packages/cli/vendor/src/components/display/file-card.tsx +0 -61
  524. package/packages/cli/vendor/src/components/display/float-button.tsx +0 -27
  525. package/packages/cli/vendor/src/components/display/key-value-card.tsx +0 -50
  526. package/packages/cli/vendor/src/components/display/keyboard-shortcut.tsx +0 -31
  527. package/packages/cli/vendor/src/components/display/skeleton-form.tsx +0 -51
  528. package/packages/cli/vendor/src/components/display/skeleton-table.tsx +0 -59
  529. package/packages/cli/vendor/src/components/display/tag-list.tsx +0 -52
  530. package/packages/cli/vendor/src/components/display/watermark.tsx +0 -20
  531. package/packages/cli/vendor/src/components/feedback/empty-search-state.tsx +0 -65
  532. package/packages/cli/vendor/src/components/feedback/empty-state.tsx +0 -56
  533. package/packages/cli/vendor/src/components/filters/filter-chips.tsx +0 -89
  534. package/packages/cli/vendor/src/components/form/repeater-field.tsx +0 -93
  535. package/packages/cli/vendor/src/components/inputs/cascader.tsx +0 -41
  536. package/packages/cli/vendor/src/components/inputs/mention-input.tsx +0 -162
  537. package/packages/cli/vendor/src/components/layout/stack.tsx +0 -106
  538. package/packages/cli/vendor/src/components/modern/affix.tsx +0 -21
  539. package/packages/cli/vendor/src/components/patterns/form-builder-presets.ts +0 -13
  540. package/packages/cli/vendor/src/components/patterns/form-builder.tsx +0 -443
  541. package/packages/cli/vendor/src/showcase/premium/affix/index.ts +0 -3
  542. package/packages/cli/vendor/src/showcase/premium/affix/mock.ts +0 -26
  543. package/packages/cli/vendor/src/showcase/premium/affix/showcase.tsx +0 -37
  544. package/packages/cli/vendor/src/showcase/premium/aspect-ratio/index.ts +0 -2
  545. package/packages/cli/vendor/src/showcase/premium/aspect-ratio/mock.ts +0 -26
  546. package/packages/cli/vendor/src/showcase/premium/aspect-ratio/showcase.tsx +0 -37
  547. package/packages/cli/vendor/src/showcase/premium/cascader/index.ts +0 -3
  548. package/packages/cli/vendor/src/showcase/premium/cascader/mock.ts +0 -24
  549. package/packages/cli/vendor/src/showcase/premium/cascader/showcase.tsx +0 -20
  550. package/packages/cli/vendor/src/showcase/premium/empty-state/index.ts +0 -2
  551. package/packages/cli/vendor/src/showcase/premium/empty-state/mock.ts +0 -30
  552. package/packages/cli/vendor/src/showcase/premium/empty-state/showcase.tsx +0 -65
  553. package/packages/cli/vendor/src/showcase/premium/float-button/index.ts +0 -3
  554. package/packages/cli/vendor/src/showcase/premium/float-button/mock.ts +0 -24
  555. package/packages/cli/vendor/src/showcase/premium/float-button/showcase.tsx +0 -21
  556. package/packages/cli/vendor/src/showcase/premium/form-builder/index.ts +0 -2
  557. package/packages/cli/vendor/src/showcase/premium/form-builder/mock.ts +0 -79
  558. package/packages/cli/vendor/src/showcase/premium/form-builder/showcase.tsx +0 -55
  559. package/packages/cli/vendor/src/showcase/premium/keyboard-shortcut/index.ts +0 -2
  560. package/packages/cli/vendor/src/showcase/premium/keyboard-shortcut/mock.ts +0 -20
  561. package/packages/cli/vendor/src/showcase/premium/keyboard-shortcut/showcase.tsx +0 -42
  562. package/packages/cli/vendor/src/showcase/premium/mention-input/index.ts +0 -3
  563. package/packages/cli/vendor/src/showcase/premium/mention-input/mock.ts +0 -26
  564. package/packages/cli/vendor/src/showcase/premium/mention-input/showcase.tsx +0 -27
  565. package/packages/cli/vendor/src/showcase/premium/skeleton-form/index.ts +0 -3
  566. package/packages/cli/vendor/src/showcase/premium/skeleton-form/mock.ts +0 -20
  567. package/packages/cli/vendor/src/showcase/premium/skeleton-form/showcase.tsx +0 -34
  568. package/packages/cli/vendor/src/showcase/premium/skeleton-table/index.ts +0 -3
  569. package/packages/cli/vendor/src/showcase/premium/skeleton-table/mock.ts +0 -20
  570. package/packages/cli/vendor/src/showcase/premium/skeleton-table/showcase.tsx +0 -37
  571. package/packages/cli/vendor/src/showcase/premium/stack/index.ts +0 -2
  572. package/packages/cli/vendor/src/showcase/premium/stack/mock.ts +0 -25
  573. package/packages/cli/vendor/src/showcase/premium/stack/showcase.tsx +0 -22
  574. package/packages/cli/vendor/src/showcase/premium/tag-list/index.ts +0 -2
  575. package/packages/cli/vendor/src/showcase/premium/tag-list/mock.ts +0 -27
  576. package/packages/cli/vendor/src/showcase/premium/tag-list/showcase.tsx +0 -55
  577. package/packages/cli/vendor/src/showcase/premium/watermark/index.ts +0 -2
  578. package/packages/cli/vendor/src/showcase/premium/watermark/mock.ts +0 -26
  579. package/packages/cli/vendor/src/showcase/premium/watermark/showcase.tsx +0 -26
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/input/index.cjs"),i=require("../ui/popover/index.cjs");let a=require("react");a=e.__toESM(a,1);let o=require("lucide-react"),s=require("react/jsx-runtime");function c({value:e,options:c,onValueChange:l,placeholder:u=`Select option`,searchPlaceholder:d=`Search...`,emptyLabel:f=`No option found`,disabled:p=!1,invalid:m,triggerClassName:h,contentClassName:g,optionClassName:_,searchClassName:v,className:y,...b}){let[x,S]=a.useState(!1),[C,w]=a.useState(``),T=c.find(t=>t.value===e),E=C.trim().toLowerCase(),D=c.filter(e=>e.hidden?!1:E?String(e.searchValue??e.label).toLowerCase().includes(E):!0);return(0,s.jsx)(`div`,{"data-slot":`combobox`,className:t.cn(`grid w-full gap-2`,y),...b,children:(0,s.jsxs)(i.Popover,{open:x,onOpenChange:S,children:[(0,s.jsxs)(i.PopoverTrigger,{render:(0,s.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:p,"aria-expanded":x,"aria-invalid":m||void 0,className:t.cn(`min-h-11 w-full justify-between rounded-[var(--aui-control-radius,var(--radius-md))] px-3.5 text-left`,h)}),children:[(0,s.jsx)(`span`,{className:t.cn(`min-w-0 flex-1 truncate font-medium`,!T&&`font-normal text-muted-foreground`),children:T?.label??u}),(0,s.jsx)(o.ChevronDownIcon,{className:`size-4 opacity-60`})]}),(0,s.jsxs)(i.PopoverContent,{align:`start`,"data-slot":`combobox-content`,className:t.cn(`w-(--anchor-width) min-w-72 rounded-[var(--aui-card-radius,var(--radius-lg))] border-[color:var(--aui-card-border,var(--border))] bg-popover p-3 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))]`,g),children:[(0,s.jsxs)(`div`,{className:`relative mb-2`,children:[(0,s.jsx)(o.SearchIcon,{className:`pointer-events-none absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),(0,s.jsx)(r.Input,{value:C,onChange:e=>w(e.target.value),placeholder:d,className:t.cn(`h-9 pl-8`,v)})]}),(0,s.jsx)(`div`,{className:`max-h-64 overflow-y-auto`,children:D.length?D.map(n=>{let r=n.value===e;return(0,s.jsxs)(`button`,{type:`button`,disabled:n.disabled,"data-selected":r||void 0,className:t.cn(`flex w-full items-start gap-2.5 rounded-[var(--radius-md)] border border-transparent px-3 py-2.5 text-left text-sm transition-colors hover:border-[color:color-mix(in_oklch,var(--primary),transparent_76%)] hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_93%)] disabled:pointer-events-none disabled:opacity-50 data-[selected=true]:border-[color:color-mix(in_oklch,var(--primary),transparent_68%)] data-[selected=true]:bg-[color:color-mix(in_oklch,var(--primary),transparent_89%)]`,_),onClick:()=>{l?.(n.value,n),S(!1)},children:[(0,s.jsx)(`span`,{className:t.cn(`mt-0.5 flex size-4 shrink-0 items-center justify-center rounded-full border border-border/70`,r&&`border-primary bg-primary text-primary-foreground`),children:r&&(0,s.jsx)(o.CheckIcon,{className:`size-3`})}),(0,s.jsxs)(`span`,{className:`min-w-0`,children:[(0,s.jsx)(`span`,{className:`block truncate font-medium`,children:n.label}),n.description&&(0,s.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:n.description})]})]},n.value)}):(0,s.jsx)(`div`,{className:`rounded-[var(--radius-md)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--muted),transparent_55%)] px-3 py-6 text-center text-sm text-muted-foreground`,children:f})})]})]})})}exports.Combobox=c;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/input/index.cjs"),i=require("../ui/popover/index.cjs");let a=require("react");a=e.__toESM(a,1);let o=require("lucide-react"),s=require("react/jsx-runtime");function c({value:e,options:c,onValueChange:l,placeholder:u=`Select option`,searchPlaceholder:d=`Search...`,emptyLabel:f=`No option found`,disabled:p=!1,invalid:m,clearable:h=!1,allowDeselect:g=!1,showSelectedDescription:_=!0,onSearchChange:v,triggerClassName:y,contentClassName:b,optionClassName:x,searchClassName:S,className:C,...w}){let[T,E]=a.useState(!1),[D,O]=a.useState(``),k=c.find(t=>t.value===e),A=D.trim().toLowerCase(),j=c.filter(e=>e.hidden?!1:A?String(e.searchValue??e.label).toLowerCase().includes(A):!0);return(0,s.jsx)(`div`,{"data-slot":`combobox`,className:t.cn(`grid w-full gap-2`,C),...w,children:(0,s.jsxs)(i.Popover,{open:T,onOpenChange:e=>{E(e),e||(O(``),v?.(``))},children:[(0,s.jsxs)(i.PopoverTrigger,{render:(0,s.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:p,"aria-expanded":T,"aria-invalid":m||void 0,className:t.cn(`min-h-11 w-full justify-between rounded-[var(--aui-control-radius,var(--radius-md))] px-3.5 text-left`,y)}),children:[(0,s.jsx)(`span`,{className:t.cn(`min-w-0 flex-1`,!k&&`text-muted-foreground`),children:k?(0,s.jsxs)(`span`,{className:`flex min-w-0 flex-col items-start`,children:[(0,s.jsx)(`span`,{className:`truncate font-medium`,children:k.label}),_&&k.description?(0,s.jsx)(`span`,{className:`truncate text-[11px] text-muted-foreground`,children:k.description}):null]}):(0,s.jsx)(`span`,{className:`truncate font-normal`,children:u})}),h&&k&&!p?(0,s.jsx)(`span`,{role:`button`,tabIndex:0,"aria-label":`Clear value`,className:`inline-flex size-6 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-muted/55 hover:text-foreground`,onClick:e=>{e.preventDefault(),e.stopPropagation(),l?.(void 0,void 0)},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),l?.(void 0,void 0))},children:`×`}):null,(0,s.jsx)(o.ChevronDownIcon,{className:`size-4 opacity-60`})]}),(0,s.jsxs)(i.PopoverContent,{align:`start`,"data-slot":`combobox-content`,className:t.cn(`w-(--anchor-width) min-w-72 rounded-[var(--aui-card-radius,var(--radius-lg))] border-[color:var(--aui-card-border,var(--border))] bg-popover p-3 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))]`,b),children:[(0,s.jsxs)(`div`,{className:`relative mb-2`,children:[(0,s.jsx)(o.SearchIcon,{className:`pointer-events-none absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),(0,s.jsx)(r.Input,{value:D,onChange:e=>{O(e.target.value),v?.(e.target.value)},placeholder:d,className:t.cn(`h-9 pl-8`,S)})]}),(0,s.jsx)(`div`,{className:`max-h-64 overflow-y-auto`,children:j.length?j.map(n=>{let r=n.value===e;return(0,s.jsxs)(`button`,{type:`button`,disabled:n.disabled,"data-selected":r||void 0,className:t.cn(`flex w-full items-start gap-2.5 rounded-[var(--radius-md)] border border-transparent px-3 py-2.5 text-left text-sm transition-colors hover:border-[color:color-mix(in_oklch,var(--primary),transparent_76%)] hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_93%)] disabled:pointer-events-none disabled:opacity-50 data-[selected=true]:border-[color:color-mix(in_oklch,var(--primary),transparent_68%)] data-[selected=true]:bg-[color:color-mix(in_oklch,var(--primary),transparent_89%)]`,x),onClick:()=>{let e=g&&r?void 0:n.value;l?.(e,e?n:void 0),E(!1)},children:[(0,s.jsx)(`span`,{className:t.cn(`mt-0.5 flex size-4 shrink-0 items-center justify-center rounded-full border border-border/70`,r&&`border-primary bg-primary text-primary-foreground`),children:r&&(0,s.jsx)(o.CheckIcon,{className:`size-3`})}),(0,s.jsxs)(`span`,{className:`min-w-0`,children:[(0,s.jsx)(`span`,{className:`block truncate font-medium`,children:n.label}),n.description&&(0,s.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:n.description})]})]},n.value)}):(0,s.jsx)(`div`,{className:`rounded-[var(--radius-md)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--muted),transparent_55%)] px-3 py-6 text-center text-sm text-muted-foreground`,children:f})})]})]})})}exports.Combobox=c;
@@ -16,10 +16,14 @@ export type ComboboxProps<TValue extends string = string> = React.ComponentProps
16
16
  emptyLabel?: React.ReactNode;
17
17
  disabled?: boolean;
18
18
  invalid?: boolean;
19
+ clearable?: boolean;
20
+ allowDeselect?: boolean;
21
+ showSelectedDescription?: boolean;
22
+ onSearchChange?: (value: string) => void;
19
23
  triggerClassName?: string;
20
24
  contentClassName?: string;
21
25
  optionClassName?: string;
22
26
  searchClassName?: string;
23
27
  };
24
- declare function Combobox<TValue extends string = string>({ value, options, onValueChange, placeholder, searchPlaceholder, emptyLabel, disabled, invalid, triggerClassName, contentClassName, optionClassName, searchClassName, className, ...props }: ComboboxProps<TValue>): React.JSX.Element;
28
+ declare function Combobox<TValue extends string = string>({ value, options, onValueChange, placeholder, searchPlaceholder, emptyLabel, disabled, invalid, clearable, allowDeselect, showSelectedDescription, onSearchChange, triggerClassName, contentClassName, optionClassName, searchClassName, className, ...props }: ComboboxProps<TValue>): React.JSX.Element;
25
29
  export { Combobox };
@@ -6,51 +6,84 @@ import * as o from "react";
6
6
  import { CheckIcon as s, ChevronDownIcon as c, SearchIcon as l } from "lucide-react";
7
7
  import { jsx as u, jsxs as d } from "react/jsx-runtime";
8
8
  //#region src/components/inputs/combobox.tsx
9
- function f({ value: f, options: p, onValueChange: m, placeholder: h = "Select option", searchPlaceholder: g = "Search...", emptyLabel: _ = "No option found", disabled: v = !1, invalid: y, triggerClassName: b, contentClassName: x, optionClassName: S, searchClassName: C, className: w, ...T }) {
10
- let [E, D] = o.useState(!1), [O, k] = o.useState(""), A = p.find((e) => e.value === f), j = O.trim().toLowerCase(), M = p.filter((e) => e.hidden ? !1 : j ? String(e.searchValue ?? e.label).toLowerCase().includes(j) : !0);
9
+ function f({ value: f, options: p, onValueChange: m, placeholder: h = "Select option", searchPlaceholder: g = "Search...", emptyLabel: _ = "No option found", disabled: v = !1, invalid: y, clearable: b = !1, allowDeselect: x = !1, showSelectedDescription: S = !0, onSearchChange: C, triggerClassName: w, contentClassName: T, optionClassName: E, searchClassName: D, className: O, ...k }) {
10
+ let [A, j] = o.useState(!1), [M, N] = o.useState(""), P = p.find((e) => e.value === f), F = M.trim().toLowerCase(), I = p.filter((e) => e.hidden ? !1 : F ? String(e.searchValue ?? e.label).toLowerCase().includes(F) : !0);
11
11
  return /* @__PURE__ */ u("div", {
12
12
  "data-slot": "combobox",
13
- className: e("grid w-full gap-2", w),
14
- ...T,
13
+ className: e("grid w-full gap-2", O),
14
+ ...k,
15
15
  children: /* @__PURE__ */ d(r, {
16
- open: E,
17
- onOpenChange: D,
16
+ open: A,
17
+ onOpenChange: (e) => {
18
+ j(e), e || (N(""), C?.(""));
19
+ },
18
20
  children: [/* @__PURE__ */ d(a, {
19
21
  render: /* @__PURE__ */ u(t, {
20
22
  type: "button",
21
23
  variant: "outline",
22
24
  disabled: v,
23
- "aria-expanded": E,
25
+ "aria-expanded": A,
24
26
  "aria-invalid": y || void 0,
25
- className: e("min-h-11 w-full justify-between rounded-[var(--aui-control-radius,var(--radius-md))] px-3.5 text-left", b)
27
+ className: e("min-h-11 w-full justify-between rounded-[var(--aui-control-radius,var(--radius-md))] px-3.5 text-left", w)
26
28
  }),
27
- children: [/* @__PURE__ */ u("span", {
28
- className: e("min-w-0 flex-1 truncate font-medium", !A && "font-normal text-muted-foreground"),
29
- children: A?.label ?? h
30
- }), /* @__PURE__ */ u(c, { className: "size-4 opacity-60" })]
29
+ children: [
30
+ /* @__PURE__ */ u("span", {
31
+ className: e("min-w-0 flex-1", !P && "text-muted-foreground"),
32
+ children: P ? /* @__PURE__ */ d("span", {
33
+ className: "flex min-w-0 flex-col items-start",
34
+ children: [/* @__PURE__ */ u("span", {
35
+ className: "truncate font-medium",
36
+ children: P.label
37
+ }), S && P.description ? /* @__PURE__ */ u("span", {
38
+ className: "truncate text-[11px] text-muted-foreground",
39
+ children: P.description
40
+ }) : null]
41
+ }) : /* @__PURE__ */ u("span", {
42
+ className: "truncate font-normal",
43
+ children: h
44
+ })
45
+ }),
46
+ b && P && !v ? /* @__PURE__ */ u("span", {
47
+ role: "button",
48
+ tabIndex: 0,
49
+ "aria-label": "Clear value",
50
+ className: "inline-flex size-6 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-muted/55 hover:text-foreground",
51
+ onClick: (e) => {
52
+ e.preventDefault(), e.stopPropagation(), m?.(void 0, void 0);
53
+ },
54
+ onKeyDown: (e) => {
55
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), e.stopPropagation(), m?.(void 0, void 0));
56
+ },
57
+ children: "×"
58
+ }) : null,
59
+ /* @__PURE__ */ u(c, { className: "size-4 opacity-60" })
60
+ ]
31
61
  }), /* @__PURE__ */ d(i, {
32
62
  align: "start",
33
63
  "data-slot": "combobox-content",
34
- className: e("w-(--anchor-width) min-w-72 rounded-[var(--aui-card-radius,var(--radius-lg))] border-[color:var(--aui-card-border,var(--border))] bg-popover p-3 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))]", x),
64
+ className: e("w-(--anchor-width) min-w-72 rounded-[var(--aui-card-radius,var(--radius-lg))] border-[color:var(--aui-card-border,var(--border))] bg-popover p-3 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))]", T),
35
65
  children: [/* @__PURE__ */ d("div", {
36
66
  className: "relative mb-2",
37
67
  children: [/* @__PURE__ */ u(l, { className: "pointer-events-none absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }), /* @__PURE__ */ u(n, {
38
- value: O,
39
- onChange: (e) => k(e.target.value),
68
+ value: M,
69
+ onChange: (e) => {
70
+ N(e.target.value), C?.(e.target.value);
71
+ },
40
72
  placeholder: g,
41
- className: e("h-9 pl-8", C)
73
+ className: e("h-9 pl-8", D)
42
74
  })]
43
75
  }), /* @__PURE__ */ u("div", {
44
76
  className: "max-h-64 overflow-y-auto",
45
- children: M.length ? M.map((t) => {
77
+ children: I.length ? I.map((t) => {
46
78
  let n = t.value === f;
47
79
  return /* @__PURE__ */ d("button", {
48
80
  type: "button",
49
81
  disabled: t.disabled,
50
82
  "data-selected": n || void 0,
51
- className: e("flex w-full items-start gap-2.5 rounded-[var(--radius-md)] border border-transparent px-3 py-2.5 text-left text-sm transition-colors hover:border-[color:color-mix(in_oklch,var(--primary),transparent_76%)] hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_93%)] disabled:pointer-events-none disabled:opacity-50 data-[selected=true]:border-[color:color-mix(in_oklch,var(--primary),transparent_68%)] data-[selected=true]:bg-[color:color-mix(in_oklch,var(--primary),transparent_89%)]", S),
83
+ className: e("flex w-full items-start gap-2.5 rounded-[var(--radius-md)] border border-transparent px-3 py-2.5 text-left text-sm transition-colors hover:border-[color:color-mix(in_oklch,var(--primary),transparent_76%)] hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_93%)] disabled:pointer-events-none disabled:opacity-50 data-[selected=true]:border-[color:color-mix(in_oklch,var(--primary),transparent_68%)] data-[selected=true]:bg-[color:color-mix(in_oklch,var(--primary),transparent_89%)]", E),
52
84
  onClick: () => {
53
- m?.(t.value, t), D(!1);
85
+ let e = x && n ? void 0 : t.value;
86
+ m?.(e, e ? t : void 0), j(!1);
54
87
  },
55
88
  children: [/* @__PURE__ */ u("span", {
56
89
  className: e("mt-0.5 flex size-4 shrink-0 items-center justify-center rounded-full border border-border/70", n && "border-primary bg-primary text-primary-foreground"),
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./clearable-input.cjs"),t=require("./date-input.cjs"),n=require("./date-range-input.cjs"),r=require("./money-input.cjs"),i=require("./masked-input.cjs"),a=require("./number-input.cjs"),o=require("./password-input.cjs"),s=require("./phone-input.cjs"),c=require("./quantity-input.cjs"),l=require("./search-input.cjs"),u=require("./async-select.cjs"),d=require("./combobox.cjs"),f=require("./simple-select.cjs"),p=require("./color-input.cjs"),m=require("./otp-input.cjs"),h=require("./quantity-stepper.cjs"),g=require("./rating.cjs"),_=require("./slider.cjs"),v=require("./tag-input.cjs"),y=require("./inline-editable.cjs"),b=require("./cascader.cjs"),x=require("./json-input.cjs"),S=require("./mention-input.cjs"),C=require("./time-picker.cjs");exports.AsyncMultiSelect=u.AsyncMultiSelect,exports.AsyncSelect=u.AsyncSelect,exports.Cascader=b.Cascader,exports.ClearableInput=e.ClearableInput,exports.ColorInput=p.ColorInput,exports.Combobox=d.Combobox,exports.DateInput=t.DateInput,exports.DateRangeInput=n.DateRangeInput,exports.DateTimePicker=C.DateTimePicker,exports.InlineEditable=y.InlineEditable,exports.JsonInput=x.JsonInput,exports.MaskedInput=i.MaskedInput,exports.MentionInput=S.MentionInput,exports.MoneyInput=r.MoneyInput,exports.NumberInput=a.NumberInput,exports.OtpInput=m.OtpInput,exports.PasswordInput=o.PasswordInput,exports.PhoneInput=s.PhoneInput,exports.QuantityInput=c.QuantityInput,exports.QuantityStepper=h.QuantityStepper,exports.RangeSlider=_.RangeSlider,exports.Rating=g.Rating,exports.SearchInput=l.SearchInput,exports.SimpleSelect=f.SimpleSelect,exports.Slider=_.Slider,exports.TagInput=v.TagInput,exports.TimePicker=C.TimePicker,exports.TimeRangePicker=C.TimeRangePicker,exports.clampNumber=a.clampNumber,exports.clampQuantity=c.clampQuantity,exports.formatPhoneDigits=s.formatPhoneDigits,exports.onlyDigits=s.onlyDigits,exports.parseMoneyInput=r.parseMoneyInput,exports.parseNumberInput=a.parseNumberInput;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./clearable-input.cjs"),t=require("./date-input.cjs"),n=require("./date-range-input.cjs"),r=require("./money-input.cjs"),i=require("./masked-input.cjs"),a=require("./number-input.cjs"),o=require("./password-input.cjs"),s=require("./phone-input.cjs"),c=require("./quantity-input.cjs"),l=require("./search-input.cjs"),u=require("./async-select.cjs"),d=require("./combobox.cjs"),f=require("./simple-select.cjs"),p=require("./color-input.cjs"),m=require("./otp-input.cjs"),h=require("./quantity-stepper.cjs"),g=require("./rating.cjs"),_=require("./slider.cjs"),v=require("./tag-input.cjs"),y=require("./inline-editable.cjs"),b=require("./json-input.cjs"),x=require("./time-picker.cjs");exports.AsyncMultiSelect=u.AsyncMultiSelect,exports.AsyncSelect=u.AsyncSelect,exports.ClearableInput=e.ClearableInput,exports.ColorInput=p.ColorInput,exports.Combobox=d.Combobox,exports.DateInput=t.DateInput,exports.DateRangeInput=n.DateRangeInput,exports.DateTimePicker=x.DateTimePicker,exports.InlineEditable=y.InlineEditable,exports.JsonInput=b.JsonInput,exports.MaskedInput=i.MaskedInput,exports.MoneyInput=r.MoneyInput,exports.NumberInput=a.NumberInput,exports.OtpInput=m.OtpInput,exports.PasswordInput=o.PasswordInput,exports.PhoneInput=s.PhoneInput,exports.QuantityInput=c.QuantityInput,exports.QuantityStepper=h.QuantityStepper,exports.RangeSlider=_.RangeSlider,exports.Rating=g.Rating,exports.SearchInput=l.SearchInput,exports.SimpleSelect=f.SimpleSelect,exports.Slider=_.Slider,exports.TagInput=v.TagInput,exports.TimePicker=x.TimePicker,exports.TimeRangePicker=x.TimeRangePicker,exports.clampNumber=a.clampNumber,exports.clampQuantity=c.clampQuantity,exports.formatPhoneDigits=s.formatPhoneDigits,exports.onlyDigits=s.onlyDigits,exports.parseMoneyInput=r.parseMoneyInput,exports.parseNumberInput=a.parseNumberInput;
@@ -15,9 +15,7 @@ export * from "./quantity-stepper";
15
15
  export * from "./rating";
16
16
  export * from "./search-input";
17
17
  export * from "./simple-select";
18
- export * from "./cascader";
19
18
  export * from "./json-input";
20
- export * from "./mention-input";
21
19
  export * from "./time-picker";
22
20
  export * from "./slider";
23
21
  export * from "./tag-input";
@@ -18,8 +18,6 @@ import { Rating as C } from "./rating.js";
18
18
  import { RangeSlider as w, Slider as T } from "./slider.js";
19
19
  import { TagInput as E } from "./tag-input.js";
20
20
  import { InlineEditable as D } from "./inline-editable.js";
21
- import { Cascader as O } from "./cascader.js";
22
- import { JsonInput as k } from "./json-input.js";
23
- import { MentionInput as A } from "./mention-input.js";
24
- import { DateTimePicker as j, TimePicker as M, TimeRangePicker as N } from "./time-picker.js";
25
- export { g as AsyncMultiSelect, _ as AsyncSelect, O as Cascader, e as ClearableInput, b as ColorInput, v as Combobox, t as DateInput, n as DateRangeInput, j as DateTimePicker, D as InlineEditable, k as JsonInput, a as MaskedInput, A as MentionInput, r as MoneyInput, o as NumberInput, x as OtpInput, l as PasswordInput, u as PhoneInput, p as QuantityInput, S as QuantityStepper, w as RangeSlider, C as Rating, h as SearchInput, y as SimpleSelect, T as Slider, E as TagInput, M as TimePicker, N as TimeRangePicker, s as clampNumber, m as clampQuantity, d as formatPhoneDigits, f as onlyDigits, i as parseMoneyInput, c as parseNumberInput };
21
+ import { JsonInput as O } from "./json-input.js";
22
+ import { DateTimePicker as k, TimePicker as A, TimeRangePicker as j } from "./time-picker.js";
23
+ export { g as AsyncMultiSelect, _ as AsyncSelect, e as ClearableInput, b as ColorInput, v as Combobox, t as DateInput, n as DateRangeInput, k as DateTimePicker, D as InlineEditable, O as JsonInput, a as MaskedInput, r as MoneyInput, o as NumberInput, x as OtpInput, l as PasswordInput, u as PhoneInput, p as QuantityInput, S as QuantityStepper, w as RangeSlider, C as Rating, h as SearchInput, y as SimpleSelect, T as Slider, E as TagInput, A as TimePicker, j as TimeRangePicker, s as clampNumber, m as clampQuantity, d as formatPhoneDigits, f as onlyDigits, i as parseMoneyInput, c as parseNumberInput };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./clearable-input.cjs"),t=require("./date-input.cjs"),n=require("./date-range-input.cjs"),r=require("./money-input.cjs"),i=require("./masked-input.cjs"),a=require("./number-input.cjs"),o=require("./password-input.cjs"),s=require("./phone-input.cjs"),c=require("./quantity-input.cjs"),l=require("./search-input.cjs"),u=require("./async-select.cjs"),d=require("./combobox.cjs"),f=require("./simple-select.cjs"),p=require("./color-input.cjs"),m=require("./otp-input.cjs"),h=require("./quantity-stepper.cjs"),g=require("./rating.cjs"),_=require("./slider.cjs"),v=require("./tag-input.cjs"),y=require("./inline-editable.cjs"),b=require("./cascader.cjs"),x=require("./json-input.cjs"),S=require("./mention-input.cjs"),C=require("./time-picker.cjs");exports.AsyncMultiSelect=u.AsyncMultiSelect,exports.AsyncSelect=u.AsyncSelect,exports.Cascader=b.Cascader,exports.ClearableInput=e.ClearableInput,exports.ColorInput=p.ColorInput,exports.Combobox=d.Combobox,exports.DateInput=t.DateInput,exports.DateRangeInput=n.DateRangeInput,exports.DateTimePicker=C.DateTimePicker,exports.InlineEditable=y.InlineEditable,exports.JsonInput=x.JsonInput,exports.MaskedInput=i.MaskedInput,exports.MentionInput=S.MentionInput,exports.MoneyInput=r.MoneyInput,exports.NumberInput=a.NumberInput,exports.OtpInput=m.OtpInput,exports.PasswordInput=o.PasswordInput,exports.PhoneInput=s.PhoneInput,exports.QuantityInput=c.QuantityInput,exports.QuantityStepper=h.QuantityStepper,exports.RangeSlider=_.RangeSlider,exports.Rating=g.Rating,exports.SearchInput=l.SearchInput,exports.SimpleSelect=f.SimpleSelect,exports.Slider=_.Slider,exports.TagInput=v.TagInput,exports.TimePicker=C.TimePicker,exports.TimeRangePicker=C.TimeRangePicker,exports.clampNumber=a.clampNumber,exports.clampQuantity=c.clampQuantity,exports.formatPhoneDigits=s.formatPhoneDigits,exports.onlyDigits=s.onlyDigits,exports.parseMoneyInput=r.parseMoneyInput,exports.parseNumberInput=a.parseNumberInput;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./clearable-input.cjs"),t=require("./date-input.cjs"),n=require("./date-range-input.cjs"),r=require("./money-input.cjs"),i=require("./masked-input.cjs"),a=require("./number-input.cjs"),o=require("./password-input.cjs"),s=require("./phone-input.cjs"),c=require("./quantity-input.cjs"),l=require("./search-input.cjs"),u=require("./async-select.cjs"),d=require("./combobox.cjs"),f=require("./simple-select.cjs"),p=require("./color-input.cjs"),m=require("./otp-input.cjs"),h=require("./quantity-stepper.cjs"),g=require("./rating.cjs"),_=require("./slider.cjs"),v=require("./tag-input.cjs"),y=require("./inline-editable.cjs"),b=require("./json-input.cjs"),x=require("./time-picker.cjs");exports.AsyncMultiSelect=u.AsyncMultiSelect,exports.AsyncSelect=u.AsyncSelect,exports.ClearableInput=e.ClearableInput,exports.ColorInput=p.ColorInput,exports.Combobox=d.Combobox,exports.DateInput=t.DateInput,exports.DateRangeInput=n.DateRangeInput,exports.DateTimePicker=x.DateTimePicker,exports.InlineEditable=y.InlineEditable,exports.JsonInput=b.JsonInput,exports.MaskedInput=i.MaskedInput,exports.MoneyInput=r.MoneyInput,exports.NumberInput=a.NumberInput,exports.OtpInput=m.OtpInput,exports.PasswordInput=o.PasswordInput,exports.PhoneInput=s.PhoneInput,exports.QuantityInput=c.QuantityInput,exports.QuantityStepper=h.QuantityStepper,exports.RangeSlider=_.RangeSlider,exports.Rating=g.Rating,exports.SearchInput=l.SearchInput,exports.SimpleSelect=f.SimpleSelect,exports.Slider=_.Slider,exports.TagInput=v.TagInput,exports.TimePicker=x.TimePicker,exports.TimeRangePicker=x.TimeRangePicker,exports.clampNumber=a.clampNumber,exports.clampQuantity=c.clampQuantity,exports.formatPhoneDigits=s.formatPhoneDigits,exports.onlyDigits=s.onlyDigits,exports.parseMoneyInput=r.parseMoneyInput,exports.parseNumberInput=a.parseNumberInput;
@@ -18,7 +18,5 @@ export * from "./search-input";
18
18
  export * from "./slider";
19
19
  export * from "./tag-input";
20
20
  export * from "./inline-editable";
21
- export * from "./cascader";
22
21
  export * from "./json-input";
23
- export * from "./mention-input";
24
22
  export * from "./time-picker";
@@ -18,8 +18,6 @@ import { Rating as C } from "./rating.js";
18
18
  import { RangeSlider as w, Slider as T } from "./slider.js";
19
19
  import { TagInput as E } from "./tag-input.js";
20
20
  import { InlineEditable as D } from "./inline-editable.js";
21
- import { Cascader as O } from "./cascader.js";
22
- import { JsonInput as k } from "./json-input.js";
23
- import { MentionInput as A } from "./mention-input.js";
24
- import { DateTimePicker as j, TimePicker as M, TimeRangePicker as N } from "./time-picker.js";
25
- export { g as AsyncMultiSelect, _ as AsyncSelect, O as Cascader, e as ClearableInput, b as ColorInput, v as Combobox, t as DateInput, n as DateRangeInput, j as DateTimePicker, D as InlineEditable, k as JsonInput, a as MaskedInput, A as MentionInput, r as MoneyInput, o as NumberInput, x as OtpInput, l as PasswordInput, u as PhoneInput, p as QuantityInput, S as QuantityStepper, w as RangeSlider, C as Rating, h as SearchInput, y as SimpleSelect, T as Slider, E as TagInput, M as TimePicker, N as TimeRangePicker, s as clampNumber, m as clampQuantity, d as formatPhoneDigits, f as onlyDigits, i as parseMoneyInput, c as parseNumberInput };
21
+ import { JsonInput as O } from "./json-input.js";
22
+ import { DateTimePicker as k, TimePicker as A, TimeRangePicker as j } from "./time-picker.js";
23
+ export { g as AsyncMultiSelect, _ as AsyncSelect, e as ClearableInput, b as ColorInput, v as Combobox, t as DateInput, n as DateRangeInput, k as DateTimePicker, D as InlineEditable, O as JsonInput, a as MaskedInput, r as MoneyInput, o as NumberInput, x as OtpInput, l as PasswordInput, u as PhoneInput, p as QuantityInput, S as QuantityStepper, w as RangeSlider, C as Rating, h as SearchInput, y as SimpleSelect, T as Slider, E as TagInput, A as TimePicker, j as TimeRangePicker, s as clampNumber, m as clampQuantity, d as formatPhoneDigits, f as onlyDigits, i as parseMoneyInput, c as parseNumberInput };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/select/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("lucide-react"),a=require("react/jsx-runtime");function o(e,t){let n=t.trim().toLowerCase();return n?[typeof e.label==`string`||typeof e.label==`number`?String(e.label):e.value,e.value,...e.keywords??[]].join(` `).toLowerCase().includes(n):!0}function s({value:e,onValueChange:s,options:c,placeholder:l=`Select`,searchPlaceholder:u=`Search options...`,emptyLabel:d=`No options found`,clearLabel:f=`Clear selection`,size:p=`default`,clearable:m=!1,searchable:h=!1,loading:g=!1,loadingLabel:_=`Loading options...`,disabled:v=!1,triggerClassName:y,contentClassName:b,itemClassName:x,searchClassName:S,renderOption:C,invalid:w,...T}){let[E,D]=r.useState(``),O=c.find(t=>t.value===e),k=c.filter(e=>o(e,E));return(0,a.jsxs)(n.Select,{value:e,onValueChange:e=>s?.(e),disabled:v||g,...T,children:[(0,a.jsxs)(n.SelectTrigger,{size:p,"aria-invalid":w||void 0,className:t.cn(`w-full`,y),children:[(0,a.jsx)(n.SelectValue,{placeholder:l,children:O?.label}),g?(0,a.jsx)(i.LoaderCircleIcon,{className:`size-4 animate-spin text-muted-foreground`}):null,m&&e&&!v&&!g?(0,a.jsx)(`button`,{type:`button`,"aria-label":f,className:`ml-1 rounded-[var(--radius-sm)] border border-border/65 p-1 text-muted-foreground transition-colors hover:border-border hover:bg-muted/55 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:e=>{e.preventDefault(),t.stopInteractivePropagation(e),s?.(void 0)},onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation,children:(0,a.jsx)(i.XIcon,{className:`size-3.5`})}):null]}),(0,a.jsxs)(n.SelectContent,{className:t.cn(`w-(--anchor-width)`,b),children:[h?(0,a.jsxs)(`div`,{"data-slot":`select-search`,className:`sticky top-0 z-10 mb-1 flex items-center gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-card-border,var(--border))] bg-popover px-2.5 py-2 text-sm`,children:[(0,a.jsx)(i.SearchIcon,{className:`size-4 text-muted-foreground`}),(0,a.jsx)(`input`,{value:E,onChange:e=>D(e.target.value),placeholder:u,className:t.cn(`min-w-0 flex-1 bg-transparent outline-none placeholder:text-muted-foreground`,S)})]}):null,g?(0,a.jsxs)(`div`,{"data-slot":`select-state`,className:`flex items-center gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--muted),transparent_55%)] px-3 py-2.5 text-sm text-muted-foreground`,children:[(0,a.jsx)(i.LoaderCircleIcon,{className:`size-4 animate-spin`}),_]}):k.length===0?(0,a.jsx)(`div`,{"data-slot":`select-state`,className:`rounded-[var(--radius-md)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--muted),transparent_55%)] px-3 py-2.5 text-sm text-muted-foreground`,children:d}):k.map(r=>{let o=r.value===e;return(0,a.jsx)(n.SelectItem,{value:r.value,disabled:r.disabled,className:t.cn(`rounded-[var(--radius-md)]`,x),children:C?C(r,{selected:o}):(0,a.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,a.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,a.jsx)(`span`,{className:`truncate`,children:r.label}),o?(0,a.jsx)(i.CheckIcon,{className:`ml-auto size-3.5 text-primary`}):null]}),r.description&&(0,a.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:r.description})]})},r.value)})]})]})}exports.SimpleSelect=s;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/select/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("lucide-react"),a=require("react/jsx-runtime");function o(e,t){let n=t.trim().toLowerCase();return n?[typeof e.label==`string`||typeof e.label==`number`?String(e.label):e.value,e.value,...e.keywords??[]].join(` `).toLowerCase().includes(n):!0}function s({value:e,onValueChange:s,options:c,placeholder:l=`Select`,searchPlaceholder:u=`Search options...`,emptyLabel:d=`No options found`,clearLabel:f=`Clear selection`,size:p=`default`,clearable:m=!1,searchable:h=!1,loading:g=!1,loadingLabel:_=`Loading options...`,disabled:v=!1,showSelectedDescription:y=!0,triggerClassName:b,contentClassName:x,itemClassName:S,searchClassName:C,renderOption:w,invalid:T,onOpenChange:E,...D}){let[O,k]=r.useState(``),A=c.find(t=>t.value===e),j=c.filter(e=>o(e,O));return(0,a.jsxs)(n.Select,{value:e,onValueChange:e=>s?.(e),disabled:v||g,onOpenChange:(e,t)=>{e||k(``),E?.(e,t)},...D,children:[(0,a.jsxs)(n.SelectTrigger,{size:p,"aria-invalid":T||void 0,className:t.cn(`w-full`,b),children:[(0,a.jsx)(n.SelectValue,{placeholder:l,children:A?(0,a.jsxs)(`span`,{className:`flex min-w-0 flex-col items-start`,children:[(0,a.jsx)(`span`,{className:`truncate`,children:A.label}),y&&A.description?(0,a.jsx)(`span`,{className:`truncate text-[11px] font-medium text-muted-foreground`,children:A.description}):null]}):null}),g?(0,a.jsx)(i.LoaderCircleIcon,{className:`size-4 animate-spin text-muted-foreground`}):null,m&&e&&!v&&!g?(0,a.jsx)(`span`,{role:`button`,tabIndex:0,"aria-label":f,className:`ml-1 rounded-[var(--radius-sm)] border border-border/65 p-1 text-muted-foreground transition-colors hover:border-border hover:bg-muted/55 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:e=>{e.preventDefault(),t.stopInteractivePropagation(e),s?.(void 0)},onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),s?.(void 0))},children:(0,a.jsx)(i.XIcon,{className:`size-3.5`})}):null]}),(0,a.jsxs)(n.SelectContent,{className:t.cn(`w-(--anchor-width)`,x),children:[h?(0,a.jsxs)(`div`,{"data-slot":`select-search`,className:`sticky top-0 z-10 mb-1 flex items-center gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-card-border,var(--border))] bg-popover px-2.5 py-2 text-sm`,children:[(0,a.jsx)(i.SearchIcon,{className:`size-4 text-muted-foreground`}),(0,a.jsx)(`input`,{value:O,onChange:e=>k(e.target.value),placeholder:u,className:t.cn(`min-w-0 flex-1 bg-transparent outline-none placeholder:text-muted-foreground`,C)})]}):null,g?(0,a.jsxs)(`div`,{"data-slot":`select-state`,className:`flex items-center gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--muted),transparent_55%)] px-3 py-2.5 text-sm text-muted-foreground`,children:[(0,a.jsx)(i.LoaderCircleIcon,{className:`size-4 animate-spin`}),_]}):j.length===0?(0,a.jsx)(`div`,{"data-slot":`select-state`,className:`rounded-[var(--radius-md)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--muted),transparent_55%)] px-3 py-2.5 text-sm text-muted-foreground`,children:d}):j.map(r=>{let o=r.value===e;return(0,a.jsx)(n.SelectItem,{value:r.value,disabled:r.disabled,className:t.cn(`rounded-[var(--radius-md)]`,S),children:w?w(r,{selected:o}):(0,a.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,a.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,a.jsx)(`span`,{className:`truncate`,children:r.label}),o?(0,a.jsx)(i.CheckIcon,{className:`ml-auto size-3.5 text-primary`}):null]}),r.description&&(0,a.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:r.description})]})},r.value)})]})]})}exports.SimpleSelect=s;
@@ -21,6 +21,7 @@ export type SimpleSelectProps = Omit<React.ComponentProps<typeof Select>, "value
21
21
  loading?: boolean;
22
22
  loadingLabel?: React.ReactNode;
23
23
  disabled?: boolean;
24
+ showSelectedDescription?: boolean;
24
25
  triggerClassName?: string;
25
26
  contentClassName?: string;
26
27
  itemClassName?: string;
@@ -30,5 +31,5 @@ export type SimpleSelectProps = Omit<React.ComponentProps<typeof Select>, "value
30
31
  }) => React.ReactNode;
31
32
  invalid?: boolean;
32
33
  };
33
- declare function SimpleSelect({ value, onValueChange, options, placeholder, searchPlaceholder, emptyLabel, clearLabel, size, clearable, searchable, loading, loadingLabel, disabled, triggerClassName, contentClassName, itemClassName, searchClassName, renderOption, invalid, ...props }: SimpleSelectProps): React.JSX.Element;
34
+ declare function SimpleSelect({ value, onValueChange, options, placeholder, searchPlaceholder, emptyLabel, clearLabel, size, clearable, searchable, loading, loadingLabel, disabled, showSelectedDescription, triggerClassName, contentClassName, itemClassName, searchClassName, renderOption, invalid, onOpenChange, ...props }: SimpleSelectProps): React.JSX.Element;
34
35
  export { SimpleSelect };
@@ -12,25 +12,38 @@ function m(e, t) {
12
12
  ...e.keywords ?? []
13
13
  ].join(" ").toLowerCase().includes(n) : !0;
14
14
  }
15
- function h({ value: h, onValueChange: g, options: _, placeholder: v = "Select", searchPlaceholder: y = "Search options...", emptyLabel: b = "No options found", clearLabel: x = "Clear selection", size: S = "default", clearable: C = !1, searchable: w = !1, loading: T = !1, loadingLabel: E = "Loading options...", disabled: D = !1, triggerClassName: O, contentClassName: k, itemClassName: A, searchClassName: j, renderOption: M, invalid: N, ...P }) {
16
- let [F, I] = s.useState(""), L = _.find((e) => e.value === h), R = _.filter((e) => m(e, F));
15
+ function h({ value: h, onValueChange: g, options: _, placeholder: v = "Select", searchPlaceholder: y = "Search options...", emptyLabel: b = "No options found", clearLabel: x = "Clear selection", size: S = "default", clearable: C = !1, searchable: w = !1, loading: T = !1, loadingLabel: E = "Loading options...", disabled: D = !1, showSelectedDescription: O = !0, triggerClassName: k, contentClassName: A, itemClassName: j, searchClassName: M, renderOption: N, invalid: P, onOpenChange: F, ...I }) {
16
+ let [L, R] = s.useState(""), z = _.find((e) => e.value === h), B = _.filter((e) => m(e, L));
17
17
  return /* @__PURE__ */ p(n, {
18
18
  value: h,
19
19
  onValueChange: (e) => g?.(e),
20
20
  disabled: D || T,
21
- ...P,
21
+ onOpenChange: (e, t) => {
22
+ e || R(""), F?.(e, t);
23
+ },
24
+ ...I,
22
25
  children: [/* @__PURE__ */ p(a, {
23
26
  size: S,
24
- "aria-invalid": N || void 0,
25
- className: e("w-full", O),
27
+ "aria-invalid": P || void 0,
28
+ className: e("w-full", k),
26
29
  children: [
27
30
  /* @__PURE__ */ f(o, {
28
31
  placeholder: v,
29
- children: L?.label
32
+ children: z ? /* @__PURE__ */ p("span", {
33
+ className: "flex min-w-0 flex-col items-start",
34
+ children: [/* @__PURE__ */ f("span", {
35
+ className: "truncate",
36
+ children: z.label
37
+ }), O && z.description ? /* @__PURE__ */ f("span", {
38
+ className: "truncate text-[11px] font-medium text-muted-foreground",
39
+ children: z.description
40
+ }) : null]
41
+ }) : null
30
42
  }),
31
43
  T ? /* @__PURE__ */ f(l, { className: "size-4 animate-spin text-muted-foreground" }) : null,
32
- C && h && !D && !T ? /* @__PURE__ */ f("button", {
33
- type: "button",
44
+ C && h && !D && !T ? /* @__PURE__ */ f("span", {
45
+ role: "button",
46
+ tabIndex: 0,
34
47
  "aria-label": x,
35
48
  className: "ml-1 rounded-[var(--radius-sm)] border border-border/65 p-1 text-muted-foreground transition-colors hover:border-border hover:bg-muted/55 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
36
49
  onClick: (e) => {
@@ -38,35 +51,38 @@ function h({ value: h, onValueChange: g, options: _, placeholder: v = "Select",
38
51
  },
39
52
  onMouseDown: t,
40
53
  onDoubleClick: t,
54
+ onKeyDown: (e) => {
55
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), g?.(void 0));
56
+ },
41
57
  children: /* @__PURE__ */ f(d, { className: "size-3.5" })
42
58
  }) : null
43
59
  ]
44
60
  }), /* @__PURE__ */ p(r, {
45
- className: e("w-(--anchor-width)", k),
61
+ className: e("w-(--anchor-width)", A),
46
62
  children: [w ? /* @__PURE__ */ p("div", {
47
63
  "data-slot": "select-search",
48
64
  className: "sticky top-0 z-10 mb-1 flex items-center gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-card-border,var(--border))] bg-popover px-2.5 py-2 text-sm",
49
65
  children: [/* @__PURE__ */ f(u, { className: "size-4 text-muted-foreground" }), /* @__PURE__ */ f("input", {
50
- value: F,
51
- onChange: (e) => I(e.target.value),
66
+ value: L,
67
+ onChange: (e) => R(e.target.value),
52
68
  placeholder: y,
53
- className: e("min-w-0 flex-1 bg-transparent outline-none placeholder:text-muted-foreground", j)
69
+ className: e("min-w-0 flex-1 bg-transparent outline-none placeholder:text-muted-foreground", M)
54
70
  })]
55
71
  }) : null, T ? /* @__PURE__ */ p("div", {
56
72
  "data-slot": "select-state",
57
73
  className: "flex items-center gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--muted),transparent_55%)] px-3 py-2.5 text-sm text-muted-foreground",
58
74
  children: [/* @__PURE__ */ f(l, { className: "size-4 animate-spin" }), E]
59
- }) : R.length === 0 ? /* @__PURE__ */ f("div", {
75
+ }) : B.length === 0 ? /* @__PURE__ */ f("div", {
60
76
  "data-slot": "select-state",
61
77
  className: "rounded-[var(--radius-md)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--muted),transparent_55%)] px-3 py-2.5 text-sm text-muted-foreground",
62
78
  children: b
63
- }) : R.map((t) => {
79
+ }) : B.map((t) => {
64
80
  let n = t.value === h;
65
81
  return /* @__PURE__ */ f(i, {
66
82
  value: t.value,
67
83
  disabled: t.disabled,
68
- className: e("rounded-[var(--radius-md)]", A),
69
- children: M ? M(t, { selected: n }) : /* @__PURE__ */ p("span", {
84
+ className: e("rounded-[var(--radius-md)]", j),
85
+ children: N ? N(t, { selected: n }) : /* @__PURE__ */ p("span", {
70
86
  className: "flex min-w-0 flex-1 flex-col",
71
87
  children: [/* @__PURE__ */ p("span", {
72
88
  className: "flex min-w-0 items-center gap-2",
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/tooltip/index.cjs"),r=require("../../hooks/use-is-mobile.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("lucide-react"),o=require("react/jsx-runtime");var s=1024;function c(e){return e.items?.some(e=>!e.hidden)??!1}function l(e){return e.active?!0:e.items?.some(e=>l(e))??!1}function u(e,t){e.onSelect?.(),t?.(e)}function d({item:e,collapsed:r,depth:i,onItemSelect:a,renderLink:s}){let c={"aria-current":e.current??(e.active?`page`:void 0),"aria-disabled":e.disabled||void 0,"data-slot":`app-sidebar-item`,"data-active":e.active||void 0,"data-disabled":e.disabled||void 0,"data-depth":String(i),className:t.cn(`flex min-h-9 items-center gap-2 rounded-lg border border-transparent px-2.5 text-sm font-medium outline-none transition-[background-color,border-color,color,box-shadow] data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`,r&&`justify-center px-2`)},l=(0,o.jsxs)(o.Fragment,{children:[e.icon&&(0,o.jsx)(`span`,{className:`shrink-0`,children:e.icon}),!r&&(0,o.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),!r&&e.badge&&(0,o.jsx)(`span`,{className:`shrink-0`,children:e.badge})]}),d=t=>r?(0,o.jsx)(n.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,o.jsx)(`span`,{className:`block`,children:t})}):t;return e.href?.startsWith(`/`)?d(s?(0,o.jsx)(o.Fragment,{children:s({item:e,href:e.href,...c,onClick:t=>{if(e.disabled){t.preventDefault();return}u(e,a)},children:l})}):(0,o.jsx)(`a`,{href:e.href,...c,onClick:t=>{if(e.disabled){t.preventDefault();return}u(e,a)},children:l})):e.href?d((0,o.jsx)(`button`,{type:`button`,...c,className:t.cn(c.className,`w-full`),onClick:()=>{if(e.disabled)return;let t=e.href;if(t){if(u(e,a),t.startsWith(`http`)){window.open(t,`_blank`,`noopener,noreferrer`);return}window.location.assign(t)}},children:l})):d((0,o.jsx)(`button`,{type:`button`,disabled:e.disabled,...c,onClick:()=>{e.disabled||u(e,a)},children:l}))}function f({items:e,collapsed:r,depth:a,onItemSelect:s,renderLink:u}){return e.map(e=>{if(e.hidden)return null;let p=c(e),m=l(e),h=!r&&a===0&&e.sectionLabel;if(!p)return(0,o.jsxs)(i.Fragment,{children:[h?(0,o.jsx)(`div`,{"data-slot":`app-sidebar-group-label`,className:`px-2.5 pb-1 pt-3 text-[11px] font-semibold uppercase tracking-[0.14em] text-muted-foreground first:pt-0`,children:e.sectionLabel}):null,(0,o.jsx)(d,{item:e,collapsed:r,depth:a,onItemSelect:s,renderLink:u})]},e.key);let g=e.defaultExpanded??m;return(0,o.jsxs)(`div`,{"data-slot":`app-sidebar-group`,"data-depth":a,children:[h&&(0,o.jsx)(`div`,{"data-slot":`app-sidebar-group-label`,className:`px-2.5 pb-1 pt-3 text-[11px] font-semibold uppercase tracking-[0.14em] text-muted-foreground first:pt-0`,children:e.sectionLabel}),(0,o.jsxs)(`details`,{"data-slot":`app-sidebar-group-details`,open:g,className:`group/app-sidebar-details`,children:[(0,o.jsxs)(`summary`,{"data-slot":`app-sidebar-group-trigger`,className:t.cn(`flex min-h-9 list-none items-center gap-2 rounded-lg border border-transparent text-sm font-medium outline-none transition-[background-color,border-color,color,box-shadow]`,r?`justify-center px-2`:`px-2.5`),children:[e.icon?r?(0,o.jsx)(n.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,o.jsx)(`span`,{className:`shrink-0`,children:e.icon})}):(0,o.jsx)(`span`,{className:`shrink-0`,children:e.icon}):null,!r&&(0,o.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),!r&&e.badge&&(0,o.jsx)(`span`,{className:`shrink-0`,children:e.badge}),!r&&(0,o.jsx)(`span`,{"data-slot":`app-sidebar-group-chevron`,className:`ml-auto text-xs text-muted-foreground transition-transform group-open/app-sidebar-details:rotate-90`,children:`›`})]}),(0,o.jsx)(`div`,{"data-slot":`app-sidebar-group-content`,className:t.cn(`mt-1 space-y-1`,!r&&`pl-3`),children:(0,o.jsx)(f,{items:e.items??[],collapsed:r,depth:a+1,onItemSelect:s,renderLink:u})})]})]},e.key)})}function p({item:e,collapsed:r,onItemSelect:i}){let a=(0,o.jsxs)(`button`,{type:`button`,"data-slot":`app-sidebar-action`,"data-active":e.active||void 0,"data-disabled":e.disabled||void 0,className:t.cn(`flex min-h-9 items-center gap-2 rounded-lg border border-transparent px-2.5 text-sm font-medium outline-none transition-[background-color,border-color,color,box-shadow] data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`,r&&`justify-center px-2`),disabled:e.disabled,onClick:()=>{e.disabled||u(e,i)},children:[e.icon?(0,o.jsx)(`span`,{className:`shrink-0`,children:e.icon}):null,r?null:(0,o.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),!r&&e.badge?(0,o.jsx)(`span`,{className:`shrink-0`,children:e.badge}):null]});return r?(0,o.jsx)(n.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,o.jsx)(`span`,{className:`block`,children:a})}):a}function m({account:e,collapsed:r,onAfterSelect:i}){let a=(0,o.jsxs)(`button`,{type:`button`,"data-slot":`app-sidebar-account`,className:t.cn(`flex w-full items-center gap-3 rounded-[min(var(--radius-xl),16px)] border border-transparent text-left transition-[background-color,border-color,color,box-shadow]`,r?`justify-center px-2 py-2.5`:`px-3 py-2.5`),onClick:()=>{if(e.onSelect?.(),i?.(),e.href){if(e.href.startsWith(`http`)){window.open(e.href,`_blank`,`noopener,noreferrer`);return}window.location.assign(e.href)}},children:[e.avatar?(0,o.jsx)(`span`,{"data-slot":`app-sidebar-account-avatar`,className:`inline-flex size-9 shrink-0 items-center justify-center overflow-hidden rounded-full border border-border/65 bg-muted/45 text-sm font-semibold`,children:e.avatar}):null,r?null:(0,o.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,o.jsx)(`span`,{"data-slot":`app-sidebar-account-label`,className:`block truncate text-sm font-semibold text-foreground`,children:e.label}),e.description?(0,o.jsx)(`span`,{"data-slot":`app-sidebar-account-description`,className:`block truncate text-xs text-muted-foreground`,children:e.description}):null]})]});return r?(0,o.jsx)(n.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,o.jsx)(`span`,{className:`block`,children:a})}):a}function h({className:e,header:r,footer:s,items:c=[],collapsed:l=!1,collapsedRail:u,railItems:d=[],footerAccount:h,secondaryActions:g=[],footerSecondary:_,tooltipOnCollapsed:v,onItemSelect:y,renderItem:b,renderLink:x,children:S,mobile:C,mobileTitle:w,mobileDescription:T,onRequestClose:E,closeOnSelect:D=!0,...O}){let k=c.filter(e=>!e.hidden),A=d.filter(e=>!e.hidden),j=g.filter(e=>!e.hidden),M=i.useCallback(e=>{y?.(e),C&&D&&E?.()},[D,C,y,E]),N=C&&(w||T||E);return(0,o.jsxs)(`aside`,{"data-slot":`app-sidebar`,"data-collapsed":l||void 0,"data-mobile":C||void 0,className:t.cn(`flex h-full min-h-0 flex-col overflow-hidden`,e),...O,children:[(r||N)&&(0,o.jsx)(`div`,{"data-slot":`app-sidebar-header`,className:`shrink-0 border-b p-3`,children:(0,o.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,o.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[r??null,N?(0,o.jsxs)(`div`,{className:t.cn(r&&`mt-3`),children:[w?(0,o.jsx)(`p`,{className:`text-sm font-semibold text-foreground`,children:w}):null,T?(0,o.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:T}):null]}):null]}),C&&E?(0,o.jsx)(`button`,{type:`button`,"aria-label":`Close navigation`,"data-slot":`app-sidebar-mobile-close`,className:`inline-flex size-9 shrink-0 items-center justify-center rounded-xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg-alt)] text-[color:var(--aui-page-foreground)] transition hover:bg-[color:var(--aui-control-bg)]`,onClick:E,children:(0,o.jsx)(a.XIcon,{className:`size-4`})}):null]})}),(0,o.jsxs)(`nav`,{"data-slot":`app-sidebar-nav`,className:`min-h-0 flex-1 space-y-1 overflow-y-auto overscroll-contain p-2`,children:[S??k.map(e=>{if(!b)return null;let t=b(e,{collapsed:l});return!l||!v?(0,o.jsx)(i.Fragment,{children:t},e.key):(0,o.jsx)(n.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,o.jsx)(`span`,{className:`block`,children:t})},e.key)}),!S&&!b&&(0,o.jsx)(f,{items:k,collapsed:l,depth:0,onItemSelect:M,renderLink:x})]}),(h||_||s||j.length>0||l&&(u||A.length>0))&&(0,o.jsxs)(`div`,{"data-slot":`app-sidebar-footer`,className:`shrink-0 border-t p-3`,children:[l?(0,o.jsxs)(o.Fragment,{children:[A.length>0?(0,o.jsx)(`div`,{"data-slot":`app-sidebar-rail-actions`,className:`grid gap-2`,children:A.map(e=>(0,o.jsx)(p,{item:e,collapsed:!0,onItemSelect:M},e.key))}):null,u?(0,o.jsx)(`div`,{"data-slot":`app-sidebar-rail`,children:u}):null]}):null,!l&&h?(0,o.jsx)(`div`,{"data-slot":`app-sidebar-account-wrap`,className:`mb-3`,children:(0,o.jsx)(m,{account:h,collapsed:!1,onAfterSelect:()=>{C&&D&&E?.()}})}):null,!l&&j.length>0?(0,o.jsx)(`div`,{"data-slot":`app-sidebar-secondary-actions`,className:`mb-3 grid gap-2`,children:j.map(e=>(0,o.jsx)(p,{item:e,collapsed:!1,onItemSelect:M},e.key))}):null,!l&&_?(0,o.jsx)(`div`,{"data-slot":`app-sidebar-footer-secondary`,className:`mb-3`,children:_}):null,l&&h?(0,o.jsx)(`div`,{"data-slot":`app-sidebar-account-wrap`,children:(0,o.jsx)(m,{account:h,collapsed:!0,onAfterSelect:()=>{C&&D&&E?.()}})}):null,!l&&s]})]})}function g({className:e,header:n,footer:c,items:l=[],collapsed:u=!1,collapsedRail:d,railItems:f=[],footerAccount:p,secondaryActions:m=[],footerSecondary:g,tooltipOnCollapsed:_=!0,responsive:v=!0,mobileBreakpoint:y=s,mobileOpen:b,defaultMobileOpen:x=!1,onMobileOpenChange:S,mobileTitle:C,mobileDescription:w,mobileToggleLabel:T=`Open navigation`,mobileToggleIcon:E,showMobileToggle:D=!0,closeOnSelect:O=!0,mobileToggleClassName:k,mobilePanelClassName:A,mobileOverlayClassName:j,renderMobileToggle:M,onItemSelect:N,renderItem:P,renderLink:F,children:I,...L}){let R=v?r.useIsMobile(y):!1,[z,B]=i.useState(x),V=b??z,H=i.useCallback(e=>{b??B(e),S?.(e)},[b,S]);i.useEffect(()=>{!R&&V&&H(!1)},[R,V,H]),i.useEffect(()=>{if(!R||!V)return;let e=document.body.style.overflow;document.body.style.overflow=`hidden`;let t=e=>{e.key===`Escape`&&H(!1)};return window.addEventListener(`keydown`,t),()=>{document.body.style.overflow=e,window.removeEventListener(`keydown`,t)}},[R,V,H]);let U={className:e,header:n,footer:c,items:l,collapsed:u,collapsedRail:d,railItems:f,footerAccount:p,secondaryActions:m,footerSecondary:g,tooltipOnCollapsed:_,closeOnSelect:O,onItemSelect:N,renderItem:P,renderLink:F,children:I,...L};if(!v||!R)return(0,o.jsx)(h,{...U});let W=(0,o.jsxs)(`button`,{type:`button`,"aria-label":V?`Close navigation`:T,"data-slot":`app-sidebar-mobile-trigger`,"data-state":V?`open`:`closed`,className:t.cn(`inline-flex min-h-10 items-center gap-2 rounded-xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] px-3 text-sm font-medium text-[color:var(--aui-page-foreground)] shadow-sm transition hover:bg-[color:var(--aui-page-bg-alt)]`,k),onClick:()=>H(!V),children:[(0,o.jsx)(`span`,{className:`inline-flex size-8 items-center justify-center rounded-lg bg-[color:var(--aui-page-bg-alt)]`,children:E??(0,o.jsx)(a.MenuIcon,{className:`size-4`})}),(0,o.jsx)(`span`,{children:V?`Close navigation`:T})]});return(0,o.jsxs)(o.Fragment,{children:[D?M?M({open:V,setOpen:H}):W:null,(0,o.jsxs)(`div`,{"data-slot":`app-sidebar-mobile-root`,className:`relative z-40`,children:[(0,o.jsx)(`button`,{type:`button`,"aria-label":`Dismiss navigation`,"data-slot":`app-sidebar-mobile-overlay`,"data-state":V?`open`:`closed`,className:t.cn(`fixed inset-0 z-40 bg-black/45 transition-opacity duration-200`,V?`opacity-100`:`pointer-events-none opacity-0`,j),onClick:()=>H(!1)}),(0,o.jsx)(h,{...U,mobile:!0,collapsed:!1,mobileTitle:C,mobileDescription:w,onRequestClose:()=>H(!1),"data-state":V?`open`:`closed`,role:`dialog`,"aria-modal":`true`,"aria-label":typeof C==`string`?C:`Navigation`,className:t.cn(`fixed inset-y-0 left-0 z-50 w-[min(88vw,22rem)] max-w-[22rem] border-r border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] shadow-2xl transition-transform duration-200 ease-out`,V?`translate-x-0`:`-translate-x-full`,A,e)})]})]})}var _=g;exports.AppSidebar=g,exports.Sidebar=_;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/tooltip/index.cjs"),r=require("../../hooks/use-is-mobile.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("lucide-react"),o=require("react/jsx-runtime");var s=1024,c=`18rem`,l=`4.75rem`,u=`min(88vw, 22rem)`;function d({active:e,disabled:n}){return t.cn(`border-[color:transparent] text-foreground/80 hover:border-[color:var(--aui-divider)] hover:bg-[color:color-mix(in_oklch,var(--card),var(--primary)_4%)] hover:text-foreground focus-visible:border-[color:var(--aui-control-border-strong,var(--border))] focus-visible:bg-[color:color-mix(in_oklch,var(--card),var(--primary)_6%)] focus-visible:text-foreground focus-visible:shadow-[0_0_0_3px_color-mix(in_oklch,var(--primary),transparent_86%)]`,e&&`border-[color:color-mix(in_oklch,var(--primary),transparent_76%)] bg-[color:color-mix(in_oklch,var(--primary),transparent_91%)] text-foreground shadow-[inset_0_1px_0_rgba(255,255,255,0.08)]`,n&&`hover:border-transparent hover:bg-transparent hover:text-foreground/80`)}function f(e){return e.items?.some(e=>!e.hidden)??!1}function p(e){return e.active?!0:e.items?.some(e=>p(e))??!1}function m(e,t){e.onSelect?.(),t?.(e)}function h({item:e,collapsed:r,depth:i,onItemSelect:a,renderLink:s}){let c={"aria-current":e.current??(e.active?`page`:void 0),"aria-disabled":e.disabled||void 0,"data-slot":`app-sidebar-item`,"data-active":e.active||void 0,"data-disabled":e.disabled||void 0,"data-depth":String(i),className:t.cn(`flex min-h-9 items-center gap-2 rounded-lg border border-transparent px-2.5 text-sm font-medium outline-none transition-[background-color,border-color,color,box-shadow] data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`,d({active:e.active,disabled:e.disabled}),r&&`justify-center px-2`)},l=(0,o.jsxs)(o.Fragment,{children:[e.icon&&(0,o.jsx)(`span`,{className:`shrink-0`,children:e.icon}),!r&&(0,o.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),!r&&e.badge&&(0,o.jsx)(`span`,{className:`shrink-0`,children:e.badge})]}),u=t=>r?(0,o.jsx)(n.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,o.jsx)(`span`,{className:`block`,children:t})}):t;return e.href?.startsWith(`/`)?u(s?(0,o.jsx)(o.Fragment,{children:s({item:e,href:e.href,...c,onClick:t=>{if(e.disabled){t.preventDefault();return}m(e,a)},children:l})}):(0,o.jsx)(`a`,{href:e.href,...c,onClick:t=>{if(e.disabled){t.preventDefault();return}m(e,a)},children:l})):e.href?u((0,o.jsx)(`button`,{type:`button`,...c,className:t.cn(c.className,`w-full`),onClick:()=>{if(e.disabled)return;let t=e.href;if(t){if(m(e,a),t.startsWith(`http`)){window.open(t,`_blank`,`noopener,noreferrer`);return}window.location.assign(t)}},children:l})):u((0,o.jsx)(`button`,{type:`button`,disabled:e.disabled,...c,onClick:()=>{e.disabled||m(e,a)},children:l}))}function g({items:e,collapsed:r,depth:a,onItemSelect:s,renderLink:c}){return e.map(e=>{if(e.hidden)return null;let l=f(e),u=p(e),m=!r&&a===0&&e.sectionLabel;if(!l)return(0,o.jsxs)(i.Fragment,{children:[m?(0,o.jsx)(`div`,{"data-slot":`app-sidebar-group-label`,className:`px-2.5 pb-1 pt-3 text-[11px] font-semibold uppercase tracking-[0.14em] text-muted-foreground first:pt-0`,children:e.sectionLabel}):null,(0,o.jsx)(h,{item:e,collapsed:r,depth:a,onItemSelect:s,renderLink:c})]},e.key);let _=e.defaultExpanded??u;return(0,o.jsxs)(`div`,{"data-slot":`app-sidebar-group`,"data-depth":a,children:[m&&(0,o.jsx)(`div`,{"data-slot":`app-sidebar-group-label`,className:`px-2.5 pb-1 pt-3 text-[11px] font-semibold uppercase tracking-[0.14em] text-muted-foreground first:pt-0`,children:e.sectionLabel}),(0,o.jsxs)(`details`,{"data-slot":`app-sidebar-group-details`,open:_,className:`group/app-sidebar-details`,children:[(0,o.jsxs)(`summary`,{"data-slot":`app-sidebar-group-trigger`,className:t.cn(`flex min-h-9 list-none items-center gap-2 rounded-lg border border-transparent text-sm font-medium outline-none transition-[background-color,border-color,color,box-shadow]`,d({active:u}),r?`justify-center px-2`:`px-2.5`),children:[e.icon?r?(0,o.jsx)(n.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,o.jsx)(`span`,{className:`shrink-0`,children:e.icon})}):(0,o.jsx)(`span`,{className:`shrink-0`,children:e.icon}):null,!r&&(0,o.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),!r&&e.badge&&(0,o.jsx)(`span`,{className:`shrink-0`,children:e.badge}),!r&&(0,o.jsx)(`span`,{"data-slot":`app-sidebar-group-chevron`,className:`ml-auto text-xs text-muted-foreground transition-transform group-open/app-sidebar-details:rotate-90`,children:`›`})]}),(0,o.jsx)(`div`,{"data-slot":`app-sidebar-group-content`,className:t.cn(`mt-1 space-y-1`,!r&&`pl-3`),children:(0,o.jsx)(g,{items:e.items??[],collapsed:r,depth:a+1,onItemSelect:s,renderLink:c})})]})]},e.key)})}function _({item:e,collapsed:r,onItemSelect:i}){let a=(0,o.jsxs)(`button`,{type:`button`,"data-slot":`app-sidebar-action`,"data-active":e.active||void 0,"data-disabled":e.disabled||void 0,className:t.cn(`flex min-h-9 items-center gap-2 rounded-lg border border-transparent px-2.5 text-sm font-medium outline-none transition-[background-color,border-color,color,box-shadow] data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`,d({active:e.active,disabled:e.disabled}),r&&`justify-center px-2`),disabled:e.disabled,onClick:()=>{e.disabled||m(e,i)},children:[e.icon?(0,o.jsx)(`span`,{className:`shrink-0`,children:e.icon}):null,r?null:(0,o.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),!r&&e.badge?(0,o.jsx)(`span`,{className:`shrink-0`,children:e.badge}):null]});return r?(0,o.jsx)(n.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,o.jsx)(`span`,{className:`block`,children:a})}):a}function v({account:e,collapsed:r,onAfterSelect:i}){let a=(0,o.jsxs)(`button`,{type:`button`,"data-slot":`app-sidebar-account`,className:t.cn(`flex w-full items-center gap-3 rounded-[min(var(--radius-xl),16px)] border border-transparent text-left transition-[background-color,border-color,color,box-shadow]`,d({}),r?`justify-center px-2 py-2.5`:`px-3 py-2.5`),onClick:()=>{if(e.onSelect?.(),i?.(),e.href){if(e.href.startsWith(`http`)){window.open(e.href,`_blank`,`noopener,noreferrer`);return}window.location.assign(e.href)}},children:[e.avatar?(0,o.jsx)(`span`,{"data-slot":`app-sidebar-account-avatar`,className:`inline-flex size-9 shrink-0 items-center justify-center overflow-hidden rounded-full border border-border/65 bg-muted/45 text-sm font-semibold`,children:e.avatar}):null,r?null:(0,o.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,o.jsx)(`span`,{"data-slot":`app-sidebar-account-label`,className:`block truncate text-sm font-semibold text-foreground`,children:e.label}),e.description?(0,o.jsx)(`span`,{"data-slot":`app-sidebar-account-description`,className:`block truncate text-xs text-muted-foreground`,children:e.description}):null]})]});return r?(0,o.jsx)(n.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,o.jsx)(`span`,{className:`block`,children:a})}):a}function y({className:e,style:r,header:s,footer:u,items:d=[],collapsed:f=!1,width:p=c,collapsedWidth:m=l,collapsedRail:h,railItems:y=[],footerAccount:b,secondaryActions:x=[],footerSecondary:S,tooltipOnCollapsed:C,onItemSelect:w,renderItem:T,renderLink:E,children:D,mobile:O,mobileTitle:k,mobileDescription:A,onRequestClose:j,closeOnSelect:M=!0,...N}){let P=d.filter(e=>!e.hidden),F=y.filter(e=>!e.hidden),I=x.filter(e=>!e.hidden),L=i.useCallback(e=>{w?.(e),O&&M&&j?.()},[M,O,w,j]),R=O&&(k||A||j);return(0,o.jsxs)(`aside`,{"data-slot":`app-sidebar`,"data-collapsed":f||void 0,"data-mobile":O||void 0,className:t.cn(`flex h-full min-h-0 flex-col overflow-hidden`,e),style:{width:f?m:p,minWidth:f?m:p,...r},...N,children:[(s||R)&&(0,o.jsx)(`div`,{"data-slot":`app-sidebar-header`,className:`shrink-0 border-b p-3`,children:(0,o.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,o.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[s??null,R?(0,o.jsxs)(`div`,{className:t.cn(s&&`mt-3`),children:[k?(0,o.jsx)(`p`,{className:`text-sm font-semibold text-foreground`,children:k}):null,A?(0,o.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:A}):null]}):null]}),O&&j?(0,o.jsx)(`button`,{type:`button`,"aria-label":`Close navigation`,"data-slot":`app-sidebar-mobile-close`,className:`inline-flex size-9 shrink-0 items-center justify-center rounded-xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg-alt)] text-[color:var(--aui-page-foreground)] transition hover:bg-[color:var(--aui-control-bg)]`,onClick:j,children:(0,o.jsx)(a.XIcon,{className:`size-4`})}):null]})}),(0,o.jsxs)(`nav`,{"data-slot":`app-sidebar-nav`,className:`min-h-0 flex-1 space-y-1 overflow-y-auto overscroll-contain p-2`,children:[D??P.map(e=>{if(!T)return null;let t=T(e,{collapsed:f});return!f||!C?(0,o.jsx)(i.Fragment,{children:t},e.key):(0,o.jsx)(n.Tooltip,{content:e.tooltip??e.label,side:`right`,children:(0,o.jsx)(`span`,{className:`block`,children:t})},e.key)}),!D&&!T&&(0,o.jsx)(g,{items:P,collapsed:f,depth:0,onItemSelect:L,renderLink:E})]}),(b||S||u||I.length>0||f&&(h||F.length>0))&&(0,o.jsxs)(`div`,{"data-slot":`app-sidebar-footer`,className:`shrink-0 border-t p-3`,children:[f?(0,o.jsxs)(o.Fragment,{children:[F.length>0?(0,o.jsx)(`div`,{"data-slot":`app-sidebar-rail-actions`,className:`grid gap-2`,children:F.map(e=>(0,o.jsx)(_,{item:e,collapsed:!0,onItemSelect:L},e.key))}):null,h?(0,o.jsx)(`div`,{"data-slot":`app-sidebar-rail`,children:h}):null]}):null,!f&&b?(0,o.jsx)(`div`,{"data-slot":`app-sidebar-account-wrap`,className:`mb-3`,children:(0,o.jsx)(v,{account:b,collapsed:!1,onAfterSelect:()=>{O&&M&&j?.()}})}):null,!f&&I.length>0?(0,o.jsx)(`div`,{"data-slot":`app-sidebar-secondary-actions`,className:`mb-3 grid gap-2`,children:I.map(e=>(0,o.jsx)(_,{item:e,collapsed:!1,onItemSelect:L},e.key))}):null,!f&&S?(0,o.jsx)(`div`,{"data-slot":`app-sidebar-footer-secondary`,className:`mb-3`,children:S}):null,f&&b?(0,o.jsx)(`div`,{"data-slot":`app-sidebar-account-wrap`,children:(0,o.jsx)(v,{account:b,collapsed:!0,onAfterSelect:()=>{O&&M&&j?.()}})}):null,!f&&u]})]})}function b({className:e,header:n,footer:d,items:f=[],collapsed:p=!1,width:m=c,collapsedWidth:h=l,mobileWidth:g=u,collapsedRail:_,railItems:v=[],footerAccount:b,secondaryActions:x=[],footerSecondary:S,tooltipOnCollapsed:C=!0,responsive:w=!0,mobileBreakpoint:T=s,mobileOpen:E,defaultMobileOpen:D=!1,onMobileOpenChange:O,mobileTitle:k,mobileDescription:A,mobileToggleLabel:j=`Open navigation`,mobileToggleIcon:M,showMobileToggle:N=!0,closeOnSelect:P=!0,mobileToggleClassName:F,mobilePanelClassName:I,mobileOverlayClassName:L,renderMobileToggle:R,onItemSelect:z,renderItem:B,renderLink:V,children:H,...U}){let W=w?r.useIsMobile(T):!1,[G,K]=i.useState(D),q=E??G,J=i.useCallback(e=>{E??K(e),O?.(e)},[E,O]);i.useEffect(()=>{!W&&q&&J(!1)},[W,q,J]),i.useEffect(()=>{if(!W||!q)return;let e=document.body.style.overflow;document.body.style.overflow=`hidden`;let t=e=>{e.key===`Escape`&&J(!1)};return window.addEventListener(`keydown`,t),()=>{document.body.style.overflow=e,window.removeEventListener(`keydown`,t)}},[W,q,J]);let Y={className:e,header:n,footer:d,items:f,collapsed:p,width:m,collapsedWidth:h,collapsedRail:_,railItems:v,footerAccount:b,secondaryActions:x,footerSecondary:S,tooltipOnCollapsed:C,closeOnSelect:P,onItemSelect:z,renderItem:B,renderLink:V,children:H,...U};if(!w||!W)return(0,o.jsx)(y,{...Y});let X=(0,o.jsxs)(`button`,{type:`button`,"aria-label":q?`Close navigation`:j,"data-slot":`app-sidebar-mobile-trigger`,"data-state":q?`open`:`closed`,className:t.cn(`inline-flex min-h-10 items-center gap-2 rounded-xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] px-3 text-sm font-medium text-[color:var(--aui-page-foreground)] shadow-sm transition hover:bg-[color:var(--aui-page-bg-alt)]`,F),onClick:()=>J(!q),children:[(0,o.jsx)(`span`,{className:`inline-flex size-8 items-center justify-center rounded-lg bg-[color:var(--aui-page-bg-alt)]`,children:M??(0,o.jsx)(a.MenuIcon,{className:`size-4`})}),(0,o.jsx)(`span`,{children:q?`Close navigation`:j})]});return(0,o.jsxs)(o.Fragment,{children:[N?R?R({open:q,setOpen:J}):X:null,(0,o.jsxs)(`div`,{"data-slot":`app-sidebar-mobile-root`,className:`relative z-40`,children:[(0,o.jsx)(`button`,{type:`button`,"aria-label":`Dismiss navigation`,"data-slot":`app-sidebar-mobile-overlay`,"data-state":q?`open`:`closed`,className:t.cn(`fixed inset-0 z-40 bg-black/45 transition-opacity duration-200`,q?`opacity-100`:`pointer-events-none opacity-0`,L),onClick:()=>J(!1)}),(0,o.jsx)(y,{...Y,mobile:!0,collapsed:!1,mobileTitle:k,mobileDescription:A,onRequestClose:()=>J(!1),"data-state":q?`open`:`closed`,role:`dialog`,"aria-modal":`true`,"aria-label":typeof k==`string`?k:`Navigation`,className:t.cn(`fixed inset-y-0 left-0 z-50 max-w-[22rem] border-r border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg)] shadow-2xl transition-transform duration-200 ease-out`,q?`translate-x-0`:`-translate-x-full`,I,e),style:{width:g,minWidth:g}})]})]})}var x=b;exports.AppSidebar=b,exports.Sidebar=x;
@@ -28,6 +28,9 @@ export type AppSidebarProps = React.ComponentProps<"aside"> & {
28
28
  footer?: React.ReactNode;
29
29
  items?: AppSidebarNavItem[];
30
30
  collapsed?: boolean;
31
+ width?: React.CSSProperties["width"];
32
+ collapsedWidth?: React.CSSProperties["width"];
33
+ mobileWidth?: React.CSSProperties["width"];
31
34
  collapsedRail?: React.ReactNode;
32
35
  railItems?: AppSidebarNavItem[];
33
36
  footerAccount?: AppSidebarFooterAccount;
@@ -61,7 +64,7 @@ export type AppSidebarProps = React.ComponentProps<"aside"> & {
61
64
  [key: `data-${string}`]: string | boolean | undefined;
62
65
  }) => React.ReactNode;
63
66
  };
64
- declare function AppSidebar({ className, header, footer, items, collapsed, collapsedRail, railItems, footerAccount, secondaryActions, footerSecondary, tooltipOnCollapsed, responsive, mobileBreakpoint, mobileOpen: mobileOpenProp, defaultMobileOpen, onMobileOpenChange, mobileTitle, mobileDescription, mobileToggleLabel, mobileToggleIcon, showMobileToggle, closeOnSelect, mobileToggleClassName, mobilePanelClassName, mobileOverlayClassName, renderMobileToggle, onItemSelect, renderItem, renderLink, children, ...props }: AppSidebarProps): React.JSX.Element;
67
+ declare function AppSidebar({ className, header, footer, items, collapsed, width, collapsedWidth, mobileWidth, collapsedRail, railItems, footerAccount, secondaryActions, footerSecondary, tooltipOnCollapsed, responsive, mobileBreakpoint, mobileOpen: mobileOpenProp, defaultMobileOpen, onMobileOpenChange, mobileTitle, mobileDescription, mobileToggleLabel, mobileToggleIcon, showMobileToggle, closeOnSelect, mobileToggleClassName, mobilePanelClassName, mobileOverlayClassName, renderMobileToggle, onItemSelect, renderItem, renderLink, children, ...props }: AppSidebarProps): React.JSX.Element;
65
68
  /**
66
69
  * Canonical sidebar surface for new usage.
67
70
  */