tembro 2.0.4 → 2.0.6

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 (401) 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-pagination.cjs +1 -1
  20. package/dist/components/data-table/data-table-pagination.js +4 -4
  21. package/dist/components/data-table/data-table-toolbar.cjs +1 -1
  22. package/dist/components/data-table/data-table-toolbar.d.ts +5 -1
  23. package/dist/components/data-table/data-table-toolbar.js +36 -23
  24. package/dist/components/data-table/data-table.cjs +1 -1
  25. package/dist/components/data-table/data-table.d.ts +8 -6
  26. package/dist/components/data-table/data-table.js +89 -80
  27. package/dist/components/data-table/demo.cjs +1 -1
  28. package/dist/components/data-table/demo.js +3 -13
  29. package/dist/components/data-table/index.cjs +1 -1
  30. package/dist/components/data-table/index.js +5 -5
  31. package/dist/components/data-table/public.cjs +1 -1
  32. package/dist/components/data-table/public.d.ts +1 -6
  33. package/dist/components/data-table/public.js +7 -12
  34. package/dist/components/display/activity-feed.cjs +1 -1
  35. package/dist/components/display/activity-feed.d.ts +12 -1
  36. package/dist/components/display/activity-feed.js +69 -47
  37. package/dist/components/display/carousel.cjs +1 -1
  38. package/dist/components/display/carousel.d.ts +16 -1
  39. package/dist/components/display/carousel.js +71 -26
  40. package/dist/components/display/code-block.cjs +2 -1
  41. package/dist/components/display/code-block.d.ts +3 -1
  42. package/dist/components/display/code-block.js +33 -19
  43. package/dist/components/display/comparison-card.cjs +1 -1
  44. package/dist/components/display/comparison-card.d.ts +3 -3
  45. package/dist/components/display/comparison-card.js +14 -38
  46. package/dist/components/display/data-state.cjs +1 -1
  47. package/dist/components/display/data-state.d.ts +12 -2
  48. package/dist/components/display/data-state.js +80 -42
  49. package/dist/components/display/demo.cjs +1 -1
  50. package/dist/components/display/demo.js +1 -5
  51. package/dist/components/display/index.cjs +1 -1
  52. package/dist/components/display/index.d.ts +0 -3
  53. package/dist/components/display/index.js +21 -24
  54. package/dist/components/display/smart-card.d.ts +1 -1
  55. package/dist/components/display/status-legend.d.ts +1 -1
  56. package/dist/components/feedback/alert.cjs +1 -1
  57. package/dist/components/feedback/alert.d.ts +6 -1
  58. package/dist/components/feedback/alert.js +49 -19
  59. package/dist/components/feedback/index.cjs +1 -1
  60. package/dist/components/feedback/index.d.ts +0 -2
  61. package/dist/components/feedback/index.js +3 -5
  62. package/dist/components/filters/demo.cjs +1 -1
  63. package/dist/components/filters/demo.js +1 -5
  64. package/dist/components/filters/filter-bar.cjs +1 -1
  65. package/dist/components/filters/filter-bar.d.ts +15 -1
  66. package/dist/components/filters/filter-bar.js +94 -50
  67. package/dist/components/filters/index.cjs +1 -1
  68. package/dist/components/filters/index.d.ts +0 -1
  69. package/dist/components/filters/index.js +3 -4
  70. package/dist/components/form/form-field-shell.cjs +1 -1
  71. package/dist/components/form/form-field-shell.d.ts +17 -3
  72. package/dist/components/form/form-field-shell.js +54 -40
  73. package/dist/components/form/form-input.cjs +1 -1
  74. package/dist/components/form/form-input.d.ts +3 -4
  75. package/dist/components/form/form-input.js +285 -224
  76. package/dist/components/form/form-select.cjs +1 -1
  77. package/dist/components/form/form-select.d.ts +2 -2
  78. package/dist/components/form/form-select.js +49 -35
  79. package/dist/components/form/form-switch.cjs +1 -1
  80. package/dist/components/form/form-switch.js +79 -66
  81. package/dist/components/form/form-textarea.cjs +1 -1
  82. package/dist/components/form/form-textarea.js +59 -48
  83. package/dist/components/form/index.cjs +1 -1
  84. package/dist/components/form/index.js +14 -14
  85. package/dist/components/form/public.cjs +1 -1
  86. package/dist/components/form/public.d.ts +0 -8
  87. package/dist/components/form/public.js +7 -15
  88. package/dist/components/inputs/async-select.cjs +1 -1
  89. package/dist/components/inputs/async-select.d.ts +14 -2
  90. package/dist/components/inputs/async-select.js +278 -270
  91. package/dist/components/inputs/combobox.cjs +1 -1
  92. package/dist/components/inputs/combobox.d.ts +5 -1
  93. package/dist/components/inputs/combobox.js +52 -19
  94. package/dist/components/inputs/search-input.d.ts +3 -0
  95. package/dist/components/inputs/simple-select.cjs +1 -1
  96. package/dist/components/inputs/simple-select.d.ts +10 -31
  97. package/dist/components/inputs/simple-select.js +5 -85
  98. package/dist/components/layout/app-sidebar.cjs +1 -1
  99. package/dist/components/layout/app-sidebar.d.ts +4 -1
  100. package/dist/components/layout/app-sidebar.js +152 -132
  101. package/dist/components/layout/breadcrumbs.cjs +1 -1
  102. package/dist/components/layout/breadcrumbs.d.ts +2 -1
  103. package/dist/components/layout/breadcrumbs.js +10 -10
  104. package/dist/components/layout/index.cjs +1 -1
  105. package/dist/components/layout/index.js +3 -3
  106. package/dist/components/layout/stat-card.cjs +1 -1
  107. package/dist/components/layout/stat-card.d.ts +8 -1
  108. package/dist/components/layout/stat-card.js +33 -11
  109. package/dist/components/modern/calendar-scheduler.cjs +1 -1
  110. package/dist/components/modern/calendar-scheduler.d.ts +2 -1
  111. package/dist/components/modern/calendar-scheduler.js +21 -12
  112. package/dist/components/overlay/alert-dialog.cjs +1 -1
  113. package/dist/components/overlay/alert-dialog.d.ts +15 -1
  114. package/dist/components/overlay/alert-dialog.js +102 -27
  115. package/dist/components/overlay/drawer.cjs +1 -1
  116. package/dist/components/overlay/drawer.d.ts +4 -1
  117. package/dist/components/overlay/drawer.js +20 -17
  118. package/dist/components/patterns/index.cjs +1 -1
  119. package/dist/components/patterns/index.d.ts +0 -1
  120. package/dist/components/patterns/index.js +1 -2
  121. package/dist/components/patterns/public.cjs +1 -1
  122. package/dist/components/patterns/public.d.ts +0 -1
  123. package/dist/components/patterns/public.js +1 -2
  124. package/dist/components/ui/button/index.cjs +1 -1
  125. package/dist/components/ui/button/index.d.ts +3 -1
  126. package/dist/components/ui/button/index.js +7 -5
  127. package/dist/components/ui/card/index.cjs +1 -1
  128. package/dist/components/ui/card/index.d.ts +13 -2
  129. package/dist/components/ui/card/index.js +74 -49
  130. package/dist/components/ui/checkbox/index.cjs +1 -1
  131. package/dist/components/ui/checkbox/index.d.ts +8 -0
  132. package/dist/components/ui/checkbox/index.js +16 -14
  133. package/dist/components/ui/collapse/index.cjs +1 -1
  134. package/dist/components/ui/collapse/index.d.ts +17 -3
  135. package/dist/components/ui/collapse/index.js +88 -33
  136. package/dist/components/ui/dialog/index.cjs +1 -1
  137. package/dist/components/ui/dialog/index.d.ts +2 -1
  138. package/dist/components/ui/dialog/index.js +6 -4
  139. package/dist/components/ui/dropdown-menu/index.cjs +1 -1
  140. package/dist/components/ui/dropdown-menu/index.d.ts +9 -4
  141. package/dist/components/ui/dropdown-menu/index.js +87 -62
  142. package/dist/components/ui/input/index.cjs +1 -1
  143. package/dist/components/ui/input/index.d.ts +8 -0
  144. package/dist/components/ui/input/index.js +63 -30
  145. package/dist/components/ui/select/index.cjs +1 -1
  146. package/dist/components/ui/select/index.d.ts +33 -1
  147. package/dist/components/ui/select/index.js +154 -48
  148. package/dist/index.cjs +1 -1
  149. package/dist/index.js +137 -156
  150. package/dist/public-component-surface.cjs +1 -1
  151. package/dist/public-component-surface.js +0 -15
  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 +23 -36
  155. package/dist/showcase/create-demo.js +15 -16
  156. package/dist/showcase/fallback.cjs +3 -3
  157. package/dist/showcase/fallback.js +275 -265
  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 +16 -14
  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 +426 -467
  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/select/mock.cjs +8 -9
  224. package/dist/showcase/premium/select/mock.js +1 -1
  225. package/dist/showcase/premium/select/showcase.cjs +1 -1
  226. package/dist/showcase/premium/select/showcase.js +76 -86
  227. package/dist/showcase/premium/simple-select/mock.cjs +1 -1
  228. package/dist/showcase/premium/simple-select/mock.js +1 -1
  229. package/dist/showcase/premium/simple-select/showcase.cjs +1 -1
  230. package/dist/showcase/premium/simple-select/showcase.js +4 -2
  231. package/dist/showcase/preview-catalog.cjs +7 -10
  232. package/dist/showcase/preview-catalog.js +7 -7
  233. package/dist/showcase/registry-quality.cjs +1 -1
  234. package/dist/showcase/registry-quality.js +0 -23
  235. package/dist/showcase/registry-specific.cjs +1 -1
  236. package/dist/showcase/registry-specific.js +153 -383
  237. package/dist/showcase/render-registry-preview.cjs +1 -1
  238. package/dist/showcase/render-registry-preview.js +169 -197
  239. package/dist/showcase/site-data.cjs +1 -1
  240. package/dist/showcase/site-data.js +197 -941
  241. package/dist/showcase/supplemental.cjs +1 -1
  242. package/dist/showcase/supplemental.js +1 -1
  243. package/dist/showcase/tembro-registry.json.cjs +1 -1
  244. package/dist/showcase/tembro-registry.json.js +33 -51
  245. package/package.json +1 -1
  246. package/packages/cli/dist/index.cjs +2 -2
  247. package/packages/cli/vendor/src/components/actions/action-menu.tsx +149 -83
  248. package/packages/cli/vendor/src/components/actions/button-group.tsx +141 -33
  249. package/packages/cli/vendor/src/components/actions/copy-button.tsx +21 -16
  250. package/packages/cli/vendor/src/components/calendar/calendar.tsx +223 -88
  251. package/packages/cli/vendor/src/components/calendar/date-picker.tsx +73 -29
  252. package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +154 -49
  253. package/packages/cli/vendor/src/components/data-table/data-table-pagination.tsx +7 -7
  254. package/packages/cli/vendor/src/components/data-table/data-table-toolbar.tsx +71 -50
  255. package/packages/cli/vendor/src/components/data-table/data-table.tsx +86 -73
  256. package/packages/cli/vendor/src/components/data-table/demo.tsx +2 -12
  257. package/packages/cli/vendor/src/components/data-table/public.ts +1 -6
  258. package/packages/cli/vendor/src/components/display/activity-feed.tsx +98 -40
  259. package/packages/cli/vendor/src/components/display/carousel.tsx +104 -6
  260. package/packages/cli/vendor/src/components/display/code-block.tsx +58 -26
  261. package/packages/cli/vendor/src/components/display/comparison-card.tsx +15 -41
  262. package/packages/cli/vendor/src/components/display/data-state.tsx +119 -50
  263. package/packages/cli/vendor/src/components/display/demo.tsx +0 -4
  264. package/packages/cli/vendor/src/components/display/index.ts +0 -3
  265. package/packages/cli/vendor/src/components/display/smart-card.tsx +1 -1
  266. package/packages/cli/vendor/src/components/display/status-legend.tsx +1 -1
  267. package/packages/cli/vendor/src/components/feedback/alert.tsx +86 -28
  268. package/packages/cli/vendor/src/components/feedback/index.ts +0 -2
  269. package/packages/cli/vendor/src/components/filters/demo.tsx +0 -1
  270. package/packages/cli/vendor/src/components/filters/filter-bar.tsx +126 -54
  271. package/packages/cli/vendor/src/components/filters/index.ts +0 -1
  272. package/packages/cli/vendor/src/components/form/form-field-shell.tsx +72 -34
  273. package/packages/cli/vendor/src/components/form/form-input.tsx +127 -23
  274. package/packages/cli/vendor/src/components/form/form-select.tsx +30 -7
  275. package/packages/cli/vendor/src/components/form/form-switch.tsx +77 -58
  276. package/packages/cli/vendor/src/components/form/form-textarea.tsx +65 -51
  277. package/packages/cli/vendor/src/components/form/public.ts +0 -9
  278. package/packages/cli/vendor/src/components/inputs/async-select.tsx +138 -91
  279. package/packages/cli/vendor/src/components/inputs/combobox.tsx +66 -9
  280. package/packages/cli/vendor/src/components/inputs/search-input.tsx +5 -2
  281. package/packages/cli/vendor/src/components/inputs/simple-select.tsx +20 -162
  282. package/packages/cli/vendor/src/components/layout/app-sidebar.tsx +42 -1
  283. package/packages/cli/vendor/src/components/layout/breadcrumbs.tsx +17 -8
  284. package/packages/cli/vendor/src/components/layout/stat-card.tsx +63 -23
  285. package/packages/cli/vendor/src/components/modern/calendar-scheduler.tsx +32 -22
  286. package/packages/cli/vendor/src/components/overlay/alert-dialog.tsx +148 -24
  287. package/packages/cli/vendor/src/components/overlay/drawer.tsx +42 -30
  288. package/packages/cli/vendor/src/components/patterns/index.ts +0 -1
  289. package/packages/cli/vendor/src/components/patterns/public.ts +0 -1
  290. package/packages/cli/vendor/src/components/ui/button/index.tsx +27 -17
  291. package/packages/cli/vendor/src/components/ui/card/index.tsx +95 -25
  292. package/packages/cli/vendor/src/components/ui/checkbox/index.tsx +22 -5
  293. package/packages/cli/vendor/src/components/ui/collapse/index.tsx +97 -16
  294. package/packages/cli/vendor/src/components/ui/dialog/index.tsx +12 -8
  295. package/packages/cli/vendor/src/components/ui/dropdown-menu/index.tsx +82 -28
  296. package/packages/cli/vendor/src/components/ui/input/index.tsx +98 -0
  297. package/packages/cli/vendor/src/components/ui/select/index.tsx +227 -34
  298. package/packages/cli/vendor/src/public-component-surface.ts +0 -3
  299. package/packages/cli/vendor/src/showcase/component-api-schema.ts +2 -2
  300. package/packages/cli/vendor/src/showcase/create-demo.tsx +44 -58
  301. package/packages/cli/vendor/src/showcase/fallback.tsx +80 -99
  302. package/packages/cli/vendor/src/showcase/premium/accordion/showcase.tsx +32 -2
  303. package/packages/cli/vendor/src/showcase/premium/action-menu/showcase.tsx +12 -3
  304. package/packages/cli/vendor/src/showcase/premium/activity-feed/showcase.tsx +15 -2
  305. package/packages/cli/vendor/src/showcase/premium/alert/showcase.tsx +32 -17
  306. package/packages/cli/vendor/src/showcase/premium/alert-dialog/showcase.tsx +28 -3
  307. package/packages/cli/vendor/src/showcase/premium/async-multi-select/mock.ts +6 -5
  308. package/packages/cli/vendor/src/showcase/premium/async-multi-select/showcase.tsx +5 -4
  309. package/packages/cli/vendor/src/showcase/premium/async-select/mock.ts +1 -1
  310. package/packages/cli/vendor/src/showcase/premium/async-select/showcase.tsx +36 -0
  311. package/packages/cli/vendor/src/showcase/premium/button/showcase.tsx +26 -5
  312. package/packages/cli/vendor/src/showcase/premium/button-group/showcase.tsx +20 -3
  313. package/packages/cli/vendor/src/showcase/premium/calendar/showcase.tsx +5 -0
  314. package/packages/cli/vendor/src/showcase/premium/carousel/showcase.tsx +33 -5
  315. package/packages/cli/vendor/src/showcase/premium/checkbox/showcase.tsx +46 -3
  316. package/packages/cli/vendor/src/showcase/premium/clearable-input/mock.ts +5 -3
  317. package/packages/cli/vendor/src/showcase/premium/clearable-input/showcase.tsx +5 -2
  318. package/packages/cli/vendor/src/showcase/premium/collapse/showcase.tsx +4 -0
  319. package/packages/cli/vendor/src/showcase/premium/combobox/showcase.tsx +8 -0
  320. package/packages/cli/vendor/src/showcase/premium/data-table/showcase.tsx +77 -27
  321. package/packages/cli/vendor/src/showcase/premium/data-table-parts/showcase.tsx +14 -14
  322. package/packages/cli/vendor/src/showcase/premium/date-input/mock.ts +1 -1
  323. package/packages/cli/vendor/src/showcase/premium/date-range-picker/showcase.tsx +7 -0
  324. package/packages/cli/vendor/src/showcase/premium/dropdown-menu/showcase.tsx +46 -3
  325. package/packages/cli/vendor/src/showcase/premium/form-wrapper/mock.ts +70 -44
  326. package/packages/cli/vendor/src/showcase/premium/form-wrapper/showcase.tsx +129 -12
  327. package/packages/cli/vendor/src/showcase/premium/index.ts +7 -24
  328. package/packages/cli/vendor/src/showcase/premium/input/mock.ts +2 -2
  329. package/packages/cli/vendor/src/showcase/premium/masked-input/mock.ts +1 -1
  330. package/packages/cli/vendor/src/showcase/premium/money-input/mock.ts +1 -1
  331. package/packages/cli/vendor/src/showcase/premium/number-input/mock.ts +1 -1
  332. package/packages/cli/vendor/src/showcase/premium/phone-input/mock.ts +1 -1
  333. package/packages/cli/vendor/src/showcase/premium/quantity-input/mock.ts +1 -1
  334. package/packages/cli/vendor/src/showcase/premium/select/mock.ts +1 -1
  335. package/packages/cli/vendor/src/showcase/premium/select/showcase.tsx +13 -21
  336. package/packages/cli/vendor/src/showcase/premium/simple-select/mock.ts +1 -1
  337. package/packages/cli/vendor/src/showcase/premium/simple-select/showcase.tsx +2 -1
  338. package/packages/cli/vendor/src/showcase/preview-catalog.tsx +7 -7
  339. package/packages/cli/vendor/src/showcase/registry-quality.ts +4 -28
  340. package/packages/cli/vendor/src/showcase/registry-specific.tsx +10 -186
  341. package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +23 -57
  342. package/packages/cli/vendor/src/showcase/site-data.tsx +2443 -2761
  343. package/packages/cli/vendor/src/showcase/supplemental.tsx +2 -42
  344. package/packages/cli/vendor/src/showcase/tembro-registry.json +11 -58
  345. package/registry.json +11 -61
  346. package/dist/components/display/entity-card.cjs +0 -1
  347. package/dist/components/display/entity-card.d.ts +0 -18
  348. package/dist/components/display/entity-card.js +0 -61
  349. package/dist/components/display/entity-header.cjs +0 -1
  350. package/dist/components/display/entity-header.d.ts +0 -13
  351. package/dist/components/display/entity-header.js +0 -52
  352. package/dist/components/display/file-card.cjs +0 -1
  353. package/dist/components/display/file-card.d.ts +0 -14
  354. package/dist/components/display/file-card.js +0 -59
  355. package/dist/components/feedback/empty-search-state.cjs +0 -1
  356. package/dist/components/feedback/empty-search-state.d.ts +0 -11
  357. package/dist/components/feedback/empty-search-state.js +0 -45
  358. package/dist/components/feedback/empty-state.cjs +0 -1
  359. package/dist/components/feedback/empty-state.d.ts +0 -11
  360. package/dist/components/feedback/empty-state.js +0 -38
  361. package/dist/components/filters/filter-chips.cjs +0 -1
  362. package/dist/components/filters/filter-chips.d.ts +0 -18
  363. package/dist/components/filters/filter-chips.js +0 -61
  364. package/dist/components/patterns/form-builder-presets.cjs +0 -1
  365. package/dist/components/patterns/form-builder-presets.d.ts +0 -1
  366. package/dist/components/patterns/form-builder-presets.js +0 -2
  367. package/dist/components/patterns/form-builder.cjs +0 -1
  368. package/dist/components/patterns/form-builder.d.ts +0 -109
  369. package/dist/components/patterns/form-builder.js +0 -263
  370. package/dist/showcase/premium/empty-state/index.cjs +0 -1
  371. package/dist/showcase/premium/empty-state/index.d.ts +0 -2
  372. package/dist/showcase/premium/empty-state/index.js +0 -3
  373. package/dist/showcase/premium/empty-state/mock.cjs +0 -14
  374. package/dist/showcase/premium/empty-state/mock.d.ts +0 -2
  375. package/dist/showcase/premium/empty-state/mock.js +0 -31
  376. package/dist/showcase/premium/empty-state/showcase.cjs +0 -1
  377. package/dist/showcase/premium/empty-state/showcase.d.ts +0 -3
  378. package/dist/showcase/premium/empty-state/showcase.js +0 -99
  379. package/dist/showcase/premium/form-builder/index.cjs +0 -1
  380. package/dist/showcase/premium/form-builder/index.d.ts +0 -2
  381. package/dist/showcase/premium/form-builder/index.js +0 -3
  382. package/dist/showcase/premium/form-builder/mock.cjs +0 -57
  383. package/dist/showcase/premium/form-builder/mock.d.ts +0 -2
  384. package/dist/showcase/premium/form-builder/mock.js +0 -40
  385. package/dist/showcase/premium/form-builder/showcase.cjs +0 -1
  386. package/dist/showcase/premium/form-builder/showcase.d.ts +0 -3
  387. package/dist/showcase/premium/form-builder/showcase.js +0 -69
  388. package/packages/cli/vendor/src/components/display/entity-card.tsx +0 -80
  389. package/packages/cli/vendor/src/components/display/entity-header.tsx +0 -80
  390. package/packages/cli/vendor/src/components/display/file-card.tsx +0 -61
  391. package/packages/cli/vendor/src/components/feedback/empty-search-state.tsx +0 -65
  392. package/packages/cli/vendor/src/components/feedback/empty-state.tsx +0 -56
  393. package/packages/cli/vendor/src/components/filters/filter-chips.tsx +0 -89
  394. package/packages/cli/vendor/src/components/patterns/form-builder-presets.ts +0 -13
  395. package/packages/cli/vendor/src/components/patterns/form-builder.tsx +0 -443
  396. package/packages/cli/vendor/src/showcase/premium/empty-state/index.ts +0 -2
  397. package/packages/cli/vendor/src/showcase/premium/empty-state/mock.ts +0 -30
  398. package/packages/cli/vendor/src/showcase/premium/empty-state/showcase.tsx +0 -65
  399. package/packages/cli/vendor/src/showcase/premium/form-builder/index.ts +0 -2
  400. package/packages/cli/vendor/src/showcase/premium/form-builder/mock.ts +0 -79
  401. package/packages/cli/vendor/src/showcase/premium/form-builder/showcase.tsx +0 -55
@@ -4,94 +4,179 @@ import { Popover as n, PopoverContent as r, PopoverTrigger as i } from "../ui/po
4
4
  import { parseDateKey as a } from "./date-utils.js";
5
5
  import { Calendar as o } from "./calendar.js";
6
6
  import * as s from "react";
7
- import { CalendarIcon as c } from "lucide-react";
8
- import { jsx as l, jsxs as u } from "react/jsx-runtime";
7
+ import { CalendarIcon as c, XIcon as l } from "lucide-react";
8
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
9
9
  //#region src/components/calendar/date-range-picker.tsx
10
- function d(e) {
10
+ function f(e) {
11
11
  let t = a(e);
12
12
  return t ? new Intl.DateTimeFormat("en-US", { dateStyle: "medium" }).format(t) : e;
13
13
  }
14
- function f({ className: a, value: f, onValueChange: p, labels: m, placeholder: h, disabled: g = !1, formatValue: _ = d, closeOnSelect: v = !0, showFooter: y = !1, triggerClassName: b, contentClassName: x, numberOfMonths: S = 2, pagedNavigation: C = !0, ...w }) {
15
- let [T, E] = s.useState(!1), [D, O] = s.useState(f ?? {}), k = f?.from ?? "", A = f?.to ?? "", j = !!(k || A), M = y ? D : f, N = M?.from ?? "", P = M?.to ?? "", F = !!(N || P), I = k && A ? `${_(k)} - ${_(A)}` : k ? `${_(k)} - ...` : h ?? m?.placeholder ?? "Select date range", L = N && P ? `${_(N)} - ${_(P)}` : N ? `${_(N)} - ...` : m?.placeholder ?? "Select date range";
14
+ function p(e, t) {
15
+ return typeof e == "string" ? e : t;
16
+ }
17
+ function m({ className: a, value: m, onValueChange: h, labels: g, placeholder: _, disabled: v = !1, clearable: y = !0, formatValue: b = f, closeOnSelect: x = !1, closeOnPresetSelect: S = !1, showFooter: C = !0, presets: w, triggerClassName: T, contentClassName: E, numberOfMonths: D = 2, pagedNavigation: O = !0, ...k }) {
18
+ let [A, j] = s.useState(!1), [M, N] = s.useState(m ?? {}), P = m?.from ?? "", F = m?.to ?? "", I = !!(P || F), L = C ? M : m, R = L?.from ?? "", z = L?.to ?? "", B = !!(R || z), V = P && F ? `${b(P)} - ${b(F)}` : P ? `${b(P)} - ...` : _ ?? g?.placeholder ?? "Select date range", H = R && z ? `${b(R)} - ${b(z)}` : R ? `${b(R)} - ...` : g?.placeholder ?? "Select date range";
16
19
  s.useEffect(() => {
17
- T && y && O(f ?? {});
20
+ A && C && N(m ?? {});
18
21
  }, [
19
- T,
20
- y,
21
- f
22
+ A,
23
+ C,
24
+ m
22
25
  ]);
23
- let R = (e) => {
24
- if (y) {
25
- O(e);
26
+ let U = (e) => {
27
+ if (C) {
28
+ N(e);
29
+ return;
30
+ }
31
+ h?.(e), x && e.from && e.to && j(!1);
32
+ }, W = () => {
33
+ h?.(M), j(!1);
34
+ }, G = () => {
35
+ let e = {};
36
+ if (C) {
37
+ N(e);
26
38
  return;
27
39
  }
28
- p?.(e), v && e.from && e.to && E(!1);
29
- }, z = () => {
30
- p?.(D), E(!1);
31
- }, B = () => {
40
+ h?.(e);
41
+ }, K = () => {
32
42
  let e = {};
33
- if (y) {
34
- O(e);
43
+ N(e), h?.(e);
44
+ }, q = (e) => {
45
+ e.preventDefault(), e.stopPropagation(), K();
46
+ }, J = (e) => {
47
+ if (C) {
48
+ N(e), S && (h?.(e), j(!1));
35
49
  return;
36
50
  }
37
- p?.(e);
51
+ h?.(e), (x || S) && e.from && e.to && j(!1);
38
52
  };
39
- return /* @__PURE__ */ l("div", {
53
+ return /* @__PURE__ */ u("div", {
40
54
  "data-slot": "date-range-picker",
41
55
  className: e("w-full", a),
42
- children: /* @__PURE__ */ u(n, {
43
- open: T,
44
- onOpenChange: E,
45
- children: [/* @__PURE__ */ u(i, {
46
- render: /* @__PURE__ */ l(t, {
56
+ children: /* @__PURE__ */ d(n, {
57
+ open: A,
58
+ onOpenChange: j,
59
+ children: [/* @__PURE__ */ d(i, {
60
+ render: /* @__PURE__ */ u(t, {
47
61
  type: "button",
48
62
  variant: "outline",
49
- disabled: g,
50
- className: e("min-h-11 w-full justify-start rounded-[var(--aui-control-radius,var(--radius-md))] border-border/80 bg-background/96 text-left font-normal shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))]", !j && "text-muted-foreground", b)
63
+ disabled: v,
64
+ className: e("group min-h-11 w-full justify-start gap-3 rounded-[var(--aui-control-radius,var(--radius-md))] border-border/80 bg-background/96 px-3 text-left font-normal shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))]", !I && "text-muted-foreground", T)
51
65
  }),
52
- children: [/* @__PURE__ */ l(c, { "data-icon": "inline-start" }), /* @__PURE__ */ l("span", {
53
- className: "min-w-0 flex-1 truncate",
54
- children: I
55
- })]
56
- }), /* @__PURE__ */ u(r, {
66
+ children: [
67
+ /* @__PURE__ */ u(c, {
68
+ "data-icon": "inline-start",
69
+ className: e(I && "text-primary")
70
+ }),
71
+ I ? /* @__PURE__ */ d("span", {
72
+ className: "grid min-w-0 flex-1 grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-2",
73
+ children: [
74
+ /* @__PURE__ */ d("span", {
75
+ className: "grid min-w-0 gap-0.5",
76
+ children: [/* @__PURE__ */ u("span", {
77
+ className: "text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground",
78
+ children: g?.start ?? "Start"
79
+ }), /* @__PURE__ */ u("span", {
80
+ className: "truncate text-sm font-semibold text-foreground",
81
+ children: P ? b(P) : "..."
82
+ })]
83
+ }),
84
+ /* @__PURE__ */ u("span", {
85
+ className: "text-muted-foreground",
86
+ children: "-"
87
+ }),
88
+ /* @__PURE__ */ d("span", {
89
+ className: "grid min-w-0 gap-0.5",
90
+ children: [/* @__PURE__ */ u("span", {
91
+ className: "text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground",
92
+ children: g?.end ?? "End"
93
+ }), /* @__PURE__ */ u("span", {
94
+ className: "truncate text-sm font-semibold text-foreground",
95
+ children: F ? b(F) : "..."
96
+ })]
97
+ })
98
+ ]
99
+ }) : /* @__PURE__ */ d("span", {
100
+ className: "grid min-w-0 flex-1 gap-0.5",
101
+ children: [/* @__PURE__ */ u("span", {
102
+ className: "text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground",
103
+ children: "Range"
104
+ }), /* @__PURE__ */ u("span", {
105
+ className: "truncate text-sm",
106
+ children: V
107
+ })]
108
+ }),
109
+ y && I ? /* @__PURE__ */ u("span", {
110
+ role: "button",
111
+ tabIndex: 0,
112
+ "aria-label": p(g?.clear, "Clear date range"),
113
+ className: "ml-auto inline-flex size-7 shrink-0 items-center justify-center rounded-[var(--radius-sm)] text-muted-foreground opacity-80 transition hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",
114
+ onClick: q,
115
+ onKeyDown: (e) => {
116
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), K());
117
+ },
118
+ children: /* @__PURE__ */ u(l, { className: "size-3.5" })
119
+ }) : null
120
+ ]
121
+ }), /* @__PURE__ */ d(r, {
57
122
  align: "start",
58
- className: e("w-auto overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border-border/70 bg-popover p-0 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur", x),
59
- children: [/* @__PURE__ */ l(o, {
60
- mode: "range",
61
- range: M,
62
- onRangeChange: R,
63
- labels: m,
64
- numberOfMonths: S,
65
- pagedNavigation: C,
66
- ...w
67
- }), y && /* @__PURE__ */ u("div", {
68
- className: "flex flex-wrap items-center justify-between gap-3 border-t border-border/70 bg-muted/24 px-4 py-3",
69
- children: [/* @__PURE__ */ l("div", {
70
- className: "min-w-0 text-sm text-muted-foreground",
71
- children: /* @__PURE__ */ l("span", {
72
- className: "block truncate",
73
- children: L
74
- })
75
- }), /* @__PURE__ */ u("div", {
76
- className: "flex items-center gap-2",
77
- children: [/* @__PURE__ */ l(t, {
78
- type: "button",
79
- variant: "ghost",
80
- size: "sm",
81
- onClick: B,
82
- children: m?.clear ?? "Clear"
83
- }), /* @__PURE__ */ l(t, {
123
+ className: e("w-auto overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border-border/70 bg-popover p-0 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur", E),
124
+ children: [
125
+ w?.length ? /* @__PURE__ */ u("div", {
126
+ className: "flex flex-wrap gap-2 border-b border-border/70 bg-muted/20 px-3 py-3",
127
+ children: w.map((e, n) => /* @__PURE__ */ u(t, {
84
128
  type: "button",
129
+ variant: "outline",
85
130
  size: "sm",
86
- disabled: !F,
87
- onClick: z,
88
- children: m?.apply ?? "Apply"
131
+ className: "h-7 rounded-full px-3 text-xs",
132
+ onClick: () => J(e.value),
133
+ children: e.label
134
+ }, n))
135
+ }) : null,
136
+ /* @__PURE__ */ u(o, {
137
+ mode: "range",
138
+ range: L,
139
+ onRangeChange: U,
140
+ labels: g,
141
+ renderSelectionSummary: ({ range: e }) => {
142
+ let t = e?.from ? b(e.from) : null, n = e?.to ? b(e.to) : null;
143
+ return t && n ? `${t} -> ${n}` : t ? `${t} -> ...` : "No range selected";
144
+ },
145
+ numberOfMonths: D,
146
+ pagedNavigation: O,
147
+ showClearShortcut: !C && y,
148
+ showSelectionSummary: !0,
149
+ ...k
150
+ }),
151
+ C && /* @__PURE__ */ d("div", {
152
+ className: "flex flex-wrap items-center justify-between gap-3 border-t border-border/70 bg-muted/24 px-4 py-3",
153
+ children: [/* @__PURE__ */ u("div", {
154
+ className: "min-w-0 text-sm text-muted-foreground",
155
+ children: /* @__PURE__ */ u("span", {
156
+ className: "block truncate",
157
+ children: H
158
+ })
159
+ }), /* @__PURE__ */ d("div", {
160
+ className: "flex items-center gap-2",
161
+ children: [/* @__PURE__ */ u(t, {
162
+ type: "button",
163
+ variant: "ghost",
164
+ size: "sm",
165
+ onClick: G,
166
+ children: g?.clear ?? "Clear"
167
+ }), /* @__PURE__ */ u(t, {
168
+ type: "button",
169
+ size: "sm",
170
+ disabled: !B,
171
+ onClick: W,
172
+ children: g?.apply ?? "Apply"
173
+ })]
89
174
  })]
90
- })]
91
- })]
175
+ })
176
+ ]
92
177
  })]
93
178
  })
94
179
  });
95
180
  }
96
181
  //#endregion
97
- export { f as DateRangePicker };
182
+ export { m as DateRangePicker };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../navigation/pagination.cjs"),r=require("../inputs/simple-select.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("react/jsx-runtime");function o(e,t,n){return typeof t==`number`?Math.max(t,1):typeof n==`number`?Math.max(Math.ceil(n/e),1):1}function s({className:e,pageIndex:i,pageSize:s,pageCount:c,rowCount:l,pageSizeOptions:u=[10,20,30,50,100],disabled:d=!1,showPageSize:f=!0,labels:p,onPageChange:m,onPageSizeChange:h,...g}){let _=o(s,c,l),v=Math.min(Math.max(i+1,1),_);return(0,a.jsxs)(`div`,{"data-slot":`data-table-pagination`,className:t.cn(`flex flex-col gap-3 border-t px-4 py-3 sm:flex-row sm:items-center sm:justify-between`,e),...g,children:[(0,a.jsx)(`div`,{className:`text-sm font-medium text-muted-foreground`,children:p?.pageInfo?.(v,_,l)??`Page ${v} of ${_}`}),(0,a.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center`,children:[f&&h&&(0,a.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,a.jsx)(`span`,{children:p?.rowsPerPage??`Rows per page`}),(0,a.jsx)(r.SimpleSelect,{value:String(s),onValueChange:e=>h(Number(e)),options:u.map(e=>({label:String(e),value:String(e)})),disabled:d,triggerClassName:`h-9 w-20 rounded-full border-border/70 bg-background/80 shadow-none`})]}),(0,a.jsx)(n.Pagination,{page:v,pageCount:_,disabled:d,labels:p,onPageChange:e=>m?.(e-1)})]})]})}exports.DataTablePagination=s,exports.getDataTablePageCount=o;
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"),r=require("../navigation/pagination.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("react/jsx-runtime");function o(e,t,n){return typeof t==`number`?Math.max(t,1):typeof n==`number`?Math.max(Math.ceil(n/e),1):1}function s({className:e,pageIndex:i,pageSize:s,pageCount:c,rowCount:l,pageSizeOptions:u=[10,20,30,50,100],disabled:d=!1,showPageSize:f=!0,labels:p,onPageChange:m,onPageSizeChange:h,...g}){let _=o(s,c,l),v=Math.min(Math.max(i+1,1),_);return(0,a.jsxs)(`div`,{"data-slot":`data-table-pagination`,className:t.cn(`flex flex-col gap-3 border-t px-4 py-3 sm:flex-row sm:items-center sm:justify-between`,e),...g,children:[(0,a.jsx)(`div`,{className:`text-sm font-medium text-muted-foreground`,children:p?.pageInfo?.(v,_,l)??`Page ${v} of ${_}`}),(0,a.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center`,children:[f&&h&&(0,a.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,a.jsx)(`span`,{children:p?.rowsPerPage??`Rows per page`}),(0,a.jsx)(n.Select,{value:String(s),onValueChange:e=>h(Number(e)),options:u.map(e=>({label:String(e),value:String(e)})),disabled:d,triggerClassName:`h-9 w-20 rounded-full border-border/70 bg-background/80 shadow-none`})]}),(0,a.jsx)(r.Pagination,{page:v,pageCount:_,disabled:d,labels:p,onPageChange:e=>m?.(e-1)})]})]})}exports.DataTablePagination=s,exports.getDataTablePageCount=o;
@@ -1,6 +1,6 @@
1
1
  import { cn as e } from "../../lib/utils.js";
2
- import { Pagination as t } from "../navigation/pagination.js";
3
- import { SimpleSelect as n } from "../inputs/simple-select.js";
2
+ import { Select as t } from "../ui/select/index.js";
3
+ import { Pagination as n } from "../navigation/pagination.js";
4
4
  import "react";
5
5
  import { jsx as r, jsxs as i } from "react/jsx-runtime";
6
6
  //#region src/components/data-table/data-table-pagination.tsx
@@ -26,7 +26,7 @@ function o({ className: o, pageIndex: s, pageSize: c, pageCount: l, rowCount: u,
26
26
  className: "flex flex-col gap-3 sm:flex-row sm:items-center",
27
27
  children: [p && g && /* @__PURE__ */ i("div", {
28
28
  className: "flex items-center gap-2 text-sm text-muted-foreground",
29
- children: [/* @__PURE__ */ r("span", { children: m?.rowsPerPage ?? "Rows per page" }), /* @__PURE__ */ r(n, {
29
+ children: [/* @__PURE__ */ r("span", { children: m?.rowsPerPage ?? "Rows per page" }), /* @__PURE__ */ r(t, {
30
30
  value: String(c),
31
31
  onValueChange: (e) => g(Number(e)),
32
32
  options: d.map((e) => ({
@@ -36,7 +36,7 @@ function o({ className: o, pageIndex: s, pageSize: c, pageCount: l, rowCount: u,
36
36
  disabled: f,
37
37
  triggerClassName: "h-9 w-20 rounded-full border-border/70 bg-background/80 shadow-none"
38
38
  })]
39
- }), /* @__PURE__ */ r(t, {
39
+ }), /* @__PURE__ */ r(n, {
40
40
  page: y,
41
41
  pageCount: v,
42
42
  disabled: f,
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("class-variance-authority"),i=require("react/jsx-runtime");var a=(0,r.cva)(`flex flex-col`,{variants:{variant:{default:``,plain:`border-transparent bg-transparent shadow-none`,soft:`rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--card),var(--background)_16%)] shadow-[var(--aui-card-shadow,var(--aui-control-shadow,none))]`},density:{compact:`gap-3 p-3`,default:`gap-4 p-4 md:p-5`,comfortable:`gap-5 p-5 md:p-6`}},defaultVariants:{variant:`plain`,density:`default`}});function o({className:e,variant:n,density:r,title:o,description:s,search:c,filters:l,actions:u,selectionActions:d,selectedCount:f=0,totalCount:p,selectedLabel:m=(e,t)=>t===void 0?`${e} selected`:`${e} of ${t} selected`,titleClassName:h,descriptionClassName:g,actionsClassName:_,children:v,...y}){let b=!!(o||s),x=f>0&&!!d;return(0,i.jsxs)(`div`,{"data-slot":`data-table-toolbar`,"data-variant":n??`plain`,"data-density":r??`default`,className:t.cn(a({variant:n,density:r}),e),...y,children:[(b||u)&&(0,i.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[b&&(0,i.jsxs)(`div`,{className:`grid gap-1`,children:[o&&(0,i.jsx)(`h2`,{className:t.cn(`text-lg font-semibold tracking-tight text-foreground`,h),children:o}),s&&(0,i.jsx)(`p`,{className:t.cn(`text-sm leading-6 text-muted-foreground`,g),children:s})]}),u&&(0,i.jsx)(`div`,{className:t.cn(`flex shrink-0 flex-wrap items-center gap-2`,_),children:u})]}),(c||l||x||v)&&(0,i.jsxs)(`div`,{className:`flex flex-col gap-2 lg:flex-row lg:items-center lg:justify-between`,children:[(0,i.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2 sm:flex-row sm:items-center`,children:[c,l,v]}),x&&(0,i.jsxs)(`div`,{"data-slot":`data-table-selection-bar`,className:`flex shrink-0 items-center gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-control-border-strong,var(--border))] bg-[color:var(--aui-control-surface,var(--background))] px-2.5 py-1.5 text-sm shadow-[var(--aui-control-shadow,none)] backdrop-blur`,children:[(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:m(f,p)}),d]})]})]})}exports.DataTableToolbar=o,exports.dataTableToolbarVariants=a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("class-variance-authority"),i=require("react/jsx-runtime");var a=(0,r.cva)(`flex flex-col`,{variants:{variant:{default:``,plain:`border-transparent bg-transparent shadow-none`,soft:`rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--card),var(--background)_16%)] shadow-[var(--aui-card-shadow,var(--aui-control-shadow,none))]`},density:{compact:`gap-3 p-3`,default:`gap-4 p-4 md:p-5`,comfortable:`gap-5 p-5 md:p-6`}},defaultVariants:{variant:`plain`,density:`default`}});function o({className:e,variant:n,density:r,title:o,description:s,search:c,filters:l,summary:u,actions:d,selectionActions:f,selectedCount:p=0,totalCount:m,selectedLabel:h=(e,t)=>t===void 0?`${e} selected`:`${e} of ${t} selected`,titleClassName:g,descriptionClassName:_,searchClassName:v,filtersClassName:y,summaryClassName:b,actionsClassName:x,children:S,...C}){let w=!!(o||s),T=p>0&&!!f,E=!!(c||l||S);return(0,i.jsxs)(`div`,{"data-slot":`data-table-toolbar`,"data-variant":n??`plain`,"data-density":r??`default`,className:t.cn(a({variant:n,density:r}),e),...C,children:[(w||d)&&(0,i.jsxs)(`div`,{className:`flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between`,children:[w&&(0,i.jsxs)(`div`,{className:`grid gap-1`,children:[o&&(0,i.jsx)(`h2`,{className:t.cn(`text-lg font-semibold tracking-tight text-foreground`,g),children:o}),s&&(0,i.jsx)(`p`,{className:t.cn(`text-sm leading-6 text-muted-foreground`,_),children:s})]}),d&&(0,i.jsx)(`div`,{className:t.cn(`flex min-w-0 shrink-0 flex-wrap items-center gap-2 xl:justify-end`,x),children:d})]}),(E||u||T)&&(0,i.jsxs)(`div`,{className:`flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between`,children:[(0,i.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[E&&(0,i.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2 lg:flex-row lg:flex-wrap lg:items-center`,children:[c?(0,i.jsx)(`div`,{className:t.cn(`min-w-[16rem] max-w-xl flex-1`,v),children:c}):null,l?(0,i.jsx)(`div`,{className:t.cn(`flex min-w-0 flex-1 flex-wrap items-center gap-2`,y),children:l}):null,S]}),u?(0,i.jsx)(`div`,{"data-slot":`data-table-summary`,className:t.cn(`flex flex-wrap items-center gap-2 text-sm text-muted-foreground`,b),children:u}):null]}),T&&(0,i.jsxs)(`div`,{"data-slot":`data-table-selection-bar`,className:`flex shrink-0 flex-wrap items-center gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-control-border-strong,var(--border))] bg-[color:var(--aui-control-surface,var(--background))] px-2.5 py-1.5 text-sm shadow-[var(--aui-control-shadow,none)] backdrop-blur`,children:[(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:h(p,m)}),f]})]})]})}exports.DataTableToolbar=o,exports.dataTableToolbarVariants=a;
@@ -9,6 +9,7 @@ export type DataTableToolbarProps = React.ComponentProps<"div"> & VariantProps<t
9
9
  description?: React.ReactNode;
10
10
  search?: React.ReactNode;
11
11
  filters?: React.ReactNode;
12
+ summary?: React.ReactNode;
12
13
  actions?: React.ReactNode;
13
14
  selectionActions?: React.ReactNode;
14
15
  selectedCount?: number;
@@ -16,7 +17,10 @@ export type DataTableToolbarProps = React.ComponentProps<"div"> & VariantProps<t
16
17
  selectedLabel?: (selectedCount: number, totalCount?: number) => React.ReactNode;
17
18
  titleClassName?: string;
18
19
  descriptionClassName?: string;
20
+ searchClassName?: string;
21
+ filtersClassName?: string;
22
+ summaryClassName?: string;
19
23
  actionsClassName?: string;
20
24
  };
21
- declare function DataTableToolbar({ className, variant, density, title, description, search, filters, actions, selectionActions, selectedCount, totalCount, selectedLabel, titleClassName, descriptionClassName, actionsClassName, children, ...props }: DataTableToolbarProps): React.JSX.Element;
25
+ declare function DataTableToolbar({ className, variant, density, title, description, search, filters, summary, actions, selectionActions, selectedCount, totalCount, selectedLabel, titleClassName, descriptionClassName, searchClassName, filtersClassName, summaryClassName, actionsClassName, children, ...props }: DataTableToolbarProps): React.JSX.Element;
22
26
  export { DataTableToolbar, dataTableToolbarVariants };
@@ -21,8 +21,8 @@ var i = t("flex flex-col", {
21
21
  density: "default"
22
22
  }
23
23
  });
24
- function a({ className: t, variant: a, density: o, title: s, description: c, search: l, filters: u, actions: d, selectionActions: f, selectedCount: p = 0, totalCount: m, selectedLabel: h = (e, t) => t === void 0 ? `${e} selected` : `${e} of ${t} selected`, titleClassName: g, descriptionClassName: _, actionsClassName: v, children: y, ...b }) {
25
- let x = !!(s || c), S = p > 0 && !!f;
24
+ function a({ className: t, variant: a, density: o, title: s, description: c, search: l, filters: u, summary: d, actions: f, selectionActions: p, selectedCount: m = 0, totalCount: h, selectedLabel: g = (e, t) => t === void 0 ? `${e} selected` : `${e} of ${t} selected`, titleClassName: _, descriptionClassName: v, searchClassName: y, filtersClassName: b, summaryClassName: x, actionsClassName: S, children: C, ...w }) {
25
+ let T = !!(s || c), E = m > 0 && !!p, D = !!(l || u || C);
26
26
  return /* @__PURE__ */ r("div", {
27
27
  "data-slot": "data-table-toolbar",
28
28
  "data-variant": a ?? "plain",
@@ -31,38 +31,51 @@ function a({ className: t, variant: a, density: o, title: s, description: c, sea
31
31
  variant: a,
32
32
  density: o
33
33
  }), t),
34
- ...b,
35
- children: [(x || d) && /* @__PURE__ */ r("div", {
36
- className: "flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",
37
- children: [x && /* @__PURE__ */ r("div", {
34
+ ...w,
35
+ children: [(T || f) && /* @__PURE__ */ r("div", {
36
+ className: "flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",
37
+ children: [T && /* @__PURE__ */ r("div", {
38
38
  className: "grid gap-1",
39
39
  children: [s && /* @__PURE__ */ n("h2", {
40
- className: e("text-lg font-semibold tracking-tight text-foreground", g),
40
+ className: e("text-lg font-semibold tracking-tight text-foreground", _),
41
41
  children: s
42
42
  }), c && /* @__PURE__ */ n("p", {
43
- className: e("text-sm leading-6 text-muted-foreground", _),
43
+ className: e("text-sm leading-6 text-muted-foreground", v),
44
44
  children: c
45
45
  })]
46
- }), d && /* @__PURE__ */ n("div", {
47
- className: e("flex shrink-0 flex-wrap items-center gap-2", v),
48
- children: d
46
+ }), f && /* @__PURE__ */ n("div", {
47
+ className: e("flex min-w-0 shrink-0 flex-wrap items-center gap-2 xl:justify-end", S),
48
+ children: f
49
49
  })]
50
- }), (l || u || S || y) && /* @__PURE__ */ r("div", {
51
- className: "flex flex-col gap-2 lg:flex-row lg:items-center lg:justify-between",
50
+ }), (D || d || E) && /* @__PURE__ */ r("div", {
51
+ className: "flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",
52
52
  children: [/* @__PURE__ */ r("div", {
53
- className: "flex min-w-0 flex-1 flex-col gap-2 sm:flex-row sm:items-center",
54
- children: [
55
- l,
56
- u,
57
- y
58
- ]
59
- }), S && /* @__PURE__ */ r("div", {
53
+ className: "flex min-w-0 flex-1 flex-col gap-3",
54
+ children: [D && /* @__PURE__ */ r("div", {
55
+ className: "flex min-w-0 flex-1 flex-col gap-2 lg:flex-row lg:flex-wrap lg:items-center",
56
+ children: [
57
+ l ? /* @__PURE__ */ n("div", {
58
+ className: e("min-w-[16rem] max-w-xl flex-1", y),
59
+ children: l
60
+ }) : null,
61
+ u ? /* @__PURE__ */ n("div", {
62
+ className: e("flex min-w-0 flex-1 flex-wrap items-center gap-2", b),
63
+ children: u
64
+ }) : null,
65
+ C
66
+ ]
67
+ }), d ? /* @__PURE__ */ n("div", {
68
+ "data-slot": "data-table-summary",
69
+ className: e("flex flex-wrap items-center gap-2 text-sm text-muted-foreground", x),
70
+ children: d
71
+ }) : null]
72
+ }), E && /* @__PURE__ */ r("div", {
60
73
  "data-slot": "data-table-selection-bar",
61
- className: "flex shrink-0 items-center gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-control-border-strong,var(--border))] bg-[color:var(--aui-control-surface,var(--background))] px-2.5 py-1.5 text-sm shadow-[var(--aui-control-shadow,none)] backdrop-blur",
74
+ className: "flex shrink-0 flex-wrap items-center gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-control-border-strong,var(--border))] bg-[color:var(--aui-control-surface,var(--background))] px-2.5 py-1.5 text-sm shadow-[var(--aui-control-shadow,none)] backdrop-blur",
62
75
  children: [/* @__PURE__ */ n("span", {
63
76
  className: "text-muted-foreground",
64
- children: h(p, m)
65
- }), f]
77
+ children: g(m, h)
78
+ }), p]
66
79
  })]
67
80
  })]
68
81
  });
@@ -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("../inputs/search-input.cjs"),i=require("../ui/table/index.cjs"),a=require("../feedback/empty-state.cjs"),o=require("../feedback/loading-state.cjs"),ee=require("./data-table-actions-column.cjs"),te=require("./data-table-bulk-actions.cjs"),ne=require("./data-table-column-visibility-menu.cjs"),re=require("./data-table-pagination.cjs"),ie=require("./data-table-toolbar.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("react/jsx-runtime"),l=require("@tanstack/react-table");var ae={compact:`h-8 px-2 py-1.5`,default:`h-10 px-2 py-2`,comfortable:`h-12 px-3 py-3`},u={compact:`px-2 py-1.5`,default:`p-2`,comfortable:`px-3 py-3`};function oe(e,t){return typeof t==`function`?t(e):t}function se(e,t){return typeof t==`function`?t(e):t}function ce(e,t){return typeof t==`function`?t(e):t}function le(e){return e==null||e===``}function d({className:e,columns:d,data:f,title:p,description:m,features:h,search:g,toolbarActions:_,rowActions:v,bulkActions:y,onRefresh:b,onExport:x,refreshLabel:ue=`Refresh`,exportLabel:de=`Export`,getRowId:fe,isLoading:S=!1,isError:pe=!1,emptyState:me,errorState:he,loadingState:C,loadingVariant:ge=`skeleton`,toolbar:w,toolbarProps:T,pagination:E,sorting:_e,onSortingChange:ve,columnVisibility:ye,onColumnVisibilityChange:be,rowSelection:xe,onRowSelectionChange:Se,enableRowSelection:Ce,renderMobileCard:D,onRowClick:O,onRowDoubleClick:we,getRowDisabled:k,density:A=`default`,striped:j=!1,bordered:M=!1,stickyHeader:N=!1,skeletonRows:Te=6,skeletonCellClassName:Ee,cellFallback:De=`-`,tableClassName:Oe,tableWrapperClassName:ke,headerCellClassName:Ae,cellClassName:je,rowClassName:Me,renderExpandedRow:P,expanded:Ne,onExpandedChange:F,getRowCanExpand:Pe,columnPinning:I,onColumnPinningChange:Fe,...Ie}){let Le=s.useMemo(()=>{let e=d;return!v||h?.rowActions===!1?e:[...e,ee.createDataTableActionsColumn({getActions:v})]},[d,h?.rowActions,v]),L=E===!1?void 0:E,Re=L?{pageIndex:L.pageIndex,pageSize:L.pageSize}:void 0,R=!!(L&&L.manual!==!1),z=xe??{},ze=Object.keys(z).length,B=(0,l.useReactTable)({data:f,columns:Le,getRowId:fe,getCoreRowModel:(0,l.getCoreRowModel)(),getPaginationRowModel:L&&!R?(0,l.getPaginationRowModel)():void 0,manualPagination:R,pageCount:L?.pageCount,state:{sorting:_e,columnVisibility:ye,rowSelection:z,pagination:Re,expanded:Ne,...I?{columnPinning:I}:{}},onSortingChange:ve,onColumnVisibilityChange:be,onRowSelectionChange:Se,onExpandedChange:F,onColumnPinningChange:Fe,enableRowSelection:Ce,getRowCanExpand:Pe,getExpandedRowModel:(0,l.getExpandedRowModel)()}),V=B.getRowModel().rows,H=B.getSelectedRowModel().rows.map(e=>e.original),U=s.useMemo(()=>({table:B,data:f,selectedRows:H}),[f,H,B]),W=B.getVisibleLeafColumns(),Be=Math.max(W.length,1),G=typeof w==`function`?w(B):w,K=typeof T==`function`?T(B):T,Ve=!!(g&&h?.search!==!1),He=!!(h?.columnVisibility&&B.getAllLeafColumns().some(e=>e.getCanHide())),q=!!(h?.refresh&&b),J=!!(h?.export&&x),Ue=!!(h?.bulkActions!==!1&&y?.length),Y=He&&!!(p||m||g||_||q||J),X=Ve&&g?(0,c.jsx)(r.SearchInput,{value:g.value,onValueChange:g.onValueChange,placeholder:g.placeholder??`Search...`,wrapperClassName:g.wrapperClassName??g.className,inputClassName:g.inputClassName,disabled:g.disabled,clearable:g.clearable,clearLabel:g.clearLabel,searchIcon:g.searchIcon}):void 0,We=(0,c.jsxs)(c.Fragment,{children:[typeof _==`function`?_(U):_,Y&&(0,c.jsx)(ne.DataTableColumnVisibilityMenu,{table:B}),q&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,disabled:S,onClick:()=>b?.(U),children:ue}),J&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>x?.(U),children:de})]}),Z=Ue?(0,c.jsx)(te.DataTableBulkActions,{rows:H,actions:y??[],selectedLabel:()=>`Actions`,clearLabel:null,onClearSelection:()=>B.resetRowSelection(),hideWhenEmpty:!1}):void 0,Ge=!!(G||K||p||m||X||_||Y||q||J||Z),Ke=!!(L&&!L.hidden),Q=S&&ge===`skeleton`,qe=e=>(0,c.jsx)(i.TableRow,{children:(0,c.jsx)(i.TableCell,{colSpan:Be,className:`p-0`,children:e})}),Je=()=>Array.from({length:Math.max(Te,1)},(e,n)=>(0,c.jsx)(i.TableRow,{"aria-hidden":`true`,children:W.map(e=>(0,c.jsx)(i.TableCell,{className:t.cn(u[A],M&&`border-r last:border-r-0`),children:(0,c.jsx)(`div`,{className:t.cn(`h-4 w-full max-w-40 animate-pulse rounded-md bg-muted`,n%3==1&&`max-w-24`,n%3==2&&`max-w-32`,Ee)})},`${e.id}-${n}`))},`skeleton-${n}`)),$=Q?null:S?(0,c.jsx)(o.LoadingState,{label:`Loading data...`,...C}):pe?(0,c.jsx)(a.EmptyState,{title:`Could not load data`,description:`Please try again.`,...he}):V.length===0?(0,c.jsx)(a.EmptyState,{...me}):null;return(0,c.jsxs)(`div`,{"data-slot":`data-table`,className:t.cn(`grid gap-3`,e),...Ie,children:[Ge&&(G??(0,c.jsx)(ie.DataTableToolbar,{title:p,description:m,search:X,actions:We,selectionActions:Z,selectedCount:ze,totalCount:L?L.rowCount??f.length:f.length,variant:`plain`,...K})),D&&(0,c.jsx)(`div`,{className:`grid gap-3 md:hidden`,children:$??(Q?(0,c.jsx)(o.LoadingState,{label:`Loading data...`,...C}):V.map(e=>(0,c.jsx)(s.Fragment,{children:D(e)},e.id)))}),(0,c.jsxs)(`div`,{"data-slot":`data-table-wrapper`,"data-density":A,"data-striped":j||void 0,"data-bordered":M||void 0,className:t.cn(`overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_10px_24px_rgba(15,23,42,0.07))] backdrop-blur`,D&&`hidden md:block`,ke),children:[(0,c.jsxs)(i.Table,{containerClassName:`rounded-none border-0 bg-transparent shadow-none ring-0`,className:t.cn(`text-[0.95rem]`,Oe),children:[(0,c.jsx)(i.TableHeader,{className:t.cn(N&&`sticky top-0 z-10 shadow-sm backdrop-blur`),children:B.getHeaderGroups().map(e=>(0,c.jsx)(i.TableRow,{children:e.headers.map(e=>(0,c.jsx)(i.TableHead,{style:{width:e.getSize(),...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:N?20:11}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:N?20:11}:{}},className:t.cn(ae[A],`bg-[color:color-mix(in_oklch,var(--card),var(--background)_10%)] text-muted-foreground`,N&&`bg-[color:color-mix(in_oklch,var(--card),transparent_12%)] backdrop-blur`,e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,M&&`border-r last:border-r-0`,se(e,Ae)),children:e.isPlaceholder?null:(0,l.flexRender)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,c.jsx)(i.TableBody,{children:$?qe($):Q?Je():V.map((e,n)=>{let r=k?.(e)??!1;return(0,c.jsxs)(s.Fragment,{children:[(0,c.jsx)(i.TableRow,{"data-state":e.getIsSelected()?`selected`:void 0,"data-striped":j&&n%2==1?`true`:void 0,"data-disabled":r||void 0,className:t.cn(O&&!r&&`cursor-pointer`,!r&&`transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)] data-[state=selected]:bg-[color:color-mix(in_oklch,var(--primary),transparent_90%)]`,r&&`pointer-events-none opacity-55`,oe(e,Me)),onClick:()=>{r||O?.(e)},onDoubleClick:()=>{r||we?.(e)},children:e.getVisibleCells().map(e=>{let n=(0,l.flexRender)(e.column.columnDef.cell,e.getContext());return(0,c.jsx)(i.TableCell,{style:{...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:10}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:10}:{}},className:t.cn(u[A],e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,M&&`border-r last:border-r-0`,ce(e,je)),children:le(n)?De:n},e.id)})}),e.getIsExpanded()&&P&&(0,c.jsx)(i.TableRow,{className:`bg-muted/50 hover:bg-muted/50`,children:(0,c.jsx)(i.TableCell,{colSpan:e.getVisibleCells().length,children:P(e)})})]},e.id)})})]}),Ke&&L&&(0,c.jsx)(re.DataTablePagination,{pageIndex:L.pageIndex,pageSize:L.pageSize,pageCount:L.pageCount,rowCount:L.rowCount,pageSizeOptions:L.pageSizeOptions,showPageSize:L.showPageSize,labels:L.labels,disabled:S,onPageChange:L.onPageChange,onPageSizeChange:L.onPageSizeChange})]})]})}exports.DataTable=d;
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/table/index.cjs"),a=require("../feedback/loading-state.cjs"),o=require("../display/data-state.cjs"),ee=require("./data-table-actions-column.cjs"),te=require("./data-table-bulk-actions.cjs"),ne=require("./data-table-column-visibility-menu.cjs"),re=require("./data-table-pagination.cjs"),ie=require("./data-table-toolbar.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("react/jsx-runtime"),l=require("@tanstack/react-table");var ae={compact:`h-8 px-2 py-1.5`,default:`h-10 px-2 py-2`,comfortable:`h-12 px-3 py-3`},u={compact:`px-2 py-1.5`,default:`p-2`,comfortable:`px-3 py-3`};function oe(e,t){return typeof t==`function`?t(e):t}function se(e,t){return typeof t==`function`?t(e):t}function ce(e,t){return typeof t==`function`?t(e):t}function le(e){return e==null||e===``}function d({className:e,columns:d,data:f,title:p,description:m,features:h,search:g,filters:_,summary:v,toolbarActions:y,rowActions:b,bulkActions:x,onRefresh:S,onExport:C,refreshLabel:ue=`Refresh`,exportLabel:de=`Export`,getRowId:fe,isLoading:w=!1,isError:pe=!1,emptyState:me,errorState:he,loadingState:T,loadingVariant:ge=`skeleton`,toolbar:E,toolbarProps:D,pagination:O,sorting:_e,onSortingChange:ve,columnVisibility:ye,onColumnVisibilityChange:be,rowSelection:xe,onRowSelectionChange:Se,enableRowSelection:Ce,renderMobileCard:k,onRowClick:A,onRowDoubleClick:we,getRowDisabled:Te,density:j=`default`,striped:M=!1,bordered:N=!1,stickyHeader:P=!1,skeletonRows:Ee=6,skeletonCellClassName:De,cellFallback:Oe=`-`,tableClassName:ke,tableWrapperClassName:Ae,headerCellClassName:je,cellClassName:Me,rowClassName:Ne,renderExpandedRow:Pe,expanded:Fe,onExpandedChange:Ie,getRowCanExpand:Le,columnPinning:F,onColumnPinningChange:Re,...ze}){let Be=s.useMemo(()=>{let e=d;return!b||h?.rowActions===!1?e:[...e,ee.createDataTableActionsColumn({getActions:b})]},[d,h?.rowActions,b]),I=O===!1?void 0:O,Ve=I?{pageIndex:I.pageIndex,pageSize:I.pageSize}:void 0,L=!!(I&&I.manual!==!1),He=xe??{},R=(0,l.useReactTable)({data:f,columns:Be,getRowId:fe,getCoreRowModel:(0,l.getCoreRowModel)(),getPaginationRowModel:I&&!L?(0,l.getPaginationRowModel)():void 0,manualPagination:L,pageCount:I?.pageCount,state:{sorting:_e,columnVisibility:ye,rowSelection:He,pagination:Ve,expanded:Fe,...F?{columnPinning:F}:{}},onSortingChange:ve,onColumnVisibilityChange:be,onRowSelectionChange:Se,onExpandedChange:Ie,onColumnPinningChange:Re,enableRowSelection:Ce,getRowCanExpand:Le,getExpandedRowModel:(0,l.getExpandedRowModel)()}),z=R.getRowModel().rows,B=R.getSelectedRowModel().rows.map(e=>e.original),Ue=B.length,V=s.useMemo(()=>({table:R,data:f,selectedRows:B}),[f,B,R]),H=R.getVisibleLeafColumns(),We=Math.max(H.length,1),U=typeof E==`function`?E(R):E,W=typeof D==`function`?D(R):D,G=typeof _==`function`?_(V):_,K=typeof v==`function`?v(V):v,Ge=!!(g&&h?.search!==!1),Ke=!!(h?.columnVisibility&&R.getAllLeafColumns().some(e=>e.getCanHide())),q=!!(h?.refresh&&S),J=!!(h?.export&&C),qe=!!(h?.bulkActions!==!1&&x?.length),Y=Ke&&!!(p||m||g||G||K||y||q||J),X=Ge&&g?(0,c.jsx)(r.Input,{type:`search`,value:g.value,onValueChange:g.onValueChange,placeholder:g.placeholder??`Search...`,wrapperClassName:g.wrapperClassName??g.className,inputClassName:g.inputClassName,disabled:g.disabled,clearable:g.clearable,clearLabel:g.clearLabel,searchIcon:g.searchIcon}):void 0,Je=(0,c.jsxs)(c.Fragment,{children:[typeof y==`function`?y(V):y,Y&&(0,c.jsx)(ne.DataTableColumnVisibilityMenu,{table:R}),q&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,disabled:w,onClick:()=>S?.(V),children:ue}),J&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>C?.(V),children:de})]}),Z=qe?(0,c.jsx)(te.DataTableBulkActions,{rows:B,actions:x??[],selectedLabel:()=>`Actions`,clearLabel:null,onClearSelection:()=>R.resetRowSelection(),hideWhenEmpty:!1}):void 0,Ye=!!(U||W||p||m||X||G||K||y||Y||q||J||Z),Xe=!!(I&&!I.hidden),Q=w&&ge===`skeleton`,Ze=e=>(0,c.jsx)(i.TableRow,{children:(0,c.jsx)(i.TableCell,{colSpan:We,className:`p-0`,children:e})}),Qe=()=>Array.from({length:Math.max(Ee,1)},(e,n)=>(0,c.jsx)(i.TableRow,{"aria-hidden":`true`,children:H.map(e=>(0,c.jsx)(i.TableCell,{className:t.cn(u[j],N&&`border-r last:border-r-0`),children:(0,c.jsx)(`div`,{className:t.cn(`h-4 w-full max-w-40 animate-pulse rounded-md bg-muted`,n%3==1&&`max-w-24`,n%3==2&&`max-w-32`,De)})},`${e.id}-${n}`))},`skeleton-${n}`)),$=Q?null:w?(0,c.jsx)(a.LoadingState,{label:`Loading data...`,...T}):pe?(0,c.jsx)(o.DataState,{status:`error`,title:`Could not load data`,description:`Please try again.`,variant:`plain`,...he}):z.length===0?(0,c.jsx)(o.DataState,{status:`empty`,variant:`plain`,...me}):null;return(0,c.jsxs)(`div`,{"data-slot":`data-table`,className:t.cn(`grid gap-3`,e),...ze,children:[Ye&&(U??(0,c.jsx)(ie.DataTableToolbar,{title:p,description:m,search:X,filters:G,summary:K,actions:Je,selectionActions:Z,selectedCount:Ue,totalCount:I?I.rowCount??f.length:f.length,variant:`plain`,...W})),k&&(0,c.jsx)(`div`,{className:`grid gap-3 md:hidden`,children:$??(Q?(0,c.jsx)(a.LoadingState,{label:`Loading data...`,...T}):z.map(e=>(0,c.jsx)(s.Fragment,{children:k(e)},e.id)))}),(0,c.jsxs)(`div`,{"data-slot":`data-table-wrapper`,"data-density":j,"data-striped":M||void 0,"data-bordered":N||void 0,className:t.cn(`overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_10px_24px_rgba(15,23,42,0.07))] backdrop-blur`,k&&`hidden md:block`,Ae),children:[(0,c.jsxs)(i.Table,{containerClassName:`rounded-none border-0 bg-transparent shadow-none ring-0`,className:t.cn(`text-[0.95rem]`,ke),children:[(0,c.jsx)(i.TableHeader,{className:t.cn(P&&`sticky top-0 z-10 shadow-sm backdrop-blur`),children:R.getHeaderGroups().map(e=>(0,c.jsx)(i.TableRow,{children:e.headers.map(e=>(0,c.jsx)(i.TableHead,{style:{width:e.getSize(),...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:P?20:11}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:P?20:11}:{}},className:t.cn(ae[j],`bg-[color:color-mix(in_oklch,var(--card),var(--background)_10%)] text-muted-foreground`,P&&`bg-[color:color-mix(in_oklch,var(--card),transparent_12%)] backdrop-blur`,e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,N&&`border-r last:border-r-0`,se(e,je)),children:e.isPlaceholder?null:(0,l.flexRender)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,c.jsx)(i.TableBody,{children:$?Ze($):Q?Qe():z.map((e,n)=>{let r=Te?.(e)??!1;return(0,c.jsxs)(s.Fragment,{children:[(0,c.jsx)(i.TableRow,{"data-state":e.getIsSelected()?`selected`:void 0,"data-striped":M&&n%2==1?`true`:void 0,"data-disabled":r||void 0,className:t.cn(A&&!r&&`cursor-pointer`,!r&&`transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)] data-[state=selected]:bg-[color:color-mix(in_oklch,var(--primary),transparent_90%)]`,r&&`pointer-events-none opacity-55`,oe(e,Ne)),onClick:()=>{r||A?.(e)},onDoubleClick:()=>{r||we?.(e)},children:e.getVisibleCells().map(e=>{let n=(0,l.flexRender)(e.column.columnDef.cell,e.getContext());return(0,c.jsx)(i.TableCell,{style:{...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:10}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:10}:{}},className:t.cn(u[j],e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,N&&`border-r last:border-r-0`,ce(e,Me)),children:le(n)?Oe:n},e.id)})}),e.getIsExpanded()&&Pe&&(0,c.jsx)(i.TableRow,{className:`bg-muted/50 hover:bg-muted/50`,children:(0,c.jsx)(i.TableCell,{colSpan:e.getVisibleCells().length,children:Pe(e)})})]},e.id)})})]}),Xe&&I&&(0,c.jsx)(re.DataTablePagination,{pageIndex:I.pageIndex,pageSize:I.pageSize,pageCount:I.pageCount,rowCount:I.rowCount,pageSizeOptions:I.pageSizeOptions,showPageSize:I.showPageSize,labels:I.labels,disabled:w,onPageChange:I.onPageChange,onPageSizeChange:I.onPageSizeChange})]})]})}exports.DataTable=d;
@@ -4,9 +4,9 @@ import { type DataTableBulkAction } from "@/components/data-table/data-table-bul
4
4
  import { type DataTablePaginationProps } from "@/components/data-table/data-table-pagination";
5
5
  import { type DataTableRowAction } from "@/components/data-table/data-table-row-actions";
6
6
  import { type DataTableToolbarProps } from "@/components/data-table/data-table-toolbar";
7
- import { type EmptyStateProps } from "@/components/feedback/empty-state";
7
+ import { type DataStateProps } from "@/components/display/data-state";
8
8
  import { type LoadingStateProps } from "@/components/feedback/loading-state";
9
- import { type SearchInputProps } from "@/components/inputs/search-input";
9
+ import { type InputSearchProps } from "@/components/ui/input";
10
10
  export type DataTableDensity = "compact" | "default" | "comfortable";
11
11
  export type DataTableLoadingVariant = "skeleton" | "state";
12
12
  export type DataTableFeatureConfig = {
@@ -17,7 +17,7 @@ export type DataTableFeatureConfig = {
17
17
  refresh?: boolean;
18
18
  export?: boolean;
19
19
  };
20
- export type DataTableSearchConfig = Pick<SearchInputProps, "value" | "onValueChange" | "placeholder" | "inputClassName" | "disabled" | "clearable" | "clearLabel" | "searchIcon"> & {
20
+ export type DataTableSearchConfig = Pick<InputSearchProps, "value" | "onValueChange" | "placeholder" | "inputClassName" | "disabled" | "clearable" | "clearLabel" | "searchIcon"> & {
21
21
  className?: string;
22
22
  wrapperClassName?: string;
23
23
  };
@@ -39,6 +39,8 @@ export type DataTableProps<TData, TValue = unknown> = Omit<React.ComponentProps<
39
39
  description?: React.ReactNode;
40
40
  features?: DataTableFeatureConfig;
41
41
  search?: DataTableSearchConfig;
42
+ filters?: React.ReactNode | ((context: DataTableActionContext<TData>) => React.ReactNode);
43
+ summary?: React.ReactNode | ((context: DataTableActionContext<TData>) => React.ReactNode);
42
44
  toolbarActions?: React.ReactNode | ((context: DataTableActionContext<TData>) => React.ReactNode);
43
45
  rowActions?: (row: Row<TData>, original: TData) => DataTableRowAction<TData>[];
44
46
  bulkActions?: DataTableBulkAction<TData>[];
@@ -49,8 +51,8 @@ export type DataTableProps<TData, TValue = unknown> = Omit<React.ComponentProps<
49
51
  getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string;
50
52
  isLoading?: boolean;
51
53
  isError?: boolean;
52
- emptyState?: EmptyStateProps;
53
- errorState?: EmptyStateProps;
54
+ emptyState?: Omit<DataStateProps, "status">;
55
+ errorState?: Omit<DataStateProps, "status">;
54
56
  loadingState?: LoadingStateProps;
55
57
  loadingVariant?: DataTableLoadingVariant;
56
58
  toolbar?: React.ReactNode | ((table: TanStackTable<TData>) => React.ReactNode);
@@ -86,5 +88,5 @@ export type DataTableProps<TData, TValue = unknown> = Omit<React.ComponentProps<
86
88
  columnPinning?: ColumnPinningState;
87
89
  onColumnPinningChange?: OnChangeFn<ColumnPinningState>;
88
90
  };
89
- declare function DataTable<TData, TValue = unknown>({ className, columns, data, title, description, features, search, toolbarActions, rowActions, bulkActions, onRefresh, onExport, refreshLabel, exportLabel, getRowId, isLoading, isError, emptyState, errorState, loadingState, loadingVariant, toolbar, toolbarProps, pagination, sorting, onSortingChange, columnVisibility, onColumnVisibilityChange, rowSelection, onRowSelectionChange, enableRowSelection, renderMobileCard, onRowClick, onRowDoubleClick, getRowDisabled, density, striped, bordered, stickyHeader, skeletonRows, skeletonCellClassName, cellFallback, tableClassName, tableWrapperClassName, headerCellClassName, cellClassName, rowClassName, renderExpandedRow, expanded, onExpandedChange, getRowCanExpand, columnPinning, onColumnPinningChange, ...props }: DataTableProps<TData, TValue>): React.JSX.Element;
91
+ declare function DataTable<TData, TValue = unknown>({ className, columns, data, title, description, features, search, filters, summary, toolbarActions, rowActions, bulkActions, onRefresh, onExport, refreshLabel, exportLabel, getRowId, isLoading, isError, emptyState, errorState, loadingState, loadingVariant, toolbar, toolbarProps, pagination, sorting, onSortingChange, columnVisibility, onColumnVisibilityChange, rowSelection, onRowSelectionChange, enableRowSelection, renderMobileCard, onRowClick, onRowDoubleClick, getRowDisabled, density, striped, bordered, stickyHeader, skeletonRows, skeletonCellClassName, cellFallback, tableClassName, tableWrapperClassName, headerCellClassName, cellClassName, rowClassName, renderExpandedRow, expanded, onExpandedChange, getRowCanExpand, columnPinning, onColumnPinningChange, ...props }: DataTableProps<TData, TValue>): React.JSX.Element;
90
92
  export { DataTable };