themelia-react-ui 1.0.2 → 2.0.1

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 (748) hide show
  1. package/CHANGELOG.md +632 -1
  2. package/README.md +31 -13
  3. package/dist/accordion-B6a3vVgA.js +207 -0
  4. package/dist/accordion-B6a3vVgA.js.map +1 -0
  5. package/dist/action-menu-TzCoSlwL.js +280 -0
  6. package/dist/action-menu-TzCoSlwL.js.map +1 -0
  7. package/dist/{affordance-geometry.generated-CL84ZN9A.js → affordance-geometry.generated-B5iu-Mkr.js} +9 -3
  8. package/dist/affordance-geometry.generated-B5iu-Mkr.js.map +1 -0
  9. package/dist/{ai-artifact-DLVdK0Py.js → ai-artifact-BMJdv-6q.js} +389 -391
  10. package/dist/ai-artifact-BMJdv-6q.js.map +1 -0
  11. package/dist/{app-shell-C_fKpljx.js → app-shell-ZK5RWdo6.js} +4 -4
  12. package/dist/{app-shell-C_fKpljx.js.map → app-shell-ZK5RWdo6.js.map} +1 -1
  13. package/dist/attachment-BtfhGm8i.js +245 -0
  14. package/dist/attachment-BtfhGm8i.js.map +1 -0
  15. package/dist/{auth-CAQcasMV.js → auth-CYxKfo69.js} +239 -237
  16. package/dist/auth-CYxKfo69.js.map +1 -0
  17. package/dist/{avatar-Bu2HhitA.js → avatar-BBnEJIx8.js} +71 -68
  18. package/dist/avatar-BBnEJIx8.js.map +1 -0
  19. package/dist/badge-MrKVNzW9.js +93 -0
  20. package/dist/badge-MrKVNzW9.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/batch-action-bar.js +3 -0
  27. package/dist/base/buttons.js +2 -3
  28. package/dist/base/cards.js +2 -2
  29. package/dist/base/carousel.js +19 -19
  30. package/dist/base/carousel.js.map +1 -1
  31. package/dist/base/cascader.js +234 -224
  32. package/dist/base/cascader.js.map +1 -1
  33. package/dist/base/chart.js +1 -1
  34. package/dist/base/choice-inputs.js +3 -3
  35. package/dist/base/code-block.js +1 -1
  36. package/dist/base/combobox.js +1 -1
  37. package/dist/base/command.js +1 -1
  38. package/dist/base/copyable.js +1 -1
  39. package/dist/base/date-pickers.js +2 -2
  40. package/dist/base/display.js +7 -7
  41. package/dist/base/feedback.js +3 -3
  42. package/dist/base/forms-numeric.js +1 -1
  43. package/dist/base/forms.js +2 -2
  44. package/dist/base/inline-edit.js +81 -76
  45. package/dist/base/inline-edit.js.map +1 -1
  46. package/dist/base/item.js +1 -1
  47. package/dist/base/media-gallery.js +1 -1
  48. package/dist/base/metadata-list.js +3 -0
  49. package/dist/base/navigation.js +7 -7
  50. package/dist/base/popover-menu.js +1 -1
  51. package/dist/base/popover.js +1 -1
  52. package/dist/base/qr-code.js +7 -4
  53. package/dist/base/qr-code.js.map +1 -1
  54. package/dist/base/repeaters.js +175 -174
  55. package/dist/base/repeaters.js.map +1 -1
  56. package/dist/base/sheet.js +1 -1
  57. package/dist/base/sidebar.js +1 -1
  58. package/dist/base/signature-pad.js +148 -138
  59. package/dist/base/signature-pad.js.map +1 -1
  60. package/dist/base/skeleton.js +1 -1
  61. package/dist/base/spinner.js +1 -1
  62. package/dist/base/structure.js +1 -1
  63. package/dist/base/table.js +1 -1
  64. package/dist/base/text-inputs.js +2 -2
  65. package/dist/base/toaster.js +4 -4
  66. package/dist/base/toaster.js.map +1 -1
  67. package/dist/base/tree.js +1 -1
  68. package/dist/base/upload-queue.js +1 -1
  69. package/dist/base/upload.js +3 -3
  70. package/dist/base/value-inputs.js +2 -2
  71. package/dist/batch-action-bar-BZGDG-Si.js +104 -0
  72. package/dist/batch-action-bar-BZGDG-Si.js.map +1 -0
  73. package/dist/blocks/admin.js +264 -253
  74. package/dist/blocks/admin.js.map +1 -1
  75. package/dist/blocks/ai.js +293 -323
  76. package/dist/blocks/ai.js.map +1 -1
  77. package/dist/blocks/analytics/usage-card.js +1 -1
  78. package/dist/blocks/analytics.js +596 -587
  79. package/dist/blocks/analytics.js.map +1 -1
  80. package/dist/blocks/collaboration.js +1 -1
  81. package/dist/blocks/commerce/receipt.js +1 -1
  82. package/dist/blocks/commerce.js +2246 -1693
  83. package/dist/blocks/commerce.js.map +1 -1
  84. package/dist/blocks/data-display.js +3 -2
  85. package/dist/blocks/onboarding.js +50 -49
  86. package/dist/blocks/onboarding.js.map +1 -1
  87. package/dist/blocks/planning.js +82 -91
  88. package/dist/blocks/planning.js.map +1 -1
  89. package/dist/blocks/timelines.js +1 -1
  90. package/dist/breadcrumbs-D5t7I023.js +129 -0
  91. package/dist/breadcrumbs-D5t7I023.js.map +1 -0
  92. package/dist/{button-BZyfTvwm.js → button-QYwiyhD2.js} +15 -14
  93. package/dist/button-QYwiyhD2.js.map +1 -0
  94. package/dist/buttons-SbIcm1HJ.js +661 -0
  95. package/dist/buttons-SbIcm1HJ.js.map +1 -0
  96. package/dist/{cards-qGSErLw_.js → cards-CiiHpKYd.js} +8 -8
  97. package/dist/cards-CiiHpKYd.js.map +1 -0
  98. package/dist/{chart-Bsc5BICK.js → chart-QfrARkXl.js} +17 -15
  99. package/dist/chart-QfrARkXl.js.map +1 -0
  100. package/dist/checkbox-DhB6K0bK.js +36 -0
  101. package/dist/checkbox-DhB6K0bK.js.map +1 -0
  102. package/dist/choice-inputs-t6w3ATNz.js +766 -0
  103. package/dist/choice-inputs-t6w3ATNz.js.map +1 -0
  104. package/dist/code-block-Dgbu-CU3.js +185 -0
  105. package/dist/code-block-Dgbu-CU3.js.map +1 -0
  106. package/dist/{collapsible-ClvC7Bj3.js → collapsible-D8AEGU1-.js} +4 -4
  107. package/dist/{collapsible-ClvC7Bj3.js.map → collapsible-D8AEGU1-.js.map} +1 -1
  108. package/dist/{collection-content-D6S8cv_n.js → collection-content-uK16Grv0.js} +3 -3
  109. package/dist/{collection-content-D6S8cv_n.js.map → collection-content-uK16Grv0.js.map} +1 -1
  110. package/dist/{combobox-BFnbJJp3.js → combobox-2Ic8N9bL.js} +103 -98
  111. package/dist/combobox-2Ic8N9bL.js.map +1 -0
  112. package/dist/combobox-DLl0bfiq.js +867 -0
  113. package/dist/combobox-DLl0bfiq.js.map +1 -0
  114. package/dist/{command-BnmSchli.js → command-kNR20o7x.js} +34 -30
  115. package/dist/command-kNR20o7x.js.map +1 -0
  116. package/dist/{comments-u5L0OGip.js → comments-BpDuCUUu.js} +304 -301
  117. package/dist/comments-BpDuCUUu.js.map +1 -0
  118. package/dist/components/base/accordion/accordion-variants.d.ts +3 -3
  119. package/dist/components/base/action-menu/action-menu.d.ts +27 -5
  120. package/dist/components/base/action-menu/action-menu.recipes.d.ts +21 -0
  121. package/dist/components/base/action-menu/index.d.ts +1 -0
  122. package/dist/components/base/avatar/stacked-avatars.d.ts +5 -4
  123. package/dist/components/base/badge/badge.d.ts +1 -1
  124. package/dist/components/base/badge/badge.recipes.d.ts +6 -6
  125. package/dist/components/base/batch-action-bar/batch-action-bar.d.ts +50 -0
  126. package/dist/components/base/batch-action-bar/batch-action-bar.strings.d.ts +20 -0
  127. package/dist/components/base/batch-action-bar/index.d.ts +8 -0
  128. package/dist/components/base/buttons/base-button.d.ts +7 -0
  129. package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
  130. package/dist/components/base/buttons/button.recipes.d.ts +2 -2
  131. package/dist/components/base/buttons/button.variants.d.ts +1 -0
  132. package/dist/components/base/buttons/loader-button.d.ts +3 -1
  133. package/dist/components/base/buttons/text-button.d.ts +2 -2
  134. package/dist/components/base/carousel/carousel.d.ts +3 -1
  135. package/dist/components/base/chart/chart.d.ts +7 -7
  136. package/dist/components/base/choice-inputs/checkbox.d.ts +6 -7
  137. package/dist/components/base/choice-inputs/choice-types.d.ts +24 -3
  138. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +9 -0
  139. package/dist/components/base/choice-inputs/select-popup.d.ts +9 -1
  140. package/dist/components/base/choice-inputs/switch-card.d.ts +1 -1
  141. package/dist/components/base/date-pickers/date-picker-field.d.ts +23 -0
  142. package/dist/components/base/date-pickers/datepicker.types.d.ts +13 -3
  143. package/dist/components/base/display/alert-dialog.d.ts +10 -3
  144. package/dist/components/base/display/content-block.d.ts +4 -2
  145. package/dist/components/base/display/date-block.d.ts +1 -1
  146. package/dist/components/base/display/dialog.d.ts +8 -5
  147. package/dist/components/base/display/icon-badge/icon-badge.d.ts +1 -1
  148. package/dist/components/base/display/surface-title.d.ts +6 -1
  149. package/dist/components/base/feedback/alert.d.ts +1 -1
  150. package/dist/components/base/feedback/state-display.d.ts +5 -4
  151. package/dist/components/base/forms/form-sizing.d.ts +43 -8
  152. package/dist/components/base/forms/workflow.d.ts +2 -0
  153. package/dist/components/base/forms-numeric/coordinates-input.d.ts +3 -0
  154. package/dist/components/base/forms-numeric/rounding-mode-select.d.ts +4 -1
  155. package/dist/components/base/metadata-list/index.d.ts +12 -0
  156. package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.d.ts +28 -25
  157. package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-value.d.ts +2 -2
  158. package/dist/components/base/navigation/dropdown-menu.d.ts +2 -2
  159. package/dist/components/base/navigation/index.d.ts +1 -1
  160. package/dist/components/base/navigation/language-switcher.d.ts +4 -1
  161. package/dist/components/base/navigation/overflow-tab-bar.d.ts +7 -0
  162. package/dist/components/base/navigation/page-header/index.d.ts +1 -0
  163. package/dist/components/base/navigation/page-header/page-header-commands.d.ts +73 -0
  164. package/dist/components/base/navigation/page-header/page-header.d.ts +30 -4
  165. package/dist/components/base/qr-code/qr-code.d.ts +2 -0
  166. package/dist/components/base/sheet/index.d.ts +29 -1
  167. package/dist/components/base/sheet/sheet.d.ts +10 -5
  168. package/dist/components/base/signature-pad/signature-pad.types.d.ts +5 -1
  169. package/dist/components/base/signature-pad/signature-pad.utils.d.ts +11 -3
  170. package/dist/components/base/spinner/spinner.d.ts +3 -2
  171. package/dist/components/base/structure/structure.types.d.ts +1 -1
  172. package/dist/components/base/text-inputs/field-clear-button.d.ts +6 -0
  173. package/dist/components/base/text-inputs/input-group.d.ts +2 -2
  174. package/dist/components/base/upload/upload.recipes.d.ts +33 -0
  175. package/dist/components/base/value-inputs/date-time-input.d.ts +4 -2
  176. package/dist/components/base/value-inputs/index.d.ts +5 -5
  177. package/dist/components/base/value-inputs/tags-input.d.ts +38 -12
  178. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +1 -1
  179. package/dist/components/blocks/analytics/format-metric-value.d.ts +11 -1
  180. package/dist/components/blocks/analytics/index.d.ts +1 -1
  181. package/dist/components/blocks/analytics/use-metric-format-options.d.ts +3 -0
  182. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  183. package/dist/components/blocks/commerce/address-card/types.d.ts +4 -1
  184. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +4 -0
  185. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +2 -2
  186. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +3 -1
  187. package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
  188. package/dist/components/blocks/commerce/cart-summary/types.d.ts +6 -1
  189. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +3 -1
  190. package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
  191. package/dist/components/blocks/commerce/discount-stack/types.d.ts +16 -4
  192. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +5 -0
  193. package/dist/components/blocks/commerce/fulfillment-group/index.d.ts +2 -0
  194. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +43 -0
  195. package/dist/components/blocks/commerce/index.d.ts +13 -5
  196. package/dist/components/blocks/commerce/inventory-section/types.d.ts +4 -1
  197. package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
  198. package/dist/components/blocks/commerce/invoice-header/types.d.ts +4 -2
  199. package/dist/components/blocks/commerce/invoice-mini/invoice-mini.d.ts +1 -1
  200. package/dist/components/blocks/commerce/invoice-mini/types.d.ts +2 -1
  201. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +1 -1
  202. package/dist/components/blocks/commerce/order-customer/index.d.ts +2 -0
  203. package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +5 -0
  204. package/dist/components/blocks/commerce/order-customer/types.d.ts +48 -0
  205. package/dist/components/blocks/commerce/order-header/index.d.ts +2 -0
  206. package/dist/components/blocks/commerce/order-header/order-header.d.ts +5 -0
  207. package/dist/components/blocks/commerce/order-header/types.d.ts +37 -0
  208. package/dist/components/blocks/commerce/order-line-item/index.d.ts +2 -0
  209. package/dist/components/blocks/commerce/order-line-item/order-line-item.d.ts +5 -0
  210. package/dist/components/blocks/commerce/order-line-item/types.d.ts +46 -0
  211. package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
  212. package/dist/components/blocks/commerce/order-summary/index.d.ts +2 -0
  213. package/dist/components/blocks/commerce/order-summary/order-summary.d.ts +5 -0
  214. package/dist/components/blocks/commerce/order-summary/types.d.ts +42 -0
  215. package/dist/components/blocks/commerce/order-transactions/index.d.ts +2 -0
  216. package/dist/components/blocks/commerce/order-transactions/order-transactions.d.ts +5 -0
  217. package/dist/components/blocks/commerce/order-transactions/types.d.ts +46 -0
  218. package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
  219. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +9 -1
  220. package/dist/components/blocks/commerce/payment-method/types.d.ts +14 -1
  221. package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
  222. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +3 -1
  223. package/dist/components/blocks/commerce/refund-status/types.d.ts +6 -3
  224. package/dist/components/blocks/commerce/seo-listing/seo-listing-card.d.ts +1 -1
  225. package/dist/components/blocks/commerce/seo-listing/types.d.ts +3 -1
  226. package/dist/components/blocks/commerce/shared/address-lines.d.ts +21 -0
  227. package/dist/components/blocks/commerce/shared/line-thumbnail.d.ts +9 -0
  228. package/dist/components/blocks/commerce/shared/order-status.d.ts +51 -0
  229. package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
  230. package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +27 -6
  231. package/dist/components/blocks/commerce/summary-panel/amount-row.d.ts +2 -0
  232. package/dist/components/blocks/commerce/summary-panel/index.d.ts +3 -0
  233. package/dist/components/blocks/commerce/summary-panel/summary-panel.d.ts +2 -0
  234. package/dist/components/blocks/commerce/summary-panel/types.d.ts +26 -0
  235. package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
  236. package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +2 -1
  237. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -1
  238. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +4 -1
  239. package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +4 -1
  240. package/dist/components/blocks/data-display/metadata/index.d.ts +30 -4
  241. package/dist/components/features/activities/partials/activity-row.d.ts +6 -2
  242. package/dist/components/features/activities/partials/tone-tokens.d.ts +0 -6
  243. package/dist/components/features/global-search/partials/global-search-group-heading.d.ts +15 -0
  244. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +1 -1
  245. package/dist/components/features/global-search/partials/tone-palettes.d.ts +0 -5
  246. package/dist/components/features/kanban/kanban.d.ts +1 -1
  247. package/dist/components/features/kanban/kanban.strings.d.ts +1 -1
  248. package/dist/components/features/kanban/kanban.types.d.ts +2 -2
  249. package/dist/components/features/media-library/hooks/use-media-library.d.ts +1 -1
  250. package/dist/components/features/media-library/index.d.ts +1 -1
  251. package/dist/components/features/media-library/media-library.d.ts +1 -1
  252. package/dist/components/features/media-library/media-library.strings.d.ts +4 -0
  253. package/dist/components/features/media-library/media-library.types.d.ts +74 -1
  254. package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
  255. package/dist/components/features/mentions/partials/mention-kind-toggles.d.ts +16 -0
  256. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  257. package/dist/components/features/overlays/dialog.d.ts +1 -1
  258. package/dist/components/features/overlays/drawer.d.ts +1 -1
  259. package/dist/components/features/overlays/hooks/use-overlay-actions.d.ts +2 -2
  260. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +11 -4
  261. package/dist/components/features/overlays/index.d.ts +1 -1
  262. package/dist/components/features/overlays/overlay-tone-icon.d.ts +37 -0
  263. package/dist/components/features/overlays/overlays.types.d.ts +62 -19
  264. package/dist/components/features/products/components/product-contract-overview.d.ts +5 -0
  265. package/dist/components/features/products/components/product-details-card.d.ts +5 -0
  266. package/dist/components/features/products/components/product-operations-card.d.ts +5 -0
  267. package/dist/components/features/products/components/product-option-action-menu.d.ts +5 -0
  268. package/dist/components/features/products/components/product-options-summary.d.ts +5 -0
  269. package/dist/components/features/products/components/product-policies-card.d.ts +5 -0
  270. package/dist/components/features/products/components/product-quote-preview-card.d.ts +5 -0
  271. package/dist/components/features/products/components/product-readiness-card.d.ts +5 -0
  272. package/dist/components/features/products/components/product-structure-card.d.ts +5 -0
  273. package/dist/components/features/products/components/product-variant-action-menu.d.ts +23 -1
  274. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  275. package/dist/components/features/products/partials/index.d.ts +1 -1
  276. package/dist/components/features/products/partials/product-metric-tile.d.ts +6 -0
  277. package/dist/components/features/products/partials/product-tone.d.ts +11 -1
  278. package/dist/components/features/products/products.types.d.ts +11 -3
  279. package/dist/components/features/resource/index.d.ts +1 -1
  280. package/dist/components/features/resource/resource.d.ts +1 -1
  281. package/dist/components/features/resource/resource.types.d.ts +34 -6
  282. package/dist/components/features/rich-text-editor/index.d.ts +2 -1
  283. package/dist/components/features/rich-text-editor/partials/image-nodes.d.ts +13 -0
  284. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +66 -0
  285. package/dist/components/features/rich-text-editor/partials/inline-reference-node.d.ts +19 -0
  286. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
  287. package/dist/components/features/rich-text-editor/rich-text-editor.strings.d.ts +14 -0
  288. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +45 -0
  289. package/dist/components/features/rich-text-editor/use-rich-text-images.d.ts +18 -0
  290. package/dist/components/features/sync/index.d.ts +26 -3
  291. package/dist/components/features/table/data-table.d.ts +1 -1
  292. package/dist/components/features/table/partials/cell-renderers.d.ts +1 -1
  293. package/dist/components/features/table/table.types.d.ts +32 -7
  294. package/dist/components/layout/page/index.d.ts +1 -1
  295. package/dist/components/layout/page/page.types.d.ts +51 -4
  296. package/dist/components/layout/page/partials/page-actions.d.ts +1 -0
  297. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  298. package/dist/components/layout/settings/settings.d.ts +16 -2
  299. package/dist/components/layout/workspace/workspace.types.d.ts +21 -4
  300. package/dist/components/primitives/date.d.ts +16 -3
  301. package/dist/components/primitives/dimensions.d.ts +6 -0
  302. package/dist/components/primitives/duration.d.ts +6 -0
  303. package/dist/components/primitives/file-size.d.ts +6 -0
  304. package/dist/components/primitives/index.d.ts +1 -1
  305. package/dist/components/primitives/initials.d.ts +11 -2
  306. package/dist/components/primitives/link.d.ts +7 -0
  307. package/dist/components/primitives/money.d.ts +29 -7
  308. package/dist/components/primitives/number.d.ts +17 -0
  309. package/dist/components/primitives/value-typography.d.ts +54 -0
  310. package/dist/components/primitives/value.d.ts +31 -6
  311. package/dist/components/typography/heading.d.ts +9 -1
  312. package/dist/components/typography/label.d.ts +3 -0
  313. package/dist/components/typography/rich-text/index.d.ts +1 -1
  314. package/dist/components/typography/rich-text/rich-text-tree.d.ts +19 -0
  315. package/dist/components/typography/rich-text/rich-text.d.ts +16 -0
  316. package/dist/components/typography/running-text.d.ts +12 -0
  317. package/dist/components/typography/text-link.d.ts +24 -1
  318. package/dist/components/typography/text.d.ts +12 -0
  319. package/dist/components/typography/text.styles.d.ts +35 -13
  320. package/dist/components/ui/button.d.ts +1 -1
  321. package/dist/components/ui/checkbox.d.ts +6 -0
  322. package/dist/components/ui/overlay.recipes.d.ts +6 -2
  323. package/dist/components/ui/select.d.ts +3 -1
  324. package/dist/components/ui/switch.d.ts +5 -0
  325. package/dist/{containers-DqB-bSYE.js → containers-DmWiJa2I.js} +36 -35
  326. package/dist/containers-DmWiJa2I.js.map +1 -0
  327. package/dist/{copyable-BTSByfmq.js → copyable-B3Gwgdqc.js} +6 -6
  328. package/dist/{copyable-BTSByfmq.js.map → copyable-B3Gwgdqc.js.map} +1 -1
  329. package/dist/data-display-DafIvCl5.js +960 -0
  330. package/dist/data-display-DafIvCl5.js.map +1 -0
  331. package/dist/date-BgK3bTdo.js +144 -0
  332. package/dist/date-BgK3bTdo.js.map +1 -0
  333. package/dist/date-picker-CF-DtUpF.js +1529 -0
  334. package/dist/date-picker-CF-DtUpF.js.map +1 -0
  335. package/dist/date-pickers-BmzxJl5l.js +174 -0
  336. package/dist/date-pickers-BmzxJl5l.js.map +1 -0
  337. package/dist/{display-CS6Hbk18.js → display-DsQTVzMz.js} +88 -87
  338. package/dist/display-DsQTVzMz.js.map +1 -0
  339. package/dist/{dropdown-menu-D-boNgGO.js → dropdown-menu-E2qmdC7o.js} +23 -16
  340. package/dist/dropdown-menu-E2qmdC7o.js.map +1 -0
  341. package/dist/features/activities.js +437 -521
  342. package/dist/features/activities.js.map +1 -1
  343. package/dist/features/ai-chat.js +174 -172
  344. package/dist/features/ai-chat.js.map +1 -1
  345. package/dist/features/async-preview.js +8 -8
  346. package/dist/features/async-preview.js.map +1 -1
  347. package/dist/features/combobox.js +1 -1
  348. package/dist/features/comments.js +1 -1
  349. package/dist/features/data-view.js +139 -138
  350. package/dist/features/data-view.js.map +1 -1
  351. package/dist/features/email-composer/engine.js +1 -1
  352. package/dist/features/email-composer.js +353 -352
  353. package/dist/features/email-composer.js.map +1 -1
  354. package/dist/features/event-calendar.js +262 -269
  355. package/dist/features/event-calendar.js.map +1 -1
  356. package/dist/features/filters.js +1 -1
  357. package/dist/features/global-search.js +307 -310
  358. package/dist/features/global-search.js.map +1 -1
  359. package/dist/features/kanban.js +95 -97
  360. package/dist/features/kanban.js.map +1 -1
  361. package/dist/features/map.js +56 -57
  362. package/dist/features/map.js.map +1 -1
  363. package/dist/features/media-library.js +914 -824
  364. package/dist/features/media-library.js.map +1 -1
  365. package/dist/features/mentions.js +1 -1
  366. package/dist/features/overlays.js +1 -1
  367. package/dist/features/products.js +1272 -1311
  368. package/dist/features/products.js.map +1 -1
  369. package/dist/features/questionnaire.js +204 -194
  370. package/dist/features/questionnaire.js.map +1 -1
  371. package/dist/features/resource-assignment.js +103 -95
  372. package/dist/features/resource-assignment.js.map +1 -1
  373. package/dist/features/resource.js +77 -69
  374. package/dist/features/resource.js.map +1 -1
  375. package/dist/features/rich-text-editor.js +30 -11
  376. package/dist/features/rich-text-editor.js.map +1 -1
  377. package/dist/features/schema-form.js +193 -189
  378. package/dist/features/schema-form.js.map +1 -1
  379. package/dist/features/suggestions.js +3 -3
  380. package/dist/features/sync.js +7 -7
  381. package/dist/features/sync.js.map +1 -1
  382. package/dist/features/table.js +1 -1
  383. package/dist/features/theme-tweaker.js +455 -455
  384. package/dist/features/theme-tweaker.js.map +1 -1
  385. package/dist/feedback-qNuMBtRH.js +233 -0
  386. package/dist/feedback-qNuMBtRH.js.map +1 -0
  387. package/dist/field-affordance-recipes-qQeIf4lG.js +48 -0
  388. package/dist/field-affordance-recipes-qQeIf4lG.js.map +1 -0
  389. package/dist/field-state-recipes-BVA2CWHo.js +12 -0
  390. package/dist/field-state-recipes-BVA2CWHo.js.map +1 -0
  391. package/dist/{filters-D6FF8L6s.js → filters-BkHH53uv.js} +414 -412
  392. package/dist/filters-BkHH53uv.js.map +1 -0
  393. package/dist/focus-recipes-B653VaLq.js +12 -0
  394. package/dist/focus-recipes-B653VaLq.js.map +1 -0
  395. package/dist/{form-field-CZwrkP7m.js → form-field-DUt4UxSV.js} +7 -7
  396. package/dist/{form-field-CZwrkP7m.js.map → form-field-DUt4UxSV.js.map} +1 -1
  397. package/dist/form-sizing-By94KzXE.js +130 -0
  398. package/dist/form-sizing-By94KzXE.js.map +1 -0
  399. package/dist/{forms-B5NCbkSC.js → forms-Bzha-Y3B.js} +25 -25
  400. package/dist/forms-Bzha-Y3B.js.map +1 -0
  401. package/dist/forms-numeric-C0bvjRPZ.js +906 -0
  402. package/dist/forms-numeric-C0bvjRPZ.js.map +1 -0
  403. package/dist/{header-kxruN3RM.js → header-BOefOKd1.js} +38 -41
  404. package/dist/header-BOefOKd1.js.map +1 -0
  405. package/dist/{hooks-BrlnCwQd.js → hooks-9k_TtmKh.js} +2 -2
  406. package/dist/{hooks-BrlnCwQd.js.map → hooks-9k_TtmKh.js.map} +1 -1
  407. package/dist/{http-CdEIHyQf.js → http-D_6rOnzU.js} +2 -2
  408. package/dist/{http-CdEIHyQf.js.map → http-D_6rOnzU.js.map} +1 -1
  409. package/dist/icon-badge-CAuKupo9.js +55 -0
  410. package/dist/icon-badge-CAuKupo9.js.map +1 -0
  411. package/dist/index.js +7 -7
  412. package/dist/input-DWhBBBww.js +262 -0
  413. package/dist/input-DWhBBBww.js.map +1 -0
  414. package/dist/{input-vxcaNCYC.js → input-Ddi_LSYv.js} +3 -3
  415. package/dist/{input-vxcaNCYC.js.map → input-Ddi_LSYv.js.map} +1 -1
  416. package/dist/interaction-recipes-CHr0dJUs.js +24 -0
  417. package/dist/interaction-recipes-CHr0dJUs.js.map +1 -0
  418. package/dist/item-DEmDiTlD.js +265 -0
  419. package/dist/item-DEmDiTlD.js.map +1 -0
  420. package/dist/layer-recipes-CCpklYME.js +13 -0
  421. package/dist/layer-recipes-CCpklYME.js.map +1 -0
  422. package/dist/layout/app-shell.js +1 -1
  423. package/dist/layout/auth.js +1 -1
  424. package/dist/layout/containers.js +1 -1
  425. package/dist/layout/header.js +1 -1
  426. package/dist/layout/hooks.js +1 -1
  427. package/dist/layout/navigation.js +1 -1
  428. package/dist/layout/page.js +1 -1
  429. package/dist/layout/settings.js +1 -1
  430. package/dist/layout/sidebar.js +2 -2
  431. package/dist/layout/workspace.js +1 -1
  432. package/dist/layout.js +10 -10
  433. package/dist/lib/affordance-geometry.generated.d.ts +7 -1
  434. package/dist/lib/field-affordance-recipes.d.ts +41 -1
  435. package/dist/lib/field-state-recipes.d.ts +9 -6
  436. package/dist/lib/focus-recipes.d.ts +24 -0
  437. package/dist/lib/format.d.ts +9 -0
  438. package/dist/lib/interaction-recipes.d.ts +35 -0
  439. package/dist/lib/layer-recipes.d.ts +19 -0
  440. package/dist/lib/money-format.d.ts +30 -0
  441. package/dist/lib/motion-recipes.d.ts +1 -0
  442. package/dist/lib/overlay-anatomy-recipes.d.ts +2 -1
  443. package/dist/lib/safe-image-src.d.ts +10 -0
  444. package/dist/lib/sanitize-html.d.ts +15 -3
  445. package/dist/lib/surface-recipes.d.ts +48 -6
  446. package/dist/lib/token-merge.generated.d.ts +17 -14
  447. package/dist/lib/tone-recipes.d.ts +79 -0
  448. package/dist/lib/track-recipes.d.ts +1 -1
  449. package/dist/lib/ui-provider/hooks.d.ts +2 -1
  450. package/dist/lib/ui-provider/index.d.ts +2 -2
  451. package/dist/lib/ui-provider/provider.d.ts +7 -2
  452. package/dist/lib/ui-provider/store.d.ts +6 -2
  453. package/dist/lib/ui-provider/types.d.ts +14 -2
  454. package/dist/lib/utils.js +1 -1
  455. package/dist/media-gallery-DcTtAaeC.js +203 -0
  456. package/dist/media-gallery-DcTtAaeC.js.map +1 -0
  457. package/dist/mentions-D-uyCh01.js +568 -0
  458. package/dist/mentions-D-uyCh01.js.map +1 -0
  459. package/dist/{message-SZUNB1eX.js → message-CdHgIWKf.js} +5 -5
  460. package/dist/{message-SZUNB1eX.js.map → message-CdHgIWKf.js.map} +1 -1
  461. package/dist/metadata-list-X5rYAKSB.js +394 -0
  462. package/dist/metadata-list-X5rYAKSB.js.map +1 -0
  463. package/dist/{motion-recipes-B6jKXEcN.js → motion-recipes-ChBg4HBq.js} +3 -2
  464. package/dist/{motion-recipes-B6jKXEcN.js.map → motion-recipes-ChBg4HBq.js.map} +1 -1
  465. package/dist/navigation-D3KwXmaq.js +145 -0
  466. package/dist/navigation-D3KwXmaq.js.map +1 -0
  467. package/dist/navigation-HJf5zxlH.js +268 -0
  468. package/dist/navigation-HJf5zxlH.js.map +1 -0
  469. package/dist/{navigation-row-recipes-DQEXQcqY.js → navigation-row-recipes-BVowojQw.js} +2 -2
  470. package/dist/{navigation-row-recipes-DQEXQcqY.js.map → navigation-row-recipes-BVowojQw.js.map} +1 -1
  471. package/dist/number-DMhe-Vsk.js +352 -0
  472. package/dist/number-DMhe-Vsk.js.map +1 -0
  473. package/dist/overflow-tab-bar-sQHXLlwQ.js +280 -0
  474. package/dist/overflow-tab-bar-sQHXLlwQ.js.map +1 -0
  475. package/dist/overlay.recipes-8GHqmlb4.js +6 -0
  476. package/dist/overlay.recipes-8GHqmlb4.js.map +1 -0
  477. package/dist/overlays-I0axtYA6.js +999 -0
  478. package/dist/overlays-I0axtYA6.js.map +1 -0
  479. package/dist/{page-hGmT4nWK.js → page-B5dTH9gE.js} +79 -68
  480. package/dist/page-B5dTH9gE.js.map +1 -0
  481. package/dist/page-header-commands-DjzFEq3E.js +126 -0
  482. package/dist/page-header-commands-DjzFEq3E.js.map +1 -0
  483. package/dist/{pagination-NLGqRirf.js → pagination-3bPA_a6K.js} +19 -19
  484. package/dist/{pagination-NLGqRirf.js.map → pagination-3bPA_a6K.js.map} +1 -1
  485. package/dist/{popover-CghIYdQf.js → popover-Di55PyAI.js} +8 -8
  486. package/dist/popover-Di55PyAI.js.map +1 -0
  487. package/dist/{popover-menu-B4PoWhRl.js → popover-menu-B71Tn2Qz.js} +6 -6
  488. package/dist/{popover-menu-B4PoWhRl.js.map → popover-menu-B71Tn2Qz.js.map} +1 -1
  489. package/dist/{popover.recipes-QlD4JenO.js → popover.recipes-Bdyhj2db.js} +2 -2
  490. package/dist/{popover.recipes-QlD4JenO.js.map → popover.recipes-Bdyhj2db.js.map} +1 -1
  491. package/dist/primitives-B-CkiEMU.js +379 -0
  492. package/dist/primitives-B-CkiEMU.js.map +1 -0
  493. package/dist/primitives.js +5 -5
  494. package/dist/{progress-BroqrAyV.js → progress-rnS8-uAW.js} +11 -11
  495. package/dist/progress-rnS8-uAW.js.map +1 -0
  496. package/dist/{receipt-BuJynLgf.js → receipt-D0oswZ0p.js} +6 -6
  497. package/dist/{receipt-BuJynLgf.js.map → receipt-D0oswZ0p.js.map} +1 -1
  498. package/dist/rich-text-DvGulsNJ.js +78 -0
  499. package/dist/rich-text-DvGulsNJ.js.map +1 -0
  500. package/dist/rich-text-editor-sMU_Scqm.js +1204 -0
  501. package/dist/rich-text-editor-sMU_Scqm.js.map +1 -0
  502. package/dist/rich-text-editor.recipes-CadiF_Uu.js +88 -0
  503. package/dist/rich-text-editor.recipes-CadiF_Uu.js.map +1 -0
  504. package/dist/rich-text-editor.strings-CB59ekH2.js +38 -0
  505. package/dist/rich-text-editor.strings-CB59ekH2.js.map +1 -0
  506. package/dist/safe-image-src-C6kQSMBZ.js +17 -0
  507. package/dist/safe-image-src-C6kQSMBZ.js.map +1 -0
  508. package/dist/sanitize-html-DsQmI48u.js +92 -0
  509. package/dist/sanitize-html-DsQmI48u.js.map +1 -0
  510. package/dist/scroll-area-Bt_vXY2b.js +48 -0
  511. package/dist/scroll-area-Bt_vXY2b.js.map +1 -0
  512. package/dist/{separator-BNIgG3au.js → separator-C8DlRGwF.js} +4 -4
  513. package/dist/separator-C8DlRGwF.js.map +1 -0
  514. package/dist/{separator-BhtFyo4x.js → separator-CYHnjsAb.js} +2 -2
  515. package/dist/{separator-BhtFyo4x.js.map → separator-CYHnjsAb.js.map} +1 -1
  516. package/dist/services/actions/action-adapters.d.ts +22 -0
  517. package/dist/services/actions/index.d.ts +1 -1
  518. package/dist/services/actions.js +23 -6
  519. package/dist/services/actions.js.map +1 -1
  520. package/dist/settings-CQW3b-Cu.js +170 -0
  521. package/dist/settings-CQW3b-Cu.js.map +1 -0
  522. package/dist/sheet-4SEvVYzA.js +210 -0
  523. package/dist/sheet-4SEvVYzA.js.map +1 -0
  524. package/dist/{sidebar-CyR4XKwR.js → sidebar-C7WWR29L.js} +181 -180
  525. package/dist/sidebar-C7WWR29L.js.map +1 -0
  526. package/dist/sidebar-d7Dg80ln.js +511 -0
  527. package/dist/sidebar-d7Dg80ln.js.map +1 -0
  528. package/dist/{skeleton-3F0uhYn3.js → skeleton-Cz890JZF.js} +10 -10
  529. package/dist/skeleton-Cz890JZF.js.map +1 -0
  530. package/dist/smart-card-lFKxn5Hu.js +595 -0
  531. package/dist/smart-card-lFKxn5Hu.js.map +1 -0
  532. package/dist/{spinner-Cpf7oRkF.js → spinner-fa3h1Aif.js} +10 -8
  533. package/dist/spinner-fa3h1Aif.js.map +1 -0
  534. package/dist/{structure-CRdqVawd.js → structure-DC2dygdA.js} +3 -3
  535. package/dist/{structure-CRdqVawd.js.map → structure-DC2dygdA.js.map} +1 -1
  536. package/dist/{structure.recipes-Bqhf9oIh.js → structure.recipes-EPz60cU8.js} +37 -19
  537. package/dist/structure.recipes-EPz60cU8.js.map +1 -0
  538. package/dist/style.css +1 -1
  539. package/dist/surface-recipes-BKRVW8Os.js +43 -0
  540. package/dist/surface-recipes-BKRVW8Os.js.map +1 -0
  541. package/dist/table-CIKyLUsy.js +163 -0
  542. package/dist/table-CIKyLUsy.js.map +1 -0
  543. package/dist/{table-CcRDZiLP.js → table-CrcLN9Io.js} +544 -530
  544. package/dist/table-CrcLN9Io.js.map +1 -0
  545. package/dist/tabs-DwBJfjxX.js +190 -0
  546. package/dist/tabs-DwBJfjxX.js.map +1 -0
  547. package/dist/{text-inputs-DsR56TR-.js → text-inputs-aaK9wcDT.js} +151 -155
  548. package/dist/text-inputs-aaK9wcDT.js.map +1 -0
  549. package/dist/{text.styles-Q4sGAIgA.js → text.styles-g4He6UIW.js} +17 -14
  550. package/dist/text.styles-g4He6UIW.js.map +1 -0
  551. package/dist/theme.css +16 -12
  552. package/dist/themes/green.css +24 -0
  553. package/dist/{timelines-D1pkt3se.js → timelines-C_SBwHNP.js} +154 -164
  554. package/dist/timelines-C_SBwHNP.js.map +1 -0
  555. package/dist/tone-recipes-CPoExcTE.js +70 -0
  556. package/dist/tone-recipes-CPoExcTE.js.map +1 -0
  557. package/dist/tooltip-CsfgrfS7.js +111 -0
  558. package/dist/tooltip-CsfgrfS7.js.map +1 -0
  559. package/dist/track-recipes-CDcKmndW.js +10 -0
  560. package/dist/track-recipes-CDcKmndW.js.map +1 -0
  561. package/dist/{tree-BtmYyMZV.js → tree-BiKhg8AY.js} +72 -70
  562. package/dist/tree-BiKhg8AY.js.map +1 -0
  563. package/dist/typography/rich-text.js +1 -1
  564. package/dist/typography-DTRkE9zL.js +117 -0
  565. package/dist/typography-DTRkE9zL.js.map +1 -0
  566. package/dist/typography.js +2 -2
  567. package/dist/{ui-provider-DRPn3qNl.js → ui-provider-1D_NSYzO.js} +30 -23
  568. package/dist/ui-provider-1D_NSYzO.js.map +1 -0
  569. package/dist/ui-provider.js +3 -3
  570. package/dist/{upload-CDbYw1WN.js → upload-BO8-CLN6.js} +294 -293
  571. package/dist/upload-BO8-CLN6.js.map +1 -0
  572. package/dist/{upload-queue-CNd_hH_a.js → upload-queue-EOC8g1gf.js} +133 -138
  573. package/dist/upload-queue-EOC8g1gf.js.map +1 -0
  574. package/dist/upload.recipes-BbxTqrCT.js +61 -0
  575. package/dist/upload.recipes-BbxTqrCT.js.map +1 -0
  576. package/dist/{usage-card-VyJLUwRr.js → usage-card-obRaBskq.js} +42 -43
  577. package/dist/{usage-card-VyJLUwRr.js.map → usage-card-obRaBskq.js.map} +1 -1
  578. package/dist/{utils-BvH9PSmq.js → utils-l5LpDw2z.js} +264 -62
  579. package/dist/utils-l5LpDw2z.js.map +1 -0
  580. package/dist/value-inputs-TAYMX111.js +947 -0
  581. package/dist/value-inputs-TAYMX111.js.map +1 -0
  582. package/dist/value-typography-b8wpz1eX.js +116 -0
  583. package/dist/value-typography-b8wpz1eX.js.map +1 -0
  584. package/dist/workspace-DH0v0KcB.js +407 -0
  585. package/dist/workspace-DH0v0KcB.js.map +1 -0
  586. package/docs/consumer-skill/SKILL.md +62 -50
  587. package/docs/consumer-skill/examples/app-layout.tsx +3 -5
  588. package/docs/consumer-skill/examples/composition.tsx +3 -3
  589. package/docs/consumer-skill/examples/detail.tsx +59 -13
  590. package/docs/consumer-skill/examples/edit.tsx +2 -2
  591. package/docs/consumer-skill/examples/layout-blocks.tsx +20 -0
  592. package/docs/consumer-skill/examples/manifest.json +28 -6
  593. package/docs/consumer-skill/examples/receipt.tsx +2 -2
  594. package/docs/consumer-skill/examples/scoped-directory.tsx +3 -3
  595. package/docs/consumer-skill/examples/website.tsx +1 -1
  596. package/docs/consumer-skill/references/agents-md.md +33 -0
  597. package/docs/consumer-skill/references/analytics.md +1 -1
  598. package/docs/consumer-skill/references/composition.md +139 -24
  599. package/docs/consumer-skill/references/design-contract.md +12 -3
  600. package/docs/consumer-skill/references/discovery.md +4 -0
  601. package/docs/consumer-skill/references/installation.md +33 -1
  602. package/docs/consumer-skill/references/integration.md +32 -1
  603. package/docs/consumer-skill/references/public-api.json +1051 -610
  604. package/docs/consumer-skill/references/review.md +44 -8
  605. package/docs/consumer-skill/references/theming.md +14 -4
  606. package/docs/consumer-skill/references/tokens.json +5 -2
  607. package/docs/consumer-skill/references/workflows.md +30 -9
  608. package/docs/consumer-skill/scripts/composition-policy.mjs +127 -6
  609. package/docs/consumer-skill/scripts/discovery.mjs +11 -3
  610. package/docs/consumer-skill/scripts/pin-button-defaults.mjs +95 -0
  611. package/docs/consumer-skill/scripts/surface-policy.mjs +139 -5
  612. package/package.json +13 -3
  613. package/dist/accordion-BRTcsp8J.js +0 -205
  614. package/dist/accordion-BRTcsp8J.js.map +0 -1
  615. package/dist/action-menu-Drxw_vJk.js +0 -265
  616. package/dist/action-menu-Drxw_vJk.js.map +0 -1
  617. package/dist/affordance-geometry.generated-CL84ZN9A.js.map +0 -1
  618. package/dist/ai-artifact-DLVdK0Py.js.map +0 -1
  619. package/dist/attachment-DbjUWsP0.js +0 -244
  620. package/dist/attachment-DbjUWsP0.js.map +0 -1
  621. package/dist/auth-CAQcasMV.js.map +0 -1
  622. package/dist/avatar-Bu2HhitA.js.map +0 -1
  623. package/dist/badge-CzId1Wlm.js +0 -92
  624. package/dist/badge-CzId1Wlm.js.map +0 -1
  625. package/dist/breadcrumbs-BuYz5SDU.js +0 -128
  626. package/dist/breadcrumbs-BuYz5SDU.js.map +0 -1
  627. package/dist/button-BZDasD04.js +0 -651
  628. package/dist/button-BZDasD04.js.map +0 -1
  629. package/dist/button-BZyfTvwm.js.map +0 -1
  630. package/dist/buttons-D_6KJvEE.js +0 -99
  631. package/dist/buttons-D_6KJvEE.js.map +0 -1
  632. package/dist/cards-qGSErLw_.js.map +0 -1
  633. package/dist/chart-Bsc5BICK.js.map +0 -1
  634. package/dist/checkbox-BQNDjUCh.js +0 -34
  635. package/dist/checkbox-BQNDjUCh.js.map +0 -1
  636. package/dist/choice-inputs-Mk3iWbhr.js +0 -725
  637. package/dist/choice-inputs-Mk3iWbhr.js.map +0 -1
  638. package/dist/code-block-DzHKRybS.js +0 -183
  639. package/dist/code-block-DzHKRybS.js.map +0 -1
  640. package/dist/combobox-BFnbJJp3.js.map +0 -1
  641. package/dist/combobox-hozNwUcc.js +0 -847
  642. package/dist/combobox-hozNwUcc.js.map +0 -1
  643. package/dist/command-BnmSchli.js.map +0 -1
  644. package/dist/comments-u5L0OGip.js.map +0 -1
  645. package/dist/containers-DqB-bSYE.js.map +0 -1
  646. package/dist/data-display-Bihs9Ven.js +0 -1342
  647. package/dist/data-display-Bihs9Ven.js.map +0 -1
  648. package/dist/date-DOKhJPu7.js +0 -140
  649. package/dist/date-DOKhJPu7.js.map +0 -1
  650. package/dist/date-picker-DzP5HQq7.js +0 -1541
  651. package/dist/date-picker-DzP5HQq7.js.map +0 -1
  652. package/dist/date-pickers-BpgGz7S-.js +0 -196
  653. package/dist/date-pickers-BpgGz7S-.js.map +0 -1
  654. package/dist/display-CS6Hbk18.js.map +0 -1
  655. package/dist/dropdown-menu-D-boNgGO.js.map +0 -1
  656. package/dist/feedback-CJkUAapr.js +0 -233
  657. package/dist/feedback-CJkUAapr.js.map +0 -1
  658. package/dist/field-affordance-recipes-uKY4MsZ_.js +0 -25
  659. package/dist/field-affordance-recipes-uKY4MsZ_.js.map +0 -1
  660. package/dist/field-state-recipes-DQQpiLWC.js +0 -11
  661. package/dist/field-state-recipes-DQQpiLWC.js.map +0 -1
  662. package/dist/filters-D6FF8L6s.js.map +0 -1
  663. package/dist/form-sizing-QP8aIRaW.js +0 -103
  664. package/dist/form-sizing-QP8aIRaW.js.map +0 -1
  665. package/dist/format-iamDSqs2.js +0 -110
  666. package/dist/format-iamDSqs2.js.map +0 -1
  667. package/dist/forms-B5NCbkSC.js.map +0 -1
  668. package/dist/forms-numeric-Crrm80Lm.js +0 -867
  669. package/dist/forms-numeric-Crrm80Lm.js.map +0 -1
  670. package/dist/header-kxruN3RM.js.map +0 -1
  671. package/dist/icon-badge-Btc6pQrp.js +0 -53
  672. package/dist/icon-badge-Btc6pQrp.js.map +0 -1
  673. package/dist/input-SX9V0AL3.js +0 -255
  674. package/dist/input-SX9V0AL3.js.map +0 -1
  675. package/dist/item-DE4YnuJx.js +0 -258
  676. package/dist/item-DE4YnuJx.js.map +0 -1
  677. package/dist/media-gallery-DLp3HAz0.js +0 -201
  678. package/dist/media-gallery-DLp3HAz0.js.map +0 -1
  679. package/dist/mentions-Cl0Kt_Pd.js +0 -565
  680. package/dist/mentions-Cl0Kt_Pd.js.map +0 -1
  681. package/dist/navigation-DnQSNMT0.js +0 -276
  682. package/dist/navigation-DnQSNMT0.js.map +0 -1
  683. package/dist/navigation-DyytsLRB.js +0 -265
  684. package/dist/navigation-DyytsLRB.js.map +0 -1
  685. package/dist/number-DasMFWEG.js +0 -269
  686. package/dist/number-DasMFWEG.js.map +0 -1
  687. package/dist/overlay.recipes-BxW5FIfK.js +0 -6
  688. package/dist/overlay.recipes-BxW5FIfK.js.map +0 -1
  689. package/dist/overlays-DUbs1KEi.js +0 -1011
  690. package/dist/overlays-DUbs1KEi.js.map +0 -1
  691. package/dist/page-hGmT4nWK.js.map +0 -1
  692. package/dist/page-header-D8nERkn5.js +0 -112
  693. package/dist/page-header-D8nERkn5.js.map +0 -1
  694. package/dist/popover-CghIYdQf.js.map +0 -1
  695. package/dist/primitives-C7ff0QaI.js +0 -337
  696. package/dist/primitives-C7ff0QaI.js.map +0 -1
  697. package/dist/progress-BroqrAyV.js.map +0 -1
  698. package/dist/rich-text-DlxDOtf4.js +0 -32
  699. package/dist/rich-text-DlxDOtf4.js.map +0 -1
  700. package/dist/rich-text-editor-BKyG7rWz.js +0 -574
  701. package/dist/rich-text-editor-BKyG7rWz.js.map +0 -1
  702. package/dist/rich-text-editor.recipes-B72Nfuze.js +0 -81
  703. package/dist/rich-text-editor.recipes-B72Nfuze.js.map +0 -1
  704. package/dist/rich-text-editor.strings-BpnIQgMl.js +0 -25
  705. package/dist/rich-text-editor.strings-BpnIQgMl.js.map +0 -1
  706. package/dist/sanitize-html-BG9FGe-j.js +0 -64
  707. package/dist/sanitize-html-BG9FGe-j.js.map +0 -1
  708. package/dist/scroll-area-D-pIhEKl.js +0 -47
  709. package/dist/scroll-area-D-pIhEKl.js.map +0 -1
  710. package/dist/separator-BNIgG3au.js.map +0 -1
  711. package/dist/settings-DOTOzeZ2.js +0 -161
  712. package/dist/settings-DOTOzeZ2.js.map +0 -1
  713. package/dist/sheet-BFhrNehm.js +0 -205
  714. package/dist/sheet-BFhrNehm.js.map +0 -1
  715. package/dist/sidebar-CyR4XKwR.js.map +0 -1
  716. package/dist/sidebar-SvGJ0Zwi.js +0 -506
  717. package/dist/sidebar-SvGJ0Zwi.js.map +0 -1
  718. package/dist/skeleton-3F0uhYn3.js.map +0 -1
  719. package/dist/smart-card-DjGVV2xr.js +0 -584
  720. package/dist/smart-card-DjGVV2xr.js.map +0 -1
  721. package/dist/spinner-Cpf7oRkF.js.map +0 -1
  722. package/dist/structure.recipes-Bqhf9oIh.js.map +0 -1
  723. package/dist/surface-recipes-Dd__PD-w.js +0 -28
  724. package/dist/surface-recipes-Dd__PD-w.js.map +0 -1
  725. package/dist/table-CLtJTxoR.js +0 -147
  726. package/dist/table-CLtJTxoR.js.map +0 -1
  727. package/dist/table-CcRDZiLP.js.map +0 -1
  728. package/dist/tabs-BNgu7g0u.js +0 -188
  729. package/dist/tabs-BNgu7g0u.js.map +0 -1
  730. package/dist/text-inputs-DsR56TR-.js.map +0 -1
  731. package/dist/text.styles-Q4sGAIgA.js.map +0 -1
  732. package/dist/timelines-D1pkt3se.js.map +0 -1
  733. package/dist/track-recipes-LLPNVwFg.js +0 -10
  734. package/dist/track-recipes-LLPNVwFg.js.map +0 -1
  735. package/dist/tree-BtmYyMZV.js.map +0 -1
  736. package/dist/typography-BxQgiZyw.js +0 -96
  737. package/dist/typography-BxQgiZyw.js.map +0 -1
  738. package/dist/ui-provider-DRPn3qNl.js.map +0 -1
  739. package/dist/upload-CDbYw1WN.js.map +0 -1
  740. package/dist/upload-queue-CNd_hH_a.js.map +0 -1
  741. package/dist/use-file-drop-target-BX7GnhoQ.js +0 -39
  742. package/dist/use-file-drop-target-BX7GnhoQ.js.map +0 -1
  743. package/dist/utils-BvH9PSmq.js.map +0 -1
  744. package/dist/value-inputs-D0KCrfVC.js +0 -840
  745. package/dist/value-inputs-D0KCrfVC.js.map +0 -1
  746. package/dist/workspace-CcR8r-Nt.js +0 -395
  747. package/dist/workspace-CcR8r-Nt.js.map +0 -1
  748. /package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.strings.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"inline-edit.js","names":["React","useDensityConfig","cn","affordanceGeometry","Text","Button","Grid","Stack","editableTextSizeClasses","formControlMinHeightClasses","formFieldTriggerClasses","formControlIconClasses","resolveFormControlSize","Input","Textarea","FormField","React$1","inlineEditRecipes","defaultInlineEditStrings","InlineEdit","valueProp","editingProp","stringsProp","sizeProp","providedId","rootProps","generatedId","id","supportingId","strings","useStrings","size","defaultScale","localValue","setLocalValue","defaultValue","value","localEditing","setLocalEditing","defaultEditing","editing","readOnly","disabled","draft","setDraft","error","setError","saving","setSaving","editorRef","triggerRef","pending","generation","latest","previous","restoreFocus","invalidate","entering","replaced","requestEditing","next","onEditingChange","dismiss","save","loading","nextValue","controller","version","committedAtStart","current","validationError","required","validate","onSave","onValueChange","cause","onKeyDown","event","multiline","support","description","accessibleName","label","editLabel","display","renderValue","placeholder","displayClasses","editorProps","clearable","invalid","className","name","textareaProps","inputProps","LoaderCircle","PencilIcon","CheckIcon","XIcon"],"sources":["../../src/components/base/inline-edit/inline-edit.recipes.ts","../../src/components/base/inline-edit/inline-edit.tsx"],"sourcesContent":["/** Private field/action layout; geometry remains generated from shared roots. */\nexport const inlineEditRecipes = {\n\tframe: 'transition-[grid-template-columns,column-gap] duration-180 ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none',\n\tclosedColumns: 'grid-cols-[minmax(0,1fr)_0px]',\n\tactionsTrack: 'min-w-0 flex items-center justify-end overflow-hidden focus-within:overflow-visible transition-opacity duration-180 ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none',\n} as const;\n","import * as React from 'react';\nimport { CheckIcon, LoaderCircle, PencilIcon, XIcon } from 'lucide-react';\nimport { cn } from '../../../lib/utils';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport { affordanceGeometry } from '../../../lib/affordance-geometry.generated';\nimport { editableTextSizeClasses } from '../../../lib/editable-text-recipe';\nimport { useDensityConfig } from '../../../lib/ui-provider';\nimport { formControlIconClasses, formControlMinHeightClasses, formFieldTriggerClasses, resolveFormControlSize } from '../forms/form-sizing';\nimport { Button } from '../buttons';\nimport { FormField } from '../forms/form-field';\nimport { Grid, Stack } from '../structure';\nimport { Input, Textarea, type InputProps, type TextareaProps } from '../text-inputs';\nimport { Text } from '../../typography';\nimport { inlineEditRecipes } from './inline-edit.recipes';\n\nexport interface InlineEditStrings {\n\t/** Accessible name of the edit action when editLabel is absent. */\n\tedit: string;\n\t/** Accessible name of the save action. */\n\tsave: string;\n\t/** Accessible name of the cancel action, including while saving. */\n\tcancel: string;\n\t/** Live announcement and save action name during persistence. */\n\tsaving: string;\n\t/** Validation copy for a required empty value. */\n\trequired: string;\n\t/** Fallback copy for a rejected save without an Error message. */\n\tsaveError: string;\n\t/** Display copy for an empty value when placeholder is absent. */\n\tempty: string;\n}\n\nexport const defaultInlineEditStrings: InlineEditStrings = {\n\tedit: 'Edit value', save: 'Save changes', cancel: 'Cancel editing',\n\tsaving: 'Saving changes', required: 'Enter a value.',\n\tsaveError: 'Unable to save. Try again.', empty: 'Add a value',\n};\n\nexport interface InlineEditSaveContext {\n\t/** Aborted on cancel, unmount, external value replacement, or external dismissal. */\n\tsignal: AbortSignal;\n}\n\ntype SharedControlProps = Pick<InputProps, 'size' | 'invalid' | 'loading' | 'clearable' | 'onClear' | 'showCharacterCount'>;\ntype OwnedEditorProps = keyof SharedControlProps | 'value' | 'defaultValue' | 'onChange' | 'ref' | 'id' | 'name' | 'form' | 'required' | 'disabled' | 'readOnly' | 'placeholder' | 'autoComplete' | 'maxLength' | 'rows' | 'returnValueWithAddons';\n\nexport interface InlineEditProps extends SharedControlProps, Omit<React.ComponentPropsWithoutRef<'div'>, 'children' | 'defaultValue' | 'onChange'> {\n\t/** Native Input attributes, adornments and strings. Draft/state ownership stays with InlineEdit. */\n\tinputProps?: Omit<InputProps, OwnedEditorProps>;\n\t/** Native Textarea attributes, resizing options and strings. Draft/state ownership stays with InlineEdit. */\n\ttextareaProps?: Omit<TextareaProps, OwnedEditorProps>;\n\t/** Committed value. Draft edits remain local until save succeeds. */\n\tvalue?: string;\n\t/** Initial committed value for uncontrolled usage. */\n\tdefaultValue?: string;\n\t/** Called with the new committed value after a successful changed save. */\n\tonValueChange?: (value: string) => void;\n\t/** Controlled editor visibility. */\n\tediting?: boolean;\n\t/** Initial visibility for uncontrolled usage. */\n\tdefaultEditing?: boolean;\n\t/** Requests a visibility change; controlled parents must update editing. */\n\tonEditingChange?: (editing: boolean) => void;\n\t/** Uses Textarea. Plain Enter inserts a newline; Ctrl/Cmd+Enter saves. */\n\tmultiline?: boolean;\n\t/** Field caption above both presentation and editing states. */\n\tlabel?: React.ReactNode;\n\t/** Supporting copy, replaced by a validation or save error when present. */\n\tdescription?: React.ReactNode;\n\t/** Empty display copy and editor placeholder. */\n\tplaceholder?: string;\n\t/** Accessible edit action name, useful when the display is a title. */\n\teditLabel?: string;\n\t/** Custom passive display content. Do not nest interactive elements. */\n\trenderValue?: (value: string) => React.ReactNode;\n\t/** Prevents editing and disables the edit action. */\n\tdisabled?: boolean;\n\t/** Renders passive content with no edit action. */\n\treadOnly?: boolean;\n\t/** Save-time validation for an empty draft; marks the editor aria-required without constraining the parent form. */\n\trequired?: boolean;\n\t/** Return an error message to keep the draft open without calling onSave. */\n\tvalidate?: (value: string) => string | undefined | null;\n\t/** Persist the draft; rejection keeps it open for correction or retry. */\n\tonSave?: (value: string, context: InlineEditSaveContext) => void | Promise<void>;\n\t/** Native form field name. Only the committed value is submitted. */\n\tname?: string;\n\t/** Associates the committed hidden field with a native form. */\n\tform?: string;\n\t/** Native editor autocomplete hint. */\n\tautoComplete?: string;\n\t/** Maximum editor character count. */\n\tmaxLength?: number;\n\t/** Native Textarea row count. */\n\trows?: number;\n\t/** Localized component copy. */\n\tstrings?: StringsProp<InlineEditStrings>;\n}\n\n/** Inline text editing with an isolated draft and explicit, cancellable saves. */\nexport const InlineEdit = React.forwardRef<HTMLDivElement, InlineEditProps>(function InlineEdit({\n\tvalue: valueProp, defaultValue = '', onValueChange,\n\tediting: editingProp, defaultEditing = false, onEditingChange,\n\tmultiline = false, label, description, placeholder, editLabel, renderValue,\n\tdisabled = false, readOnly = false, required = false, validate, onSave,\n\tname, form, autoComplete, maxLength, rows = 3, strings: stringsProp,\n\tsize: sizeProp, invalid = false, loading = false, clearable, onClear, showCharacterCount, inputProps, textareaProps,\n\tid: providedId, className, ...rootProps\n}, ref) {\n\tconst generatedId = React.useId();\n\tconst id = providedId ?? `inline-edit-${generatedId}`;\n\tconst supportingId = `${id}-supporting`;\n\tconst strings = useStrings(defaultInlineEditStrings, stringsProp);\n\tconst { defaultScale } = useDensityConfig();\n\tconst size = resolveFormControlSize(sizeProp, defaultScale);\n\tconst [localValue, setLocalValue] = React.useState(defaultValue);\n\tconst value = valueProp ?? localValue;\n\tconst [localEditing, setLocalEditing] = React.useState(defaultEditing);\n\tconst editing = (editingProp ?? localEditing) && !readOnly && !disabled;\n\tconst [draft, setDraft] = React.useState(value);\n\tconst [error, setError] = React.useState<string>();\n\tconst [saving, setSaving] = React.useState(false);\n\tconst editorRef = React.useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n\tconst triggerRef = React.useRef<HTMLButtonElement>(null);\n\tconst pending = React.useRef<AbortController | null>(null);\n\tconst generation = React.useRef(0);\n\tconst latest = React.useRef({ value, editing });\n\tlatest.current = { value, editing };\n\tconst previous = React.useRef({ value, editing: false });\n\tconst restoreFocus = React.useRef(false);\n\n\tfunction invalidate() {\n\t\tgeneration.current += 1;\n\t\tpending.current?.abort();\n\t\tpending.current = null;\n\t}\n\n\tReact.useLayoutEffect(() => {\n\t\tconst entering = editing && !previous.current.editing;\n\t\tconst replaced = value !== previous.current.value;\n\t\tif (!editing || entering || replaced) {\n\t\t\tinvalidate();\n\t\t\tsetDraft(value);\n\t\t\tsetError(undefined);\n\t\t\tsetSaving(false);\n\t\t}\n\t\tif (entering) editorRef.current?.focus();\n\t\tif (!editing && restoreFocus.current) {\n\t\t\ttriggerRef.current?.focus();\n\t\t\trestoreFocus.current = false;\n\t\t}\n\t\tprevious.current = { value, editing };\n\t}, [value, editing]);\n\n\tReact.useEffect(() => () => { invalidate(); }, []);\n\n\tfunction requestEditing(next: boolean) {\n\t\tif (editingProp === undefined) setLocalEditing(next);\n\t\tonEditingChange?.(next);\n\t}\n\n\tfunction dismiss() {\n\t\tinvalidate();\n\t\tsetSaving(false);\n\t\tsetDraft(value);\n\t\tsetError(undefined);\n\t\trestoreFocus.current = true;\n\t\trequestEditing(false);\n\t}\n\n\tasync function save() {\n\t\tif (pending.current || !editing || loading) return;\n\t\tif (draft === value) { dismiss(); return; }\n\t\tconst nextValue = draft;\n\t\tconst controller = new AbortController();\n\t\tconst version = ++generation.current;\n\t\tconst committedAtStart = value;\n\t\tconst current = () => !controller.signal.aborted && generation.current === version\n\t\t\t&& latest.current.editing && latest.current.value === committedAtStart;\n\t\ttry {\n\t\t\tconst validationError = (required && !nextValue.trim() ? strings.required : validate?.(nextValue))\n\t\t\t\t|| (editorRef.current && !editorRef.current.checkValidity() ? editorRef.current.validationMessage : undefined);\n\t\t\tif (validationError) {\n\t\t\t\tsetError(validationError);\n\t\t\t\teditorRef.current?.focus();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetError(undefined);\n\t\t\tpending.current = controller;\n\t\t\tsetSaving(true);\n\t\t\t// Keep keyboard cancellation inside the editor when the save action disables.\n\t\t\teditorRef.current?.focus();\n\t\t\tawait onSave?.(nextValue, { signal: controller.signal });\n\t\t\tif (!current()) return;\n\t\t\tpending.current = null;\n\t\t\tsetSaving(false);\n\t\t\tif (valueProp === undefined) setLocalValue(nextValue);\n\t\t\tonValueChange?.(nextValue);\n\t\t\trestoreFocus.current = true;\n\t\t\trequestEditing(false);\n\t\t} catch (cause) {\n\t\t\tif (!current()) return;\n\t\t\tpending.current = null;\n\t\t\tsetSaving(false);\n\t\t\tsetError(cause instanceof Error && cause.message ? cause.message : strings.saveError);\n\t\t\teditorRef.current?.focus();\n\t\t}\n\t}\n\n\tfunction onKeyDown(event: React.KeyboardEvent<HTMLDivElement>) {\n\t\tif (!editing || event.defaultPrevented || event.nativeEvent.isComposing) return;\n\t\tif (event.key === 'Escape') {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tdismiss();\n\t\t} else if (event.key === 'Enter' && event.target === editorRef.current\n\t\t\t&& (!multiline || event.ctrlKey || event.metaKey)) {\n\t\t\tevent.preventDefault();\n\t\t\tvoid save();\n\t\t}\n\t}\n\n\tconst support = error || description;\n\tconst accessibleName = rootProps['aria-label'] ?? (typeof label === 'string' ? label : label ? undefined : editLabel ?? strings.edit);\n\tconst display = renderValue?.(value) ?? <Text tag=\"span\" size=\"inherit\" type={value ? 'main' : 'secondary'} className={cn('min-w-0', multiline ? 'whitespace-pre-wrap break-words' : 'truncate')}>{value || placeholder || strings.empty}</Text>;\n\tconst displayClasses = cn(formFieldTriggerClasses(size), editableTextSizeClasses[size], '!h-auto',\n\t\tmultiline ? ['items-start px-control py-control-y-offset', size === 'sm' ? 'min-h-textarea-sm' : 'min-h-textarea'] : formControlMinHeightClasses[size]);\n\tconst editorProps = {\n\t\tid, value: draft, onChange: (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n\t\t\tif (!saving) { setDraft(event.target.value); setError(undefined); }\n\t\t},\n\t\t// Uncommitted controls must not validate or submit the surrounding native form.\n\t\tform: `inline-edit-draft-${generatedId}`,\n\t\tplaceholder, autoComplete, maxLength, size, loading, clearable: clearable && !saving, onClear, showCharacterCount,\n\t\t'aria-required': required || undefined, readOnly: saving,\n\t\tinvalid: invalid || Boolean(error), 'aria-label': accessibleName, 'aria-labelledby': rootProps['aria-labelledby'],\n\t\t'aria-describedby': support ? supportingId : undefined,\n\t\t'aria-errormessage': error ? supportingId : undefined,\n\t};\n\n\treturn <FormField {...rootProps} ref={ref} id={`${id}-root`} label={label} htmlFor={id}\n\t\trequired={required} helperText={description} error={editing ? error : undefined}\n\t\tsupportingTextId={supportingId} className={cn('inline-edit--component min-w-0', className)}\n\t\tdata-editing={editing || undefined} data-saving={saving || undefined} aria-busy={loading || saving || undefined}>\n\t\t\t{name && <input type=\"hidden\" name={name} form={form} value={value} disabled={disabled} />}\n\t\t\t{readOnly ? <div id={id} className={cn('inline-edit--value min-w-0', displayClasses)} aria-invalid={invalid || undefined}>{display}</div> : <Grid columns={1} gap={editing ? 'lg' : 'none'} align=\"center\"\n\t\t\t\tclassName={cn('inline-edit--frame', editing && 'inline-edit--editor', inlineEditRecipes.frame,\n\t\t\t\t\tediting ? affordanceGeometry.inlineEditColumns[multiline ? 'multiline' : 'single'] : inlineEditRecipes.closedColumns)}\n\t\t\t\tonKeyDown={onKeyDown} aria-busy={saving || undefined}>\n\t\t\t\t<div className=\"inline-edit--field min-w-0\">\n\t\t\t\t\t{editing ? (multiline ? <Textarea {...textareaProps} {...editorProps} rows={rows} ref={editorRef as React.Ref<HTMLTextAreaElement>} />\n\t\t\t\t\t\t: <Input {...inputProps} {...editorProps} ref={editorRef as React.Ref<HTMLInputElement>} />)\n\t\t\t\t\t\t: <button id={id} ref={triggerRef} type=\"button\"\n\t\t\t\t\t\t\tdisabled={disabled || loading} aria-invalid={invalid || undefined} aria-label={editLabel ?? (typeof label === 'string' ? `${strings.edit}: ${label}` : strings.edit)} aria-describedby={description ? supportingId : undefined}\n\t\t\t\t\t\t\tonClick={() => requestEditing(true)}\n\t\t\t\t\t\t\tclassName={cn('inline-edit--trigger group box-border m-0 cursor-pointer justify-between whitespace-normal text-start', displayClasses)}>\n\t\t\t\t\t\t\t{display}\n\t\t\t\t\t\t\t{loading ? <LoaderCircle aria-hidden=\"true\" className={cn(formControlIconClasses[size], 'self-center animate-spin motion-reduce:animate-none')} /> : <PencilIcon aria-hidden=\"true\" className=\"size-icon-sm self-center shrink-0 text-muted-foreground opacity-0 transition-opacity duration-150 motion-reduce:transition-none pointer-coarse:opacity-100 [@media(hover:none)]:opacity-100 group-hover:opacity-100 group-focus-visible:opacity-100\" />}\n\t\t\t\t\t\t</button>}\n\t\t\t\t</div>\n\t\t\t\t<div aria-hidden={!editing || undefined} inert={!editing || undefined}\n\t\t\t\t\tclassName={cn(inlineEditRecipes.actionsTrack, editing ? 'opacity-100' : 'pointer-events-none opacity-0')}>\n\t\t\t\t<Stack direction={multiline ? 'vertical' : 'horizontal'} gap=\"xs\" wrap={false} className=\"inline-edit--actions shrink-0\">\n\t\t\t\t\t<Button type=\"button\" size=\"sm\" iconOnly tone=\"primary\" buttonStyle=\"solid\"\n\t\t\t\t\t\taria-label={saving ? strings.saving : strings.save} disabled={!editing || saving || loading} aria-busy={saving || undefined} onClick={() => { void save(); }}>\n\t\t\t\t\t\t{saving ? <LoaderCircle aria-hidden=\"true\" className=\"size-icon-sm animate-spin motion-reduce:animate-none\" /> : <CheckIcon aria-hidden=\"true\" className=\"size-icon-sm\" />}\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button type=\"button\" size=\"sm\" iconOnly tone=\"neutral\" buttonStyle=\"ghost\"\n\t\t\t\t\t\taria-label={strings.cancel} disabled={!editing} onClick={dismiss}><XIcon aria-hidden=\"true\" className=\"size-icon-sm\" /></Button>\n\t\t\t\t</Stack>\n\t\t\t\t</div>\n\t\t\t\t{saving && <Text tag=\"span\" role=\"status\" className=\"sr-only\">{strings.saving}</Text>}\n\t\t\t</Grid>}\n\t</FormField>;\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"inline-edit.js","names":["React","useDensityConfig","cn","affordanceGeometry","Button","Text","Grid","Stack","editableTextSizeClasses","resolveFormControlSize","formControlMinHeightClasses","formFieldTriggerClasses","formTextareaInsetClasses","formControlIconClasses","Input","FormField","Textarea","React$1","inlineEditRecipes","defaultInlineEditStrings","InlineEdit","valueProp","editingProp","stringsProp","sizeProp","providedId","rootProps","generatedId","id","supportingId","strings","useStrings","size","defaultScale","localValue","setLocalValue","defaultValue","value","localEditing","setLocalEditing","defaultEditing","editing","readOnly","disabled","draft","setDraft","error","setError","saving","setSaving","editorRef","triggerRef","pending","generation","latest","previous","restoreFocus","invalidate","entering","replaced","requestEditing","next","onEditingChange","dismiss","save","loading","nextValue","controller","version","committedAtStart","current","validationError","required","validate","onSave","onValueChange","cause","onKeyDown","event","multiline","support","description","accessibleName","label","editLabel","display","renderValue","placeholder","displayClasses","editorProps","clearable","invalid","className","name","textareaProps","inputProps","LoaderCircle","PencilIcon","CheckIcon","XIcon"],"sources":["../../src/components/base/inline-edit/inline-edit.recipes.ts","../../src/components/base/inline-edit/inline-edit.tsx"],"sourcesContent":["/** Private field/action layout; geometry remains generated from shared roots. */\nexport const inlineEditRecipes = {\n\tframe: 'transition-[grid-template-columns,column-gap] duration-180 ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none',\n\tclosedColumns: 'grid-cols-[minmax(0,1fr)_0px]',\n\tactionsTrack: 'min-w-0 flex items-center justify-end overflow-hidden focus-within:overflow-visible transition-opacity duration-180 ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none',\n} as const;\n","import * as React from 'react';\nimport { CheckIcon, LoaderCircle, PencilIcon, XIcon } from 'lucide-react';\nimport { cn } from '../../../lib/utils';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport { affordanceGeometry } from '../../../lib/affordance-geometry.generated';\nimport { editableTextSizeClasses } from '../../../lib/editable-text-recipe';\nimport { useDensityConfig } from '../../../lib/ui-provider';\nimport { formControlIconClasses, formControlMinHeightClasses, formFieldTriggerClasses, formTextareaInsetClasses, resolveFormControlSize } from '../forms/form-sizing';\nimport { Button } from '../buttons';\nimport { FormField } from '../forms/form-field';\nimport { Grid, Stack } from '../structure';\nimport { Input, Textarea, type InputProps, type TextareaProps } from '../text-inputs';\nimport { Text } from '../../typography';\nimport { inlineEditRecipes } from './inline-edit.recipes';\n\nexport interface InlineEditStrings {\n\t/** Accessible name of the edit action when editLabel is absent. */\n\tedit: string;\n\t/** Accessible name of the save action. */\n\tsave: string;\n\t/** Accessible name of the cancel action, including while saving. */\n\tcancel: string;\n\t/** Live announcement and save action name during persistence. */\n\tsaving: string;\n\t/** Validation copy for a required empty value. */\n\trequired: string;\n\t/** Fallback copy for a rejected save without an Error message. */\n\tsaveError: string;\n\t/** Display copy for an empty value when placeholder is absent. */\n\tempty: string;\n}\n\nexport const defaultInlineEditStrings: InlineEditStrings = {\n\tedit: 'Edit value', save: 'Save changes', cancel: 'Cancel editing',\n\tsaving: 'Saving changes', required: 'Enter a value.',\n\tsaveError: 'Unable to save. Try again.', empty: 'Add a value',\n};\n\nexport interface InlineEditSaveContext {\n\t/** Aborted on cancel, unmount, external value replacement, or external dismissal. */\n\tsignal: AbortSignal;\n}\n\ntype SharedControlProps = Pick<InputProps, 'size' | 'invalid' | 'loading' | 'clearable' | 'onClear' | 'showCharacterCount'>;\ntype OwnedEditorProps = keyof SharedControlProps | 'value' | 'defaultValue' | 'onChange' | 'ref' | 'id' | 'name' | 'form' | 'required' | 'disabled' | 'readOnly' | 'placeholder' | 'autoComplete' | 'maxLength' | 'rows' | 'returnValueWithAddons';\n\nexport interface InlineEditProps extends SharedControlProps, Omit<React.ComponentPropsWithoutRef<'div'>, 'children' | 'defaultValue' | 'onChange'> {\n\t/** Native Input attributes, adornments and strings. Draft/state ownership stays with InlineEdit. */\n\tinputProps?: Omit<InputProps, OwnedEditorProps>;\n\t/** Native Textarea attributes, resizing options and strings. Draft/state ownership stays with InlineEdit. */\n\ttextareaProps?: Omit<TextareaProps, OwnedEditorProps>;\n\t/** Committed value. Draft edits remain local until save succeeds. */\n\tvalue?: string;\n\t/** Initial committed value for uncontrolled usage. */\n\tdefaultValue?: string;\n\t/** Called with the new committed value after a successful changed save. */\n\tonValueChange?: (value: string) => void;\n\t/** Controlled editor visibility. */\n\tediting?: boolean;\n\t/** Initial visibility for uncontrolled usage. */\n\tdefaultEditing?: boolean;\n\t/** Requests a visibility change; controlled parents must update editing. */\n\tonEditingChange?: (editing: boolean) => void;\n\t/** Uses Textarea. Plain Enter inserts a newline; Ctrl/Cmd+Enter saves. */\n\tmultiline?: boolean;\n\t/** Field caption above both presentation and editing states. */\n\tlabel?: React.ReactNode;\n\t/** Supporting copy, replaced by a validation or save error when present. */\n\tdescription?: React.ReactNode;\n\t/** Empty display copy and editor placeholder. */\n\tplaceholder?: string;\n\t/** Accessible edit action name, useful when the display is a title. */\n\teditLabel?: string;\n\t/** Custom passive display content. Do not nest interactive elements. */\n\trenderValue?: (value: string) => React.ReactNode;\n\t/** Prevents editing and disables the edit action. */\n\tdisabled?: boolean;\n\t/** Renders passive content with no edit action. */\n\treadOnly?: boolean;\n\t/** Save-time validation for an empty draft; marks the editor aria-required without constraining the parent form. */\n\trequired?: boolean;\n\t/** Return an error message to keep the draft open without calling onSave. */\n\tvalidate?: (value: string) => string | undefined | null;\n\t/** Persist the draft; rejection keeps it open for correction or retry. */\n\tonSave?: (value: string, context: InlineEditSaveContext) => void | Promise<void>;\n\t/** Native form field name. Only the committed value is submitted. */\n\tname?: string;\n\t/** Associates the committed hidden field with a native form. */\n\tform?: string;\n\t/** Native editor autocomplete hint. */\n\tautoComplete?: string;\n\t/** Maximum editor character count. */\n\tmaxLength?: number;\n\t/** Native Textarea row count. */\n\trows?: number;\n\t/** Localized component copy. */\n\tstrings?: StringsProp<InlineEditStrings>;\n}\n\n/** Inline text editing with an isolated draft and explicit, cancellable saves. */\nexport const InlineEdit = React.forwardRef<HTMLDivElement, InlineEditProps>(function InlineEdit({\n\tvalue: valueProp, defaultValue = '', onValueChange,\n\tediting: editingProp, defaultEditing = false, onEditingChange,\n\tmultiline = false, label, description, placeholder, editLabel, renderValue,\n\tdisabled = false, readOnly = false, required = false, validate, onSave,\n\tname, form, autoComplete, maxLength, rows = 3, strings: stringsProp,\n\tsize: sizeProp, invalid = false, loading = false, clearable, onClear, showCharacterCount, inputProps, textareaProps,\n\tid: providedId, className, ...rootProps\n}, ref) {\n\tconst generatedId = React.useId();\n\tconst id = providedId ?? `inline-edit-${generatedId}`;\n\tconst supportingId = `${id}-supporting`;\n\tconst strings = useStrings(defaultInlineEditStrings, stringsProp);\n\tconst { defaultScale } = useDensityConfig();\n\tconst size = resolveFormControlSize(sizeProp, defaultScale);\n\tconst [localValue, setLocalValue] = React.useState(defaultValue);\n\tconst value = valueProp ?? localValue;\n\tconst [localEditing, setLocalEditing] = React.useState(defaultEditing);\n\tconst editing = (editingProp ?? localEditing) && !readOnly && !disabled;\n\tconst [draft, setDraft] = React.useState(value);\n\tconst [error, setError] = React.useState<string>();\n\tconst [saving, setSaving] = React.useState(false);\n\tconst editorRef = React.useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n\tconst triggerRef = React.useRef<HTMLButtonElement>(null);\n\tconst pending = React.useRef<AbortController | null>(null);\n\tconst generation = React.useRef(0);\n\tconst latest = React.useRef({ value, editing });\n\tlatest.current = { value, editing };\n\tconst previous = React.useRef({ value, editing: false });\n\tconst restoreFocus = React.useRef(false);\n\n\tfunction invalidate() {\n\t\tgeneration.current += 1;\n\t\tpending.current?.abort();\n\t\tpending.current = null;\n\t}\n\n\tReact.useLayoutEffect(() => {\n\t\tconst entering = editing && !previous.current.editing;\n\t\tconst replaced = value !== previous.current.value;\n\t\tif (!editing || entering || replaced) {\n\t\t\tinvalidate();\n\t\t\tsetDraft(value);\n\t\t\tsetError(undefined);\n\t\t\tsetSaving(false);\n\t\t}\n\t\tif (entering) editorRef.current?.focus();\n\t\tif (!editing && restoreFocus.current) {\n\t\t\ttriggerRef.current?.focus();\n\t\t\trestoreFocus.current = false;\n\t\t}\n\t\tprevious.current = { value, editing };\n\t}, [value, editing]);\n\n\tReact.useEffect(() => () => { invalidate(); }, []);\n\n\tfunction requestEditing(next: boolean) {\n\t\tif (editingProp === undefined) setLocalEditing(next);\n\t\tonEditingChange?.(next);\n\t}\n\n\tfunction dismiss() {\n\t\tinvalidate();\n\t\tsetSaving(false);\n\t\tsetDraft(value);\n\t\tsetError(undefined);\n\t\trestoreFocus.current = true;\n\t\trequestEditing(false);\n\t}\n\n\tasync function save() {\n\t\tif (pending.current || !editing || loading) return;\n\t\tif (draft === value) { dismiss(); return; }\n\t\tconst nextValue = draft;\n\t\tconst controller = new AbortController();\n\t\tconst version = ++generation.current;\n\t\tconst committedAtStart = value;\n\t\tconst current = () => !controller.signal.aborted && generation.current === version\n\t\t\t&& latest.current.editing && latest.current.value === committedAtStart;\n\t\ttry {\n\t\t\tconst validationError = (required && !nextValue.trim() ? strings.required : validate?.(nextValue))\n\t\t\t\t|| (editorRef.current && !editorRef.current.checkValidity() ? editorRef.current.validationMessage : undefined);\n\t\t\tif (validationError) {\n\t\t\t\tsetError(validationError);\n\t\t\t\teditorRef.current?.focus();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetError(undefined);\n\t\t\tpending.current = controller;\n\t\t\tsetSaving(true);\n\t\t\t// Keep keyboard cancellation inside the editor when the save action disables.\n\t\t\teditorRef.current?.focus();\n\t\t\tawait onSave?.(nextValue, { signal: controller.signal });\n\t\t\tif (!current()) return;\n\t\t\tpending.current = null;\n\t\t\tsetSaving(false);\n\t\t\tif (valueProp === undefined) setLocalValue(nextValue);\n\t\t\tonValueChange?.(nextValue);\n\t\t\trestoreFocus.current = true;\n\t\t\trequestEditing(false);\n\t\t} catch (cause) {\n\t\t\tif (!current()) return;\n\t\t\tpending.current = null;\n\t\t\tsetSaving(false);\n\t\t\tsetError(cause instanceof Error && cause.message ? cause.message : strings.saveError);\n\t\t\teditorRef.current?.focus();\n\t\t}\n\t}\n\n\tfunction onKeyDown(event: React.KeyboardEvent<HTMLDivElement>) {\n\t\tif (!editing || event.defaultPrevented || event.nativeEvent.isComposing) return;\n\t\tif (event.key === 'Escape') {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tdismiss();\n\t\t} else if (event.key === 'Enter' && event.target === editorRef.current\n\t\t\t&& (!multiline || event.ctrlKey || event.metaKey)) {\n\t\t\tevent.preventDefault();\n\t\t\tvoid save();\n\t\t}\n\t}\n\n\tconst support = error || description;\n\tconst accessibleName = rootProps['aria-label'] ?? (typeof label === 'string' ? label : label ? undefined : editLabel ?? strings.edit);\n\tconst display = renderValue?.(value) ?? <Text tag=\"span\" size=\"inherit\" lineHeight=\"inherit\" type={value ? 'main' : 'secondary'} className={cn('min-w-0', multiline ? 'whitespace-pre-wrap break-words' : 'truncate')}>{value || placeholder || strings.empty}</Text>;\n\tconst displayClasses = cn(formFieldTriggerClasses(size), editableTextSizeClasses[size], '!h-auto',\n\t\tmultiline ? ['items-start px-control', formTextareaInsetClasses[size], size === 'sm' ? 'min-h-textarea-sm' : 'min-h-textarea'] : formControlMinHeightClasses[size]);\n\tconst editorProps = {\n\t\tid, value: draft, onChange: (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n\t\t\tif (!saving) { setDraft(event.target.value); setError(undefined); }\n\t\t},\n\t\t// Uncommitted controls must not validate or submit the surrounding native form.\n\t\tform: `inline-edit-draft-${generatedId}`,\n\t\tplaceholder, autoComplete, maxLength, size, loading, clearable: clearable && !saving, onClear, showCharacterCount,\n\t\t'aria-required': required || undefined, readOnly: saving,\n\t\tinvalid: invalid || Boolean(error), 'aria-label': accessibleName, 'aria-labelledby': rootProps['aria-labelledby'],\n\t\t'aria-describedby': support ? supportingId : undefined,\n\t\t'aria-errormessage': error ? supportingId : undefined,\n\t};\n\n\treturn <FormField {...rootProps} ref={ref} id={`${id}-root`} label={label} htmlFor={id}\n\t\trequired={required} helperText={description} error={editing ? error : undefined}\n\t\tsupportingTextId={supportingId} className={cn('inline-edit--component min-w-0', className)}\n\t\tdata-editing={editing || undefined} data-saving={saving || undefined} aria-busy={loading || saving || undefined}>\n\t\t\t{name && <input type=\"hidden\" name={name} form={form} value={value} disabled={disabled} />}\n\t\t\t{readOnly ? <div id={id} className={cn('inline-edit--value min-w-0', displayClasses)} aria-invalid={invalid || undefined}>{display}</div> : <Grid columns={1} gap={editing ? 'lg' : 'none'} align=\"center\"\n\t\t\t\tclassName={cn('inline-edit--frame', editing && 'inline-edit--editor', inlineEditRecipes.frame,\n\t\t\t\t\tediting ? affordanceGeometry.inlineEditColumns[multiline ? 'multiline' : 'single'] : inlineEditRecipes.closedColumns)}\n\t\t\t\tonKeyDown={onKeyDown} aria-busy={saving || undefined}>\n\t\t\t\t<div className=\"inline-edit--field min-w-0\">\n\t\t\t\t\t{editing ? (multiline ? <Textarea {...textareaProps} {...editorProps} rows={rows} ref={editorRef as React.Ref<HTMLTextAreaElement>} />\n\t\t\t\t\t\t: <Input {...inputProps} {...editorProps} ref={editorRef as React.Ref<HTMLInputElement>} />)\n\t\t\t\t\t\t: <button id={id} ref={triggerRef} type=\"button\"\n\t\t\t\t\t\t\tdisabled={disabled || loading} aria-invalid={invalid || undefined} aria-label={editLabel ?? (typeof label === 'string' ? `${strings.edit}: ${label}` : strings.edit)} aria-describedby={description ? supportingId : undefined}\n\t\t\t\t\t\t\tonClick={() => requestEditing(true)}\n\t\t\t\t\t\t\tclassName={cn('inline-edit--trigger group box-border m-0 cursor-pointer justify-between whitespace-normal text-start', displayClasses)}>\n\t\t\t\t\t\t\t{display}\n\t\t\t\t\t\t\t{loading ? <LoaderCircle aria-hidden=\"true\" className={cn(formControlIconClasses[size], 'self-center animate-spin motion-reduce:animate-none')} /> : <PencilIcon aria-hidden=\"true\" className=\"size-icon-sm self-center shrink-0 text-muted-foreground opacity-0 transition-opacity duration-150 motion-reduce:transition-none pointer-coarse:opacity-100 [@media(hover:none)]:opacity-100 group-hover:opacity-100 group-focus-visible:opacity-100\" />}\n\t\t\t\t\t\t</button>}\n\t\t\t\t</div>\n\t\t\t\t<div aria-hidden={!editing || undefined} inert={!editing || undefined}\n\t\t\t\t\tclassName={cn(inlineEditRecipes.actionsTrack, editing ? 'opacity-100' : 'pointer-events-none opacity-0')}>\n\t\t\t\t<Stack direction={multiline ? 'vertical' : 'horizontal'} gap=\"xs\" wrap={false} className=\"inline-edit--actions shrink-0\">\n\t\t\t\t\t<Button type=\"button\" size=\"sm\" iconOnly tone=\"primary\" buttonStyle=\"solid\"\n\t\t\t\t\t\taria-label={saving ? strings.saving : strings.save} disabled={!editing || saving || loading} aria-busy={saving || undefined} onClick={() => { void save(); }}>\n\t\t\t\t\t\t{saving ? <LoaderCircle aria-hidden=\"true\" className=\"size-icon-sm animate-spin motion-reduce:animate-none\" /> : <CheckIcon aria-hidden=\"true\" className=\"size-icon-sm\" />}\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button type=\"button\" size=\"sm\" iconOnly tone=\"neutral\" buttonStyle=\"ghost\"\n\t\t\t\t\t\taria-label={strings.cancel} disabled={!editing} onClick={dismiss}><XIcon aria-hidden=\"true\" className=\"size-icon-sm\" /></Button>\n\t\t\t\t</Stack>\n\t\t\t\t</div>\n\t\t\t\t{saving && <Text tag=\"span\" role=\"status\" className=\"sr-only\">{strings.saving}</Text>}\n\t\t\t</Grid>}\n\t</FormField>;\n});\n"],"mappings":"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"}
package/dist/base/item.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "../item-DE4YnuJx.js";
2
+ import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "../item-DEmDiTlD.js";
3
3
  export { c as Item, i as ItemActions, o as ItemContent, n as ItemDescription, e as ItemFooter, a as ItemGroup, s as ItemHeader, t as ItemMedia, r as ItemSeparator, l as ItemTitle };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { n as e, t } from "../media-gallery-DLp3HAz0.js";
2
+ import { n as e, t } from "../media-gallery-DcTtAaeC.js";
3
3
  export { t as MediaGallery, e as defaultMediaGalleryStrings };
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import { n as e, r as t, t as n } from "../metadata-list-X5rYAKSB.js";
3
+ export { n as MetadataList, e as MetadataValue, t as defaultMetadataListStrings };
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "../dropdown-menu-D-boNgGO.js";
3
- import { n as g, t as _ } from "../breadcrumbs-BuYz5SDU.js";
4
- import { a as v, i as y, n as b, r as x, t as S } from "../navigation-DnQSNMT0.js";
5
- import { i as C, n as w, o as T, r as E, t as D } from "../tabs-BNgu7g0u.js";
6
- import { t as O } from "../page-header-D8nERkn5.js";
7
- import { a as k, c as A, i as j, n as M, o as N, r as P, s as F, t as I } from "../pagination-NLGqRirf.js";
8
- export { _ as Breadcrumbs, m as DropdownMenu, l as DropdownMenuCheckboxItem, f as DropdownMenuContent, o as DropdownMenuGroup, e as DropdownMenuItem, u as DropdownMenuLabel, p as DropdownMenuLinkItem, t as DropdownMenuPortal, s as DropdownMenuRadioGroup, h as DropdownMenuRadioItem, n as DropdownMenuSeparator, r as DropdownMenuShortcut, d as DropdownMenuSub, c as DropdownMenuSubContent, a as DropdownMenuSubTrigger, i as DropdownMenuTrigger, v as LanguageSwitcher, x as NavigationTabs, S as OverflowTabBar, O as PageHeading, I as PaginationContent, M as PaginationEllipsis, P as PaginationItem, j as PaginationLink, k as PaginationNext, N as PaginationPrevious, F as PaginationPrimitive, D as Tabs, w as TabsContent, E as TabsList, C as TabsTrigger, g as defaultBreadcrumbsStrings, y as defaultNavigationTabsStrings, b as defaultOverflowTabBarStrings, A as defaultPaginationStrings, T as defaultTabsScrollStrings };
2
+ import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "../dropdown-menu-E2qmdC7o.js";
3
+ import { n as g, t as _ } from "../breadcrumbs-D5t7I023.js";
4
+ import { n as v, r as y, t as b } from "../navigation-D3KwXmaq.js";
5
+ import { i as x, n as S, o as C, r as w, t as T } from "../tabs-DwBJfjxX.js";
6
+ import { n as E, r as D, t as O } from "../overflow-tab-bar-sQHXLlwQ.js";
7
+ import { a as k, c as A, i as j, n as M, o as N, r as P, s as F, t as I } from "../pagination-3bPA_a6K.js";
8
+ export { _ as Breadcrumbs, m as DropdownMenu, l as DropdownMenuCheckboxItem, f as DropdownMenuContent, o as DropdownMenuGroup, e as DropdownMenuItem, u as DropdownMenuLabel, p as DropdownMenuLinkItem, t as DropdownMenuPortal, s as DropdownMenuRadioGroup, h as DropdownMenuRadioItem, n as DropdownMenuSeparator, r as DropdownMenuShortcut, d as DropdownMenuSub, c as DropdownMenuSubContent, a as DropdownMenuSubTrigger, i as DropdownMenuTrigger, y as LanguageSwitcher, b as NavigationTabs, O as OverflowTabBar, D as PageHeading, I as PaginationContent, M as PaginationEllipsis, P as PaginationItem, j as PaginationLink, k as PaginationNext, N as PaginationPrevious, F as PaginationPrimitive, T as Tabs, S as TabsContent, w as TabsList, x as TabsTrigger, g as defaultBreadcrumbsStrings, v as defaultNavigationTabsStrings, E as defaultOverflowTabBarStrings, A as defaultPaginationStrings, C as defaultTabsScrollStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { n as e, t } from "../popover-menu-B4PoWhRl.js";
2
+ import { n as e, t } from "../popover-menu-B71Tn2Qz.js";
3
3
  export { t as PopoverMenu, e as defaultPopoverMenuStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../popover-CghIYdQf.js";
2
+ import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../popover-Di55PyAI.js";
3
3
  export { i as Popover, o as PopoverAnchor, s as PopoverContent, r as PopoverDescription, a as PopoverFooter, n as PopoverHeader, e as PopoverTitle, t as PopoverTrigger };
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { t as e } from "../utils-BvH9PSmq.js";
2
+ import { t as e } from "../utils-l5LpDw2z.js";
3
3
  import { forwardRef as t, useEffect as n, useRef as r, useState as i } from "react";
4
4
  import { jsx as a } from "react/jsx-runtime";
5
5
  import { formatHex as o, parse as s } from "culori";
@@ -7,7 +7,7 @@ import c from "qrcode";
7
7
  //#region src/components/base/qr-code/qr-code.tsx
8
8
  var l = t(function({ data: t, foreground: l, background: u, robustness: d = "M", className: f, ...p }, m) {
9
9
  let h = r(null), [g, _] = i("");
10
- return n(() => {
10
+ if (n(() => {
11
11
  let e = h.current;
12
12
  if (!e) return;
13
13
  let n = 0, r = !0, i = async () => {
@@ -47,7 +47,10 @@ var l = t(function({ data: t, foreground: l, background: u, robustness: d = "M",
47
47
  l,
48
48
  u,
49
49
  d
50
- ]), t.trim() ? /* @__PURE__ */ a("div", {
50
+ ]), !t.trim()) return null;
51
+ let v = p["aria-label"] !== void 0 || p["aria-labelledby"] !== void 0;
52
+ return /* @__PURE__ */ a("div", {
53
+ role: v ? "img" : void 0,
51
54
  ...p,
52
55
  ref: (e) => {
53
56
  if (h.current = e, typeof m == "function") return m(e);
@@ -55,7 +58,7 @@ var l = t(function({ data: t, foreground: l, background: u, robustness: d = "M",
55
58
  },
56
59
  className: e("qr-code--component size-full [&_svg]:size-full", f),
57
60
  dangerouslySetInnerHTML: { __html: g }
58
- }) : null;
61
+ });
59
62
  });
60
63
  //#endregion
61
64
  export { l as QRCode };
@@ -1 +1 @@
1
- {"version":3,"file":"qr-code.js","names":["cn","QR","QRCode","forwardRef","props","host","useRef","svg","setSvg","useState","useEffect","element","generation","active","generate","current","styles","color","parsed","parse","override","token","formatHex","fallback","next","data","robustness","foreground","background","observer","node","ref","className"],"sources":["../../src/components/base/qr-code/qr-code.tsx"],"sourcesContent":["import { formatHex, parse } from 'culori';\nimport QR from 'qrcode';\nimport { forwardRef, useEffect, useRef, useState, type HTMLAttributes } from 'react';\nimport { cn } from '../../../lib/utils';\n\nexport type QRCodeProps = HTMLAttributes<HTMLDivElement> & {\n data: string;\n foreground?: string;\n background?: string;\n robustness?: 'L' | 'M' | 'Q' | 'H';\n};\n\nexport const QRCode = forwardRef<HTMLDivElement, QRCodeProps>(function QRCode({data, foreground, background, robustness = 'M', className, ...props}, ref) {\n const host = useRef<HTMLDivElement | null>(null);\n const [svg, setSvg] = useState('');\n useEffect(() => {\n const element = host.current;\n if (!element) return;\n let generation = 0;\n let active = true;\n const generate = async () => {\n const current = ++generation;\n const styles = getComputedStyle(element);\n const color = (override: string | undefined, token: string, fallback: string) => {\n const parsed = parse((override ?? styles.getPropertyValue(token)).trim());\n return parsed ? formatHex(parsed) ?? fallback : fallback;\n };\n try {\n const next = await QR.toString(data.trim(), {type:'svg', width:200, margin:0, errorCorrectionLevel:robustness, color:{dark:color(foreground,'--foreground','#000000'), light:color(background,'--background','#ffffff')}});\n if(active && current === generation) setSvg(next);\n } catch { if(active && current === generation) setSvg(''); }\n };\n void generate();\n // Themes inherit from the actual host; observe only theme attributes, never generated SVG children.\n const observer = new MutationObserver(() => {void generate();});\n for (let node: HTMLElement | null = element; node; node = node.parentElement) observer.observe(node, {attributes:true, attributeFilter:['class','style']});\n return () => {active=false;observer.disconnect();};\n },[data,foreground,background,robustness]);\n if (!data.trim()) return null;\n return <div {...props} ref={node => {host.current=node;if(typeof ref==='function') return ref(node);if(ref)ref.current=node;}} className={cn('qr-code--component size-full [&_svg]:size-full',className)} dangerouslySetInnerHTML={{__html:svg}} />;\n});\n"],"mappings":";;;;;;;AAYA,IAAaE,IAASC,EAAwC,SAAgB,EAAC,SAAM,eAAY,eAAY,gBAAa,KAAK,cAAW,GAAGC,KAAQ,GAAK;CACzJ,IAAMC,IAAOC,EAA8B,IAAI,GACzC,CAACC,GAAKC,KAAUC,EAAS,EAAE;CAyBjC,OAxBAC,QAAgB;EACf,IAAMC,IAAUN,EAAK;EACrB,IAAI,CAACM,GAAS;EACd,IAAIC,IAAa,GACbC,IAAS,IACPC,IAAW,YAAY;GAC5B,IAAMC,IAAU,EAAEH,GACZI,IAAS,iBAAiBL,CAAO,GACjCM,KAAS,GAA8B,GAAe,MAAqB;IAChF,IAAMC,IAASC,GAAOC,KAAYJ,EAAO,iBAAiBK,CAAK,EAAA,CAAG,KAAK,CAAC;IACxE,OAAOH,IAASI,EAAUJ,CAAM,KAAKK,IAAWA;GACjD;GACA,IAAI;IACH,IAAMC,IAAO,MAAMvB,EAAG,SAASwB,EAAK,KAAK,GAAG;KAAC,MAAK;KAAO,OAAM;KAAK,QAAO;KAAG,sBAAqBC;KAAY,OAAM;MAAC,MAAKT,EAAMU,GAAW,gBAAe,SAAS;MAAG,OAAMV,EAAMW,GAAW,gBAAe,SAAS;KAAC;IAAC,CAAC;IACzN,AAAGf,KAAUE,MAAYH,KAAYJ,EAAOgB,CAAI;GACjD,QAAQ;IAAE,AAAGX,KAAUE,MAAYH,KAAYJ,EAAO,EAAE;GAAG;EAC5D;EACA,EAAc;EAEd,IAAMqB,IAAW,IAAI,uBAAuB;GAAC,EAAc;EAAE,CAAC;EAC9D,KAAK,IAAIC,IAA2BnB,GAASmB,GAAM,IAAOA,EAAK,eAAe,EAAS,QAAQA,GAAM;GAAC,YAAW;GAAM,iBAAgB,CAAC,SAAQ,OAAO;EAAC,CAAC;EACzJ,aAAa;GAAc,AAAb,IAAO,IAAMD,EAAS,WAAW;EAAE;CAClD,GAAE;EAACJ;EAAKE;EAAWC;EAAWF;CAAU,CAAC,GACpCD,EAAK,KAAK,IACR,kBAAC,OAAD;EAAK,GAAIrB;EAAO,MAAK,MAAQ;GAAmB,IAAlB,EAAK,UAAQ0B,GAAQ,OAAOC,KAAM,YAAY,OAAOA,EAAID,CAAI;GAAE,AAAGC,MAAI,EAAI,UAAQD;EAAK;EAAG,WAAW9B,EAAG,kDAAiDgC,CAAS;EAAG,yBAAyB,EAAC,QAAOzB,EAAG;CAAI,CAAA,IADzN;AAE1B,CAAC"}
1
+ {"version":3,"file":"qr-code.js","names":["cn","QR","QRCode","forwardRef","props","host","useRef","svg","setSvg","useState","useEffect","element","generation","active","generate","current","styles","color","parsed","parse","override","token","formatHex","fallback","next","data","robustness","foreground","background","observer","node","labelled","ref","className"],"sources":["../../src/components/base/qr-code/qr-code.tsx"],"sourcesContent":["import { formatHex, parse } from 'culori';\nimport QR from 'qrcode';\nimport { forwardRef, useEffect, useRef, useState, type HTMLAttributes } from 'react';\nimport { cn } from '../../../lib/utils';\n\nexport type QRCodeProps = HTMLAttributes<HTMLDivElement> & {\n /** Encoded payload. Pass `aria-label` to describe it; the code is then exposed as one image. */\n data: string;\n foreground?: string;\n background?: string;\n robustness?: 'L' | 'M' | 'Q' | 'H';\n};\n\nexport const QRCode = forwardRef<HTMLDivElement, QRCodeProps>(function QRCode({data, foreground, background, robustness = 'M', className, ...props}, ref) {\n const host = useRef<HTMLDivElement | null>(null);\n const [svg, setSvg] = useState('');\n useEffect(() => {\n const element = host.current;\n if (!element) return;\n let generation = 0;\n let active = true;\n const generate = async () => {\n const current = ++generation;\n const styles = getComputedStyle(element);\n const color = (override: string | undefined, token: string, fallback: string) => {\n const parsed = parse((override ?? styles.getPropertyValue(token)).trim());\n return parsed ? formatHex(parsed) ?? fallback : fallback;\n };\n try {\n const next = await QR.toString(data.trim(), {type:'svg', width:200, margin:0, errorCorrectionLevel:robustness, color:{dark:color(foreground,'--foreground','#000000'), light:color(background,'--background','#ffffff')}});\n if(active && current === generation) setSvg(next);\n } catch { if(active && current === generation) setSvg(''); }\n };\n void generate();\n // Themes inherit from the actual host; observe only theme attributes, never generated SVG children.\n const observer = new MutationObserver(() => {void generate();});\n for (let node: HTMLElement | null = element; node; node = node.parentElement) observer.observe(node, {attributes:true, attributeFilter:['class','style']});\n return () => {active=false;observer.disconnect();};\n },[data,foreground,background,robustness]);\n if (!data.trim()) return null;\n // A labelled code is one image to assistive technology; the generated SVG has no name of its own.\n const labelled = props['aria-label'] !== undefined || props['aria-labelledby'] !== undefined;\n return <div role={labelled ? 'img' : undefined} {...props} ref={node => {host.current=node;if(typeof ref==='function') return ref(node);if(ref)ref.current=node;}} className={cn('qr-code--component size-full [&_svg]:size-full',className)} dangerouslySetInnerHTML={{__html:svg}} />;\n});\n"],"mappings":";;;;;;;AAaA,IAAaE,IAASC,EAAwC,SAAgB,EAAC,SAAM,eAAY,eAAY,gBAAa,KAAK,cAAW,GAAGC,KAAQ,GAAK;CACzJ,IAAMC,IAAOC,EAA8B,IAAI,GACzC,CAACC,GAAKC,KAAUC,EAAS,EAAE;CAwBjC,IAvBAC,QAAgB;EACf,IAAMC,IAAUN,EAAK;EACrB,IAAI,CAACM,GAAS;EACd,IAAIC,IAAa,GACbC,IAAS,IACPC,IAAW,YAAY;GAC5B,IAAMC,IAAU,EAAEH,GACZI,IAAS,iBAAiBL,CAAO,GACjCM,KAAS,GAA8B,GAAe,MAAqB;IAChF,IAAMC,IAASC,GAAOC,KAAYJ,EAAO,iBAAiBK,CAAK,EAAA,CAAG,KAAK,CAAC;IACxE,OAAOH,IAASI,EAAUJ,CAAM,KAAKK,IAAWA;GACjD;GACA,IAAI;IACH,IAAMC,IAAO,MAAMvB,EAAG,SAASwB,EAAK,KAAK,GAAG;KAAC,MAAK;KAAO,OAAM;KAAK,QAAO;KAAG,sBAAqBC;KAAY,OAAM;MAAC,MAAKT,EAAMU,GAAW,gBAAe,SAAS;MAAG,OAAMV,EAAMW,GAAW,gBAAe,SAAS;KAAC;IAAC,CAAC;IACzN,AAAGf,KAAUE,MAAYH,KAAYJ,EAAOgB,CAAI;GACjD,QAAQ;IAAE,AAAGX,KAAUE,MAAYH,KAAYJ,EAAO,EAAE;GAAG;EAC5D;EACA,EAAc;EAEd,IAAMqB,IAAW,IAAI,uBAAuB;GAAC,EAAc;EAAE,CAAC;EAC9D,KAAK,IAAIC,IAA2BnB,GAASmB,GAAM,IAAOA,EAAK,eAAe,EAAS,QAAQA,GAAM;GAAC,YAAW;GAAM,iBAAgB,CAAC,SAAQ,OAAO;EAAC,CAAC;EACzJ,aAAa;GAAc,AAAb,IAAO,IAAMD,EAAS,WAAW;EAAE;CAClD,GAAE;EAACJ;EAAKE;EAAWC;EAAWF;CAAU,CAAC,GACrC,CAACD,EAAK,KAAK,GAAG,OAAO;CAEzB,IAAMM,IAAW3B,EAAM,kBAAkB,KAAA,KAAaA,EAAM,uBAAuB,KAAA;CACnF,OAAO,kBAAC,OAAD;EAAK,MAAM2B,IAAW,QAAQ,KAAA;EAAW,GAAI3B;EAAO,MAAK,MAAQ;GAAmB,IAAlB,EAAK,UAAQ0B,GAAQ,OAAOE,KAAM,YAAY,OAAOA,EAAIF,CAAI;GAAE,AAAGE,MAAI,EAAI,UAAQF;EAAK;EAAG,WAAW9B,EAAG,kDAAiDiC,CAAS;EAAG,yBAAyB,EAAC,QAAO1B,EAAG;CAAI,CAAA;AACvR,CAAC"}