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
@@ -2,198 +2,277 @@ import { cn as e } from "../../lib/utils.js";
2
2
  import { Button as t } from "../ui/button/index.js";
3
3
  import { addMonths as n, getMonthDays as r, getMonthLabel as i, getWeekdayLabels as a, isAfterDate as o, isBeforeDate as s, isSameMonth as c, isWithinRange as ee, parseDateKey as l, startOfMonth as u, toDateKey as d } from "./date-utils.js";
4
4
  import * as f from "react";
5
- import { ChevronLeftIcon as p, ChevronRightIcon as m } from "lucide-react";
6
- import { jsx as h, jsxs as g } from "react/jsx-runtime";
5
+ import { ChevronLeftIcon as te, ChevronRightIcon as ne } from "lucide-react";
6
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
7
7
  //#region src/components/calendar/calendar.tsx
8
- function _(e, t, n) {
8
+ function re(e, t, n) {
9
9
  return e instanceof Date ? u(e) : u(l(e) || l(t) || l(n?.from ?? n?.to) || /* @__PURE__ */ new Date());
10
10
  }
11
- function v(e, t) {
11
+ function h(e, t) {
12
12
  let n = new Date(e);
13
13
  return n.setDate(e.getDate() + t), n;
14
14
  }
15
- function y(e, t) {
15
+ function g(e, t) {
16
16
  let n = new Date(t.getFullYear(), t.getMonth() + 1, 0).getDate();
17
17
  return new Date(t.getFullYear(), t.getMonth(), Math.min(e.getDate(), n));
18
18
  }
19
- function b(e, t) {
19
+ function _(e, t) {
20
20
  let n = l(e), r = l(t);
21
21
  if (!n || !r || t < e) return [];
22
22
  let i = [], a = new Date(n);
23
23
  for (; d(a) <= t;) i.push(d(a)), a.setDate(a.getDate() + 1);
24
24
  return i;
25
25
  }
26
- function x({ className: l, value: x, range: S, onValueChange: C, onRangeChange: w, mode: T = "single", month: te, defaultMonth: ne, onMonthChange: E, min: D, max: O, disabledDates: k, locale: A = "en-US", weekStartsOn: j = 1, numberOfMonths: re = 1, showMonthHeaders: M, pagedNavigation: N = !1, labels: P, ...F }) {
27
- let [ie, ae] = f.useState(() => _(ne, x, S)), I = te ?? ie, L = Math.max(re, 1), R = M ?? L > 1, z = N ? L : 1, B = d(/* @__PURE__ */ new Date()), V = f.useMemo(() => new Set(k ?? []), [k]), H = f.useMemo(() => a(A, j), [A, j]), U = f.useRef(/* @__PURE__ */ new Map()), [W, G] = f.useState(() => x ?? S?.from ?? B), K = f.useMemo(() => Array.from({ length: L }, (e, t) => n(I, t)), [I, L]), q = f.useMemo(() => K.map((e) => ({
26
+ function v(e, t) {
27
+ let n = l(e);
28
+ return !n || !e ? null : new Intl.DateTimeFormat(t, { dateStyle: "medium" }).format(n);
29
+ }
30
+ function y({ className: l, value: y, range: b, onValueChange: ie, onRangeChange: x, mode: S = "single", month: ae, defaultMonth: oe, onMonthChange: se, min: C, max: ce, disabledDates: le, locale: w = "en-US", weekStartsOn: T = 1, numberOfMonths: ue = 1, showMonthHeaders: de, showOutsideDays: E = !0, pagedNavigation: fe = !1, showTodayShortcut: pe = !1, showClearShortcut: me = !1, showSelectionSummary: D = !1, labels: O, renderSelectionSummary: k, ...he }) {
31
+ let A = y !== void 0, j = b !== void 0, [ge, M] = f.useState(y ?? null), [_e, N] = f.useState(b ?? {}), [ve, ye] = f.useState(() => re(oe, y, b)), P = A ? y : ge, F = j ? b : _e, I = ae ?? ve, L = Math.max(ue, 1), be = de ?? L > 1, R = fe ? L : 1, z = d(/* @__PURE__ */ new Date()), B = f.useMemo(() => new Set(le ?? []), [le]), xe = f.useMemo(() => a(w, T), [w, T]), V = f.useRef(/* @__PURE__ */ new Map()), [H, U] = f.useState(() => y ?? b?.from ?? z), [W, G] = f.useState(null), K = f.useMemo(() => Array.from({ length: L }, (e, t) => n(I, t)), [I, L]), q = f.useMemo(() => K.map((e) => ({
28
32
  month: e,
29
- days: r(e, j)
30
- })), [K, j]), J = f.useMemo(() => q.flatMap((e) => e.days), [q]), Y = f.useCallback((e) => {
31
- if (V.has(e)) return "disabled";
32
- if (s(e, D)) return "min";
33
- if (o(e, O)) return "max";
33
+ days: r(e, T)
34
+ })), [K, T]), Se = f.useMemo(() => q.flatMap((e) => e.days), [q]), J = f.useCallback((e) => {
35
+ if (B.has(e)) return "disabled";
36
+ if (s(e, C)) return "min";
37
+ if (o(e, ce)) return "max";
34
38
  }, [
35
- V,
36
- O,
37
- D
38
- ]), X = f.useCallback((e) => !!Y(e), [Y]), Z = f.useMemo(() => J.map(d).filter((e) => !X(e)), [J, X]), oe = f.useMemo(() => {
39
- let e = x ?? S?.from ?? B;
40
- return Z.includes(W) ? W : Z.includes(e) ? e : Z[0];
41
- }, [
42
- W,
43
- S?.from,
44
39
  B,
45
- x,
46
- Z
40
+ ce,
41
+ C
42
+ ]), Y = f.useCallback((e) => !!J(e), [J]), X = f.useMemo(() => Se.map(d).filter((e) => !Y(e)), [Se, Y]), Ce = f.useMemo(() => {
43
+ let e = y ?? b?.from ?? z, t = F?.from ?? void 0, n = P ?? void 0;
44
+ return X.includes(H) ? H : X.includes(n ?? t ?? e) ? n ?? t ?? e : X[0];
45
+ }, [
46
+ F?.from,
47
+ P,
48
+ H,
49
+ b?.from,
50
+ z,
51
+ y,
52
+ X
47
53
  ]);
48
54
  f.useEffect(() => {
49
- W && U.current.get(W)?.focus();
50
- }, [W]);
51
- let Q = (e) => {
55
+ A && M(y ?? null);
56
+ }, [A, y]), f.useEffect(() => {
57
+ j && b && N(b);
58
+ }, [j, b]), f.useEffect(() => {
59
+ H && V.current.get(H)?.focus();
60
+ }, [H]), f.useEffect(() => {
61
+ S !== "range" && G(null);
62
+ }, [S]);
63
+ let Z = (e) => {
52
64
  let t = u(e);
53
- ae(t), E?.(t);
54
- }, $ = (e) => {
65
+ ye(t), se?.(t);
66
+ }, Q = (e) => {
55
67
  let t = e, n = d(t), r = 0;
56
- for (; X(n) && r < 370;) t = v(t, t < e ? -1 : 1), n = d(t), r += 1;
57
- G(n), K.some((e) => c(t, e)) || Q(u(t));
58
- }, se = (e) => {
59
- if (X(e)) return;
60
- if (T === "single") {
61
- C?.(e);
68
+ for (; Y(n) && r < 370;) t = h(t, t < e ? -1 : 1), n = d(t), r += 1;
69
+ U(n), K.some((e) => c(t, e)) || Z(u(t));
70
+ }, we = (e) => {
71
+ if (Y(e)) return;
72
+ if (S === "single") {
73
+ A || M(e), ie?.(e);
62
74
  return;
63
75
  }
64
- let t = S?.from ?? null, n = S?.to ?? null;
76
+ let t = F?.from ?? null, n = F?.to ?? null;
65
77
  if (!t || t && n || e < t) {
66
- w?.({
78
+ let t = {
67
79
  from: e,
68
80
  to: null
69
- });
81
+ };
82
+ j || N(t), x?.(t);
70
83
  return;
71
84
  }
72
- if (b(t, e).some((e) => X(e))) {
73
- w?.({
85
+ if (_(t, e).some((e) => Y(e))) {
86
+ let t = {
74
87
  from: e,
75
88
  to: null
76
- });
89
+ };
90
+ j || N(t), x?.(t);
77
91
  return;
78
92
  }
79
- w?.({
93
+ let r = {
80
94
  from: t,
81
95
  to: e
96
+ };
97
+ j || N(r), x?.(r);
98
+ }, $ = S === "range" && F?.from && !F.to && W && W >= F.from && !_(F.from, W).some((e) => Y(e)) ? {
99
+ from: F.from,
100
+ to: W
101
+ } : null, Te = f.useMemo(() => {
102
+ if (!D && !k) return null;
103
+ if (k) return k({
104
+ mode: S,
105
+ value: P,
106
+ range: F,
107
+ locale: w
82
108
  });
83
- }, ce = (e, t) => {
109
+ if (S === "range") {
110
+ let e = v(F?.from, w), t = v(F?.to, w);
111
+ return e && t ? `${e} -> ${t}` : e ? `${e} -> ...` : "No range selected";
112
+ }
113
+ return v(P, w) ?? "No date selected";
114
+ }, [
115
+ F,
116
+ P,
117
+ w,
118
+ S,
119
+ k,
120
+ D
121
+ ]), Ee = () => {
122
+ if (S === "single") {
123
+ A || M(null), ie?.("");
124
+ return;
125
+ }
126
+ let e = {
127
+ from: null,
128
+ to: null
129
+ };
130
+ j || N(e), x?.(e);
131
+ }, De = () => {
132
+ let e = /* @__PURE__ */ new Date(), t = d(e);
133
+ Z(e), U(t), Y(t) || we(t);
134
+ }, Oe = (e, t) => {
84
135
  let r = ((q.find((e) => c(t, e.month))?.days.findIndex((e) => d(e) === d(t)) ?? 0) + 7) % 7;
85
136
  switch (e.key) {
86
137
  case "ArrowRight":
87
- e.preventDefault(), $(v(t, 1));
138
+ e.preventDefault(), Q(h(t, 1));
88
139
  break;
89
140
  case "ArrowLeft":
90
- e.preventDefault(), $(v(t, -1));
141
+ e.preventDefault(), Q(h(t, -1));
91
142
  break;
92
143
  case "ArrowDown":
93
- e.preventDefault(), $(v(t, 7));
144
+ e.preventDefault(), Q(h(t, 7));
94
145
  break;
95
146
  case "ArrowUp":
96
- e.preventDefault(), $(v(t, -7));
147
+ e.preventDefault(), Q(h(t, -7));
97
148
  break;
98
149
  case "Home":
99
- e.preventDefault(), $(v(t, -r));
150
+ e.preventDefault(), Q(h(t, -r));
100
151
  break;
101
152
  case "End":
102
- e.preventDefault(), $(v(t, 6 - r));
153
+ e.preventDefault(), Q(h(t, 6 - r));
103
154
  break;
104
155
  case "PageUp":
105
- e.preventDefault(), $(y(t, n(t, -1)));
156
+ e.preventDefault(), Q(g(t, n(t, -1)));
106
157
  break;
107
158
  case "PageDown":
108
- e.preventDefault(), $(y(t, n(t, 1)));
159
+ e.preventDefault(), Q(g(t, n(t, 1)));
109
160
  break;
110
161
  }
111
162
  };
112
- return /* @__PURE__ */ g("div", {
163
+ return /* @__PURE__ */ m("div", {
113
164
  "data-slot": "calendar",
114
165
  "data-months": L,
115
166
  className: e("w-fit rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-popover p-3 text-popover-foreground shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))]", l),
116
- ...F,
117
- children: [/* @__PURE__ */ g("div", {
118
- className: "mb-3 flex items-center justify-between gap-3",
119
- children: [
120
- /* @__PURE__ */ h(t, {
121
- type: "button",
122
- variant: "outline",
123
- size: "icon-sm",
124
- className: "rounded-[var(--radius-md)] border-border/70 bg-background text-foreground shadow-none hover:border-border hover:bg-accent hover:text-accent-foreground",
125
- "aria-label": P?.previousMonth ?? "Previous month",
126
- onClick: () => Q(n(I, -z)),
127
- children: /* @__PURE__ */ h(p, {})
128
- }),
129
- /* @__PURE__ */ g("div", {
130
- className: "flex flex-1 flex-col items-center text-center",
131
- children: [/* @__PURE__ */ h("span", {
132
- className: "text-[10px] font-semibold uppercase tracking-[0.24em] text-muted-foreground/90",
133
- children: "Calendar"
134
- }), /* @__PURE__ */ h("div", {
135
- className: "text-base font-semibold capitalize tracking-tight text-foreground",
136
- children: i(I, A)
137
- })]
138
- }),
139
- /* @__PURE__ */ h(t, {
140
- type: "button",
141
- variant: "outline",
142
- size: "icon-sm",
143
- className: "rounded-[var(--radius-md)] border-border/70 bg-background text-foreground shadow-none hover:border-border hover:bg-accent hover:text-accent-foreground",
144
- "aria-label": P?.nextMonth ?? "Next month",
145
- onClick: () => Q(n(I, z)),
146
- children: /* @__PURE__ */ h(m, {})
147
- })
148
- ]
149
- }), /* @__PURE__ */ h("div", {
150
- className: e("grid gap-3", L > 1 && "sm:grid-cols-2"),
151
- style: L > 2 ? { gridTemplateColumns: `repeat(${L}, minmax(0, 1fr))` } : void 0,
152
- children: q.map(({ month: t, days: n }) => /* @__PURE__ */ g("div", {
153
- className: "min-w-[16.5rem] rounded-[var(--radius-md)] bg-transparent p-1",
167
+ ...he,
168
+ children: [
169
+ /* @__PURE__ */ m("div", {
170
+ className: "mb-3 flex items-center justify-between gap-3",
154
171
  children: [
155
- R && /* @__PURE__ */ h("div", {
156
- className: "mb-2 text-center text-sm font-semibold capitalize tracking-tight text-foreground",
157
- children: i(t, A)
172
+ /* @__PURE__ */ p(t, {
173
+ type: "button",
174
+ variant: "outline",
175
+ size: "icon-sm",
176
+ className: "rounded-[var(--radius-md)] border-border/70 bg-background text-foreground shadow-none hover:border-border hover:bg-accent hover:text-accent-foreground",
177
+ "aria-label": O?.previousMonth ?? "Previous month",
178
+ onClick: () => Z(n(I, -R)),
179
+ children: /* @__PURE__ */ p(te, {})
158
180
  }),
159
- /* @__PURE__ */ h("div", {
160
- className: "grid grid-cols-7 gap-1 text-center text-[0.68rem] font-semibold uppercase tracking-[0.18em] text-muted-foreground/90",
161
- children: H.map((e) => /* @__PURE__ */ h("div", {
162
- className: "py-1",
163
- children: e
164
- }, `${d(t)}-${e}`))
181
+ /* @__PURE__ */ m("div", {
182
+ className: "flex flex-1 flex-col items-center text-center",
183
+ children: [/* @__PURE__ */ p("span", {
184
+ className: "text-[10px] font-semibold uppercase tracking-[0.24em] text-muted-foreground/90",
185
+ children: "Calendar"
186
+ }), /* @__PURE__ */ p("div", {
187
+ className: "text-base font-semibold capitalize tracking-tight text-foreground",
188
+ children: i(I, w)
189
+ })]
165
190
  }),
166
- /* @__PURE__ */ h("div", {
167
- className: "mt-1.5 grid grid-cols-7 gap-1",
168
- children: n.map((n) => {
169
- let r = d(n), i = !c(n, t), a = T === "single" ? x === r : r === S?.from || r === S?.to, o = T === "range" && ee(r, S?.from, S?.to), s = Y(r), l = !!s, u = s ? P?.disabledDate?.(r, s) : void 0;
170
- return /* @__PURE__ */ h("button", {
171
- ref: (e) => {
172
- e ? U.current.set(r, e) : U.current.delete(r);
173
- },
174
- type: "button",
175
- disabled: l,
176
- "aria-label": u ?? P?.selectDate?.(r) ?? r,
177
- "aria-current": r === B ? "date" : void 0,
178
- tabIndex: r === oe ? 0 : -1,
179
- title: u,
180
- "data-selected": a || void 0,
181
- "data-today": r === B || void 0,
182
- "data-outside": i || void 0,
183
- "data-in-range": o || void 0,
184
- "data-disabled-reason": s,
185
- className: e("flex h-9 items-center justify-center rounded-[var(--radius-sm)] border border-transparent text-sm font-medium outline-none transition-[background-color,color,border-color,box-shadow,transform] hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-30", i && "text-muted-foreground/34", r === B && "border-border/70 bg-muted/60 text-foreground", o && "bg-primary/10 text-foreground", a && "border-primary bg-primary text-primary-foreground shadow-[0_10px_22px_color-mix(in_oklch,var(--primary),transparent_78%)] hover:bg-primary hover:text-primary-foreground"),
186
- onFocus: () => G(r),
187
- onKeyDown: (e) => ce(e, n),
188
- onClick: () => se(r),
189
- children: n.getDate()
190
- }, r);
191
- })
191
+ /* @__PURE__ */ p(t, {
192
+ type: "button",
193
+ variant: "outline",
194
+ size: "icon-sm",
195
+ className: "rounded-[var(--radius-md)] border-border/70 bg-background text-foreground shadow-none hover:border-border hover:bg-accent hover:text-accent-foreground",
196
+ "aria-label": O?.nextMonth ?? "Next month",
197
+ onClick: () => Z(n(I, R)),
198
+ children: /* @__PURE__ */ p(ne, {})
192
199
  })
193
200
  ]
194
- }, d(t)))
195
- })]
201
+ }),
202
+ /* @__PURE__ */ p("div", {
203
+ className: e("grid gap-3", L > 1 && "sm:grid-cols-2"),
204
+ style: L > 2 ? { gridTemplateColumns: `repeat(${L}, minmax(0, 1fr))` } : void 0,
205
+ children: q.map(({ month: t, days: n }) => /* @__PURE__ */ m("div", {
206
+ className: "min-w-[16.5rem] rounded-[var(--radius-md)] bg-transparent p-1",
207
+ children: [
208
+ be && /* @__PURE__ */ p("div", {
209
+ className: "mb-2 text-center text-sm font-semibold capitalize tracking-tight text-foreground",
210
+ children: i(t, w)
211
+ }),
212
+ /* @__PURE__ */ p("div", {
213
+ className: "grid grid-cols-7 gap-1 text-center text-[0.68rem] font-semibold uppercase tracking-[0.18em] text-muted-foreground/90",
214
+ children: xe.map((e) => /* @__PURE__ */ p("div", {
215
+ className: "py-1",
216
+ children: e
217
+ }, `${d(t)}-${e}`))
218
+ }),
219
+ /* @__PURE__ */ p("div", {
220
+ className: "mt-1.5 grid grid-cols-7 gap-1",
221
+ children: n.map((n) => {
222
+ let r = d(n), i = !c(n, t), a = S === "single" ? P === r : r === F?.from || r === F?.to, o = S === "range" && ee(r, F?.from, F?.to), s = !o && S === "range" && ee(r, $?.from, $?.to), l = J(r), u = !!l, f = l ? O?.disabledDate?.(r, l) : void 0;
223
+ return /* @__PURE__ */ p("button", {
224
+ ref: (e) => {
225
+ e ? V.current.set(r, e) : V.current.delete(r);
226
+ },
227
+ type: "button",
228
+ disabled: u,
229
+ "aria-label": f ?? O?.selectDate?.(r) ?? r,
230
+ "aria-current": r === z ? "date" : void 0,
231
+ tabIndex: r === Ce ? 0 : -1,
232
+ title: f,
233
+ "data-selected": a || void 0,
234
+ "data-today": r === z || void 0,
235
+ "data-outside": i || void 0,
236
+ "data-in-range": o || void 0,
237
+ "data-in-preview-range": s || void 0,
238
+ "data-disabled-reason": l,
239
+ className: e("flex h-9 items-center justify-center rounded-[var(--radius-sm)] border border-transparent text-sm font-medium outline-none transition-[background-color,color,border-color,box-shadow,transform] hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-30", i && E ? "text-muted-foreground/34" : "text-foreground", i && !E && "pointer-events-none opacity-0", r === z && "border-border/70 bg-muted/60 text-foreground", o && "bg-primary/10 text-foreground", s && "bg-primary/6 text-foreground", a && "border-primary bg-primary text-primary-foreground shadow-[0_10px_22px_color-mix(in_oklch,var(--primary),transparent_78%)] hover:bg-primary hover:text-primary-foreground"),
240
+ onFocus: () => U(r),
241
+ onMouseEnter: () => G(r),
242
+ onMouseLeave: () => G(null),
243
+ onKeyDown: (e) => Oe(e, n),
244
+ onClick: () => we(r),
245
+ children: n.getDate()
246
+ }, r);
247
+ })
248
+ })
249
+ ]
250
+ }, d(t)))
251
+ }),
252
+ pe || me || D || k ? /* @__PURE__ */ m("div", {
253
+ className: "mt-3 flex flex-wrap items-center justify-between gap-2 border-t border-[color:var(--aui-card-border,var(--border))] pt-3",
254
+ children: [/* @__PURE__ */ p("div", {
255
+ className: "text-xs text-muted-foreground",
256
+ children: Te
257
+ }), /* @__PURE__ */ m("div", {
258
+ className: "flex flex-wrap gap-2",
259
+ children: [me ? /* @__PURE__ */ p(t, {
260
+ type: "button",
261
+ size: "sm",
262
+ variant: "ghost",
263
+ onClick: Ee,
264
+ children: O?.clear ?? "Clear"
265
+ }) : null, pe ? /* @__PURE__ */ p(t, {
266
+ type: "button",
267
+ size: "sm",
268
+ variant: "outline",
269
+ onClick: De,
270
+ children: O?.today ?? "Today"
271
+ }) : null]
272
+ })]
273
+ }) : null
274
+ ]
196
275
  });
197
276
  }
198
277
  //#endregion
199
- export { x as Calendar };
278
+ export { y as Calendar };
@@ -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/popover/index.cjs"),i=require("./date-utils.cjs"),a=require("./calendar.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("lucide-react"),c=require("react/jsx-runtime");function l(e){let t=i.parseDateKey(e);return t?new Intl.DateTimeFormat(`en-US`,{dateStyle:`medium`}).format(t):e}function u({value:e,onValueChange:i,placeholder:u,labels:d,disabled:f=!1,formatValue:p=l,triggerClassName:m,contentClassName:h,className:g,..._}){let[v,y]=o.useState(!1),b=!!e;return(0,c.jsx)(`div`,{"data-slot":`date-picker`,className:t.cn(`w-full`,g),children:(0,c.jsxs)(r.Popover,{open:v,onOpenChange:y,children:[(0,c.jsxs)(r.PopoverTrigger,{render:(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:f,className:t.cn(`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))]`,!b&&`text-muted-foreground`,m)}),children:[(0,c.jsx)(s.CalendarIcon,{"data-icon":`inline-start`}),(0,c.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:b?p(String(e)):u??d?.placeholder??`Select date`})]}),(0,c.jsx)(r.PopoverContent,{align:`start`,className:t.cn(`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`,h),children:(0,c.jsx)(a.Calendar,{value:e,onValueChange:e=>{i?.(e),y(!1)},labels:d,..._})})]})})}exports.DatePicker=u;
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/popover/index.cjs"),i=require("./date-utils.cjs"),a=require("./calendar.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("lucide-react"),c=require("react/jsx-runtime");function l(e){let t=i.parseDateKey(e);return t?new Intl.DateTimeFormat(`en-US`,{dateStyle:`medium`}).format(t):e}function u({value:e,onValueChange:i,placeholder:u,labels:d,disabled:f=!1,clearable:p=!0,formatValue:m=l,triggerClassName:h,contentClassName:g,className:_,...v}){let[y,b]=o.useState(!1),x=!!e,S=e=>{i?.(e),b(!1)},C=()=>{i?.(``),b(!1)};return(0,c.jsx)(`div`,{"data-slot":`date-picker`,className:t.cn(`w-full`,_),children:(0,c.jsxs)(r.Popover,{open:y,onOpenChange:b,children:[(0,c.jsxs)(r.PopoverTrigger,{render:(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:f,className:t.cn(`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))]`,!x&&`text-muted-foreground`,h)}),children:[(0,c.jsx)(s.CalendarIcon,{"data-icon":`inline-start`,className:t.cn(x&&`text-primary`)}),(0,c.jsxs)(`span`,{className:`grid min-w-0 flex-1 gap-0.5`,children:[(0,c.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:d?.selected??`Date`}),(0,c.jsx)(`span`,{className:t.cn(`truncate text-sm`,x&&`font-semibold text-foreground`),children:x?m(String(e)):u??d?.placeholder??`Select date`})]}),p&&x?(0,c.jsx)(`span`,{role:`button`,tabIndex:0,"aria-label":d?.clear??`Clear date`,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`,onClick:e=>{e.preventDefault(),e.stopPropagation(),C()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),C())},children:(0,c.jsx)(s.XIcon,{className:`size-3.5`})}):null]}),(0,c.jsx)(r.PopoverContent,{align:`start`,className:t.cn(`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`,g),children:(0,c.jsx)(a.Calendar,{value:e,onValueChange:S,labels:d,showTodayShortcut:!0,showClearShortcut:p,showSelectionSummary:!0,...v})})]})})}exports.DatePicker=u;
@@ -2,14 +2,16 @@ import * as React from "react";
2
2
  import { type CalendarProps } from "@/components/calendar/calendar";
3
3
  export type DatePickerLabels = CalendarProps["labels"] & {
4
4
  placeholder?: string;
5
+ selected?: string;
5
6
  };
6
7
  export type DatePickerProps = Omit<CalendarProps, "mode" | "range" | "onRangeChange" | "labels"> & {
7
8
  placeholder?: string;
8
9
  labels?: DatePickerLabels;
9
10
  disabled?: boolean;
11
+ clearable?: boolean;
10
12
  formatValue?: (value: string) => React.ReactNode;
11
13
  triggerClassName?: string;
12
14
  contentClassName?: string;
13
15
  };
14
- declare function DatePicker({ value, onValueChange, placeholder, labels, disabled, formatValue, triggerClassName, contentClassName, className, ...calendarProps }: DatePickerProps): React.JSX.Element;
16
+ declare function DatePicker({ value, onValueChange, placeholder, labels, disabled, clearable, formatValue, triggerClassName, contentClassName, className, ...calendarProps }: DatePickerProps): React.JSX.Element;
15
17
  export { DatePicker };
@@ -4,46 +4,76 @@ 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-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({ value: a, onValueChange: f, placeholder: p, labels: m, disabled: h = !1, formatValue: g = d, triggerClassName: _, contentClassName: v, className: y, ...b }) {
15
- let [x, S] = s.useState(!1), C = !!a;
16
- return /* @__PURE__ */ l("div", {
14
+ function p({ value: a, onValueChange: p, placeholder: m, labels: h, disabled: g = !1, clearable: _ = !0, formatValue: v = f, triggerClassName: y, contentClassName: b, className: x, ...S }) {
15
+ let [C, w] = s.useState(!1), T = !!a, E = (e) => {
16
+ p?.(e), w(!1);
17
+ }, D = () => {
18
+ p?.(""), w(!1);
19
+ };
20
+ return /* @__PURE__ */ u("div", {
17
21
  "data-slot": "date-picker",
18
- className: e("w-full", y),
19
- children: /* @__PURE__ */ u(n, {
20
- open: x,
21
- onOpenChange: S,
22
- children: [/* @__PURE__ */ u(i, {
23
- render: /* @__PURE__ */ l(t, {
22
+ className: e("w-full", x),
23
+ children: /* @__PURE__ */ d(n, {
24
+ open: C,
25
+ onOpenChange: w,
26
+ children: [/* @__PURE__ */ d(i, {
27
+ render: /* @__PURE__ */ u(t, {
24
28
  type: "button",
25
29
  variant: "outline",
26
- disabled: h,
27
- 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))]", !C && "text-muted-foreground", _)
30
+ disabled: g,
31
+ 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))]", !T && "text-muted-foreground", y)
28
32
  }),
29
- children: [/* @__PURE__ */ l(c, { "data-icon": "inline-start" }), /* @__PURE__ */ l("span", {
30
- className: "min-w-0 flex-1 truncate",
31
- children: C ? g(String(a)) : p ?? m?.placeholder ?? "Select date"
32
- })]
33
- }), /* @__PURE__ */ l(r, {
33
+ children: [
34
+ /* @__PURE__ */ u(c, {
35
+ "data-icon": "inline-start",
36
+ className: e(T && "text-primary")
37
+ }),
38
+ /* @__PURE__ */ d("span", {
39
+ className: "grid min-w-0 flex-1 gap-0.5",
40
+ children: [/* @__PURE__ */ u("span", {
41
+ className: "text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground",
42
+ children: h?.selected ?? "Date"
43
+ }), /* @__PURE__ */ u("span", {
44
+ className: e("truncate text-sm", T && "font-semibold text-foreground"),
45
+ children: T ? v(String(a)) : m ?? h?.placeholder ?? "Select date"
46
+ })]
47
+ }),
48
+ _ && T ? /* @__PURE__ */ u("span", {
49
+ role: "button",
50
+ tabIndex: 0,
51
+ "aria-label": h?.clear ?? "Clear date",
52
+ 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",
53
+ onClick: (e) => {
54
+ e.preventDefault(), e.stopPropagation(), D();
55
+ },
56
+ onKeyDown: (e) => {
57
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), D());
58
+ },
59
+ children: /* @__PURE__ */ u(l, { className: "size-3.5" })
60
+ }) : null
61
+ ]
62
+ }), /* @__PURE__ */ u(r, {
34
63
  align: "start",
35
- 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", v),
36
- children: /* @__PURE__ */ l(o, {
64
+ 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", b),
65
+ children: /* @__PURE__ */ u(o, {
37
66
  value: a,
38
- onValueChange: (e) => {
39
- f?.(e), S(!1);
40
- },
41
- labels: m,
42
- ...b
67
+ onValueChange: E,
68
+ labels: h,
69
+ showTodayShortcut: !0,
70
+ showClearShortcut: _,
71
+ showSelectionSummary: !0,
72
+ ...S
43
73
  })
44
74
  })]
45
75
  })
46
76
  });
47
77
  }
48
78
  //#endregion
49
- export { f as DatePicker };
79
+ export { p as DatePicker };
@@ -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/popover/index.cjs"),i=require("./date-utils.cjs"),a=require("./calendar.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("lucide-react"),c=require("react/jsx-runtime");function l(e){let t=i.parseDateKey(e);return t?new Intl.DateTimeFormat(`en-US`,{dateStyle:`medium`}).format(t):e}function u({className:e,value:i,onValueChange:u,labels:d,placeholder:f,disabled:p=!1,formatValue:m=l,closeOnSelect:h=!0,showFooter:g=!1,triggerClassName:_,contentClassName:v,numberOfMonths:y=2,pagedNavigation:b=!0,...x}){let[S,C]=o.useState(!1),[w,T]=o.useState(i??{}),E=i?.from??``,D=i?.to??``,O=!!(E||D),k=g?w:i,A=k?.from??``,j=k?.to??``,M=!!(A||j),N=E&&D?`${m(E)} - ${m(D)}`:E?`${m(E)} - ...`:f??d?.placeholder??`Select date range`,P=A&&j?`${m(A)} - ${m(j)}`:A?`${m(A)} - ...`:d?.placeholder??`Select date range`;o.useEffect(()=>{S&&g&&T(i??{})},[S,g,i]);let F=e=>{if(g){T(e);return}u?.(e),h&&e.from&&e.to&&C(!1)},I=()=>{u?.(w),C(!1)},L=()=>{let e={};if(g){T(e);return}u?.(e)};return(0,c.jsx)(`div`,{"data-slot":`date-range-picker`,className:t.cn(`w-full`,e),children:(0,c.jsxs)(r.Popover,{open:S,onOpenChange:C,children:[(0,c.jsxs)(r.PopoverTrigger,{render:(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:p,className:t.cn(`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))]`,!O&&`text-muted-foreground`,_)}),children:[(0,c.jsx)(s.CalendarIcon,{"data-icon":`inline-start`}),(0,c.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:N})]}),(0,c.jsxs)(r.PopoverContent,{align:`start`,className:t.cn(`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`,v),children:[(0,c.jsx)(a.Calendar,{mode:`range`,range:k,onRangeChange:F,labels:d,numberOfMonths:y,pagedNavigation:b,...x}),g&&(0,c.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-border/70 bg-muted/24 px-4 py-3`,children:[(0,c.jsx)(`div`,{className:`min-w-0 text-sm text-muted-foreground`,children:(0,c.jsx)(`span`,{className:`block truncate`,children:P})}),(0,c.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,c.jsx)(n.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:L,children:d?.clear??`Clear`}),(0,c.jsx)(n.Button,{type:`button`,size:`sm`,disabled:!M,onClick:I,children:d?.apply??`Apply`})]})]})]})]})})}exports.DateRangePicker=u;
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/popover/index.cjs"),i=require("./date-utils.cjs"),a=require("./calendar.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("lucide-react"),c=require("react/jsx-runtime");function l(e){let t=i.parseDateKey(e);return t?new Intl.DateTimeFormat(`en-US`,{dateStyle:`medium`}).format(t):e}function u(e,t){return typeof e==`string`?e:t}function d({className:e,value:i,onValueChange:d,labels:f,placeholder:p,disabled:m=!1,clearable:h=!0,formatValue:g=l,closeOnSelect:_=!1,closeOnPresetSelect:v=!1,showFooter:y=!0,presets:b,triggerClassName:x,contentClassName:S,numberOfMonths:C=2,pagedNavigation:w=!0,...T}){let[E,D]=o.useState(!1),[O,k]=o.useState(i??{}),A=i?.from??``,j=i?.to??``,M=!!(A||j),N=y?O:i,P=N?.from??``,F=N?.to??``,I=!!(P||F),L=A&&j?`${g(A)} - ${g(j)}`:A?`${g(A)} - ...`:p??f?.placeholder??`Select date range`,R=P&&F?`${g(P)} - ${g(F)}`:P?`${g(P)} - ...`:f?.placeholder??`Select date range`;o.useEffect(()=>{E&&y&&k(i??{})},[E,y,i]);let z=e=>{if(y){k(e);return}d?.(e),_&&e.from&&e.to&&D(!1)},B=()=>{d?.(O),D(!1)},V=()=>{let e={};if(y){k(e);return}d?.(e)},H=()=>{let e={};k(e),d?.(e)},U=e=>{e.preventDefault(),e.stopPropagation(),H()},W=e=>{if(y){k(e),v&&(d?.(e),D(!1));return}d?.(e),(_||v)&&e.from&&e.to&&D(!1)};return(0,c.jsx)(`div`,{"data-slot":`date-range-picker`,className:t.cn(`w-full`,e),children:(0,c.jsxs)(r.Popover,{open:E,onOpenChange:D,children:[(0,c.jsxs)(r.PopoverTrigger,{render:(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:m,className:t.cn(`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))]`,!M&&`text-muted-foreground`,x)}),children:[(0,c.jsx)(s.CalendarIcon,{"data-icon":`inline-start`,className:t.cn(M&&`text-primary`)}),M?(0,c.jsxs)(`span`,{className:`grid min-w-0 flex-1 grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-2`,children:[(0,c.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,children:[(0,c.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:f?.start??`Start`}),(0,c.jsx)(`span`,{className:`truncate text-sm font-semibold text-foreground`,children:A?g(A):`...`})]}),(0,c.jsx)(`span`,{className:`text-muted-foreground`,children:`-`}),(0,c.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,children:[(0,c.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:f?.end??`End`}),(0,c.jsx)(`span`,{className:`truncate text-sm font-semibold text-foreground`,children:j?g(j):`...`})]})]}):(0,c.jsxs)(`span`,{className:`grid min-w-0 flex-1 gap-0.5`,children:[(0,c.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground`,children:`Range`}),(0,c.jsx)(`span`,{className:`truncate text-sm`,children:L})]}),h&&M?(0,c.jsx)(`span`,{role:`button`,tabIndex:0,"aria-label":u(f?.clear,`Clear date range`),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`,onClick:U,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),H())},children:(0,c.jsx)(s.XIcon,{className:`size-3.5`})}):null]}),(0,c.jsxs)(r.PopoverContent,{align:`start`,className:t.cn(`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`,S),children:[b?.length?(0,c.jsx)(`div`,{className:`flex flex-wrap gap-2 border-b border-border/70 bg-muted/20 px-3 py-3`,children:b.map((e,t)=>(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,className:`h-7 rounded-full px-3 text-xs`,onClick:()=>W(e.value),children:e.label},t))}):null,(0,c.jsx)(a.Calendar,{mode:`range`,range:N,onRangeChange:z,labels:f,renderSelectionSummary:({range:e})=>{let t=e?.from?g(e.from):null,n=e?.to?g(e.to):null;return t&&n?`${t} -> ${n}`:t?`${t} -> ...`:`No range selected`},numberOfMonths:C,pagedNavigation:w,showClearShortcut:!y&&h,showSelectionSummary:!0,...T}),y&&(0,c.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-border/70 bg-muted/24 px-4 py-3`,children:[(0,c.jsx)(`div`,{className:`min-w-0 text-sm text-muted-foreground`,children:(0,c.jsx)(`span`,{className:`block truncate`,children:R})}),(0,c.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,c.jsx)(n.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:V,children:f?.clear??`Clear`}),(0,c.jsx)(n.Button,{type:`button`,size:`sm`,disabled:!I,onClick:B,children:f?.apply??`Apply`})]})]})]})]})})}exports.DateRangePicker=d;
@@ -5,6 +5,12 @@ export type DateRangePickerLabels = CalendarProps["labels"] & {
5
5
  placeholder?: string;
6
6
  apply?: React.ReactNode;
7
7
  clear?: React.ReactNode;
8
+ start?: string;
9
+ end?: string;
10
+ };
11
+ export type DateRangePickerPreset = {
12
+ label: React.ReactNode;
13
+ value: DateRangePickerValue;
8
14
  };
9
15
  export type DateRangePickerProps = Omit<CalendarProps, "mode" | "value" | "onValueChange" | "range" | "onRangeChange" | "labels"> & {
10
16
  value?: DateRangePickerValue;
@@ -12,11 +18,14 @@ export type DateRangePickerProps = Omit<CalendarProps, "mode" | "value" | "onVal
12
18
  labels?: DateRangePickerLabels;
13
19
  placeholder?: string;
14
20
  disabled?: boolean;
21
+ clearable?: boolean;
15
22
  formatValue?: (value: string) => React.ReactNode;
16
23
  closeOnSelect?: boolean;
24
+ closeOnPresetSelect?: boolean;
17
25
  showFooter?: boolean;
26
+ presets?: DateRangePickerPreset[];
18
27
  triggerClassName?: string;
19
28
  contentClassName?: string;
20
29
  };
21
- declare function DateRangePicker({ className, value, onValueChange, labels, placeholder, disabled, formatValue, closeOnSelect, showFooter, triggerClassName, contentClassName, numberOfMonths, pagedNavigation, ...calendarProps }: DateRangePickerProps): React.JSX.Element;
30
+ declare function DateRangePicker({ className, value, onValueChange, labels, placeholder, disabled, clearable, formatValue, closeOnSelect, closeOnPresetSelect, showFooter, presets, triggerClassName, contentClassName, numberOfMonths, pagedNavigation, ...calendarProps }: DateRangePickerProps): React.JSX.Element;
22
31
  export { DateRangePicker };