themelia-react-ui 1.0.1 → 2.0.0

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 (640) hide show
  1. package/CHANGELOG.md +417 -0
  2. package/README.md +67 -16
  3. package/dist/{accordion-B-5Focs8.js → accordion-CQXVcd7Q.js} +15 -15
  4. package/dist/accordion-CQXVcd7Q.js.map +1 -0
  5. package/dist/action-menu-BTpyPWJ2.js +264 -0
  6. package/dist/action-menu-BTpyPWJ2.js.map +1 -0
  7. package/dist/affordance-geometry.generated-CCIXb2A1.js +68 -0
  8. package/dist/affordance-geometry.generated-CCIXb2A1.js.map +1 -0
  9. package/dist/{ai-artifact-B5tPpXnS.js → ai-artifact-2PQ2fItc.js} +206 -215
  10. package/dist/ai-artifact-2PQ2fItc.js.map +1 -0
  11. package/dist/{app-shell-at8Kt4l_.js → app-shell-BE_j8-AT.js} +11 -10
  12. package/dist/app-shell-BE_j8-AT.js.map +1 -0
  13. package/dist/{attachment-BO2R47wn.js → attachment-q69dlt5Y.js} +14 -14
  14. package/dist/attachment-q69dlt5Y.js.map +1 -0
  15. package/dist/auth-M3vGMgDR.js +723 -0
  16. package/dist/auth-M3vGMgDR.js.map +1 -0
  17. package/dist/{avatar-Bpzty83c.js → avatar-djdaaQ_s.js} +15 -13
  18. package/dist/avatar-djdaaQ_s.js.map +1 -0
  19. package/dist/{badge-BZXZT9wd.js → badge-0tATj-tW.js} +9 -9
  20. package/dist/badge-0tATj-tW.js.map +1 -0
  21. package/dist/base/accordion.js +1 -1
  22. package/dist/base/action-menu.js +1 -1
  23. package/dist/base/attachment.js +1 -1
  24. package/dist/base/avatar.js +1 -1
  25. package/dist/base/badge.js +1 -1
  26. package/dist/base/buttons.js +3 -2
  27. package/dist/base/cards.js +3 -3
  28. package/dist/base/carousel.js +33 -35
  29. package/dist/base/carousel.js.map +1 -1
  30. package/dist/base/cascader.js +246 -222
  31. package/dist/base/cascader.js.map +1 -1
  32. package/dist/base/chart.js +1 -1
  33. package/dist/base/choice-inputs.js +2 -2
  34. package/dist/base/code-block.js +1 -1
  35. package/dist/base/combobox.js +1 -1
  36. package/dist/base/command.js +1 -1
  37. package/dist/base/copyable.js +1 -1
  38. package/dist/base/date-pickers.js +3 -3
  39. package/dist/base/display.js +7 -7
  40. package/dist/base/feedback.js +4 -4
  41. package/dist/base/forms-numeric.js +1 -1
  42. package/dist/base/forms.js +2 -2
  43. package/dist/base/inline-edit.js +94 -92
  44. package/dist/base/inline-edit.js.map +1 -1
  45. package/dist/base/item.js +1 -1
  46. package/dist/base/media-gallery.js +1 -1
  47. package/dist/base/navigation.js +6 -6
  48. package/dist/base/popover-menu.js +1 -1
  49. package/dist/base/popover.js +1 -1
  50. package/dist/base/qr-code.js +7 -4
  51. package/dist/base/qr-code.js.map +1 -1
  52. package/dist/base/repeaters.js +53 -53
  53. package/dist/base/repeaters.js.map +1 -1
  54. package/dist/base/sheet.js +1 -1
  55. package/dist/base/sidebar.js +1 -1
  56. package/dist/base/signature-pad.js +84 -82
  57. package/dist/base/signature-pad.js.map +1 -1
  58. package/dist/base/skeleton.js +1 -1
  59. package/dist/base/spinner.js +1 -1
  60. package/dist/base/structure.js +1 -1
  61. package/dist/base/table.js +1 -1
  62. package/dist/base/text-inputs.js +2 -2
  63. package/dist/base/toaster.js +7 -7
  64. package/dist/base/toaster.js.map +1 -1
  65. package/dist/base/tree.js +1 -1
  66. package/dist/base/upload-queue.js +1 -1
  67. package/dist/base/upload.js +3 -3
  68. package/dist/base/value-inputs.js +1 -1
  69. package/dist/blocks/admin.js +228 -219
  70. package/dist/blocks/admin.js.map +1 -1
  71. package/dist/blocks/ai.js +182 -212
  72. package/dist/blocks/ai.js.map +1 -1
  73. package/dist/blocks/analytics/usage-card.js +1 -1
  74. package/dist/blocks/analytics.js +665 -620
  75. package/dist/blocks/analytics.js.map +1 -1
  76. package/dist/blocks/collaboration.js +2 -2
  77. package/dist/blocks/commerce/receipt.js +1 -1
  78. package/dist/blocks/commerce.js +1439 -1553
  79. package/dist/blocks/commerce.js.map +1 -1
  80. package/dist/blocks/data-display.js +1 -1
  81. package/dist/blocks/onboarding.js +6 -6
  82. package/dist/blocks/onboarding.js.map +1 -1
  83. package/dist/blocks/planning.js +88 -97
  84. package/dist/blocks/planning.js.map +1 -1
  85. package/dist/blocks/timelines.js +1 -1
  86. package/dist/{breadcrumbs-DdQ_I5ra.js → breadcrumbs-BG_FfMK4.js} +10 -9
  87. package/dist/breadcrumbs-BG_FfMK4.js.map +1 -0
  88. package/dist/button-BS3KDg00.js +674 -0
  89. package/dist/button-BS3KDg00.js.map +1 -0
  90. package/dist/{button-BS6l5JUw.js → button-R9CCoH7A.js} +3 -3
  91. package/dist/button-R9CCoH7A.js.map +1 -0
  92. package/dist/buttons-DS0ZIwJ_.js +99 -0
  93. package/dist/buttons-DS0ZIwJ_.js.map +1 -0
  94. package/dist/{cards-Cum56XOF.js → cards-QoJ4syG9.js} +12 -12
  95. package/dist/{cards-Cum56XOF.js.map → cards-QoJ4syG9.js.map} +1 -1
  96. package/dist/chart-DwYRKKc-.js +152 -0
  97. package/dist/chart-DwYRKKc-.js.map +1 -0
  98. package/dist/checkbox-B7ygNTYp.js +35 -0
  99. package/dist/checkbox-B7ygNTYp.js.map +1 -0
  100. package/dist/choice-inputs-DrJ17tpL.js +752 -0
  101. package/dist/choice-inputs-DrJ17tpL.js.map +1 -0
  102. package/dist/{code-block-xHKbAJDj.js → code-block-CD0B7M93.js} +27 -27
  103. package/dist/code-block-CD0B7M93.js.map +1 -0
  104. package/dist/{collapsible-DsnktFNv.js → collapsible-oMUGM4tr.js} +3 -3
  105. package/dist/{collapsible-DsnktFNv.js.map → collapsible-oMUGM4tr.js.map} +1 -1
  106. package/dist/{collection-content-C4fthJV_.js → collection-content-Ys-OZOkY.js} +3 -3
  107. package/dist/{collection-content-C4fthJV_.js.map → collection-content-Ys-OZOkY.js.map} +1 -1
  108. package/dist/combobox-6dvVny2q.js +272 -0
  109. package/dist/combobox-6dvVny2q.js.map +1 -0
  110. package/dist/combobox-CB7039j7.js +865 -0
  111. package/dist/combobox-CB7039j7.js.map +1 -0
  112. package/dist/{command-C0xe7u9B.js → command-kPMPjIxJ.js} +35 -31
  113. package/dist/command-kPMPjIxJ.js.map +1 -0
  114. package/dist/{comments-DviPLnwy.js → comments-You0Bzbr.js} +434 -409
  115. package/dist/comments-You0Bzbr.js.map +1 -0
  116. package/dist/components/base/accordion/accordion-variants.d.ts +3 -3
  117. package/dist/components/base/action-menu/action-menu.d.ts +7 -2
  118. package/dist/components/base/avatar/stacked-avatars.d.ts +5 -4
  119. package/dist/components/base/badge/badge.d.ts +1 -1
  120. package/dist/components/base/badge/badge.recipes.d.ts +4 -4
  121. package/dist/components/base/buttons/base-button.d.ts +7 -0
  122. package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
  123. package/dist/components/base/buttons/button.recipes.d.ts +10 -19
  124. package/dist/components/base/buttons/button.variants.d.ts +1 -0
  125. package/dist/components/base/buttons/loader-button.d.ts +3 -1
  126. package/dist/components/base/buttons/text-button.d.ts +2 -2
  127. package/dist/components/base/buttons/use-pending-button-focus.d.ts +3 -0
  128. package/dist/components/base/cards/card.recipes.d.ts +13 -5
  129. package/dist/components/base/cards/partials/card-primitives.d.ts +9 -4
  130. package/dist/components/base/cards/smart-card.types.d.ts +1 -1
  131. package/dist/components/base/carousel/carousel.d.ts +3 -1
  132. package/dist/components/base/chart/chart.d.ts +7 -7
  133. package/dist/components/base/choice-inputs/checkbox.d.ts +6 -7
  134. package/dist/components/base/choice-inputs/choice-types.d.ts +10 -1
  135. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +9 -0
  136. package/dist/components/base/choice-inputs/select-popup.d.ts +9 -1
  137. package/dist/components/base/choice-inputs/switch-card.d.ts +1 -1
  138. package/dist/components/base/date-pickers/date-picker-field.d.ts +23 -0
  139. package/dist/components/base/date-pickers/date-picker.recipes.d.ts +5 -18
  140. package/dist/components/base/date-pickers/datepicker.types.d.ts +16 -3
  141. package/dist/components/base/display/alert-dialog.d.ts +8 -2
  142. package/dist/components/base/display/content-block.d.ts +4 -2
  143. package/dist/components/base/display/date-block.d.ts +1 -1
  144. package/dist/components/base/display/dialog.d.ts +12 -5
  145. package/dist/components/base/display/surface-title.d.ts +6 -1
  146. package/dist/components/base/feedback/alert.d.ts +1 -1
  147. package/dist/components/base/feedback/state-display.d.ts +5 -4
  148. package/dist/components/base/forms/form-field.d.ts +1 -0
  149. package/dist/components/base/forms/form-sizing.d.ts +35 -3
  150. package/dist/components/base/forms/workflow.d.ts +2 -0
  151. package/dist/components/base/forms-numeric/coordinates-input.d.ts +3 -0
  152. package/dist/components/base/forms-numeric/rounding-mode-select.d.ts +4 -1
  153. package/dist/components/base/navigation/dropdown-menu.d.ts +2 -2
  154. package/dist/components/base/navigation/language-switcher.d.ts +4 -1
  155. package/dist/components/base/navigation/overflow-tab-bar.d.ts +7 -0
  156. package/dist/components/base/navigation/page-header/page-header.d.ts +4 -1
  157. package/dist/components/base/navigation/tabs.d.ts +3 -5
  158. package/dist/components/base/popover/popover.recipes.d.ts +3 -3
  159. package/dist/components/base/qr-code/qr-code.d.ts +2 -0
  160. package/dist/components/base/sheet/index.d.ts +29 -1
  161. package/dist/components/base/sheet/sheet.d.ts +14 -5
  162. package/dist/components/base/spinner/spinner.d.ts +3 -2
  163. package/dist/components/base/structure/structure.types.d.ts +1 -1
  164. package/dist/components/base/table/index.d.ts +1 -1
  165. package/dist/components/base/text-inputs/clear-native-field.d.ts +2 -0
  166. package/dist/components/base/text-inputs/input-group.d.ts +2 -2
  167. package/dist/components/base/text-inputs/input-trailing-action.d.ts +3 -0
  168. package/dist/components/base/upload/upload.recipes.d.ts +11 -0
  169. package/dist/components/base/value-inputs/date-time-input.d.ts +4 -2
  170. package/dist/components/base/value-inputs/tags-input.d.ts +2 -0
  171. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +1 -1
  172. package/dist/components/blocks/analytics/format-metric-value.d.ts +11 -1
  173. package/dist/components/blocks/analytics/index.d.ts +1 -1
  174. package/dist/components/blocks/analytics/types.d.ts +1 -1
  175. package/dist/components/blocks/analytics/use-metric-format-options.d.ts +3 -0
  176. package/dist/components/blocks/collaboration/message/message.recipes.d.ts +12 -0
  177. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  178. package/dist/components/blocks/commerce/address-card/types.d.ts +3 -1
  179. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +4 -0
  180. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +2 -2
  181. package/dist/components/blocks/commerce/discount-stack/types.d.ts +1 -1
  182. package/dist/components/blocks/commerce/inventory-section/types.d.ts +4 -1
  183. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +1 -1
  184. package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
  185. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +1 -1
  186. package/dist/components/blocks/commerce/payment-method/types.d.ts +3 -1
  187. package/dist/components/blocks/commerce/seo-listing/seo-listing-card.d.ts +1 -1
  188. package/dist/components/blocks/commerce/seo-listing/types.d.ts +3 -1
  189. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -1
  190. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +4 -1
  191. package/dist/components/blocks/data-display/empty-state/partials/illustrations/document-stack.d.ts +1 -4
  192. package/dist/components/blocks/data-display/empty-state/partials/illustrations/inbox-clean.d.ts +1 -4
  193. package/dist/components/blocks/data-display/empty-state/partials/illustrations/index.d.ts +3 -3
  194. package/dist/components/blocks/data-display/empty-state/partials/illustrations/stacked-cards.d.ts +1 -6
  195. package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +4 -1
  196. package/dist/components/features/combobox/components/error-message.d.ts +1 -1
  197. package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +5 -0
  198. package/dist/components/features/filters/facets/search-facet.d.ts +0 -12
  199. package/dist/components/features/filters/facets/tags-facet.d.ts +1 -1
  200. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +1 -1
  201. package/dist/components/features/media-library/media-library.d.ts +1 -1
  202. package/dist/components/features/media-library/media-library.types.d.ts +9 -1
  203. package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
  204. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  205. package/dist/components/features/overlays/drawer.d.ts +1 -1
  206. package/dist/components/features/overlays/hooks/use-overlay-actions.d.ts +2 -2
  207. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +11 -4
  208. package/dist/components/features/overlays/hooks/use-pending-overlay-focus.d.ts +2 -0
  209. package/dist/components/features/overlays/overlay-tone-icon.d.ts +37 -0
  210. package/dist/components/features/overlays/overlays.types.d.ts +46 -22
  211. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  212. package/dist/components/features/products/partials/index.d.ts +1 -1
  213. package/dist/components/features/products/partials/product-metric-tile.d.ts +6 -0
  214. package/dist/components/features/products/partials/product-tone.d.ts +11 -1
  215. package/dist/components/features/products/products.types.d.ts +2 -1
  216. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +2 -1
  217. package/dist/components/features/table/data-table.d.ts +1 -1
  218. package/dist/components/features/table/partials/cell-renderers.d.ts +1 -1
  219. package/dist/components/features/table/table.types.d.ts +1 -1
  220. package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +3 -1
  221. package/dist/components/layout/auth/auth.types.d.ts +1 -0
  222. package/dist/components/layout/page/index.d.ts +1 -1
  223. package/dist/components/layout/page/page.d.ts +0 -1
  224. package/dist/components/layout/page/page.types.d.ts +62 -6
  225. package/dist/components/layout/page/partials/page-header-commands.d.ts +13 -0
  226. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  227. package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -1
  228. package/dist/components/layout/sidebar/sidebar.types.d.ts +4 -0
  229. package/dist/components/layout/workspace/workspace.types.d.ts +3 -0
  230. package/dist/components/primitives/date.d.ts +16 -3
  231. package/dist/components/primitives/dimensions.d.ts +6 -0
  232. package/dist/components/primitives/duration.d.ts +6 -0
  233. package/dist/components/primitives/file-size.d.ts +6 -0
  234. package/dist/components/primitives/index.d.ts +1 -1
  235. package/dist/components/primitives/initials.d.ts +11 -2
  236. package/dist/components/primitives/link.d.ts +7 -0
  237. package/dist/components/primitives/money.d.ts +29 -7
  238. package/dist/components/primitives/number.d.ts +17 -0
  239. package/dist/components/primitives/value-typography.d.ts +54 -0
  240. package/dist/components/primitives/value.d.ts +31 -6
  241. package/dist/components/typography/heading.d.ts +13 -2
  242. package/dist/components/typography/index.d.ts +1 -1
  243. package/dist/components/typography/label.d.ts +3 -0
  244. package/dist/components/typography/running-text.d.ts +12 -0
  245. package/dist/components/typography/text-link.d.ts +23 -1
  246. package/dist/components/typography/text.d.ts +12 -0
  247. package/dist/components/typography/text.styles.d.ts +37 -5
  248. package/dist/components/ui/button.d.ts +1 -1
  249. package/dist/components/ui/checkbox.d.ts +5 -0
  250. package/dist/components/ui/overlay.recipes.d.ts +15 -2
  251. package/dist/components/ui/popover.d.ts +1 -1
  252. package/dist/components/ui/select.d.ts +3 -1
  253. package/dist/components/ui/sidebar.d.ts +1 -1
  254. package/dist/components/ui/switch.d.ts +5 -0
  255. package/dist/components/ui/table.d.ts +2 -1
  256. package/dist/container.recipes-D9t8MHR3.js +27 -0
  257. package/dist/container.recipes-D9t8MHR3.js.map +1 -0
  258. package/dist/{containers-6s-ucRQQ.js → containers-D_L4mTVb.js} +34 -57
  259. package/dist/containers-D_L4mTVb.js.map +1 -0
  260. package/dist/control-group-recipes-DBXmfh2E.js +21 -0
  261. package/dist/control-group-recipes-DBXmfh2E.js.map +1 -0
  262. package/dist/{copyable-B7SBXJMr.js → copyable-DDjTeW_j.js} +6 -6
  263. package/dist/{copyable-B7SBXJMr.js.map → copyable-DDjTeW_j.js.map} +1 -1
  264. package/dist/data-display-3xWQUnMA.js +1335 -0
  265. package/dist/data-display-3xWQUnMA.js.map +1 -0
  266. package/dist/date-picker-DrDFj8Lo.js +1527 -0
  267. package/dist/date-picker-DrDFj8Lo.js.map +1 -0
  268. package/dist/date-pickers-CnFCb0n2.js +174 -0
  269. package/dist/date-pickers-CnFCb0n2.js.map +1 -0
  270. package/dist/date-uf3z37Nm.js +144 -0
  271. package/dist/date-uf3z37Nm.js.map +1 -0
  272. package/dist/{display-CFM5myut.js → display-DrdvPwF0.js} +25 -25
  273. package/dist/display-DrdvPwF0.js.map +1 -0
  274. package/dist/{dropdown-menu-BlnyHr-9.js → dropdown-menu-CURh59jb.js} +22 -15
  275. package/dist/dropdown-menu-CURh59jb.js.map +1 -0
  276. package/dist/features/activities.js +177 -163
  277. package/dist/features/activities.js.map +1 -1
  278. package/dist/features/ai-chat.js +187 -183
  279. package/dist/features/ai-chat.js.map +1 -1
  280. package/dist/features/async-preview.js +9 -9
  281. package/dist/features/async-preview.js.map +1 -1
  282. package/dist/features/combobox.js +1 -1
  283. package/dist/features/comments.js +1 -1
  284. package/dist/features/data-view.js +25 -23
  285. package/dist/features/data-view.js.map +1 -1
  286. package/dist/features/email-composer/engine.js +1 -1
  287. package/dist/features/email-composer.js +353 -355
  288. package/dist/features/email-composer.js.map +1 -1
  289. package/dist/features/event-calendar.js +346 -354
  290. package/dist/features/event-calendar.js.map +1 -1
  291. package/dist/features/filters.js +1 -1
  292. package/dist/features/global-search.js +225 -227
  293. package/dist/features/global-search.js.map +1 -1
  294. package/dist/features/kanban.js +29 -29
  295. package/dist/features/kanban.js.map +1 -1
  296. package/dist/features/map.js +59 -58
  297. package/dist/features/map.js.map +1 -1
  298. package/dist/features/media-library.js +898 -900
  299. package/dist/features/media-library.js.map +1 -1
  300. package/dist/features/mentions.js +1 -1
  301. package/dist/features/overlays.js +1 -1
  302. package/dist/features/products.js +1412 -1444
  303. package/dist/features/products.js.map +1 -1
  304. package/dist/features/questionnaire.js +51 -49
  305. package/dist/features/questionnaire.js.map +1 -1
  306. package/dist/features/resource-assignment.js +103 -97
  307. package/dist/features/resource-assignment.js.map +1 -1
  308. package/dist/features/resource.js +13 -13
  309. package/dist/features/resource.js.map +1 -1
  310. package/dist/features/rich-text-editor.js +2 -2
  311. package/dist/features/schema-form.js +187 -183
  312. package/dist/features/schema-form.js.map +1 -1
  313. package/dist/features/suggestions.js +3 -3
  314. package/dist/features/sync.js +7 -7
  315. package/dist/features/sync.js.map +1 -1
  316. package/dist/features/table.js +1 -1
  317. package/dist/features/theme-tweaker.js +508 -503
  318. package/dist/features/theme-tweaker.js.map +1 -1
  319. package/dist/{feedback-DWUkgEjR.js → feedback-C7nR0UtT.js} +30 -31
  320. package/dist/feedback-C7nR0UtT.js.map +1 -0
  321. package/dist/field-affordance-recipes-CkOCdE2y.js +46 -0
  322. package/dist/field-affordance-recipes-CkOCdE2y.js.map +1 -0
  323. package/dist/{field-state-recipes-CBTRt9Bt.js → field-state-recipes-C-MFBX_8.js} +5 -5
  324. package/dist/field-state-recipes-C-MFBX_8.js.map +1 -0
  325. package/dist/{filters-BhsUtsxW.js → filters-Da-gNPsE.js} +760 -765
  326. package/dist/filters-Da-gNPsE.js.map +1 -0
  327. package/dist/{form-field-Bn7ZH1rA.js → form-field-VZRULhUK.js} +20 -12
  328. package/dist/form-field-VZRULhUK.js.map +1 -0
  329. package/dist/form-sizing-uWP4lzVh.js +126 -0
  330. package/dist/form-sizing-uWP4lzVh.js.map +1 -0
  331. package/dist/{forms-B7pzS25o.js → forms-DDeEnXSY.js} +38 -38
  332. package/dist/forms-DDeEnXSY.js.map +1 -0
  333. package/dist/forms-numeric-D3CO60IF.js +905 -0
  334. package/dist/forms-numeric-D3CO60IF.js.map +1 -0
  335. package/dist/{header-C59QZyxV.js → header-2ycNqGOR.js} +42 -37
  336. package/dist/header-2ycNqGOR.js.map +1 -0
  337. package/dist/{hooks-CM1Vp9Pe.js → hooks-DQ5SPwZw.js} +2 -2
  338. package/dist/{hooks-CM1Vp9Pe.js.map → hooks-DQ5SPwZw.js.map} +1 -1
  339. package/dist/{http-CLTVJc5I.js → http-CdEIHyQf.js} +2 -2
  340. package/dist/http-CdEIHyQf.js.map +1 -0
  341. package/dist/{icon-badge-Dv0RYQwj.js → icon-badge-DKlaKXoo.js} +4 -4
  342. package/dist/{icon-badge-Dv0RYQwj.js.map → icon-badge-DKlaKXoo.js.map} +1 -1
  343. package/dist/index.js +2 -2
  344. package/dist/input-BoLm9Hks.js +20 -0
  345. package/dist/input-BoLm9Hks.js.map +1 -0
  346. package/dist/input-DhQdBnV3.js +255 -0
  347. package/dist/input-DhQdBnV3.js.map +1 -0
  348. package/dist/item-xzh8Df65.js +264 -0
  349. package/dist/item-xzh8Df65.js.map +1 -0
  350. package/dist/layout/app-shell.js +1 -1
  351. package/dist/layout/auth.js +1 -1
  352. package/dist/layout/containers.js +1 -1
  353. package/dist/layout/header.js +1 -1
  354. package/dist/layout/hooks.js +1 -1
  355. package/dist/layout/navigation.js +1 -1
  356. package/dist/layout/page.js +1 -1
  357. package/dist/layout/settings.js +1 -1
  358. package/dist/layout/sidebar.js +2 -2
  359. package/dist/layout/workspace.js +1 -1
  360. package/dist/layout.js +10 -10
  361. package/dist/lib/affordance-geometry.generated.d.ts +46 -10
  362. package/dist/lib/control-group-recipes.d.ts +22 -0
  363. package/dist/lib/field-affordance-recipes.d.ts +70 -2
  364. package/dist/lib/field-state-recipes.d.ts +6 -4
  365. package/dist/lib/format.d.ts +9 -0
  366. package/dist/lib/money-format.d.ts +30 -0
  367. package/dist/lib/navigation-row-recipes.d.ts +3 -2
  368. package/dist/lib/overlay-anatomy-recipes.d.ts +2 -2
  369. package/dist/lib/surface-recipes.d.ts +13 -8
  370. package/dist/lib/token-merge.generated.d.ts +144 -2
  371. package/dist/lib/track-recipes.d.ts +1 -1
  372. package/dist/lib/ui-provider/provider.d.ts +7 -2
  373. package/dist/lib/ui-provider/store.d.ts +6 -2
  374. package/dist/lib/ui-provider/types.d.ts +9 -4
  375. package/dist/lib/use-prefers-reduced-motion.d.ts +2 -0
  376. package/dist/lib/utils.js +1 -1
  377. package/dist/media-gallery-DQUQ0m3O.js +201 -0
  378. package/dist/media-gallery-DQUQ0m3O.js.map +1 -0
  379. package/dist/{mentions-B8Ko-fhS.js → mentions-DwnO1hh4.js} +40 -39
  380. package/dist/{mentions-B8Ko-fhS.js.map → mentions-DwnO1hh4.js.map} +1 -1
  381. package/dist/message-YfFmbXNP.js +127 -0
  382. package/dist/message-YfFmbXNP.js.map +1 -0
  383. package/dist/{navigation-BUIn2Qxx.js → navigation-Cbp5V8gG.js} +27 -28
  384. package/dist/navigation-Cbp5V8gG.js.map +1 -0
  385. package/dist/navigation-Cs1npsPm.js +300 -0
  386. package/dist/navigation-Cs1npsPm.js.map +1 -0
  387. package/dist/{navigation-row-recipes-GVh11KiT.js → navigation-row-recipes-DlU-4QYO.js} +3 -3
  388. package/dist/navigation-row-recipes-DlU-4QYO.js.map +1 -0
  389. package/dist/number-CKRBYmZK.js +352 -0
  390. package/dist/number-CKRBYmZK.js.map +1 -0
  391. package/dist/overlay.recipes-CNO2S9V6.js +34 -0
  392. package/dist/overlay.recipes-CNO2S9V6.js.map +1 -0
  393. package/dist/overlays-DhZO7N-I.js +994 -0
  394. package/dist/overlays-DhZO7N-I.js.map +1 -0
  395. package/dist/page-C6R_8jFt.js +325 -0
  396. package/dist/page-C6R_8jFt.js.map +1 -0
  397. package/dist/{page-header-DQRa0jug.js → page-header-hUTzcRZX.js} +12 -12
  398. package/dist/page-header-hUTzcRZX.js.map +1 -0
  399. package/dist/{pagination-C29vvt3I.js → pagination-Cm0jqa3I.js} +21 -21
  400. package/dist/pagination-Cm0jqa3I.js.map +1 -0
  401. package/dist/{popover-CoLDEg19.js → popover-Dcv_9jxr.js} +23 -22
  402. package/dist/popover-Dcv_9jxr.js.map +1 -0
  403. package/dist/{popover-menu-GLIQTJTx.js → popover-menu-DnRFKnHP.js} +6 -6
  404. package/dist/{popover-menu-GLIQTJTx.js.map → popover-menu-DnRFKnHP.js.map} +1 -1
  405. package/dist/{popover.recipes-zgBhMlUu.js → popover.recipes-wmbvL8Ah.js} +5 -5
  406. package/dist/popover.recipes-wmbvL8Ah.js.map +1 -0
  407. package/dist/primitives-BHrwQXFC.js +379 -0
  408. package/dist/primitives-BHrwQXFC.js.map +1 -0
  409. package/dist/primitives.js +5 -5
  410. package/dist/{progress-BOe8l_FZ.js → progress-Br9WTFya.js} +12 -11
  411. package/dist/progress-Br9WTFya.js.map +1 -0
  412. package/dist/{receipt-BM8xsGFy.js → receipt-CV89q1fs.js} +8 -8
  413. package/dist/{receipt-BM8xsGFy.js.map → receipt-CV89q1fs.js.map} +1 -1
  414. package/dist/rich-text-editor-CF8QYt5p.js +574 -0
  415. package/dist/rich-text-editor-CF8QYt5p.js.map +1 -0
  416. package/dist/{rich-text-editor.recipes-DxvOE0Lp.js → rich-text-editor.recipes-CnrbmTS1.js} +35 -26
  417. package/dist/rich-text-editor.recipes-CnrbmTS1.js.map +1 -0
  418. package/dist/{rich-text-B7sBAdDG.js → rich-text-j-FGAeZW.js} +4 -4
  419. package/dist/{rich-text-B7sBAdDG.js.map → rich-text-j-FGAeZW.js.map} +1 -1
  420. package/dist/{scroll-area-BheMQ270.js → scroll-area-DRdr16Pt.js} +3 -3
  421. package/dist/scroll-area-DRdr16Pt.js.map +1 -0
  422. package/dist/{separator-DO0EbCEm.js → separator-BMEvwnSX.js} +2 -2
  423. package/dist/{separator-DO0EbCEm.js.map → separator-BMEvwnSX.js.map} +1 -1
  424. package/dist/{separator-Gk_WXH-l.js → separator-Do5GWDYi.js} +4 -4
  425. package/dist/separator-Do5GWDYi.js.map +1 -0
  426. package/dist/services/actions/action-adapters.d.ts +4 -0
  427. package/dist/services/actions.js +8 -3
  428. package/dist/services/actions.js.map +1 -1
  429. package/dist/{settings-BnCyyPOJ.js → settings-DHk0L2MF.js} +20 -19
  430. package/dist/settings-DHk0L2MF.js.map +1 -0
  431. package/dist/sheet-DRFNY1_D.js +207 -0
  432. package/dist/sheet-DRFNY1_D.js.map +1 -0
  433. package/dist/sidebar-Cb8WzOvE.js +511 -0
  434. package/dist/sidebar-Cb8WzOvE.js.map +1 -0
  435. package/dist/{sidebar-DPR7fmqN.js → sidebar-Crc9M9JV.js} +220 -201
  436. package/dist/sidebar-Crc9M9JV.js.map +1 -0
  437. package/dist/{skeleton-CmT1ppqb.js → skeleton-DVMXr15h.js} +5 -5
  438. package/dist/{skeleton-CmT1ppqb.js.map → skeleton-DVMXr15h.js.map} +1 -1
  439. package/dist/smart-card-Bek-TwUp.js +599 -0
  440. package/dist/smart-card-Bek-TwUp.js.map +1 -0
  441. package/dist/{spinner-BY9HbUEh.js → spinner-CmTAbEp0.js} +8 -6
  442. package/dist/spinner-CmTAbEp0.js.map +1 -0
  443. package/dist/{structure-MvKVq-oL.js → structure-hzCW-XsV.js} +3 -3
  444. package/dist/{structure-MvKVq-oL.js.map → structure-hzCW-XsV.js.map} +1 -1
  445. package/dist/{structure.recipes-Bqhf9oIh.js → structure.recipes-EPz60cU8.js} +37 -19
  446. package/dist/structure.recipes-EPz60cU8.js.map +1 -0
  447. package/dist/style.css +1 -1
  448. package/dist/surface-recipes-DOdoBXGm.js +28 -0
  449. package/dist/surface-recipes-DOdoBXGm.js.map +1 -0
  450. package/dist/table-D6zKeYQX.js +162 -0
  451. package/dist/table-D6zKeYQX.js.map +1 -0
  452. package/dist/table-Dn4XSrSB.js +1444 -0
  453. package/dist/table-Dn4XSrSB.js.map +1 -0
  454. package/dist/tabs-Dk8E_knt.js +189 -0
  455. package/dist/tabs-Dk8E_knt.js.map +1 -0
  456. package/dist/text-inputs-BFpku0Qd.js +331 -0
  457. package/dist/text-inputs-BFpku0Qd.js.map +1 -0
  458. package/dist/{text.styles-BwB7vAF2.js → text.styles-g4He6UIW.js} +26 -15
  459. package/dist/text.styles-g4He6UIW.js.map +1 -0
  460. package/dist/theme.css +90 -124
  461. package/dist/themes/green.css +24 -0
  462. package/dist/{timelines-B9ICkQcV.js → timelines-CxuAFIc2.js} +97 -104
  463. package/dist/timelines-CxuAFIc2.js.map +1 -0
  464. package/dist/track-recipes-CDcKmndW.js +10 -0
  465. package/dist/track-recipes-CDcKmndW.js.map +1 -0
  466. package/dist/{tree-BdWSaoFT.js → tree-BotPlyiD.js} +13 -13
  467. package/dist/{tree-BdWSaoFT.js.map → tree-BotPlyiD.js.map} +1 -1
  468. package/dist/typography/rich-text.js +1 -1
  469. package/dist/typography-CAr3dQhX.js +116 -0
  470. package/dist/typography-CAr3dQhX.js.map +1 -0
  471. package/dist/typography.js +2 -2
  472. package/dist/{ui-provider-CftIB6TY.js → ui-provider-D2_TeLqw.js} +22 -22
  473. package/dist/ui-provider-D2_TeLqw.js.map +1 -0
  474. package/dist/ui-provider.js +1 -1
  475. package/dist/{upload-D8Za5x_c.js → upload-B0WHW7ak.js} +278 -274
  476. package/dist/upload-B0WHW7ak.js.map +1 -0
  477. package/dist/{upload-queue-hIIYBLS7.js → upload-queue-BHZ_wBfd.js} +72 -75
  478. package/dist/upload-queue-BHZ_wBfd.js.map +1 -0
  479. package/dist/{usage-card-DnmnJ58D.js → usage-card-U0YBLTNT.js} +31 -33
  480. package/dist/usage-card-U0YBLTNT.js.map +1 -0
  481. package/dist/utils-Cospvlj1.js +4445 -0
  482. package/dist/utils-Cospvlj1.js.map +1 -0
  483. package/dist/value-inputs-CjfzGMsN.js +854 -0
  484. package/dist/value-inputs-CjfzGMsN.js.map +1 -0
  485. package/dist/value-typography-Deb3yQZg.js +116 -0
  486. package/dist/value-typography-Deb3yQZg.js.map +1 -0
  487. package/dist/{workspace-C1PZmk8L.js → workspace-YoFjXi6i.js} +97 -105
  488. package/dist/workspace-YoFjXi6i.js.map +1 -0
  489. package/docs/consumer-skill/SKILL.md +123 -119
  490. package/docs/consumer-skill/examples/analytics.tsx +34 -0
  491. package/docs/consumer-skill/examples/app-layout.tsx +42 -14
  492. package/docs/consumer-skill/examples/detail.tsx +20 -5
  493. package/docs/consumer-skill/examples/edit.tsx +1 -1
  494. package/docs/consumer-skill/examples/layout-blocks.tsx +20 -0
  495. package/docs/consumer-skill/examples/manifest.json +37 -3
  496. package/docs/consumer-skill/examples/scoped-directory.tsx +2 -2
  497. package/docs/consumer-skill/examples/website.tsx +56 -0
  498. package/docs/consumer-skill/references/analytics.md +70 -0
  499. package/docs/consumer-skill/references/composition.md +195 -9
  500. package/docs/consumer-skill/references/design-contract.md +33 -7
  501. package/docs/consumer-skill/references/discovery.md +80 -5
  502. package/docs/consumer-skill/references/installation.md +22 -0
  503. package/docs/consumer-skill/references/integration.md +46 -1
  504. package/docs/consumer-skill/references/public-api.json +2083 -237
  505. package/docs/consumer-skill/references/review.md +74 -6
  506. package/docs/consumer-skill/references/theming.md +59 -8
  507. package/docs/consumer-skill/references/tokens.json +180 -9
  508. package/docs/consumer-skill/references/workflows.md +34 -0
  509. package/docs/consumer-skill/scripts/check-composition.mjs +1 -1
  510. package/docs/consumer-skill/scripts/composition-policy.mjs +271 -18
  511. package/docs/consumer-skill/scripts/discovery.mjs +69 -9
  512. package/docs/consumer-skill/scripts/pin-button-defaults.mjs +95 -0
  513. package/docs/consumer-skill/scripts/surface-policy.mjs +44 -0
  514. package/package.json +11 -6
  515. package/dist/accordion-B-5Focs8.js.map +0 -1
  516. package/dist/action-menu-Cx3SdfbN.js +0 -265
  517. package/dist/action-menu-Cx3SdfbN.js.map +0 -1
  518. package/dist/affordance-geometry.generated-D8Jcfb0G.js +0 -32
  519. package/dist/affordance-geometry.generated-D8Jcfb0G.js.map +0 -1
  520. package/dist/ai-artifact-B5tPpXnS.js.map +0 -1
  521. package/dist/app-shell-at8Kt4l_.js.map +0 -1
  522. package/dist/attachment-BO2R47wn.js.map +0 -1
  523. package/dist/auth-OFwWSAap.js +0 -704
  524. package/dist/auth-OFwWSAap.js.map +0 -1
  525. package/dist/avatar-Bpzty83c.js.map +0 -1
  526. package/dist/badge-BZXZT9wd.js.map +0 -1
  527. package/dist/breadcrumbs-DdQ_I5ra.js.map +0 -1
  528. package/dist/button-BS6l5JUw.js.map +0 -1
  529. package/dist/buttons-Co6GavvM.js +0 -674
  530. package/dist/buttons-Co6GavvM.js.map +0 -1
  531. package/dist/chart-DVfcwQu6.js +0 -149
  532. package/dist/chart-DVfcwQu6.js.map +0 -1
  533. package/dist/checkbox-BavDRjF7.js +0 -34
  534. package/dist/checkbox-BavDRjF7.js.map +0 -1
  535. package/dist/choice-inputs-CC7XqPQO.js +0 -619
  536. package/dist/choice-inputs-CC7XqPQO.js.map +0 -1
  537. package/dist/code-block-xHKbAJDj.js.map +0 -1
  538. package/dist/combobox-DEbdr-3u.js +0 -273
  539. package/dist/combobox-DEbdr-3u.js.map +0 -1
  540. package/dist/combobox-xv3yJbzl.js +0 -850
  541. package/dist/combobox-xv3yJbzl.js.map +0 -1
  542. package/dist/command-C0xe7u9B.js.map +0 -1
  543. package/dist/comments-DviPLnwy.js.map +0 -1
  544. package/dist/containers-6s-ucRQQ.js.map +0 -1
  545. package/dist/data-display-cWIRdeaf.js +0 -1129
  546. package/dist/data-display-cWIRdeaf.js.map +0 -1
  547. package/dist/date-BFNMnrS5.js +0 -140
  548. package/dist/date-BFNMnrS5.js.map +0 -1
  549. package/dist/date-picker-CA6ogMQB.js +0 -1521
  550. package/dist/date-picker-CA6ogMQB.js.map +0 -1
  551. package/dist/date-pickers-BPIKLdsD.js +0 -224
  552. package/dist/date-pickers-BPIKLdsD.js.map +0 -1
  553. package/dist/display-CFM5myut.js.map +0 -1
  554. package/dist/dropdown-menu-BlnyHr-9.js.map +0 -1
  555. package/dist/feedback-DWUkgEjR.js.map +0 -1
  556. package/dist/field-affordance-recipes-IjzPrCTw.js +0 -17
  557. package/dist/field-affordance-recipes-IjzPrCTw.js.map +0 -1
  558. package/dist/field-state-recipes-CBTRt9Bt.js.map +0 -1
  559. package/dist/filters-BhsUtsxW.js.map +0 -1
  560. package/dist/form-field-Bn7ZH1rA.js.map +0 -1
  561. package/dist/form-sizing-BWs70_a2.js +0 -100
  562. package/dist/form-sizing-BWs70_a2.js.map +0 -1
  563. package/dist/format-iamDSqs2.js +0 -110
  564. package/dist/format-iamDSqs2.js.map +0 -1
  565. package/dist/forms-B7pzS25o.js.map +0 -1
  566. package/dist/forms-numeric-BUBxELBv.js +0 -867
  567. package/dist/forms-numeric-BUBxELBv.js.map +0 -1
  568. package/dist/header-C59QZyxV.js.map +0 -1
  569. package/dist/http-CLTVJc5I.js.map +0 -1
  570. package/dist/input-WwYQZJzG.js +0 -202
  571. package/dist/input-WwYQZJzG.js.map +0 -1
  572. package/dist/input-ci9fIgFH.js +0 -20
  573. package/dist/input-ci9fIgFH.js.map +0 -1
  574. package/dist/item-pJ0GsOiJ.js +0 -257
  575. package/dist/item-pJ0GsOiJ.js.map +0 -1
  576. package/dist/media-gallery-DhDRgnVZ.js +0 -200
  577. package/dist/media-gallery-DhDRgnVZ.js.map +0 -1
  578. package/dist/message-COsdEvXT.js +0 -108
  579. package/dist/message-COsdEvXT.js.map +0 -1
  580. package/dist/navigation-BUIn2Qxx.js.map +0 -1
  581. package/dist/navigation-DBEu4POU.js +0 -267
  582. package/dist/navigation-DBEu4POU.js.map +0 -1
  583. package/dist/navigation-row-recipes-GVh11KiT.js.map +0 -1
  584. package/dist/number-BNT_BIzJ.js +0 -269
  585. package/dist/number-BNT_BIzJ.js.map +0 -1
  586. package/dist/overlay.recipes-BxW5FIfK.js +0 -6
  587. package/dist/overlay.recipes-BxW5FIfK.js.map +0 -1
  588. package/dist/overlays-B11wZka6.js +0 -982
  589. package/dist/overlays-B11wZka6.js.map +0 -1
  590. package/dist/page-BV6ioQg3.js +0 -202
  591. package/dist/page-BV6ioQg3.js.map +0 -1
  592. package/dist/page-header-DQRa0jug.js.map +0 -1
  593. package/dist/pagination-C29vvt3I.js.map +0 -1
  594. package/dist/popover-CoLDEg19.js.map +0 -1
  595. package/dist/popover.recipes-zgBhMlUu.js.map +0 -1
  596. package/dist/primitives-DKPOGVpj.js +0 -330
  597. package/dist/primitives-DKPOGVpj.js.map +0 -1
  598. package/dist/progress-BOe8l_FZ.js.map +0 -1
  599. package/dist/rich-text-editor-CoVrTiSv.js +0 -575
  600. package/dist/rich-text-editor-CoVrTiSv.js.map +0 -1
  601. package/dist/rich-text-editor.recipes-DxvOE0Lp.js.map +0 -1
  602. package/dist/scroll-area-BheMQ270.js.map +0 -1
  603. package/dist/select-B2mb-qN2.js +0 -108
  604. package/dist/select-B2mb-qN2.js.map +0 -1
  605. package/dist/separator-Gk_WXH-l.js.map +0 -1
  606. package/dist/settings-BnCyyPOJ.js.map +0 -1
  607. package/dist/sheet-B-q914Ad.js +0 -205
  608. package/dist/sheet-B-q914Ad.js.map +0 -1
  609. package/dist/sidebar-C_2p3Tfj.js +0 -501
  610. package/dist/sidebar-C_2p3Tfj.js.map +0 -1
  611. package/dist/sidebar-DPR7fmqN.js.map +0 -1
  612. package/dist/smart-card-CYLn46e6.js +0 -578
  613. package/dist/smart-card-CYLn46e6.js.map +0 -1
  614. package/dist/spinner-BY9HbUEh.js.map +0 -1
  615. package/dist/structure.recipes-Bqhf9oIh.js.map +0 -1
  616. package/dist/surface-recipes-CQfRr-VL.js +0 -27
  617. package/dist/surface-recipes-CQfRr-VL.js.map +0 -1
  618. package/dist/table-BS39xnlq.js +0 -1424
  619. package/dist/table-BS39xnlq.js.map +0 -1
  620. package/dist/table-DnlAJ-xR.js +0 -146
  621. package/dist/table-DnlAJ-xR.js.map +0 -1
  622. package/dist/tabs-B5cNMWiP.js +0 -187
  623. package/dist/tabs-B5cNMWiP.js.map +0 -1
  624. package/dist/text-inputs-Dh9XGyiS.js +0 -331
  625. package/dist/text-inputs-Dh9XGyiS.js.map +0 -1
  626. package/dist/text.styles-BwB7vAF2.js.map +0 -1
  627. package/dist/timelines-B9ICkQcV.js.map +0 -1
  628. package/dist/track-recipes-LLPNVwFg.js +0 -10
  629. package/dist/track-recipes-LLPNVwFg.js.map +0 -1
  630. package/dist/typography-Cv8MT-82.js +0 -96
  631. package/dist/typography-Cv8MT-82.js.map +0 -1
  632. package/dist/ui-provider-CftIB6TY.js.map +0 -1
  633. package/dist/upload-D8Za5x_c.js.map +0 -1
  634. package/dist/upload-queue-hIIYBLS7.js.map +0 -1
  635. package/dist/usage-card-DnmnJ58D.js.map +0 -1
  636. package/dist/utils-C2EKeIw3.js +0 -72
  637. package/dist/utils-C2EKeIw3.js.map +0 -1
  638. package/dist/value-inputs-DX2dbxjj.js +0 -824
  639. package/dist/value-inputs-DX2dbxjj.js.map +0 -1
  640. package/dist/workspace-C1PZmk8L.js.map +0 -1
@@ -25,15 +25,15 @@ export type ChartConfig = Record<string, {
25
25
  })>;
26
26
  export type ChartPayloadItem = {
27
27
  dataKey?: string | number;
28
- /** Form field name, forwarded for native submits. */
28
+ /** Series name. */
29
29
  name?: string | number;
30
- /** Current value. Controlled. */
30
+ /** The series value at the hovered point. */
31
31
  value?: string | number | Array<string | number>;
32
32
  type?: string;
33
33
  /** Overrides the colour of the tooltip indicator. */
34
34
  color?: string;
35
35
  fill?: string;
36
- /** Data points under the cursor. Supplied by Recharts. */
36
+ /** The raw data row for the hovered point. Supplied by Recharts. */
37
37
  payload?: Record<string, unknown>;
38
38
  };
39
39
  export interface ChartInitialDimension {
@@ -66,11 +66,11 @@ export interface ChartTooltipContentProps extends React.ComponentPropsWithoutRef
66
66
  labelFormatter?: (label: React.ReactNode, payload: ChartPayloadItem[]) => React.ReactNode;
67
67
  /** Formats each tooltip value. */
68
68
  formatter?: (
69
- /** Current value. Controlled. */
69
+ /** The series value at the hovered point. */
70
70
  value: NonNullable<ChartPayloadItem['value']>,
71
- /** Form field name, forwarded for native submits. */
71
+ /** Series name. */
72
72
  name: NonNullable<ChartPayloadItem['name']>, item: ChartPayloadItem, index: number,
73
- /** Data points under the cursor. Supplied by Recharts. */
73
+ /** The raw data row for the hovered point. Supplied by Recharts. */
74
74
  payload?: Record<string, unknown>) => React.ReactNode;
75
75
  /** Overrides the colour of the tooltip indicator. */
76
76
  color?: string;
@@ -89,7 +89,7 @@ declare function ChartTooltipContent({ active, payload, className, indicator, hi
89
89
  declare const ChartLegend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
90
90
  export interface ChartLegendContentProps extends React.ComponentPropsWithoutRef<'div'> {
91
91
  hideIcon?: boolean;
92
- /** Data points under the cursor. Supplied by Recharts. */
92
+ /** Legend entries, one per series. Supplied by Recharts. */
93
93
  payload?: ChartPayloadItem[];
94
94
  verticalAlign?: 'top' | 'bottom' | 'middle';
95
95
  /** Key in the payload holding each series name. */
@@ -2,15 +2,14 @@ import { type CheckboxProps } from '../../ui/checkbox';
2
2
  /**
3
3
  * Checkbox — base wrapper around the shadcn/Base UI checkbox primitive.
4
4
  *
5
- * Base UI renders the root as an inline span; the wrapper makes it an
6
- * inline-flex control so token size utilities render as a square box instead
7
- * of collapsing to the two border lines.
5
+ * The primitive renders an inline-flex square, so token size utilities render
6
+ * as a box instead of collapsing to the two border lines. Its boundary is the
7
+ * shared `--input` control border, which keeps 3:1 contrast on every surface in
8
+ * both themes, like the other field and choice controls.
8
9
  *
9
10
  * The root ref accepts the actual HTMLElement, including custom button renders.
10
- * The muted foreground border keeps the unchecked boundary visible in both themes.
11
- *
12
- * The wrapper retains its compact corner recipe while deriving it from the
13
- * shared theme radius, so scoped consumer radius overrides still apply.
11
+ * The compact corner recipe derives from the shared theme radius, so scoped
12
+ * consumer radius overrides still apply. The indeterminate state draws a dash.
14
13
  */
15
14
  declare const Checkbox: import("react").ForwardRefExoticComponent<Omit<CheckboxProps, "ref"> & import("react").RefAttributes<HTMLElement>>;
16
15
  export { Checkbox };
@@ -52,6 +52,15 @@ export declare const choicePillSizeTokens: Record<ChoiceSize, string>;
52
52
  * Row padding tokens for ListRadio and any future inline list variant.
53
53
  */
54
54
  export declare const choiceListSizeTokens: Record<ChoiceSize, string>;
55
+ /**
56
+ * Shared option-card states for CardRadioGroup and CardCheckboxGroup: the resting
57
+ * `border-border` divider (declared beside `border` by each owner) steps up to the
58
+ * 3:1 control boundary on hover, and keyboard focus draws the shared full-strength
59
+ * ring. Selection and validation are added by each owner.
60
+ */
61
+ export declare const choiceCardStateClasses = "hover:border-input focus-visible:ring-2 focus-visible:ring-ring";
62
+ /** Optional option glyph: one neutral tile in every state, so colour stays for meaning. */
63
+ export declare const choiceCardIconClasses = "inline-flex shrink-0 items-center justify-center rounded-inner bg-muted text-muted-foreground";
55
64
  /** Shared selected-card marker and content clearance; derives from action/icon geometry. */
56
65
  export declare const choiceCardMarkerClasses = "absolute top-space-sm end-space-sm size-action-sm text-primary-foreground fill-primary stroke-primary-foreground";
57
- export declare const choiceCardMarkerClearance = "[&>*:not(svg)]:max-w-[calc(100%_-_var(--spacing-action-sm))]";
66
+ export declare const choiceCardMarkerClearance = "[&>*:not(svg)]:max-w-[calc(100%_-_var(--height-action)*8/9*var(--density-scale))]";
@@ -6,6 +6,11 @@
6
6
  * Custom-styled buttons rather than the shadcn ToggleGroup primitive: the
7
7
  * primitive strips inner rounding when spacing=0, which doesn't match this
8
8
  * design system's pill connector style.
9
+ *
10
+ * Keyboard follows the native radio-group pattern: the group is one Tab stop
11
+ * (the selected pill, or the first enabled one), the arrow keys move to the
12
+ * previous/next enabled pill and select it, Home/End jump to the ends, and
13
+ * Space/Enter select the focused pill (or clear it when `allowClear` is set).
9
14
  */
10
15
  import * as React from 'react';
11
16
  import { type ChoiceGroupBaseProps, type ChoiceOptionBase } from './choice-types';
@@ -23,5 +28,9 @@ export interface PillRadioGroupProps extends Omit<ChoiceGroupBaseProps, 'name'>
23
28
  allowClear?: boolean;
24
29
  /** Stretch pills to fill the container. */
25
30
  fullWidth?: boolean;
31
+ /** Accessible name of the group when no visible label is associated with it. */
32
+ 'aria-label'?: string;
33
+ /** Id of a visible label that names the group. */
34
+ 'aria-labelledby'?: string;
26
35
  }
27
36
  export declare const PillRadioGroup: React.ForwardRefExoticComponent<PillRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
@@ -19,8 +19,16 @@ export interface SelectPopupItemProps extends ComponentPropsWithoutRef<typeof ba
19
19
  }
20
20
  export declare function SelectPopupItem({ children, className, size, density, ...props }: SelectPopupItemProps): import("react").JSX.Element;
21
21
  export interface SelectPopupLabelProps extends ComponentPropsWithoutRef<typeof baseui.SelectLabel> {
22
- /** Match the group label to the owning form control's text scale. */
22
+ /**
23
+ * Owning control scale. Group captions sit one step below the option text:
24
+ * `sm` and `md` use the compact caption size, `lg` the default text size.
25
+ * Defaults to `md`.
26
+ */
23
27
  size?: FormControlSize;
24
28
  }
29
+ /**
30
+ * Group caption. Supporting copy rather than another option, so it uses the
31
+ * secondary medium caption role shared with menu and command group captions.
32
+ */
25
33
  export declare function SelectPopupLabel({ children, className, size, ...props }: SelectPopupLabelProps): import("react").JSX.Element;
26
34
  export declare function SelectPopupSeparator({ className, ...props }: ComponentPropsWithoutRef<typeof baseui.SelectSeparator>): import("react").JSX.Element;
@@ -2,7 +2,7 @@
2
2
  * SwitchCard — bordered settings card with an icon, title, optional
3
3
  * description, optional hint, and a trailing switch. The whole card is
4
4
  * clickable and toggles the switch; clicking inside the actual switch only
5
- * toggles once. Active state lifts the border and tints the surface.
5
+ * toggles once. The on state draws the primary border; the switch itself carries the state.
6
6
  *
7
7
  * Use for top-of-list "feature" toggles where the switch needs more visual
8
8
  * weight than a `ToggleField`. For dense rows, prefer `ToggleField`.
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Private label / hint / error chrome shared by the DatePicker modes and
3
+ * MonthYearPicker. It keeps FormField's rhythm and roles: the same label recipe,
4
+ * the same gap to the trigger and to the supporting line, and a polite alert for
5
+ * the validation message. Validation marks the trigger, not the label.
6
+ *
7
+ * The hint keeps its documented place beside the label and is suppressed while
8
+ * an error shows. Not part of the public API.
9
+ */
10
+ import type { ReactNode, Ref } from 'react';
11
+ export interface DatePickerFieldProps {
12
+ rootRef?: Ref<HTMLDivElement>;
13
+ className?: string;
14
+ label?: string;
15
+ hint?: string;
16
+ error?: string;
17
+ /** Id of the trigger the label names. */
18
+ triggerId: string;
19
+ /** Id of the validation message the trigger references. */
20
+ describedById: string;
21
+ children: ReactNode;
22
+ }
23
+ export declare function DatePickerField({ rootRef, className, label, hint, error, triggerId, describedById, children, }: DatePickerFieldProps): import("react").JSX.Element;
@@ -1,18 +1,5 @@
1
- /**
2
- * Field-style chrome override applied on top of `<Button>` so the
3
- * picker trigger reads as a form field — visually identical to
4
- * `<Input>` (same height, border, padding, focus ring, typography).
5
- *
6
- * Mirrors the `Input` component's chrome:
7
- * - `border-input` border, `rounded-radius-md`, `bg-transparent`
8
- * - `h-control` + `px-control` + `py-space-xs`
9
- * - `text-sm` body text, normal weight, `text-foreground`
10
- * - `focus-visible:border-ring ring-ring/50 ring-[3px]`
11
- * - `aria-invalid:` destructive ring + border
12
- * - flat (no shadow) — library is intentionally flat
13
- *
14
- * `!` prefix wins against the global `<Button>`'s pill-shaped default
15
- * + `data-[size=*]` attribute selectors. Caret-icon sits in
16
- * library-default left padding equal to `<Input startIcon>` rules.
17
- */
18
- export declare const PICKER_TRIGGER_CHROME: string;
1
+ import { type FormControlSize } from '../../../lib/ui-provider';
2
+ /** Picker triggers resolve the same explicit/provider/default scale as fields. */
3
+ export declare function usePickerTriggerSize(sizeProp: FormControlSize | undefined): FormControlSize;
4
+ /** Button composition contributes behavior; the shared field owner supplies chrome. */
5
+ export declare function pickerTriggerClasses(size: FormControlSize, iconOnly?: boolean): string;
@@ -1,5 +1,6 @@
1
1
  import type { LucideIcon } from 'lucide-react';
2
2
  import type { DateRange, PropsSingle, PropsRange, PropsMulti, Locale } from 'react-day-picker';
3
+ import type { FormControlSize } from '../../../lib/ui-provider';
3
4
  import type { StringsProp } from '../../../lib/strings';
4
5
  import type { ActionPresentation } from '../../../lib/action-presentation';
5
6
  import type { ButtonStyle, ButtonTone } from '../buttons';
@@ -64,16 +65,28 @@ export interface DatePickerStrings {
64
65
  year: string;
65
66
  }
66
67
  export interface DatePickerBaseProps {
68
+ /** Trigger field size. Explicit values override the provider density scale; fallback is md. */
69
+ size?: FormControlSize;
67
70
  /** Caption above the trigger, associated through `htmlFor`. Omit when an external FormField owns the chrome. */
68
71
  label?: string;
69
72
  /** Short guidance shown beside the label. Suppressed while `error` is set. */
70
73
  hint?: string;
71
74
  /**
72
- * Validation message rendered below the trigger and referenced by the
73
- * trigger's `aria-describedby`. Setting it also marks the control invalid
74
- * and tints the label.
75
+ * Validation message rendered below the trigger (as a polite alert) and
76
+ * referenced by the trigger's `aria-describedby`. Setting it also marks the
77
+ * trigger invalid; like `FormField`, validation marks the field, not the label.
75
78
  */
76
79
  error?: string;
80
+ /**
81
+ * Marks the trigger invalid without rendering a message, for when an external
82
+ * `FormField` owns the validation copy. `error` implies it.
83
+ */
84
+ invalid?: boolean;
85
+ /**
86
+ * Id of the trigger. An external `<FormField label>` assigns its child an id,
87
+ * so the label names the trigger. Defaults to a generated id.
88
+ */
89
+ id?: string;
77
90
  /** Disables the trigger and prevents the calendar from opening. */
78
91
  disabled?: boolean;
79
92
  /** Merged onto the outermost node. */
@@ -1,7 +1,12 @@
1
1
  import type { TextGap } from '../structure';
2
2
  /**
3
- * AlertDialog — structured base wrapper around the shadcn alert-dialog
4
- * primitive. Higher-level confirmation recipes belong in features/overlays.
3
+ * AlertDialog — internal confirmation anatomy behind `ConfirmDialog`.
4
+ *
5
+ * Not published from any entrypoint: applications use `ConfirmDialog` from
6
+ * `themelia-react-ui/features/overlays`, which owns the decision lifecycle.
7
+ * The surface shares the modal shell, region and typography geometry of the
8
+ * internal Dialog wrapper; the heading sits inside the scrolling body because
9
+ * a confirmation reads as one block above its pinned answers.
5
10
  */
6
11
  import * as React from 'react';
7
12
  import { AlertDialog as AlertDialogPrimitive, AlertDialogOverlay, AlertDialogPortal } from '../../ui/alert-dialog';
@@ -15,6 +20,7 @@ export declare const AlertDialogContent: React.ForwardRefExoticComponent<Omit<im
15
20
  export declare const AlertDialogHeader: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement>, "ref"> & {
16
21
  textGap?: TextGap;
17
22
  } & React.RefAttributes<HTMLDivElement>>;
23
+ /** Scroll-owning region above the pinned answers; rules appear only on edges hiding content. */
18
24
  export declare const AlertDialogBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
19
25
  export declare const AlertDialogFooter: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
20
26
  export declare const AlertDialogTitle: React.ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").AlertDialogTitleProps, "ref"> & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
@@ -1,4 +1,3 @@
1
- /** @deprecated Use Card with surface="flat" and padding="none" for unframed content. */
2
1
  import { type HTMLAttributes, type ReactNode } from 'react';
3
2
  import type { ActionMenuAction } from '../action-menu';
4
3
  import type { StructureGap } from '../structure';
@@ -68,6 +67,9 @@ export interface ContentBlockProps extends Omit<HTMLAttributes<HTMLDivElement>,
68
67
  /** Overrides the block's own copy (overflow-menu and tooltip labels). */
69
68
  strings?: StringsProp<ContentBlockStrings>;
70
69
  }
71
- /** Migration adapter only; Card owns all rendering, slots and surface recipes. */
70
+ /**
71
+ * Migration adapter only; Card owns all rendering, slots and surface recipes.
72
+ * @deprecated Use Card with surface="flat" and padding="none" for unframed content.
73
+ */
72
74
  export declare const ContentBlock: import("react").ForwardRefExoticComponent<ContentBlockProps & import("react").RefAttributes<HTMLDivElement>>;
73
75
  export { defaultContentBlockStrings, type ContentBlockStrings } from './content-block.strings';
@@ -31,7 +31,7 @@ export interface DateBlockProps extends Omit<ComponentPropsWithoutRef<'time'>, '
31
31
  time?: ReactNode;
32
32
  /** Override the machine-readable value placed on the native `<time>`. */
33
33
  dateTime?: string;
34
- /** date-fns locale. Falls back to `<UIProvider dates={{ locale }}>`. */
34
+ /** date-fns locale. Falls back to `<UIProvider config={{ dates: { locale } }}>`. */
35
35
  locale?: Locale;
36
36
  /** Visual layout. @default "stacked" */
37
37
  layout?: DateBlockLayout;
@@ -1,10 +1,13 @@
1
1
  import type { TextGap } from '../structure';
2
2
  /**
3
- * Dialog — structured base wrapper around the shadcn dialog primitive.
3
+ * Dialog — internal modal anatomy behind `ActionDialog`.
4
4
  *
5
- * Primitive state and composition props pass through unchanged. The package
6
- * wrapper supplies deliberate modal anatomy: separated header and footer,
7
- * a scroll-owning body, tokenized spacing, and stable BEM hooks.
5
+ * Not published from any entrypoint: applications use `ActionDialog` (or
6
+ * `ConfirmDialog`) from `themelia-react-ui/features/overlays`, which owns the
7
+ * lifecycle, focus, dismissal and action contract. This wrapper supplies the
8
+ * modal geometry those features share: one framed popover surface whose shell
9
+ * owns the block inset and the gap between header, scrolling body and footer,
10
+ * as Card does, with no static rules between regions.
8
11
  */
9
12
  import * as React from 'react';
10
13
  import { Dialog as DialogPrimitive, DialogOverlay, DialogPortal } from '../../ui/dialog';
@@ -21,7 +24,11 @@ export declare const DialogContent: React.ForwardRefExoticComponent<Omit<import(
21
24
  export declare const DialogHeader: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement>, "ref"> & {
22
25
  textGap?: TextGap;
23
26
  } & React.RefAttributes<HTMLDivElement>>;
24
- /** Scroll-owning content region between the fixed dialog header and footer. */
27
+ /**
28
+ * Scroll-owning content region between the pinned dialog header and footer.
29
+ * A rule appears on its top or bottom edge only while content is scrolled out
30
+ * of view there.
31
+ */
25
32
  export declare const DialogBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
26
33
  export declare const DialogFooter: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
27
34
  showCloseButton?: boolean;
@@ -1,5 +1,10 @@
1
1
  import type { ReactNode } from 'react';
2
- /** One wrapping title/suffix composition shared by cards and content structures. */
2
+ /**
3
+ * One wrapping title/suffix composition shared by cards and content structures.
4
+ * A plain-text title is exposed as a level-2 heading (below the page's h1) so
5
+ * screen-reader users can move between surfaces; suffix badges stay outside its
6
+ * accessible name. Custom title nodes keep their own semantics.
7
+ */
3
8
  export declare function SurfaceTitle({ title, suffix, size, className, suffixClassName, dataSlot }: {
4
9
  title?: ReactNode;
5
10
  suffix?: ReactNode;
@@ -40,7 +40,7 @@ export interface AlertMetadataItemProps extends Omit<ComponentPropsWithoutRef<'d
40
40
  label: ReactNode;
41
41
  /** User-provided metadata value. May contain a package value primitive. */
42
42
  value: ReactNode;
43
- /** Applies tabular monospace figures to simple numeric values. */
43
+ /** Applies tabular figures to simple numeric values, in the sans UI font. */
44
44
  numeric?: boolean;
45
45
  }
46
46
  /** A label/value pair rendered with native `dt` and `dd` semantics. */
@@ -9,13 +9,13 @@ export interface LoadingStateProps extends DivProps {
9
9
  description?: ReactNode;
10
10
  /** Completion percentage, 0-100, for determinate loading. */
11
11
  progress?: number;
12
- /** Which state is shown — loading, empty, or error. */
12
+ /** `inline` (default) for a chrome-free status inside an existing region; `panel` for one framed surface. */
13
13
  variant?: LoadingStateVariant;
14
14
  /** Renders placeholder bars instead of a message. */
15
15
  skeleton?: boolean | ReactNode;
16
16
  /** How many skeleton bars to draw. */
17
17
  lines?: number;
18
- /** Glyph shown above the message. */
18
+ /** Leading glyph beside the message. Defaults to a spinning loader. */
19
19
  icon?: ReactNode;
20
20
  }
21
21
  export declare const LoadingState: import("react").ForwardRefExoticComponent<LoadingStateProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -27,12 +27,13 @@ export interface ErrorStateProps extends Omit<DivProps, 'title'> {
27
27
  description?: ReactNode;
28
28
  /** Control offered alongside the message. */
29
29
  action?: ReactNode;
30
+ /** Renders a retry button (with `retryLabel`) that calls this. Ignored when `action` is set. */
30
31
  onRetry?: () => void;
31
32
  /** Copy for the retry action in the error state. */
32
33
  retryLabel?: ReactNode;
33
- /** Which state is shown — loading, empty, or error. */
34
+ /** `panel` (default) for one framed surface; `inline` for a chrome-free status inside an existing region. */
34
35
  variant?: ErrorStateVariant;
35
- /** Glyph shown above the message. */
36
+ /** Leading glyph beside the message. Defaults to an alert icon. */
36
37
  icon?: ReactNode;
37
38
  }
38
39
  export declare const ErrorState: import("react").ForwardRefExoticComponent<ErrorStateProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -31,6 +31,7 @@ export interface FieldChromeProps {
31
31
  }
32
32
  export interface FormFieldProps extends FieldChromeProps, Omit<ComponentPropsWithoutRef<'div'>, 'children'> {
33
33
  children: ReactNode;
34
+ /** Native ID of the labelled control. With compound children, assign it to the nested control; passive wrappers are left untouched. Direct controls receive an automatic ID when omitted. */
34
35
  htmlFor?: string;
35
36
  /** ID for the resolved hint, helper, or error; controls can reference it explicitly. */
36
37
  supportingTextId?: string;
@@ -27,12 +27,12 @@ export declare const formControlIconClasses: {
27
27
  export declare const formControlIconOffsetClasses: {
28
28
  sm: string;
29
29
  md: string;
30
- lg: "ps-[calc((var(--control-x)+var(--icon)*1.25+0.5rem)*var(--space-scale))]";
30
+ lg: "ps-[calc((var(--control-x)+0.5rem)*var(--space-scale)+var(--icon)*1.25)]";
31
31
  };
32
32
  export declare const formControlEndIconOffsetClasses: {
33
33
  sm: string;
34
34
  md: string;
35
- lg: "pe-[calc((var(--control-x)+var(--icon)*1.25+0.5rem)*var(--space-scale))]";
35
+ lg: "pe-[calc((var(--control-x)+0.5rem)*var(--space-scale)+var(--icon)*1.25)]";
36
36
  };
37
37
  export declare const formControlAddonOffsetClasses: {
38
38
  sm: string;
@@ -63,11 +63,15 @@ export declare const formControlMinHeightClasses: {
63
63
  * Canonical "input-shaped trigger" chrome — used by any control that
64
64
  * renders as a button-style trigger but visually has to read as a form
65
65
  * field (DatePicker, TimePicker, the inner Select inside composite
66
- * fields, etc.). Mirrors `Input`'s `border-input rounded-radius
66
+ * fields, etc.). Mirrors `Input`'s `border-input rounded-inner
67
67
  * bg-transparent focus-visible:ring` chrome (no shadow — the library
68
68
  * is intentionally flat) plus the size-driven height + horizontal
69
69
  * padding.
70
70
  *
71
+ * The displayed value is the field's value, so it follows the editable text
72
+ * recipe: on coarse pointers it matches the touch input size of an adjoining
73
+ * `Input` instead of rendering a step smaller.
74
+ *
71
75
  * Kept here so the chrome lives in exactly one place — when we tweak
72
76
  * the canonical input look, every trigger picks it up.
73
77
  */
@@ -77,6 +81,34 @@ export declare const formTextareaSizeClasses: {
77
81
  md: string;
78
82
  lg: string;
79
83
  };
84
+ /**
85
+ * Vertical inset of multi-line fields. Their first line sits exactly where a
86
+ * single-line control of the same size draws its value (inside the 1px border),
87
+ * so a Textarea beside an Input shares its first line. `1lh` is the field's own
88
+ * line height, so the inset follows the editable text size on every pointer.
89
+ */
90
+ export declare const formTextareaInsetClasses: {
91
+ sm: string;
92
+ md: string;
93
+ lg: string;
94
+ };
95
+ /**
96
+ * Top offsets that centre multi-line field affordances on the first line, where a
97
+ * single-line control of the same size centres them: the clear target
98
+ * (`size-control-clear`) and a `size-icon` glyph such as the loading spinner.
99
+ */
100
+ export declare const formTextareaAffordanceTopClasses: {
101
+ readonly target: {
102
+ readonly sm: "top-[calc((var(--height-control)*8/9-1.375rem)*var(--density-scale)/2)]";
103
+ readonly md: "top-[calc((var(--height-control)-1.375rem)*var(--density-scale)/2)]";
104
+ readonly lg: "top-[calc((var(--height-control)*10/9-1.375rem)*var(--density-scale)/2)]";
105
+ };
106
+ readonly icon: {
107
+ readonly sm: "top-[calc((var(--height-control)*8/9*var(--density-scale)-var(--icon))/2)]";
108
+ readonly md: "top-[calc((var(--height-control)*var(--density-scale)-var(--icon))/2)]";
109
+ readonly lg: "top-[calc((var(--height-control)*10/9*var(--density-scale)-var(--icon))/2)]";
110
+ };
111
+ };
80
112
  export declare const formLabelSizeClasses: {
81
113
  sm: string;
82
114
  md: string;
@@ -58,6 +58,8 @@ export interface DirtyStateBannerProps {
58
58
  }
59
59
  export declare function DirtyStateBanner({ title, description, actions, tone, className, }: DirtyStateBannerProps): import("react").JSX.Element;
60
60
  export interface SubmitStateButtonProps extends Omit<ButtonProps, 'loading'> {
61
+ /** Semantic color. Defaults to `primary`: submitting is the form's main command. */
62
+ tone?: ButtonProps['tone'];
61
63
  /** Shows the pending state and blocks repeat submissions. */
62
64
  submitting?: boolean;
63
65
  /** Whether the form has unsaved changes. */
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { type StringsProp } from '../../../lib/strings';
3
+ import type { FormControlSize } from '../../../lib/ui-provider';
3
4
  export interface CoordinatesObjectValue {
4
5
  lat?: string;
5
6
  lng?: string;
@@ -43,5 +44,7 @@ export interface CoordinatesInputProps {
43
44
  className?: string;
44
45
  /** Disabled state */
45
46
  disabled?: boolean;
47
+ /** Control-height preset for both fields. Falls back to `UIProvider.density.defaultScale`, like the other numeric inputs. */
48
+ size?: FormControlSize;
46
49
  }
47
50
  export declare const CoordinatesInput: React.ForwardRefExoticComponent<CoordinatesInputProps & React.RefAttributes<HTMLDivElement>>;
@@ -5,7 +5,10 @@ export interface RoundingModeSelectProps extends Omit<SelectProps, 'options' | '
5
5
  value?: RoundingMode;
6
6
  /** Canonical change handler. */
7
7
  onValueChange?: (value: RoundingMode | undefined) => void;
8
- /** Custom labels for rounding modes */
8
+ /**
9
+ * Labels for the rounding modes. Defaults to sentence-case names: `floor` →
10
+ * "Round down", `half_up` → "Round half up", `ceil` → "Round up".
11
+ */
9
12
  labels?: Partial<Record<RoundingMode, string>>;
10
13
  }
11
14
  export declare const RoundingModeSelect: import("react").ForwardRefExoticComponent<RoundingModeSelectProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -16,13 +16,13 @@ declare function DropdownMenuLabel({ className, inset, children, ...props }: Men
16
16
  declare function DropdownMenuItem({ className, inset, variant, children, ...props }: MenuPrimitive.Item.Props & {
17
17
  /** Surface inset. */
18
18
  inset?: boolean;
19
- /** Semantic tone. */
19
+ /** Row treatment. `destructive` marks a command that removes or destroys data. Defaults to `default`. */
20
20
  variant?: 'default' | 'destructive';
21
21
  }): React.JSX.Element;
22
22
  declare function DropdownMenuLinkItem({ className, inset, variant, children, ...props }: MenuPrimitive.LinkItem.Props & {
23
23
  /** Surface inset. */
24
24
  inset?: boolean;
25
- /** Semantic tone. */
25
+ /** Row treatment. `destructive` marks a command that removes or destroys data. Defaults to `default`. */
26
26
  variant?: 'default' | 'destructive';
27
27
  }): React.JSX.Element;
28
28
  declare function DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props): React.JSX.Element;
@@ -1,9 +1,12 @@
1
1
  import type { LocaleOption } from '../../../types/locale.types';
2
2
  export interface LanguageSwitcherProps {
3
+ /** Locales to offer, in order. The entry with `active: true` is marked as current. */
3
4
  locales: LocaleOption[];
5
+ /** Custom label for each locale. Defaults to `nativeLabel`. */
4
6
  onRenderLabel?: (options: LocaleOption) => string;
5
- /** Semantic tone. */
7
+ /** Layout: `buttons` (default) for a row of buttons, `inline` for compact dot-separated text links. */
6
8
  variant?: 'buttons' | 'inline';
9
+ /** Called with the chosen locale's value. Not called for the current locale. */
7
10
  onSelect?: (value: string) => void;
8
11
  }
9
12
  export declare function LanguageSwitcher({ locales, onRenderLabel, variant, onSelect, }: LanguageSwitcherProps): import("react").JSX.Element | null;
@@ -5,6 +5,11 @@
5
5
  * container resize; the active tab is always kept visible by being moved
6
6
  * out of the overflow set when needed.
7
7
  *
8
+ * The strip shares the segmented-tab recipe of `NavigationTabs` and `Tabs`:
9
+ * a muted track, small action-height tabs with default-size labels, and a
10
+ * lifted card-coloured active tab. Arrow keys, Home and End move focus between
11
+ * tabs; Enter or Space activates the focused tab.
12
+ *
8
13
  * Use `NavigationTabs` instead when a fixed route set cannot overflow.
9
14
  */
10
15
  import { type LucideIcon } from 'lucide-react';
@@ -40,4 +45,6 @@ export interface OverflowTabBarProps extends Omit<ComponentPropsWithoutRef<'div'
40
45
  /** Overrides this surface's own copy. */
41
46
  strings?: StringsProp<OverflowTabBarStrings>;
42
47
  }
48
+ /** How many tabs fit, reserving room for the "More" trigger only when something overflows. */
49
+ export declare function fitOverflowTabs(widths: readonly number[], available: number, gap: number, moreWidth: number): number;
43
50
  export declare const OverflowTabBar: import("react").ForwardRefExoticComponent<OverflowTabBarProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -79,7 +79,10 @@ export interface PageHeadingProps {
79
79
  descriptionClassName?: string;
80
80
  /** Merged onto the actions cluster. */
81
81
  actionsClassName?: string;
82
- /** Draws the rule beneath the header. Default: `true`. */
82
+ /**
83
+ * Draws a rule beneath the header. Default: `false` — the page rhythm (gap
84
+ * between header and body) separates them; opt in where a rule is the design.
85
+ */
83
86
  withSeparator?: boolean;
84
87
  }
85
88
  export declare function PageHeading({ eyebrow, title, description, textGap, headingTag, badge, badges, breadcrumbs, leading, beforeTitle, titlePrefix, titleSuffix, afterDescription, actions, children, className, contentClassName, eyebrowClassName, titleClassName, titleRowClassName, descriptionClassName, actionsClassName, withSeparator, }: PageHeadingProps): import("react").JSX.Element;
@@ -1,11 +1,9 @@
1
1
  /**
2
2
  * Typography- and token-aware wrappers around the internal shadcn tabs parts.
3
3
  *
4
- * The shadcn source is left untouched, so its literal `gap-1.5 rounded-md px-2
5
- * py-1` reached consumers unchanged and opted tabs out of scoped `--space-scale`
6
- * and `--radius` overrides — the only interactive family in the package that
7
- * did. These wrappers restate the same values as tokens; `cn` merges them last,
8
- * so they win. Every value below is pixel-identical to the primitive's default.
4
+ * Raw anatomy and these wrappers share token-backed spacing. The wrappers
5
+ * add stable public hooks, canonical corners, scalar text and scroll controls;
6
+ * the primitive owns tab/list interaction and the nested list inset.
9
7
  */
10
8
  import type { ComponentProps } from 'react';
11
9
  import { Tabs as PrimitiveTabs, TabsContent as PrimitiveTabsContent, TabsList as PrimitiveTabsList, TabsTrigger as PrimitiveTabsTrigger } from '../../ui/tabs';
@@ -1,12 +1,12 @@
1
1
  import { type RowDensity } from '../../../lib/row-recipes';
2
2
  /** Shared anchored-surface chrome; Menu and Popover retain their own accessible behavior. */
3
3
  export declare const popoverRecipes: {
4
- readonly surface: "rounded-radius border border-border/60 bg-popover text-popover-foreground shadow-md ring-0";
4
+ readonly surface: "box-border rounded-radius border border-border bg-popover text-popover-foreground shadow-md ring-0";
5
5
  readonly display: "p-surface";
6
6
  readonly menu: "p-surface-xs";
7
7
  readonly menuRegion: "px-surface-xs py-space-md";
8
8
  readonly separator: "mx-0 my-space-xs h-px w-full shrink-0 bg-border/60";
9
- readonly row: "min-h-control rounded-inner px-row-x gap-space-sm font-medium leading-tight";
9
+ readonly row: "box-border min-h-control rounded-inner px-row-x gap-space-sm font-medium leading-tight";
10
10
  };
11
11
  export type PopoverContentType = 'display' | 'menu';
12
12
  /** One surface inset vocabulary for Popover, Command and their collections. */
@@ -24,6 +24,6 @@ export declare const collectionRecipes: {
24
24
  readonly interactive: "relative flex cursor-default items-center outline-none select-none transition-colors";
25
25
  readonly highlighted: "data-highlighted:bg-accent data-highlighted:text-accent-foreground data-highlighted:[&_svg]:text-accent-foreground";
26
26
  readonly disabled: "data-disabled:pointer-events-none data-disabled:opacity-50";
27
- readonly destructive: "data-[variant=destructive]:text-destructive data-[variant=destructive]:data-highlighted:bg-destructive/10 data-[variant=destructive]:data-highlighted:text-destructive dark:data-[variant=destructive]:data-highlighted:bg-destructive/20 data-[variant=destructive]:[&_svg]:text-destructive data-[variant=destructive]:data-highlighted:[&_svg]:text-destructive";
27
+ readonly destructive: "data-[variant=destructive]:text-destructive data-[variant=destructive]:data-highlighted:bg-destructive/10 data-[variant=destructive]:data-highlighted:text-destructive dark:data-[variant=destructive]:data-highlighted:bg-destructive/10 data-[variant=destructive]:[&_svg]:text-destructive data-[variant=destructive]:data-highlighted:[&_svg]:text-destructive";
28
28
  readonly tableRow: "min-h-action-xs py-space-2xs";
29
29
  };
@@ -1,11 +1,13 @@
1
1
  import { type HTMLAttributes } from 'react';
2
2
  export type QRCodeProps = HTMLAttributes<HTMLDivElement> & {
3
+ /** Encoded payload. Pass `aria-label` to describe it; the code is then exposed as one image. */
3
4
  data: string;
4
5
  foreground?: string;
5
6
  background?: string;
6
7
  robustness?: 'L' | 'M' | 'Q' | 'H';
7
8
  };
8
9
  export declare const QRCode: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
10
+ /** Encoded payload. Pass `aria-label` to describe it; the code is then exposed as one image. */
9
11
  data: string;
10
12
  foreground?: string;
11
13
  background?: string;