tembro 2.0.4 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/dist/components/actions/action-menu.cjs +1 -1
  2. package/dist/components/actions/action-menu.d.ts +13 -1
  3. package/dist/components/actions/action-menu.js +87 -61
  4. package/dist/components/actions/button-group.cjs +1 -1
  5. package/dist/components/actions/button-group.d.ts +9 -1
  6. package/dist/components/actions/button-group.js +58 -14
  7. package/dist/components/actions/copy-button.cjs +1 -1
  8. package/dist/components/actions/copy-button.d.ts +2 -1
  9. package/dist/components/actions/copy-button.js +13 -11
  10. package/dist/components/calendar/calendar.cjs +1 -1
  11. package/dist/components/calendar/calendar.d.ts +14 -1
  12. package/dist/components/calendar/calendar.js +207 -128
  13. package/dist/components/calendar/date-picker.cjs +1 -1
  14. package/dist/components/calendar/date-picker.d.ts +3 -1
  15. package/dist/components/calendar/date-picker.js +57 -27
  16. package/dist/components/calendar/date-range-picker.cjs +1 -1
  17. package/dist/components/calendar/date-range-picker.d.ts +10 -1
  18. package/dist/components/calendar/date-range-picker.js +149 -64
  19. package/dist/components/data-table/data-table-toolbar.cjs +1 -1
  20. package/dist/components/data-table/data-table-toolbar.d.ts +5 -1
  21. package/dist/components/data-table/data-table-toolbar.js +36 -23
  22. package/dist/components/data-table/data-table.cjs +1 -1
  23. package/dist/components/data-table/data-table.d.ts +6 -4
  24. package/dist/components/data-table/data-table.js +87 -79
  25. package/dist/components/data-table/demo.cjs +1 -1
  26. package/dist/components/data-table/demo.js +3 -13
  27. package/dist/components/data-table/index.cjs +1 -1
  28. package/dist/components/data-table/index.js +5 -5
  29. package/dist/components/data-table/public.cjs +1 -1
  30. package/dist/components/data-table/public.d.ts +1 -6
  31. package/dist/components/data-table/public.js +7 -12
  32. package/dist/components/display/activity-feed.cjs +1 -1
  33. package/dist/components/display/activity-feed.d.ts +12 -1
  34. package/dist/components/display/activity-feed.js +69 -47
  35. package/dist/components/display/carousel.cjs +1 -1
  36. package/dist/components/display/carousel.d.ts +10 -1
  37. package/dist/components/display/carousel.js +68 -23
  38. package/dist/components/display/code-block.cjs +2 -1
  39. package/dist/components/display/code-block.d.ts +3 -1
  40. package/dist/components/display/code-block.js +33 -19
  41. package/dist/components/display/comparison-card.cjs +1 -1
  42. package/dist/components/display/comparison-card.d.ts +3 -3
  43. package/dist/components/display/comparison-card.js +14 -38
  44. package/dist/components/display/data-state.cjs +1 -1
  45. package/dist/components/display/data-state.d.ts +12 -2
  46. package/dist/components/display/data-state.js +80 -42
  47. package/dist/components/display/demo.cjs +1 -1
  48. package/dist/components/display/demo.js +1 -5
  49. package/dist/components/display/index.cjs +1 -1
  50. package/dist/components/display/index.d.ts +0 -3
  51. package/dist/components/display/index.js +21 -24
  52. package/dist/components/feedback/alert.cjs +1 -1
  53. package/dist/components/feedback/alert.d.ts +6 -1
  54. package/dist/components/feedback/alert.js +49 -19
  55. package/dist/components/feedback/index.cjs +1 -1
  56. package/dist/components/feedback/index.d.ts +0 -2
  57. package/dist/components/feedback/index.js +3 -5
  58. package/dist/components/filters/demo.cjs +1 -1
  59. package/dist/components/filters/demo.js +1 -5
  60. package/dist/components/filters/filter-bar.cjs +1 -1
  61. package/dist/components/filters/filter-bar.d.ts +15 -1
  62. package/dist/components/filters/filter-bar.js +94 -50
  63. package/dist/components/filters/index.cjs +1 -1
  64. package/dist/components/filters/index.d.ts +0 -1
  65. package/dist/components/filters/index.js +3 -4
  66. package/dist/components/form/form-field-shell.cjs +1 -1
  67. package/dist/components/form/form-field-shell.d.ts +17 -3
  68. package/dist/components/form/form-field-shell.js +54 -40
  69. package/dist/components/form/form-input.cjs +1 -1
  70. package/dist/components/form/form-input.js +278 -217
  71. package/dist/components/form/form-select.cjs +1 -1
  72. package/dist/components/form/form-select.js +47 -33
  73. package/dist/components/form/form-switch.cjs +1 -1
  74. package/dist/components/form/form-switch.js +79 -66
  75. package/dist/components/form/form-textarea.cjs +1 -1
  76. package/dist/components/form/form-textarea.js +59 -48
  77. package/dist/components/form/index.cjs +1 -1
  78. package/dist/components/form/index.js +14 -14
  79. package/dist/components/form/public.cjs +1 -1
  80. package/dist/components/form/public.d.ts +0 -8
  81. package/dist/components/form/public.js +7 -15
  82. package/dist/components/inputs/async-select.cjs +1 -1
  83. package/dist/components/inputs/async-select.d.ts +11 -2
  84. package/dist/components/inputs/async-select.js +278 -270
  85. package/dist/components/inputs/combobox.cjs +1 -1
  86. package/dist/components/inputs/combobox.d.ts +5 -1
  87. package/dist/components/inputs/combobox.js +52 -19
  88. package/dist/components/inputs/simple-select.cjs +1 -1
  89. package/dist/components/inputs/simple-select.d.ts +2 -1
  90. package/dist/components/inputs/simple-select.js +32 -16
  91. package/dist/components/layout/app-sidebar.cjs +1 -1
  92. package/dist/components/layout/app-sidebar.d.ts +4 -1
  93. package/dist/components/layout/app-sidebar.js +152 -132
  94. package/dist/components/layout/breadcrumbs.cjs +1 -1
  95. package/dist/components/layout/breadcrumbs.d.ts +2 -1
  96. package/dist/components/layout/breadcrumbs.js +10 -10
  97. package/dist/components/layout/index.cjs +1 -1
  98. package/dist/components/layout/index.js +3 -3
  99. package/dist/components/layout/stat-card.cjs +1 -1
  100. package/dist/components/layout/stat-card.d.ts +8 -1
  101. package/dist/components/layout/stat-card.js +33 -11
  102. package/dist/components/modern/calendar-scheduler.cjs +1 -1
  103. package/dist/components/modern/calendar-scheduler.d.ts +2 -1
  104. package/dist/components/modern/calendar-scheduler.js +21 -12
  105. package/dist/components/overlay/alert-dialog.cjs +1 -1
  106. package/dist/components/overlay/alert-dialog.d.ts +15 -1
  107. package/dist/components/overlay/alert-dialog.js +102 -27
  108. package/dist/components/overlay/drawer.cjs +1 -1
  109. package/dist/components/overlay/drawer.d.ts +4 -1
  110. package/dist/components/overlay/drawer.js +20 -17
  111. package/dist/components/patterns/index.cjs +1 -1
  112. package/dist/components/patterns/index.d.ts +0 -1
  113. package/dist/components/patterns/index.js +1 -2
  114. package/dist/components/patterns/public.cjs +1 -1
  115. package/dist/components/patterns/public.d.ts +0 -1
  116. package/dist/components/patterns/public.js +1 -2
  117. package/dist/components/ui/button/index.cjs +1 -1
  118. package/dist/components/ui/button/index.d.ts +3 -1
  119. package/dist/components/ui/button/index.js +7 -5
  120. package/dist/components/ui/checkbox/index.cjs +1 -1
  121. package/dist/components/ui/checkbox/index.d.ts +8 -0
  122. package/dist/components/ui/checkbox/index.js +16 -14
  123. package/dist/components/ui/collapse/index.cjs +1 -1
  124. package/dist/components/ui/collapse/index.d.ts +17 -3
  125. package/dist/components/ui/collapse/index.js +88 -33
  126. package/dist/components/ui/dialog/index.cjs +1 -1
  127. package/dist/components/ui/dialog/index.d.ts +2 -1
  128. package/dist/components/ui/dialog/index.js +6 -4
  129. package/dist/components/ui/dropdown-menu/index.cjs +1 -1
  130. package/dist/components/ui/dropdown-menu/index.d.ts +9 -4
  131. package/dist/components/ui/dropdown-menu/index.js +87 -62
  132. package/dist/index.cjs +1 -1
  133. package/dist/index.js +137 -156
  134. package/dist/public-component-surface.cjs +1 -1
  135. package/dist/public-component-surface.js +0 -15
  136. package/dist/showcase/component-api-schema.cjs +1 -1
  137. package/dist/showcase/component-api-schema.js +2 -2
  138. package/dist/showcase/create-demo.cjs +20 -34
  139. package/dist/showcase/create-demo.js +15 -16
  140. package/dist/showcase/fallback.cjs +3 -3
  141. package/dist/showcase/fallback.js +275 -265
  142. package/dist/showcase/premium/accordion/showcase.cjs +1 -1
  143. package/dist/showcase/premium/accordion/showcase.js +36 -5
  144. package/dist/showcase/premium/action-menu/showcase.cjs +1 -1
  145. package/dist/showcase/premium/action-menu/showcase.js +26 -8
  146. package/dist/showcase/premium/activity-feed/showcase.cjs +1 -1
  147. package/dist/showcase/premium/activity-feed/showcase.js +60 -36
  148. package/dist/showcase/premium/alert/showcase.cjs +1 -1
  149. package/dist/showcase/premium/alert/showcase.js +41 -18
  150. package/dist/showcase/premium/alert-dialog/showcase.cjs +1 -1
  151. package/dist/showcase/premium/alert-dialog/showcase.js +35 -7
  152. package/dist/showcase/premium/async-multi-select/mock.cjs +4 -3
  153. package/dist/showcase/premium/async-multi-select/mock.js +5 -5
  154. package/dist/showcase/premium/async-multi-select/showcase.cjs +1 -1
  155. package/dist/showcase/premium/async-multi-select/showcase.js +4 -3
  156. package/dist/showcase/premium/async-select/mock.cjs +1 -1
  157. package/dist/showcase/premium/async-select/mock.js +1 -1
  158. package/dist/showcase/premium/async-select/showcase.cjs +1 -1
  159. package/dist/showcase/premium/async-select/showcase.js +69 -22
  160. package/dist/showcase/premium/button/showcase.cjs +1 -1
  161. package/dist/showcase/premium/button/showcase.js +49 -3
  162. package/dist/showcase/premium/button-group/showcase.cjs +1 -1
  163. package/dist/showcase/premium/button-group/showcase.js +53 -29
  164. package/dist/showcase/premium/calendar/showcase.cjs +1 -1
  165. package/dist/showcase/premium/calendar/showcase.js +7 -2
  166. package/dist/showcase/premium/carousel/showcase.cjs +1 -1
  167. package/dist/showcase/premium/carousel/showcase.js +95 -47
  168. package/dist/showcase/premium/checkbox/showcase.cjs +1 -1
  169. package/dist/showcase/premium/checkbox/showcase.js +143 -67
  170. package/dist/showcase/premium/clearable-input/mock.cjs +4 -3
  171. package/dist/showcase/premium/clearable-input/mock.js +3 -2
  172. package/dist/showcase/premium/clearable-input/showcase.cjs +1 -1
  173. package/dist/showcase/premium/clearable-input/showcase.js +8 -2
  174. package/dist/showcase/premium/collapse/showcase.cjs +1 -1
  175. package/dist/showcase/premium/collapse/showcase.js +7 -0
  176. package/dist/showcase/premium/combobox/showcase.cjs +1 -1
  177. package/dist/showcase/premium/combobox/showcase.d.ts +2 -1
  178. package/dist/showcase/premium/combobox/showcase.js +56 -47
  179. package/dist/showcase/premium/data-table/showcase.cjs +1 -1
  180. package/dist/showcase/premium/data-table/showcase.js +138 -46
  181. package/dist/showcase/premium/data-table-parts/showcase.cjs +1 -1
  182. package/dist/showcase/premium/data-table-parts/showcase.js +13 -13
  183. package/dist/showcase/premium/date-input/mock.cjs +1 -1
  184. package/dist/showcase/premium/date-input/mock.js +1 -1
  185. package/dist/showcase/premium/date-range-picker/showcase.cjs +1 -1
  186. package/dist/showcase/premium/date-range-picker/showcase.js +32 -1
  187. package/dist/showcase/premium/dropdown-menu/showcase.cjs +1 -1
  188. package/dist/showcase/premium/dropdown-menu/showcase.js +88 -54
  189. package/dist/showcase/premium/form-wrapper/mock.cjs +41 -15
  190. package/dist/showcase/premium/form-wrapper/mock.js +4 -4
  191. package/dist/showcase/premium/form-wrapper/showcase.cjs +1 -1
  192. package/dist/showcase/premium/form-wrapper/showcase.js +77 -28
  193. package/dist/showcase/premium/index.cjs +1 -1
  194. package/dist/showcase/premium/index.js +426 -467
  195. package/dist/showcase/premium/input/mock.cjs +4 -1
  196. package/dist/showcase/premium/input/mock.js +1 -1
  197. package/dist/showcase/premium/masked-input/mock.cjs +1 -1
  198. package/dist/showcase/premium/masked-input/mock.js +1 -1
  199. package/dist/showcase/premium/money-input/mock.cjs +1 -1
  200. package/dist/showcase/premium/money-input/mock.js +1 -1
  201. package/dist/showcase/premium/number-input/mock.cjs +1 -1
  202. package/dist/showcase/premium/number-input/mock.js +1 -1
  203. package/dist/showcase/premium/phone-input/mock.cjs +1 -1
  204. package/dist/showcase/premium/phone-input/mock.js +1 -1
  205. package/dist/showcase/premium/quantity-input/mock.cjs +1 -1
  206. package/dist/showcase/premium/quantity-input/mock.js +1 -1
  207. package/dist/showcase/premium/simple-select/mock.cjs +1 -1
  208. package/dist/showcase/premium/simple-select/mock.js +1 -1
  209. package/dist/showcase/premium/simple-select/showcase.cjs +1 -1
  210. package/dist/showcase/premium/simple-select/showcase.js +4 -2
  211. package/dist/showcase/preview-catalog.cjs +7 -10
  212. package/dist/showcase/preview-catalog.js +7 -7
  213. package/dist/showcase/registry-quality.cjs +1 -1
  214. package/dist/showcase/registry-quality.js +0 -23
  215. package/dist/showcase/registry-specific.cjs +1 -1
  216. package/dist/showcase/registry-specific.js +149 -383
  217. package/dist/showcase/render-registry-preview.cjs +1 -1
  218. package/dist/showcase/render-registry-preview.js +163 -195
  219. package/dist/showcase/site-data.cjs +1 -1
  220. package/dist/showcase/site-data.js +197 -941
  221. package/dist/showcase/supplemental.cjs +1 -1
  222. package/dist/showcase/supplemental.js +1 -1
  223. package/dist/showcase/tembro-registry.json.cjs +1 -1
  224. package/dist/showcase/tembro-registry.json.js +33 -51
  225. package/package.json +1 -1
  226. package/packages/cli/dist/index.cjs +2 -2
  227. package/packages/cli/vendor/src/components/actions/action-menu.tsx +149 -83
  228. package/packages/cli/vendor/src/components/actions/button-group.tsx +141 -33
  229. package/packages/cli/vendor/src/components/actions/copy-button.tsx +21 -16
  230. package/packages/cli/vendor/src/components/calendar/calendar.tsx +223 -88
  231. package/packages/cli/vendor/src/components/calendar/date-picker.tsx +73 -29
  232. package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +154 -49
  233. package/packages/cli/vendor/src/components/data-table/data-table-toolbar.tsx +71 -50
  234. package/packages/cli/vendor/src/components/data-table/data-table.tsx +65 -53
  235. package/packages/cli/vendor/src/components/data-table/demo.tsx +2 -12
  236. package/packages/cli/vendor/src/components/data-table/public.ts +1 -6
  237. package/packages/cli/vendor/src/components/display/activity-feed.tsx +98 -40
  238. package/packages/cli/vendor/src/components/display/carousel.tsx +88 -2
  239. package/packages/cli/vendor/src/components/display/code-block.tsx +58 -26
  240. package/packages/cli/vendor/src/components/display/comparison-card.tsx +15 -41
  241. package/packages/cli/vendor/src/components/display/data-state.tsx +119 -50
  242. package/packages/cli/vendor/src/components/display/demo.tsx +0 -4
  243. package/packages/cli/vendor/src/components/display/index.ts +0 -3
  244. package/packages/cli/vendor/src/components/feedback/alert.tsx +86 -28
  245. package/packages/cli/vendor/src/components/feedback/index.ts +0 -2
  246. package/packages/cli/vendor/src/components/filters/demo.tsx +0 -1
  247. package/packages/cli/vendor/src/components/filters/filter-bar.tsx +126 -54
  248. package/packages/cli/vendor/src/components/filters/index.ts +0 -1
  249. package/packages/cli/vendor/src/components/form/form-field-shell.tsx +72 -34
  250. package/packages/cli/vendor/src/components/form/form-input.tsx +118 -11
  251. package/packages/cli/vendor/src/components/form/form-select.tsx +26 -3
  252. package/packages/cli/vendor/src/components/form/form-switch.tsx +77 -58
  253. package/packages/cli/vendor/src/components/form/form-textarea.tsx +65 -51
  254. package/packages/cli/vendor/src/components/form/public.ts +0 -9
  255. package/packages/cli/vendor/src/components/inputs/async-select.tsx +126 -82
  256. package/packages/cli/vendor/src/components/inputs/combobox.tsx +66 -9
  257. package/packages/cli/vendor/src/components/inputs/simple-select.tsx +52 -24
  258. package/packages/cli/vendor/src/components/layout/app-sidebar.tsx +42 -1
  259. package/packages/cli/vendor/src/components/layout/breadcrumbs.tsx +17 -8
  260. package/packages/cli/vendor/src/components/layout/stat-card.tsx +63 -23
  261. package/packages/cli/vendor/src/components/modern/calendar-scheduler.tsx +32 -22
  262. package/packages/cli/vendor/src/components/overlay/alert-dialog.tsx +148 -24
  263. package/packages/cli/vendor/src/components/overlay/drawer.tsx +42 -30
  264. package/packages/cli/vendor/src/components/patterns/index.ts +0 -1
  265. package/packages/cli/vendor/src/components/patterns/public.ts +0 -1
  266. package/packages/cli/vendor/src/components/ui/button/index.tsx +27 -17
  267. package/packages/cli/vendor/src/components/ui/checkbox/index.tsx +22 -5
  268. package/packages/cli/vendor/src/components/ui/collapse/index.tsx +97 -16
  269. package/packages/cli/vendor/src/components/ui/dialog/index.tsx +12 -8
  270. package/packages/cli/vendor/src/components/ui/dropdown-menu/index.tsx +82 -28
  271. package/packages/cli/vendor/src/public-component-surface.ts +0 -3
  272. package/packages/cli/vendor/src/showcase/component-api-schema.ts +2 -2
  273. package/packages/cli/vendor/src/showcase/create-demo.tsx +31 -46
  274. package/packages/cli/vendor/src/showcase/fallback.tsx +80 -99
  275. package/packages/cli/vendor/src/showcase/premium/accordion/showcase.tsx +32 -2
  276. package/packages/cli/vendor/src/showcase/premium/action-menu/showcase.tsx +12 -3
  277. package/packages/cli/vendor/src/showcase/premium/activity-feed/showcase.tsx +15 -2
  278. package/packages/cli/vendor/src/showcase/premium/alert/showcase.tsx +32 -17
  279. package/packages/cli/vendor/src/showcase/premium/alert-dialog/showcase.tsx +28 -3
  280. package/packages/cli/vendor/src/showcase/premium/async-multi-select/mock.ts +6 -5
  281. package/packages/cli/vendor/src/showcase/premium/async-multi-select/showcase.tsx +5 -4
  282. package/packages/cli/vendor/src/showcase/premium/async-select/mock.ts +1 -1
  283. package/packages/cli/vendor/src/showcase/premium/async-select/showcase.tsx +36 -0
  284. package/packages/cli/vendor/src/showcase/premium/button/showcase.tsx +26 -5
  285. package/packages/cli/vendor/src/showcase/premium/button-group/showcase.tsx +20 -3
  286. package/packages/cli/vendor/src/showcase/premium/calendar/showcase.tsx +5 -0
  287. package/packages/cli/vendor/src/showcase/premium/carousel/showcase.tsx +33 -5
  288. package/packages/cli/vendor/src/showcase/premium/checkbox/showcase.tsx +46 -3
  289. package/packages/cli/vendor/src/showcase/premium/clearable-input/mock.ts +5 -3
  290. package/packages/cli/vendor/src/showcase/premium/clearable-input/showcase.tsx +5 -2
  291. package/packages/cli/vendor/src/showcase/premium/collapse/showcase.tsx +4 -0
  292. package/packages/cli/vendor/src/showcase/premium/combobox/showcase.tsx +8 -0
  293. package/packages/cli/vendor/src/showcase/premium/data-table/showcase.tsx +77 -27
  294. package/packages/cli/vendor/src/showcase/premium/data-table-parts/showcase.tsx +11 -11
  295. package/packages/cli/vendor/src/showcase/premium/date-input/mock.ts +1 -1
  296. package/packages/cli/vendor/src/showcase/premium/date-range-picker/showcase.tsx +7 -0
  297. package/packages/cli/vendor/src/showcase/premium/dropdown-menu/showcase.tsx +46 -3
  298. package/packages/cli/vendor/src/showcase/premium/form-wrapper/mock.ts +70 -44
  299. package/packages/cli/vendor/src/showcase/premium/form-wrapper/showcase.tsx +129 -12
  300. package/packages/cli/vendor/src/showcase/premium/index.ts +7 -24
  301. package/packages/cli/vendor/src/showcase/premium/input/mock.ts +2 -2
  302. package/packages/cli/vendor/src/showcase/premium/masked-input/mock.ts +1 -1
  303. package/packages/cli/vendor/src/showcase/premium/money-input/mock.ts +1 -1
  304. package/packages/cli/vendor/src/showcase/premium/number-input/mock.ts +1 -1
  305. package/packages/cli/vendor/src/showcase/premium/phone-input/mock.ts +1 -1
  306. package/packages/cli/vendor/src/showcase/premium/quantity-input/mock.ts +1 -1
  307. package/packages/cli/vendor/src/showcase/premium/simple-select/mock.ts +1 -1
  308. package/packages/cli/vendor/src/showcase/premium/simple-select/showcase.tsx +2 -1
  309. package/packages/cli/vendor/src/showcase/preview-catalog.tsx +7 -7
  310. package/packages/cli/vendor/src/showcase/registry-quality.ts +4 -28
  311. package/packages/cli/vendor/src/showcase/registry-specific.tsx +3 -178
  312. package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +18 -51
  313. package/packages/cli/vendor/src/showcase/site-data.tsx +2443 -2761
  314. package/packages/cli/vendor/src/showcase/supplemental.tsx +2 -42
  315. package/packages/cli/vendor/src/showcase/tembro-registry.json +11 -58
  316. package/registry.json +11 -61
  317. package/dist/components/display/entity-card.cjs +0 -1
  318. package/dist/components/display/entity-card.d.ts +0 -18
  319. package/dist/components/display/entity-card.js +0 -61
  320. package/dist/components/display/entity-header.cjs +0 -1
  321. package/dist/components/display/entity-header.d.ts +0 -13
  322. package/dist/components/display/entity-header.js +0 -52
  323. package/dist/components/display/file-card.cjs +0 -1
  324. package/dist/components/display/file-card.d.ts +0 -14
  325. package/dist/components/display/file-card.js +0 -59
  326. package/dist/components/feedback/empty-search-state.cjs +0 -1
  327. package/dist/components/feedback/empty-search-state.d.ts +0 -11
  328. package/dist/components/feedback/empty-search-state.js +0 -45
  329. package/dist/components/feedback/empty-state.cjs +0 -1
  330. package/dist/components/feedback/empty-state.d.ts +0 -11
  331. package/dist/components/feedback/empty-state.js +0 -38
  332. package/dist/components/filters/filter-chips.cjs +0 -1
  333. package/dist/components/filters/filter-chips.d.ts +0 -18
  334. package/dist/components/filters/filter-chips.js +0 -61
  335. package/dist/components/patterns/form-builder-presets.cjs +0 -1
  336. package/dist/components/patterns/form-builder-presets.d.ts +0 -1
  337. package/dist/components/patterns/form-builder-presets.js +0 -2
  338. package/dist/components/patterns/form-builder.cjs +0 -1
  339. package/dist/components/patterns/form-builder.d.ts +0 -109
  340. package/dist/components/patterns/form-builder.js +0 -263
  341. package/dist/showcase/premium/empty-state/index.cjs +0 -1
  342. package/dist/showcase/premium/empty-state/index.d.ts +0 -2
  343. package/dist/showcase/premium/empty-state/index.js +0 -3
  344. package/dist/showcase/premium/empty-state/mock.cjs +0 -14
  345. package/dist/showcase/premium/empty-state/mock.d.ts +0 -2
  346. package/dist/showcase/premium/empty-state/mock.js +0 -31
  347. package/dist/showcase/premium/empty-state/showcase.cjs +0 -1
  348. package/dist/showcase/premium/empty-state/showcase.d.ts +0 -3
  349. package/dist/showcase/premium/empty-state/showcase.js +0 -99
  350. package/dist/showcase/premium/form-builder/index.cjs +0 -1
  351. package/dist/showcase/premium/form-builder/index.d.ts +0 -2
  352. package/dist/showcase/premium/form-builder/index.js +0 -3
  353. package/dist/showcase/premium/form-builder/mock.cjs +0 -57
  354. package/dist/showcase/premium/form-builder/mock.d.ts +0 -2
  355. package/dist/showcase/premium/form-builder/mock.js +0 -40
  356. package/dist/showcase/premium/form-builder/showcase.cjs +0 -1
  357. package/dist/showcase/premium/form-builder/showcase.d.ts +0 -3
  358. package/dist/showcase/premium/form-builder/showcase.js +0 -69
  359. package/packages/cli/vendor/src/components/display/entity-card.tsx +0 -80
  360. package/packages/cli/vendor/src/components/display/entity-header.tsx +0 -80
  361. package/packages/cli/vendor/src/components/display/file-card.tsx +0 -61
  362. package/packages/cli/vendor/src/components/feedback/empty-search-state.tsx +0 -65
  363. package/packages/cli/vendor/src/components/feedback/empty-state.tsx +0 -56
  364. package/packages/cli/vendor/src/components/filters/filter-chips.tsx +0 -89
  365. package/packages/cli/vendor/src/components/patterns/form-builder-presets.ts +0 -13
  366. package/packages/cli/vendor/src/components/patterns/form-builder.tsx +0 -443
  367. package/packages/cli/vendor/src/showcase/premium/empty-state/index.ts +0 -2
  368. package/packages/cli/vendor/src/showcase/premium/empty-state/mock.ts +0 -30
  369. package/packages/cli/vendor/src/showcase/premium/empty-state/showcase.tsx +0 -65
  370. package/packages/cli/vendor/src/showcase/premium/form-builder/index.ts +0 -2
  371. package/packages/cli/vendor/src/showcase/premium/form-builder/mock.ts +0 -79
  372. package/packages/cli/vendor/src/showcase/premium/form-builder/showcase.tsx +0 -55
@@ -2,27 +2,24 @@ import { DescriptionList as e } from "./description-list.js";
2
2
  import { DataList as t, DataListRow as n } from "./data-list.js";
3
3
  import { ActivityFeed as r } from "./activity-feed.js";
4
4
  import { Avatar as i, AvatarGroup as a } from "./avatar.js";
5
- import { EntityHeader as o } from "./entity-header.js";
6
- import { Descriptions as s } from "./descriptions.js";
7
- import { KanbanBoard as c } from "./kanban.js";
8
- import { CodeBlock as l } from "./code-block.js";
9
- import { DataState as u } from "./data-state.js";
10
- import { EntityCard as d } from "./entity-card.js";
11
- import { FileCard as f } from "./file-card.js";
12
- import { List as p, ListRow as m } from "./list.js";
13
- import { MetricGrid as h } from "./metric-grid.js";
14
- import { Progress as g, ProgressCard as _, getProgressPercent as v } from "./progress.js";
15
- import { ProgressCircle as y } from "./progress-circle.js";
16
- import { PropertyGrid as b } from "./property-grid.js";
17
- import { Result as x, ResultAction as S } from "./result.js";
18
- import { Statistic as C, StatisticCard as w, StatisticGrid as T } from "./statistic.js";
19
- import { StatusDot as E } from "./status-dot.js";
20
- import { StatusLegend as D } from "./status-legend.js";
21
- import { Timeline as O } from "./timeline.js";
22
- import { TreeView as k } from "./tree-view.js";
23
- import { UserCard as A } from "./user-card.js";
24
- import { DeltaBadge as j } from "./delta-badge.js";
25
- import { TrendCard as M } from "./trend-card.js";
26
- import { ComparisonCard as N } from "./comparison-card.js";
27
- import { SmartCard as P } from "./smart-card.js";
28
- export { r as ActivityFeed, i as Avatar, a as AvatarGroup, l as CodeBlock, N as ComparisonCard, t as DataList, n as DataListRow, u as DataState, j as DeltaBadge, e as DescriptionList, s as Descriptions, d as EntityCard, o as EntityHeader, f as FileCard, P as InfoCard, c as KanbanBoard, p as List, m as ListRow, h as MetricGrid, g as Progress, _ as ProgressCard, y as ProgressCircle, b as PropertyGrid, x as Result, S as ResultAction, P as SmartCard, C as Statistic, w as StatisticCard, T as StatisticGrid, E as StatusDot, D as StatusLegend, O as Timeline, k as TreeView, M as TrendCard, A as UserCard, v as getProgressPercent };
5
+ import { Descriptions as o } from "./descriptions.js";
6
+ import { KanbanBoard as s } from "./kanban.js";
7
+ import { CodeBlock as c } from "./code-block.js";
8
+ import { DataState as l } from "./data-state.js";
9
+ import { List as u, ListRow as d } from "./list.js";
10
+ import { MetricGrid as f } from "./metric-grid.js";
11
+ import { Progress as p, ProgressCard as m, getProgressPercent as h } from "./progress.js";
12
+ import { ProgressCircle as g } from "./progress-circle.js";
13
+ import { PropertyGrid as _ } from "./property-grid.js";
14
+ import { Result as v, ResultAction as y } from "./result.js";
15
+ import { Statistic as b, StatisticCard as x, StatisticGrid as S } from "./statistic.js";
16
+ import { StatusDot as C } from "./status-dot.js";
17
+ import { StatusLegend as w } from "./status-legend.js";
18
+ import { Timeline as T } from "./timeline.js";
19
+ import { TreeView as E } from "./tree-view.js";
20
+ import { UserCard as D } from "./user-card.js";
21
+ import { DeltaBadge as O } from "./delta-badge.js";
22
+ import { TrendCard as k } from "./trend-card.js";
23
+ import { ComparisonCard as A } from "./comparison-card.js";
24
+ import { SmartCard as j } from "./smart-card.js";
25
+ export { r as ActivityFeed, i as Avatar, a as AvatarGroup, c as CodeBlock, A as ComparisonCard, t as DataList, n as DataListRow, l as DataState, O as DeltaBadge, e as DescriptionList, o as Descriptions, j as InfoCard, s as KanbanBoard, u as List, d as ListRow, f as MetricGrid, p as Progress, m as ProgressCard, g as ProgressCircle, _ as PropertyGrid, v as Result, y as ResultAction, j as SmartCard, b as Statistic, x as StatisticCard, S as StatisticGrid, C as StatusDot, w as StatusLegend, T as Timeline, E as TreeView, k as TrendCard, D as UserCard, h as getProgressPercent };
@@ -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("lucide-react"),i=require("react/jsx-runtime");var a={info:`border-primary/25 bg-primary/5 text-foreground`,success:`border-emerald-500/25 bg-emerald-500/10 text-foreground`,warning:`border-amber-500/30 bg-amber-500/10 text-foreground`,destructive:`border-destructive/30 bg-destructive/10 text-foreground`,muted:`border-border bg-muted/50 text-foreground`},o={info:`text-primary`,success:`text-emerald-600 dark:text-emerald-400`,warning:`text-amber-600 dark:text-amber-400`,destructive:`text-destructive`,muted:`text-muted-foreground`};function s(e){switch(e){case`success`:return(0,i.jsx)(r.CheckCircle2Icon,{className:`size-4`});case`warning`:return(0,i.jsx)(r.TriangleAlertIcon,{className:`size-4`});case`destructive`:return(0,i.jsx)(r.AlertCircleIcon,{className:`size-4`});default:return(0,i.jsx)(r.InfoIcon,{className:`size-4`})}}function c({tone:e=`info`,title:n,description:r,icon:c,action:l,className:u,children:d,...f}){return(0,i.jsxs)(`div`,{"data-slot":`alert`,role:e===`destructive`||e===`warning`?`alert`:`status`,className:t.cn(`flex gap-3 rounded-[var(--radius-2xl)] border p-4 text-sm shadow-[0_1px_0_rgba(255,255,255,0.05)]`,a[e],u),...f,children:[(0,i.jsx)(`div`,{"data-slot":`alert-icon`,className:t.cn(`mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-full border border-current/10 bg-background/55`,o[e]),children:c??s(e)}),(0,i.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[n&&(0,i.jsx)(`div`,{"data-slot":`alert-title`,className:`font-medium leading-none`,children:n}),(r||d)&&(0,i.jsx)(`div`,{"data-slot":`alert-description`,className:`text-muted-foreground`,children:r??d})]}),l&&(0,i.jsx)(`div`,{"data-slot":`alert-action`,className:`shrink-0`,children:l})]})}exports.Alert=c;
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("lucide-react"),i=require("react/jsx-runtime");var a={info:{soft:`border-primary/25 bg-primary/5 text-foreground`,outline:`border-primary/35 bg-background text-foreground`,solid:`border-primary bg-primary text-primary-foreground`},success:{soft:`border-emerald-500/25 bg-emerald-500/10 text-foreground`,outline:`border-emerald-500/35 bg-background text-foreground`,solid:`border-emerald-600 bg-emerald-600 text-white`},warning:{soft:`border-amber-500/30 bg-amber-500/10 text-foreground`,outline:`border-amber-500/35 bg-background text-foreground`,solid:`border-amber-500 bg-amber-500 text-amber-950`},destructive:{soft:`border-destructive/30 bg-destructive/10 text-foreground`,outline:`border-destructive/35 bg-background text-foreground`,solid:`border-destructive bg-destructive text-destructive-foreground`},muted:{soft:`border-border bg-muted/50 text-foreground`,outline:`border-border bg-background text-foreground`,solid:`border-border bg-foreground text-background`}},o={info:`text-primary`,success:`text-emerald-600 dark:text-emerald-400`,warning:`text-amber-600 dark:text-amber-400`,destructive:`text-destructive`,muted:`text-muted-foreground`};function s(e){switch(e){case`success`:return(0,i.jsx)(r.CheckCircle2Icon,{className:`size-4`});case`warning`:return(0,i.jsx)(r.TriangleAlertIcon,{className:`size-4`});case`destructive`:return(0,i.jsx)(r.AlertCircleIcon,{className:`size-4`});default:return(0,i.jsx)(r.InfoIcon,{className:`size-4`})}}function c({tone:e=`info`,variant:n=`soft`,size:r=`md`,title:c,description:l,icon:u,action:d,dismissible:f=!1,dismissLabel:p=`Dismiss alert`,onDismiss:m,className:h,children:g,..._}){return(0,i.jsxs)(`div`,{"data-slot":`alert`,"data-size":r,role:e===`destructive`||e===`warning`?`alert`:`status`,className:t.cn(`flex gap-3 rounded-[var(--aui-card-radius,var(--radius-xl))] border p-4 text-sm shadow-[var(--aui-card-shadow,var(--aui-control-shadow,0_1px_0_rgba(255,255,255,0.05)))] data-[size=sm]:p-3`,a[e][n],h),..._,children:[(0,i.jsx)(`div`,{"data-slot":`alert-icon`,className:t.cn(`mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-full border border-current/10 bg-background/55`,n===`solid`&&`bg-white/12 text-current`,o[e]),children:u??s(e)}),(0,i.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[c&&(0,i.jsx)(`div`,{"data-slot":`alert-title`,className:`font-medium leading-none`,children:c}),(l||g)&&(0,i.jsx)(`div`,{"data-slot":`alert-description`,className:t.cn(`text-muted-foreground`,n===`solid`&&`text-current/88`),children:l??g})]}),d||f?(0,i.jsxs)(`div`,{"data-slot":`alert-action`,className:`flex shrink-0 items-start gap-2`,children:[d,f?(0,i.jsx)(`button`,{type:`button`,"aria-label":p,className:t.cn(`inline-flex size-8 items-center justify-center rounded-full border border-current/10 bg-background/45 text-current transition-opacity hover:opacity-90`,n===`solid`&&`bg-white/12`),onClick:m,children:(0,i.jsx)(`span`,{"aria-hidden":`true`,children:`×`})}):null]}):null]})}exports.Alert=c;
@@ -2,10 +2,15 @@ import * as React from "react";
2
2
  export type AlertTone = "info" | "success" | "warning" | "destructive" | "muted";
3
3
  export type AlertProps = React.ComponentProps<"div"> & {
4
4
  tone?: AlertTone;
5
+ variant?: "soft" | "outline" | "solid";
6
+ size?: "sm" | "md";
5
7
  title?: React.ReactNode;
6
8
  description?: React.ReactNode;
7
9
  icon?: React.ReactNode;
8
10
  action?: React.ReactNode;
11
+ dismissible?: boolean;
12
+ dismissLabel?: string;
13
+ onDismiss?: () => void;
9
14
  };
10
- declare function Alert({ tone, title, description, icon, action, className, children, ...props }: AlertProps): React.JSX.Element;
15
+ declare function Alert({ tone, variant, size, title, description, icon, action, dismissible, dismissLabel, onDismiss, className, children, ...props }: AlertProps): React.JSX.Element;
11
16
  export { Alert };
@@ -4,11 +4,31 @@ import { AlertCircleIcon as t, CheckCircle2Icon as n, InfoIcon as r, TriangleAle
4
4
  import { jsx as a, jsxs as o } from "react/jsx-runtime";
5
5
  //#region src/components/feedback/alert.tsx
6
6
  var s = {
7
- info: "border-primary/25 bg-primary/5 text-foreground",
8
- success: "border-emerald-500/25 bg-emerald-500/10 text-foreground",
9
- warning: "border-amber-500/30 bg-amber-500/10 text-foreground",
10
- destructive: "border-destructive/30 bg-destructive/10 text-foreground",
11
- muted: "border-border bg-muted/50 text-foreground"
7
+ info: {
8
+ soft: "border-primary/25 bg-primary/5 text-foreground",
9
+ outline: "border-primary/35 bg-background text-foreground",
10
+ solid: "border-primary bg-primary text-primary-foreground"
11
+ },
12
+ success: {
13
+ soft: "border-emerald-500/25 bg-emerald-500/10 text-foreground",
14
+ outline: "border-emerald-500/35 bg-background text-foreground",
15
+ solid: "border-emerald-600 bg-emerald-600 text-white"
16
+ },
17
+ warning: {
18
+ soft: "border-amber-500/30 bg-amber-500/10 text-foreground",
19
+ outline: "border-amber-500/35 bg-background text-foreground",
20
+ solid: "border-amber-500 bg-amber-500 text-amber-950"
21
+ },
22
+ destructive: {
23
+ soft: "border-destructive/30 bg-destructive/10 text-foreground",
24
+ outline: "border-destructive/35 bg-background text-foreground",
25
+ solid: "border-destructive bg-destructive text-destructive-foreground"
26
+ },
27
+ muted: {
28
+ soft: "border-border bg-muted/50 text-foreground",
29
+ outline: "border-border bg-background text-foreground",
30
+ solid: "border-border bg-foreground text-background"
31
+ }
12
32
  }, c = {
13
33
  info: "text-primary",
14
34
  success: "text-emerald-600 dark:text-emerald-400",
@@ -24,35 +44,45 @@ function l(e) {
24
44
  default: return /* @__PURE__ */ a(r, { className: "size-4" });
25
45
  }
26
46
  }
27
- function u({ tone: t = "info", title: n, description: r, icon: i, action: u, className: d, children: f, ...p }) {
47
+ function u({ tone: t = "info", variant: n = "soft", size: r = "md", title: i, description: u, icon: d, action: f, dismissible: p = !1, dismissLabel: m = "Dismiss alert", onDismiss: h, className: g, children: _, ...v }) {
28
48
  return /* @__PURE__ */ o("div", {
29
49
  "data-slot": "alert",
50
+ "data-size": r,
30
51
  role: t === "destructive" || t === "warning" ? "alert" : "status",
31
- className: e("flex gap-3 rounded-[var(--radius-2xl)] border p-4 text-sm shadow-[0_1px_0_rgba(255,255,255,0.05)]", s[t], d),
32
- ...p,
52
+ className: e("flex gap-3 rounded-[var(--aui-card-radius,var(--radius-xl))] border p-4 text-sm shadow-[var(--aui-card-shadow,var(--aui-control-shadow,0_1px_0_rgba(255,255,255,0.05)))] data-[size=sm]:p-3", s[t][n], g),
53
+ ...v,
33
54
  children: [
34
55
  /* @__PURE__ */ a("div", {
35
56
  "data-slot": "alert-icon",
36
- className: e("mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-full border border-current/10 bg-background/55", c[t]),
37
- children: i ?? l(t)
57
+ className: e("mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-full border border-current/10 bg-background/55", n === "solid" && "bg-white/12 text-current", c[t]),
58
+ children: d ?? l(t)
38
59
  }),
39
60
  /* @__PURE__ */ o("div", {
40
61
  className: "min-w-0 flex-1 space-y-1",
41
- children: [n && /* @__PURE__ */ a("div", {
62
+ children: [i && /* @__PURE__ */ a("div", {
42
63
  "data-slot": "alert-title",
43
64
  className: "font-medium leading-none",
44
- children: n
45
- }), (r || f) && /* @__PURE__ */ a("div", {
65
+ children: i
66
+ }), (u || _) && /* @__PURE__ */ a("div", {
46
67
  "data-slot": "alert-description",
47
- className: "text-muted-foreground",
48
- children: r ?? f
68
+ className: e("text-muted-foreground", n === "solid" && "text-current/88"),
69
+ children: u ?? _
49
70
  })]
50
71
  }),
51
- u && /* @__PURE__ */ a("div", {
72
+ f || p ? /* @__PURE__ */ o("div", {
52
73
  "data-slot": "alert-action",
53
- className: "shrink-0",
54
- children: u
55
- })
74
+ className: "flex shrink-0 items-start gap-2",
75
+ children: [f, p ? /* @__PURE__ */ a("button", {
76
+ type: "button",
77
+ "aria-label": m,
78
+ className: e("inline-flex size-8 items-center justify-center rounded-full border border-current/10 bg-background/45 text-current transition-opacity hover:opacity-90", n === "solid" && "bg-white/12"),
79
+ onClick: h,
80
+ children: /* @__PURE__ */ a("span", {
81
+ "aria-hidden": "true",
82
+ children: "×"
83
+ })
84
+ }) : null]
85
+ }) : null
56
86
  ]
57
87
  });
58
88
  }
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./alert.cjs"),t=require("./empty-state.cjs"),n=require("./loading-state.cjs"),r=require("./page-state.cjs"),i=require("./empty-search-state.cjs");exports.Alert=e.Alert,exports.EmptySearchState=i.EmptySearchState,exports.EmptyState=t.EmptyState,exports.InlineState=r.InlineState,exports.LoadingState=n.LoadingState,exports.PageState=r.PageState;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./alert.cjs"),t=require("./loading-state.cjs"),n=require("./page-state.cjs");exports.Alert=e.Alert,exports.InlineState=n.InlineState,exports.LoadingState=t.LoadingState,exports.PageState=n.PageState;
@@ -1,5 +1,3 @@
1
1
  export * from "./alert";
2
- export * from "./empty-state";
3
2
  export * from "./loading-state";
4
3
  export * from "./page-state";
5
- export * from "./empty-search-state";
@@ -1,6 +1,4 @@
1
1
  import { Alert as e } from "./alert.js";
2
- import { EmptyState as t } from "./empty-state.js";
3
- import { LoadingState as n } from "./loading-state.js";
4
- import { InlineState as r, PageState as i } from "./page-state.js";
5
- import { EmptySearchState as a } from "./empty-search-state.js";
6
- export { e as Alert, a as EmptySearchState, t as EmptyState, r as InlineState, n as LoadingState, i as PageState };
2
+ import { LoadingState as t } from "./loading-state.js";
3
+ import { InlineState as n, PageState as r } from "./page-state.js";
4
+ export { e as Alert, n as InlineState, t as LoadingState, r as PageState };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../showcase/create-demo.cjs");var t=e.createShowcaseDemoRegistry([e.component(`filter-bar`,`FilterBar`,`actions`,`Search, filters, active-count and reset actions in one toolbar.`),e.component(`filter-chips`,`FilterChips`,`actions`,`Inline active filter summaries with clear and remove actions.`),e.component(`data-table-saved-filters`,`SavedFilterSelect`,`actions`,`Saved filter chips and quick view controls.`)]);exports.filtersShowcaseDemoRegistry=t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../showcase/create-demo.cjs");var t=e.createShowcaseDemoRegistry([e.component(`filter-bar`,`FilterBar`,`actions`,`Search, filters, active-count and reset actions in one toolbar.`),e.component(`data-table-saved-filters`,`SavedFilterSelect`,`actions`,`Saved filter chips and quick view controls.`)]);exports.filtersShowcaseDemoRegistry=t;
@@ -1,9 +1,5 @@
1
1
  import { component as e, createShowcaseDemoRegistry as t } from "../../showcase/create-demo.js";
2
2
  //#region src/components/filters/demo.tsx
3
- var n = t([
4
- e("filter-bar", "FilterBar", "actions", "Search, filters, active-count and reset actions in one toolbar."),
5
- e("filter-chips", "FilterChips", "actions", "Inline active filter summaries with clear and remove actions."),
6
- e("data-table-saved-filters", "SavedFilterSelect", "actions", "Saved filter chips and quick view controls.")
7
- ]);
3
+ var n = t([e("filter-bar", "FilterBar", "actions", "Search, filters, active-count and reset actions in one toolbar."), e("data-table-saved-filters", "SavedFilterSelect", "actions", "Saved filter chips and quick view controls.")]);
8
4
  //#endregion
9
5
  export { n as filtersShowcaseDemoRegistry };
@@ -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");let r=require("react");r=e.__toESM(r,1);let i=require("lucide-react"),a=require("react/jsx-runtime");function o({className:e,search:o,filters:s,actions:c,activeCount:l=0,activeLabel:u=e=>`${e} active`,resetLabel:d=`Reset`,onReset:f,collapsible:p=!1,defaultExpanded:m=!1,children:h,...g}){let[_,v]=r.useState(m),y=!!(s||h),b=!p||_;return(0,a.jsxs)(`div`,{"data-slot":`filter-bar`,className:t.cn(`flex flex-col gap-3 rounded-lg border bg-card p-3`,e),...g,children:[(0,a.jsxs)(`div`,{className:`flex flex-col gap-2 lg:flex-row lg:items-center lg:justify-between`,children:[(0,a.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2 sm:flex-row sm:items-center`,children:[o&&(0,a.jsx)(`div`,{className:`min-w-0 flex-1`,children:o}),p&&y&&(0,a.jsxs)(n.Button,{type:`button`,variant:_?`secondary`:`outline`,size:`sm`,onClick:()=>v(e=>!e),children:[(0,a.jsx)(i.SlidersHorizontalIcon,{"data-icon":`inline-start`}),`Filters`,l>0&&(0,a.jsx)(`span`,{className:`ml-1 rounded-full bg-background px-1.5 text-xs`,children:l})]})]}),(0,a.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:[l>0&&(0,a.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:u(l)}),l>0&&f&&(0,a.jsxs)(n.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:f,children:[(0,a.jsx)(i.XIcon,{"data-icon":`inline-start`}),d]}),c]})]}),y&&b&&(0,a.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center`,children:[s,h]})]})}exports.FilterBar=o;
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/badge/index.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("lucide-react"),o=require("react/jsx-runtime");var s={default:`secondary`,success:`secondary`,warning:`outline`,danger:`destructive`,info:`outline`,muted:`outline`};function c({className:e,search:c,filters:l,actions:u,chips:d,activeCount:f,activeLabel:p=e=>`${e} active`,resetLabel:m=`Reset`,clearChipLabel:h,onReset:g,onRemoveChip:_,collapsible:v=!1,defaultExpanded:y=!1,emptyChips:b,chipLimit:x,chipOverflowLabel:S=e=>`+${e} more`,children:C,...w}){let[T,E]=i.useState(y),D=d?.filter(e=>!e.hidden)??[],O=x&&x>0?D.slice(0,x):D,k=Math.max(D.length-O.length,0),A=f??D.length,j=!!(l||C),M=!!d,N=!v||T,P=D.length>0||M&&b;return(0,o.jsxs)(`div`,{"data-slot":`filter-bar`,className:t.cn(`flex flex-col gap-3 rounded-lg border bg-card p-3`,e),...w,children:[(0,o.jsxs)(`div`,{className:`flex flex-col gap-2 lg:flex-row lg:items-center lg:justify-between`,children:[(0,o.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2 sm:flex-row sm:items-center`,children:[c&&(0,o.jsx)(`div`,{className:`min-w-0 flex-1`,children:c}),v&&j&&(0,o.jsxs)(n.Button,{type:`button`,variant:T?`secondary`:`outline`,size:`sm`,onClick:()=>E(e=>!e),children:[(0,o.jsx)(a.SlidersHorizontalIcon,{"data-icon":`inline-start`}),`Filters`,A>0&&(0,o.jsx)(`span`,{className:`ml-1 rounded-full bg-background px-1.5 text-xs`,children:A})]})]}),(0,o.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:[A>0&&(0,o.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:p(A)}),A>0&&g&&(0,o.jsxs)(n.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:g,children:[(0,o.jsx)(a.XIcon,{"data-icon":`inline-start`}),m]}),u]})]}),j&&N&&(0,o.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center`,children:[l,C]}),P&&(0,o.jsx)(`div`,{"data-slot":`filter-bar-chips`,className:`flex flex-wrap items-center gap-2`,children:D.length>0?(0,o.jsxs)(o.Fragment,{children:[O.map(e=>(0,o.jsxs)(r.Badge,{variant:s[e.tone??`default`],className:t.cn(`gap-1.5`,e.disabled&&`opacity-60`),children:[(0,o.jsx)(`span`,{children:e.label}),e.value!==void 0&&(0,o.jsx)(`span`,{className:`text-muted-foreground`,children:e.value}),_&&!e.disabled&&(0,o.jsx)(`button`,{type:`button`,"aria-label":typeof h==`string`?h:`Remove filter`,className:`rounded-full p-0.5 hover:bg-muted`,onClick:n=>{t.stopInteractivePropagation(n),_(e.key)},onMouseDown:t.stopInteractivePropagation,onDoubleClick:t.stopInteractivePropagation,children:(0,o.jsx)(a.XIcon,{className:`size-3`})})]},e.key)),k>0?(0,o.jsx)(r.Badge,{variant:`outline`,children:S(k)}):null]}):(0,o.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:b})})]})}exports.FilterBar=c;
@@ -1,14 +1,28 @@
1
1
  import * as React from "react";
2
+ export type FilterBarChip = {
3
+ key: string;
4
+ label: React.ReactNode;
5
+ value?: React.ReactNode;
6
+ tone?: "default" | "success" | "warning" | "danger" | "info" | "muted";
7
+ disabled?: boolean;
8
+ hidden?: boolean;
9
+ };
2
10
  export type FilterBarProps = React.ComponentProps<"div"> & {
3
11
  search?: React.ReactNode;
4
12
  filters?: React.ReactNode;
5
13
  actions?: React.ReactNode;
14
+ chips?: FilterBarChip[];
6
15
  activeCount?: number;
7
16
  activeLabel?: (count: number) => React.ReactNode;
8
17
  resetLabel?: React.ReactNode;
18
+ clearChipLabel?: React.ReactNode;
9
19
  onReset?: () => void;
20
+ onRemoveChip?: (key: string) => void;
10
21
  collapsible?: boolean;
11
22
  defaultExpanded?: boolean;
23
+ emptyChips?: React.ReactNode;
24
+ chipLimit?: number;
25
+ chipOverflowLabel?: (hiddenCount: number) => React.ReactNode;
12
26
  };
13
- declare function FilterBar({ className, search, filters, actions, activeCount, activeLabel, resetLabel, onReset, collapsible, defaultExpanded, children, ...props }: FilterBarProps): React.JSX.Element;
27
+ declare function FilterBar({ className, search, filters, actions, chips, activeCount, activeLabel, resetLabel, clearChipLabel, onReset, onRemoveChip, collapsible, defaultExpanded, emptyChips, chipLimit, chipOverflowLabel, children, ...props }: FilterBarProps): React.JSX.Element;
14
28
  export { FilterBar };
@@ -1,58 +1,102 @@
1
- import { cn as e } from "../../lib/utils.js";
2
- import { Button as t } from "../ui/button/index.js";
3
- import * as n from "react";
4
- import { SlidersHorizontalIcon as r, XIcon as i } from "lucide-react";
5
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
1
+ import { cn as e, stopInteractivePropagation as t } from "../../lib/utils.js";
2
+ import { Button as n } from "../ui/button/index.js";
3
+ import { Badge as r } from "../ui/badge/index.js";
4
+ import * as i from "react";
5
+ import { SlidersHorizontalIcon as a, XIcon as o } from "lucide-react";
6
+ import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
6
7
  //#region src/components/filters/filter-bar.tsx
7
- function s({ className: s, search: c, filters: l, actions: u, activeCount: d = 0, activeLabel: f = (e) => `${e} active`, resetLabel: p = "Reset", onReset: m, collapsible: h = !1, defaultExpanded: g = !1, children: _, ...v }) {
8
- let [y, b] = n.useState(g), x = !!(l || _), S = !h || y;
9
- return /* @__PURE__ */ o("div", {
8
+ var u = {
9
+ default: "secondary",
10
+ success: "secondary",
11
+ warning: "outline",
12
+ danger: "destructive",
13
+ info: "outline",
14
+ muted: "outline"
15
+ };
16
+ function d({ className: d, search: f, filters: p, actions: m, chips: h, activeCount: g, activeLabel: _ = (e) => `${e} active`, resetLabel: v = "Reset", clearChipLabel: y, onReset: b, onRemoveChip: x, collapsible: S = !1, defaultExpanded: C = !1, emptyChips: w, chipLimit: T, chipOverflowLabel: E = (e) => `+${e} more`, children: D, ...O }) {
17
+ let [k, A] = i.useState(C), j = h?.filter((e) => !e.hidden) ?? [], M = T && T > 0 ? j.slice(0, T) : j, N = Math.max(j.length - M.length, 0), P = g ?? j.length, F = !!(p || D), I = !!h, L = !S || k, R = j.length > 0 || I && w;
18
+ return /* @__PURE__ */ l("div", {
10
19
  "data-slot": "filter-bar",
11
- className: e("flex flex-col gap-3 rounded-lg border bg-card p-3", s),
12
- ...v,
13
- children: [/* @__PURE__ */ o("div", {
14
- className: "flex flex-col gap-2 lg:flex-row lg:items-center lg:justify-between",
15
- children: [/* @__PURE__ */ o("div", {
16
- className: "flex min-w-0 flex-1 flex-col gap-2 sm:flex-row sm:items-center",
17
- children: [c && /* @__PURE__ */ a("div", {
18
- className: "min-w-0 flex-1",
19
- children: c
20
- }), h && x && /* @__PURE__ */ o(t, {
21
- type: "button",
22
- variant: y ? "secondary" : "outline",
23
- size: "sm",
24
- onClick: () => b((e) => !e),
20
+ className: e("flex flex-col gap-3 rounded-lg border bg-card p-3", d),
21
+ ...O,
22
+ children: [
23
+ /* @__PURE__ */ l("div", {
24
+ className: "flex flex-col gap-2 lg:flex-row lg:items-center lg:justify-between",
25
+ children: [/* @__PURE__ */ l("div", {
26
+ className: "flex min-w-0 flex-1 flex-col gap-2 sm:flex-row sm:items-center",
27
+ children: [f && /* @__PURE__ */ c("div", {
28
+ className: "min-w-0 flex-1",
29
+ children: f
30
+ }), S && F && /* @__PURE__ */ l(n, {
31
+ type: "button",
32
+ variant: k ? "secondary" : "outline",
33
+ size: "sm",
34
+ onClick: () => A((e) => !e),
35
+ children: [
36
+ /* @__PURE__ */ c(a, { "data-icon": "inline-start" }),
37
+ "Filters",
38
+ P > 0 && /* @__PURE__ */ c("span", {
39
+ className: "ml-1 rounded-full bg-background px-1.5 text-xs",
40
+ children: P
41
+ })
42
+ ]
43
+ })]
44
+ }), /* @__PURE__ */ l("div", {
45
+ className: "flex shrink-0 flex-wrap items-center gap-2",
25
46
  children: [
26
- /* @__PURE__ */ a(r, { "data-icon": "inline-start" }),
27
- "Filters",
28
- d > 0 && /* @__PURE__ */ a("span", {
29
- className: "ml-1 rounded-full bg-background px-1.5 text-xs",
30
- children: d
31
- })
47
+ P > 0 && /* @__PURE__ */ c("span", {
48
+ className: "text-sm text-muted-foreground",
49
+ children: _(P)
50
+ }),
51
+ P > 0 && b && /* @__PURE__ */ l(n, {
52
+ type: "button",
53
+ variant: "ghost",
54
+ size: "sm",
55
+ onClick: b,
56
+ children: [/* @__PURE__ */ c(o, { "data-icon": "inline-start" }), v]
57
+ }),
58
+ m
32
59
  ]
33
60
  })]
34
- }), /* @__PURE__ */ o("div", {
35
- className: "flex shrink-0 flex-wrap items-center gap-2",
36
- children: [
37
- d > 0 && /* @__PURE__ */ a("span", {
38
- className: "text-sm text-muted-foreground",
39
- children: f(d)
40
- }),
41
- d > 0 && m && /* @__PURE__ */ o(t, {
42
- type: "button",
43
- variant: "ghost",
44
- size: "sm",
45
- onClick: m,
46
- children: [/* @__PURE__ */ a(i, { "data-icon": "inline-start" }), p]
47
- }),
48
- u
49
- ]
50
- })]
51
- }), x && S && /* @__PURE__ */ o("div", {
52
- className: "flex flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center",
53
- children: [l, _]
54
- })]
61
+ }),
62
+ F && L && /* @__PURE__ */ l("div", {
63
+ className: "flex flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center",
64
+ children: [p, D]
65
+ }),
66
+ R && /* @__PURE__ */ c("div", {
67
+ "data-slot": "filter-bar-chips",
68
+ className: "flex flex-wrap items-center gap-2",
69
+ children: j.length > 0 ? /* @__PURE__ */ l(s, { children: [M.map((n) => /* @__PURE__ */ l(r, {
70
+ variant: u[n.tone ?? "default"],
71
+ className: e("gap-1.5", n.disabled && "opacity-60"),
72
+ children: [
73
+ /* @__PURE__ */ c("span", { children: n.label }),
74
+ n.value !== void 0 && /* @__PURE__ */ c("span", {
75
+ className: "text-muted-foreground",
76
+ children: n.value
77
+ }),
78
+ x && !n.disabled && /* @__PURE__ */ c("button", {
79
+ type: "button",
80
+ "aria-label": typeof y == "string" ? y : "Remove filter",
81
+ className: "rounded-full p-0.5 hover:bg-muted",
82
+ onClick: (e) => {
83
+ t(e), x(n.key);
84
+ },
85
+ onMouseDown: t,
86
+ onDoubleClick: t,
87
+ children: /* @__PURE__ */ c(o, { className: "size-3" })
88
+ })
89
+ ]
90
+ }, n.key)), N > 0 ? /* @__PURE__ */ c(r, {
91
+ variant: "outline",
92
+ children: E(N)
93
+ }) : null] }) : /* @__PURE__ */ c("span", {
94
+ className: "text-sm text-muted-foreground",
95
+ children: w
96
+ })
97
+ })
98
+ ]
55
99
  });
56
100
  }
57
101
  //#endregion
58
- export { s as FilterBar };
102
+ export { d as FilterBar };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./filter-chips.cjs"),t=require("./filter-bar.cjs"),n=require("./saved-filter-select.cjs");exports.FilterBar=t.FilterBar,exports.FilterChips=e.FilterChips,exports.SavedFilterSelect=n.SavedFilterSelect;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./filter-bar.cjs"),t=require("./saved-filter-select.cjs");exports.FilterBar=e.FilterBar,exports.SavedFilterSelect=t.SavedFilterSelect;
@@ -1,3 +1,2 @@
1
- export * from "./filter-chips";
2
1
  export * from "./filter-bar";
3
2
  export * from "./saved-filter-select";
@@ -1,4 +1,3 @@
1
- import { FilterChips as e } from "./filter-chips.js";
2
- import { FilterBar as t } from "./filter-bar.js";
3
- import { SavedFilterSelect as n } from "./saved-filter-select.js";
4
- export { t as FilterBar, e as FilterChips, n as SavedFilterSelect };
1
+ import { FilterBar as e } from "./filter-bar.js";
2
+ import { SavedFilterSelect as t } from "./saved-filter-select.js";
3
+ export { e as FilterBar, t as SavedFilterSelect };
@@ -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("lucide-react"),i=require("react/jsx-runtime");var a={vertical:`grid gap-2`,horizontal:`grid gap-2 sm:grid-cols-[minmax(0,12rem)_1fr] sm:items-start sm:gap-5`,inline:`flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-4`};function o({className:e,label:n,description:o,error:s,required:c=!1,htmlFor:l,layout:u=`vertical`,descriptionPosition:d=`top`,labelAction:f,requiredIndicator:p=(0,i.jsx)(`span`,{className:`ml-1 text-destructive`,children:`*`}),errorIcon:m,showErrorIcon:h=!0,disabled:g=!1,readOnly:_=!1,labelClassName:v,labelRowClassName:y,descriptionClassName:b,errorClassName:x,contentClassName:S,children:C,...w}){let T=!!(n||f),E=o&&d===`top`,D=o&&d===`bottom`,O=m??(0,i.jsx)(r.AlertCircleIcon,{className:`size-3.5`}),k=T?(0,i.jsxs)(`div`,{"data-slot":`form-field-label-row`,className:t.cn(`flex min-w-0 items-center justify-between gap-3`,u===`inline`&&`sm:w-auto`,y),children:[n?(0,i.jsxs)(`label`,{"data-slot":`form-field-label`,htmlFor:l,className:t.cn(`min-w-0 text-sm font-semibold leading-none tracking-tight text-foreground`,g&&`cursor-not-allowed opacity-60`,_&&`opacity-80`,v),children:[n,c&&p]}):(0,i.jsx)(`span`,{}),f&&(0,i.jsx)(`div`,{"data-slot":`form-field-label-action`,className:`shrink-0 text-sm`,children:f})]}):null,A=o?(0,i.jsx)(`p`,{"data-slot":`form-field-description`,className:t.cn(`text-sm leading-6 text-muted-foreground`,g&&`opacity-60`,b),children:o}):null,j=(0,i.jsx)(`div`,{"data-slot":`form-field-content`,className:t.cn(`min-w-0 space-y-2`,S),children:C}),M=s?(0,i.jsxs)(`p`,{"data-slot":`form-field-error`,className:t.cn(`flex items-start gap-2 rounded-[min(var(--radius-xl),16px)] border border-destructive/18 bg-destructive/8 px-3 py-2 text-sm font-medium leading-6 text-destructive`,x),children:[h&&(0,i.jsx)(`span`,{className:`mt-1 shrink-0`,children:O}),(0,i.jsx)(`span`,{className:`min-w-0`,children:s})]}):null;return(0,i.jsx)(`div`,{"data-slot":`form-field-shell`,"data-layout":u,"data-invalid":!!s||void 0,"data-disabled":g||void 0,"data-readonly":_||void 0,"aria-disabled":g||void 0,className:t.cn(a[u],`rounded-[var(--radius-2xl)]`,e),...w,children:u===`horizontal`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`div`,{className:`grid gap-2 sm:pt-2.5`,children:[k,E&&A]}),(0,i.jsxs)(`div`,{className:`grid min-w-0 gap-2`,children:[j,D&&A,M]})]}):u===`inline`?(0,i.jsxs)(i.Fragment,{children:[k,(0,i.jsxs)(`div`,{className:`grid min-w-0 flex-1 gap-2`,children:[E&&A,j,D&&A,M]})]}):(0,i.jsxs)(i.Fragment,{children:[k,E&&A,j,D&&A,M]})})}exports.FormFieldShell=o;
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("lucide-react"),i=require("react/jsx-runtime");function a(e,t={}){let n=`${e}-label`,r=`${e}-description`,i=`${e}-error`;return{labelId:n,descriptionId:r,errorId:i,describedBy:[t.description?r:null,t.error?i:null].filter(Boolean).join(` `)||void 0}}var o={vertical:`grid gap-2`,horizontal:`grid gap-2 sm:grid-cols-[minmax(0,12rem)_1fr] sm:items-start sm:gap-5`,inline:`flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-4`};function s({className:e,label:n,description:a,error:s,required:c=!1,htmlFor:l,labelId:u,descriptionId:d,errorId:f,layout:p=`vertical`,descriptionPosition:m=`top`,labelAction:h,requiredIndicator:g=(0,i.jsx)(`span`,{className:`ml-1 text-destructive`,children:`*`}),errorIcon:_,showErrorIcon:v=!0,disabled:y=!1,readOnly:b=!1,labelClassName:x,labelRowClassName:S,descriptionClassName:C,errorClassName:w,contentClassName:T,children:E,...D}){let O=!!(n||h),k=a&&m===`top`,A=a&&m===`bottom`,j=_??(0,i.jsx)(r.AlertCircleIcon,{className:`size-3.5`}),M=O?(0,i.jsxs)(`div`,{"data-slot":`form-field-label-row`,className:t.cn(`flex min-w-0 items-center justify-between gap-3`,p===`inline`&&`sm:w-auto`,S),children:[n?(0,i.jsxs)(`label`,{"data-slot":`form-field-label`,htmlFor:l,id:u,className:t.cn(`min-w-0 text-sm font-semibold leading-none tracking-tight text-foreground`,y&&`cursor-not-allowed opacity-60`,b&&`opacity-80`,x),children:[n,c&&g]}):(0,i.jsx)(`span`,{}),h&&(0,i.jsx)(`div`,{"data-slot":`form-field-label-action`,className:`shrink-0 text-sm`,children:h})]}):null,N=a?(0,i.jsx)(`p`,{"data-slot":`form-field-description`,id:d,className:t.cn(`text-sm leading-6 text-muted-foreground`,y&&`opacity-60`,C),children:a}):null,P=(0,i.jsx)(`div`,{"data-slot":`form-field-content`,className:t.cn(`min-w-0 space-y-2`,T),children:E}),F=s?(0,i.jsxs)(`p`,{"data-slot":`form-field-error`,id:f,role:`alert`,"aria-live":`polite`,className:t.cn(`flex items-start gap-2 rounded-[min(var(--radius-xl),16px)] border border-destructive/18 bg-destructive/8 px-3 py-2 text-sm font-medium leading-6 text-destructive`,w),children:[v&&(0,i.jsx)(`span`,{className:`mt-1 shrink-0`,children:j}),(0,i.jsx)(`span`,{className:`min-w-0`,children:s})]}):null;return(0,i.jsx)(`div`,{"data-slot":`form-field-shell`,"data-layout":p,"data-invalid":!!s||void 0,"data-disabled":y||void 0,"data-readonly":b||void 0,"aria-disabled":y||void 0,className:t.cn(o[p],`rounded-[var(--radius-2xl)]`,e),...D,children:p===`horizontal`?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(`div`,{className:`grid gap-2 sm:pt-2.5`,children:[M,k&&N]}),(0,i.jsxs)(`div`,{className:`grid min-w-0 gap-2`,children:[P,A&&N,F]})]}):p===`inline`?(0,i.jsxs)(i.Fragment,{children:[M,(0,i.jsxs)(`div`,{className:`grid min-w-0 flex-1 gap-2`,children:[k&&N,P,A&&N,F]})]}):(0,i.jsxs)(i.Fragment,{children:[M,k&&N,P,A&&N,F]})})}exports.FormFieldShell=s,exports.resolveFormFieldIds=a;
@@ -7,6 +7,9 @@ export type FormFieldShellProps = React.ComponentProps<"div"> & {
7
7
  error?: React.ReactNode;
8
8
  required?: boolean;
9
9
  htmlFor?: string;
10
+ labelId?: string;
11
+ descriptionId?: string;
12
+ errorId?: string;
10
13
  layout?: FormFieldLayout;
11
14
  descriptionPosition?: FormFieldDescriptionPosition;
12
15
  labelAction?: React.ReactNode;
@@ -21,6 +24,17 @@ export type FormFieldShellProps = React.ComponentProps<"div"> & {
21
24
  errorClassName?: string;
22
25
  contentClassName?: string;
23
26
  };
24
- export type FormFieldShellControlProps = Pick<FormFieldShellProps, "label" | "description" | "required" | "className" | "layout" | "descriptionPosition" | "labelAction" | "requiredIndicator" | "errorIcon" | "showErrorIcon" | "disabled" | "readOnly" | "labelClassName" | "labelRowClassName" | "descriptionClassName" | "errorClassName" | "contentClassName">;
25
- declare function FormFieldShell({ className, label, description, error, required, htmlFor, layout, descriptionPosition, labelAction, requiredIndicator, errorIcon, showErrorIcon, disabled, readOnly, labelClassName, labelRowClassName, descriptionClassName, errorClassName, contentClassName, children, ...props }: FormFieldShellProps): React.JSX.Element;
26
- export { FormFieldShell };
27
+ export type FormFieldShellControlProps = Pick<FormFieldShellProps, "label" | "description" | "required" | "className" | "htmlFor" | "labelId" | "descriptionId" | "errorId" | "layout" | "descriptionPosition" | "labelAction" | "requiredIndicator" | "errorIcon" | "showErrorIcon" | "disabled" | "readOnly" | "labelClassName" | "labelRowClassName" | "descriptionClassName" | "errorClassName" | "contentClassName">;
28
+ export type FormFieldMessageState = {
29
+ description?: React.ReactNode;
30
+ error?: React.ReactNode;
31
+ };
32
+ export type FormFieldResolvedIds = {
33
+ labelId: string;
34
+ descriptionId: string;
35
+ errorId: string;
36
+ describedBy?: string;
37
+ };
38
+ declare function resolveFormFieldIds(id: string, state?: FormFieldMessageState): FormFieldResolvedIds;
39
+ declare function FormFieldShell({ className, label, description, error, required, htmlFor, labelId, descriptionId, errorId, layout, descriptionPosition, labelAction, requiredIndicator, errorIcon, showErrorIcon, disabled, readOnly, labelClassName, labelRowClassName, descriptionClassName, errorClassName, contentClassName, children, ...props }: FormFieldShellProps): React.JSX.Element;
40
+ export { FormFieldShell, resolveFormFieldIds };