themelia-react-ui 2.0.5 → 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 (489) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/MIGRATION.md +119 -0
  3. package/README.md +13 -6
  4. package/dist/{accordion-B9MHG0cT.js → accordion-0tQUZ20r.js} +7 -7
  5. package/dist/accordion-0tQUZ20r.js.map +1 -0
  6. package/dist/{action-menu-Dr8K-ghE.js → action-menu-C0gjzLyE.js} +7 -7
  7. package/dist/{action-menu-Dr8K-ghE.js.map → action-menu-C0gjzLyE.js.map} +1 -1
  8. package/dist/{ai-artifact-C58tQcBy.js → ai-artifact-CGGpQryR.js} +172 -157
  9. package/dist/ai-artifact-CGGpQryR.js.map +1 -0
  10. package/dist/{app-shell-B_IuNWOo.js → app-shell-EHuuRDGy.js} +5 -5
  11. package/dist/{app-shell-B_IuNWOo.js.map → app-shell-EHuuRDGy.js.map} +1 -1
  12. package/dist/{attachment-Dg_69lPS.js → attachment-BCpA4e7i.js} +8 -8
  13. package/dist/{attachment-Dg_69lPS.js.map → attachment-BCpA4e7i.js.map} +1 -1
  14. package/dist/{auth-DTkkshS8.js → auth-B0girIk_.js} +15 -15
  15. package/dist/auth-B0girIk_.js.map +1 -0
  16. package/dist/{avatar-CeZaFmNH.js → avatar-B9Jnp-T-.js} +3 -3
  17. package/dist/{avatar-CeZaFmNH.js.map → avatar-B9Jnp-T-.js.map} +1 -1
  18. package/dist/{badge-xIiV_E7f.js → badge-wWauMgAt.js} +3 -3
  19. package/dist/{badge-xIiV_E7f.js.map → badge-wWauMgAt.js.map} +1 -1
  20. package/dist/base/accordion.js +1 -1
  21. package/dist/base/action-menu.js +1 -1
  22. package/dist/base/attachment.js +1 -1
  23. package/dist/base/avatar.js +1 -1
  24. package/dist/base/badge.js +1 -1
  25. package/dist/base/batch-action-bar.js +1 -1
  26. package/dist/base/buttons.js +1 -1
  27. package/dist/base/cards.js +2 -2
  28. package/dist/base/carousel.js +3 -3
  29. package/dist/base/cascader.js +1 -1
  30. package/dist/base/chart.js +1 -1
  31. package/dist/base/choice-inputs.js +2 -2
  32. package/dist/base/code-block.js +1 -1
  33. package/dist/base/combobox.js +1 -1
  34. package/dist/base/command.js +1 -1
  35. package/dist/base/copyable.js +1 -1
  36. package/dist/base/date-pickers.js +2 -2
  37. package/dist/base/display.js +6 -6
  38. package/dist/base/feedback.js +4 -4
  39. package/dist/base/forms-numeric.js +1 -1
  40. package/dist/base/forms.js +2 -2
  41. package/dist/base/inline-edit.js +8 -8
  42. package/dist/base/item.js +1 -1
  43. package/dist/base/media-gallery.js +1 -1
  44. package/dist/base/metadata-list.js +1 -1
  45. package/dist/base/navigation.js +6 -6
  46. package/dist/base/popover-menu.js +1 -1
  47. package/dist/base/popover.js +1 -1
  48. package/dist/base/qr-code.js +1 -1
  49. package/dist/base/repeaters.js +195 -188
  50. package/dist/base/repeaters.js.map +1 -1
  51. package/dist/base/sheet.js +1 -1
  52. package/dist/base/sidebar.js +2 -2
  53. package/dist/base/signature-pad.js +7 -7
  54. package/dist/base/skeleton.js +1 -1
  55. package/dist/base/spinner.js +5 -5
  56. package/dist/base/spinner.js.map +1 -1
  57. package/dist/base/structure.js +1 -1
  58. package/dist/base/table.js +1 -1
  59. package/dist/base/text-inputs.js +2 -2
  60. package/dist/base/toaster.js +1 -1
  61. package/dist/base/tree.js +1 -1
  62. package/dist/base/upload-queue.js +1 -1
  63. package/dist/base/upload.js +3 -3
  64. package/dist/base/value-inputs.js +1 -1
  65. package/dist/{batch-action-bar-Cb8cuvyy.js → batch-action-bar-BoqWIIpV.js} +5 -5
  66. package/dist/{batch-action-bar-Cb8cuvyy.js.map → batch-action-bar-BoqWIIpV.js.map} +1 -1
  67. package/dist/blocks/admin.js +17 -17
  68. package/dist/blocks/ai.js +227 -221
  69. package/dist/blocks/ai.js.map +1 -1
  70. package/dist/blocks/analytics/usage-card.js +1 -1
  71. package/dist/blocks/analytics.js +424 -449
  72. package/dist/blocks/analytics.js.map +1 -1
  73. package/dist/blocks/collaboration.js +1 -1
  74. package/dist/blocks/commerce/receipt.js +1 -1
  75. package/dist/blocks/commerce.js +225 -220
  76. package/dist/blocks/commerce.js.map +1 -1
  77. package/dist/blocks/data-display.js +2 -2
  78. package/dist/blocks/onboarding.js +5 -5
  79. package/dist/blocks/planning.js +11 -11
  80. package/dist/blocks/timelines.js +1 -1
  81. package/dist/{breadcrumbs-J-K2kl4c.js → breadcrumbs-Bp9Ke7kd.js} +4 -4
  82. package/dist/breadcrumbs-Bp9Ke7kd.js.map +1 -0
  83. package/dist/{button-S2Cubiiz.js → button-ChBovTx0.js} +2 -2
  84. package/dist/{button-S2Cubiiz.js.map → button-ChBovTx0.js.map} +1 -1
  85. package/dist/{buttons-BedGfygC.js → buttons-DeW0bQeK.js} +6 -6
  86. package/dist/{buttons-BedGfygC.js.map → buttons-DeW0bQeK.js.map} +1 -1
  87. package/dist/{cards-rNX1M4Xn.js → cards-CNXnmvV5.js} +8 -8
  88. package/dist/{cards-rNX1M4Xn.js.map → cards-CNXnmvV5.js.map} +1 -1
  89. package/dist/{cascader-B1MiqkBq.js → cascader-CrAl9zD5.js} +15 -15
  90. package/dist/{cascader-B1MiqkBq.js.map → cascader-CrAl9zD5.js.map} +1 -1
  91. package/dist/{chart-Darg_0Kv.js → chart-I7ROnsl8.js} +5 -5
  92. package/dist/{chart-Darg_0Kv.js.map → chart-I7ROnsl8.js.map} +1 -1
  93. package/dist/{checkbox-fflqmODR.js → checkbox-MoyHIAPs.js} +3 -3
  94. package/dist/{checkbox-fflqmODR.js.map → checkbox-MoyHIAPs.js.map} +1 -1
  95. package/dist/{choice-inputs-zUgBZfE4.js → choice-inputs-DHGtx0QV.js} +122 -110
  96. package/dist/choice-inputs-DHGtx0QV.js.map +1 -0
  97. package/dist/{code-block-BzmM9Eig.js → code-block-BSJyq9e-.js} +7 -7
  98. package/dist/{code-block-BzmM9Eig.js.map → code-block-BSJyq9e-.js.map} +1 -1
  99. package/dist/{collapsible-BkAI_XD4.js → collapsible-BzJ91LUG.js} +3 -3
  100. package/dist/{collapsible-BkAI_XD4.js.map → collapsible-BzJ91LUG.js.map} +1 -1
  101. package/dist/{collection-content-gDh1v6O4.js → collection-content-CSnwtOTH.js} +3 -3
  102. package/dist/{collection-content-gDh1v6O4.js.map → collection-content-CSnwtOTH.js.map} +1 -1
  103. package/dist/{combobox-BEx0vJgF.js → combobox-Bcvu5J8O.js} +11 -10
  104. package/dist/{combobox-BEx0vJgF.js.map → combobox-Bcvu5J8O.js.map} +1 -1
  105. package/dist/combobox-C2JiSQPc.js +915 -0
  106. package/dist/combobox-C2JiSQPc.js.map +1 -0
  107. package/dist/{command-CrlPIL6m.js → command-9e52NPgK.js} +6 -6
  108. package/dist/{command-CrlPIL6m.js.map → command-9e52NPgK.js.map} +1 -1
  109. package/dist/{comments-Dmpp0YIc.js → comments-BsgErEqd.js} +33 -28
  110. package/dist/comments-BsgErEqd.js.map +1 -0
  111. package/dist/components/base/choice-inputs/choice-types.d.ts +4 -0
  112. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +7 -6
  113. package/dist/components/base/combobox/combobox-field.d.ts +2 -2
  114. package/dist/components/base/date-pickers/date-picker-internals.d.ts +3 -1
  115. package/dist/components/base/date-pickers/datepicker.types.d.ts +10 -4
  116. package/dist/components/base/date-pickers/time-picker.d.ts +17 -3
  117. package/dist/components/base/feedback/state-display.d.ts +5 -1
  118. package/dist/components/base/feedback/state-display.strings.d.ts +9 -0
  119. package/dist/components/base/forms/form-field.d.ts +7 -2
  120. package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -1
  121. package/dist/components/base/forms-numeric/decimal-input.d.ts +2 -2
  122. package/dist/components/base/forms-numeric/dimensions-input.d.ts +4 -1
  123. package/dist/components/base/forms-numeric/numeric-composite-field.d.ts +12 -0
  124. package/dist/components/base/forms-numeric/weight-input.d.ts +6 -1
  125. package/dist/components/base/navigation/language-switcher.d.ts +12 -4
  126. package/dist/components/base/repeaters/key-value-editor.d.ts +2 -1
  127. package/dist/components/base/sidebar/sidebar.d.ts +2 -0
  128. package/dist/components/base/upload/avatar-upload.d.ts +2 -1
  129. package/dist/components/base/upload/image-upload.d.ts +2 -1
  130. package/dist/components/blocks/ai/ai-citation/types.d.ts +2 -0
  131. package/dist/components/blocks/ai/ai-reasoning/types.d.ts +2 -0
  132. package/dist/components/blocks/ai/ai-sources/types.d.ts +2 -0
  133. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +2 -0
  134. package/dist/components/blocks/analytics/metric/metric.d.ts +4 -0
  135. package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
  136. package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +4 -5
  137. package/dist/components/blocks/analytics/types.d.ts +2 -2
  138. package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
  139. package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +4 -3
  140. package/dist/components/features/activities/activities.types.d.ts +18 -11
  141. package/dist/components/features/activities/hooks/use-activity-resources.d.ts +2 -1
  142. package/dist/components/features/ai-chat/hooks/use-ai-chat-scroll.d.ts +1 -1
  143. package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +1 -1
  144. package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +4 -2
  145. package/dist/components/features/combobox/async-resource-combobox.d.ts +2 -2
  146. package/dist/components/features/combobox/combobox.d.ts +2 -2
  147. package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +2 -1
  148. package/dist/components/features/combobox/hooks/use-combobox-state.d.ts +1 -0
  149. package/dist/components/features/combobox/hooks/use-load-more.d.ts +1 -0
  150. package/dist/components/features/combobox/types.d.ts +37 -8
  151. package/dist/components/features/email-composer/types.d.ts +3 -1
  152. package/dist/components/features/filters/facets/date-facet.d.ts +4 -2
  153. package/dist/components/features/filters/facets/range-facet.d.ts +12 -0
  154. package/dist/components/features/filters/filters.types.d.ts +3 -3
  155. package/dist/components/features/filters/partials/date-filter-content.d.ts +3 -2
  156. package/dist/components/features/filters/partials/filter-popover-content.d.ts +4 -2
  157. package/dist/components/features/filters/partials/range-filter-content.d.ts +12 -0
  158. package/dist/components/features/filters/utils/filter-utils.d.ts +5 -1
  159. package/dist/components/features/media-library/hooks/use-media-library.d.ts +1 -1
  160. package/dist/components/features/media-library/media-library.d.ts +1 -1
  161. package/dist/components/features/media-library/media-library.strings.d.ts +6 -0
  162. package/dist/components/features/media-library/media-library.types.d.ts +36 -8
  163. package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
  164. package/dist/components/features/mentions/hooks/use-mentions.d.ts +16 -1
  165. package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +5 -1
  166. package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +1 -7
  167. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +2 -2
  168. package/dist/components/features/products/products.types.d.ts +2 -2
  169. package/dist/components/features/questionnaire/questionnaire.types.d.ts +3 -0
  170. package/dist/components/features/resource/resource.d.ts +1 -1
  171. package/dist/components/features/resource/resource.types.d.ts +2 -0
  172. package/dist/components/features/rich-text-editor/form-rich-text-editor.d.ts +1 -1
  173. package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +1 -1
  174. package/dist/components/features/rich-text-editor/partials/editor-field-aria.d.ts +14 -0
  175. package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +3 -1
  176. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
  177. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +17 -3
  178. package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +5 -1
  179. package/dist/components/features/schema-form/partials/schema-form-field.d.ts +3 -1
  180. package/dist/components/features/schema-form/schema-form.utils.d.ts +1 -1
  181. package/dist/components/features/suggestions/suggestions.types.d.ts +1 -1
  182. package/dist/components/features/table/data-table.d.ts +1 -1
  183. package/dist/components/features/table/index.d.ts +1 -0
  184. package/dist/components/features/table/table-body.d.ts +1 -1
  185. package/dist/components/features/table/table-helpers.d.ts +6 -3
  186. package/dist/components/features/table/table.strings.d.ts +3 -0
  187. package/dist/components/features/table/table.types.d.ts +17 -1
  188. package/dist/components/layout/header/header.types.d.ts +3 -2
  189. package/dist/components/layout/layout.types.d.ts +5 -3
  190. package/dist/components/layout/navigation/side-nav.d.ts +3 -2
  191. package/dist/components/layout/normalize-layout-path.d.ts +1 -0
  192. package/dist/components/layout/settings/settings.d.ts +1 -1
  193. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  194. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +3 -1
  195. package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -0
  196. package/dist/components/layout/sidebar/sidebar.types.d.ts +2 -0
  197. package/dist/components/primitives/link.d.ts +3 -2
  198. package/dist/components/primitives/money.d.ts +1 -1
  199. package/dist/components/primitives/number.d.ts +1 -1
  200. package/dist/components/typography/rich-text/rich-text-tree.d.ts +7 -5
  201. package/dist/{containers-CIxwbZt5.js → containers-CSdc32h9.js} +2 -2
  202. package/dist/{containers-CIxwbZt5.js.map → containers-CSdc32h9.js.map} +1 -1
  203. package/dist/{copyable-DIznBqiT.js → copyable-3fdHfMR3.js} +4 -4
  204. package/dist/{copyable-DIznBqiT.js.map → copyable-3fdHfMR3.js.map} +1 -1
  205. package/dist/{data-display-BdgCAw8T.js → data-display-Cmj-xZYl.js} +16 -15
  206. package/dist/data-display-Cmj-xZYl.js.map +1 -0
  207. package/dist/{date-Cq8ioE4o.js → date-Br0FicVv.js} +4 -4
  208. package/dist/{date-Cq8ioE4o.js.map → date-Br0FicVv.js.map} +1 -1
  209. package/dist/date-picker-CyQlFYsP.js +1617 -0
  210. package/dist/date-picker-CyQlFYsP.js.map +1 -0
  211. package/dist/date-pickers-tj2MXmXd.js +185 -0
  212. package/dist/date-pickers-tj2MXmXd.js.map +1 -0
  213. package/dist/{display-KsZLw9Ov.js → display-CT_N2a3w.js} +7 -7
  214. package/dist/{display-KsZLw9Ov.js.map → display-CT_N2a3w.js.map} +1 -1
  215. package/dist/{dropdown-menu-CLs8Lihj.js → dropdown-menu-C08iIugv.js} +6 -6
  216. package/dist/{dropdown-menu-CLs8Lihj.js.map → dropdown-menu-C08iIugv.js.map} +1 -1
  217. package/dist/features/activities.js +283 -270
  218. package/dist/features/activities.js.map +1 -1
  219. package/dist/features/ai-chat.js +40 -27
  220. package/dist/features/ai-chat.js.map +1 -1
  221. package/dist/features/appointment-calendar.js +126 -126
  222. package/dist/features/appointment-calendar.js.map +1 -1
  223. package/dist/features/async-preview.js +9 -9
  224. package/dist/features/combobox.js +1 -1
  225. package/dist/features/comments.js +1 -1
  226. package/dist/features/data-view.js +10 -10
  227. package/dist/features/email-composer.js +24 -19
  228. package/dist/features/email-composer.js.map +1 -1
  229. package/dist/features/event-calendar.js +129 -125
  230. package/dist/features/event-calendar.js.map +1 -1
  231. package/dist/features/filters.js +2 -2
  232. package/dist/features/global-search.js +16 -20
  233. package/dist/features/global-search.js.map +1 -1
  234. package/dist/features/kanban.js +18 -28
  235. package/dist/features/kanban.js.map +1 -1
  236. package/dist/features/map/style.css +15 -0
  237. package/dist/features/map.js +331 -314
  238. package/dist/features/map.js.map +1 -1
  239. package/dist/features/media-library.js +1044 -866
  240. package/dist/features/media-library.js.map +1 -1
  241. package/dist/features/mentions.js +2 -2
  242. package/dist/features/overlays.js +1 -1
  243. package/dist/features/products.js +978 -964
  244. package/dist/features/products.js.map +1 -1
  245. package/dist/features/questionnaire.js +159 -152
  246. package/dist/features/questionnaire.js.map +1 -1
  247. package/dist/features/resource-assignment.js +8 -8
  248. package/dist/features/resource.js +74 -71
  249. package/dist/features/resource.js.map +1 -1
  250. package/dist/features/rich-text-editor.js +28 -19
  251. package/dist/features/rich-text-editor.js.map +1 -1
  252. package/dist/features/schema-form.js +297 -256
  253. package/dist/features/schema-form.js.map +1 -1
  254. package/dist/features/suggestions.js +57 -50
  255. package/dist/features/suggestions.js.map +1 -1
  256. package/dist/features/sync.js +3 -3
  257. package/dist/features/table.js +1 -1
  258. package/dist/features/theme-tweaker.js +400 -399
  259. package/dist/features/theme-tweaker.js.map +1 -1
  260. package/dist/feedback-Dzo1xtAU.js +246 -0
  261. package/dist/feedback-Dzo1xtAU.js.map +1 -0
  262. package/dist/{field-affordance-recipes-DWcNcOjh.js → field-affordance-recipes-D6H7tVJi.js} +2 -2
  263. package/dist/{field-affordance-recipes-DWcNcOjh.js.map → field-affordance-recipes-D6H7tVJi.js.map} +1 -1
  264. package/dist/field-control-attributes-B6i335wr.js +18 -0
  265. package/dist/field-control-attributes-B6i335wr.js.map +1 -0
  266. package/dist/{field-state-recipes-BVA2CWHo.js → field-state-recipes-7sza8QbC.js} +4 -2
  267. package/dist/{field-state-recipes-BVA2CWHo.js.map → field-state-recipes-7sza8QbC.js.map} +1 -1
  268. package/dist/{filters-DzgSJpMK.js → filters-Dl80yYtN.js} +763 -605
  269. package/dist/filters-Dl80yYtN.js.map +1 -0
  270. package/dist/form-field-CAPdwdnZ.js +74 -0
  271. package/dist/form-field-CAPdwdnZ.js.map +1 -0
  272. package/dist/{form-sizing-Bs2qFUeE.js → form-sizing-CgcrUbLU.js} +2 -2
  273. package/dist/{form-sizing-Bs2qFUeE.js.map → form-sizing-CgcrUbLU.js.map} +1 -1
  274. package/dist/{forms-C0RGnJTe.js → forms-B3W8CH7-.js} +8 -8
  275. package/dist/{forms-C0RGnJTe.js.map → forms-B3W8CH7-.js.map} +1 -1
  276. package/dist/forms-numeric-CwjQJe-O.js +991 -0
  277. package/dist/forms-numeric-CwjQJe-O.js.map +1 -0
  278. package/dist/{header-DMMxG__r.js → header-ZIIsRKxP.js} +113 -113
  279. package/dist/header-ZIIsRKxP.js.map +1 -0
  280. package/dist/hooks/use-files.d.ts +2 -0
  281. package/dist/{hooks-DB6CJ4MR.js → hooks-BitHSh-Y.js} +3 -3
  282. package/dist/{hooks-DB6CJ4MR.js.map → hooks-BitHSh-Y.js.map} +1 -1
  283. package/dist/{icon-badge-DZF-YjQp.js → icon-badge-npxF1SLX.js} +2 -2
  284. package/dist/{icon-badge-DZF-YjQp.js.map → icon-badge-npxF1SLX.js.map} +1 -1
  285. package/dist/index.js +1 -1
  286. package/dist/{input-CvyDQlY7.js → input-7KAc7XQL.js} +6 -6
  287. package/dist/{input-CvyDQlY7.js.map → input-7KAc7XQL.js.map} +1 -1
  288. package/dist/{input-DMBwAZmr.js → input-DIREVYHs.js} +3 -3
  289. package/dist/{input-DMBwAZmr.js.map → input-DIREVYHs.js.map} +1 -1
  290. package/dist/{interaction-recipes-XR9ZpVYL.js → interaction-recipes-4wZ2tvfb.js} +2 -2
  291. package/dist/{interaction-recipes-XR9ZpVYL.js.map → interaction-recipes-4wZ2tvfb.js.map} +1 -1
  292. package/dist/{item-DjCcM18E.js → item-FfWnaYST.js} +99 -98
  293. package/dist/item-FfWnaYST.js.map +1 -0
  294. package/dist/layout/app-shell.js +1 -1
  295. package/dist/layout/auth.js +1 -1
  296. package/dist/layout/containers.js +1 -1
  297. package/dist/layout/header.js +1 -1
  298. package/dist/layout/hooks.js +1 -1
  299. package/dist/layout/navigation.js +1 -1
  300. package/dist/layout/page.js +1 -1
  301. package/dist/layout/settings.js +1 -1
  302. package/dist/layout/sidebar.js +2 -2
  303. package/dist/layout/workspace.js +1 -1
  304. package/dist/layout.js +11 -11
  305. package/dist/layout.types-E_GAApzO.js +30 -0
  306. package/dist/layout.types-E_GAApzO.js.map +1 -0
  307. package/dist/lib/field-control-attributes.d.ts +11 -0
  308. package/dist/lib/field-state-recipes.d.ts +2 -0
  309. package/dist/lib/format.d.ts +1 -0
  310. package/dist/lib/surface-recipes.d.ts +1 -1
  311. package/dist/lib/token-merge.generated.d.ts +6 -6
  312. package/dist/lib/utils.js +1 -1
  313. package/dist/{media-gallery-C-vChPmE.js → media-gallery-C81DAnKI.js} +6 -6
  314. package/dist/{media-gallery-C-vChPmE.js.map → media-gallery-C81DAnKI.js.map} +1 -1
  315. package/dist/{mentions-0_4nWuI-.js → mentions-qOnedSt4.js} +236 -167
  316. package/dist/mentions-qOnedSt4.js.map +1 -0
  317. package/dist/message-BJHnn43M.js +135 -0
  318. package/dist/message-BJHnn43M.js.map +1 -0
  319. package/dist/{metadata-list-C3MkU-Om.js → metadata-list-XkqZ_UXH.js} +11 -11
  320. package/dist/{metadata-list-C3MkU-Om.js.map → metadata-list-XkqZ_UXH.js.map} +1 -1
  321. package/dist/{navigation-DaRjthVk.js → navigation-BgtPJAhi.js} +119 -119
  322. package/dist/navigation-BgtPJAhi.js.map +1 -0
  323. package/dist/{navigation-C90-oQFq.js → navigation-Bt-v7rWP.js} +52 -46
  324. package/dist/navigation-Bt-v7rWP.js.map +1 -0
  325. package/dist/normalize-layout-path-BmEgg6fu.js +14 -0
  326. package/dist/normalize-layout-path-BmEgg6fu.js.map +1 -0
  327. package/dist/{number-CRU3kGuk.js → number-CYqBcrSj.js} +78 -86
  328. package/dist/number-CYqBcrSj.js.map +1 -0
  329. package/dist/{overflow-tab-bar-IVFVQFV6.js → overflow-tab-bar-BQCA2Zn2.js} +7 -7
  330. package/dist/{overflow-tab-bar-IVFVQFV6.js.map → overflow-tab-bar-BQCA2Zn2.js.map} +1 -1
  331. package/dist/{overlays-BSgCtM2v.js → overlays-CC8zI3Du.js} +264 -260
  332. package/dist/overlays-CC8zI3Du.js.map +1 -0
  333. package/dist/{page-DUUKDAjo.js → page-BoQ1VaFJ.js} +13 -13
  334. package/dist/{page-DUUKDAjo.js.map → page-BoQ1VaFJ.js.map} +1 -1
  335. package/dist/{page-header-commands-7P3sfE9u.js → page-header-commands-DIKspJfx.js} +4 -4
  336. package/dist/{page-header-commands-7P3sfE9u.js.map → page-header-commands-DIKspJfx.js.map} +1 -1
  337. package/dist/{pagination-CgCjElfu.js → pagination-Br8TdV9A.js} +4 -4
  338. package/dist/{pagination-CgCjElfu.js.map → pagination-Br8TdV9A.js.map} +1 -1
  339. package/dist/{popover-B85RenIl.js → popover-k8TdUcAt.js} +10 -10
  340. package/dist/popover-k8TdUcAt.js.map +1 -0
  341. package/dist/{popover-menu-DlnQ2zlR.js → popover-menu-yn-o0kyA.js} +7 -7
  342. package/dist/{popover-menu-DlnQ2zlR.js.map → popover-menu-yn-o0kyA.js.map} +1 -1
  343. package/dist/{popover.recipes-DdiEp0rd.js → popover.recipes-DJ0AkUan.js} +2 -2
  344. package/dist/{popover.recipes-DdiEp0rd.js.map → popover.recipes-DJ0AkUan.js.map} +1 -1
  345. package/dist/{portal-recipes-BpsV_iRw.js → portal-recipes-DyUXqUtD.js} +2 -2
  346. package/dist/{portal-recipes-BpsV_iRw.js.map → portal-recipes-DyUXqUtD.js.map} +1 -1
  347. package/dist/{primitives-ByWgGUgt.js → primitives-BkkQjYl7.js} +22 -17
  348. package/dist/primitives-BkkQjYl7.js.map +1 -0
  349. package/dist/primitives.js +4 -4
  350. package/dist/{progress-BJhQP9WX.js → progress-DZFXXzPs.js} +4 -4
  351. package/dist/{progress-BJhQP9WX.js.map → progress-DZFXXzPs.js.map} +1 -1
  352. package/dist/{receipt-tOc7B3hw.js → receipt-C7LhOg7Q.js} +6 -6
  353. package/dist/{receipt-tOc7B3hw.js.map → receipt-C7LhOg7Q.js.map} +1 -1
  354. package/dist/rich-text-BnTzZjIo.js +45 -0
  355. package/dist/rich-text-BnTzZjIo.js.map +1 -0
  356. package/dist/rich-text-editor-CAurDwT5.js +1273 -0
  357. package/dist/rich-text-editor-CAurDwT5.js.map +1 -0
  358. package/dist/{rich-text-editor-toolbar-laT3tpBT.js → rich-text-editor-toolbar-DbXig7Jk.js} +36 -35
  359. package/dist/rich-text-editor-toolbar-DbXig7Jk.js.map +1 -0
  360. package/dist/rich-text-tree-BqyQ_7-R.js +66 -0
  361. package/dist/rich-text-tree-BqyQ_7-R.js.map +1 -0
  362. package/dist/{sanitize-html-DsQmI48u.js → sanitize-html-BWkH4dLM.js} +29 -16
  363. package/dist/sanitize-html-BWkH4dLM.js.map +1 -0
  364. package/dist/{scroll-area-B0dB2cBi.js → scroll-area-Bj6CRUif.js} +2 -2
  365. package/dist/{scroll-area-B0dB2cBi.js.map → scroll-area-Bj6CRUif.js.map} +1 -1
  366. package/dist/{separator-Bb17I4pu.js → separator-B9ewiCGO.js} +2 -2
  367. package/dist/{separator-Bb17I4pu.js.map → separator-B9ewiCGO.js.map} +1 -1
  368. package/dist/{separator-Ct_WSWTJ.js → separator-DM6gs2vu.js} +3 -3
  369. package/dist/{separator-Ct_WSWTJ.js.map → separator-DM6gs2vu.js.map} +1 -1
  370. package/dist/services/actions.js +1 -1
  371. package/dist/settings-DZPHgpx4.js +155 -0
  372. package/dist/settings-DZPHgpx4.js.map +1 -0
  373. package/dist/{sheet-BGPERY55.js → sheet-C4DHsgLk.js} +6 -6
  374. package/dist/{sheet-BGPERY55.js.map → sheet-C4DHsgLk.js.map} +1 -1
  375. package/dist/sidebar-C8BnDwTH.js +709 -0
  376. package/dist/sidebar-C8BnDwTH.js.map +1 -0
  377. package/dist/{sidebar-f9gRWXIR.js → sidebar-CmD6a-HK.js} +16 -13
  378. package/dist/sidebar-CmD6a-HK.js.map +1 -0
  379. package/dist/{skeleton-BapcJd9C.js → skeleton-DDgdhmu9.js} +5 -5
  380. package/dist/{skeleton-BapcJd9C.js.map → skeleton-DDgdhmu9.js.map} +1 -1
  381. package/dist/{smart-card-CW0hjetE.js → smart-card-B6vLxqa_.js} +8 -8
  382. package/dist/{smart-card-CW0hjetE.js.map → smart-card-B6vLxqa_.js.map} +1 -1
  383. package/dist/{structure-DuxKl954.js → structure-DZJ2wbAU.js} +2 -2
  384. package/dist/{structure-DuxKl954.js.map → structure-DZJ2wbAU.js.map} +1 -1
  385. package/dist/style.css +1 -1
  386. package/dist/{surface-recipes-BKRVW8Os.js → surface-recipes-C8mNycaY.js} +2 -2
  387. package/dist/{surface-recipes-BKRVW8Os.js.map → surface-recipes-C8mNycaY.js.map} +1 -1
  388. package/dist/{table-CFOWY9pQ.js → table-CBonSdTp.js} +534 -486
  389. package/dist/table-CBonSdTp.js.map +1 -0
  390. package/dist/{table-B4TE7iOV.js → table-CXSPHH25.js} +75 -71
  391. package/dist/table-CXSPHH25.js.map +1 -0
  392. package/dist/{tabs-e7ko9S2o.js → tabs-C4Kr_hCr.js} +50 -49
  393. package/dist/tabs-C4Kr_hCr.js.map +1 -0
  394. package/dist/{text-inputs-B1culiSK.js → text-inputs-jdkS3ReG.js} +9 -9
  395. package/dist/{text-inputs-B1culiSK.js.map → text-inputs-jdkS3ReG.js.map} +1 -1
  396. package/dist/{timelines-D3Sl9ueq.js → timelines-CoPwdJP0.js} +10 -10
  397. package/dist/{timelines-D3Sl9ueq.js.map → timelines-CoPwdJP0.js.map} +1 -1
  398. package/dist/{tooltip-8wz5S_Zr.js → tooltip-31NwIpTo.js} +4 -4
  399. package/dist/{tooltip-8wz5S_Zr.js.map → tooltip-31NwIpTo.js.map} +1 -1
  400. package/dist/{tree-CzUJHnFs.js → tree-CeYVzdFE.js} +6 -6
  401. package/dist/{tree-CzUJHnFs.js.map → tree-CeYVzdFE.js.map} +1 -1
  402. package/dist/typography/rich-text.js +1 -1
  403. package/dist/{typography-BQnine1k.js → typography-C7-YMW1S.js} +2 -2
  404. package/dist/{typography-BQnine1k.js.map → typography-C7-YMW1S.js.map} +1 -1
  405. package/dist/typography.js +1 -1
  406. package/dist/{upload-BOW6U2tI.js → upload-Hdm5gObf.js} +303 -291
  407. package/dist/upload-Hdm5gObf.js.map +1 -0
  408. package/dist/{upload-queue-qUXn1ykN.js → upload-queue-D0sYPuqo.js} +8 -8
  409. package/dist/{upload-queue-qUXn1ykN.js.map → upload-queue-D0sYPuqo.js.map} +1 -1
  410. package/dist/{usage-card-BeSLY0i0.js → usage-card-9s8hLDfn.js} +9 -9
  411. package/dist/{usage-card-BeSLY0i0.js.map → usage-card-9s8hLDfn.js.map} +1 -1
  412. package/dist/{utils-B6kKb8jB.js → utils-DhuoqFy4.js} +31 -37
  413. package/dist/utils-DhuoqFy4.js.map +1 -0
  414. package/dist/{value-inputs-skdVB2zh.js → value-inputs-D3aPgq9H.js} +15 -15
  415. package/dist/{value-inputs-skdVB2zh.js.map → value-inputs-D3aPgq9H.js.map} +1 -1
  416. package/dist/{value-typography-uAmWUAL1.js → value-typography-uSzzG9Gf.js} +32 -26
  417. package/dist/value-typography-uSzzG9Gf.js.map +1 -0
  418. package/dist/{workspace-DHeHv0qw.js → workspace-CC8Vchiu.js} +12 -12
  419. package/dist/{workspace-DHeHv0qw.js.map → workspace-CC8Vchiu.js.map} +1 -1
  420. package/docs/consumer-skill/examples/edit.tsx +3 -3
  421. package/docs/consumer-skill/references/agents-md.md +19 -19
  422. package/docs/consumer-skill/references/analytics.md +15 -0
  423. package/docs/consumer-skill/references/component-contracts.json +14724 -13057
  424. package/docs/consumer-skill/references/composition.md +21 -4
  425. package/docs/consumer-skill/references/design-contract.md +1 -0
  426. package/docs/consumer-skill/references/installation.md +51 -8
  427. package/docs/consumer-skill/references/integration.md +24 -1
  428. package/docs/consumer-skill/references/public-api.json +172 -34
  429. package/docs/consumer-skill/references/review.md +51 -11
  430. package/docs/consumer-skill/references/rhf-workflows.md +72 -0
  431. package/docs/consumer-skill/references/theming.md +7 -2
  432. package/docs/consumer-skill/references/tokens.json +1 -1
  433. package/docs/consumer-skill/scripts/composition-policy.mjs +144 -30
  434. package/docs/consumer-skill/scripts/setup-skills.mjs +46 -9
  435. package/package.json +4 -2
  436. package/templates/admin-shell-template.tsx +1 -2
  437. package/templates/customers-template.tsx +18 -16
  438. package/dist/accordion-B9MHG0cT.js.map +0 -1
  439. package/dist/ai-artifact-C58tQcBy.js.map +0 -1
  440. package/dist/auth-DTkkshS8.js.map +0 -1
  441. package/dist/breadcrumbs-J-K2kl4c.js.map +0 -1
  442. package/dist/choice-inputs-zUgBZfE4.js.map +0 -1
  443. package/dist/combobox-BwzoXFSG.js +0 -884
  444. package/dist/combobox-BwzoXFSG.js.map +0 -1
  445. package/dist/comments-Dmpp0YIc.js.map +0 -1
  446. package/dist/data-display-BdgCAw8T.js.map +0 -1
  447. package/dist/date-picker-RlIzKom_.js +0 -1551
  448. package/dist/date-picker-RlIzKom_.js.map +0 -1
  449. package/dist/date-pickers-DY-CpXS1.js +0 -179
  450. package/dist/date-pickers-DY-CpXS1.js.map +0 -1
  451. package/dist/feedback-Dm4izqFn.js +0 -240
  452. package/dist/feedback-Dm4izqFn.js.map +0 -1
  453. package/dist/filters-DzgSJpMK.js.map +0 -1
  454. package/dist/form-field-BriWAXyg.js +0 -63
  455. package/dist/form-field-BriWAXyg.js.map +0 -1
  456. package/dist/forms-numeric-DIhghX1Q.js +0 -910
  457. package/dist/forms-numeric-DIhghX1Q.js.map +0 -1
  458. package/dist/header-DMMxG__r.js.map +0 -1
  459. package/dist/item-DjCcM18E.js.map +0 -1
  460. package/dist/layout.types-Cn7aUzJp.js +0 -20
  461. package/dist/layout.types-Cn7aUzJp.js.map +0 -1
  462. package/dist/mentions-0_4nWuI-.js.map +0 -1
  463. package/dist/message-g8p7eVtN.js +0 -128
  464. package/dist/message-g8p7eVtN.js.map +0 -1
  465. package/dist/navigation-C90-oQFq.js.map +0 -1
  466. package/dist/navigation-DaRjthVk.js.map +0 -1
  467. package/dist/number-CRU3kGuk.js.map +0 -1
  468. package/dist/overlays-BSgCtM2v.js.map +0 -1
  469. package/dist/popover-B85RenIl.js.map +0 -1
  470. package/dist/primitives-ByWgGUgt.js.map +0 -1
  471. package/dist/rich-text-Dth5E882.js +0 -78
  472. package/dist/rich-text-Dth5E882.js.map +0 -1
  473. package/dist/rich-text-editor-C1fOjBTd.js +0 -1195
  474. package/dist/rich-text-editor-C1fOjBTd.js.map +0 -1
  475. package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +0 -1
  476. package/dist/safe-image-src-C6kQSMBZ.js +0 -17
  477. package/dist/safe-image-src-C6kQSMBZ.js.map +0 -1
  478. package/dist/sanitize-html-DsQmI48u.js.map +0 -1
  479. package/dist/settings-Bar5wiSo.js +0 -167
  480. package/dist/settings-Bar5wiSo.js.map +0 -1
  481. package/dist/sidebar-D-JYMMbY.js +0 -686
  482. package/dist/sidebar-D-JYMMbY.js.map +0 -1
  483. package/dist/sidebar-f9gRWXIR.js.map +0 -1
  484. package/dist/table-B4TE7iOV.js.map +0 -1
  485. package/dist/table-CFOWY9pQ.js.map +0 -1
  486. package/dist/tabs-e7ko9S2o.js.map +0 -1
  487. package/dist/upload-BOW6U2tI.js.map +0 -1
  488. package/dist/utils-B6kKb8jB.js.map +0 -1
  489. package/dist/value-typography-uAmWUAL1.js.map +0 -1
@@ -1,37 +1,38 @@
1
1
  "use client";
2
2
  import { S as e, d as t, p as n } from "./ui-provider-C-74NVLc.js";
3
- import { t as r } from "./utils-B6kKb8jB.js";
4
- import { t as i } from "./separator-Bb17I4pu.js";
5
- import { c as a, l as o } from "./typography-BQnine1k.js";
3
+ import { t as r } from "./utils-DhuoqFy4.js";
4
+ import { t as i } from "./separator-B9ewiCGO.js";
5
+ import { c as a, l as o } from "./typography-C7-YMW1S.js";
6
6
  import { t as s } from "./text.styles-B64My8RZ.js";
7
7
  import { t as c } from "./focus-recipes-B653VaLq.js";
8
8
  import { n as l } from "./icon-size-B6PVwjbC.js";
9
9
  import { t as u } from "./row-recipes-DL8n7t_b.js";
10
10
  import { t as d } from "./composition.recipes-COdiFhxB.js";
11
- import * as f from "react";
12
- import { forwardRef as p } from "react";
13
- import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
14
- import { mergeProps as _ } from "@base-ui/react/merge-props";
15
- import { useRender as v } from "@base-ui/react/use-render";
16
- import { cva as y } from "class-variance-authority";
11
+ import { t as f } from "./interaction-recipes-4wZ2tvfb.js";
12
+ import * as p from "react";
13
+ import { forwardRef as m } from "react";
14
+ import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
15
+ import { mergeProps as v } from "@base-ui/react/merge-props";
16
+ import { useRender as y } from "@base-ui/react/use-render";
17
+ import { cva as b } from "class-variance-authority";
17
18
  //#region src/components/ui/item.tsx
18
- function b({ className: e, ...t }) {
19
- return /* @__PURE__ */ h("div", {
19
+ function x({ className: e, ...t }) {
20
+ return /* @__PURE__ */ g("div", {
20
21
  role: "list",
21
22
  "data-slot": "item-group",
22
23
  className: r("group/item-group flex w-full flex-col", e),
23
24
  ...t
24
25
  });
25
26
  }
26
- function x({ className: e, ...t }) {
27
- return /* @__PURE__ */ h(i, {
27
+ function S({ className: e, ...t }) {
28
+ return /* @__PURE__ */ g(i, {
28
29
  "data-slot": "item-separator",
29
30
  orientation: "horizontal",
30
31
  className: r("my-space-md", e),
31
32
  ...t
32
33
  });
33
34
  }
34
- var S = y(`group/item flex w-full flex-wrap items-center rounded-radius border text-sm transition-colors outline-none ${c.frame} [a]:transition-colors [a]:hover:bg-accent [a]:hover:text-accent-foreground`, {
35
+ var C = b(`group/item flex w-full flex-wrap items-center rounded-radius border text-sm transition-colors outline-none ${c.frame} [a]:transition-colors [a]:hover:bg-accent [a]:hover:text-accent-foreground`, {
35
36
  variants: {
36
37
  variant: {
37
38
  default: "border-transparent",
@@ -48,14 +49,14 @@ var S = y(`group/item flex w-full flex-wrap items-center rounded-radius border t
48
49
  variant: "default",
49
50
  size: "default"
50
51
  }
51
- }), C = f.createContext(!1);
52
- function w(e) {
53
- return f.useContext(C) ? "span" : e;
52
+ }), w = p.createContext(!1);
53
+ function T(e) {
54
+ return p.useContext(w) ? "span" : e;
54
55
  }
55
- function T({ className: e, variant: t = "default", size: n = "default", render: i, ...a }) {
56
- let o = v({
56
+ function E({ className: e, variant: t = "default", size: n = "default", render: i, ...a }) {
57
+ let o = p.isValidElement(i) && i.type === "button", s = y({
57
58
  defaultTagName: "div",
58
- props: _({ className: r(S({
59
+ props: v({ className: r(o && f.nativeButtonReset, o && "text-start", C({
59
60
  variant: t,
60
61
  size: n,
61
62
  className: e
@@ -67,12 +68,12 @@ function T({ className: e, variant: t = "default", size: n = "default", render:
67
68
  size: n
68
69
  }
69
70
  });
70
- return /* @__PURE__ */ h(C.Provider, {
71
+ return /* @__PURE__ */ g(w.Provider, {
71
72
  value: i !== void 0,
72
- children: o
73
+ children: s
73
74
  });
74
75
  }
75
- var E = y("flex shrink-0 items-center justify-center gap-space-md group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none", {
76
+ var D = b("flex shrink-0 items-center justify-center gap-space-md group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none", {
76
77
  variants: { variant: {
77
78
  default: "bg-transparent",
78
79
  icon: "[&_svg:not([class*='size-'])]:size-icon",
@@ -80,10 +81,10 @@ var E = y("flex shrink-0 items-center justify-center gap-space-md group-has-data
80
81
  } },
81
82
  defaultVariants: { variant: "default" }
82
83
  });
83
- function D({ className: e, variant: t = "default", ...n }) {
84
- return v({
85
- defaultTagName: w("div"),
86
- props: _({ className: r(E({
84
+ function O({ className: e, variant: t = "default", ...n }) {
85
+ return y({
86
+ defaultTagName: T("div"),
87
+ props: v({ className: r(D({
87
88
  variant: t,
88
89
  className: e
89
90
  })) }, n),
@@ -93,146 +94,146 @@ function D({ className: e, variant: t = "default", ...n }) {
93
94
  }
94
95
  });
95
96
  }
96
- function O({ className: e, ...t }) {
97
- return v({
98
- defaultTagName: w("div"),
99
- props: _({ className: r("flex flex-1 flex-col [&+[data-slot=item-content]]:flex-none", e) }, t),
97
+ function k({ className: e, ...t }) {
98
+ return y({
99
+ defaultTagName: T("div"),
100
+ props: v({ className: r("flex flex-1 flex-col [&+[data-slot=item-content]]:flex-none", e) }, t),
100
101
  state: { slot: "item-content" }
101
102
  });
102
103
  }
103
- function k({ className: e, ...t }) {
104
- return v({
105
- defaultTagName: w("div"),
106
- props: _({ className: r("line-clamp-1 flex w-fit items-center gap-space-md text-sm leading-snug font-medium underline-offset-4", e) }, t),
104
+ function A({ className: e, ...t }) {
105
+ return y({
106
+ defaultTagName: T("div"),
107
+ props: v({ className: r("line-clamp-1 flex w-fit items-center gap-space-md text-sm leading-snug font-medium underline-offset-4", e) }, t),
107
108
  state: { slot: "item-title" }
108
109
  });
109
110
  }
110
- function A({ className: e, ...t }) {
111
- return v({
112
- defaultTagName: w("p"),
113
- props: _({ className: r("m-0 line-clamp-2 text-start text-sm font-normal text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", e) }, t),
111
+ function j({ className: e, ...t }) {
112
+ return y({
113
+ defaultTagName: T("p"),
114
+ props: v({ className: r("m-0 line-clamp-2 text-start text-sm font-normal text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", e) }, t),
114
115
  state: { slot: "item-description" }
115
116
  });
116
117
  }
117
- function j({ className: e, ...t }) {
118
- return v({
119
- defaultTagName: w("div"),
120
- props: _({ className: r("flex items-center", e) }, t),
118
+ function M({ className: e, ...t }) {
119
+ return y({
120
+ defaultTagName: T("div"),
121
+ props: v({ className: r("flex items-center", e) }, t),
121
122
  state: { slot: "item-actions" }
122
123
  });
123
124
  }
124
- function M({ className: e, ...t }) {
125
- return v({
126
- defaultTagName: w("div"),
127
- props: _({ className: r("flex basis-full items-center justify-between gap-space-md", e) }, t),
125
+ function N({ className: e, ...t }) {
126
+ return y({
127
+ defaultTagName: T("div"),
128
+ props: v({ className: r("flex basis-full items-center justify-between gap-space-md", e) }, t),
128
129
  state: { slot: "item-header" }
129
130
  });
130
131
  }
131
- function N({ className: e, ...t }) {
132
- return v({
133
- defaultTagName: w("div"),
134
- props: _({ className: r("flex basis-full items-center justify-between gap-space-md", e) }, t),
132
+ function P({ className: e, ...t }) {
133
+ return y({
134
+ defaultTagName: T("div"),
135
+ props: v({ className: r("flex basis-full items-center justify-between gap-space-md", e) }, t),
135
136
  state: { slot: "item-footer" }
136
137
  });
137
138
  }
138
139
  //#endregion
139
140
  //#region src/components/base/item/item.tsx
140
- var P = p(function(i, a) {
141
- let o = "title" in i, { size: s, density: l = "default", variant: d, padding: f = "none", textGap: p = "dense", render: _, className: v, children: y, media: b, mediaVariant: x, title: S, description: C, trailing: w, actions: E, titleBold: D, descriptionClamp: O, ...k } = i, { defaultVariant: A = "default" } = n(), { defaultScale: j } = t(), M = e(s, j), N = M === "sm" ? "xs" : "sm", P = d ?? A, F = M === "sm" ? "text-pxs" : M === "lg" ? "text-base" : "text-sm", I = f === "default" ? "px-row-x" : "px-0", B = P === "default" && f === "none" ? "in-data-[slot=item-group]:first:pt-0 in-data-[slot=item-group]:last:pb-0" : void 0, V = P === "default" ? `border-0 ${c.edge}` : void 0, U = o ? /* @__PURE__ */ g(m, { children: [
142
- b == null ? null : /* @__PURE__ */ h(L, {
141
+ var F = m(function(i, a) {
142
+ let o = "title" in i, { size: s, density: l = "default", variant: d, padding: f = "none", textGap: p = "dense", render: m, className: v, children: y, media: b, mediaVariant: x, title: S, description: C, trailing: w, actions: T, titleBold: D, descriptionClamp: O, ...k } = i, { defaultVariant: A = "default" } = n(), { defaultScale: j } = t(), M = e(s, j), N = M === "sm" ? "xs" : "sm", P = d ?? A, F = M === "sm" ? "text-pxs" : M === "lg" ? "text-base" : "text-sm", I = f === "default" ? "px-row-x" : "px-0", L = P === "default" && f === "none" ? "in-data-[slot=item-group]:first:pt-0 in-data-[slot=item-group]:last:pb-0" : void 0, V = P === "default" ? `border-0 ${c.edge}` : void 0, H = o ? /* @__PURE__ */ _(h, { children: [
143
+ b == null ? null : /* @__PURE__ */ g(R, {
143
144
  variant: x,
144
145
  children: b
145
146
  }),
146
- /* @__PURE__ */ g(R, {
147
+ /* @__PURE__ */ _(z, {
147
148
  textGap: p,
148
149
  className: "basis-48",
149
- children: [/* @__PURE__ */ h(H, {
150
+ children: [/* @__PURE__ */ g(U, {
150
151
  bold: D,
151
152
  children: S
152
- }), C == null ? null : /* @__PURE__ */ h(W, {
153
+ }), C == null ? null : /* @__PURE__ */ g(G, {
153
154
  clamp: O,
154
155
  children: C
155
156
  })]
156
157
  }),
157
- w != null || E != null ? /* @__PURE__ */ g(z, { children: [w, E] }) : null
158
+ w != null || T != null ? /* @__PURE__ */ _(B, { children: [w, T] }) : null
158
159
  ] }) : y;
159
- return /* @__PURE__ */ h(T, {
160
+ return /* @__PURE__ */ g(E, {
160
161
  ref: a,
161
162
  size: N,
162
163
  variant: P,
163
- render: _,
164
- className: r("item--component box-border font-sans gap-space-lg rounded-radius", u[l], I, B, V, F, v),
164
+ render: m,
165
+ className: r("item--component box-border font-sans gap-space-lg rounded-radius", m !== void 0 && "text-inherit no-underline", u[l], I, L, V, F, v),
165
166
  ...k,
166
- children: U
167
+ children: H
167
168
  });
168
169
  });
169
- P.displayName = "Item";
170
- var F = p(function({ className: e, role: t, ...n }, i) {
171
- return /* @__PURE__ */ h(b, {
170
+ F.displayName = "Item";
171
+ var I = m(function({ className: e, role: t, ...n }, i) {
172
+ return /* @__PURE__ */ g(x, {
172
173
  ref: i,
173
174
  role: t,
174
175
  className: r("item-group--component gap-space-sm has-[>[data-slot=item][data-variant=default]]:not-has-[>[data-slot=item]:not([data-variant=default])]:gap-0", e),
175
176
  ...n
176
177
  });
177
178
  });
178
- F.displayName = "ItemGroup";
179
- var I = p(function({ className: e, ...t }, n) {
180
- return /* @__PURE__ */ h(x, {
179
+ I.displayName = "ItemGroup";
180
+ var L = m(function({ className: e, ...t }, n) {
181
+ return /* @__PURE__ */ g(S, {
181
182
  ref: n,
182
183
  className: r("item--separator", e),
183
184
  ...t
184
185
  });
185
186
  });
186
- I.displayName = "ItemSeparator";
187
- var L = p(function({ variant: e = "default", className: t, ...n }, i) {
187
+ L.displayName = "ItemSeparator";
188
+ var R = m(function({ variant: e = "default", className: t, ...n }, i) {
188
189
  let a = e === "image" || e === "avatar" ? "image" : "default", o = e === "icon" ? r(l.md, "group-data-[size=xs]/item:[&_svg:not([class*='size-'])]:size-icon-sm") : void 0;
189
- return /* @__PURE__ */ h(D, {
190
+ return /* @__PURE__ */ g(O, {
190
191
  ref: i,
191
192
  variant: a,
192
193
  className: r("item--media", "group-has-data-[slot=item-description]/item:translate-y-0", o, e === "avatar" ? "rounded-full group-data-[size=sm]/item:rounded-full group-data-[size=xs]/item:rounded-full" : void 0, t),
193
194
  ...n
194
195
  });
195
196
  });
196
- L.displayName = "ItemMedia";
197
- var R = p(function({ className: e, textGap: t = "dense", ...n }, i) {
198
- return /* @__PURE__ */ h(O, {
197
+ R.displayName = "ItemMedia";
198
+ var z = m(function({ className: e, textGap: t = "dense", ...n }, i) {
199
+ return /* @__PURE__ */ g(k, {
199
200
  ref: i,
200
201
  className: r("item--content min-w-0", t === "dense" ? "gap-dense group-data-[size=xs]/item:gap-dense" : "gap-normal group-data-[size=xs]/item:gap-normal", e),
201
202
  ...n
202
203
  });
203
204
  });
204
- R.displayName = "ItemContent";
205
- var z = p(function({ className: e, ...t }, n) {
206
- return /* @__PURE__ */ h(j, {
205
+ z.displayName = "ItemContent";
206
+ var B = m(function({ className: e, ...t }, n) {
207
+ return /* @__PURE__ */ g(M, {
207
208
  ref: n,
208
209
  className: r("item--actions max-w-full flex-wrap shrink-0", d.compactActions, e),
209
210
  ...t
210
211
  });
211
212
  });
212
- z.displayName = "ItemActions";
213
- var B = p(function({ className: e, ...t }, n) {
214
- return /* @__PURE__ */ h(M, {
213
+ B.displayName = "ItemActions";
214
+ var V = m(function({ className: e, ...t }, n) {
215
+ return /* @__PURE__ */ g(N, {
215
216
  ref: n,
216
217
  className: r("item--header", e),
217
218
  ...t
218
219
  });
219
220
  });
220
- B.displayName = "ItemHeader";
221
- var V = p(function({ className: e, ...t }, n) {
222
- return /* @__PURE__ */ h(N, {
221
+ V.displayName = "ItemHeader";
222
+ var H = m(function({ className: e, ...t }, n) {
223
+ return /* @__PURE__ */ g(P, {
223
224
  ref: n,
224
225
  className: r("item--footer", e),
225
226
  ...t
226
227
  });
227
228
  });
228
- V.displayName = "ItemFooter";
229
- var H = p(function({ bold: e = !0, className: t, children: n, ...i }, c) {
229
+ H.displayName = "ItemFooter";
230
+ var U = m(function({ bold: e = !0, className: t, children: n, ...i }, c) {
230
231
  let l = typeof n == "string" || typeof n == "number" || typeof n == "bigint";
231
- return /* @__PURE__ */ h(k, {
232
+ return /* @__PURE__ */ g(A, {
232
233
  ref: c,
233
234
  className: r("item--title min-w-0 max-w-full overflow-hidden m-0 text-inherit [&>p]:m-0 [&>p]:text-start", t),
234
235
  ...i,
235
- children: l ? /* @__PURE__ */ h(a, {
236
+ children: l ? /* @__PURE__ */ g(a, {
236
237
  ...s.primary,
237
238
  tag: "span",
238
239
  size: "inherit",
@@ -240,38 +241,38 @@ var H = p(function({ bold: e = !0, className: t, children: n, ...i }, c) {
240
241
  lineHeight: "tight",
241
242
  className: "min-w-0 overflow-hidden text-ellipsis text-inherit",
242
243
  children: n
243
- }) : /* @__PURE__ */ h(o.Provider, {
244
+ }) : /* @__PURE__ */ g(o.Provider, {
244
245
  value: !0,
245
246
  children: n
246
247
  })
247
248
  });
248
249
  });
249
- H.displayName = "ItemTitle";
250
- var U = {
250
+ U.displayName = "ItemTitle";
251
+ var W = {
251
252
  1: "line-clamp-1",
252
253
  2: "line-clamp-2",
253
254
  3: "line-clamp-3",
254
255
  4: "line-clamp-4",
255
256
  none: "line-clamp-none"
256
- }, W = p(function({ clamp: e = 2, className: t, children: n, ...i }, c) {
257
+ }, G = m(function({ clamp: e = 2, className: t, children: n, ...i }, c) {
257
258
  let l = typeof n == "string" || typeof n == "number" || typeof n == "bigint";
258
- return /* @__PURE__ */ h(A, {
259
+ return /* @__PURE__ */ g(j, {
259
260
  ref: c,
260
- className: r("item--description", "m-0", !l && "text-xs text-muted-foreground leading-tight", U[e], t),
261
+ className: r("item--description", "m-0", !l && "text-xs text-muted-foreground leading-tight", W[e], t),
261
262
  ...i,
262
- children: l ? /* @__PURE__ */ h(a, {
263
+ children: l ? /* @__PURE__ */ g(a, {
263
264
  ...s.supporting,
264
265
  tag: "span",
265
266
  lineHeight: "tight",
266
267
  children: n
267
- }) : /* @__PURE__ */ h(o.Provider, {
268
+ }) : /* @__PURE__ */ g(o.Provider, {
268
269
  value: !0,
269
270
  children: n
270
271
  })
271
272
  });
272
273
  });
273
- W.displayName = "ItemDescription";
274
+ G.displayName = "ItemDescription";
274
275
  //#endregion
275
- export { V as a, L as c, W as i, I as l, z as n, F as o, R as r, B as s, P as t, H as u };
276
+ export { H as a, R as c, G as i, L as l, B as n, I as o, z as r, V as s, F as t, U as u };
276
277
 
277
- //# sourceMappingURL=item-DjCcM18E.js.map
278
+ //# sourceMappingURL=item-FfWnaYST.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-FfWnaYST.js","names":["ItemGroup","ItemSeparator","React","Item","ItemMedia","ItemContent","ItemTitle","ItemDescription","ItemActions","ItemHeader","ItemFooter","_Fragment","BaseItem","BaseItemGroup","BaseItemSeparator","BaseItemMedia","BaseItemContent","BaseItemActions","BaseItemHeader","BaseItemFooter","BaseItemTitle","BaseItemDescription","resolveComponentScale","useDensityConfig","useItemConfig","cn","Separator","Text","RunningTextContext","copyRoleProps","focusRecipes","ICON_DESCENDANT_SIZE_CLASSNAMES","rowBlockPaddingClasses","compositionClasses","interactionRecipes","React$1","Fragment$1","ItemGroup$1","props","className","ItemSeparator$1","itemVariants","cva","ItemPhrasingContext","usePartTagName","tagName","Item$1","nativeButton","render","element","useRender","mergeProps","itemMediaVariants","ItemMedia$1","ItemContent$1","ItemTitle$1","ItemDescription$1","ItemActions$1","ItemHeader$1","ItemFooter$1","Item","forwardRef","convenienceMode","itemProps","resolvedSize","size","defaultScale","primitiveSize","resolvedVariant","variant","defaultVariant","textSizeClass","paddingClass","padding","flushEdgeClass","borderClass","resolvedChildren","media","ItemMedia","mediaVariant","ItemContent","ItemTitle","titleBold","title","description","ItemDescription","descriptionClamp","trailing","actions","ItemActions","children","density","ItemGroup","ItemSeparator","baseVariant","iconClass","textGap","ItemHeader","ItemFooter","isSimpleText","bold","CLAMP_CLASS","clamp"],"sources":["../src/components/ui/item.tsx","../src/components/base/item/item.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { mergeProps } from \"@base-ui/react/merge-props\"\nimport { useRender } from \"@base-ui/react/use-render\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\nimport { rowBlockPaddingClasses } from \"../../lib/row-recipes\"\nimport { Separator } from \"./separator\"\nimport { focusRecipes } from \"../../lib/focus-recipes\"\nimport { interactionRecipes } from \"../../lib/interaction-recipes\"\n\nfunction ItemGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n role=\"list\"\n data-slot=\"item-group\"\n className={cn(\n \"group/item-group flex w-full flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ItemSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"item-separator\"\n orientation=\"horizontal\"\n className={cn(\"my-space-md\", className)}\n {...props}\n />\n )\n}\n\nconst itemVariants = cva(\n `group/item flex w-full flex-wrap items-center rounded-radius border text-sm transition-colors outline-none ${focusRecipes.frame} [a]:transition-colors [a]:hover:bg-accent [a]:hover:text-accent-foreground`,\n {\n variants: {\n variant: {\n default: \"border-transparent\",\n outline: \"border-border\",\n muted: \"border-transparent bg-muted/50\",\n },\n size: {\n default: cn(\"gap-space-lg px-row-x\", rowBlockPaddingClasses.comfortable),\n sm: cn(\"gap-space-lg px-row-x\", rowBlockPaddingClasses.default),\n xs: cn(\"gap-space-md px-row-x in-data-[slot=dropdown-menu-content]:p-0\", rowBlockPaddingClasses.compact),\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\n// An Item rendered as a button or link may hold phrasing content only, so its\n// parts render as spans there. Their classes set their display, so the layout\n// is the same either way.\nconst ItemPhrasingContext = React.createContext(false)\n\nfunction usePartTagName(tagName: \"div\" | \"p\") {\n return React.useContext(ItemPhrasingContext) ? \"span\" : tagName\n}\n\nfunction Item({\n className,\n variant = \"default\",\n size = \"default\",\n render,\n ...props\n}: useRender.ComponentProps<\"div\"> & VariantProps<typeof itemVariants>) {\n const nativeButton = React.isValidElement(render) && render.type === \"button\"\n const element = useRender({\n defaultTagName: \"div\",\n props: mergeProps<\"div\">(\n {\n className: cn(\n nativeButton && interactionRecipes.nativeButtonReset,\n nativeButton && \"text-start\",\n itemVariants({ variant, size, className }),\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"item\",\n variant,\n size,\n },\n })\n\n return (\n <ItemPhrasingContext.Provider value={render !== undefined}>\n {element}\n </ItemPhrasingContext.Provider>\n )\n}\n\nconst itemMediaVariants = cva(\n \"flex shrink-0 items-center justify-center gap-space-md group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"[&_svg:not([class*='size-'])]:size-icon\",\n image:\n \"size-10 overflow-hidden rounded-radius group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 group-data-[size=xs]/item:rounded-radius [&_img]:size-full [&_img]:object-cover\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction ItemMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof itemMediaVariants>) {\n return useRender({\n defaultTagName: usePartTagName(\"div\"),\n props: mergeProps<\"div\">(\n {\n className: cn(itemMediaVariants({ variant, className })),\n },\n props\n ),\n state: { slot: \"item-media\", variant },\n })\n}\n\nfunction ItemContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return useRender({\n defaultTagName: usePartTagName(\"div\"),\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"flex flex-1 flex-col [&+[data-slot=item-content]]:flex-none\",\n className\n ),\n },\n props\n ),\n state: { slot: \"item-content\" },\n })\n}\n\nfunction ItemTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return useRender({\n defaultTagName: usePartTagName(\"div\"),\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"line-clamp-1 flex w-fit items-center gap-space-md text-sm leading-snug font-medium underline-offset-4\",\n className\n ),\n },\n props\n ),\n state: { slot: \"item-title\" },\n })\n}\n\nfunction ItemDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return useRender({\n defaultTagName: usePartTagName(\"p\"),\n props: mergeProps<\"p\">(\n {\n className: cn(\n \"m-0 line-clamp-2 text-start text-sm font-normal text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary\",\n className\n ),\n },\n props\n ),\n state: { slot: \"item-description\" },\n })\n}\n\nfunction ItemActions({ className, ...props }: React.ComponentProps<\"div\">) {\n return useRender({\n defaultTagName: usePartTagName(\"div\"),\n props: mergeProps<\"div\">(\n {\n className: cn(\"flex items-center\", className),\n },\n props\n ),\n state: { slot: \"item-actions\" },\n })\n}\n\nfunction ItemHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return useRender({\n defaultTagName: usePartTagName(\"div\"),\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"flex basis-full items-center justify-between gap-space-md\",\n className\n ),\n },\n props\n ),\n state: { slot: \"item-header\" },\n })\n}\n\nfunction ItemFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return useRender({\n defaultTagName: usePartTagName(\"div\"),\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"flex basis-full items-center justify-between gap-space-md\",\n className\n ),\n },\n props\n ),\n state: { slot: \"item-footer\" },\n })\n}\n\nexport {\n Item,\n ItemMedia,\n ItemContent,\n ItemActions,\n ItemGroup,\n ItemSeparator,\n ItemTitle,\n ItemDescription,\n ItemHeader,\n ItemFooter,\n}\n","/**\n * Item — base wrapper around the shadcn `Item` primitive.\n *\n * Why this wrapper exists (rules 1, 8, 12, 17):\n * - Resolves `size` and `variant` against `<UIProvider>` (`useItemConfig()`),\n * so consumers set library-wide density once.\n * - Routes `ItemTitle` / `ItemDescription` text through our `<Text>` typography\n * so a title is always `weight=\"semibold\"` and secondary copy follows the\n * shared control/display tokens — no rogue `<div className=\"text-sm font-medium\">`\n * blobs at call sites.\n * - Re-exports every compound part untouched, so `<Item>` keeps working as a\n * drop-in replacement for hand-rolled \"icon-left + text-stack + actions\" rows.\n *\n * Layer rule: import from `@/components/base/item`, never from `@/components/ui/item`.\n */\nimport { forwardRef, type ComponentRef } from 'react';\n\nimport {\n\tItem as BaseItem,\n\tItemActions as BaseItemActions,\n\tItemContent as BaseItemContent,\n\tItemDescription as BaseItemDescription,\n\tItemFooter as BaseItemFooter,\n\tItemGroup as BaseItemGroup,\n\tItemHeader as BaseItemHeader,\n\tItemMedia as BaseItemMedia,\n\tItemSeparator as BaseItemSeparator,\n\tItemTitle as BaseItemTitle,\n} from '../../ui/item';\nimport { ICON_DESCENDANT_SIZE_CLASSNAMES } from '../display/icon-size';\nimport { Text } from '../../typography';\nimport { RunningTextContext } from '../../typography/running-text';\nimport { useDensityConfig, useItemConfig } from '../../../lib/ui-provider';\nimport { resolveComponentScale } from '../../../lib/ui-provider/scale';\nimport { cn } from '../../../lib/utils';\nimport {compositionClasses} from '../structure/composition.recipes';\nimport {copyRoleProps} from '../../typography/text.styles';\nimport { rowBlockPaddingClasses } from '../../../lib/row-recipes';\nimport { focusRecipes } from '../../../lib/focus-recipes';\n\nimport type {\n\tItemActionsProps,\n\tItemContentProps,\n\tItemDescriptionProps,\n\tItemFooterProps,\n\tItemGroupProps,\n\tItemHeaderProps,\n\tItemMediaProps,\n\tItemProps,\n\tItemTitleProps,\n} from './item.types';\n\nconst Item = forwardRef<ComponentRef<typeof BaseItem>, ItemProps>(function Item(\n\titemProps,\n\tref,\n) {\n\tconst convenienceMode = 'title' in itemProps;\n\tconst {\n\t\tsize,\n\t\tdensity = 'default',\n\t\tvariant,\n\t\tpadding = 'none',\n\t\ttextGap = 'dense',\n\t\trender,\n\t\tclassName,\n\t\tchildren,\n\t\tmedia,\n\t\tmediaVariant,\n\t\ttitle,\n\t\tdescription,\n\t\ttrailing,\n\t\tactions,\n\t\ttitleBold,\n\t\tdescriptionClamp,\n\t\t...props\n\t} = itemProps;\n\tconst { defaultVariant = 'default' } = useItemConfig();\n\tconst { defaultScale } = useDensityConfig();\n\tconst resolvedSize = resolveComponentScale(size, defaultScale);\n\tconst primitiveSize = resolvedSize === 'sm' ? 'xs' : 'sm';\n\tconst resolvedVariant = variant ?? defaultVariant;\n\tconst textSizeClass = resolvedSize === 'sm' ? 'text-pxs' : resolvedSize === 'lg' ? 'text-base' : 'text-sm';\n\tconst paddingClass = padding === 'default' ? 'px-row-x' : 'px-0';\n\t// A plain flush row draws no box, so in a group its outer edges sit on the group's\n\t// edges and the parent's gap or surface padding owns the space around the list.\n\tconst flushEdgeClass = resolvedVariant === 'default' && padding === 'none'\n\t\t? 'in-data-[slot=item-group]:first:pt-0 in-data-[slot=item-group]:last:pb-0'\n\t\t: undefined;\n\t// The default variant draws no box; a transparent 1px border only nudged its text off the shared edge.\n\t// Without a border, an interactive row draws its focus edge inset instead.\n\tconst borderClass = resolvedVariant === 'default' ? `border-0 ${focusRecipes.edge}` : undefined;\n\tconst resolvedChildren = convenienceMode ? (\n\t\t<>\n\t\t\t{media != null ? <ItemMedia variant={mediaVariant}>{media}</ItemMedia> : null}\n\t\t\t<ItemContent textGap={textGap} className=\"basis-48\">\n\t\t\t\t<ItemTitle bold={titleBold}>{title}</ItemTitle>\n\t\t\t\t{description != null ? (\n\t\t\t\t\t<ItemDescription clamp={descriptionClamp}>{description}</ItemDescription>\n\t\t\t\t) : null}\n\t\t\t</ItemContent>\n\t\t\t{trailing != null || actions != null ? (\n\t\t\t\t<ItemActions>\n\t\t\t\t\t{trailing}\n\t\t\t\t\t{actions}\n\t\t\t\t</ItemActions>\n\t\t\t) : null}\n\t\t</>\n\t) : children;\n\treturn (\n\t\t<BaseItem\n\t\t\tref={ref}\n\t\t\tsize={primitiveSize}\n\t\t\tvariant={resolvedVariant}\n\t\t\trender={render}\n\t\t\tclassName={cn(\n\t\t\t\t'item--component box-border font-sans gap-space-lg rounded-radius',\n\t\t\t\trender !== undefined && 'text-inherit no-underline',\n\t\t\t\trowBlockPaddingClasses[density],\n\t\t\t\tpaddingClass,\n\t\t\t\tflushEdgeClass,\n\t\t\t\tborderClass,\n\t\t\t\ttextSizeClass,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{resolvedChildren}\n\t\t</BaseItem>\n\t);\n});\nItem.displayName = 'Item';\n\nconst ItemGroup = forwardRef<ComponentRef<typeof BaseItemGroup>, ItemGroupProps>(function ItemGroup(\n\t{ className, role, ...props },\n\tref,\n) {\n\treturn (\n\t\t<BaseItemGroup\n\t\t\tref={ref}\n\t\t\trole={role}\n\t\t\t// Boxed rows (outline/muted) keep a small gap between boxes, including when a\n\t\t\t// plain row sits beside them. A group of plain rows only touches, so their own\n\t\t\t// density padding is the only space between them.\n\t\t\tclassName={cn('item-group--component gap-space-sm has-[>[data-slot=item][data-variant=default]]:not-has-[>[data-slot=item]:not([data-variant=default])]:gap-0', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nItemGroup.displayName = 'ItemGroup';\n\nconst ItemSeparator = forwardRef<\n\tComponentRef<typeof BaseItemSeparator>,\n\tParameters<typeof BaseItemSeparator>[0]\n>(function ItemSeparator({ className, ...props }, ref) {\n\treturn <BaseItemSeparator ref={ref} className={cn('item--separator', className)} {...props} />;\n});\nItemSeparator.displayName = 'ItemSeparator';\n\nconst ItemMedia = forwardRef<ComponentRef<typeof BaseItemMedia>, ItemMediaProps>(function ItemMedia(\n\t{ variant = 'default', className, ...props },\n\tref,\n) {\n\tconst baseVariant = variant === 'image' || variant === 'avatar' ? 'image' : 'default';\n\tconst iconClass =\n\t\tvariant === 'icon'\n\t\t\t? cn(\n\t\t\t\t\tICON_DESCENDANT_SIZE_CLASSNAMES.md,\n\t\t\t\t\t\"group-data-[size=xs]/item:[&_svg:not([class*='size-'])]:size-icon-sm\",\n\t\t\t\t)\n\t\t\t: undefined;\n\tconst avatarClass =\n\t\tvariant === 'avatar'\n\t\t\t? 'rounded-full group-data-[size=sm]/item:rounded-full group-data-[size=xs]/item:rounded-full'\n\t\t\t: undefined;\n\treturn (\n\t\t<BaseItemMedia\n\t\t\tref={ref}\n\t\t\tvariant={baseVariant}\n\t\t\tclassName={cn(\n\t\t\t\t'item--media',\n\t\t\t\t'group-has-data-[slot=item-description]/item:translate-y-0',\n\t\t\t\ticonClass,\n\t\t\t\tavatarClass,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nItemMedia.displayName = 'ItemMedia';\n\nconst ItemContent = forwardRef<ComponentRef<typeof BaseItemContent>, ItemContentProps>(function ItemContent(\n\t{ className, textGap = 'dense', ...props },\n\tref,\n) {\n\treturn (\n\t\t<BaseItemContent\n\t\t\tref={ref}\n\t\t\tclassName={cn('item--content min-w-0', textGap === 'dense' ? 'gap-dense group-data-[size=xs]/item:gap-dense' : 'gap-normal group-data-[size=xs]/item:gap-normal', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nItemContent.displayName = 'ItemContent';\n\nconst ItemActions = forwardRef<ComponentRef<typeof BaseItemActions>, ItemActionsProps>(function ItemActions(\n\t{ className, ...props },\n\tref,\n) {\n\treturn <BaseItemActions ref={ref} className={cn('item--actions max-w-full flex-wrap shrink-0', compositionClasses.compactActions, className)} {...props} />;\n});\nItemActions.displayName = 'ItemActions';\n\nconst ItemHeader = forwardRef<ComponentRef<typeof BaseItemHeader>, ItemHeaderProps>(function ItemHeader(\n\t{ className, ...props },\n\tref,\n) {\n\treturn <BaseItemHeader ref={ref} className={cn('item--header', className)} {...props} />;\n});\nItemHeader.displayName = 'ItemHeader';\n\nconst ItemFooter = forwardRef<ComponentRef<typeof BaseItemFooter>, ItemFooterProps>(function ItemFooter(\n\t{ className, ...props },\n\tref,\n) {\n\treturn <BaseItemFooter ref={ref} className={cn('item--footer', className)} {...props} />;\n});\nItemFooter.displayName = 'ItemFooter';\n\nconst ItemTitle = forwardRef<ComponentRef<typeof BaseItemTitle>, ItemTitleProps>(function ItemTitle(\n\t{ bold = true, className, children, ...props },\n\tref,\n) {\n\tconst isSimpleText = typeof children === 'string' || typeof children === 'number' || typeof children === 'bigint';\n\treturn (\n\t\t<BaseItemTitle\n\t\t\tref={ref}\n\t\t\tclassName={cn('item--title min-w-0 max-w-full overflow-hidden m-0 text-inherit [&>p]:m-0 [&>p]:text-start', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText ? (\n\t\t\t\t// The title is a flex row, where text-overflow has no effect: the text itself\n\t\t\t\t// shrinks and ends in an ellipsis instead of clipping a long token mid-glyph.\n\t\t\t\t<Text {...copyRoleProps.primary} tag=\"span\" size=\"inherit\" weight={bold ? 'semibold' : 'regular'} lineHeight=\"tight\" className=\"min-w-0 overflow-hidden text-ellipsis text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : <RunningTextContext.Provider value>{children}</RunningTextContext.Provider>}\n\t\t</BaseItemTitle>\n\t);\n});\nItemTitle.displayName = 'ItemTitle';\n\nconst CLAMP_CLASS: Record<NonNullable<ItemDescriptionProps['clamp']>, string> = {\n\t1: 'line-clamp-1',\n\t2: 'line-clamp-2',\n\t3: 'line-clamp-3',\n\t4: 'line-clamp-4',\n\tnone: 'line-clamp-none',\n};\n\nconst ItemDescription = forwardRef<ComponentRef<typeof BaseItemDescription>, ItemDescriptionProps>(\n\tfunction ItemDescription({ clamp = 2, className, children, ...props }, ref) {\n\t\tconst isSimpleText = typeof children === 'string' || typeof children === 'number' || typeof children === 'bigint';\n\t\treturn (\n\t\t\t<BaseItemDescription\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'item--description',\n\t\t\t\t\t'm-0',\n\t\t\t\t\t!isSimpleText && 'text-xs text-muted-foreground leading-tight',\n\t\t\t\t\tCLAMP_CLASS[clamp],\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{isSimpleText ? (\n\t\t\t\t\t<Text {...copyRoleProps.supporting} tag=\"span\" lineHeight=\"tight\">\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</Text>\n\t\t\t\t) : <RunningTextContext.Provider value>{children}</RunningTextContext.Provider>}\n\t\t\t</BaseItemDescription>\n\t\t);\n\t},\n);\nItemDescription.displayName = 'ItemDescription';\n\nexport {\n\tItem,\n\tItemGroup,\n\tItemSeparator,\n\tItemMedia,\n\tItemContent,\n\tItemTitle,\n\tItemDescription,\n\tItemActions,\n\tItemHeader,\n\tItemFooter,\n};\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { i as e, n as t, r as n, t as r } from "../app-shell-B_IuNWOo.js";
2
+ import { i as e, n as t, r as n, t as r } from "../app-shell-EHuuRDGy.js";
3
3
  export { r as AppLayout, n as SidebarInsetLayout, t as StackedLayout, e as TopbarSidebarLayout };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { _ as e, a as t, c as n, d as r, f as i, g as a, h as o, i as s, l as c, m as l, n as u, o as d, p as f, r as p, s as m, t as h, u as g } from "../auth-DTkkshS8.js";
2
+ import { _ as e, a as t, c as n, d as r, f as i, g as a, h as o, i as s, l as c, m as l, n as u, o as d, p as f, r as p, s as m, t as h, u as g } from "../auth-B0girIk_.js";
3
3
  export { e as AuthCard, c as AuthFooterLinks, p as AuthForm, s as AuthFormRow, h as AuthMethodSwitch, t as AuthShell, m as AuthSocialProviderButton, n as AuthSocialProviders, d as AuthSplitPanel, g as defaultAuthFooterLinksStrings, r as defaultAuthMethodSwitchStrings, i as defaultAuthShellStrings, f as defaultAuthSocialProvidersStrings, l as isAuthBrandConfig, o as useAuthLinks, u as useAuthMethodSwitch, a as useAuthShell };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { i as e, n as t, r as n, t as r } from "../containers-CIxwbZt5.js";
2
+ import { i as e, n as t, r as n, t as r } from "../containers-CSdc32h9.js";
3
3
  export { e as Container, n as PageViewport, t as Section, r as TwoColumnLayout };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../header-DMMxG__r.js";
2
+ import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../header-ZIIsRKxP.js";
3
3
  export { u as Header, n as HeaderBreadcrumbs, e as HeaderGlobalSearchTrigger, l as HeaderNotifications, o as HeaderSearch, r as HeaderToolButton, s as HeaderToolPopover, a as HeaderUserMenu, c as defaultHeaderNotificationsStrings, t as defaultHeaderSearchStrings, i as defaultHeaderUserMenuStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { f as e, n as t, t as n } from "../hooks-DB6CJ4MR.js";
2
+ import { f as e, n as t, t as n } from "../hooks-BitHSh-Y.js";
3
3
  export { t as useActivePath, n as useCommandShortcut, e as useLayoutLinkRenderer };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../navigation-DaRjthVk.js";
2
+ import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../navigation-BgtPJAhi.js";
3
3
  export { r as BreadcrumbProgress, e as CategoryNav, i as SectionNav, o as SideNav, a as defaultBreadcrumbProgressStrings, t as defaultSectionNavStrings, n as defaultSideNavStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, i as t, n, r, t as i } from "../page-DUUKDAjo.js";
2
+ import { a as e, i as t, n, r, t as i } from "../page-BoQ1VaFJ.js";
3
3
  export { r as Page, i as PageActions, t as PageHeader, n as defaultPageActionsStrings, e as defaultPageStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { n as e, r as t, t as n } from "../settings-Bar5wiSo.js";
2
+ import { n as e, r as t, t as n } from "../settings-DZPHgpx4.js";
3
3
  export { n as AsideNavShell, e as SettingsShell, t as defaultAsideNavShellStrings };
@@ -1,4 +1,4 @@
1
1
  "use client";
2
- import { c as e, d as t, i as n, o as r, r as i, s as a, u as o } from "../hooks-DB6CJ4MR.js";
3
- import { a as s, c, d as l, f as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b } from "../sidebar-D-JYMMbY.js";
2
+ import { c as e, d as t, i as n, o as r, r as i, s as a, u as o } from "../hooks-BitHSh-Y.js";
3
+ import { a as s, c, d as l, f as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b } from "../sidebar-C8BnDwTH.js";
4
4
  export { s as AppSidebar, p as LayoutSidebar, u as LayoutSidebarProvider, n as NavBadge, f as SidebarGroupedNavigation, i as SidebarIcon, c as SidebarLogo, _ as SidebarNavigation, v as SidebarNavigationFooter, d as SidebarNavigationRail, y as SidebarNavigationUser, h as SidebarWorkspaceDropdown, b as defaultSidebarNavigationStrings, m as defaultSidebarNavigationUserStrings, l as defaultSidebarWorkspaceDropdownStrings, r as getNavKey, a as getNavLabel, e as isPathMatch, o as resolveNavBadge, t as toPath, g as useLayoutSidebar };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../workspace-DHeHv0qw.js";
2
+ import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../workspace-CC8Vchiu.js";
3
3
  export { o as WorkspaceLayout, n as WorkspaceLocaleStrip, i as WorkspaceNav, t as WorkspaceRecordHeader, e as defaultWorkspaceLocaleStripStrings, r as defaultWorkspaceNavStrings, a as defaultWorkspaceRecordHeaderStrings };
package/dist/layout.js CHANGED
@@ -1,13 +1,13 @@
1
1
  "use client";
2
- import { n as e, t } from "./layout.types-Cn7aUzJp.js";
3
- import { c as n, d as r, f as i, i as a, n as o, o as s, r as c, s as l, t as u, u as d } from "./hooks-DB6CJ4MR.js";
4
- import { i as f, n as p, r as m, t as h } from "./containers-CIxwbZt5.js";
5
- import { i as g, n as _, r as v, t as y } from "./app-shell-B_IuNWOo.js";
6
- import { a as b, i as x, n as S, r as C, t as w } from "./page-DUUKDAjo.js";
7
- import { n as T, r as E, t as D } from "./settings-Bar5wiSo.js";
8
- import { a as O, c as k, d as A, i as j, l as M, n as N, o as P, r as F, s as I, t as L, u as R } from "./header-DMMxG__r.js";
9
- import { a as z, i as B, n as V, o as H, r as U, s as W, t as G } from "./navigation-DaRjthVk.js";
10
- import { a as K, c as q, d as J, f as Y, i as X, l as Z, m as Q, n as $, o as ee, p as te, r as ne, s as re, t as ie, u as ae } from "./sidebar-D-JYMMbY.js";
11
- import { _ as oe, a as se, c as ce, d as le, f as ue, g as de, h as fe, i as pe, l as me, m as he, n as ge, o as _e, p as ve, r as ye, s as be, t as xe, u as Se } from "./auth-DTkkshS8.js";
12
- import { a as Ce, i as we, n as Te, o as Ee, r as De, s as Oe, t as ke } from "./workspace-DHeHv0qw.js";
2
+ import { n as e, t } from "./layout.types-E_GAApzO.js";
3
+ import { c as n, d as r, f as i, i as a, n as o, o as s, r as c, s as l, t as u, u as d } from "./hooks-BitHSh-Y.js";
4
+ import { i as f, n as p, r as m, t as h } from "./containers-CSdc32h9.js";
5
+ import { i as g, n as _, r as v, t as y } from "./app-shell-EHuuRDGy.js";
6
+ import { a as b, i as x, n as S, r as C, t as w } from "./page-BoQ1VaFJ.js";
7
+ import { n as T, r as E, t as D } from "./settings-DZPHgpx4.js";
8
+ import { a as O, c as k, d as A, i as j, l as M, n as N, o as P, r as F, s as I, t as L, u as R } from "./header-ZIIsRKxP.js";
9
+ import { a as z, i as B, n as V, o as H, r as U, s as W, t as G } from "./navigation-BgtPJAhi.js";
10
+ import { a as K, c as q, d as J, f as Y, i as X, l as Z, m as Q, n as $, o as ee, p as te, r as ne, s as re, t as ie, u as ae } from "./sidebar-C8BnDwTH.js";
11
+ import { _ as oe, a as se, c as ce, d as le, f as ue, g as de, h as fe, i as pe, l as me, m as he, n as ge, o as _e, p as ve, r as ye, s as be, t as xe, u as Se } from "./auth-B0girIk_.js";
12
+ import { a as Ce, i as we, n as Te, o as Ee, r as De, s as Oe, t as ke } from "./workspace-CC8Vchiu.js";
13
13
  export { y as AppLayout, K as AppSidebar, D as AsideNavShell, oe as AuthCard, me as AuthFooterLinks, ye as AuthForm, pe as AuthFormRow, xe as AuthMethodSwitch, se as AuthShell, be as AuthSocialProviderButton, ce as AuthSocialProviders, _e as AuthSplitPanel, H as BreadcrumbProgress, z as CategoryNav, f as Container, R as Header, A as HeaderBreadcrumbs, O as HeaderGlobalSearchTrigger, L as HeaderNotifications, P as HeaderSearch, j as HeaderToolButton, F as HeaderToolPopover, N as HeaderUserMenu, Q as LayoutSidebar, Y as LayoutSidebarProvider, a as NavBadge, C as Page, w as PageActions, x as PageHeader, m as PageViewport, p as Section, U as SectionNav, T as SettingsShell, G as SideNav, Z as SidebarGroupedNavigation, c as SidebarIcon, v as SidebarInsetLayout, q as SidebarLogo, ne as SidebarNavigation, re as SidebarNavigationFooter, X as SidebarNavigationRail, ie as SidebarNavigationUser, ee as SidebarWorkspaceDropdown, _ as StackedLayout, g as TopbarSidebarLayout, h as TwoColumnLayout, ke as WorkspaceLayout, Te as WorkspaceLocaleStrip, De as WorkspaceNav, we as WorkspaceRecordHeader, E as defaultAsideNavShellStrings, Se as defaultAuthFooterLinksStrings, le as defaultAuthMethodSwitchStrings, ue as defaultAuthShellStrings, ve as defaultAuthSocialProvidersStrings, W as defaultBreadcrumbProgressStrings, I as defaultHeaderNotificationsStrings, k as defaultHeaderSearchStrings, M as defaultHeaderUserMenuStrings, S as defaultPageActionsStrings, b as defaultPageStrings, t as defaultRenderLink, B as defaultSectionNavStrings, V as defaultSideNavStrings, ae as defaultSidebarNavigationStrings, $ as defaultSidebarNavigationUserStrings, J as defaultSidebarWorkspaceDropdownStrings, Ce as defaultWorkspaceLocaleStripStrings, Ee as defaultWorkspaceNavStrings, Oe as defaultWorkspaceRecordHeaderStrings, s as getNavKey, l as getNavLabel, he as isAuthBrandConfig, n as isPathMatch, e as resolveLayoutLinkRenderer, d as resolveNavBadge, r as toPath, o as useActivePath, fe as useAuthLinks, ge as useAuthMethodSwitch, de as useAuthShell, u as useCommandShortcut, i as useLayoutLinkRenderer, te as useLayoutSidebar };
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { t as e } from "./utils-DhuoqFy4.js";
3
+ import { t } from "./interaction-recipes-4wZ2tvfb.js";
4
+ import { jsx as n } from "react/jsx-runtime";
5
+ //#region src/components/layout/layout.types.tsx
6
+ var r = ({ href: r, children: i, active: a, disabled: o, external: s, rel: c, target: l, onClick: u, ...d }) => o || !r && !u ? /* @__PURE__ */ n("span", {
7
+ ...d,
8
+ "aria-disabled": o || void 0,
9
+ children: i
10
+ }) : r ? /* @__PURE__ */ n("a", {
11
+ href: r,
12
+ target: l ?? (s ? "_blank" : void 0),
13
+ rel: c ?? (s ? "noopener noreferrer" : void 0),
14
+ onClick: u,
15
+ ...d,
16
+ children: i
17
+ }) : /* @__PURE__ */ n("button", {
18
+ ...d,
19
+ type: "button",
20
+ onClick: u,
21
+ className: e(t.nativeButtonReset, "cursor-pointer text-start text-inherit", d.className),
22
+ children: i
23
+ });
24
+ function i({ renderLink: e } = {}) {
25
+ return e || r;
26
+ }
27
+ //#endregion
28
+ export { i as n, r as t };
29
+
30
+ //# sourceMappingURL=layout.types-E_GAApzO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.types-E_GAApzO.js","names":["cn","defaultRenderLink","props","disabled","href","onClick","target","external","rel","interactionRecipes","resolveLayoutLinkRenderer","renderLink"],"sources":["../src/components/layout/layout.types.tsx"],"sourcesContent":[" \n/**\n * Shared layout types used across page, header, and sidebar.\n *\n * The layout layer is framework-agnostic by contract. It never imports a\n * router package. Navigation is delegated to the consumer through\n * `renderLink`.\n */\nimport type { AriaAttributes, ComponentType, HTMLAttributes, MouseEvent, MouseEventHandler, ReactNode } from 'react';\n\nimport { interactionRecipes } from '../../lib/interaction-recipes';\nimport { cn } from '../../lib/utils';\n\n/** Native region props, including strongly typed consumer `data-*` hooks. */\nexport type LayoutSlotAttributes<ElementType extends HTMLElement> =\n\tHTMLAttributes<ElementType>\n\t& { [Key in `data-${string}`]?: string | number | boolean | undefined };\n\nexport interface LayoutLinkRenderProps {\n\t/** Destination URL. Without a URL, the default renders a button when onClick is supplied. */\n\thref?: string;\n\tchildren: ReactNode;\n\tclassName?: string;\n\ttarget?: string;\n\trel?: string;\n\tonClick?: (event: MouseEvent<HTMLAnchorElement>) => void;\n\t'aria-label'?: string;\n\t/** Current-page state supplied by a navigation owner. */\n\t'aria-current'?: AriaAttributes['aria-current'];\n\t/** Consumer hint for active styling; renderers may ignore it. */\n\tactive?: boolean;\n\t/** Consumer hint to render as muted/non-interactive. */\n\tdisabled?: boolean;\n\t/** Consumer hint for external-link behavior. */\n\texternal?: boolean;\n}\n\n/**\n * Primary navigation seam. Consumers can wire Inertia, Next, React Router,\n * TanStack Router, or a plain anchor without this package importing them.\n *\n * Example:\n * renderLink={({ href, children, className }) => (\n * <Link href={href ?? '#'} className={className}>{children}</Link>\n * )}\n */\nexport type LayoutLinkRenderer = (props: LayoutLinkRenderProps) => ReactNode;\n\nexport interface LayoutNavigationAdapter {\n\t/** Renderer for framework-native links. */\n\trenderLink?: LayoutLinkRenderer;\n}\n\n/** Renders native links, callback buttons and inert entries. */\nexport const defaultRenderLink: LayoutLinkRenderer = ({\n\thref,\n\tchildren,\n\tactive,\n\tdisabled,\n\texternal,\n\trel,\n\ttarget,\n\tonClick,\n\t...props\n}) => {\n\tvoid active;\n\n\tif (disabled || (!href && !onClick)) {\n\t\treturn <span {...props} aria-disabled={disabled || undefined}>{children}</span>;\n\t}\n\n\tif (!href) {\n\t\t// Keep the anchor-typed renderer contract for existing router adapters.\n\t\treturn (\n\t\t\t<button\n\t\t\t\t{...props}\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={onClick as MouseEventHandler<HTMLElement> | undefined}\n\t\t\t\tclassName={cn(interactionRecipes.nativeButtonReset, 'cursor-pointer text-start text-inherit', props.className)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</button>\n\t\t);\n\t}\n\n\tconst resolvedTarget = target ?? (external ? '_blank' : undefined);\n\tconst resolvedRel = rel ?? (external ? 'noopener noreferrer' : undefined);\n\n\treturn (\n\t\t<a href={href} target={resolvedTarget} rel={resolvedRel} onClick={onClick} {...props}>\n\t\t\t{children}\n\t\t</a>\n\t);\n};\n\n/** Resolve the consumer renderer or the native-anchor default. */\nexport function resolveLayoutLinkRenderer({\n\trenderLink,\n}: LayoutNavigationAdapter = {}): LayoutLinkRenderer {\n\tif (renderLink) return renderLink;\n\treturn defaultRenderLink;\n}\n\n/** Plain navigation item used by sidebar / breadcrumbs / page header. */\nexport interface NavLink {\n\t/** Display label. */\n\tlabel: ReactNode;\n\t/** Destination for the entry, when it navigates. */\n\thref?: string;\n\thandle?: string;\n\t/** Chip rendered beside the label. */\n\tbadge?: string | number;\n\t/** Disables the control. */\n\tdisabled?: boolean;\n\texternal?: boolean;\n}\n\n/** Hierarchical navigation item — extends `NavLink` with optional children. */\nexport interface NavItem extends NavLink {\n\t/** Leading glyph. */\n\ticon?: LayoutIconSource;\n\tchildren?: NavItem[];\n\tgroup?: string;\n}\n\n/** Breadcrumb entry. The last item with no `href` renders as the current page. */\nexport interface BreadcrumbItem {\n\t/** Display label. */\n\tlabel: ReactNode;\n\t/** Destination for the entry, when it navigates. */\n\thref?: string;\n\thandle?: string;\n}\n\nexport type LayoutIconComponent = ComponentType<React.SVGProps<SVGSVGElement>>;\nexport type LayoutIconSource = LayoutIconComponent | string;\n\nexport interface LayoutUser {\n\tname: string;\n\temail?: string;\n\tavatar?: string;\n\trole?: string;\n}\n\nexport interface ExternalLinkItem {\n\t/** Display label. */\n\tlabel: ReactNode;\n\turl: string;\n\t/** Leading glyph. */\n\ticon?: ComponentType<{ className?: string }>;\n}\n"],"mappings":";;;;;AAsDA,IAAaC,KAAyC,EACrD,SACA,aACA,WACA,aACA,aACA,QACA,WACA,YACA,GAAGC,QAICC,KAAa,CAACC,KAAQ,CAACC,IACnB,kBAAC,QAAD;CAAM,GAAIH;CAAO,iBAAeC,KAAY,KAAA;CAAY;AAAe,CAAA,IAG1EC,IAkBJ,kBAAC,KAAD;CAAS;CAAM,QAJOE,MAAWC,IAAW,WAAW,KAAA;CAIhB,KAHpBC,MAAQD,IAAW,wBAAwB,KAAA;CAGI;CAAS,GAAIL;CAC7E;AACC,CAAA,IAjBF,kBAAC,UAAD;CACC,GAAIA;CACJ,MAAK;CACI;CACT,WAAWF,EAAGS,EAAmB,mBAAmB,0CAA0CP,EAAM,SAAS;CAE5G;AACM,CAAA;AAeX,SAAgBQ,EAA0B,EACzC,kBAC4B,CAAC,GAAuB;CAEpD,OADIC,KACGV;AACR"}
@@ -0,0 +1,11 @@
1
+ import type { AriaAttributes, FocusEventHandler, RefObject } from 'react';
2
+ export interface FieldControlAttributes extends Pick<AriaAttributes, 'aria-label' | 'aria-labelledby' | 'aria-describedby' | 'aria-invalid'> {
3
+ /** ID of the field's interactive target or group. */
4
+ id?: string;
5
+ }
6
+ export declare function resolveFieldInvalid(invalid: boolean | undefined, ariaInvalid: AriaAttributes['aria-invalid']): {
7
+ invalid: boolean;
8
+ ariaInvalid: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
9
+ };
10
+ /** Treat the visible field and its portaled content as one focus boundary. */
11
+ export declare function fieldBoundaryBlur<T extends HTMLElement>(onBlur: FocusEventHandler<T> | undefined, ...otherSurfaces: RefObject<HTMLElement | null>[]): FocusEventHandler<T> | undefined;
@@ -10,4 +10,6 @@ export declare const fieldStateRecipes: {
10
10
  readonly invalid: "aria-invalid:border-destructive aria-invalid:focus-visible:border-destructive aria-invalid:focus-visible:ring-destructive/30 dark:aria-invalid:focus-visible:ring-destructive/50";
11
11
  readonly groupFocus: "has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50";
12
12
  readonly groupInvalid: "has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:has-[[data-slot=input-group-control]:focus-visible]:border-destructive has-[[data-slot][aria-invalid=true]]:has-[[data-slot=input-group-control]:focus-visible]:ring-destructive/30 dark:has-[[data-slot][aria-invalid=true]]:has-[[data-slot=input-group-control]:focus-visible]:ring-destructive/50";
13
+ readonly editorFocus: "has-[[data-slot=editor-field]:focus-visible]:border-ring has-[[data-slot=editor-field]:focus-visible]:ring-3 has-[[data-slot=editor-field]:focus-visible]:ring-ring/50";
14
+ readonly editorInvalid: "has-[[data-slot=editor-field][aria-invalid=true]]:border-destructive has-[[data-slot=editor-field][aria-invalid=true]]:has-[[data-slot=editor-field]:focus-visible]:border-destructive has-[[data-slot=editor-field][aria-invalid=true]]:has-[[data-slot=editor-field]:focus-visible]:ring-destructive/30 dark:has-[[data-slot=editor-field][aria-invalid=true]]:has-[[data-slot=editor-field]:focus-visible]:ring-destructive/50";
13
15
  };
@@ -38,6 +38,7 @@ export interface FormatPercentageOptions extends FormatNumberOptions {
38
38
  /** When true, treat `value` as already a percentage (e.g. 12.5 → "12.5%"). Default: false (0.125 → "12.5%"). */
39
39
  scaled?: boolean;
40
40
  }
41
+ export declare function formatPercentRatio(ratio: number, locale?: string, options?: Intl.NumberFormatOptions): string;
41
42
  export declare function formatPercentage(value: number, options?: FormatPercentageOptions): string;
42
43
  /** Input and display options for localized duration formatting. Seconds and
43
44
  * narrow units are the calibrated defaults. */
@@ -53,7 +53,7 @@ export declare const neutralFillRecipes: {
53
53
  readonly markerIdle: "bg-muted-foreground/40";
54
54
  };
55
55
  /** A key cap for shortcut hints: a solid track-coloured chip with the compact secondary text role. */
56
- export declare const kbdRecipe = "pointer-events-none inline-flex h-5 w-fit min-w-5 shrink-0 select-none items-center justify-center gap-space-2xs rounded-radius-xs bg-muted px-space-xs font-sans text-xs font-medium leading-none text-muted-foreground";
56
+ export declare const kbdRecipe = "box-border pointer-events-none inline-flex h-5 w-fit min-w-5 shrink-0 select-none items-center justify-center gap-space-2xs rounded-radius-xs bg-muted px-space-xs font-sans text-xs font-medium leading-none text-muted-foreground";
57
57
  /**
58
58
  * Elevation, one theme shadow per role; the theme owns the shadow ladder itself.
59
59
  * - `resting`: tiles, rows and table frames that sit on a surface.