themelia-react-ui 2.0.0 → 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 (625) hide show
  1. package/CHANGELOG.md +351 -0
  2. package/README.md +26 -13
  3. package/dist/{accordion-CQXVcd7Q.js → accordion-B6a3vVgA.js} +84 -82
  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-CCIXb2A1.js → affordance-geometry.generated-B5iu-Mkr.js} +3 -2
  8. package/dist/affordance-geometry.generated-B5iu-Mkr.js.map +1 -0
  9. package/dist/{ai-artifact-2PQ2fItc.js → ai-artifact-BMJdv-6q.js} +379 -376
  10. package/dist/ai-artifact-BMJdv-6q.js.map +1 -0
  11. package/dist/{app-shell-BE_j8-AT.js → app-shell-ZK5RWdo6.js} +4 -4
  12. package/dist/{app-shell-BE_j8-AT.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-M3vGMgDR.js → auth-CYxKfo69.js} +237 -235
  16. package/dist/auth-CYxKfo69.js.map +1 -0
  17. package/dist/{avatar-djdaaQ_s.js → avatar-BBnEJIx8.js} +66 -65
  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 +13 -13
  30. package/dist/base/carousel.js.map +1 -1
  31. package/dist/base/cascader.js +103 -115
  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 +17 -17
  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 +1 -1
  53. package/dist/base/repeaters.js +171 -170
  54. package/dist/base/repeaters.js.map +1 -1
  55. package/dist/base/sheet.js +1 -1
  56. package/dist/base/sidebar.js +1 -1
  57. package/dist/base/signature-pad.js +147 -137
  58. package/dist/base/signature-pad.js.map +1 -1
  59. package/dist/base/skeleton.js +1 -1
  60. package/dist/base/spinner.js +1 -1
  61. package/dist/base/structure.js +1 -1
  62. package/dist/base/table.js +1 -1
  63. package/dist/base/text-inputs.js +2 -2
  64. package/dist/base/toaster.js +2 -2
  65. package/dist/base/tree.js +1 -1
  66. package/dist/base/upload-queue.js +1 -1
  67. package/dist/base/upload.js +3 -3
  68. package/dist/base/value-inputs.js +2 -2
  69. package/dist/batch-action-bar-BZGDG-Si.js +104 -0
  70. package/dist/batch-action-bar-BZGDG-Si.js.map +1 -0
  71. package/dist/blocks/admin.js +173 -171
  72. package/dist/blocks/admin.js.map +1 -1
  73. package/dist/blocks/ai.js +266 -263
  74. package/dist/blocks/ai.js.map +1 -1
  75. package/dist/blocks/analytics/usage-card.js +1 -1
  76. package/dist/blocks/analytics.js +440 -438
  77. package/dist/blocks/analytics.js.map +1 -1
  78. package/dist/blocks/collaboration.js +1 -1
  79. package/dist/blocks/commerce/receipt.js +1 -1
  80. package/dist/blocks/commerce.js +1945 -1266
  81. package/dist/blocks/commerce.js.map +1 -1
  82. package/dist/blocks/data-display.js +3 -2
  83. package/dist/blocks/onboarding.js +50 -49
  84. package/dist/blocks/onboarding.js.map +1 -1
  85. package/dist/blocks/planning.js +25 -25
  86. package/dist/blocks/planning.js.map +1 -1
  87. package/dist/blocks/timelines.js +1 -1
  88. package/dist/breadcrumbs-D5t7I023.js +129 -0
  89. package/dist/breadcrumbs-D5t7I023.js.map +1 -0
  90. package/dist/{button-R9CCoH7A.js → button-QYwiyhD2.js} +15 -14
  91. package/dist/button-QYwiyhD2.js.map +1 -0
  92. package/dist/{button-BS3KDg00.js → buttons-SbIcm1HJ.js} +200 -213
  93. package/dist/buttons-SbIcm1HJ.js.map +1 -0
  94. package/dist/{cards-QoJ4syG9.js → cards-CiiHpKYd.js} +8 -8
  95. package/dist/cards-CiiHpKYd.js.map +1 -0
  96. package/dist/{chart-DwYRKKc-.js → chart-QfrARkXl.js} +5 -5
  97. package/dist/{chart-DwYRKKc-.js.map → chart-QfrARkXl.js.map} +1 -1
  98. package/dist/checkbox-DhB6K0bK.js +36 -0
  99. package/dist/checkbox-DhB6K0bK.js.map +1 -0
  100. package/dist/choice-inputs-t6w3ATNz.js +766 -0
  101. package/dist/choice-inputs-t6w3ATNz.js.map +1 -0
  102. package/dist/code-block-Dgbu-CU3.js +185 -0
  103. package/dist/code-block-Dgbu-CU3.js.map +1 -0
  104. package/dist/{collapsible-oMUGM4tr.js → collapsible-D8AEGU1-.js} +4 -4
  105. package/dist/{collapsible-oMUGM4tr.js.map → collapsible-D8AEGU1-.js.map} +1 -1
  106. package/dist/{collection-content-Ys-OZOkY.js → collection-content-uK16Grv0.js} +3 -3
  107. package/dist/{collection-content-Ys-OZOkY.js.map → collection-content-uK16Grv0.js.map} +1 -1
  108. package/dist/{combobox-6dvVny2q.js → combobox-2Ic8N9bL.js} +74 -68
  109. package/dist/combobox-2Ic8N9bL.js.map +1 -0
  110. package/dist/{combobox-CB7039j7.js → combobox-DLl0bfiq.js} +307 -305
  111. package/dist/combobox-DLl0bfiq.js.map +1 -0
  112. package/dist/{command-kPMPjIxJ.js → command-kNR20o7x.js} +7 -7
  113. package/dist/{command-kPMPjIxJ.js.map → command-kNR20o7x.js.map} +1 -1
  114. package/dist/{comments-You0Bzbr.js → comments-BpDuCUUu.js} +341 -339
  115. package/dist/comments-BpDuCUUu.js.map +1 -0
  116. package/dist/components/base/action-menu/action-menu.d.ts +21 -4
  117. package/dist/components/base/action-menu/action-menu.recipes.d.ts +21 -0
  118. package/dist/components/base/action-menu/index.d.ts +1 -0
  119. package/dist/components/base/badge/badge.recipes.d.ts +4 -4
  120. package/dist/components/base/batch-action-bar/batch-action-bar.d.ts +50 -0
  121. package/dist/components/base/batch-action-bar/batch-action-bar.strings.d.ts +20 -0
  122. package/dist/components/base/batch-action-bar/index.d.ts +8 -0
  123. package/dist/components/base/buttons/button-group.recipes.d.ts +1 -1
  124. package/dist/components/base/buttons/button.recipes.d.ts +2 -2
  125. package/dist/components/base/choice-inputs/checkbox.d.ts +2 -2
  126. package/dist/components/base/choice-inputs/choice-types.d.ts +18 -6
  127. package/dist/components/base/display/alert-dialog.d.ts +6 -5
  128. package/dist/components/base/display/dialog.d.ts +4 -8
  129. package/dist/components/base/display/icon-badge/icon-badge.d.ts +1 -1
  130. package/dist/components/base/forms/form-sizing.d.ts +15 -12
  131. package/dist/components/base/metadata-list/index.d.ts +12 -0
  132. package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.d.ts +28 -25
  133. package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-value.d.ts +2 -2
  134. package/dist/components/base/navigation/index.d.ts +1 -1
  135. package/dist/components/base/navigation/page-header/index.d.ts +1 -0
  136. package/dist/components/base/navigation/page-header/page-header-commands.d.ts +73 -0
  137. package/dist/components/base/navigation/page-header/page-header.d.ts +26 -3
  138. package/dist/components/base/sheet/sheet.d.ts +4 -8
  139. package/dist/components/base/signature-pad/signature-pad.types.d.ts +5 -1
  140. package/dist/components/base/signature-pad/signature-pad.utils.d.ts +11 -3
  141. package/dist/components/base/text-inputs/field-clear-button.d.ts +6 -0
  142. package/dist/components/base/upload/upload.recipes.d.ts +25 -3
  143. package/dist/components/base/value-inputs/index.d.ts +5 -5
  144. package/dist/components/base/value-inputs/tags-input.d.ts +36 -12
  145. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  146. package/dist/components/blocks/commerce/address-card/types.d.ts +2 -1
  147. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +3 -1
  148. package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
  149. package/dist/components/blocks/commerce/cart-summary/types.d.ts +6 -1
  150. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +3 -1
  151. package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
  152. package/dist/components/blocks/commerce/discount-stack/types.d.ts +16 -4
  153. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +5 -0
  154. package/dist/components/blocks/commerce/fulfillment-group/index.d.ts +2 -0
  155. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +43 -0
  156. package/dist/components/blocks/commerce/index.d.ts +13 -5
  157. package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
  158. package/dist/components/blocks/commerce/invoice-header/types.d.ts +4 -2
  159. package/dist/components/blocks/commerce/invoice-mini/invoice-mini.d.ts +1 -1
  160. package/dist/components/blocks/commerce/invoice-mini/types.d.ts +2 -1
  161. package/dist/components/blocks/commerce/order-customer/index.d.ts +2 -0
  162. package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +5 -0
  163. package/dist/components/blocks/commerce/order-customer/types.d.ts +48 -0
  164. package/dist/components/blocks/commerce/order-header/index.d.ts +2 -0
  165. package/dist/components/blocks/commerce/order-header/order-header.d.ts +5 -0
  166. package/dist/components/blocks/commerce/order-header/types.d.ts +37 -0
  167. package/dist/components/blocks/commerce/order-line-item/index.d.ts +2 -0
  168. package/dist/components/blocks/commerce/order-line-item/order-line-item.d.ts +5 -0
  169. package/dist/components/blocks/commerce/order-line-item/types.d.ts +46 -0
  170. package/dist/components/blocks/commerce/order-summary/index.d.ts +2 -0
  171. package/dist/components/blocks/commerce/order-summary/order-summary.d.ts +5 -0
  172. package/dist/components/blocks/commerce/order-summary/types.d.ts +42 -0
  173. package/dist/components/blocks/commerce/order-transactions/index.d.ts +2 -0
  174. package/dist/components/blocks/commerce/order-transactions/order-transactions.d.ts +5 -0
  175. package/dist/components/blocks/commerce/order-transactions/types.d.ts +46 -0
  176. package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
  177. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +9 -1
  178. package/dist/components/blocks/commerce/payment-method/types.d.ts +12 -1
  179. package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
  180. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +3 -1
  181. package/dist/components/blocks/commerce/refund-status/types.d.ts +6 -3
  182. package/dist/components/blocks/commerce/shared/address-lines.d.ts +21 -0
  183. package/dist/components/blocks/commerce/shared/line-thumbnail.d.ts +9 -0
  184. package/dist/components/blocks/commerce/shared/order-status.d.ts +51 -0
  185. package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
  186. package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +27 -6
  187. package/dist/components/blocks/commerce/summary-panel/amount-row.d.ts +2 -0
  188. package/dist/components/blocks/commerce/summary-panel/index.d.ts +3 -0
  189. package/dist/components/blocks/commerce/summary-panel/summary-panel.d.ts +2 -0
  190. package/dist/components/blocks/commerce/summary-panel/types.d.ts +26 -0
  191. package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
  192. package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +2 -1
  193. package/dist/components/blocks/data-display/metadata/index.d.ts +30 -4
  194. package/dist/components/features/activities/partials/activity-row.d.ts +6 -2
  195. package/dist/components/features/activities/partials/tone-tokens.d.ts +0 -6
  196. package/dist/components/features/global-search/partials/global-search-group-heading.d.ts +15 -0
  197. package/dist/components/features/global-search/partials/tone-palettes.d.ts +0 -5
  198. package/dist/components/features/kanban/kanban.d.ts +1 -1
  199. package/dist/components/features/kanban/kanban.strings.d.ts +1 -1
  200. package/dist/components/features/kanban/kanban.types.d.ts +2 -2
  201. package/dist/components/features/media-library/hooks/use-media-library.d.ts +1 -1
  202. package/dist/components/features/media-library/index.d.ts +1 -1
  203. package/dist/components/features/media-library/media-library.d.ts +1 -1
  204. package/dist/components/features/media-library/media-library.strings.d.ts +4 -0
  205. package/dist/components/features/media-library/media-library.types.d.ts +74 -1
  206. package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
  207. package/dist/components/features/mentions/partials/mention-kind-toggles.d.ts +16 -0
  208. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  209. package/dist/components/features/overlays/dialog.d.ts +1 -1
  210. package/dist/components/features/overlays/index.d.ts +1 -1
  211. package/dist/components/features/overlays/overlay-tone-icon.d.ts +3 -3
  212. package/dist/components/features/overlays/overlays.types.d.ts +20 -0
  213. package/dist/components/features/products/components/product-contract-overview.d.ts +5 -0
  214. package/dist/components/features/products/components/product-details-card.d.ts +5 -0
  215. package/dist/components/features/products/components/product-operations-card.d.ts +5 -0
  216. package/dist/components/features/products/components/product-option-action-menu.d.ts +5 -0
  217. package/dist/components/features/products/components/product-options-summary.d.ts +5 -0
  218. package/dist/components/features/products/components/product-policies-card.d.ts +5 -0
  219. package/dist/components/features/products/components/product-quote-preview-card.d.ts +5 -0
  220. package/dist/components/features/products/components/product-readiness-card.d.ts +5 -0
  221. package/dist/components/features/products/components/product-structure-card.d.ts +5 -0
  222. package/dist/components/features/products/components/product-variant-action-menu.d.ts +23 -1
  223. package/dist/components/features/products/products.types.d.ts +9 -2
  224. package/dist/components/features/resource/index.d.ts +1 -1
  225. package/dist/components/features/resource/resource.d.ts +1 -1
  226. package/dist/components/features/resource/resource.types.d.ts +34 -6
  227. package/dist/components/features/rich-text-editor/index.d.ts +2 -1
  228. package/dist/components/features/rich-text-editor/partials/image-nodes.d.ts +13 -0
  229. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +66 -0
  230. package/dist/components/features/rich-text-editor/partials/inline-reference-node.d.ts +19 -0
  231. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
  232. package/dist/components/features/rich-text-editor/rich-text-editor.strings.d.ts +14 -0
  233. package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +45 -0
  234. package/dist/components/features/rich-text-editor/use-rich-text-images.d.ts +18 -0
  235. package/dist/components/features/sync/index.d.ts +26 -3
  236. package/dist/components/features/table/data-table.d.ts +1 -1
  237. package/dist/components/features/table/table.types.d.ts +32 -7
  238. package/dist/components/layout/page/index.d.ts +1 -1
  239. package/dist/components/layout/page/page.types.d.ts +33 -36
  240. package/dist/components/layout/page/partials/page-actions.d.ts +1 -0
  241. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  242. package/dist/components/layout/settings/settings.d.ts +16 -2
  243. package/dist/components/layout/workspace/workspace.types.d.ts +21 -4
  244. package/dist/components/typography/rich-text/index.d.ts +1 -1
  245. package/dist/components/typography/rich-text/rich-text-tree.d.ts +19 -0
  246. package/dist/components/typography/rich-text/rich-text.d.ts +16 -0
  247. package/dist/components/typography/text-link.d.ts +4 -3
  248. package/dist/components/ui/checkbox.d.ts +4 -3
  249. package/dist/components/ui/overlay.recipes.d.ts +0 -9
  250. package/dist/components/ui/switch.d.ts +2 -2
  251. package/dist/{containers-D_L4mTVb.js → containers-DmWiJa2I.js} +36 -35
  252. package/dist/containers-DmWiJa2I.js.map +1 -0
  253. package/dist/{copyable-DDjTeW_j.js → copyable-B3Gwgdqc.js} +6 -6
  254. package/dist/{copyable-DDjTeW_j.js.map → copyable-B3Gwgdqc.js.map} +1 -1
  255. package/dist/data-display-DafIvCl5.js +960 -0
  256. package/dist/data-display-DafIvCl5.js.map +1 -0
  257. package/dist/{date-uf3z37Nm.js → date-BgK3bTdo.js} +5 -5
  258. package/dist/{date-uf3z37Nm.js.map → date-BgK3bTdo.js.map} +1 -1
  259. package/dist/date-picker-CF-DtUpF.js +1529 -0
  260. package/dist/date-picker-CF-DtUpF.js.map +1 -0
  261. package/dist/{date-pickers-CnFCb0n2.js → date-pickers-BmzxJl5l.js} +19 -19
  262. package/dist/{date-pickers-CnFCb0n2.js.map → date-pickers-BmzxJl5l.js.map} +1 -1
  263. package/dist/{display-DrdvPwF0.js → display-DsQTVzMz.js} +88 -87
  264. package/dist/display-DsQTVzMz.js.map +1 -0
  265. package/dist/{dropdown-menu-CURh59jb.js → dropdown-menu-E2qmdC7o.js} +7 -7
  266. package/dist/{dropdown-menu-CURh59jb.js.map → dropdown-menu-E2qmdC7o.js.map} +1 -1
  267. package/dist/features/activities.js +414 -501
  268. package/dist/features/activities.js.map +1 -1
  269. package/dist/features/ai-chat.js +170 -169
  270. package/dist/features/ai-chat.js.map +1 -1
  271. package/dist/features/async-preview.js +8 -8
  272. package/dist/features/async-preview.js.map +1 -1
  273. package/dist/features/combobox.js +1 -1
  274. package/dist/features/comments.js +1 -1
  275. package/dist/features/data-view.js +139 -138
  276. package/dist/features/data-view.js.map +1 -1
  277. package/dist/features/email-composer/engine.js +1 -1
  278. package/dist/features/email-composer.js +73 -71
  279. package/dist/features/email-composer.js.map +1 -1
  280. package/dist/features/event-calendar.js +278 -275
  281. package/dist/features/event-calendar.js.map +1 -1
  282. package/dist/features/filters.js +1 -1
  283. package/dist/features/global-search.js +307 -310
  284. package/dist/features/global-search.js.map +1 -1
  285. package/dist/features/kanban.js +95 -97
  286. package/dist/features/kanban.js.map +1 -1
  287. package/dist/features/map.js +56 -57
  288. package/dist/features/map.js.map +1 -1
  289. package/dist/features/media-library.js +918 -825
  290. package/dist/features/media-library.js.map +1 -1
  291. package/dist/features/mentions.js +1 -1
  292. package/dist/features/overlays.js +1 -1
  293. package/dist/features/products.js +1115 -1122
  294. package/dist/features/products.js.map +1 -1
  295. package/dist/features/questionnaire.js +202 -194
  296. package/dist/features/questionnaire.js.map +1 -1
  297. package/dist/features/resource-assignment.js +25 -25
  298. package/dist/features/resource-assignment.js.map +1 -1
  299. package/dist/features/resource.js +77 -69
  300. package/dist/features/resource.js.map +1 -1
  301. package/dist/features/rich-text-editor.js +30 -11
  302. package/dist/features/rich-text-editor.js.map +1 -1
  303. package/dist/features/schema-form.js +33 -33
  304. package/dist/features/schema-form.js.map +1 -1
  305. package/dist/features/suggestions.js +3 -3
  306. package/dist/features/sync.js +3 -3
  307. package/dist/features/table.js +1 -1
  308. package/dist/features/theme-tweaker.js +397 -396
  309. package/dist/features/theme-tweaker.js.map +1 -1
  310. package/dist/{feedback-C7nR0UtT.js → feedback-qNuMBtRH.js} +84 -83
  311. package/dist/feedback-qNuMBtRH.js.map +1 -0
  312. package/dist/{field-affordance-recipes-CkOCdE2y.js → field-affordance-recipes-qQeIf4lG.js} +8 -6
  313. package/dist/field-affordance-recipes-qQeIf4lG.js.map +1 -0
  314. package/dist/field-state-recipes-BVA2CWHo.js +12 -0
  315. package/dist/field-state-recipes-BVA2CWHo.js.map +1 -0
  316. package/dist/{filters-Da-gNPsE.js → filters-BkHH53uv.js} +565 -563
  317. package/dist/filters-BkHH53uv.js.map +1 -0
  318. package/dist/focus-recipes-B653VaLq.js +12 -0
  319. package/dist/focus-recipes-B653VaLq.js.map +1 -0
  320. package/dist/{form-field-VZRULhUK.js → form-field-DUt4UxSV.js} +4 -4
  321. package/dist/{form-field-VZRULhUK.js.map → form-field-DUt4UxSV.js.map} +1 -1
  322. package/dist/{form-sizing-uWP4lzVh.js → form-sizing-By94KzXE.js} +19 -15
  323. package/dist/form-sizing-By94KzXE.js.map +1 -0
  324. package/dist/{forms-DDeEnXSY.js → forms-Bzha-Y3B.js} +22 -22
  325. package/dist/{forms-DDeEnXSY.js.map → forms-Bzha-Y3B.js.map} +1 -1
  326. package/dist/{forms-numeric-D3CO60IF.js → forms-numeric-C0bvjRPZ.js} +265 -264
  327. package/dist/forms-numeric-C0bvjRPZ.js.map +1 -0
  328. package/dist/{header-2ycNqGOR.js → header-BOefOKd1.js} +47 -51
  329. package/dist/header-BOefOKd1.js.map +1 -0
  330. package/dist/{hooks-DQ5SPwZw.js → hooks-9k_TtmKh.js} +2 -2
  331. package/dist/{hooks-DQ5SPwZw.js.map → hooks-9k_TtmKh.js.map} +1 -1
  332. package/dist/{http-CdEIHyQf.js → http-D_6rOnzU.js} +2 -2
  333. package/dist/{http-CdEIHyQf.js.map → http-D_6rOnzU.js.map} +1 -1
  334. package/dist/icon-badge-CAuKupo9.js +55 -0
  335. package/dist/icon-badge-CAuKupo9.js.map +1 -0
  336. package/dist/index.js +7 -7
  337. package/dist/input-DWhBBBww.js +262 -0
  338. package/dist/input-DWhBBBww.js.map +1 -0
  339. package/dist/{input-BoLm9Hks.js → input-Ddi_LSYv.js} +3 -3
  340. package/dist/{input-BoLm9Hks.js.map → input-Ddi_LSYv.js.map} +1 -1
  341. package/dist/interaction-recipes-CHr0dJUs.js +24 -0
  342. package/dist/interaction-recipes-CHr0dJUs.js.map +1 -0
  343. package/dist/{item-xzh8Df65.js → item-DEmDiTlD.js} +98 -97
  344. package/dist/item-DEmDiTlD.js.map +1 -0
  345. package/dist/layer-recipes-CCpklYME.js +13 -0
  346. package/dist/layer-recipes-CCpklYME.js.map +1 -0
  347. package/dist/layout/app-shell.js +1 -1
  348. package/dist/layout/auth.js +1 -1
  349. package/dist/layout/containers.js +1 -1
  350. package/dist/layout/header.js +1 -1
  351. package/dist/layout/hooks.js +1 -1
  352. package/dist/layout/navigation.js +1 -1
  353. package/dist/layout/page.js +1 -1
  354. package/dist/layout/settings.js +1 -1
  355. package/dist/layout/sidebar.js +2 -2
  356. package/dist/layout/workspace.js +1 -1
  357. package/dist/layout.js +10 -10
  358. package/dist/lib/affordance-geometry.generated.d.ts +1 -0
  359. package/dist/lib/field-affordance-recipes.d.ts +6 -1
  360. package/dist/lib/field-state-recipes.d.ts +9 -8
  361. package/dist/lib/focus-recipes.d.ts +24 -0
  362. package/dist/lib/interaction-recipes.d.ts +35 -0
  363. package/dist/lib/layer-recipes.d.ts +19 -0
  364. package/dist/lib/motion-recipes.d.ts +1 -0
  365. package/dist/lib/overlay-anatomy-recipes.d.ts +1 -0
  366. package/dist/lib/safe-image-src.d.ts +10 -0
  367. package/dist/lib/sanitize-html.d.ts +15 -3
  368. package/dist/lib/surface-recipes.d.ts +47 -7
  369. package/dist/lib/token-merge.generated.d.ts +9 -6
  370. package/dist/lib/tone-recipes.d.ts +79 -0
  371. package/dist/lib/ui-provider/hooks.d.ts +2 -1
  372. package/dist/lib/ui-provider/index.d.ts +2 -2
  373. package/dist/lib/ui-provider/types.d.ts +9 -0
  374. package/dist/lib/utils.js +1 -1
  375. package/dist/media-gallery-DcTtAaeC.js +203 -0
  376. package/dist/media-gallery-DcTtAaeC.js.map +1 -0
  377. package/dist/mentions-D-uyCh01.js +568 -0
  378. package/dist/mentions-D-uyCh01.js.map +1 -0
  379. package/dist/{message-YfFmbXNP.js → message-CdHgIWKf.js} +5 -5
  380. package/dist/{message-YfFmbXNP.js.map → message-CdHgIWKf.js.map} +1 -1
  381. package/dist/metadata-list-X5rYAKSB.js +394 -0
  382. package/dist/metadata-list-X5rYAKSB.js.map +1 -0
  383. package/dist/{motion-recipes-B6jKXEcN.js → motion-recipes-ChBg4HBq.js} +3 -2
  384. package/dist/{motion-recipes-B6jKXEcN.js.map → motion-recipes-ChBg4HBq.js.map} +1 -1
  385. package/dist/navigation-D3KwXmaq.js +145 -0
  386. package/dist/navigation-D3KwXmaq.js.map +1 -0
  387. package/dist/navigation-HJf5zxlH.js +268 -0
  388. package/dist/navigation-HJf5zxlH.js.map +1 -0
  389. package/dist/{navigation-row-recipes-DlU-4QYO.js → navigation-row-recipes-BVowojQw.js} +2 -2
  390. package/dist/{navigation-row-recipes-DlU-4QYO.js.map → navigation-row-recipes-BVowojQw.js.map} +1 -1
  391. package/dist/{number-CKRBYmZK.js → number-DMhe-Vsk.js} +5 -5
  392. package/dist/{number-CKRBYmZK.js.map → number-DMhe-Vsk.js.map} +1 -1
  393. package/dist/overflow-tab-bar-sQHXLlwQ.js +280 -0
  394. package/dist/overflow-tab-bar-sQHXLlwQ.js.map +1 -0
  395. package/dist/overlay.recipes-8GHqmlb4.js +6 -0
  396. package/dist/overlay.recipes-8GHqmlb4.js.map +1 -0
  397. package/dist/overlays-I0axtYA6.js +999 -0
  398. package/dist/overlays-I0axtYA6.js.map +1 -0
  399. package/dist/page-B5dTH9gE.js +224 -0
  400. package/dist/page-B5dTH9gE.js.map +1 -0
  401. package/dist/page-header-commands-DjzFEq3E.js +126 -0
  402. package/dist/page-header-commands-DjzFEq3E.js.map +1 -0
  403. package/dist/{pagination-Cm0jqa3I.js → pagination-3bPA_a6K.js} +15 -15
  404. package/dist/{pagination-Cm0jqa3I.js.map → pagination-3bPA_a6K.js.map} +1 -1
  405. package/dist/{popover-Dcv_9jxr.js → popover-Di55PyAI.js} +8 -8
  406. package/dist/popover-Di55PyAI.js.map +1 -0
  407. package/dist/{popover-menu-DnRFKnHP.js → popover-menu-B71Tn2Qz.js} +6 -6
  408. package/dist/{popover-menu-DnRFKnHP.js.map → popover-menu-B71Tn2Qz.js.map} +1 -1
  409. package/dist/{popover.recipes-wmbvL8Ah.js → popover.recipes-Bdyhj2db.js} +2 -2
  410. package/dist/{popover.recipes-wmbvL8Ah.js.map → popover.recipes-Bdyhj2db.js.map} +1 -1
  411. package/dist/{primitives-BHrwQXFC.js → primitives-B-CkiEMU.js} +5 -5
  412. package/dist/{primitives-BHrwQXFC.js.map → primitives-B-CkiEMU.js.map} +1 -1
  413. package/dist/primitives.js +4 -4
  414. package/dist/{progress-Br9WTFya.js → progress-rnS8-uAW.js} +9 -9
  415. package/dist/{progress-Br9WTFya.js.map → progress-rnS8-uAW.js.map} +1 -1
  416. package/dist/{receipt-CV89q1fs.js → receipt-D0oswZ0p.js} +6 -6
  417. package/dist/{receipt-CV89q1fs.js.map → receipt-D0oswZ0p.js.map} +1 -1
  418. package/dist/rich-text-DvGulsNJ.js +78 -0
  419. package/dist/rich-text-DvGulsNJ.js.map +1 -0
  420. package/dist/rich-text-editor-sMU_Scqm.js +1204 -0
  421. package/dist/rich-text-editor-sMU_Scqm.js.map +1 -0
  422. package/dist/rich-text-editor.recipes-CadiF_Uu.js +88 -0
  423. package/dist/rich-text-editor.recipes-CadiF_Uu.js.map +1 -0
  424. package/dist/rich-text-editor.strings-CB59ekH2.js +38 -0
  425. package/dist/rich-text-editor.strings-CB59ekH2.js.map +1 -0
  426. package/dist/safe-image-src-C6kQSMBZ.js +17 -0
  427. package/dist/safe-image-src-C6kQSMBZ.js.map +1 -0
  428. package/dist/sanitize-html-DsQmI48u.js +92 -0
  429. package/dist/sanitize-html-DsQmI48u.js.map +1 -0
  430. package/dist/scroll-area-Bt_vXY2b.js +48 -0
  431. package/dist/scroll-area-Bt_vXY2b.js.map +1 -0
  432. package/dist/{separator-Do5GWDYi.js → separator-C8DlRGwF.js} +3 -3
  433. package/dist/{separator-Do5GWDYi.js.map → separator-C8DlRGwF.js.map} +1 -1
  434. package/dist/{separator-BMEvwnSX.js → separator-CYHnjsAb.js} +2 -2
  435. package/dist/{separator-BMEvwnSX.js.map → separator-CYHnjsAb.js.map} +1 -1
  436. package/dist/services/actions/action-adapters.d.ts +18 -0
  437. package/dist/services/actions/index.d.ts +1 -1
  438. package/dist/services/actions.js +16 -4
  439. package/dist/services/actions.js.map +1 -1
  440. package/dist/settings-CQW3b-Cu.js +170 -0
  441. package/dist/settings-CQW3b-Cu.js.map +1 -0
  442. package/dist/sheet-4SEvVYzA.js +210 -0
  443. package/dist/sheet-4SEvVYzA.js.map +1 -0
  444. package/dist/{sidebar-Crc9M9JV.js → sidebar-C7WWR29L.js} +180 -179
  445. package/dist/sidebar-C7WWR29L.js.map +1 -0
  446. package/dist/{sidebar-Cb8WzOvE.js → sidebar-d7Dg80ln.js} +16 -16
  447. package/dist/sidebar-d7Dg80ln.js.map +1 -0
  448. package/dist/{skeleton-DVMXr15h.js → skeleton-Cz890JZF.js} +9 -9
  449. package/dist/{skeleton-DVMXr15h.js.map → skeleton-Cz890JZF.js.map} +1 -1
  450. package/dist/smart-card-lFKxn5Hu.js +595 -0
  451. package/dist/smart-card-lFKxn5Hu.js.map +1 -0
  452. package/dist/{spinner-CmTAbEp0.js → spinner-fa3h1Aif.js} +7 -7
  453. package/dist/{spinner-CmTAbEp0.js.map → spinner-fa3h1Aif.js.map} +1 -1
  454. package/dist/{structure-hzCW-XsV.js → structure-DC2dygdA.js} +2 -2
  455. package/dist/{structure-hzCW-XsV.js.map → structure-DC2dygdA.js.map} +1 -1
  456. package/dist/style.css +1 -1
  457. package/dist/surface-recipes-BKRVW8Os.js +43 -0
  458. package/dist/surface-recipes-BKRVW8Os.js.map +1 -0
  459. package/dist/{table-D6zKeYQX.js → table-CIKyLUsy.js} +59 -58
  460. package/dist/table-CIKyLUsy.js.map +1 -0
  461. package/dist/table-CrcLN9Io.js +1458 -0
  462. package/dist/table-CrcLN9Io.js.map +1 -0
  463. package/dist/{tabs-Dk8E_knt.js → tabs-DwBJfjxX.js} +58 -57
  464. package/dist/tabs-DwBJfjxX.js.map +1 -0
  465. package/dist/{text-inputs-BFpku0Qd.js → text-inputs-aaK9wcDT.js} +74 -79
  466. package/dist/text-inputs-aaK9wcDT.js.map +1 -0
  467. package/dist/theme.css +3 -3
  468. package/dist/{timelines-CxuAFIc2.js → timelines-C_SBwHNP.js} +153 -150
  469. package/dist/timelines-C_SBwHNP.js.map +1 -0
  470. package/dist/tone-recipes-CPoExcTE.js +70 -0
  471. package/dist/tone-recipes-CPoExcTE.js.map +1 -0
  472. package/dist/tooltip-CsfgrfS7.js +111 -0
  473. package/dist/tooltip-CsfgrfS7.js.map +1 -0
  474. package/dist/{tree-BotPlyiD.js → tree-BiKhg8AY.js} +68 -66
  475. package/dist/tree-BiKhg8AY.js.map +1 -0
  476. package/dist/typography/rich-text.js +1 -1
  477. package/dist/typography-DTRkE9zL.js +117 -0
  478. package/dist/typography-DTRkE9zL.js.map +1 -0
  479. package/dist/typography.js +1 -1
  480. package/dist/{ui-provider-D2_TeLqw.js → ui-provider-1D_NSYzO.js} +11 -3
  481. package/dist/ui-provider-1D_NSYzO.js.map +1 -0
  482. package/dist/ui-provider.js +3 -3
  483. package/dist/{upload-B0WHW7ak.js → upload-BO8-CLN6.js} +209 -209
  484. package/dist/upload-BO8-CLN6.js.map +1 -0
  485. package/dist/{upload-queue-BHZ_wBfd.js → upload-queue-EOC8g1gf.js} +109 -111
  486. package/dist/upload-queue-EOC8g1gf.js.map +1 -0
  487. package/dist/upload.recipes-BbxTqrCT.js +61 -0
  488. package/dist/upload.recipes-BbxTqrCT.js.map +1 -0
  489. package/dist/{usage-card-U0YBLTNT.js → usage-card-obRaBskq.js} +46 -46
  490. package/dist/{usage-card-U0YBLTNT.js.map → usage-card-obRaBskq.js.map} +1 -1
  491. package/dist/{utils-Cospvlj1.js → utils-l5LpDw2z.js} +56 -24
  492. package/dist/utils-l5LpDw2z.js.map +1 -0
  493. package/dist/value-inputs-TAYMX111.js +947 -0
  494. package/dist/value-inputs-TAYMX111.js.map +1 -0
  495. package/dist/{value-typography-Deb3yQZg.js → value-typography-b8wpz1eX.js} +2 -2
  496. package/dist/{value-typography-Deb3yQZg.js.map → value-typography-b8wpz1eX.js.map} +1 -1
  497. package/dist/workspace-DH0v0KcB.js +407 -0
  498. package/dist/workspace-DH0v0KcB.js.map +1 -0
  499. package/docs/consumer-skill/SKILL.md +19 -20
  500. package/docs/consumer-skill/examples/app-layout.tsx +1 -1
  501. package/docs/consumer-skill/examples/composition.tsx +3 -3
  502. package/docs/consumer-skill/examples/detail.tsx +59 -12
  503. package/docs/consumer-skill/examples/edit.tsx +1 -1
  504. package/docs/consumer-skill/examples/receipt.tsx +2 -2
  505. package/docs/consumer-skill/examples/scoped-directory.tsx +1 -1
  506. package/docs/consumer-skill/examples/website.tsx +1 -1
  507. package/docs/consumer-skill/references/agents-md.md +33 -0
  508. package/docs/consumer-skill/references/analytics.md +1 -1
  509. package/docs/consumer-skill/references/composition.md +51 -8
  510. package/docs/consumer-skill/references/design-contract.md +12 -3
  511. package/docs/consumer-skill/references/installation.md +11 -1
  512. package/docs/consumer-skill/references/public-api.json +847 -447
  513. package/docs/consumer-skill/references/review.md +25 -5
  514. package/docs/consumer-skill/references/theming.md +8 -4
  515. package/docs/consumer-skill/references/tokens.json +1 -1
  516. package/docs/consumer-skill/references/workflows.md +29 -10
  517. package/docs/consumer-skill/scripts/composition-policy.mjs +41 -11
  518. package/docs/consumer-skill/scripts/surface-policy.mjs +139 -5
  519. package/package.json +10 -2
  520. package/dist/accordion-CQXVcd7Q.js.map +0 -1
  521. package/dist/action-menu-BTpyPWJ2.js +0 -264
  522. package/dist/action-menu-BTpyPWJ2.js.map +0 -1
  523. package/dist/affordance-geometry.generated-CCIXb2A1.js.map +0 -1
  524. package/dist/ai-artifact-2PQ2fItc.js.map +0 -1
  525. package/dist/attachment-q69dlt5Y.js +0 -244
  526. package/dist/attachment-q69dlt5Y.js.map +0 -1
  527. package/dist/auth-M3vGMgDR.js.map +0 -1
  528. package/dist/avatar-djdaaQ_s.js.map +0 -1
  529. package/dist/badge-0tATj-tW.js +0 -92
  530. package/dist/badge-0tATj-tW.js.map +0 -1
  531. package/dist/breadcrumbs-BG_FfMK4.js +0 -128
  532. package/dist/breadcrumbs-BG_FfMK4.js.map +0 -1
  533. package/dist/button-BS3KDg00.js.map +0 -1
  534. package/dist/button-R9CCoH7A.js.map +0 -1
  535. package/dist/buttons-DS0ZIwJ_.js +0 -99
  536. package/dist/buttons-DS0ZIwJ_.js.map +0 -1
  537. package/dist/cards-QoJ4syG9.js.map +0 -1
  538. package/dist/checkbox-B7ygNTYp.js +0 -35
  539. package/dist/checkbox-B7ygNTYp.js.map +0 -1
  540. package/dist/choice-inputs-DrJ17tpL.js +0 -752
  541. package/dist/choice-inputs-DrJ17tpL.js.map +0 -1
  542. package/dist/code-block-CD0B7M93.js +0 -183
  543. package/dist/code-block-CD0B7M93.js.map +0 -1
  544. package/dist/combobox-6dvVny2q.js.map +0 -1
  545. package/dist/combobox-CB7039j7.js.map +0 -1
  546. package/dist/comments-You0Bzbr.js.map +0 -1
  547. package/dist/components/layout/page/partials/page-header-commands.d.ts +0 -13
  548. package/dist/containers-D_L4mTVb.js.map +0 -1
  549. package/dist/data-display-3xWQUnMA.js +0 -1335
  550. package/dist/data-display-3xWQUnMA.js.map +0 -1
  551. package/dist/date-picker-DrDFj8Lo.js +0 -1527
  552. package/dist/date-picker-DrDFj8Lo.js.map +0 -1
  553. package/dist/display-DrdvPwF0.js.map +0 -1
  554. package/dist/feedback-C7nR0UtT.js.map +0 -1
  555. package/dist/field-affordance-recipes-CkOCdE2y.js.map +0 -1
  556. package/dist/field-state-recipes-C-MFBX_8.js +0 -11
  557. package/dist/field-state-recipes-C-MFBX_8.js.map +0 -1
  558. package/dist/filters-Da-gNPsE.js.map +0 -1
  559. package/dist/form-sizing-uWP4lzVh.js.map +0 -1
  560. package/dist/forms-numeric-D3CO60IF.js.map +0 -1
  561. package/dist/header-2ycNqGOR.js.map +0 -1
  562. package/dist/icon-badge-DKlaKXoo.js +0 -53
  563. package/dist/icon-badge-DKlaKXoo.js.map +0 -1
  564. package/dist/input-DhQdBnV3.js +0 -255
  565. package/dist/input-DhQdBnV3.js.map +0 -1
  566. package/dist/item-xzh8Df65.js.map +0 -1
  567. package/dist/media-gallery-DQUQ0m3O.js +0 -201
  568. package/dist/media-gallery-DQUQ0m3O.js.map +0 -1
  569. package/dist/mentions-DwnO1hh4.js +0 -564
  570. package/dist/mentions-DwnO1hh4.js.map +0 -1
  571. package/dist/navigation-Cbp5V8gG.js +0 -264
  572. package/dist/navigation-Cbp5V8gG.js.map +0 -1
  573. package/dist/navigation-Cs1npsPm.js +0 -300
  574. package/dist/navigation-Cs1npsPm.js.map +0 -1
  575. package/dist/overlay.recipes-CNO2S9V6.js +0 -34
  576. package/dist/overlay.recipes-CNO2S9V6.js.map +0 -1
  577. package/dist/overlays-DhZO7N-I.js +0 -994
  578. package/dist/overlays-DhZO7N-I.js.map +0 -1
  579. package/dist/page-C6R_8jFt.js +0 -325
  580. package/dist/page-C6R_8jFt.js.map +0 -1
  581. package/dist/page-header-hUTzcRZX.js +0 -112
  582. package/dist/page-header-hUTzcRZX.js.map +0 -1
  583. package/dist/popover-Dcv_9jxr.js.map +0 -1
  584. package/dist/rich-text-editor-CF8QYt5p.js +0 -574
  585. package/dist/rich-text-editor-CF8QYt5p.js.map +0 -1
  586. package/dist/rich-text-editor.recipes-CnrbmTS1.js +0 -81
  587. package/dist/rich-text-editor.recipes-CnrbmTS1.js.map +0 -1
  588. package/dist/rich-text-editor.strings-BpnIQgMl.js +0 -25
  589. package/dist/rich-text-editor.strings-BpnIQgMl.js.map +0 -1
  590. package/dist/rich-text-j-FGAeZW.js +0 -32
  591. package/dist/rich-text-j-FGAeZW.js.map +0 -1
  592. package/dist/sanitize-html-BG9FGe-j.js +0 -64
  593. package/dist/sanitize-html-BG9FGe-j.js.map +0 -1
  594. package/dist/scroll-area-DRdr16Pt.js +0 -47
  595. package/dist/scroll-area-DRdr16Pt.js.map +0 -1
  596. package/dist/settings-DHk0L2MF.js +0 -161
  597. package/dist/settings-DHk0L2MF.js.map +0 -1
  598. package/dist/sheet-DRFNY1_D.js +0 -207
  599. package/dist/sheet-DRFNY1_D.js.map +0 -1
  600. package/dist/sidebar-Cb8WzOvE.js.map +0 -1
  601. package/dist/sidebar-Crc9M9JV.js.map +0 -1
  602. package/dist/smart-card-Bek-TwUp.js +0 -599
  603. package/dist/smart-card-Bek-TwUp.js.map +0 -1
  604. package/dist/surface-recipes-DOdoBXGm.js +0 -28
  605. package/dist/surface-recipes-DOdoBXGm.js.map +0 -1
  606. package/dist/table-D6zKeYQX.js.map +0 -1
  607. package/dist/table-Dn4XSrSB.js +0 -1444
  608. package/dist/table-Dn4XSrSB.js.map +0 -1
  609. package/dist/tabs-Dk8E_knt.js.map +0 -1
  610. package/dist/text-inputs-BFpku0Qd.js.map +0 -1
  611. package/dist/timelines-CxuAFIc2.js.map +0 -1
  612. package/dist/tree-BotPlyiD.js.map +0 -1
  613. package/dist/typography-CAr3dQhX.js +0 -116
  614. package/dist/typography-CAr3dQhX.js.map +0 -1
  615. package/dist/ui-provider-D2_TeLqw.js.map +0 -1
  616. package/dist/upload-B0WHW7ak.js.map +0 -1
  617. package/dist/upload-queue-BHZ_wBfd.js.map +0 -1
  618. package/dist/use-file-drop-target-BX7GnhoQ.js +0 -39
  619. package/dist/use-file-drop-target-BX7GnhoQ.js.map +0 -1
  620. package/dist/utils-Cospvlj1.js.map +0 -1
  621. package/dist/value-inputs-CjfzGMsN.js +0 -854
  622. package/dist/value-inputs-CjfzGMsN.js.map +0 -1
  623. package/dist/workspace-YoFjXi6i.js +0 -394
  624. package/dist/workspace-YoFjXi6i.js.map +0 -1
  625. /package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.strings.d.ts +0 -0
@@ -1,4 +1,4 @@
1
1
  "use client";
2
- import { a as e, c as t, d as n, f as r, i, l as a, m as o, n as s, o as c, p as l, r as u, s as d, t as f, u as p } from "../choice-inputs-DrJ17tpL.js";
3
- import { t as m } from "../checkbox-B7ygNTYp.js";
4
- export { i as CardCheckboxGroup, u as CardRadioGroup, m as Checkbox, s as ListRadioGroup, f as PillRadioGroup, t as Select, p as SelectPopupContent, n as SelectPopupGroup, r as SelectPopupItem, l as SelectPopupLabel, o as SelectPopupSeparator, d as Switch, c as SwitchCard, e as ToggleField, a as defaultSelectStrings };
2
+ import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, n as c, o as l, p as u, r as d, t as f, u as p } from "../choice-inputs-t6w3ATNz.js";
3
+ import { t as m } from "../checkbox-DhB6K0bK.js";
4
+ export { a as CardCheckboxGroup, d as CardRadioGroup, m as Checkbox, c as ListRadioGroup, f as PillRadioGroup, o as Select, n as SelectPopupContent, r as SelectPopupGroup, u as SelectPopupItem, s as SelectPopupLabel, i as SelectPopupSeparator, t as Switch, l as SwitchCard, e as ToggleField, p as defaultSelectStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { n as e, t } from "../code-block-CD0B7M93.js";
2
+ import { n as e, t } from "../code-block-Dgbu-CU3.js";
3
3
  export { t as CodeBlock, e as defaultCodeBlockStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { C as e, S as t, _ as n, a as r, b as i, c as a, d as o, f as s, g as c, h as l, i as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y, v as b, w as x, x as S, y as C } from "../combobox-6dvVny2q.js";
2
+ import { C as e, S as t, _ as n, a as r, b as i, c as a, d as o, f as s, g as c, h as l, i as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y, v as b, w as x, x as S, y as C } from "../combobox-2Ic8N9bL.js";
3
3
  export { _ as ComboboxArrow, a as ComboboxBackdrop, d as ComboboxChip, y as ComboboxChips, o as ComboboxChipsInput, s as ComboboxClear, h as ComboboxCollection, f as ComboboxEmpty, l as ComboboxGroup, c as ComboboxGroupLabel, v as ComboboxInput, n as ComboboxInputTrigger, p as ComboboxItem, b as ComboboxItemIndicator, C as ComboboxList, g as ComboboxPopup, i as ComboboxPortal, S as ComboboxPositioner, m as ComboboxRoot, u as ComboboxSeparator, t as ComboboxStatus, r as ComboboxTrigger, e as ComboboxValue, x as useComboboxFilter };
@@ -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 "../command-kPMPjIxJ.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 "../command-kNR20o7x.js";
3
3
  export { s as Command, r as CommandEmpty, a as CommandGroup, n as CommandInput, e as CommandItem, i as CommandList, o as CommandSeparator, t as CommandShortcut };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { n as e, t } from "../copyable-DDjTeW_j.js";
2
+ import { n as e, t } from "../copyable-B3Gwgdqc.js";
3
3
  export { t as Copyable, e as defaultCopyableStrings };
@@ -1,4 +1,4 @@
1
1
  "use client";
2
- import { c as e, i as t, n, r, s as i, t as a } from "../date-picker-DrDFj8Lo.js";
3
- import { t as o } from "../date-pickers-CnFCb0n2.js";
2
+ import { c as e, i as t, n, r, s as i, t as a } from "../date-picker-CF-DtUpF.js";
3
+ import { t as o } from "../date-pickers-BmzxJl5l.js";
4
4
  export { a as DatePicker, e as DatePickerFooter, i as DatePickerHeader, o as MonthYearPicker, n as TimePicker, t as defaultDatePickerStrings, r as defaultTimePickerStrings };
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { a as e, c as t, o as n, s as r } from "../button-BS3KDg00.js";
3
- import { t as i } from "../icon-badge-DKlaKXoo.js";
4
- import { t as a } from "../separator-Do5GWDYi.js";
5
- import { a as o, i as s, n as c, o as l, r as u, s as d, t as f } from "../display-DrdvPwF0.js";
6
- import { n as p, r as m, t as h } from "../collapsible-oMUGM4tr.js";
7
- import { n as g, t as _ } from "../scroll-area-DRdr16Pt.js";
8
- export { f as BooleanIndicator, h as Collapsible, p as CollapsibleContent, m as CollapsibleTrigger, c as ContentBlock, s as DateBlock, i as IconBadge, d as PlaceholderPattern, _ as ScrollArea, g as ScrollBar, a as Separator, e as Tooltip, n as TooltipContent, r as TooltipProvider, t as TooltipTrigger, l as VisuallyHidden, u as defaultContentBlockStrings, o as defaultDateBlockStrings };
2
+ import { i as e, n as t, r as n, t as r } from "../tooltip-CsfgrfS7.js";
3
+ import { t as i } from "../icon-badge-CAuKupo9.js";
4
+ import { t as a } from "../separator-C8DlRGwF.js";
5
+ import { a as o, i as s, n as c, o as l, r as u, s as d, t as f } from "../display-DsQTVzMz.js";
6
+ import { n as p, r as m, t as h } from "../collapsible-D8AEGU1-.js";
7
+ import { n as g, t as _ } from "../scroll-area-Bt_vXY2b.js";
8
+ export { f as BooleanIndicator, h as Collapsible, p as CollapsibleContent, m as CollapsibleTrigger, c as ContentBlock, s as DateBlock, i as IconBadge, d as PlaceholderPattern, _ as ScrollArea, g as ScrollBar, a as Separator, r as Tooltip, t as TooltipContent, n as TooltipProvider, e as TooltipTrigger, l as VisuallyHidden, u as defaultContentBlockStrings, o as defaultDateBlockStrings };
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { _ as e, g as t, h as n, m as r, p as i, v as a } from "../smart-card-Bek-TwUp.js";
3
- import { a as o, c as s, i as c, n as l, o as u, r as d, s as f, t as p } from "../feedback-C7nR0UtT.js";
4
- import { a as m, i as h, n as g, o as _, r as v, t as y } from "../progress-Br9WTFya.js";
2
+ import { _ as e, g as t, h as n, m as r, p as i, v as a } from "../smart-card-lFKxn5Hu.js";
3
+ import { a as o, c as s, i as c, n as l, o as u, r as d, s as f, t as p } from "../feedback-qNuMBtRH.js";
4
+ import { a as m, i as h, n as g, o as _, r as v, t as y } from "../progress-rnS8-uAW.js";
5
5
  export { i as Alert, r as AlertAction, n as AlertDescription, t as AlertMetadata, e as AlertMetadataItem, a as AlertTitle, d as Empty, c as EmptyContent, o as EmptyDescription, u as EmptyHeader, f as EmptyMedia, s as EmptyTitle, p as ErrorState, l as LoadingState, y as Progress, g as ProgressIndicator, v as ProgressLabel, h as ProgressTrack, m as ProgressValue, _ as defaultProgressStrings };
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../forms-numeric-D3CO60IF.js";
2
+ import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../forms-numeric-C0bvjRPZ.js";
3
3
  export { l as CoordinatesInput, t as CurrencyInput, n as DecimalInput, r as DimensionsInput, o as MoneyInput, u as PercentageInput, e as RoundingModeSelect, a as WeightInput, i as defaultCurrencyInputStrings, c as defaultMoneyInputStrings, s as defaultWeightInputStrings };
@@ -1,4 +1,4 @@
1
1
  "use client";
2
- import { t as e } from "../form-field-VZRULhUK.js";
3
- import { a as t, c as n, i as r, n as i, o as a, r as o, s, t as c } from "../forms-DDeEnXSY.js";
2
+ import { t as e } from "../form-field-DUt4UxSV.js";
3
+ import { a as t, c as n, i as r, n as i, o as a, r as o, s, t as c } from "../forms-Bzha-Y3B.js";
4
4
  export { s as ControlledFormField, i as DirtyStateBanner, o as ErrorSummary, r as FormActionsBar, e as FormField, t as FormSection, c as OperationPasswordForm, a as SubmitStateButton, n as defaultControlledFormFieldStrings };
@@ -1,16 +1,16 @@
1
1
  "use client";
2
- import { s as e } from "../ui-provider-D2_TeLqw.js";
2
+ import { s as e } from "../ui-provider-1D_NSYzO.js";
3
3
  import { useStrings as t } from "../lib/strings.js";
4
- import { t as n } from "../utils-Cospvlj1.js";
5
- import { t as r } from "../affordance-geometry.generated-CCIXb2A1.js";
6
- import { s as i } from "../typography-CAr3dQhX.js";
7
- import { t as a } from "../button-BS3KDg00.js";
8
- import { r as ee, t as te } from "../structure-hzCW-XsV.js";
4
+ import { t as n } from "../utils-l5LpDw2z.js";
5
+ import { t as r } from "../affordance-geometry.generated-B5iu-Mkr.js";
6
+ import { n as i } from "../buttons-SbIcm1HJ.js";
7
+ import { s as a } from "../typography-DTRkE9zL.js";
8
+ import { r as ee, t as te } from "../structure-DC2dygdA.js";
9
9
  import { t as ne } from "../editable-text-recipe-Bkm6wKHp.js";
10
- import { c as re, d as ie, g as ae, m as o, o as oe } from "../form-sizing-uWP4lzVh.js";
11
- import { t as se } from "../input-DhQdBnV3.js";
12
- import { t as ce } from "../form-field-VZRULhUK.js";
13
- import { d as le } from "../text-inputs-BFpku0Qd.js";
10
+ import { _ as re, c as ie, f as ae, h as o, o as oe } from "../form-sizing-By94KzXE.js";
11
+ import { t as se } from "../input-DWhBBBww.js";
12
+ import { t as ce } from "../form-field-DUt4UxSV.js";
13
+ import { d as le } from "../text-inputs-aaK9wcDT.js";
14
14
  import * as s from "react";
15
15
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
16
16
  import { CheckIcon as ue, LoaderCircle as u, PencilIcon as de, XIcon as fe } from "lucide-react";
@@ -28,7 +28,7 @@ var d = {
28
28
  saveError: "Unable to save. Try again.",
29
29
  empty: "Add a value"
30
30
  }, p = s.forwardRef(function({ value: p, defaultValue: pe = "", onValueChange: me, editing: m, defaultEditing: he = !1, onEditingChange: ge, multiline: h = !1, label: g, description: _, placeholder: v, editLabel: y, renderValue: _e, disabled: b = !1, readOnly: x = !1, required: S = !1, validate: ve, onSave: ye, name: C, form: be, autoComplete: xe, maxLength: Se, rows: Ce = 3, strings: we, size: Te, invalid: w = !1, loading: T = !1, clearable: Ee, onClear: De, showCharacterCount: Oe, inputProps: ke, textareaProps: Ae, id: je, className: Me, ...E }, Ne) {
31
- let D = s.useId(), O = je ?? `inline-edit-${D}`, k = `${O}-supporting`, A = t(f, we), { defaultScale: Pe } = e(), j = ae(Te, Pe), [Fe, Ie] = s.useState(pe), M = p ?? Fe, [Le, Re] = s.useState(he), N = (m ?? Le) && !x && !b, [P, F] = s.useState(M), [I, L] = s.useState(), [R, z] = s.useState(!1), B = s.useRef(null), V = s.useRef(null), H = s.useRef(null), U = s.useRef(0), W = s.useRef({
31
+ let D = s.useId(), O = je ?? `inline-edit-${D}`, k = `${O}-supporting`, A = t(f, we), { defaultScale: Pe } = e(), j = re(Te, Pe), [Fe, Ie] = s.useState(pe), M = p ?? Fe, [Le, Re] = s.useState(he), N = (m ?? Le) && !x && !b, [P, F] = s.useState(M), [I, L] = s.useState(), [R, z] = s.useState(!1), B = s.useRef(null), V = s.useRef(null), H = s.useRef(null), U = s.useRef(0), W = s.useRef({
32
32
  value: M,
33
33
  editing: N
34
34
  });
@@ -81,18 +81,18 @@ var d = {
81
81
  function ze(e) {
82
82
  !N || e.defaultPrevented || e.nativeEvent.isComposing || (e.key === "Escape" ? (e.preventDefault(), e.stopPropagation(), Y()) : e.key === "Enter" && e.target === B.current && (!h || e.ctrlKey || e.metaKey) && (e.preventDefault(), X()));
83
83
  }
84
- let Be = I || _, Ve = E["aria-label"] ?? (typeof g == "string" ? g : g ? void 0 : y ?? A.edit), Z = _e?.(M) ?? /* @__PURE__ */ c(i, {
84
+ let Be = I || _, Ve = E["aria-label"] ?? (typeof g == "string" ? g : g ? void 0 : y ?? A.edit), Z = _e?.(M) ?? /* @__PURE__ */ c(a, {
85
85
  tag: "span",
86
86
  size: "inherit",
87
87
  lineHeight: "inherit",
88
88
  type: M ? "main" : "secondary",
89
89
  className: n("min-w-0", h ? "whitespace-pre-wrap break-words" : "truncate"),
90
90
  children: M || v || A.empty
91
- }), Q = n(ie(j), ne[j], "!h-auto", h ? [
91
+ }), Q = n(ae(j), ne[j], "!h-auto", h ? [
92
92
  "items-start px-control",
93
93
  o[j],
94
94
  j === "sm" ? "min-h-textarea-sm" : "min-h-textarea"
95
- ] : re[j]), $ = {
95
+ ] : ie[j]), $ = {
96
96
  id: O,
97
97
  value: P,
98
98
  onChange: (e) => {
@@ -187,7 +187,7 @@ var d = {
187
187
  gap: "xs",
188
188
  wrap: !1,
189
189
  className: "inline-edit--actions shrink-0",
190
- children: [/* @__PURE__ */ c(a, {
190
+ children: [/* @__PURE__ */ c(i, {
191
191
  type: "button",
192
192
  size: "sm",
193
193
  iconOnly: !0,
@@ -206,7 +206,7 @@ var d = {
206
206
  "aria-hidden": "true",
207
207
  className: "size-icon-sm"
208
208
  })
209
- }), /* @__PURE__ */ c(a, {
209
+ }), /* @__PURE__ */ c(i, {
210
210
  type: "button",
211
211
  size: "sm",
212
212
  iconOnly: !0,
@@ -222,7 +222,7 @@ var d = {
222
222
  })]
223
223
  })
224
224
  }),
225
- R && /* @__PURE__ */ c(i, {
225
+ R && /* @__PURE__ */ c(a, {
226
226
  tag: "span",
227
227
  role: "status",
228
228
  className: "sr-only",
@@ -1 +1 @@
1
- {"version":3,"file":"inline-edit.js","names":["React","useDensityConfig","cn","affordanceGeometry","Text","Button","Grid","Stack","editableTextSizeClasses","formControlMinHeightClasses","formFieldTriggerClasses","resolveFormControlSize","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":";;;;;;;;;;;;;;;;;AACA,IAAakB,IAAoB;CAChC,OAAO;CACP,eAAe;CACf,cAAc;AACf,GC2BaC,IAA8C;CAC1D,MAAM;CAAc,MAAM;CAAgB,QAAQ;CAClD,QAAQ;CAAkB,UAAU;CACpC,WAAW;CAA8B,OAAO;AACjD,GAgEaC,IAAapB,EAAM,WAA4C,SAAoB,EAC/F,OAAOqB,GAAW,mBAAe,IAAI,mBACrC,SAASC,GAAa,qBAAiB,IAAO,qBAC9C,eAAY,IAAO,UAAO,gBAAa,gBAAa,cAAW,iBAC/D,cAAW,IAAO,cAAW,IAAO,cAAW,IAAO,cAAU,YAChE,SAAM,UAAM,kBAAc,eAAW,WAAO,GAAG,SAASC,IACxD,MAAMC,IAAU,aAAU,IAAO,aAAU,IAAO,eAAW,aAAS,wBAAoB,gBAAY,mBACtG,IAAIC,IAAY,eAAW,GAAGC,KAC5B,IAAK;CACP,IAAMC,IAAc3B,EAAM,MAAM,GAC1B4B,IAAKH,MAAc,eAAeE,KAClCE,IAAe,GAAGD,EAAG,cACrBE,IAAUC,EAAWZ,GAA0BI,EAAW,GAC1D,EAAE,qBAAiBtB,EAAiB,GACpC+B,IAAOrB,GAAuBa,IAAUS,EAAY,GACpD,CAACC,IAAYC,MAAiBnC,EAAM,SAASoC,EAAY,GACzDC,IAAQhB,KAAaa,IACrB,CAACI,IAAcC,MAAmBvC,EAAM,SAASwC,EAAc,GAC/DC,KAAWnB,KAAegB,OAAiB,CAACI,KAAY,CAACC,GACzD,CAACC,GAAOC,KAAY7C,EAAM,SAASqC,CAAK,GACxC,CAACS,GAAOC,KAAY/C,EAAM,SAAiB,GAC3C,CAACgD,GAAQC,KAAajD,EAAM,SAAS,EAAK,GAC1CkD,IAAYlD,EAAM,OAA+C,IAAI,GACrEmD,IAAanD,EAAM,OAA0B,IAAI,GACjDoD,IAAUpD,EAAM,OAA+B,IAAI,GACnDqD,IAAarD,EAAM,OAAO,CAAC,GAC3BsD,IAAStD,EAAM,OAAO;EAAE;EAAO;CAAQ,CAAC;CAC9C,EAAO,UAAU;EAAE;EAAO;CAAQ;CAClC,IAAMuD,IAAWvD,EAAM,OAAO;EAAE;EAAO,SAAS;CAAM,CAAC,GACjDwD,IAAexD,EAAM,OAAO,EAAK;CAEvC,SAASyD,IAAa;EAGrB,AAFA,EAAW,WAAW,GACtBL,EAAQ,SAAS,MAAM,GACvB,EAAQ,UAAU;CACnB;CAmBA,AAjBAnC,EAAM,sBAAsB;EAC3B,IAAMyC,IAAWjB,KAAW,CAACc,EAAS,QAAQ,SACxCI,IAAWtB,MAAUkB,EAAS,QAAQ;EAY5C,CAXI,CAACd,KAAWiB,KAAYC,OAC3BF,EAAW,GACXZ,EAASR,CAAK,GACdU,EAAS,KAAA,CAAS,GAClBE,EAAU,EAAK,IAEZS,KAAUR,EAAU,SAAS,MAAM,GACnC,CAACT,KAAWe,EAAa,YAC5BL,EAAW,SAAS,MAAM,GAC1B,EAAa,UAAU,KAExB,EAAS,UAAU;GAAE;GAAO;EAAQ;CACrC,GAAG,CAACd,GAAOI,CAAO,CAAC,GAEnBxB,EAAM,sBAAsB;EAAE,EAAW;CAAG,GAAG,CAAC,CAAC;CAEjD,SAAS2C,EAAe,GAAe;EAEtC,AADItC,MAAgB,KAAA,KAAWiB,GAAgBsB,CAAI,GACnDC,KAAkBD,CAAI;CACvB;CAEA,SAASE,IAAU;EAMlB,AALAN,EAAW,GACXR,EAAU,EAAK,GACfJ,EAASR,CAAK,GACdU,EAAS,KAAA,CAAS,GAClB,EAAa,UAAU,IACvBa,EAAe,EAAK;CACrB;CAEA,eAAeI,IAAO;EACrB,IAAIZ,EAAQ,WAAW,CAACX,KAAWwB,GAAS;EAC5C,IAAIrB,MAAUP,GAAO;GAAE,EAAQ;GAAG;EAAQ;EAC1C,IAAM6B,IAAYtB,GACZuB,IAAa,IAAI,gBAAgB,GACjCC,IAAU,EAAEf,EAAW,SACvBgB,IAAmBhC,GACnBiC,UAAgB,CAACH,EAAW,OAAO,WAAWd,EAAW,YAAYe,KACvEd,EAAO,QAAQ,WAAWA,EAAO,QAAQ,UAAUe;EACvD,IAAI;GACH,IAAME,KAAmBC,KAAY,CAACN,EAAU,KAAK,IAAIpC,EAAQ,WAAW2C,KAAWP,CAAS,OAC3FhB,EAAU,WAAW,CAACA,EAAU,QAAQ,cAAc,IAAIA,EAAU,QAAQ,oBAAoB,KAAA;GACrG,IAAIqB,GAAiB;IAEpB,AADAxB,EAASwB,CAAe,GACxBrB,EAAU,SAAS,MAAM;IACzB;GACD;GAOA,IANAH,EAAS,KAAA,CAAS,GAClB,EAAQ,UAAUoB,GAClBlB,EAAU,EAAI,GAEdC,EAAU,SAAS,MAAM,GACzB,MAAMwB,KAASR,GAAW,EAAE,QAAQC,EAAW,OAAO,CAAC,GACnD,CAACG,EAAQ,GAAG;GAMhB,AALA,EAAQ,UAAU,MAClBrB,EAAU,EAAK,GACX5B,MAAc,KAAA,KAAWc,GAAc+B,CAAS,GACpDS,KAAgBT,CAAS,GACzB,EAAa,UAAU,IACvBN,EAAe,EAAK;EACrB,SAASgB,GAAO;GACf,IAAI,CAACN,EAAQ,GAAG;GAIhB,AAHA,EAAQ,UAAU,MAClBrB,EAAU,EAAK,GACfF,EAAS6B,aAAiB,SAASA,EAAM,UAAUA,EAAM,UAAU9C,EAAQ,SAAS,GACpFoB,EAAU,SAAS,MAAM;EAC1B;CACD;CAEA,SAAS2B,GAAU,GAA4C;EAC9D,AAAI,CAACpC,KAAWqC,EAAM,oBAAoBA,EAAM,YAAY,gBACxDA,EAAM,QAAQ,YACjBA,EAAM,eAAe,GACrBA,EAAM,gBAAgB,GACtBf,EAAQ,KACEe,EAAM,QAAQ,WAAWA,EAAM,WAAW5B,EAAU,YAC1D,CAAC6B,KAAaD,EAAM,WAAWA,EAAM,aACzCA,EAAM,eAAe,GACrBd,EAAU;CAEZ;CAEA,IAAMgB,KAAUlC,KAASmC,GACnBC,KAAiBxD,EAAU,kBAAkB,OAAOyD,KAAU,WAAWA,IAAQA,IAAQ,KAAA,IAAYC,KAAatD,EAAQ,OAC1HuD,IAAUC,KAAcjD,CAAK,KAAK,kBAACjC,GAAD;EAAM,KAAI;EAAO,MAAK;EAAU,YAAW;EAAU,MAAMiC,IAAQ,SAAS;EAAa,WAAWnC,EAAG,WAAW6E,IAAY,oCAAoC,UAAU;EAAI,UAAA1C,KAASkD,KAAezD,EAAQ;CAAY,CAAA,GAC9P0D,IAAiBtF,EAAGQ,GAAwBsB,CAAI,GAAGxB,GAAwBwB,IAAO,WACvF+C,IAAY;EAAC;EAA0BnE,EAAyBoB;EAAOA,MAAS,OAAO,sBAAsB;CAAgB,IAAIvB,GAA4BuB,EAAK,GAC7JyD,IAAc;EACnB;EAAI,OAAO7C;EAAO,WAAW,MAAqE;GACjG,AAAKI,MAAUH,EAASiC,EAAM,OAAO,KAAK,GAAG/B,EAAS,KAAA,CAAS;EAChE;EAEA,MAAM,qBAAqBpB;EAC3B;EAAa;EAAc;EAAW;EAAM;EAAS,WAAW+D,MAAa,CAAC1C;EAAQ;EAAS;EAC/F,iBAAiBwB,KAAY,KAAA;EAAW,UAAUxB;EAClD,SAAS2C,KAAW,EAAQ7C;EAAQ,cAAcoC;EAAgB,mBAAmBxD,EAAU;EAC/F,oBAAoBsD,KAAUnD,IAAe,KAAA;EAC7C,qBAAqBiB,IAAQjB,IAAe,KAAA;CAC7C;CAEA,OAAO,kBAACd,IAAD;EAAW,GAAIW;EAAgB;EAAK,IAAI,GAAGE,EAAG;EAAe;EAAO,SAASA;EACzE;EAAU,YAAYqD;EAAa,OAAOxC,IAAUK,IAAQ,KAAA;EACtE,kBAAkBjB;EAAc,WAAW3B,EAAG,kCAAkC0F,EAAS;EACzF,gBAAcnD,KAAW,KAAA;EAAW,eAAaO,KAAU,KAAA;EAAW,aAAWiB,KAAWjB,KAAU,KAAA;EAHhG,UAAA,CAIJ6C,KAAQ,kBAAC,SAAD;GAAO,MAAK;GAAe;GAAY;GAAa;GAAiB;EAAW,CAAA,GACxFnD,IAAW,kBAAC,OAAD;GAAS;GAAI,WAAWxC,EAAG,8BAA8BsF,CAAc;GAAG,gBAAcG,KAAW,KAAA;GAAY,UAAAN;EAAa,CAAA,IAAI,kBAAC/E,IAAD;GAAM,SAAS;GAAG,KAAKmC,IAAU,OAAO;GAAQ,OAAM;GACjM,WAAWvC,EAAG,sBAAsBuC,KAAW,uBAAuBvB,EAAkB,OACvFuB,IAAUtC,EAAmB,kBAAkB4E,IAAY,cAAc,YAAY7D,EAAkB,aAAa;GAC1G;GAAW,aAAW8B,KAAU,KAAA;GAHgG,UAAA;IAI3I,kBAAC,OAAD;KAAK,WAAU;KACb,UAAAP,IAAWsC,IAAY,kBAAC/D,IAAD;MAAU,GAAI8E;MAAe,GAAIL;MAAmB;MAAM,KAAKvC;KAA8C,CAAA,IAClI,kBAACpC,IAAD;MAAO,GAAIiF;MAAY,GAAIN;MAAa,KAAKvC;KAA2C,CAAA,IACxF,kBAAC,UAAD;MAAY;MAAI,KAAKC;MAAY,MAAK;MACvC,UAAUR,KAAYsB;MAAS,gBAAc0B,KAAW,KAAA;MAAW,cAAYP,MAAc,OAAOD,KAAU,WAAW,GAAGrD,EAAQ,KAAK,IAAIqD,MAAUrD,EAAQ;MAAO,oBAAkBmD,IAAcpD,IAAe,KAAA;MACrN,eAAe+B,EAAe,EAAI;MAClC,WAAW1D,EAAG,yGAAyGsF,CAAc;MAHpI,UAAA,CAIAH,GACApB,IAAU,kBAAC+B,GAAD;OAAc,eAAY;OAAO,WAAW9F,EAAGW,GAAuBmB,IAAO,qDAAqD;MAAI,CAAA,IAAI,kBAACiE,IAAD;OAAY,eAAY;OAAO,WAAU;MAAuP,CAAA,CAC9a;;IACL,CAAA;IACL,kBAAC,OAAD;KAAK,eAAa,CAACxD,KAAW,KAAA;KAAW,OAAO,CAACA,KAAW,KAAA;KAC3D,WAAWvC,EAAGgB,EAAkB,cAAcuB,IAAU,gBAAgB,+BAA+B;KACxG,UAAA,kBAAClC,IAAD;MAAO,WAAWwE,IAAY,aAAa;MAAc,KAAI;MAAK,MAAM;MAAO,WAAU;MAAzF,UAAA,CACC,kBAAC1E,GAAD;OAAQ,MAAK;OAAS,MAAK;OAAK,UAAA;OAAS,MAAK;OAAU,aAAY;OACnE,cAAY2C,IAASlB,EAAQ,SAASA,EAAQ;OAAM,UAAU,CAACW,KAAWO,KAAUiB;OAAS,aAAWjB,KAAU,KAAA;OAAW,eAAe;QAAE,EAAU;OAAG;OAC1J,UAAAA,IAAS,kBAACgD,GAAD;QAAc,eAAY;QAAO,WAAU;OAAwD,CAAA,IAAI,kBAACE,IAAD;QAAW,eAAY;QAAO,WAAU;OAAgB,CAAA;MAClK,CAAA,GACR,kBAAC7F,GAAD;OAAQ,MAAK;OAAS,MAAK;OAAK,UAAA;OAAS,MAAK;OAAU,aAAY;OACnE,cAAYyB,EAAQ;OAAQ,UAAU,CAACW;OAAS,SAASsB;OAAS,UAAA,kBAACoC,IAAD;QAAO,eAAY;QAAO,WAAU;OAAgB,CAAA;MAAS,CAAA,CAC1H;;IACF,CAAA;IACJnD,KAAU,kBAAC5C,GAAD;KAAM,KAAI;KAAO,MAAK;KAAS,WAAU;KAAW,UAAA0B,EAAQ;IAAa,CAAA;GAC/E;EACG,CAAA,CAAA;;AACZ,CAAC"}
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-xzh8Df65.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-DQUQ0m3O.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-CURh59jb.js";
3
- import { n as g, t as _ } from "../breadcrumbs-BG_FfMK4.js";
4
- import { a as v, i as y, n as b, r as x, t as S } from "../navigation-Cs1npsPm.js";
5
- import { i as C, n as w, o as T, r as E, t as D } from "../tabs-Dk8E_knt.js";
6
- import { t as O } from "../page-header-hUTzcRZX.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-Cm0jqa3I.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-DnRFKnHP.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-Dcv_9jxr.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-Cospvlj1.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";