themelia-react-ui 1.0.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (542) hide show
  1. package/CHANGELOG.md +281 -1
  2. package/README.md +10 -5
  3. package/dist/{accordion-BRTcsp8J.js → accordion-CQXVcd7Q.js} +13 -13
  4. package/dist/accordion-CQXVcd7Q.js.map +1 -0
  5. package/dist/action-menu-BTpyPWJ2.js +264 -0
  6. package/dist/action-menu-BTpyPWJ2.js.map +1 -0
  7. package/dist/{affordance-geometry.generated-CL84ZN9A.js → affordance-geometry.generated-CCIXb2A1.js} +7 -2
  8. package/dist/affordance-geometry.generated-CCIXb2A1.js.map +1 -0
  9. package/dist/{ai-artifact-DLVdK0Py.js → ai-artifact-2PQ2fItc.js} +171 -176
  10. package/dist/ai-artifact-2PQ2fItc.js.map +1 -0
  11. package/dist/{app-shell-C_fKpljx.js → app-shell-BE_j8-AT.js} +4 -4
  12. package/dist/{app-shell-C_fKpljx.js.map → app-shell-BE_j8-AT.js.map} +1 -1
  13. package/dist/{attachment-DbjUWsP0.js → attachment-q69dlt5Y.js} +9 -9
  14. package/dist/{attachment-DbjUWsP0.js.map → attachment-q69dlt5Y.js.map} +1 -1
  15. package/dist/{auth-CAQcasMV.js → auth-M3vGMgDR.js} +42 -42
  16. package/dist/{auth-CAQcasMV.js.map → auth-M3vGMgDR.js.map} +1 -1
  17. package/dist/{avatar-Bu2HhitA.js → avatar-djdaaQ_s.js} +14 -12
  18. package/dist/avatar-djdaaQ_s.js.map +1 -0
  19. package/dist/{badge-CzId1Wlm.js → badge-0tATj-tW.js} +9 -9
  20. package/dist/badge-0tATj-tW.js.map +1 -0
  21. package/dist/base/accordion.js +1 -1
  22. package/dist/base/action-menu.js +1 -1
  23. package/dist/base/attachment.js +1 -1
  24. package/dist/base/avatar.js +1 -1
  25. package/dist/base/badge.js +1 -1
  26. package/dist/base/buttons.js +2 -2
  27. package/dist/base/cards.js +2 -2
  28. package/dist/base/carousel.js +11 -11
  29. package/dist/base/carousel.js.map +1 -1
  30. package/dist/base/cascader.js +244 -222
  31. package/dist/base/cascader.js.map +1 -1
  32. package/dist/base/chart.js +1 -1
  33. package/dist/base/choice-inputs.js +2 -2
  34. package/dist/base/code-block.js +1 -1
  35. package/dist/base/combobox.js +1 -1
  36. package/dist/base/command.js +1 -1
  37. package/dist/base/copyable.js +1 -1
  38. package/dist/base/date-pickers.js +2 -2
  39. package/dist/base/display.js +6 -6
  40. package/dist/base/feedback.js +3 -3
  41. package/dist/base/forms-numeric.js +1 -1
  42. package/dist/base/forms.js +2 -2
  43. package/dist/base/inline-edit.js +81 -76
  44. package/dist/base/inline-edit.js.map +1 -1
  45. package/dist/base/item.js +1 -1
  46. package/dist/base/media-gallery.js +1 -1
  47. package/dist/base/navigation.js +6 -6
  48. package/dist/base/popover-menu.js +1 -1
  49. package/dist/base/popover.js +1 -1
  50. package/dist/base/qr-code.js +7 -4
  51. package/dist/base/qr-code.js.map +1 -1
  52. package/dist/base/repeaters.js +42 -42
  53. package/dist/base/repeaters.js.map +1 -1
  54. package/dist/base/sheet.js +1 -1
  55. package/dist/base/sidebar.js +1 -1
  56. package/dist/base/signature-pad.js +9 -9
  57. package/dist/base/signature-pad.js.map +1 -1
  58. package/dist/base/skeleton.js +1 -1
  59. package/dist/base/spinner.js +1 -1
  60. package/dist/base/structure.js +1 -1
  61. package/dist/base/table.js +1 -1
  62. package/dist/base/text-inputs.js +2 -2
  63. package/dist/base/toaster.js +4 -4
  64. package/dist/base/toaster.js.map +1 -1
  65. package/dist/base/tree.js +1 -1
  66. package/dist/base/upload-queue.js +1 -1
  67. package/dist/base/upload.js +3 -3
  68. package/dist/base/value-inputs.js +1 -1
  69. package/dist/blocks/admin.js +229 -220
  70. package/dist/blocks/admin.js.map +1 -1
  71. package/dist/blocks/ai.js +147 -180
  72. package/dist/blocks/ai.js.map +1 -1
  73. package/dist/blocks/analytics/usage-card.js +1 -1
  74. package/dist/blocks/analytics.js +530 -523
  75. package/dist/blocks/analytics.js.map +1 -1
  76. package/dist/blocks/collaboration.js +1 -1
  77. package/dist/blocks/commerce/receipt.js +1 -1
  78. package/dist/blocks/commerce.js +1390 -1516
  79. package/dist/blocks/commerce.js.map +1 -1
  80. package/dist/blocks/data-display.js +1 -1
  81. package/dist/blocks/onboarding.js +5 -5
  82. package/dist/blocks/planning.js +82 -91
  83. package/dist/blocks/planning.js.map +1 -1
  84. package/dist/blocks/timelines.js +1 -1
  85. package/dist/{breadcrumbs-BuYz5SDU.js → breadcrumbs-BG_FfMK4.js} +5 -5
  86. package/dist/{breadcrumbs-BuYz5SDU.js.map → breadcrumbs-BG_FfMK4.js.map} +1 -1
  87. package/dist/{button-BZDasD04.js → button-BS3KDg00.js} +185 -162
  88. package/dist/button-BS3KDg00.js.map +1 -0
  89. package/dist/{button-BZyfTvwm.js → button-R9CCoH7A.js} +2 -2
  90. package/dist/{button-BZyfTvwm.js.map → button-R9CCoH7A.js.map} +1 -1
  91. package/dist/{buttons-D_6KJvEE.js → buttons-DS0ZIwJ_.js} +11 -11
  92. package/dist/buttons-DS0ZIwJ_.js.map +1 -0
  93. package/dist/{cards-qGSErLw_.js → cards-QoJ4syG9.js} +7 -7
  94. package/dist/{cards-qGSErLw_.js.map → cards-QoJ4syG9.js.map} +1 -1
  95. package/dist/{chart-Bsc5BICK.js → chart-DwYRKKc-.js} +17 -15
  96. package/dist/chart-DwYRKKc-.js.map +1 -0
  97. package/dist/checkbox-B7ygNTYp.js +35 -0
  98. package/dist/checkbox-B7ygNTYp.js.map +1 -0
  99. package/dist/choice-inputs-DrJ17tpL.js +752 -0
  100. package/dist/choice-inputs-DrJ17tpL.js.map +1 -0
  101. package/dist/{code-block-DzHKRybS.js → code-block-CD0B7M93.js} +19 -19
  102. package/dist/{code-block-DzHKRybS.js.map → code-block-CD0B7M93.js.map} +1 -1
  103. package/dist/{collapsible-ClvC7Bj3.js → collapsible-oMUGM4tr.js} +3 -3
  104. package/dist/{collapsible-ClvC7Bj3.js.map → collapsible-oMUGM4tr.js.map} +1 -1
  105. package/dist/{collection-content-D6S8cv_n.js → collection-content-Ys-OZOkY.js} +3 -3
  106. package/dist/{collection-content-D6S8cv_n.js.map → collection-content-Ys-OZOkY.js.map} +1 -1
  107. package/dist/{combobox-BFnbJJp3.js → combobox-6dvVny2q.js} +96 -97
  108. package/dist/combobox-6dvVny2q.js.map +1 -0
  109. package/dist/{combobox-hozNwUcc.js → combobox-CB7039j7.js} +326 -308
  110. package/dist/combobox-CB7039j7.js.map +1 -0
  111. package/dist/{command-BnmSchli.js → command-kPMPjIxJ.js} +34 -30
  112. package/dist/command-kPMPjIxJ.js.map +1 -0
  113. package/dist/{comments-u5L0OGip.js → comments-You0Bzbr.js} +349 -348
  114. package/dist/comments-You0Bzbr.js.map +1 -0
  115. package/dist/components/base/accordion/accordion-variants.d.ts +3 -3
  116. package/dist/components/base/action-menu/action-menu.d.ts +7 -2
  117. package/dist/components/base/avatar/stacked-avatars.d.ts +5 -4
  118. package/dist/components/base/badge/badge.d.ts +1 -1
  119. package/dist/components/base/badge/badge.recipes.d.ts +4 -4
  120. package/dist/components/base/buttons/base-button.d.ts +7 -0
  121. package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
  122. package/dist/components/base/buttons/button.variants.d.ts +1 -0
  123. package/dist/components/base/buttons/loader-button.d.ts +3 -1
  124. package/dist/components/base/buttons/text-button.d.ts +2 -2
  125. package/dist/components/base/carousel/carousel.d.ts +3 -1
  126. package/dist/components/base/chart/chart.d.ts +7 -7
  127. package/dist/components/base/choice-inputs/checkbox.d.ts +6 -7
  128. package/dist/components/base/choice-inputs/choice-types.d.ts +10 -1
  129. package/dist/components/base/choice-inputs/pill-radio-group.d.ts +9 -0
  130. package/dist/components/base/choice-inputs/select-popup.d.ts +9 -1
  131. package/dist/components/base/choice-inputs/switch-card.d.ts +1 -1
  132. package/dist/components/base/date-pickers/date-picker-field.d.ts +23 -0
  133. package/dist/components/base/date-pickers/datepicker.types.d.ts +13 -3
  134. package/dist/components/base/display/alert-dialog.d.ts +8 -2
  135. package/dist/components/base/display/content-block.d.ts +4 -2
  136. package/dist/components/base/display/date-block.d.ts +1 -1
  137. package/dist/components/base/display/dialog.d.ts +12 -5
  138. package/dist/components/base/display/surface-title.d.ts +6 -1
  139. package/dist/components/base/feedback/alert.d.ts +1 -1
  140. package/dist/components/base/feedback/state-display.d.ts +5 -4
  141. package/dist/components/base/forms/form-sizing.d.ts +32 -0
  142. package/dist/components/base/forms/workflow.d.ts +2 -0
  143. package/dist/components/base/forms-numeric/coordinates-input.d.ts +3 -0
  144. package/dist/components/base/forms-numeric/rounding-mode-select.d.ts +4 -1
  145. package/dist/components/base/navigation/dropdown-menu.d.ts +2 -2
  146. package/dist/components/base/navigation/language-switcher.d.ts +4 -1
  147. package/dist/components/base/navigation/overflow-tab-bar.d.ts +7 -0
  148. package/dist/components/base/navigation/page-header/page-header.d.ts +4 -1
  149. package/dist/components/base/qr-code/qr-code.d.ts +2 -0
  150. package/dist/components/base/sheet/index.d.ts +29 -1
  151. package/dist/components/base/sheet/sheet.d.ts +14 -5
  152. package/dist/components/base/spinner/spinner.d.ts +3 -2
  153. package/dist/components/base/structure/structure.types.d.ts +1 -1
  154. package/dist/components/base/text-inputs/input-group.d.ts +2 -2
  155. package/dist/components/base/upload/upload.recipes.d.ts +11 -0
  156. package/dist/components/base/value-inputs/date-time-input.d.ts +4 -2
  157. package/dist/components/base/value-inputs/tags-input.d.ts +2 -0
  158. package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +1 -1
  159. package/dist/components/blocks/analytics/format-metric-value.d.ts +11 -1
  160. package/dist/components/blocks/analytics/index.d.ts +1 -1
  161. package/dist/components/blocks/analytics/use-metric-format-options.d.ts +3 -0
  162. package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
  163. package/dist/components/blocks/commerce/address-card/types.d.ts +3 -1
  164. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +4 -0
  165. package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +2 -2
  166. package/dist/components/blocks/commerce/discount-stack/types.d.ts +1 -1
  167. package/dist/components/blocks/commerce/inventory-section/types.d.ts +4 -1
  168. package/dist/components/blocks/commerce/loyalty-points/types.d.ts +1 -1
  169. package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
  170. package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +1 -1
  171. package/dist/components/blocks/commerce/payment-method/types.d.ts +3 -1
  172. package/dist/components/blocks/commerce/seo-listing/seo-listing-card.d.ts +1 -1
  173. package/dist/components/blocks/commerce/seo-listing/types.d.ts +3 -1
  174. package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -1
  175. package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +4 -1
  176. package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +4 -1
  177. package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +1 -1
  178. package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
  179. package/dist/components/features/overlays/drawer.d.ts +1 -1
  180. package/dist/components/features/overlays/hooks/use-overlay-actions.d.ts +2 -2
  181. package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +11 -4
  182. package/dist/components/features/overlays/overlay-tone-icon.d.ts +37 -0
  183. package/dist/components/features/overlays/overlays.types.d.ts +42 -19
  184. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  185. package/dist/components/features/products/partials/index.d.ts +1 -1
  186. package/dist/components/features/products/partials/product-metric-tile.d.ts +6 -0
  187. package/dist/components/features/products/partials/product-tone.d.ts +11 -1
  188. package/dist/components/features/products/products.types.d.ts +2 -1
  189. package/dist/components/features/table/partials/cell-renderers.d.ts +1 -1
  190. package/dist/components/layout/page/index.d.ts +1 -1
  191. package/dist/components/layout/page/page.types.d.ts +53 -3
  192. package/dist/components/layout/page/partials/page-header-commands.d.ts +13 -0
  193. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  194. package/dist/components/primitives/date.d.ts +16 -3
  195. package/dist/components/primitives/dimensions.d.ts +6 -0
  196. package/dist/components/primitives/duration.d.ts +6 -0
  197. package/dist/components/primitives/file-size.d.ts +6 -0
  198. package/dist/components/primitives/index.d.ts +1 -1
  199. package/dist/components/primitives/initials.d.ts +11 -2
  200. package/dist/components/primitives/link.d.ts +7 -0
  201. package/dist/components/primitives/money.d.ts +29 -7
  202. package/dist/components/primitives/number.d.ts +17 -0
  203. package/dist/components/primitives/value-typography.d.ts +54 -0
  204. package/dist/components/primitives/value.d.ts +31 -6
  205. package/dist/components/typography/heading.d.ts +9 -1
  206. package/dist/components/typography/label.d.ts +3 -0
  207. package/dist/components/typography/running-text.d.ts +12 -0
  208. package/dist/components/typography/text-link.d.ts +23 -1
  209. package/dist/components/typography/text.d.ts +12 -0
  210. package/dist/components/typography/text.styles.d.ts +35 -13
  211. package/dist/components/ui/button.d.ts +1 -1
  212. package/dist/components/ui/checkbox.d.ts +5 -0
  213. package/dist/components/ui/overlay.recipes.d.ts +15 -2
  214. package/dist/components/ui/select.d.ts +3 -1
  215. package/dist/components/ui/switch.d.ts +5 -0
  216. package/dist/{containers-DqB-bSYE.js → containers-D_L4mTVb.js} +3 -3
  217. package/dist/{containers-DqB-bSYE.js.map → containers-D_L4mTVb.js.map} +1 -1
  218. package/dist/{copyable-BTSByfmq.js → copyable-DDjTeW_j.js} +4 -4
  219. package/dist/{copyable-BTSByfmq.js.map → copyable-DDjTeW_j.js.map} +1 -1
  220. package/dist/{data-display-Bihs9Ven.js → data-display-3xWQUnMA.js} +471 -478
  221. package/dist/data-display-3xWQUnMA.js.map +1 -0
  222. package/dist/date-picker-DrDFj8Lo.js +1527 -0
  223. package/dist/date-picker-DrDFj8Lo.js.map +1 -0
  224. package/dist/date-pickers-CnFCb0n2.js +174 -0
  225. package/dist/date-pickers-CnFCb0n2.js.map +1 -0
  226. package/dist/date-uf3z37Nm.js +144 -0
  227. package/dist/date-uf3z37Nm.js.map +1 -0
  228. package/dist/{display-CS6Hbk18.js → display-DrdvPwF0.js} +25 -25
  229. package/dist/display-DrdvPwF0.js.map +1 -0
  230. package/dist/{dropdown-menu-D-boNgGO.js → dropdown-menu-CURh59jb.js} +22 -15
  231. package/dist/dropdown-menu-CURh59jb.js.map +1 -0
  232. package/dist/features/activities.js +38 -35
  233. package/dist/features/activities.js.map +1 -1
  234. package/dist/features/ai-chat.js +36 -35
  235. package/dist/features/ai-chat.js.map +1 -1
  236. package/dist/features/async-preview.js +8 -8
  237. package/dist/features/combobox.js +1 -1
  238. package/dist/features/comments.js +1 -1
  239. package/dist/features/data-view.js +10 -10
  240. package/dist/features/email-composer.js +325 -326
  241. package/dist/features/email-composer.js.map +1 -1
  242. package/dist/features/event-calendar.js +190 -200
  243. package/dist/features/event-calendar.js.map +1 -1
  244. package/dist/features/filters.js +1 -1
  245. package/dist/features/global-search.js +77 -77
  246. package/dist/features/global-search.js.map +1 -1
  247. package/dist/features/kanban.js +4 -4
  248. package/dist/features/map.js +8 -8
  249. package/dist/features/media-library.js +499 -502
  250. package/dist/features/media-library.js.map +1 -1
  251. package/dist/features/mentions.js +1 -1
  252. package/dist/features/overlays.js +1 -1
  253. package/dist/features/products.js +1216 -1248
  254. package/dist/features/products.js.map +1 -1
  255. package/dist/features/questionnaire.js +46 -44
  256. package/dist/features/questionnaire.js.map +1 -1
  257. package/dist/features/resource-assignment.js +96 -88
  258. package/dist/features/resource-assignment.js.map +1 -1
  259. package/dist/features/resource.js +11 -11
  260. package/dist/features/rich-text-editor.js +2 -2
  261. package/dist/features/schema-form.js +188 -184
  262. package/dist/features/schema-form.js.map +1 -1
  263. package/dist/features/suggestions.js +3 -3
  264. package/dist/features/sync.js +7 -7
  265. package/dist/features/sync.js.map +1 -1
  266. package/dist/features/table.js +1 -1
  267. package/dist/features/theme-tweaker.js +469 -470
  268. package/dist/features/theme-tweaker.js.map +1 -1
  269. package/dist/{feedback-CJkUAapr.js → feedback-C7nR0UtT.js} +9 -10
  270. package/dist/feedback-C7nR0UtT.js.map +1 -0
  271. package/dist/field-affordance-recipes-CkOCdE2y.js +46 -0
  272. package/dist/field-affordance-recipes-CkOCdE2y.js.map +1 -0
  273. package/dist/{field-state-recipes-DQQpiLWC.js → field-state-recipes-C-MFBX_8.js} +3 -3
  274. package/dist/field-state-recipes-C-MFBX_8.js.map +1 -0
  275. package/dist/{filters-D6FF8L6s.js → filters-Da-gNPsE.js} +467 -467
  276. package/dist/filters-Da-gNPsE.js.map +1 -0
  277. package/dist/{form-field-CZwrkP7m.js → form-field-VZRULhUK.js} +7 -7
  278. package/dist/{form-field-CZwrkP7m.js.map → form-field-VZRULhUK.js.map} +1 -1
  279. package/dist/form-sizing-uWP4lzVh.js +126 -0
  280. package/dist/form-sizing-uWP4lzVh.js.map +1 -0
  281. package/dist/{forms-B5NCbkSC.js → forms-DDeEnXSY.js} +11 -11
  282. package/dist/forms-DDeEnXSY.js.map +1 -0
  283. package/dist/forms-numeric-D3CO60IF.js +905 -0
  284. package/dist/forms-numeric-D3CO60IF.js.map +1 -0
  285. package/dist/{header-kxruN3RM.js → header-2ycNqGOR.js} +43 -42
  286. package/dist/header-2ycNqGOR.js.map +1 -0
  287. package/dist/{hooks-BrlnCwQd.js → hooks-DQ5SPwZw.js} +2 -2
  288. package/dist/{hooks-BrlnCwQd.js.map → hooks-DQ5SPwZw.js.map} +1 -1
  289. package/dist/{icon-badge-Btc6pQrp.js → icon-badge-DKlaKXoo.js} +3 -3
  290. package/dist/{icon-badge-Btc6pQrp.js.map → icon-badge-DKlaKXoo.js.map} +1 -1
  291. package/dist/index.js +2 -2
  292. package/dist/{input-vxcaNCYC.js → input-BoLm9Hks.js} +3 -3
  293. package/dist/{input-vxcaNCYC.js.map → input-BoLm9Hks.js.map} +1 -1
  294. package/dist/input-DhQdBnV3.js +255 -0
  295. package/dist/{input-SX9V0AL3.js.map → input-DhQdBnV3.js.map} +1 -1
  296. package/dist/item-xzh8Df65.js +264 -0
  297. package/dist/item-xzh8Df65.js.map +1 -0
  298. package/dist/layout/app-shell.js +1 -1
  299. package/dist/layout/auth.js +1 -1
  300. package/dist/layout/containers.js +1 -1
  301. package/dist/layout/header.js +1 -1
  302. package/dist/layout/hooks.js +1 -1
  303. package/dist/layout/navigation.js +1 -1
  304. package/dist/layout/page.js +1 -1
  305. package/dist/layout/settings.js +1 -1
  306. package/dist/layout/sidebar.js +2 -2
  307. package/dist/layout/workspace.js +1 -1
  308. package/dist/layout.js +10 -10
  309. package/dist/lib/affordance-geometry.generated.d.ts +6 -1
  310. package/dist/lib/field-affordance-recipes.d.ts +35 -0
  311. package/dist/lib/field-state-recipes.d.ts +4 -2
  312. package/dist/lib/format.d.ts +9 -0
  313. package/dist/lib/money-format.d.ts +30 -0
  314. package/dist/lib/overlay-anatomy-recipes.d.ts +1 -1
  315. package/dist/lib/surface-recipes.d.ts +8 -6
  316. package/dist/lib/token-merge.generated.d.ts +11 -11
  317. package/dist/lib/track-recipes.d.ts +1 -1
  318. package/dist/lib/ui-provider/provider.d.ts +7 -2
  319. package/dist/lib/ui-provider/store.d.ts +6 -2
  320. package/dist/lib/ui-provider/types.d.ts +5 -2
  321. package/dist/lib/utils.js +1 -1
  322. package/dist/{media-gallery-DLp3HAz0.js → media-gallery-DQUQ0m3O.js} +8 -8
  323. package/dist/media-gallery-DQUQ0m3O.js.map +1 -0
  324. package/dist/{mentions-Cl0Kt_Pd.js → mentions-DwnO1hh4.js} +34 -35
  325. package/dist/{mentions-Cl0Kt_Pd.js.map → mentions-DwnO1hh4.js.map} +1 -1
  326. package/dist/{message-SZUNB1eX.js → message-YfFmbXNP.js} +5 -5
  327. package/dist/{message-SZUNB1eX.js.map → message-YfFmbXNP.js.map} +1 -1
  328. package/dist/{navigation-DyytsLRB.js → navigation-Cbp5V8gG.js} +33 -34
  329. package/dist/navigation-Cbp5V8gG.js.map +1 -0
  330. package/dist/{navigation-DnQSNMT0.js → navigation-Cs1npsPm.js} +111 -87
  331. package/dist/navigation-Cs1npsPm.js.map +1 -0
  332. package/dist/{navigation-row-recipes-DQEXQcqY.js → navigation-row-recipes-DlU-4QYO.js} +2 -2
  333. package/dist/{navigation-row-recipes-DQEXQcqY.js.map → navigation-row-recipes-DlU-4QYO.js.map} +1 -1
  334. package/dist/number-CKRBYmZK.js +352 -0
  335. package/dist/number-CKRBYmZK.js.map +1 -0
  336. package/dist/overlay.recipes-CNO2S9V6.js +34 -0
  337. package/dist/overlay.recipes-CNO2S9V6.js.map +1 -0
  338. package/dist/overlays-DhZO7N-I.js +994 -0
  339. package/dist/overlays-DhZO7N-I.js.map +1 -0
  340. package/dist/page-C6R_8jFt.js +325 -0
  341. package/dist/page-C6R_8jFt.js.map +1 -0
  342. package/dist/{page-header-D8nERkn5.js → page-header-hUTzcRZX.js} +9 -9
  343. package/dist/page-header-hUTzcRZX.js.map +1 -0
  344. package/dist/{pagination-NLGqRirf.js → pagination-Cm0jqa3I.js} +8 -8
  345. package/dist/{pagination-NLGqRirf.js.map → pagination-Cm0jqa3I.js.map} +1 -1
  346. package/dist/{popover-CghIYdQf.js → popover-Dcv_9jxr.js} +6 -6
  347. package/dist/{popover-CghIYdQf.js.map → popover-Dcv_9jxr.js.map} +1 -1
  348. package/dist/{popover-menu-B4PoWhRl.js → popover-menu-DnRFKnHP.js} +6 -6
  349. package/dist/{popover-menu-B4PoWhRl.js.map → popover-menu-DnRFKnHP.js.map} +1 -1
  350. package/dist/{popover.recipes-QlD4JenO.js → popover.recipes-wmbvL8Ah.js} +2 -2
  351. package/dist/{popover.recipes-QlD4JenO.js.map → popover.recipes-wmbvL8Ah.js.map} +1 -1
  352. package/dist/primitives-BHrwQXFC.js +379 -0
  353. package/dist/primitives-BHrwQXFC.js.map +1 -0
  354. package/dist/primitives.js +5 -5
  355. package/dist/{progress-BroqrAyV.js → progress-Br9WTFya.js} +7 -7
  356. package/dist/progress-Br9WTFya.js.map +1 -0
  357. package/dist/{receipt-BuJynLgf.js → receipt-CV89q1fs.js} +6 -6
  358. package/dist/{receipt-BuJynLgf.js.map → receipt-CV89q1fs.js.map} +1 -1
  359. package/dist/{rich-text-editor-BKyG7rWz.js → rich-text-editor-CF8QYt5p.js} +6 -6
  360. package/dist/{rich-text-editor-BKyG7rWz.js.map → rich-text-editor-CF8QYt5p.js.map} +1 -1
  361. package/dist/{rich-text-editor.recipes-B72Nfuze.js → rich-text-editor.recipes-CnrbmTS1.js} +4 -4
  362. package/dist/{rich-text-editor.recipes-B72Nfuze.js.map → rich-text-editor.recipes-CnrbmTS1.js.map} +1 -1
  363. package/dist/{rich-text-DlxDOtf4.js → rich-text-j-FGAeZW.js} +4 -4
  364. package/dist/{rich-text-DlxDOtf4.js.map → rich-text-j-FGAeZW.js.map} +1 -1
  365. package/dist/{scroll-area-D-pIhEKl.js → scroll-area-DRdr16Pt.js} +3 -3
  366. package/dist/scroll-area-DRdr16Pt.js.map +1 -0
  367. package/dist/{separator-BhtFyo4x.js → separator-BMEvwnSX.js} +2 -2
  368. package/dist/{separator-BhtFyo4x.js.map → separator-BMEvwnSX.js.map} +1 -1
  369. package/dist/{separator-BNIgG3au.js → separator-Do5GWDYi.js} +4 -4
  370. package/dist/separator-Do5GWDYi.js.map +1 -0
  371. package/dist/services/actions/action-adapters.d.ts +4 -0
  372. package/dist/services/actions.js +8 -3
  373. package/dist/services/actions.js.map +1 -1
  374. package/dist/{settings-DOTOzeZ2.js → settings-DHk0L2MF.js} +17 -17
  375. package/dist/settings-DHk0L2MF.js.map +1 -0
  376. package/dist/sheet-DRFNY1_D.js +207 -0
  377. package/dist/sheet-DRFNY1_D.js.map +1 -0
  378. package/dist/sidebar-Cb8WzOvE.js +511 -0
  379. package/dist/sidebar-Cb8WzOvE.js.map +1 -0
  380. package/dist/{sidebar-CyR4XKwR.js → sidebar-Crc9M9JV.js} +18 -18
  381. package/dist/sidebar-Crc9M9JV.js.map +1 -0
  382. package/dist/{skeleton-3F0uhYn3.js → skeleton-DVMXr15h.js} +4 -4
  383. package/dist/{skeleton-3F0uhYn3.js.map → skeleton-DVMXr15h.js.map} +1 -1
  384. package/dist/{smart-card-DjGVV2xr.js → smart-card-Bek-TwUp.js} +222 -207
  385. package/dist/smart-card-Bek-TwUp.js.map +1 -0
  386. package/dist/{spinner-Cpf7oRkF.js → spinner-CmTAbEp0.js} +8 -6
  387. package/dist/spinner-CmTAbEp0.js.map +1 -0
  388. package/dist/{structure-CRdqVawd.js → structure-hzCW-XsV.js} +3 -3
  389. package/dist/{structure-CRdqVawd.js.map → structure-hzCW-XsV.js.map} +1 -1
  390. package/dist/{structure.recipes-Bqhf9oIh.js → structure.recipes-EPz60cU8.js} +37 -19
  391. package/dist/structure.recipes-EPz60cU8.js.map +1 -0
  392. package/dist/style.css +1 -1
  393. package/dist/surface-recipes-DOdoBXGm.js +28 -0
  394. package/dist/surface-recipes-DOdoBXGm.js.map +1 -0
  395. package/dist/table-D6zKeYQX.js +162 -0
  396. package/dist/table-D6zKeYQX.js.map +1 -0
  397. package/dist/{table-CcRDZiLP.js → table-Dn4XSrSB.js} +348 -348
  398. package/dist/table-Dn4XSrSB.js.map +1 -0
  399. package/dist/{tabs-BNgu7g0u.js → tabs-Dk8E_knt.js} +14 -13
  400. package/dist/tabs-Dk8E_knt.js.map +1 -0
  401. package/dist/{text-inputs-DsR56TR-.js → text-inputs-BFpku0Qd.js} +150 -149
  402. package/dist/text-inputs-BFpku0Qd.js.map +1 -0
  403. package/dist/{text.styles-Q4sGAIgA.js → text.styles-g4He6UIW.js} +17 -14
  404. package/dist/text.styles-g4He6UIW.js.map +1 -0
  405. package/dist/theme.css +16 -12
  406. package/dist/themes/green.css +24 -0
  407. package/dist/{timelines-D1pkt3se.js → timelines-CxuAFIc2.js} +25 -38
  408. package/dist/timelines-CxuAFIc2.js.map +1 -0
  409. package/dist/track-recipes-CDcKmndW.js +10 -0
  410. package/dist/track-recipes-CDcKmndW.js.map +1 -0
  411. package/dist/{tree-BtmYyMZV.js → tree-BotPlyiD.js} +13 -13
  412. package/dist/{tree-BtmYyMZV.js.map → tree-BotPlyiD.js.map} +1 -1
  413. package/dist/typography/rich-text.js +1 -1
  414. package/dist/typography-CAr3dQhX.js +116 -0
  415. package/dist/typography-CAr3dQhX.js.map +1 -0
  416. package/dist/typography.js +2 -2
  417. package/dist/{ui-provider-DRPn3qNl.js → ui-provider-D2_TeLqw.js} +20 -21
  418. package/dist/ui-provider-D2_TeLqw.js.map +1 -0
  419. package/dist/ui-provider.js +1 -1
  420. package/dist/{upload-CDbYw1WN.js → upload-B0WHW7ak.js} +221 -220
  421. package/dist/upload-B0WHW7ak.js.map +1 -0
  422. package/dist/{upload-queue-CNd_hH_a.js → upload-queue-BHZ_wBfd.js} +59 -62
  423. package/dist/upload-queue-BHZ_wBfd.js.map +1 -0
  424. package/dist/{usage-card-VyJLUwRr.js → usage-card-U0YBLTNT.js} +42 -43
  425. package/dist/{usage-card-VyJLUwRr.js.map → usage-card-U0YBLTNT.js.map} +1 -1
  426. package/dist/{utils-BvH9PSmq.js → utils-Cospvlj1.js} +221 -51
  427. package/dist/utils-Cospvlj1.js.map +1 -0
  428. package/dist/value-inputs-CjfzGMsN.js +854 -0
  429. package/dist/value-inputs-CjfzGMsN.js.map +1 -0
  430. package/dist/value-typography-Deb3yQZg.js +116 -0
  431. package/dist/value-typography-Deb3yQZg.js.map +1 -0
  432. package/dist/{workspace-CcR8r-Nt.js → workspace-YoFjXi6i.js} +44 -45
  433. package/dist/workspace-YoFjXi6i.js.map +1 -0
  434. package/docs/consumer-skill/SKILL.md +51 -38
  435. package/docs/consumer-skill/examples/app-layout.tsx +2 -4
  436. package/docs/consumer-skill/examples/detail.tsx +3 -4
  437. package/docs/consumer-skill/examples/edit.tsx +1 -1
  438. package/docs/consumer-skill/examples/layout-blocks.tsx +20 -0
  439. package/docs/consumer-skill/examples/manifest.json +28 -6
  440. package/docs/consumer-skill/examples/scoped-directory.tsx +2 -2
  441. package/docs/consumer-skill/references/composition.md +89 -17
  442. package/docs/consumer-skill/references/discovery.md +4 -0
  443. package/docs/consumer-skill/references/installation.md +22 -0
  444. package/docs/consumer-skill/references/integration.md +32 -1
  445. package/docs/consumer-skill/references/public-api.json +111 -70
  446. package/docs/consumer-skill/references/review.md +20 -4
  447. package/docs/consumer-skill/references/theming.md +7 -1
  448. package/docs/consumer-skill/references/tokens.json +5 -2
  449. package/docs/consumer-skill/references/workflows.md +4 -2
  450. package/docs/consumer-skill/scripts/composition-policy.mjs +93 -2
  451. package/docs/consumer-skill/scripts/discovery.mjs +11 -3
  452. package/docs/consumer-skill/scripts/pin-button-defaults.mjs +95 -0
  453. package/package.json +5 -3
  454. package/dist/accordion-BRTcsp8J.js.map +0 -1
  455. package/dist/action-menu-Drxw_vJk.js +0 -265
  456. package/dist/action-menu-Drxw_vJk.js.map +0 -1
  457. package/dist/affordance-geometry.generated-CL84ZN9A.js.map +0 -1
  458. package/dist/ai-artifact-DLVdK0Py.js.map +0 -1
  459. package/dist/avatar-Bu2HhitA.js.map +0 -1
  460. package/dist/badge-CzId1Wlm.js.map +0 -1
  461. package/dist/button-BZDasD04.js.map +0 -1
  462. package/dist/buttons-D_6KJvEE.js.map +0 -1
  463. package/dist/chart-Bsc5BICK.js.map +0 -1
  464. package/dist/checkbox-BQNDjUCh.js +0 -34
  465. package/dist/checkbox-BQNDjUCh.js.map +0 -1
  466. package/dist/choice-inputs-Mk3iWbhr.js +0 -725
  467. package/dist/choice-inputs-Mk3iWbhr.js.map +0 -1
  468. package/dist/combobox-BFnbJJp3.js.map +0 -1
  469. package/dist/combobox-hozNwUcc.js.map +0 -1
  470. package/dist/command-BnmSchli.js.map +0 -1
  471. package/dist/comments-u5L0OGip.js.map +0 -1
  472. package/dist/data-display-Bihs9Ven.js.map +0 -1
  473. package/dist/date-DOKhJPu7.js +0 -140
  474. package/dist/date-DOKhJPu7.js.map +0 -1
  475. package/dist/date-picker-DzP5HQq7.js +0 -1541
  476. package/dist/date-picker-DzP5HQq7.js.map +0 -1
  477. package/dist/date-pickers-BpgGz7S-.js +0 -196
  478. package/dist/date-pickers-BpgGz7S-.js.map +0 -1
  479. package/dist/display-CS6Hbk18.js.map +0 -1
  480. package/dist/dropdown-menu-D-boNgGO.js.map +0 -1
  481. package/dist/feedback-CJkUAapr.js.map +0 -1
  482. package/dist/field-affordance-recipes-uKY4MsZ_.js +0 -25
  483. package/dist/field-affordance-recipes-uKY4MsZ_.js.map +0 -1
  484. package/dist/field-state-recipes-DQQpiLWC.js.map +0 -1
  485. package/dist/filters-D6FF8L6s.js.map +0 -1
  486. package/dist/form-sizing-QP8aIRaW.js +0 -103
  487. package/dist/form-sizing-QP8aIRaW.js.map +0 -1
  488. package/dist/format-iamDSqs2.js +0 -110
  489. package/dist/format-iamDSqs2.js.map +0 -1
  490. package/dist/forms-B5NCbkSC.js.map +0 -1
  491. package/dist/forms-numeric-Crrm80Lm.js +0 -867
  492. package/dist/forms-numeric-Crrm80Lm.js.map +0 -1
  493. package/dist/header-kxruN3RM.js.map +0 -1
  494. package/dist/input-SX9V0AL3.js +0 -255
  495. package/dist/item-DE4YnuJx.js +0 -258
  496. package/dist/item-DE4YnuJx.js.map +0 -1
  497. package/dist/media-gallery-DLp3HAz0.js.map +0 -1
  498. package/dist/navigation-DnQSNMT0.js.map +0 -1
  499. package/dist/navigation-DyytsLRB.js.map +0 -1
  500. package/dist/number-DasMFWEG.js +0 -269
  501. package/dist/number-DasMFWEG.js.map +0 -1
  502. package/dist/overlay.recipes-BxW5FIfK.js +0 -6
  503. package/dist/overlay.recipes-BxW5FIfK.js.map +0 -1
  504. package/dist/overlays-DUbs1KEi.js +0 -1011
  505. package/dist/overlays-DUbs1KEi.js.map +0 -1
  506. package/dist/page-hGmT4nWK.js +0 -213
  507. package/dist/page-hGmT4nWK.js.map +0 -1
  508. package/dist/page-header-D8nERkn5.js.map +0 -1
  509. package/dist/primitives-C7ff0QaI.js +0 -337
  510. package/dist/primitives-C7ff0QaI.js.map +0 -1
  511. package/dist/progress-BroqrAyV.js.map +0 -1
  512. package/dist/scroll-area-D-pIhEKl.js.map +0 -1
  513. package/dist/separator-BNIgG3au.js.map +0 -1
  514. package/dist/settings-DOTOzeZ2.js.map +0 -1
  515. package/dist/sheet-BFhrNehm.js +0 -205
  516. package/dist/sheet-BFhrNehm.js.map +0 -1
  517. package/dist/sidebar-CyR4XKwR.js.map +0 -1
  518. package/dist/sidebar-SvGJ0Zwi.js +0 -506
  519. package/dist/sidebar-SvGJ0Zwi.js.map +0 -1
  520. package/dist/smart-card-DjGVV2xr.js.map +0 -1
  521. package/dist/spinner-Cpf7oRkF.js.map +0 -1
  522. package/dist/structure.recipes-Bqhf9oIh.js.map +0 -1
  523. package/dist/surface-recipes-Dd__PD-w.js +0 -28
  524. package/dist/surface-recipes-Dd__PD-w.js.map +0 -1
  525. package/dist/table-CLtJTxoR.js +0 -147
  526. package/dist/table-CLtJTxoR.js.map +0 -1
  527. package/dist/table-CcRDZiLP.js.map +0 -1
  528. package/dist/tabs-BNgu7g0u.js.map +0 -1
  529. package/dist/text-inputs-DsR56TR-.js.map +0 -1
  530. package/dist/text.styles-Q4sGAIgA.js.map +0 -1
  531. package/dist/timelines-D1pkt3se.js.map +0 -1
  532. package/dist/track-recipes-LLPNVwFg.js +0 -10
  533. package/dist/track-recipes-LLPNVwFg.js.map +0 -1
  534. package/dist/typography-BxQgiZyw.js +0 -96
  535. package/dist/typography-BxQgiZyw.js.map +0 -1
  536. package/dist/ui-provider-DRPn3qNl.js.map +0 -1
  537. package/dist/upload-CDbYw1WN.js.map +0 -1
  538. package/dist/upload-queue-CNd_hH_a.js.map +0 -1
  539. package/dist/utils-BvH9PSmq.js.map +0 -1
  540. package/dist/value-inputs-D0KCrfVC.js +0 -840
  541. package/dist/value-inputs-D0KCrfVC.js.map +0 -1
  542. package/dist/workspace-CcR8r-Nt.js.map +0 -1
@@ -1,36 +1,36 @@
1
1
  "use client";
2
2
  import { useStrings as e } from "../lib/strings.js";
3
- import { t } from "../utils-BvH9PSmq.js";
4
- import { a as n } from "../typography-BxQgiZyw.js";
5
- import { t as r } from "../button-BZDasD04.js";
6
- import { i, t as a } from "../structure-CRdqVawd.js";
7
- import { h as o, p as s, t as c, v as l } from "../smart-card-DjGVV2xr.js";
8
- import { n as u, t as d } from "../feedback-CJkUAapr.js";
9
- import { n as f, t as p } from "../action-menu-Drxw_vJk.js";
10
- import { n as m, r as h, t as g } from "../overlays-DUbs1KEi.js";
3
+ import { t } from "../utils-Cospvlj1.js";
4
+ import { s as n } from "../typography-CAr3dQhX.js";
5
+ import { t as r } from "../button-BS3KDg00.js";
6
+ import { i, t as a } from "../structure-hzCW-XsV.js";
7
+ import { h as o, p as s, t as c, v as l } from "../smart-card-Bek-TwUp.js";
8
+ import { n as u, t as d } from "../feedback-C7nR0UtT.js";
9
+ import { n as f, t as p } from "../action-menu-BTpyPWJ2.js";
10
+ import { n as m, r as h, t as g } from "../overlays-DhZO7N-I.js";
11
11
  import { n as _ } from "../content-typography-CnwgMJ37.js";
12
- import { t as v } from "../accordion-BRTcsp8J.js";
13
- import { t as y } from "../input-SX9V0AL3.js";
14
- import { a as b, c as x, d as S, o as C, s as w } from "../text-inputs-DsR56TR-.js";
15
- import { c as T } from "../choice-inputs-Mk3iWbhr.js";
16
- import { t as ee } from "../scroll-area-D-pIhEKl.js";
17
- import { t as E } from "../form-field-CZwrkP7m.js";
18
- import { i as D, n as O, r as te, t as ne } from "../tabs-BNgu7g0u.js";
19
- import { t as k } from "../popover-menu-B4PoWhRl.js";
20
- import { n as A, t as j } from "../rich-text-editor.recipes-B72Nfuze.js";
21
- import { t as M } from "../rich-text-editor.strings-BpnIQgMl.js";
22
- import { a as N, c as P, i as F, l as I, n as L, o as R, r as z, s as B, t as V, u as H } from "../http-CdEIHyQf.js";
23
- import { useEffect as U, useId as W, useImperativeHandle as G, useMemo as re, useRef as K, useState as q } from "react";
24
- import { Fragment as J, jsx as Y, jsxs as X } from "react/jsx-runtime";
25
- import { Bold as ie, Italic as ae, Link as oe, List as se, ListOrdered as ce, Plus as Z, Redo2 as le, Send as ue, Undo2 as de, X as fe } from "lucide-react";
26
- import { EditorContent as pe, Node as me, generateJSON as he, mergeAttributes as ge, useEditor as _e } from "@tiptap/react";
27
- import ve from "@tiptap/starter-kit";
12
+ import { t as v } from "../accordion-CQXVcd7Q.js";
13
+ import { t as y } from "../input-DhQdBnV3.js";
14
+ import { t as b } from "../form-field-VZRULhUK.js";
15
+ import { a as x, c as S, d as C, o as w, s as T } from "../text-inputs-BFpku0Qd.js";
16
+ import { c as E } from "../choice-inputs-DrJ17tpL.js";
17
+ import { t as ee } from "../scroll-area-DRdr16Pt.js";
18
+ import { i as D, n as O, r as te, t as k } from "../tabs-Dk8E_knt.js";
19
+ import { t as A } from "../popover-menu-DnRFKnHP.js";
20
+ import { n as j, t as M } from "../rich-text-editor.recipes-CnrbmTS1.js";
21
+ import { t as N } from "../rich-text-editor.strings-BpnIQgMl.js";
22
+ import { a as P, c as F, i as I, l as L, n as R, o as z, r as B, s as V, t as H, u as U } from "../http-CdEIHyQf.js";
23
+ import { useEffect as W, useId as G, useImperativeHandle as K, useMemo as ne, useRef as q, useState as J } from "react";
24
+ import { Fragment as Y, jsx as X, jsxs as Z } from "react/jsx-runtime";
25
+ import { Bold as re, Italic as ie, Link as ae, List as oe, ListOrdered as se, Plus as ce, Redo2 as le, Undo2 as ue, X as de } from "lucide-react";
26
+ import { EditorContent as fe, Node as pe, generateJSON as me, mergeAttributes as he, useEditor as ge } from "@tiptap/react";
27
+ import _e from "@tiptap/starter-kit";
28
28
  //#region src/components/features/email-composer/partials/data-status.tsx
29
29
  function Q(e) {
30
30
  return !!(e?.loading || e?.error);
31
31
  }
32
- function ye({ state: e, label: t, retryLabel: n, report: r }) {
33
- return e?.loading ? /* @__PURE__ */ Y(u, { label: t }) : e?.error ? /* @__PURE__ */ Y(d, {
32
+ function ve({ state: e, label: t, retryLabel: n, report: r }) {
33
+ return e?.loading ? /* @__PURE__ */ X(u, { label: t }) : e?.error ? /* @__PURE__ */ X(d, {
34
34
  variant: "inline",
35
35
  description: e.error,
36
36
  retryLabel: n,
@@ -41,8 +41,8 @@ function ye({ state: e, label: t, retryLabel: n, report: r }) {
41
41
  }
42
42
  //#endregion
43
43
  //#region src/components/features/email-composer/use-composer.ts
44
- function be(t) {
45
- let n = e(H, t.strings), r = K(null);
44
+ function ye(t) {
45
+ let n = e(U, t.strings), r = q(null);
46
46
  r.current ||= structuredClone({
47
47
  to: [],
48
48
  cc: [],
@@ -50,12 +50,12 @@ function be(t) {
50
50
  subject: "",
51
51
  body: {
52
52
  kind: "rich",
53
- document: I
53
+ document: L
54
54
  },
55
55
  placeholderOverrides: {},
56
56
  ...t.value ?? t.defaultValue
57
57
  });
58
- let [i, a] = q(r.current), o = t.value ?? i, s = K({
58
+ let [i, a] = J(r.current), o = t.value ?? i, s = q({
59
59
  props: t,
60
60
  draft: o,
61
61
  strings: n
@@ -65,26 +65,26 @@ function be(t) {
65
65
  draft: o,
66
66
  strings: n
67
67
  };
68
- let c = K(o);
68
+ let c = q(o);
69
69
  t.value !== void 0 && (c.current = t.value);
70
- let l = K(null), u = K(null), [d, f] = q(!1), [p, m] = q(""), [h, g] = q(""), [_, v] = q(!1), [y, b] = q([]), x = K(!0);
71
- U(() => (x.current = !0, () => {
70
+ let l = q(null), u = q(null), [d, f] = J(!1), [p, m] = J(""), [h, g] = J(""), [_, v] = J(!1), [y, b] = J([]), x = q(!0);
71
+ W(() => (x.current = !0, () => {
72
72
  x.current = !1;
73
73
  }), []);
74
- let S = re(() => {
74
+ let S = ne(() => {
75
75
  let e = Object.create(null);
76
76
  for (let r of t.placeholders?.sets ?? []) for (let t of Object.keys(r.definitions)) {
77
77
  if (Object.hasOwn(e, t)) throw Error(n.duplicateVariable(t));
78
78
  r.definitions[t] && (e[t] = r.definitions[t]);
79
79
  }
80
80
  return e;
81
- }, [t.placeholders?.sets, n]), C = re(() => [...t.templates?.items ?? [], ...y], [t.templates?.items, y]), w = K(C);
81
+ }, [t.placeholders?.sets, n]), C = ne(() => [...t.templates?.items ?? [], ...y], [t.templates?.items, y]), w = q(C);
82
82
  if (w.current = C, new Set(C.map((e) => e.id)).size !== C.length) throw Error(n.duplicateTemplate);
83
- let T = () => s.current.props.value ?? c.current, ee = (e) => C.find((t) => t.id === e.templateId), E = K(null), D = (e = T()) => {
84
- let t = s.current.props.context, n = ee(e), r = s.current.strings, i = E.current;
83
+ let T = () => s.current.props.value ?? c.current, E = (e) => C.find((t) => t.id === e.templateId), ee = q(null), D = (e = T()) => {
84
+ let t = s.current.props.context, n = E(e), r = s.current.strings, i = ee.current;
85
85
  if (i && i.draft === e && i.context === t && i.definitions === S && i.template === n && i.strings === r) return i.result;
86
- let a = L(e, t, S, n, r);
87
- return E.current = {
86
+ let a = R(e, t, S, n, r);
87
+ return ee.current = {
88
88
  draft: e,
89
89
  context: t,
90
90
  definitions: S,
@@ -106,54 +106,54 @@ function be(t) {
106
106
  field: "placeholders",
107
107
  message: t.dataUnavailable
108
108
  }), n;
109
- }, te = O().length > 0, ne = (e = T()) => structuredClone([...O(), ...D(e).issues]), k = () => {
109
+ }, te = O().length > 0, k = (e = T()) => structuredClone([...O(), ...D(e).issues]), A = () => {
110
110
  let e = T(), t = [...D(e).rendered?.unresolved ?? []];
111
111
  return {
112
112
  draft: structuredClone(e),
113
113
  dirty: JSON.stringify(e) !== JSON.stringify(r.current),
114
114
  busy: u.current !== null,
115
- issues: ne(e),
115
+ issues: k(e),
116
116
  unresolvedPlaceholders: t
117
117
  };
118
- }, A = (e) => {
118
+ }, j = (e) => {
119
119
  let t = e instanceof Error ? e : Error(String(e));
120
120
  x.current && m(t.message), s.current.props.onError?.(t);
121
- }, j = (e, t = "api", n = !1) => {
121
+ }, M = (e, t = "api", n = !1) => {
122
122
  if (!x.current || !n && u.current && u.current !== "action") return;
123
123
  let r = structuredClone(e(structuredClone(T())));
124
124
  s.current.props.value === void 0 && (c.current = r, a(r)), s.current.props.onChange?.(structuredClone(r)), s.current.props.onEdit?.(structuredClone(r), { source: t }), m(""), g("");
125
- }, M = K(null);
126
- async function N(e, t, n = !1) {
125
+ }, N = q(null);
126
+ async function P(e, t, n = !1) {
127
127
  if (u.current && !(n && u.current === "action") || !x.current) return;
128
128
  let r = {
129
129
  kind: e,
130
130
  settled: !1,
131
- parent: n ? M.current : null
131
+ parent: n ? N.current : null
132
132
  };
133
- M.current = r, u.current = e, f(!0), m(""), g("");
133
+ N.current = r, u.current = e, f(!0), m(""), g("");
134
134
  try {
135
135
  await t();
136
136
  } catch (e) {
137
- A(e);
137
+ j(e);
138
138
  } finally {
139
- if (r.settled = !0, M.current === r) {
139
+ if (r.settled = !0, N.current === r) {
140
140
  let e = r.parent;
141
141
  for (; e?.settled;) e = e.parent;
142
- M.current = e, u.current = e?.kind ?? null, x.current && f(e !== null);
142
+ N.current = e, u.current = e?.kind ?? null, x.current && f(e !== null);
143
143
  }
144
144
  }
145
145
  }
146
- let P = () => {
146
+ let F = () => {
147
147
  if (!l.current) throw Error(n.editorNotReady);
148
148
  if (T().body.kind === "html") throw Error(n.editableRequired);
149
149
  return l.current.synchronize(T().body), l.current;
150
150
  };
151
- function F(e, t = {}, r = !1) {
151
+ function I(e, t = {}, r = !1) {
152
152
  if (!r && u.current && u.current !== "action") return;
153
153
  let i = t.body ?? "replace";
154
154
  if (i !== "replace" && (e.body.kind === "html" || T().body.kind === "html")) throw Error(n.editableRequired);
155
- let a = i === "replace" ? e.body : P().insert(e.body, i);
156
- j((n) => ({
155
+ let a = i === "replace" ? e.body : F().insert(e.body, i);
156
+ M((n) => ({
157
157
  ...n,
158
158
  body: a,
159
159
  subject: t.subject === "preserve" ? n.subject : e.subject ?? n.subject,
@@ -161,66 +161,66 @@ function be(t) {
161
161
  placeholderOverrides: t.overrides === "reset" ? {} : n.placeholderOverrides
162
162
  }), "template", r);
163
163
  }
164
- let R = K(null), z = K(null);
165
- z.current ||= {
166
- getState: () => R.current.getState(),
167
- update: (e) => R.current.update(e),
168
- setSubject: (e) => R.current.setSubject(e),
169
- setRecipients: (e, t) => R.current.setRecipients(e, t),
170
- setBody: (e) => R.current.setBody(e),
171
- importBody: (e) => R.current.importBody(e),
172
- setPlaceholder: (e, t) => R.current.setPlaceholder(e, t),
173
- clearPlaceholderOverride: (e) => R.current.clearPlaceholderOverride(e),
174
- insertPlaceholder: (e) => R.current.insertPlaceholder(e),
175
- applyTemplate: (e, t) => R.current.applyTemplate(e, t),
176
- insertText: (e) => R.current.insertText(e),
177
- focusBody: () => R.current.focusBody(),
178
- validate: () => R.current.validate(),
179
- prepare: () => R.current.prepare(),
180
- send: () => R.current.send(),
181
- discard: () => R.current.discard()
164
+ let z = q(null), B = q(null);
165
+ B.current ||= {
166
+ getState: () => z.current.getState(),
167
+ update: (e) => z.current.update(e),
168
+ setSubject: (e) => z.current.setSubject(e),
169
+ setRecipients: (e, t) => z.current.setRecipients(e, t),
170
+ setBody: (e) => z.current.setBody(e),
171
+ importBody: (e) => z.current.importBody(e),
172
+ setPlaceholder: (e, t) => z.current.setPlaceholder(e, t),
173
+ clearPlaceholderOverride: (e) => z.current.clearPlaceholderOverride(e),
174
+ insertPlaceholder: (e) => z.current.insertPlaceholder(e),
175
+ applyTemplate: (e, t) => z.current.applyTemplate(e, t),
176
+ insertText: (e) => z.current.insertText(e),
177
+ focusBody: () => z.current.focusBody(),
178
+ validate: () => z.current.validate(),
179
+ prepare: () => z.current.prepare(),
180
+ send: () => z.current.send(),
181
+ discard: () => z.current.discard()
182
182
  };
183
- let B = z.current, V = async () => {
183
+ let V = B.current, H = async () => {
184
184
  if (O().length) throw Error(s.current.strings.dataUnavailable);
185
185
  let e = D();
186
186
  if (e.issues.length || !e.rendered) throw Error(e.issues.map((e) => e.message).join(" "));
187
187
  return structuredClone(e.rendered.email);
188
- }, W = (e = !1) => N("send", async () => {
188
+ }, G = (e = !1) => P("send", async () => {
189
189
  let e = s.current.props;
190
190
  v(!0);
191
- let t = await V();
191
+ let t = await H();
192
192
  if (e.onBeforeSend) {
193
- let n = await e.onBeforeSend(t, B);
193
+ let n = await e.onBeforeSend(t, V);
194
194
  if (n === !1 || !x.current) return;
195
195
  t = n;
196
196
  }
197
197
  x.current && (t = structuredClone(t), await e.onSend(structuredClone(t)), x.current && (g(n.sent), e.onSent?.(t)));
198
- }, e), J = (e = !1) => N("discard", async () => {
198
+ }, e), Y = (e = !1) => P("discard", async () => {
199
199
  let e = s.current.props, t = T();
200
- await e.onDiscard?.(B), x.current && T() === t && (j(() => r.current, "api", !0), v(!1), g(n.discarded), e.onClose?.());
200
+ await e.onDiscard?.(V), x.current && T() === t && (M(() => r.current, "api", !0), v(!1), g(n.discarded), e.onClose?.());
201
201
  }, e);
202
- R.current = {
203
- getState: k,
204
- update: (e) => j(e),
205
- setSubject: (e) => j((t) => ({
202
+ z.current = {
203
+ getState: A,
204
+ update: (e) => M(e),
205
+ setSubject: (e) => M((t) => ({
206
206
  ...t,
207
207
  subject: e
208
208
  })),
209
- setRecipients: (e, t) => j((n) => ({
209
+ setRecipients: (e, t) => M((n) => ({
210
210
  ...n,
211
211
  [e]: t
212
212
  })),
213
- setBody: (e) => j((t) => ({
213
+ setBody: (e) => M((t) => ({
214
214
  ...t,
215
215
  body: e
216
216
  })),
217
- importBody: (e) => j((t) => ({
217
+ importBody: (e) => M((t) => ({
218
218
  ...t,
219
219
  body: e
220
220
  })),
221
221
  setPlaceholder: (e, t) => {
222
222
  if (!Object.hasOwn(S, e)) throw Error(n.unknownVariable(e));
223
- j((n) => ({
223
+ M((n) => ({
224
224
  ...n,
225
225
  placeholderOverrides: {
226
226
  ...n.placeholderOverrides,
@@ -228,20 +228,20 @@ function be(t) {
228
228
  }
229
229
  }), "placeholder");
230
230
  },
231
- clearPlaceholderOverride: (e) => j((t) => (delete t.placeholderOverrides[e], t), "placeholder"),
231
+ clearPlaceholderOverride: (e) => M((t) => (delete t.placeholderOverrides[e], t), "placeholder"),
232
232
  insertPlaceholder: (e) => {
233
233
  if (u.current && u.current !== "action") return;
234
234
  if (!Object.hasOwn(S, e)) throw Error(n.unknownVariable(e));
235
- let t = P().insertPlaceholder(e);
236
- j((e) => ({
235
+ let t = F().insertPlaceholder(e);
236
+ M((e) => ({
237
237
  ...e,
238
238
  body: t
239
239
  }));
240
240
  },
241
241
  insertText: (e) => {
242
242
  if (u.current && u.current !== "action") return;
243
- let t = P().insertText(e);
244
- j((e) => ({
243
+ let t = F().insertText(e);
244
+ M((e) => ({
245
245
  ...e,
246
246
  body: t
247
247
  }));
@@ -251,27 +251,27 @@ function be(t) {
251
251
  if (Q(s.current.props.templates)) throw Error(s.current.strings.templatesUnavailable);
252
252
  let r = C.find((t) => t.id === e);
253
253
  if (!r) throw Error(n.unknownTemplate(e));
254
- F(r, t);
254
+ I(r, t);
255
255
  },
256
- validate: () => ne(),
257
- prepare: V,
258
- send: () => W(),
259
- discard: () => J()
260
- }, G(t.apiRef, () => B, [B]);
261
- let Y = (e) => N("action", async () => {
262
- await e.onSelect(Object.assign(Object.create(B), {
263
- send: () => W(!0),
264
- discard: () => J(!0)
256
+ validate: () => k(),
257
+ prepare: H,
258
+ send: () => G(),
259
+ discard: () => Y()
260
+ }, K(t.apiRef, () => V, [V]);
261
+ let X = (e) => P("action", async () => {
262
+ await e.onSelect(Object.assign(Object.create(V), {
263
+ send: () => G(!0),
264
+ discard: () => Y(!0)
265
265
  }));
266
- }), X = () => N("import", async () => {
266
+ }), Z = () => P("import", async () => {
267
267
  let e = T(), t = await s.current.props.templates?.onImport?.();
268
268
  if (t && x.current) {
269
269
  if (w.current.some((e) => e.id === t.id)) throw Error(n.duplicateTemplate);
270
- b((e) => [...e, structuredClone(t)]), T() === e && F(t, {}, !0);
270
+ b((e) => [...e, structuredClone(t)]), T() === e && I(t, {}, !0);
271
271
  }
272
- }), { rendered: ie, renderError: ae } = D(o);
272
+ }), { rendered: re, renderError: ie } = D(o);
273
273
  return {
274
- api: B,
274
+ api: V,
275
275
  draft: o,
276
276
  strings: n,
277
277
  busy: d,
@@ -279,25 +279,25 @@ function be(t) {
279
279
  error: p,
280
280
  notice: h,
281
281
  attempted: _,
282
- rendered: ie,
283
- renderError: ae,
282
+ rendered: re,
283
+ renderError: ie,
284
284
  definitions: S,
285
285
  templates: C,
286
- values: ie?.email.resolvedPlaceholders ?? {},
286
+ values: re?.email.resolvedPlaceholders ?? {},
287
287
  editorRef: l,
288
- state: k(),
289
- report: A,
290
- runAction: Y,
291
- importTemplate: X,
292
- changeBody: (e) => j((t) => ({
288
+ state: A(),
289
+ report: j,
290
+ runAction: X,
291
+ importTemplate: Z,
292
+ changeBody: (e) => M((t) => ({
293
293
  ...t,
294
294
  body: e
295
295
  }), "body"),
296
- changeSubject: (e) => j((t) => ({
296
+ changeSubject: (e) => M((t) => ({
297
297
  ...t,
298
298
  subject: e
299
299
  }), "subject"),
300
- changeRecipients: (e, t) => j((n) => ({
300
+ changeRecipients: (e, t) => M((n) => ({
301
301
  ...n,
302
302
  [e]: t
303
303
  }), "recipient")
@@ -305,20 +305,20 @@ function be(t) {
305
305
  }
306
306
  //#endregion
307
307
  //#region src/components/features/email-composer/partials/recipients.tsx
308
- function xe({ recipient: e, field: t, index: n, options: r, busy: i, strings: a, change: o, remove: s, add: c, id: l, errorId: u }) {
309
- let [d, f] = q(F(e));
310
- U(() => {
311
- f(F(e));
308
+ function be({ recipient: e, field: t, index: n, options: r, busy: i, strings: a, change: o, remove: s, add: c, id: l, errorId: u }) {
309
+ let [d, f] = J(I(e));
310
+ W(() => {
311
+ f(I(e));
312
312
  }, [e.name, e.email]);
313
313
  let p = r.mode === "readonly", m = r.mode === "disabled" || i, h = r.mode !== "disabled" && r.allowRemove !== !1 && (!p || r.allowRemove === !0), g = () => {
314
- !p && !m && d !== F(e) && o({
314
+ !p && !m && d !== I(e) && o({
315
315
  id: e.id,
316
- ...z(d)
316
+ ...B(d)
317
317
  });
318
318
  };
319
- return /* @__PURE__ */ X(b, {
319
+ return /* @__PURE__ */ Z(x, {
320
320
  className: "min-w-0 w-full",
321
- children: [/* @__PURE__ */ Y(x, {
321
+ children: [/* @__PURE__ */ X(S, {
322
322
  id: l,
323
323
  "aria-invalid": !!u,
324
324
  "aria-describedby": u,
@@ -326,23 +326,23 @@ function xe({ recipient: e, field: t, index: n, options: r, busy: i, strings: a,
326
326
  value: d,
327
327
  readOnly: p,
328
328
  disabled: m,
329
- title: F(e),
329
+ title: I(e),
330
330
  onChange: (e) => f(e.target.value),
331
331
  onBlur: g,
332
332
  onKeyDown: (t) => {
333
- t.key === "Enter" && (t.preventDefault(), g()), t.key === "Escape" && (t.preventDefault(), f(F(e)));
333
+ t.key === "Enter" && (t.preventDefault(), g()), t.key === "Escape" && (t.preventDefault(), f(I(e)));
334
334
  }
335
- }), (h || c) && /* @__PURE__ */ X(C, {
335
+ }), (h || c) && /* @__PURE__ */ Z(w, {
336
336
  align: "inline-end",
337
- children: [h && /* @__PURE__ */ Y(w, {
337
+ children: [h && /* @__PURE__ */ X(T, {
338
338
  type: "button",
339
339
  iconOnly: !0,
340
340
  size: "sm",
341
341
  disabled: i,
342
342
  "aria-label": a.removeRecipient(e.email),
343
343
  onClick: s,
344
- children: /* @__PURE__ */ Y(fe, { className: "size-icon" })
345
- }), c && /* @__PURE__ */ Y(w, {
344
+ children: /* @__PURE__ */ X(de, { className: "size-icon" })
345
+ }), c && /* @__PURE__ */ X(T, {
346
346
  type: "button",
347
347
  iconOnly: !0,
348
348
  size: "sm",
@@ -350,38 +350,38 @@ function xe({ recipient: e, field: t, index: n, options: r, busy: i, strings: a,
350
350
  "aria-label": a.addRecipient(t),
351
351
  title: a.addRecipient(t),
352
352
  onClick: c,
353
- children: /* @__PURE__ */ Y(Z, { className: "size-icon" })
353
+ children: /* @__PURE__ */ X(ce, { className: "size-icon" })
354
354
  })]
355
355
  })]
356
356
  });
357
357
  }
358
- function Se({ field: e, value: t, options: n = {}, busy: r, strings: i, onChange: o, error: s, actions: c, report: l }) {
359
- let [u, d] = q(!1), [f, p] = q(""), m = W(), h = s ? `${m}-error` : void 0, g = K(null), _ = n.mode !== "disabled" && n.allowAdd !== !1 && (n.mode !== "readonly" || n.allowAdd === !0), v = u || t.length === 0, y = Q(n), S = () => {
358
+ function xe({ field: e, value: t, options: n = {}, busy: r, strings: i, onChange: o, error: s, actions: c, report: l }) {
359
+ let [u, d] = J(!1), [f, p] = J(""), m = G(), h = s ? `${m}-error` : void 0, g = q(null), _ = n.mode !== "disabled" && n.allowAdd !== !1 && (n.mode !== "readonly" || n.allowAdd === !0), v = u || t.length === 0, y = Q(n), C = () => {
360
360
  if (r || !_ || !v || y) return;
361
- let e = z(f);
361
+ let e = B(f);
362
362
  f.trim() && !t.some((t) => t.email.toLowerCase() === e.email.toLowerCase()) && o([...t, e]), p(""), d(!1);
363
363
  };
364
- U(() => {
364
+ W(() => {
365
365
  u && g.current?.focus();
366
366
  }, [u]);
367
- let T = () => {
368
- v && S(), d(!0), g.current?.focus();
367
+ let E = () => {
368
+ v && C(), d(!0), g.current?.focus();
369
369
  };
370
- return /* @__PURE__ */ Y(E, {
370
+ return /* @__PURE__ */ X(b, {
371
371
  label: i[e],
372
372
  required: e === "to",
373
373
  error: s,
374
374
  supportingTextId: h,
375
375
  htmlFor: t.length ? `${m}-0` : `${m}-new`,
376
- children: /* @__PURE__ */ X(a, {
376
+ children: /* @__PURE__ */ Z(a, {
377
377
  id: `${m}-group`,
378
378
  gap: "sm",
379
- children: [y ? /* @__PURE__ */ Y(ye, {
379
+ children: [y ? /* @__PURE__ */ X(ve, {
380
380
  state: n,
381
381
  label: i.loadingRecipients(i[e]),
382
382
  retryLabel: i.retry,
383
383
  report: l
384
- }) : /* @__PURE__ */ X(J, { children: [t.map((a, s) => /* @__PURE__ */ Y(xe, {
384
+ }) : /* @__PURE__ */ Z(Y, { children: [t.map((a, s) => /* @__PURE__ */ X(be, {
385
385
  id: `${m}-${s}`,
386
386
  errorId: h,
387
387
  recipient: a,
@@ -392,10 +392,10 @@ function Se({ field: e, value: t, options: n = {}, busy: r, strings: i, onChange
392
392
  strings: i,
393
393
  change: (e) => o(t.map((t, n) => n === s ? e : t)),
394
394
  remove: () => o(t.filter((e, t) => t !== s)),
395
- add: _ && !v && s === t.length - 1 ? T : void 0
396
- }, a.id ?? s)), v && /* @__PURE__ */ X(b, {
395
+ add: _ && !v && s === t.length - 1 ? E : void 0
396
+ }, a.id ?? s)), v && /* @__PURE__ */ Z(x, {
397
397
  className: "min-w-0 w-full",
398
- children: [/* @__PURE__ */ Y(x, {
398
+ children: [/* @__PURE__ */ X(S, {
399
399
  id: `${m}-new`,
400
400
  ref: g,
401
401
  autoFocus: e !== "to",
@@ -407,13 +407,13 @@ function Se({ field: e, value: t, options: n = {}, busy: r, strings: i, onChange
407
407
  disabled: r || n.mode === "disabled",
408
408
  readOnly: !_,
409
409
  onChange: (e) => p(e.target.value),
410
- onBlur: S,
410
+ onBlur: C,
411
411
  onKeyDown: (e) => {
412
- e.key === "Enter" && (e.preventDefault(), S()), e.key === "Escape" && (e.preventDefault(), p(""), d(!1));
412
+ e.key === "Enter" && (e.preventDefault(), C()), e.key === "Escape" && (e.preventDefault(), p(""), d(!1));
413
413
  }
414
- }), _ && /* @__PURE__ */ Y(C, {
414
+ }), _ && /* @__PURE__ */ X(w, {
415
415
  align: "inline-end",
416
- children: /* @__PURE__ */ Y(w, {
416
+ children: /* @__PURE__ */ X(T, {
417
417
  type: "button",
418
418
  iconOnly: !0,
419
419
  size: "sm",
@@ -421,11 +421,11 @@ function Se({ field: e, value: t, options: n = {}, busy: r, strings: i, onChange
421
421
  "aria-label": i.addRecipient(i[e]),
422
422
  title: i.addRecipient(i[e]),
423
423
  onMouseDown: (e) => e.preventDefault(),
424
- onClick: T,
425
- children: /* @__PURE__ */ Y(Z, { className: "size-icon" })
424
+ onClick: E,
425
+ children: /* @__PURE__ */ X(ce, { className: "size-icon" })
426
426
  })
427
427
  })]
428
- })] }), c && /* @__PURE__ */ Y(a, {
428
+ })] }), c && /* @__PURE__ */ X(a, {
429
429
  direction: "horizontal",
430
430
  gap: "xs",
431
431
  justify: "end",
@@ -436,9 +436,9 @@ function Se({ field: e, value: t, options: n = {}, busy: r, strings: i, onChange
436
436
  }
437
437
  //#endregion
438
438
  //#region src/components/features/email-composer/partials/variables.tsx
439
- function Ce({ definitions: e, values: t, draft: n, api: o, strings: s, busy: c, editable: l }) {
440
- let u = W();
441
- return /* @__PURE__ */ Y(i, {
439
+ function Se({ definitions: e, values: t, draft: n, api: o, strings: s, busy: c, editable: l }) {
440
+ let u = G();
441
+ return /* @__PURE__ */ X(i, {
442
442
  minColumnWidth: "sm",
443
443
  gap: "md",
444
444
  children: Object.keys(e).map((i) => {
@@ -447,36 +447,36 @@ function Ce({ definitions: e, values: t, draft: n, api: o, strings: s, busy: c,
447
447
  value: String(t[i] ?? ""),
448
448
  disabled: c,
449
449
  readOnly: !d.editable
450
- }, h = d.input === "textarea" ? /* @__PURE__ */ Y(S, {
450
+ }, h = d.input === "textarea" ? /* @__PURE__ */ X(C, {
451
451
  ...m,
452
452
  onChange: (e) => o.setPlaceholder(i, e.target.value)
453
- }) : d.input === "select" ? /* @__PURE__ */ Y(T, {
453
+ }) : d.input === "select" ? /* @__PURE__ */ X(E, {
454
454
  ...m,
455
455
  placeholder: s.choose,
456
456
  options: [...d.options ?? []],
457
457
  onValueChange: (e) => o.setPlaceholder(i, e ?? "")
458
- }) : /* @__PURE__ */ Y(y, {
458
+ }) : /* @__PURE__ */ X(y, {
459
459
  ...m,
460
460
  type: d.input === "number" ? "number" : d.input === "date" ? "date" : "text",
461
461
  onChange: (e) => o.setPlaceholder(i, d.input === "number" && e.target.value !== "" ? Number(e.target.value) : e.target.value)
462
462
  });
463
- return /* @__PURE__ */ Y(E, {
463
+ return /* @__PURE__ */ X(b, {
464
464
  label: d.group ? `${d.group} · ${d.label}` : d.label,
465
465
  htmlFor: p,
466
466
  required: d.required,
467
467
  helperText: `${f ? s.overridden : s.dynamic}${d.description ? ` · ${d.description}` : ""}`,
468
- children: /* @__PURE__ */ X(a, {
468
+ children: /* @__PURE__ */ Z(a, {
469
469
  id: `${p}-group`,
470
470
  direction: "horizontal",
471
471
  gap: "sm",
472
472
  align: "start",
473
473
  wrap: !1,
474
474
  children: [
475
- /* @__PURE__ */ Y("div", {
475
+ /* @__PURE__ */ X("div", {
476
476
  className: "min-w-0 flex-1",
477
477
  children: h
478
478
  }),
479
- /* @__PURE__ */ Y(r, {
479
+ /* @__PURE__ */ X(r, {
480
480
  type: "button",
481
481
  iconOnly: !0,
482
482
  size: "sm",
@@ -485,9 +485,9 @@ function Ce({ definitions: e, values: t, draft: n, api: o, strings: s, busy: c,
485
485
  disabled: c || !l,
486
486
  "aria-label": s.insertVariable(d.label),
487
487
  onClick: () => o.insertPlaceholder(i),
488
- children: /* @__PURE__ */ Y(Z, { className: "size-icon" })
488
+ children: /* @__PURE__ */ X(ce, { className: "size-icon" })
489
489
  }),
490
- f && /* @__PURE__ */ Y(r, {
490
+ f && /* @__PURE__ */ X(r, {
491
491
  type: "button",
492
492
  size: "sm",
493
493
  buttonStyle: "ghost",
@@ -504,7 +504,7 @@ function Ce({ definitions: e, values: t, draft: n, api: o, strings: s, busy: c,
504
504
  }
505
505
  //#endregion
506
506
  //#region src/components/features/email-composer/partials/body-editor.tsx
507
- var we = me.create({
507
+ var Ce = pe.create({
508
508
  name: "placeholderToken",
509
509
  group: "inline",
510
510
  inline: !0,
@@ -516,7 +516,7 @@ var we = me.create({
516
516
  parseHTML: () => [{ tag: "span[data-placeholder]" }],
517
517
  renderHTML: ({ node: e, HTMLAttributes: t }) => [
518
518
  "span",
519
- ge(t, {
519
+ he(t, {
520
520
  "data-placeholder": e.attrs.key,
521
521
  class: "rounded-inner bg-accent text-accent-foreground",
522
522
  contenteditable: "false"
@@ -524,21 +524,21 @@ var we = me.create({
524
524
  `{{${e.attrs.key}}}`
525
525
  ],
526
526
  renderText: ({ node: e }) => `{{${e.attrs.key}}}`
527
- }), $ = [ve.configure({ link: { openOnClick: !1 } }), we];
528
- function Te({ body: n, disabled: r, onChange: i, adapterRef: c, strings: l }) {
529
- let u = K(i);
527
+ }), $ = [_e.configure({ link: { openOnClick: !1 } }), Ce];
528
+ function we({ body: n, disabled: r, onChange: i, adapterRef: c, strings: l }) {
529
+ let u = q(i);
530
530
  u.current = i;
531
- let d = K(!1), [f, p] = q(!1), [m, g] = q(""), [v, b] = q(""), x = K({
531
+ let d = q(!1), [f, p] = J(!1), [m, g] = J(""), [v, x] = J(""), S = q({
532
532
  from: 1,
533
533
  to: 1
534
- }), S = e(M, {
534
+ }), C = e(N, {
535
535
  editorLabel: l.body,
536
536
  toolbar: l.toolbar
537
- }), C = _e({
537
+ }), w = ge({
538
538
  extensions: $,
539
539
  immediatelyRender: !1,
540
540
  shouldRerenderOnTransaction: !0,
541
- content: n.kind === "rich" ? n.document : P(n),
541
+ content: n.kind === "rich" ? n.document : F(n),
542
542
  editable: !r,
543
543
  editorProps: { attributes: {
544
544
  role: "textbox",
@@ -553,27 +553,27 @@ function Te({ body: n, disabled: r, onChange: i, adapterRef: c, strings: l }) {
553
553
  });
554
554
  }
555
555
  });
556
- U(() => {
557
- if (C) try {
558
- let e = n.kind === "rich" ? C.schema.nodeFromJSON(n.document).toJSON() : he(P(n), $);
559
- JSON.stringify(C.getJSON()) !== JSON.stringify(e) && C.commands.setContent(e, { emitUpdate: !1 });
556
+ W(() => {
557
+ if (w) try {
558
+ let e = n.kind === "rich" ? w.schema.nodeFromJSON(n.document).toJSON() : me(F(n), $);
559
+ JSON.stringify(w.getJSON()) !== JSON.stringify(e) && w.commands.setContent(e, { emitUpdate: !1 });
560
560
  } catch {}
561
- }), U(() => {
562
- C?.setEditable(!r && n.kind !== "html", !1);
561
+ }), W(() => {
562
+ w?.setEditable(!r && n.kind !== "html", !1);
563
563
  }, [
564
- C,
564
+ w,
565
565
  r,
566
566
  n.kind
567
- ]), U(() => {
567
+ ]), W(() => {
568
568
  (r || n.kind === "html") && p(!1);
569
- }, [r, n.kind]), G(c, () => {
569
+ }, [r, n.kind]), K(c, () => {
570
570
  let e = (e) => {
571
- if (!C) throw Error(l.editorNotReady);
571
+ if (!w) throw Error(l.editorNotReady);
572
572
  d.current = !0;
573
573
  try {
574
574
  return e(), {
575
575
  kind: "rich",
576
- document: C.getJSON()
576
+ document: w.getJSON()
577
577
  };
578
578
  } finally {
579
579
  d.current = !1;
@@ -581,121 +581,121 @@ function Te({ body: n, disabled: r, onChange: i, adapterRef: c, strings: l }) {
581
581
  };
582
582
  return {
583
583
  synchronize: (e) => {
584
- if (!C) return;
585
- let t = e.kind === "rich" ? C.schema.nodeFromJSON(e.document).toJSON() : he(P(e), $);
586
- JSON.stringify(C.getJSON()) !== JSON.stringify(t) && C.commands.setContent(t, { emitUpdate: !1 });
584
+ if (!w) return;
585
+ let t = e.kind === "rich" ? w.schema.nodeFromJSON(e.document).toJSON() : me(F(e), $);
586
+ JSON.stringify(w.getJSON()) !== JSON.stringify(t) && w.commands.setContent(t, { emitUpdate: !1 });
587
587
  },
588
588
  focus: () => {
589
- C?.commands.focus();
589
+ w?.commands.focus();
590
590
  },
591
591
  convert: (e) => ({
592
592
  kind: "rich",
593
- document: e.kind === "rich" ? e.document : he(P(e), $)
593
+ document: e.kind === "rich" ? e.document : me(F(e), $)
594
594
  }),
595
595
  insert: (t, n) => e(() => {
596
- n === "append" && C.commands.focus("end"), C.chain().focus().insertContent(t.kind === "rich" ? t.document.content ?? [] : P(t)).run();
596
+ n === "append" && w.commands.focus("end"), w.chain().focus().insertContent(t.kind === "rich" ? t.document.content ?? [] : F(t)).run();
597
597
  }),
598
598
  insertText: (t) => e(() => {
599
- t && C.chain().focus().insertContent({
599
+ t && w.chain().focus().insertContent({
600
600
  type: "text",
601
601
  text: t
602
602
  }).run();
603
603
  }),
604
604
  insertPlaceholder: (t) => e(() => {
605
- C.chain().focus().insertContent({
605
+ w.chain().focus().insertContent({
606
606
  type: "placeholderToken",
607
607
  attrs: { key: t }
608
608
  }).run();
609
609
  })
610
610
  };
611
- }, [C, l]);
612
- let w = [
611
+ }, [w, l]);
612
+ let T = [
613
613
  {
614
614
  id: "bold",
615
- icon: ie,
616
- label: S.toolbar.bold,
617
- isActive: () => !!C?.isActive("bold"),
615
+ icon: re,
616
+ label: C.toolbar.bold,
617
+ isActive: () => !!w?.isActive("bold"),
618
618
  run: () => {
619
- C?.chain().focus().toggleBold().run();
619
+ w?.chain().focus().toggleBold().run();
620
620
  }
621
621
  },
622
622
  {
623
623
  id: "italic",
624
- icon: ae,
625
- label: S.toolbar.italic,
626
- isActive: () => !!C?.isActive("italic"),
624
+ icon: ie,
625
+ label: C.toolbar.italic,
626
+ isActive: () => !!w?.isActive("italic"),
627
627
  run: () => {
628
- C?.chain().focus().toggleItalic().run();
628
+ w?.chain().focus().toggleItalic().run();
629
629
  }
630
630
  },
631
631
  {
632
632
  id: "bullet",
633
- icon: se,
634
- label: S.toolbar.bulletList,
635
- isActive: () => !!C?.isActive("bulletList"),
633
+ icon: oe,
634
+ label: C.toolbar.bulletList,
635
+ isActive: () => !!w?.isActive("bulletList"),
636
636
  run: () => {
637
- C?.chain().focus().toggleBulletList().run();
637
+ w?.chain().focus().toggleBulletList().run();
638
638
  }
639
639
  },
640
640
  {
641
641
  id: "ordered",
642
- icon: ce,
643
- label: S.toolbar.orderedList,
644
- isActive: () => !!C?.isActive("orderedList"),
642
+ icon: se,
643
+ label: C.toolbar.orderedList,
644
+ isActive: () => !!w?.isActive("orderedList"),
645
645
  run: () => {
646
- C?.chain().focus().toggleOrderedList().run();
646
+ w?.chain().focus().toggleOrderedList().run();
647
647
  }
648
648
  },
649
649
  {
650
650
  id: "undo",
651
- icon: de,
652
- label: S.toolbar.undo,
651
+ icon: ue,
652
+ label: C.toolbar.undo,
653
653
  isActive: () => !1,
654
654
  run: () => {
655
- C?.chain().focus().undo().run();
655
+ w?.chain().focus().undo().run();
656
656
  },
657
- disabled: !C?.can().undo()
657
+ disabled: !w?.can().undo()
658
658
  },
659
659
  {
660
660
  id: "redo",
661
661
  icon: le,
662
- label: S.toolbar.redo,
662
+ label: C.toolbar.redo,
663
663
  isActive: () => !1,
664
664
  run: () => {
665
- C?.chain().focus().redo().run();
665
+ w?.chain().focus().redo().run();
666
666
  },
667
- disabled: !C?.can().redo()
667
+ disabled: !w?.can().redo()
668
668
  }
669
669
  ];
670
- return /* @__PURE__ */ X(a, {
670
+ return /* @__PURE__ */ Z(a, {
671
671
  gap: "none",
672
- className: t("email-composer--editor", j.frame, r && j.disabled),
672
+ className: t("email-composer--editor", M.frame, r && M.disabled),
673
673
  children: [
674
- /* @__PURE__ */ Y(A, {
675
- buttons: w,
674
+ /* @__PURE__ */ X(j, {
675
+ buttons: T,
676
676
  disabled: r,
677
- hasEditor: !!C,
677
+ hasEditor: !!w,
678
678
  sourceMode: !1,
679
679
  hideSourceToggle: !0,
680
680
  toggleSourceMode: () => {},
681
- strings: S,
681
+ strings: C,
682
682
  extraToolbarItems: [{
683
683
  id: "link",
684
- icon: oe,
684
+ icon: ae,
685
685
  label: l.link,
686
686
  onClick: () => {
687
- C && (x.current = {
688
- from: C.state.selection.from,
689
- to: C.state.selection.to
690
- }, g(String(C.getAttributes("link").href ?? "")), b(""), p(!0));
687
+ w && (S.current = {
688
+ from: w.state.selection.from,
689
+ to: w.state.selection.to
690
+ }, g(String(w.getAttributes("link").href ?? "")), x(""), p(!0));
691
691
  }
692
692
  }]
693
693
  }),
694
- /* @__PURE__ */ Y(pe, {
695
- editor: C,
696
- className: t(j.content, "min-h-64 w-full min-w-0 [&_.ProseMirror]:min-h-64")
694
+ /* @__PURE__ */ X(fe, {
695
+ editor: w,
696
+ className: t(M.content, "min-h-64 w-full min-w-0 [&_.ProseMirror]:min-h-64")
697
697
  }),
698
- /* @__PURE__ */ Y(h, {
698
+ /* @__PURE__ */ X(h, {
699
699
  open: f,
700
700
  onOpenChange: p,
701
701
  title: l.linkTitle,
@@ -708,22 +708,22 @@ function Te({ body: n, disabled: r, onChange: i, adapterRef: c, strings: l }) {
708
708
  onAsyncConfirm: async () => {
709
709
  let e = m.trim();
710
710
  if (e && !/^(https?:\/\/|mailto:)/i.test(e)) {
711
- b(l.invalidLink);
711
+ x(l.invalidLink);
712
712
  return;
713
713
  }
714
- C?.commands.setTextSelection(x.current), e ? C?.chain().focus().extendMarkRange("link").setLink({ href: e }).run() : C?.chain().focus().extendMarkRange("link").unsetLink().run(), p(!1);
714
+ w?.commands.setTextSelection(S.current), e ? w?.chain().focus().extendMarkRange("link").setLink({ href: e }).run() : w?.chain().focus().extendMarkRange("link").unsetLink().run(), p(!1);
715
715
  },
716
- children: /* @__PURE__ */ X(a, {
716
+ children: /* @__PURE__ */ Z(a, {
717
717
  gap: "md",
718
- children: [/* @__PURE__ */ Y(E, {
718
+ children: [/* @__PURE__ */ X(b, {
719
719
  label: l.linkUrl,
720
- children: /* @__PURE__ */ Y(y, {
720
+ children: /* @__PURE__ */ X(y, {
721
721
  value: m,
722
722
  onChange: (e) => g(e.target.value)
723
723
  })
724
- }), v && /* @__PURE__ */ Y(s, {
724
+ }), v && /* @__PURE__ */ X(s, {
725
725
  tone: "destructive",
726
- children: /* @__PURE__ */ Y(o, { children: v })
726
+ children: /* @__PURE__ */ X(o, { children: v })
727
727
  })]
728
728
  })
729
729
  })
@@ -732,21 +732,21 @@ function Te({ body: n, disabled: r, onChange: i, adapterRef: c, strings: l }) {
732
732
  }
733
733
  //#endregion
734
734
  //#region src/components/features/email-composer/partials/html-preview.tsx
735
- function Ee({ html: e, subject: t, strings: r }) {
736
- return /* @__PURE__ */ X(a, {
735
+ function Te({ html: e, subject: t, strings: r }) {
736
+ return /* @__PURE__ */ Z(a, {
737
737
  gap: "normal",
738
738
  className: "min-w-0",
739
- children: [/* @__PURE__ */ X(n, {
739
+ children: [/* @__PURE__ */ Z(n, {
740
740
  type: "secondary",
741
741
  children: [
742
742
  r.subject,
743
743
  ": ",
744
744
  t
745
745
  ]
746
- }), /* @__PURE__ */ Y(c, {
746
+ }), /* @__PURE__ */ X(c, {
747
747
  surface: "card",
748
748
  padding: "none",
749
- children: /* @__PURE__ */ Y("iframe", {
749
+ children: /* @__PURE__ */ X("iframe", {
750
750
  title: r.previewLabel,
751
751
  sandbox: "",
752
752
  referrerPolicy: "no-referrer",
@@ -758,18 +758,18 @@ function Ee({ html: e, subject: t, strings: r }) {
758
758
  }
759
759
  //#endregion
760
760
  //#region src/components/features/email-composer/email-composer.tsx
761
- function De(e) {
762
- let n = be(e), { api: i, draft: u, strings: d, busy: _, state: b } = n, [x, S] = q("editor"), [C, w] = q(e.placeholders?.showEditor ?? !1), [T, A] = q(!1), [j, M] = q(!1), [N, P] = q(!1), F = W(), I = x === "preview" || u.body.kind === "html", L = (t) => (e.actions ?? []).filter((e) => (e.position ?? "toolbar") === t && (e.visible?.(b) ?? !0)).map((e) => ({
761
+ function Ee(e) {
762
+ let n = ye(e), { api: i, draft: u, strings: d, busy: _, state: x } = n, [S, C] = J("editor"), [w, T] = J(e.placeholders?.showEditor ?? !1), [E, j] = J(!1), [M, N] = J(!1), [P, F] = J(!1), I = G(), L = S === "preview" || u.body.kind === "html", R = (t) => (e.actions ?? []).filter((e) => (e.position ?? "toolbar") === t && (e.visible?.(x) ?? !0)).map((e) => ({
763
763
  id: e.id,
764
764
  label: e.label,
765
765
  icon: e.icon,
766
- disabled: _ || e.disabled?.(b),
766
+ disabled: _ || e.disabled?.(x),
767
767
  onClick: () => {
768
768
  n.runAction(e);
769
769
  },
770
770
  buttonStyle: "ghost",
771
771
  tone: "secondary"
772
- })), R = /* @__PURE__ */ X(a, {
772
+ })), z = /* @__PURE__ */ Z(a, {
773
773
  direction: {
774
774
  base: "vertical",
775
775
  sm: "horizontal"
@@ -781,10 +781,10 @@ function De(e) {
781
781
  },
782
782
  justify: "between",
783
783
  className: "w-full",
784
- children: [/* @__PURE__ */ X(a, {
784
+ children: [/* @__PURE__ */ Z(a, {
785
785
  direction: "horizontal",
786
786
  gap: "sm",
787
- children: [e.buttons?.discard !== !1 && /* @__PURE__ */ Y(r, {
787
+ children: [e.buttons?.discard !== !1 && /* @__PURE__ */ X(r, {
788
788
  type: "button",
789
789
  tone: "secondary",
790
790
  buttonStyle: "ghost",
@@ -793,15 +793,15 @@ function De(e) {
793
793
  i.discard();
794
794
  },
795
795
  children: e.buttons?.discard?.label ?? d.discard
796
- }), /* @__PURE__ */ Y(p, { actions: L("footer-start") })]
797
- }), /* @__PURE__ */ X(a, {
796
+ }), /* @__PURE__ */ X(p, { actions: R("footer-start") })]
797
+ }), /* @__PURE__ */ Z(a, {
798
798
  direction: "horizontal",
799
799
  gap: "sm",
800
800
  justify: "end",
801
801
  children: [
802
- /* @__PURE__ */ Y(p, { actions: L("footer-end") }),
803
- !!L("overflow").length && /* @__PURE__ */ Y(f, {
804
- actions: L("overflow"),
802
+ /* @__PURE__ */ X(p, { actions: R("footer-end") }),
803
+ !!R("overflow").length && /* @__PURE__ */ X(f, {
804
+ actions: R("overflow"),
805
805
  srText: d.more,
806
806
  buttonProps: { disabled: _ }
807
807
  }),
@@ -814,94 +814,95 @@ function De(e) {
814
814
  onClick: () => {
815
815
  i.send();
816
816
  },
817
- children: [/* @__PURE__ */ Y(ue, { className: "size-icon" }), _ ? d.working : e.buttons?.send?.label ?? d.send]
817
+ children: _ ? d.working : e.buttons?.send?.label ?? d.send
818
818
  })
819
819
  ]
820
820
  })]
821
- }), z = (e) => n.attempted ? b.issues.find((t) => t.field === e)?.message : void 0, B = /* @__PURE__ */ X(a, {
821
+ }), B = (e) => n.attempted ? x.issues.find((t) => t.field === e)?.message : void 0, V = /* @__PURE__ */ Z(a, {
822
822
  gap: "lg",
823
823
  className: "email-composer--body min-w-0",
824
824
  children: [
825
- /* @__PURE__ */ X(a, {
825
+ /* @__PURE__ */ Z(a, {
826
826
  gap: "md",
827
827
  className: "email-composer--details",
828
- children: [/* @__PURE__ */ Y(a, {
828
+ children: [/* @__PURE__ */ X(a, {
829
829
  gap: "md",
830
830
  children: [
831
831
  "to",
832
832
  "cc",
833
833
  "bcc"
834
- ].filter((t) => t === "to" || t === "cc" && (T || u.cc.length || Q(e.recipients?.cc)) || t === "bcc" && (j || u.bcc.length || Q(e.recipients?.bcc))).map((t) => /* @__PURE__ */ Y(Se, {
834
+ ].filter((t) => t === "to" || t === "cc" && (E || u.cc.length || Q(e.recipients?.cc)) || t === "bcc" && (M || u.bcc.length || Q(e.recipients?.bcc))).map((t) => /* @__PURE__ */ X(xe, {
835
835
  field: t,
836
836
  value: u[t],
837
837
  options: e.recipients?.[t],
838
838
  strings: d,
839
839
  busy: _,
840
840
  report: n.report,
841
- error: z(t),
841
+ error: B(t),
842
842
  onChange: (e) => n.changeRecipients(t, e),
843
- actions: t === "to" ? /* @__PURE__ */ X(J, { children: [!T && !u.cc.length && /* @__PURE__ */ Y(r, {
843
+ actions: t === "to" ? /* @__PURE__ */ Z(Y, { children: [!E && !u.cc.length && /* @__PURE__ */ X(r, {
844
844
  type: "button",
845
845
  size: "sm",
846
846
  buttonStyle: "ghost",
847
847
  tone: "secondary",
848
848
  disabled: _,
849
- onClick: () => A(!0),
849
+ onClick: () => j(!0),
850
850
  children: d.cc
851
- }), !j && !u.bcc.length && /* @__PURE__ */ Y(r, {
851
+ }), !M && !u.bcc.length && /* @__PURE__ */ X(r, {
852
852
  type: "button",
853
853
  size: "sm",
854
854
  buttonStyle: "ghost",
855
855
  tone: "secondary",
856
856
  disabled: _,
857
- onClick: () => M(!0),
857
+ onClick: () => N(!0),
858
858
  children: d.bcc
859
859
  })] }) : void 0
860
860
  }, t))
861
- }), /* @__PURE__ */ Y(E, {
861
+ }), /* @__PURE__ */ X(b, {
862
862
  label: d.subject,
863
863
  required: !0,
864
- htmlFor: `${F}-subject`,
865
- error: z("subject"),
866
- supportingTextId: `${F}-subject-error`,
867
- children: /* @__PURE__ */ Y(y, {
868
- id: `${F}-subject`,
864
+ htmlFor: `${I}-subject`,
865
+ error: B("subject"),
866
+ supportingTextId: `${I}-subject-error`,
867
+ children: /* @__PURE__ */ X(y, {
868
+ id: `${I}-subject`,
869
869
  value: u.subject,
870
870
  readOnly: e.subject?.readOnly,
871
871
  disabled: _,
872
- invalid: !!z("subject"),
873
- "aria-describedby": z("subject") ? `${F}-subject-error` : void 0,
872
+ invalid: !!B("subject"),
873
+ "aria-describedby": B("subject") ? `${I}-subject-error` : void 0,
874
874
  onChange: (e) => n.changeSubject(e.target.value)
875
875
  })
876
876
  })]
877
877
  }),
878
- /* @__PURE__ */ Y(ne, {
879
- value: I ? "preview" : "editor",
878
+ /* @__PURE__ */ X(k, {
879
+ value: L ? "preview" : "editor",
880
880
  onValueChange: (e) => {
881
- e && S(e);
881
+ e && C(e);
882
882
  },
883
- children: /* @__PURE__ */ X(c, {
883
+ children: /* @__PURE__ */ Z(c, {
884
884
  surface: "flat",
885
885
  padding: "none",
886
886
  contentGap: "md",
887
+ titleSize: "sm",
887
888
  title: d.body,
888
- headerAction: /* @__PURE__ */ X(te, { children: [/* @__PURE__ */ Y(D, {
889
+ headerAction: /* @__PURE__ */ Z(te, { children: [/* @__PURE__ */ X(D, {
889
890
  value: "editor",
890
891
  disabled: u.body.kind === "html",
891
892
  children: d.editor
892
- }), /* @__PURE__ */ Y(D, {
893
+ }), /* @__PURE__ */ X(D, {
893
894
  value: "preview",
894
895
  children: d.preview
895
896
  })] }),
896
897
  children: [
897
- (!!e.templates || !!n.templates.length || L("toolbar").length > 0) && /* @__PURE__ */ X(a, {
898
+ (!!e.templates || !!n.templates.length || R("toolbar").length > 0) && /* @__PURE__ */ Z(a, {
898
899
  direction: "horizontal",
899
900
  gap: "sm",
900
901
  align: "center",
901
902
  className: "email-composer--message-actions",
902
903
  children: [
903
- (e.templates || !!n.templates.length) && /* @__PURE__ */ Y(k, {
904
- trigger: /* @__PURE__ */ Y(r, {
904
+ (e.templates || !!n.templates.length) && /* @__PURE__ */ X(A, {
905
+ trigger: /* @__PURE__ */ X(r, {
905
906
  type: "button",
906
907
  tone: "secondary",
907
908
  buttonStyle: "outline",
@@ -935,7 +936,7 @@ function De(e) {
935
936
  retry: d.retry
936
937
  }
937
938
  }),
938
- e.templates?.allowImport && e.templates.onImport && /* @__PURE__ */ Y(r, {
939
+ e.templates?.allowImport && e.templates.onImport && /* @__PURE__ */ X(r, {
939
940
  type: "button",
940
941
  tone: "secondary",
941
942
  buttonStyle: "ghost",
@@ -946,26 +947,26 @@ function De(e) {
946
947
  },
947
948
  children: d.importTemplate
948
949
  }),
949
- /* @__PURE__ */ Y(p, {
950
+ /* @__PURE__ */ X(p, {
950
951
  size: "sm",
951
- actions: L("toolbar")
952
+ actions: R("toolbar")
952
953
  })
953
954
  ]
954
955
  }),
955
- /* @__PURE__ */ Y(O, {
956
+ /* @__PURE__ */ X(O, {
956
957
  value: "editor",
957
958
  keepMounted: !0,
958
- children: /* @__PURE__ */ Y(Te, {
959
+ children: /* @__PURE__ */ X(we, {
959
960
  body: u.body,
960
- disabled: _ || I,
961
+ disabled: _ || L,
961
962
  onChange: n.changeBody,
962
963
  adapterRef: n.editorRef,
963
964
  strings: d
964
965
  })
965
966
  }),
966
- /* @__PURE__ */ Y(O, {
967
+ /* @__PURE__ */ X(O, {
967
968
  value: "preview",
968
- children: n.rendered && /* @__PURE__ */ Y(Ee, {
969
+ children: n.rendered && /* @__PURE__ */ X(Te, {
969
970
  html: n.rendered.email.html,
970
971
  subject: n.rendered.email.subject,
971
972
  strings: d
@@ -974,49 +975,49 @@ function De(e) {
974
975
  ]
975
976
  })
976
977
  }),
977
- (!!Object.keys(n.definitions).length || Q(e.placeholders)) && /* @__PURE__ */ Y(v, {
978
- value: C ? ["variables"] : [],
979
- onValueChange: (e) => w(e.includes("variables")),
978
+ (!!Object.keys(n.definitions).length || Q(e.placeholders)) && /* @__PURE__ */ X(v, {
979
+ value: w ? ["variables"] : [],
980
+ onValueChange: (e) => T(e.includes("variables")),
980
981
  items: [{
981
982
  value: "variables",
982
983
  title: d.variables,
983
984
  description: d.variablesDescription,
984
- content: Q(e.placeholders) ? /* @__PURE__ */ Y(ye, {
985
+ content: Q(e.placeholders) ? /* @__PURE__ */ X(ve, {
985
986
  state: e.placeholders,
986
987
  label: d.loadingVariables,
987
988
  retryLabel: d.retry,
988
989
  report: n.report
989
- }) : /* @__PURE__ */ Y(Ce, {
990
+ }) : /* @__PURE__ */ X(Se, {
990
991
  definitions: n.definitions,
991
992
  values: n.values,
992
993
  draft: u,
993
994
  api: i,
994
995
  strings: d,
995
996
  busy: _,
996
- editable: !I
997
+ editable: !L
997
998
  })
998
999
  }]
999
1000
  }),
1000
- u.body.kind === "html" && /* @__PURE__ */ Y(r, {
1001
+ u.body.kind === "html" && /* @__PURE__ */ X(r, {
1001
1002
  type: "button",
1002
1003
  tone: "secondary",
1003
1004
  buttonStyle: "outline",
1004
1005
  disabled: _,
1005
- onClick: () => P(!0),
1006
+ onClick: () => F(!0),
1006
1007
  children: d.convert
1007
1008
  }),
1008
- (n.error || !n.dataPending && n.renderError) && /* @__PURE__ */ X(s, {
1009
+ (n.error || !n.dataPending && n.renderError) && /* @__PURE__ */ Z(s, {
1009
1010
  tone: "destructive",
1010
- children: [/* @__PURE__ */ Y(l, { children: d.errorTitle }), /* @__PURE__ */ Y(o, { children: n.error || n.renderError })]
1011
+ children: [/* @__PURE__ */ X(l, { children: d.errorTitle }), /* @__PURE__ */ X(o, { children: n.error || n.renderError })]
1011
1012
  }),
1012
- n.notice && /* @__PURE__ */ Y(s, {
1013
+ n.notice && /* @__PURE__ */ X(s, {
1013
1014
  tone: "success",
1014
1015
  role: "status",
1015
- children: /* @__PURE__ */ Y(o, { children: n.notice })
1016
+ children: /* @__PURE__ */ X(o, { children: n.notice })
1016
1017
  }),
1017
1018
  e.children?.(i)
1018
1019
  ]
1019
- }), V = e.title ?? d.title, H = e.onClose ? /* @__PURE__ */ Y(r, {
1020
+ }), H = e.title ?? d.title, U = e.onClose ? /* @__PURE__ */ X(r, {
1020
1021
  type: "button",
1021
1022
  iconOnly: !0,
1022
1023
  tone: "secondary",
@@ -1025,12 +1026,12 @@ function De(e) {
1025
1026
  disabled: _,
1026
1027
  "aria-label": d.close,
1027
1028
  onClick: e.onClose,
1028
- children: /* @__PURE__ */ Y(fe, { className: "size-icon" })
1029
- }) : void 0, U, G = t("email-composer--component min-w-0", e.className);
1029
+ children: /* @__PURE__ */ X(de, { className: "size-icon" })
1030
+ }) : void 0, W, K = t("email-composer--component min-w-0", e.className);
1030
1031
  if (e.position === "dialog" || e.position === "sheet") {
1031
1032
  let t = {
1032
1033
  open: !0,
1033
- title: V,
1034
+ title: H,
1034
1035
  description: e.description,
1035
1036
  onOpenChange: (t) => {
1036
1037
  !t && !_ && e.onClose?.();
@@ -1042,44 +1043,42 @@ function De(e) {
1042
1043
  showCancel: !1,
1043
1044
  showConfirm: !1,
1044
1045
  showCloseButton: !!e.onClose && !_,
1045
- footer: R,
1046
- className: G
1046
+ footer: z,
1047
+ className: K
1047
1048
  };
1048
- U = e.position === "dialog" ? /* @__PURE__ */ Y(h, {
1049
+ W = e.position === "dialog" ? /* @__PURE__ */ X(h, {
1049
1050
  ...t,
1050
1051
  size: "3xl",
1051
1052
  showCloseButton: !!e.onClose && !_,
1052
- children: B
1053
- }) : /* @__PURE__ */ Y(m, {
1053
+ children: V
1054
+ }) : /* @__PURE__ */ X(m, {
1054
1055
  ...t,
1055
1056
  width: "3xl",
1056
- children: B
1057
+ children: V
1057
1058
  });
1058
1059
  } else {
1059
- let t = /* @__PURE__ */ Y(c, {
1060
- className: G,
1060
+ let t = /* @__PURE__ */ X(c, {
1061
+ className: K,
1061
1062
  surface: "card",
1062
- title: V,
1063
+ title: H,
1063
1064
  description: e.description,
1064
- headerAction: H,
1065
- headerClassName: e.position === "floating" && H ? "flex-nowrap [&>.card--header-start]:basis-0 [&>.card--header-end]:shrink-0" : void 0,
1066
- headerDivider: !0,
1067
- footerDivider: !0,
1068
- footerSlot: R,
1069
- children: B
1065
+ headerAction: U,
1066
+ headerClassName: e.position === "floating" && U ? "flex-nowrap [&>.card--header-start]:basis-0 [&>.card--header-end]:shrink-0" : void 0,
1067
+ footerSlot: z,
1068
+ children: V
1070
1069
  });
1071
- U = e.position === "floating" ? /* @__PURE__ */ Y("div", {
1070
+ W = e.position === "floating" ? /* @__PURE__ */ X("div", {
1072
1071
  className: "fixed bottom-space-md end-space-md z-40 w-[min(42rem,calc(100vw-2rem))]",
1073
- children: /* @__PURE__ */ Y(ee, {
1072
+ children: /* @__PURE__ */ X(ee, {
1074
1073
  className: "max-h-[calc(100dvh-2rem)]",
1075
1074
  viewportClassName: "max-h-[calc(100dvh-2rem)]",
1076
1075
  children: t
1077
1076
  })
1078
1077
  }) : t;
1079
1078
  }
1080
- return /* @__PURE__ */ X(J, { children: [U, /* @__PURE__ */ Y(g, {
1081
- open: N,
1082
- onOpenChange: P,
1079
+ return /* @__PURE__ */ Z(Y, { children: [W, /* @__PURE__ */ X(g, {
1080
+ open: P,
1081
+ onOpenChange: F,
1083
1082
  title: d.convertTitle,
1084
1083
  description: d.convertDescription,
1085
1084
  strings: {
@@ -1088,11 +1087,11 @@ function De(e) {
1088
1087
  close: d.closeConversion
1089
1088
  },
1090
1089
  onConfirm: () => {
1091
- !_ && n.editorRef.current && (i.setBody(n.editorRef.current.convert(u.body)), S("editor"));
1090
+ !_ && n.editorRef.current && (i.setBody(n.editorRef.current.convert(u.body)), C("editor"));
1092
1091
  }
1093
1092
  })] });
1094
1093
  }
1095
1094
  //#endregion
1096
- export { De as EmailComposer, P as bodyHtml, V as createHttpSender, H as defaultEmailComposerStrings, z as parseRecipient, F as recipientLabel, N as renderEmail, R as resolveValues, B as validate };
1095
+ export { Ee as EmailComposer, F as bodyHtml, H as createHttpSender, U as defaultEmailComposerStrings, B as parseRecipient, I as recipientLabel, P as renderEmail, z as resolveValues, V as validate };
1097
1096
 
1098
1097
  //# sourceMappingURL=email-composer.js.map