themelia-react-ui 2.0.3 → 2.0.5

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 (648) hide show
  1. package/CHANGELOG.md +185 -0
  2. package/README.md +168 -36
  3. package/dist/{accordion-Cjb6sx0G.js → accordion-B9MHG0cT.js} +11 -11
  4. package/dist/accordion-B9MHG0cT.js.map +1 -0
  5. package/dist/action-menu-Dr8K-ghE.js +284 -0
  6. package/dist/action-menu-Dr8K-ghE.js.map +1 -0
  7. package/dist/{affordance-geometry.generated-tF36bREk.js → affordance-geometry.generated-P-aVJisu.js} +42 -36
  8. package/dist/affordance-geometry.generated-P-aVJisu.js.map +1 -0
  9. package/dist/{ai-artifact-DvTwDVyL.js → ai-artifact-C58tQcBy.js} +387 -350
  10. package/dist/ai-artifact-C58tQcBy.js.map +1 -0
  11. package/dist/app-shell-B_IuNWOo.js +321 -0
  12. package/dist/app-shell-B_IuNWOo.js.map +1 -0
  13. package/dist/{attachment-BxDfL2mw.js → attachment-Dg_69lPS.js} +9 -9
  14. package/dist/{attachment-BxDfL2mw.js.map → attachment-Dg_69lPS.js.map} +1 -1
  15. package/dist/{auth-BGua8ouh.js → auth-DTkkshS8.js} +44 -47
  16. package/dist/auth-DTkkshS8.js.map +1 -0
  17. package/dist/{avatar-DAPlDvhJ.js → avatar-CeZaFmNH.js} +8 -8
  18. package/dist/avatar-CeZaFmNH.js.map +1 -0
  19. package/dist/{badge-HpFqoqSY.js → badge-xIiV_E7f.js} +5 -5
  20. package/dist/{badge-HpFqoqSY.js.map → badge-xIiV_E7f.js.map} +1 -1
  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 +1 -1
  27. package/dist/base/buttons.js +1 -1
  28. package/dist/base/cards.js +2 -2
  29. package/dist/base/carousel.js +3 -3
  30. package/dist/base/cascader.js +2 -372
  31. package/dist/base/chart.js +1 -1
  32. package/dist/base/choice-inputs.js +2 -2
  33. package/dist/base/code-block.js +1 -1
  34. package/dist/base/combobox.js +2 -2
  35. package/dist/base/command.js +1 -1
  36. package/dist/base/copyable.js +1 -1
  37. package/dist/base/date-pickers.js +2 -2
  38. package/dist/base/display.js +6 -6
  39. package/dist/base/feedback.js +3 -3
  40. package/dist/base/forms-numeric.js +1 -1
  41. package/dist/base/forms.js +3 -3
  42. package/dist/base/inline-edit.js +10 -10
  43. package/dist/base/item.js +1 -1
  44. package/dist/base/media-gallery.js +1 -1
  45. package/dist/base/metadata-list.js +1 -1
  46. package/dist/base/navigation.js +7 -7
  47. package/dist/base/popover-menu.js +1 -1
  48. package/dist/base/popover.js +1 -1
  49. package/dist/base/qr-code.js +1 -1
  50. package/dist/base/repeaters.js +12 -12
  51. package/dist/base/repeaters.js.map +1 -1
  52. package/dist/base/sheet.js +1 -1
  53. package/dist/base/sidebar.js +2 -2
  54. package/dist/base/signature-pad.js +7 -7
  55. package/dist/base/signature-pad.js.map +1 -1
  56. package/dist/base/skeleton.js +1 -1
  57. package/dist/base/spinner.js +4 -4
  58. package/dist/base/structure.js +1 -1
  59. package/dist/base/table.js +1 -1
  60. package/dist/base/text-inputs.js +2 -2
  61. package/dist/base/toaster.js +36 -36
  62. package/dist/base/toaster.js.map +1 -1
  63. package/dist/base/tree.js +1 -1
  64. package/dist/base/upload-queue.js +1 -1
  65. package/dist/base/upload.js +3 -3
  66. package/dist/base/value-inputs.js +1 -1
  67. package/dist/{batch-action-bar-DnUJ21NQ.js → batch-action-bar-Cb8cuvyy.js} +6 -6
  68. package/dist/batch-action-bar-Cb8cuvyy.js.map +1 -0
  69. package/dist/blocks/admin.js +23 -23
  70. package/dist/blocks/admin.js.map +1 -1
  71. package/dist/blocks/ai.js +230 -216
  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 +326 -307
  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 +1247 -1169
  79. package/dist/blocks/commerce.js.map +1 -1
  80. package/dist/blocks/data-display.js +2 -2
  81. package/dist/blocks/onboarding.js +6 -6
  82. package/dist/blocks/onboarding.js.map +1 -1
  83. package/dist/blocks/planning.js +11 -11
  84. package/dist/blocks/timelines.js +1 -1
  85. package/dist/{breadcrumbs-C-oqs1sQ.js → breadcrumbs-J-K2kl4c.js} +6 -6
  86. package/dist/{breadcrumbs-C-oqs1sQ.js.map → breadcrumbs-J-K2kl4c.js.map} +1 -1
  87. package/dist/{button-DVzspB_G.js → button-S2Cubiiz.js} +3 -3
  88. package/dist/button-S2Cubiiz.js.map +1 -0
  89. package/dist/{buttons-DPZekJFu.js → buttons-BedGfygC.js} +16 -16
  90. package/dist/buttons-BedGfygC.js.map +1 -0
  91. package/dist/cards-rNX1M4Xn.js +69 -0
  92. package/dist/cards-rNX1M4Xn.js.map +1 -0
  93. package/dist/cascader-B1MiqkBq.js +439 -0
  94. package/dist/cascader-B1MiqkBq.js.map +1 -0
  95. package/dist/chart-Darg_0Kv.js +162 -0
  96. package/dist/chart-Darg_0Kv.js.map +1 -0
  97. package/dist/{checkbox-AWIhNhmo.js → checkbox-fflqmODR.js} +9 -5
  98. package/dist/checkbox-fflqmODR.js.map +1 -0
  99. package/dist/choice-inputs-zUgBZfE4.js +777 -0
  100. package/dist/choice-inputs-zUgBZfE4.js.map +1 -0
  101. package/dist/{code-block-DeneBJR_.js → code-block-BzmM9Eig.js} +9 -9
  102. package/dist/code-block-BzmM9Eig.js.map +1 -0
  103. package/dist/{collapsible-C-_l4hpy.js → collapsible-BkAI_XD4.js} +5 -5
  104. package/dist/{collapsible-C-_l4hpy.js.map → collapsible-BkAI_XD4.js.map} +1 -1
  105. package/dist/{collection-content-By56pLog.js → collection-content-gDh1v6O4.js} +3 -3
  106. package/dist/{collection-content-By56pLog.js.map → collection-content-gDh1v6O4.js.map} +1 -1
  107. package/dist/combobox-BEx0vJgF.js +362 -0
  108. package/dist/combobox-BEx0vJgF.js.map +1 -0
  109. package/dist/{combobox-Dxo2fAYQ.js → combobox-BwzoXFSG.js} +254 -247
  110. package/dist/combobox-BwzoXFSG.js.map +1 -0
  111. package/dist/{command-C25VMRII.js → command-CrlPIL6m.js} +12 -12
  112. package/dist/command-CrlPIL6m.js.map +1 -0
  113. package/dist/{comments-DD0DUPwJ.js → comments-Dmpp0YIc.js} +380 -379
  114. package/dist/comments-Dmpp0YIc.js.map +1 -0
  115. package/dist/components/base/action-menu/action-menu.d.ts +9 -1
  116. package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
  117. package/dist/components/base/cards/card.recipes.d.ts +16 -7
  118. package/dist/components/base/cards/partials/card-primitives.d.ts +9 -2
  119. package/dist/components/base/cards/partials/smart-card-header-row.d.ts +3 -1
  120. package/dist/components/base/cards/smart-card.types.d.ts +11 -7
  121. package/dist/components/base/cascader/cascader-panel.d.ts +76 -0
  122. package/dist/components/base/chart/chart.d.ts +6 -1
  123. package/dist/components/base/choice-inputs/checkbox.d.ts +7 -2
  124. package/dist/components/base/choice-inputs/choice-types.d.ts +1 -1
  125. package/dist/components/base/choice-inputs/switch-card.d.ts +7 -0
  126. package/dist/components/base/choice-inputs/toggle-field.d.ts +7 -0
  127. package/dist/components/base/combobox/index.d.ts +4 -2
  128. package/dist/components/base/date-pickers/datepicker.types.d.ts +7 -0
  129. package/dist/components/base/feedback/alert.d.ts +1 -1
  130. package/dist/components/base/forms/controlled-form-field.d.ts +6 -6
  131. package/dist/components/base/forms/form-field.d.ts +5 -3
  132. package/dist/components/base/forms/form-sizing.d.ts +7 -7
  133. package/dist/components/base/forms/index.d.ts +1 -0
  134. package/dist/components/base/forms/server-errors.d.ts +16 -0
  135. package/dist/components/base/forms/workflow.d.ts +11 -2
  136. package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -0
  137. package/dist/components/base/metadata-list/metadata-list.d.ts +3 -1
  138. package/dist/components/base/navigation/dropdown-menu.d.ts +1 -1
  139. package/dist/components/base/navigation/page-header/page-header-commands.d.ts +14 -7
  140. package/dist/components/base/navigation/page-header/page-header.d.ts +13 -4
  141. package/dist/components/base/popover/popover.d.ts +3 -3
  142. package/dist/components/base/popover/popover.recipes.d.ts +10 -6
  143. package/dist/components/base/sheet/sheet.d.ts +2 -0
  144. package/dist/components/base/sidebar/index.d.ts +1 -1
  145. package/dist/components/base/sidebar/sidebar.d.ts +27 -5
  146. package/dist/components/base/structure/composition.recipes.d.ts +17 -0
  147. package/dist/components/base/text-inputs/hooks/use-form-field-state.d.ts +7 -2
  148. package/dist/components/base/text-inputs/input.d.ts +4 -2
  149. package/dist/components/base/text-inputs/textarea.d.ts +4 -2
  150. package/dist/components/base/toaster/index.d.ts +1 -0
  151. package/dist/components/base/value-inputs/date-time-input.d.ts +2 -1
  152. package/dist/components/base/value-inputs/slider.d.ts +5 -1
  153. package/dist/components/base/value-inputs/tags-input.d.ts +5 -1
  154. package/dist/components/blocks/ai/ai-file-tree/types.d.ts +1 -1
  155. package/dist/components/blocks/ai/ai-tool-call/types.d.ts +3 -1
  156. package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
  157. package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
  158. package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
  159. package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +1 -1
  160. package/dist/components/blocks/commerce/cart-summary/types.d.ts +3 -1
  161. package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +1 -1
  162. package/dist/components/blocks/commerce/discount-stack/types.d.ts +3 -1
  163. package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
  164. package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +11 -2
  165. package/dist/components/blocks/commerce/index.d.ts +7 -6
  166. package/dist/components/blocks/commerce/inventory-section/inventory-section.d.ts +1 -1
  167. package/dist/components/blocks/commerce/inventory-section/types.d.ts +7 -2
  168. package/dist/components/blocks/commerce/invoice-header/index.d.ts +2 -1
  169. package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
  170. package/dist/components/blocks/commerce/invoice-header/types.d.ts +20 -6
  171. package/dist/components/blocks/commerce/invoice-line-items/invoice-line-items.d.ts +1 -1
  172. package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +24 -7
  173. package/dist/components/blocks/commerce/invoice-mini/index.d.ts +2 -1
  174. package/dist/components/blocks/commerce/invoice-mini/types.d.ts +7 -1
  175. package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +1 -1
  176. package/dist/components/blocks/commerce/order-customer/types.d.ts +9 -1
  177. package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +1 -1
  178. package/dist/components/blocks/commerce/refund-status/types.d.ts +3 -1
  179. package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
  180. package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +3 -1
  181. package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
  182. package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +3 -1
  183. package/dist/components/features/activities/activities.types.d.ts +8 -2
  184. package/dist/components/features/activities/partials/activity-marker.d.ts +7 -3
  185. package/dist/components/features/activities/partials/activity-row.d.ts +24 -0
  186. package/dist/components/features/event-calendar/colors.d.ts +2 -2
  187. package/dist/components/features/event-calendar/event-calendar.types.d.ts +4 -0
  188. package/dist/components/features/filters/facets/select-facet.d.ts +2 -1
  189. package/dist/components/features/filters/filters.strings.d.ts +4 -0
  190. package/dist/components/features/filters/filters.types.d.ts +3 -0
  191. package/dist/components/features/filters/partials/filter-editor-header.d.ts +16 -0
  192. package/dist/components/features/filters/partials/filter-popover-content.d.ts +1 -1
  193. package/dist/components/features/filters/partials/nested-filter-options.d.ts +21 -0
  194. package/dist/components/features/filters/partials/regular-filter-content.d.ts +2 -1
  195. package/dist/components/features/filters/utils/filter-utils.d.ts +21 -3
  196. package/dist/components/features/global-search/global-search.types.d.ts +2 -0
  197. package/dist/components/features/global-search/partials/global-search-input.d.ts +10 -0
  198. package/dist/components/features/global-search/partials/global-search-result-row.d.ts +7 -1
  199. package/dist/components/features/media-library/media-library.strings.d.ts +2 -0
  200. package/dist/components/features/media-library/media-library.types.d.ts +14 -4
  201. package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
  202. package/dist/components/features/products/components/product-options-matrix.d.ts +1 -1
  203. package/dist/components/features/products/components/product-variant-editor.d.ts +1 -1
  204. package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
  205. package/dist/components/features/products/products.strings.d.ts +9 -1
  206. package/dist/components/features/products/products.types.d.ts +43 -6
  207. package/dist/components/features/resource/resource.d.ts +5 -1
  208. package/dist/components/features/resource/resource.types.d.ts +12 -1
  209. package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +1 -1
  210. package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +12 -2
  211. package/dist/components/features/table/partials/resource-cell.d.ts +22 -5
  212. package/dist/components/features/table/table.types.d.ts +1 -1
  213. package/dist/components/layout/app-shell/app-shell.types.d.ts +35 -6
  214. package/dist/components/layout/app-shell/index.d.ts +1 -1
  215. package/dist/components/layout/app-shell/shell-regions.d.ts +27 -0
  216. package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
  217. package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
  218. package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
  219. package/dist/components/layout/containers/two-column-layout.d.ts +2 -0
  220. package/dist/components/layout/header/header.recipes.d.ts +6 -0
  221. package/dist/components/layout/header/header.types.d.ts +6 -6
  222. package/dist/components/layout/navigation/section-nav/section-nav.d.ts +5 -0
  223. package/dist/components/layout/page/index.d.ts +2 -1
  224. package/dist/components/layout/page/page.d.ts +1 -0
  225. package/dist/components/layout/page/page.strings.d.ts +11 -0
  226. package/dist/components/layout/page/page.types.d.ts +69 -17
  227. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  228. package/dist/components/layout/settings/settings.d.ts +9 -2
  229. package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
  230. package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
  231. package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
  232. package/dist/components/layout/sidebar/index.d.ts +2 -1
  233. package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +36 -0
  234. package/dist/components/layout/sidebar/sidebar.context.d.ts +5 -7
  235. package/dist/components/layout/sidebar/sidebar.types.d.ts +48 -10
  236. package/dist/components/layout/sidebar/sidebar.utils.d.ts +9 -1
  237. package/dist/components/layout/workspace/workspace.types.d.ts +8 -1
  238. package/dist/components/typography/text.styles.d.ts +26 -1
  239. package/dist/components/ui/alert-dialog.d.ts +2 -2
  240. package/dist/components/ui/combobox.d.ts +1 -1
  241. package/dist/components/ui/dialog.d.ts +2 -2
  242. package/dist/components/ui/overlay-layer.d.ts +18 -0
  243. package/dist/components/ui/sheet.d.ts +5 -1
  244. package/dist/components/ui/sidebar-state.d.ts +82 -0
  245. package/dist/components/ui/sidebar.d.ts +5 -17
  246. package/dist/composition.recipes-COdiFhxB.js +19 -0
  247. package/dist/composition.recipes-COdiFhxB.js.map +1 -0
  248. package/dist/containers-CIxwbZt5.js +112 -0
  249. package/dist/containers-CIxwbZt5.js.map +1 -0
  250. package/dist/{control-group-recipes-DBXmfh2E.js → control-group-recipes-fMuFo0H7.js} +6 -6
  251. package/dist/control-group-recipes-fMuFo0H7.js.map +1 -0
  252. package/dist/{copyable-ClBuk_UK.js → copyable-DIznBqiT.js} +7 -7
  253. package/dist/{copyable-ClBuk_UK.js.map → copyable-DIznBqiT.js.map} +1 -1
  254. package/dist/{data-display-DT_khPl_.js → data-display-BdgCAw8T.js} +277 -285
  255. package/dist/data-display-BdgCAw8T.js.map +1 -0
  256. package/dist/{date-DCrsDTZc.js → date-Cq8ioE4o.js} +5 -5
  257. package/dist/{date-DCrsDTZc.js.map → date-Cq8ioE4o.js.map} +1 -1
  258. package/dist/{date-picker-B2K3ucWn.js → date-picker-RlIzKom_.js} +501 -480
  259. package/dist/date-picker-RlIzKom_.js.map +1 -0
  260. package/dist/date-pickers-DY-CpXS1.js +179 -0
  261. package/dist/date-pickers-DY-CpXS1.js.map +1 -0
  262. package/dist/{display-hAc1HjpI.js → display-KsZLw9Ov.js} +9 -9
  263. package/dist/{display-hAc1HjpI.js.map → display-KsZLw9Ov.js.map} +1 -1
  264. package/dist/dropdown-menu-CLs8Lihj.js +194 -0
  265. package/dist/dropdown-menu-CLs8Lihj.js.map +1 -0
  266. package/dist/features/activities.js +302 -253
  267. package/dist/features/activities.js.map +1 -1
  268. package/dist/features/ai-chat.js +15 -14
  269. package/dist/features/ai-chat.js.map +1 -1
  270. package/dist/features/appointment-calendar.js +222 -220
  271. package/dist/features/appointment-calendar.js.map +1 -1
  272. package/dist/features/async-preview.js +11 -10
  273. package/dist/features/async-preview.js.map +1 -1
  274. package/dist/features/combobox.js +1 -1
  275. package/dist/features/comments.js +1 -1
  276. package/dist/features/data-view.js +13 -13
  277. package/dist/features/data-view.js.map +1 -1
  278. package/dist/features/email-composer.js +249 -249
  279. package/dist/features/email-composer.js.map +1 -1
  280. package/dist/features/event-calendar.js +264 -269
  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 +167 -138
  284. package/dist/features/global-search.js.map +1 -1
  285. package/dist/features/kanban.js +6 -7
  286. package/dist/features/kanban.js.map +1 -1
  287. package/dist/features/map.js +269 -260
  288. package/dist/features/map.js.map +1 -1
  289. package/dist/features/media-library.js +827 -777
  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 +1246 -1169
  294. package/dist/features/products.js.map +1 -1
  295. package/dist/features/questionnaire.js +13 -13
  296. package/dist/features/questionnaire.js.map +1 -1
  297. package/dist/features/resource-assignment.js +8 -8
  298. package/dist/features/resource.js +127 -123
  299. package/dist/features/resource.js.map +1 -1
  300. package/dist/features/rich-text-editor.js +2 -2
  301. package/dist/features/schema-form.js +254 -253
  302. package/dist/features/schema-form.js.map +1 -1
  303. package/dist/features/suggestions.js +3 -3
  304. package/dist/features/sync.js +3 -3
  305. package/dist/features/table.js +1 -1
  306. package/dist/features/theme-tweaker.js +95 -96
  307. package/dist/features/theme-tweaker.js.map +1 -1
  308. package/dist/{feedback-BYIhtitP.js → feedback-Dm4izqFn.js} +81 -80
  309. package/dist/feedback-Dm4izqFn.js.map +1 -0
  310. package/dist/{field-affordance-recipes-DZhnIL_Y.js → field-affordance-recipes-DWcNcOjh.js} +4 -4
  311. package/dist/field-affordance-recipes-DWcNcOjh.js.map +1 -0
  312. package/dist/{filters-DJVAveHA.js → filters-DzgSJpMK.js} +693 -645
  313. package/dist/filters-DzgSJpMK.js.map +1 -0
  314. package/dist/{form-field-CwH9y77i.js → form-field-BriWAXyg.js} +14 -8
  315. package/dist/form-field-BriWAXyg.js.map +1 -0
  316. package/dist/{form-sizing-BdP_Mf5p.js → form-sizing-Bs2qFUeE.js} +4 -4
  317. package/dist/form-sizing-Bs2qFUeE.js.map +1 -0
  318. package/dist/forms-C0RGnJTe.js +216 -0
  319. package/dist/forms-C0RGnJTe.js.map +1 -0
  320. package/dist/{forms-numeric-B_jraJaQ.js → forms-numeric-DIhghX1Q.js} +295 -291
  321. package/dist/forms-numeric-DIhghX1Q.js.map +1 -0
  322. package/dist/{header-BSfIEWbI.js → header-DMMxG__r.js} +67 -63
  323. package/dist/header-DMMxG__r.js.map +1 -0
  324. package/dist/header.recipes-BigdJjw1.js +6 -0
  325. package/dist/header.recipes-BigdJjw1.js.map +1 -0
  326. package/dist/hooks/useFormErrors.d.ts +1 -1
  327. package/dist/{hooks-ClH9thn4.js → hooks-DB6CJ4MR.js} +26 -14
  328. package/dist/hooks-DB6CJ4MR.js.map +1 -0
  329. package/dist/{icon-badge-DYKIwvOV.js → icon-badge-DZF-YjQp.js} +4 -4
  330. package/dist/{icon-badge-DYKIwvOV.js.map → icon-badge-DZF-YjQp.js.map} +1 -1
  331. package/dist/index.js +4 -5
  332. package/dist/input-CvyDQlY7.js +289 -0
  333. package/dist/input-CvyDQlY7.js.map +1 -0
  334. package/dist/input-DMBwAZmr.js +21 -0
  335. package/dist/input-DMBwAZmr.js.map +1 -0
  336. package/dist/item-DjCcM18E.js +277 -0
  337. package/dist/item-DjCcM18E.js.map +1 -0
  338. package/dist/layout/app-shell.js +1 -1
  339. package/dist/layout/auth.js +1 -1
  340. package/dist/layout/containers.js +1 -1
  341. package/dist/layout/header.js +1 -1
  342. package/dist/layout/hooks.js +1 -1
  343. package/dist/layout/navigation.js +1 -1
  344. package/dist/layout/page.js +2 -2
  345. package/dist/layout/settings.js +1 -1
  346. package/dist/layout/sidebar.js +3 -3
  347. package/dist/layout/workspace.js +1 -1
  348. package/dist/layout.js +11 -11
  349. package/dist/lib/affordance-geometry.generated.d.ts +41 -35
  350. package/dist/lib/control-group-recipes.d.ts +5 -5
  351. package/dist/lib/field-affordance-recipes.d.ts +2 -2
  352. package/dist/lib/motion-recipes.d.ts +3 -0
  353. package/dist/lib/navigation-row-recipes.d.ts +7 -7
  354. package/dist/lib/overlay-anatomy-recipes.d.ts +3 -3
  355. package/dist/lib/portal-recipes.d.ts +3 -0
  356. package/dist/lib/token-merge.generated.d.ts +13 -10
  357. package/dist/lib/ui-provider/types.d.ts +1 -1
  358. package/dist/lib/utils.js +1 -1
  359. package/dist/map-demo-tile.svg +1 -1
  360. package/dist/{media-gallery-3zIVLMWH.js → media-gallery-C-vChPmE.js} +6 -6
  361. package/dist/{media-gallery-3zIVLMWH.js.map → media-gallery-C-vChPmE.js.map} +1 -1
  362. package/dist/{mentions-CGlEJ15c.js → mentions-0_4nWuI-.js} +10 -10
  363. package/dist/{mentions-CGlEJ15c.js.map → mentions-0_4nWuI-.js.map} +1 -1
  364. package/dist/{message-DZ_ruyUV.js → message-g8p7eVtN.js} +7 -7
  365. package/dist/message-g8p7eVtN.js.map +1 -0
  366. package/dist/metadata-list-C3MkU-Om.js +443 -0
  367. package/dist/metadata-list-C3MkU-Om.js.map +1 -0
  368. package/dist/{motion-recipes-ChBg4HBq.js → motion-recipes-DitYv6P2.js} +10 -2
  369. package/dist/motion-recipes-DitYv6P2.js.map +1 -0
  370. package/dist/navigation-C90-oQFq.js +255 -0
  371. package/dist/navigation-C90-oQFq.js.map +1 -0
  372. package/dist/{navigation-BzhHI3lo.js → navigation-DaRjthVk.js} +101 -82
  373. package/dist/navigation-DaRjthVk.js.map +1 -0
  374. package/dist/{navigation-row-recipes-BFLCk_Aq.js → navigation-row-recipes-BGVLvU_O.js} +9 -9
  375. package/dist/navigation-row-recipes-BGVLvU_O.js.map +1 -0
  376. package/dist/{number-DbV1Dija.js → number-CRU3kGuk.js} +5 -5
  377. package/dist/{number-DbV1Dija.js.map → number-CRU3kGuk.js.map} +1 -1
  378. package/dist/overflow-tab-bar-IVFVQFV6.js +172 -0
  379. package/dist/overflow-tab-bar-IVFVQFV6.js.map +1 -0
  380. package/dist/overlays-BSgCtM2v.js +1013 -0
  381. package/dist/overlays-BSgCtM2v.js.map +1 -0
  382. package/dist/page-DUUKDAjo.js +331 -0
  383. package/dist/page-DUUKDAjo.js.map +1 -0
  384. package/dist/page-header-commands-7P3sfE9u.js +193 -0
  385. package/dist/page-header-commands-7P3sfE9u.js.map +1 -0
  386. package/dist/{pagination-BL25hu2s.js → pagination-CgCjElfu.js} +7 -7
  387. package/dist/{pagination-BL25hu2s.js.map → pagination-CgCjElfu.js.map} +1 -1
  388. package/dist/popover-B85RenIl.js +201 -0
  389. package/dist/popover-B85RenIl.js.map +1 -0
  390. package/dist/{popover-menu-Cn9rUkdc.js → popover-menu-DlnQ2zlR.js} +7 -7
  391. package/dist/{popover-menu-Cn9rUkdc.js.map → popover-menu-DlnQ2zlR.js.map} +1 -1
  392. package/dist/{popover.recipes-D3j8R8Yp.js → popover.recipes-DdiEp0rd.js} +18 -11
  393. package/dist/popover.recipes-DdiEp0rd.js.map +1 -0
  394. package/dist/portal-recipes-BpsV_iRw.js +9 -0
  395. package/dist/portal-recipes-BpsV_iRw.js.map +1 -0
  396. package/dist/{primitives-BFK08r9M.js → primitives-ByWgGUgt.js} +6 -6
  397. package/dist/{primitives-BFK08r9M.js.map → primitives-ByWgGUgt.js.map} +1 -1
  398. package/dist/primitives.js +4 -4
  399. package/dist/{progress-B1VnCT0K.js → progress-BJhQP9WX.js} +9 -9
  400. package/dist/{progress-B1VnCT0K.js.map → progress-BJhQP9WX.js.map} +1 -1
  401. package/dist/{receipt-BVSOH3Xo.js → receipt-tOc7B3hw.js} +7 -7
  402. package/dist/receipt-tOc7B3hw.js.map +1 -0
  403. package/dist/{rich-text-GOUyKQ-s.js → rich-text-Dth5E882.js} +4 -4
  404. package/dist/{rich-text-GOUyKQ-s.js.map → rich-text-Dth5E882.js.map} +1 -1
  405. package/dist/{rich-text-editor-cRLC-eBK.js → rich-text-editor-C1fOjBTd.js} +429 -430
  406. package/dist/rich-text-editor-C1fOjBTd.js.map +1 -0
  407. package/dist/{rich-text-editor-toolbar-DfXg0-VC.js → rich-text-editor-toolbar-laT3tpBT.js} +33 -29
  408. package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +1 -0
  409. package/dist/{scroll-area-DcI-M1UT.js → scroll-area-B0dB2cBi.js} +2 -2
  410. package/dist/{scroll-area-DcI-M1UT.js.map → scroll-area-B0dB2cBi.js.map} +1 -1
  411. package/dist/{separator-Bom7NsGO.js → separator-Bb17I4pu.js} +2 -2
  412. package/dist/{separator-Bom7NsGO.js.map → separator-Bb17I4pu.js.map} +1 -1
  413. package/dist/{separator-BDV-Y648.js → separator-Ct_WSWTJ.js} +3 -3
  414. package/dist/{separator-BDV-Y648.js.map → separator-Ct_WSWTJ.js.map} +1 -1
  415. package/dist/services/actions.js +1 -1
  416. package/dist/settings-Bar5wiSo.js +167 -0
  417. package/dist/settings-Bar5wiSo.js.map +1 -0
  418. package/dist/sheet-BGPERY55.js +250 -0
  419. package/dist/sheet-BGPERY55.js.map +1 -0
  420. package/dist/sidebar-D-JYMMbY.js +686 -0
  421. package/dist/sidebar-D-JYMMbY.js.map +1 -0
  422. package/dist/sidebar-f9gRWXIR.js +1001 -0
  423. package/dist/sidebar-f9gRWXIR.js.map +1 -0
  424. package/dist/skeleton-BapcJd9C.js +265 -0
  425. package/dist/skeleton-BapcJd9C.js.map +1 -0
  426. package/dist/smart-card-CW0hjetE.js +617 -0
  427. package/dist/smart-card-CW0hjetE.js.map +1 -0
  428. package/dist/{structure-BmisBK-3.js → structure-DuxKl954.js} +3 -3
  429. package/dist/{structure-BmisBK-3.js.map → structure-DuxKl954.js.map} +1 -1
  430. package/dist/{structure.recipes-EPz60cU8.js → structure.recipes-BB4-n58V.js} +2 -2
  431. package/dist/{structure.recipes-EPz60cU8.js.map → structure.recipes-BB4-n58V.js.map} +1 -1
  432. package/dist/style.css +1 -1
  433. package/dist/{table-DsfzoUia.js → table-B4TE7iOV.js} +3 -3
  434. package/dist/{table-DsfzoUia.js.map → table-B4TE7iOV.js.map} +1 -1
  435. package/dist/{table-BweFy_P9.js → table-CFOWY9pQ.js} +394 -388
  436. package/dist/table-CFOWY9pQ.js.map +1 -0
  437. package/dist/{tabs-CDocW5D1.js → tabs-e7ko9S2o.js} +11 -11
  438. package/dist/tabs-e7ko9S2o.js.map +1 -0
  439. package/dist/{text-inputs-f9Ia-aCi.js → text-inputs-B1culiSK.js} +107 -104
  440. package/dist/text-inputs-B1culiSK.js.map +1 -0
  441. package/dist/{text.styles-g4He6UIW.js → text.styles-B64My8RZ.js} +25 -10
  442. package/dist/text.styles-B64My8RZ.js.map +1 -0
  443. package/dist/theme.css +192 -149
  444. package/dist/{timelines-CwM_9IhD.js → timelines-D3Sl9ueq.js} +13 -12
  445. package/dist/timelines-D3Sl9ueq.js.map +1 -0
  446. package/dist/tooltip-8wz5S_Zr.js +113 -0
  447. package/dist/tooltip-8wz5S_Zr.js.map +1 -0
  448. package/dist/{tree-WnKQzwbq.js → tree-CzUJHnFs.js} +9 -9
  449. package/dist/{tree-WnKQzwbq.js.map → tree-CzUJHnFs.js.map} +1 -1
  450. package/dist/typography/rich-text.js +1 -1
  451. package/dist/typography-BQnine1k.js +117 -0
  452. package/dist/typography-BQnine1k.js.map +1 -0
  453. package/dist/typography.js +1 -1
  454. package/dist/ui-provider-C-74NVLc.js +178 -0
  455. package/dist/ui-provider-C-74NVLc.js.map +1 -0
  456. package/dist/ui-provider.js +2 -3
  457. package/dist/{upload-CXyxmQBP.js → upload-BOW6U2tI.js} +25 -24
  458. package/dist/upload-BOW6U2tI.js.map +1 -0
  459. package/dist/{upload-queue-Boscubn9.js → upload-queue-qUXn1ykN.js} +16 -14
  460. package/dist/upload-queue-qUXn1ykN.js.map +1 -0
  461. package/dist/{usage-card-BhO5eqkX.js → usage-card-BeSLY0i0.js} +145 -137
  462. package/dist/usage-card-BeSLY0i0.js.map +1 -0
  463. package/dist/{utils-BRhFDwuU.js → utils-B6kKb8jB.js} +303 -144
  464. package/dist/utils-B6kKb8jB.js.map +1 -0
  465. package/dist/value-inputs-skdVB2zh.js +980 -0
  466. package/dist/value-inputs-skdVB2zh.js.map +1 -0
  467. package/dist/{value-typography-BP8OG6h5.js → value-typography-uAmWUAL1.js} +2 -2
  468. package/dist/{value-typography-BP8OG6h5.js.map → value-typography-uAmWUAL1.js.map} +1 -1
  469. package/dist/workspace-DHeHv0qw.js +411 -0
  470. package/dist/workspace-DHeHv0qw.js.map +1 -0
  471. package/docs/consumer-skill/SKILL.md +15 -129
  472. package/docs/consumer-skill/agents/themelia-ui-designer.md +96 -0
  473. package/docs/consumer-skill/examples/app-layout.tsx +74 -13
  474. package/docs/consumer-skill/examples/authentication.tsx +77 -0
  475. package/docs/consumer-skill/examples/commerce-lines.tsx +271 -0
  476. package/docs/consumer-skill/examples/custom-composition.tsx +21 -0
  477. package/docs/consumer-skill/examples/detail.tsx +5 -4
  478. package/docs/consumer-skill/examples/edit.tsx +30 -38
  479. package/docs/consumer-skill/examples/editable-sections.tsx +38 -0
  480. package/docs/consumer-skill/examples/index-table.tsx +4 -4
  481. package/docs/consumer-skill/examples/manifest.json +88 -1
  482. package/docs/consumer-skill/examples/product-media.tsx +41 -0
  483. package/docs/consumer-skill/examples/product-parts.tsx +81 -0
  484. package/docs/consumer-skill/examples/rhf-bindings.tsx +86 -0
  485. package/docs/consumer-skill/examples/rhf-edit-page.tsx +141 -0
  486. package/docs/consumer-skill/examples/rhf-overlay-form.tsx +105 -0
  487. package/docs/consumer-skill/examples/rhf-transport.tsx +28 -0
  488. package/docs/consumer-skill/examples/token-domain-structure.tsx +68 -0
  489. package/docs/consumer-skill/references/agents-md.md +23 -11
  490. package/docs/consumer-skill/references/analytics.md +18 -1
  491. package/docs/consumer-skill/references/authentication.md +42 -0
  492. package/docs/consumer-skill/references/commerce-composition.md +97 -0
  493. package/docs/consumer-skill/references/component-contracts.json +325201 -0
  494. package/docs/consumer-skill/references/composition-mapping.md +106 -0
  495. package/docs/consumer-skill/references/composition.md +198 -46
  496. package/docs/consumer-skill/references/critique-rubric.md +98 -0
  497. package/docs/consumer-skill/references/custom-composition.md +261 -0
  498. package/docs/consumer-skill/references/data-reading.md +79 -0
  499. package/docs/consumer-skill/references/design-contract.md +43 -9
  500. package/docs/consumer-skill/references/discovery.md +109 -8
  501. package/docs/consumer-skill/references/domain-structures.md +124 -0
  502. package/docs/consumer-skill/references/installation.md +51 -36
  503. package/docs/consumer-skill/references/integration.md +41 -2
  504. package/docs/consumer-skill/references/product-composition.md +94 -0
  505. package/docs/consumer-skill/references/public-api.json +4390 -475
  506. package/docs/consumer-skill/references/review.md +47 -5
  507. package/docs/consumer-skill/references/rhf-workflows.md +93 -0
  508. package/docs/consumer-skill/references/screen-archetypes.md +34 -0
  509. package/docs/consumer-skill/references/screen-decisions.md +126 -0
  510. package/docs/consumer-skill/references/theming.md +25 -27
  511. package/docs/consumer-skill/references/tokens.json +20 -11
  512. package/docs/consumer-skill/references/view-craft.md +153 -0
  513. package/docs/consumer-skill/references/view-spec.md +73 -0
  514. package/docs/consumer-skill/references/workflows.md +9 -2
  515. package/docs/consumer-skill/scripts/composition-policy.mjs +39 -3
  516. package/docs/consumer-skill/scripts/composition-schema.d.mts +2 -0
  517. package/docs/consumer-skill/scripts/composition-schema.mjs +32 -0
  518. package/docs/consumer-skill/scripts/composition.mjs +254 -0
  519. package/docs/consumer-skill/scripts/discovery.mjs +96 -10
  520. package/docs/consumer-skill/scripts/inspect-component.mjs +11 -0
  521. package/docs/consumer-skill/scripts/inspect-tokens.mjs +11 -0
  522. package/docs/consumer-skill/scripts/inspection.mjs +193 -0
  523. package/docs/consumer-skill/scripts/map-composition.mjs +12 -0
  524. package/docs/consumer-skill/scripts/setup-skills.mjs +111 -0
  525. package/docs/consumer-skill/scripts/surface-policy.mjs +5 -5
  526. package/docs/consumer-skills/themelia-components/SKILL.md +31 -0
  527. package/docs/consumer-skills/themelia-composition/SKILL.md +34 -0
  528. package/docs/consumer-skills/themelia-design/SKILL.md +55 -0
  529. package/docs/consumer-skills/themelia-forms/SKILL.md +12 -0
  530. package/docs/consumer-skills/themelia-foundation/SKILL.md +15 -0
  531. package/docs/consumer-skills/themelia-tokenization/SKILL.md +42 -0
  532. package/package.json +4 -2
  533. package/templates/README.md +39 -0
  534. package/templates/admin-shell-template.tsx +382 -0
  535. package/templates/analytics-operations-template.tsx +376 -0
  536. package/templates/customers-template.tsx +509 -0
  537. package/templates/index.ts +29 -0
  538. package/templates/orders-template.tsx +1102 -0
  539. package/templates/products-template.tsx +834 -0
  540. package/templates/user-permissions-template.tsx +450 -0
  541. package/dist/accordion-Cjb6sx0G.js.map +0 -1
  542. package/dist/action-menu-CllU52Mm.js +0 -280
  543. package/dist/action-menu-CllU52Mm.js.map +0 -1
  544. package/dist/affordance-geometry.generated-tF36bREk.js.map +0 -1
  545. package/dist/ai-artifact-DvTwDVyL.js.map +0 -1
  546. package/dist/app-shell-C4FhvCqF.js +0 -236
  547. package/dist/app-shell-C4FhvCqF.js.map +0 -1
  548. package/dist/auth-BGua8ouh.js.map +0 -1
  549. package/dist/avatar-DAPlDvhJ.js.map +0 -1
  550. package/dist/base/cascader.js.map +0 -1
  551. package/dist/batch-action-bar-DnUJ21NQ.js.map +0 -1
  552. package/dist/button-DVzspB_G.js.map +0 -1
  553. package/dist/buttons-DPZekJFu.js.map +0 -1
  554. package/dist/cards-BaBZR-AU.js +0 -68
  555. package/dist/cards-BaBZR-AU.js.map +0 -1
  556. package/dist/chart-ZOYyK2xG.js +0 -155
  557. package/dist/chart-ZOYyK2xG.js.map +0 -1
  558. package/dist/checkbox-AWIhNhmo.js.map +0 -1
  559. package/dist/choice-inputs-CNHvARCJ.js +0 -770
  560. package/dist/choice-inputs-CNHvARCJ.js.map +0 -1
  561. package/dist/code-block-DeneBJR_.js.map +0 -1
  562. package/dist/combobox-DaHESuiL.js +0 -355
  563. package/dist/combobox-DaHESuiL.js.map +0 -1
  564. package/dist/combobox-Dxo2fAYQ.js.map +0 -1
  565. package/dist/command-C25VMRII.js.map +0 -1
  566. package/dist/comments-DD0DUPwJ.js.map +0 -1
  567. package/dist/containers-Mu1LMGV1.js +0 -103
  568. package/dist/containers-Mu1LMGV1.js.map +0 -1
  569. package/dist/control-group-recipes-DBXmfh2E.js.map +0 -1
  570. package/dist/data-display-DT_khPl_.js.map +0 -1
  571. package/dist/date-picker-B2K3ucWn.js.map +0 -1
  572. package/dist/date-pickers-Ds8gLaoP.js +0 -175
  573. package/dist/date-pickers-Ds8gLaoP.js.map +0 -1
  574. package/dist/dropdown-menu-Cl4X7L5S.js +0 -193
  575. package/dist/dropdown-menu-Cl4X7L5S.js.map +0 -1
  576. package/dist/feedback-BYIhtitP.js.map +0 -1
  577. package/dist/field-affordance-recipes-DZhnIL_Y.js.map +0 -1
  578. package/dist/filters-DJVAveHA.js.map +0 -1
  579. package/dist/form-field-CwH9y77i.js.map +0 -1
  580. package/dist/form-sizing-BdP_Mf5p.js.map +0 -1
  581. package/dist/forms-B9G_xwzi.js +0 -194
  582. package/dist/forms-B9G_xwzi.js.map +0 -1
  583. package/dist/forms-numeric-B_jraJaQ.js.map +0 -1
  584. package/dist/header-BSfIEWbI.js.map +0 -1
  585. package/dist/hooks-ClH9thn4.js.map +0 -1
  586. package/dist/input-CZw8iU99.js +0 -21
  587. package/dist/input-CZw8iU99.js.map +0 -1
  588. package/dist/input-DQdEd0YD.js +0 -263
  589. package/dist/input-DQdEd0YD.js.map +0 -1
  590. package/dist/item-K5_ghvze.js +0 -275
  591. package/dist/item-K5_ghvze.js.map +0 -1
  592. package/dist/message-DZ_ruyUV.js.map +0 -1
  593. package/dist/metadata-list-8N16ZMW_.js +0 -405
  594. package/dist/metadata-list-8N16ZMW_.js.map +0 -1
  595. package/dist/motion-recipes-ChBg4HBq.js.map +0 -1
  596. package/dist/navigation-Bnotn4AQ.js +0 -145
  597. package/dist/navigation-Bnotn4AQ.js.map +0 -1
  598. package/dist/navigation-BzhHI3lo.js.map +0 -1
  599. package/dist/navigation-row-recipes-BFLCk_Aq.js.map +0 -1
  600. package/dist/overflow-tab-bar-CWY7Nogn.js +0 -282
  601. package/dist/overflow-tab-bar-CWY7Nogn.js.map +0 -1
  602. package/dist/overlays-tMkF-VAN.js +0 -1003
  603. package/dist/overlays-tMkF-VAN.js.map +0 -1
  604. package/dist/page-CL9YeH_V.js +0 -224
  605. package/dist/page-CL9YeH_V.js.map +0 -1
  606. package/dist/page-header-commands-DOb6WsfD.js +0 -126
  607. package/dist/page-header-commands-DOb6WsfD.js.map +0 -1
  608. package/dist/popover-gnTOhbFM.js +0 -198
  609. package/dist/popover-gnTOhbFM.js.map +0 -1
  610. package/dist/popover.recipes-D3j8R8Yp.js.map +0 -1
  611. package/dist/receipt-BVSOH3Xo.js.map +0 -1
  612. package/dist/rich-text-editor-cRLC-eBK.js.map +0 -1
  613. package/dist/rich-text-editor-toolbar-DfXg0-VC.js.map +0 -1
  614. package/dist/settings-ybnjVwbd.js +0 -171
  615. package/dist/settings-ybnjVwbd.js.map +0 -1
  616. package/dist/sheet-ijlsjq-n.js +0 -213
  617. package/dist/sheet-ijlsjq-n.js.map +0 -1
  618. package/dist/sidebar-Db6gkh3U.js +0 -619
  619. package/dist/sidebar-Db6gkh3U.js.map +0 -1
  620. package/dist/sidebar-DkTO4VTO.js +0 -512
  621. package/dist/sidebar-DkTO4VTO.js.map +0 -1
  622. package/dist/skeleton-Byjnt7qr.js +0 -264
  623. package/dist/skeleton-Byjnt7qr.js.map +0 -1
  624. package/dist/smart-card-DiC5aac3.js +0 -604
  625. package/dist/smart-card-DiC5aac3.js.map +0 -1
  626. package/dist/table-BweFy_P9.js.map +0 -1
  627. package/dist/tabs-CDocW5D1.js.map +0 -1
  628. package/dist/text-inputs-f9Ia-aCi.js.map +0 -1
  629. package/dist/text.styles-g4He6UIW.js.map +0 -1
  630. package/dist/theme-scope-BJ6eE2xt.js +0 -50
  631. package/dist/theme-scope-BJ6eE2xt.js.map +0 -1
  632. package/dist/timelines-CwM_9IhD.js.map +0 -1
  633. package/dist/tooltip-yiRJUFjp.js +0 -111
  634. package/dist/tooltip-yiRJUFjp.js.map +0 -1
  635. package/dist/typography-UTnveOEy.js +0 -117
  636. package/dist/typography-UTnveOEy.js.map +0 -1
  637. package/dist/ui-provider-C_U0Xma4.js +0 -136
  638. package/dist/ui-provider-C_U0Xma4.js.map +0 -1
  639. package/dist/upload-CXyxmQBP.js.map +0 -1
  640. package/dist/upload-queue-Boscubn9.js.map +0 -1
  641. package/dist/usage-card-BhO5eqkX.js.map +0 -1
  642. package/dist/use-mobile-vaLKwgyf.js +0 -15
  643. package/dist/use-mobile-vaLKwgyf.js.map +0 -1
  644. package/dist/utils-BRhFDwuU.js.map +0 -1
  645. package/dist/value-inputs-TaX4OjNk.js +0 -963
  646. package/dist/value-inputs-TaX4OjNk.js.map +0 -1
  647. package/dist/workspace-B-OEm3Kf.js +0 -408
  648. package/dist/workspace-B-OEm3Kf.js.map +0 -1
@@ -1,23 +1,22 @@
1
1
  "use client";
2
2
  import { interpolateString as e, useStrings as t } from "./lib/strings.js";
3
- import { t as n } from "./utils-BRhFDwuU.js";
4
- import { n as r } from "./buttons-DPZekJFu.js";
5
- import { c as i } from "./typography-UTnveOEy.js";
6
- import { t as a } from "./structure-BmisBK-3.js";
3
+ import { t as n } from "./utils-B6kKb8jB.js";
4
+ import { n as r } from "./buttons-BedGfygC.js";
5
+ import { c as i } from "./typography-BQnine1k.js";
6
+ import { t as a } from "./structure-DuxKl954.js";
7
7
  import { n as o } from "./safe-image-src-C6kQSMBZ.js";
8
- import { n as s } from "./content-typography-CnwgMJ37.js";
9
- import { g as c } from "./primitives-BFK08r9M.js";
10
- import { t as l } from "./number-DbV1Dija.js";
11
- import { t as u } from "./input-DQdEd0YD.js";
12
- import { t as d } from "./form-field-CwH9y77i.js";
13
- import { n as f, t as ee } from "./rich-text-editor-toolbar-DfXg0-VC.js";
8
+ import { g as s } from "./primitives-ByWgGUgt.js";
9
+ import { t as c } from "./number-CRU3kGuk.js";
10
+ import { t as l } from "./input-CvyDQlY7.js";
11
+ import { t as u } from "./form-field-BriWAXyg.js";
12
+ import { n as d, t as ee } from "./rich-text-editor-toolbar-laT3tpBT.js";
14
13
  import { t as te } from "./rich-text-editor.strings-CB59ekH2.js";
15
- import { forwardRef as p, useCallback as m, useEffect as h, useId as ne, useImperativeHandle as re, useMemo as g, useRef as _, useState as v } from "react";
16
- import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
17
- import { AlertCircle as ie, Bold as ae, ImagePlus as S, Italic as oe, List as se, ListOrdered as ce, Loader2 as le, Quote as ue, Redo2 as de, Strikethrough as fe, Undo2 as pe } from "lucide-react";
18
- import * as C from "@tiptap/react";
19
- import * as me from "@tiptap/starter-kit";
14
+ import { forwardRef as ne, useCallback as f, useEffect as p, useId as re, useImperativeHandle as ie, useMemo as m, useRef as h, useState as g } from "react";
15
+ import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
16
+ import { AlertCircle as ae, Bold as oe, ImagePlus as b, Italic as se, List as ce, ListOrdered as le, Loader2 as ue, Quote as de, Redo2 as fe, Strikethrough as pe, Undo2 as me } from "lucide-react";
20
17
  import { createPortal as he } from "react-dom";
18
+ import * as x from "@tiptap/react";
19
+ import * as S from "@tiptap/starter-kit";
21
20
  //#region src/components/features/rich-text-editor/partials/caret-helpers.ts
22
21
  function ge() {
23
22
  if (typeof window > "u") return null;
@@ -71,7 +70,7 @@ function _e(e, t, n, r) {
71
70
  let e = Math.min(c, o);
72
71
  if (c -= e, o -= e, o === 0) break;
73
72
  }
74
- let e = w(s);
73
+ let e = C(s);
75
74
  if (!e) break;
76
75
  s = e, c = e.textContent?.length ?? 0;
77
76
  }
@@ -99,7 +98,7 @@ function ve(e, t) {
99
98
  let i = document.createRange().createContextualFragment(t);
100
99
  r.insertNode(i), r.collapse(!1), n.removeAllRanges(), n.addRange(r);
101
100
  }
102
- function w(e) {
101
+ function C(e) {
103
102
  let t = e;
104
103
  for (; t;) {
105
104
  if (t.previousSibling) {
@@ -113,24 +112,24 @@ function w(e) {
113
112
  }
114
113
  //#endregion
115
114
  //#region src/components/features/rich-text-editor/partials/counts-footer.tsx
116
- function T({ text: e, maxLength: t, strings: r, className: a }) {
117
- let o = e.length, s = e.trim().length > 0 ? e.trim().split(/\s+/).length : 0, u = typeof t == "number" && o > t;
118
- return /* @__PURE__ */ x("div", {
119
- className: n("counts-footer-text--component border-border flex items-center justify-end gap-space-lg border-t px-control py-space-sm", a),
120
- children: [/* @__PURE__ */ x(i, {
115
+ function w({ text: e, maxLength: t, strings: r, className: a }) {
116
+ let o = e.length, l = e.trim().length > 0 ? e.trim().split(/\s+/).length : 0, u = typeof t == "number" && o > t;
117
+ return /* @__PURE__ */ y("div", {
118
+ className: n("counts-footer-text--component border-border flex items-center justify-end gap-space-lg border-t px-surface-xs py-space-sm", a),
119
+ children: [/* @__PURE__ */ y(i, {
121
120
  tag: "span",
122
121
  size: "xs",
123
122
  type: u ? "error" : "secondary",
124
123
  weight: u ? "medium" : "regular",
125
124
  className: n("tabular-nums"),
126
125
  children: [
127
- /* @__PURE__ */ b(l, {
126
+ /* @__PURE__ */ v(c, {
128
127
  value: o,
129
128
  size: "xs",
130
129
  type: u ? "error" : "secondary",
131
130
  align: "left"
132
131
  }),
133
- typeof t == "number" && /* @__PURE__ */ x(y, { children: [" / ", /* @__PURE__ */ b(l, {
132
+ typeof t == "number" && /* @__PURE__ */ y(_, { children: [" / ", /* @__PURE__ */ v(c, {
134
133
  value: t,
135
134
  size: "xs",
136
135
  type: u ? "error" : "secondary",
@@ -139,12 +138,12 @@ function T({ text: e, maxLength: t, strings: r, className: a }) {
139
138
  " ",
140
139
  r.counts.characters
141
140
  ]
142
- }), /* @__PURE__ */ x(c, {
141
+ }), /* @__PURE__ */ y(s, {
143
142
  size: "xs",
144
143
  className: "tabular-nums",
145
144
  children: [
146
- /* @__PURE__ */ b(l, {
147
- value: s,
145
+ /* @__PURE__ */ v(c, {
146
+ value: l,
148
147
  size: "xs",
149
148
  type: "secondary",
150
149
  align: "left"
@@ -155,43 +154,43 @@ function T({ text: e, maxLength: t, strings: r, className: a }) {
155
154
  })]
156
155
  });
157
156
  }
158
- T.displayName = "CountsFooterText";
159
- function E({ editor: e, sourceMode: t, sourceValue: n, maxLength: r, strings: i }) {
157
+ w.displayName = "CountsFooterText";
158
+ function T({ editor: e, sourceMode: t, sourceValue: n, maxLength: r, strings: i }) {
160
159
  let a = t ? n.replace(/<[^>]*>/g, "") : e?.getText() ?? "";
161
- return /* @__PURE__ */ b(T, {
160
+ return /* @__PURE__ */ v(w, {
162
161
  text: a,
163
162
  maxLength: r,
164
163
  strings: i
165
164
  });
166
165
  }
167
- E.displayName = "CountsFooter";
166
+ T.displayName = "CountsFooter";
168
167
  //#endregion
169
168
  //#region src/components/features/rich-text-editor/partials/html-helpers.ts
170
- function D(e) {
169
+ function E(e) {
171
170
  let t = e.trim();
172
171
  return t === "" || t === "<p></p>" || t === "<p><br></p>" ? "" : t;
173
172
  }
174
- function O(e) {
175
- let t = D(e);
173
+ function D(e) {
174
+ let t = E(e);
176
175
  return t === "" ? "<p></p>" : t;
177
176
  }
178
177
  //#endregion
179
178
  //#region src/components/features/rich-text-editor/partials/inline-reference-node.ts
180
- var k = "rsc-mention inline-reference--chip", A = "inlineReference";
181
- function j(e) {
179
+ var O = "rsc-mention inline-reference--chip", k = "inlineReference";
180
+ function A(e) {
182
181
  return ({ editor: t }) => t.commands.command(({ tr: t, state: n }) => {
183
182
  let { selection: r } = n;
184
183
  if (!r.empty) return !1;
185
184
  let { $from: i } = r, a = e === "backward" ? i.nodeBefore : i.nodeAfter;
186
- if (a?.type.name !== A) return !1;
185
+ if (a?.type.name !== k) return !1;
187
186
  let o = e === "backward" ? i.pos - a.nodeSize : i.pos;
188
187
  return t.delete(o, o + a.nodeSize), !0;
189
188
  });
190
189
  }
191
- var M = null;
192
- function N() {
193
- return M ??= C.Node.create({
194
- name: A,
190
+ var j = null;
191
+ function M() {
192
+ return j ??= x.Node.create({
193
+ name: k,
195
194
  group: "inline",
196
195
  inline: !0,
197
196
  atom: !0,
@@ -227,7 +226,7 @@ function N() {
227
226
  renderHTML({ node: e, HTMLAttributes: t }) {
228
227
  return [
229
228
  "span",
230
- C.mergeAttributes({
229
+ x.mergeAttributes({
231
230
  class: "rsc-mention",
232
231
  contenteditable: "false"
233
232
  }, t),
@@ -240,40 +239,40 @@ function N() {
240
239
  addNodeView() {
241
240
  return ({ node: e }) => {
242
241
  let t = document.createElement("span");
243
- return t.className = k, t.setAttribute("contenteditable", "false"), t.setAttribute("data-ref-id", String(e.attrs.id ?? "")), e.attrs.kind && t.setAttribute("data-ref-kind", String(e.attrs.kind)), e.attrs.tone && t.setAttribute("data-ref-tone", String(e.attrs.tone)), t.textContent = String(e.attrs.label ?? ""), { dom: t };
242
+ return t.className = O, t.setAttribute("contenteditable", "false"), t.setAttribute("data-ref-id", String(e.attrs.id ?? "")), e.attrs.kind && t.setAttribute("data-ref-kind", String(e.attrs.kind)), e.attrs.tone && t.setAttribute("data-ref-tone", String(e.attrs.tone)), t.textContent = String(e.attrs.label ?? ""), { dom: t };
244
243
  };
245
244
  },
246
245
  addKeyboardShortcuts() {
247
246
  return {
248
- Backspace: j("backward"),
249
- Delete: j("forward")
247
+ Backspace: A("backward"),
248
+ Delete: A("forward")
250
249
  };
251
250
  }
252
- }), M;
251
+ }), j;
253
252
  }
254
- var P = "data-rte-upload", ye = "rich-text-editor--upload my-space-xs flex min-h-control items-center rounded-inner border border-dashed border-input bg-muted/30 px-row-x py-row-y", F = RegExp(`<span[^>]*\\b${P}="[^"]*"[^>]*>[\\s\\S]*?</span>`, "g");
253
+ var N = "data-rte-upload", ye = "rich-text-editor--upload my-space-xs flex min-h-control items-center rounded-radius border border-dashed border-input bg-muted/30 px-row-x py-row-y", P = RegExp(`<span[^>]*\\b${N}="[^"]*"[^>]*>[\\s\\S]*?</span>`, "g");
255
254
  function be(e) {
256
- return e.includes("data-rte-upload") ? e.replace(F, "") : e;
255
+ return e.includes("data-rte-upload") ? e.replace(P, "") : e;
257
256
  }
258
- function I(e, t) {
257
+ function F(e, t) {
259
258
  let n = e.type.toLowerCase(), r = e.name.toLowerCase();
260
259
  return t.split(",").map((e) => e.trim().toLowerCase()).filter(Boolean).some((e) => e.startsWith(".") ? r.endsWith(e) : e.endsWith("/*") ? n.startsWith(e.slice(0, -1)) : n === e);
261
260
  }
262
- function L(e) {
261
+ function I(e) {
263
262
  return e.replace(/\.[^.]+$/, "").replace(/[-_]+/g, " ").trim();
264
263
  }
265
264
  function xe(e) {
266
265
  return Array.from(e?.files ?? []).filter((e) => e.type.startsWith("image/"));
267
266
  }
268
- var R = 0;
267
+ var L = 0;
269
268
  function Se(t, n, r) {
270
- let [i, a] = v([]), [s, c] = v(null), l = _(/* @__PURE__ */ new Map());
271
- h(() => () => {
269
+ let [i, a] = g([]), [s, c] = g(null), l = h(/* @__PURE__ */ new Map());
270
+ p(() => () => {
272
271
  for (let e of l.current.values()) e.controller?.abort();
273
272
  }, []);
274
- let u = m((e) => {
273
+ let u = f((e) => {
275
274
  l.current.get(e)?.controller?.abort(), l.current.delete(e), a((t) => t.filter((t) => t.id !== e));
276
- }, []), d = m(async (e) => {
275
+ }, []), d = f(async (e) => {
277
276
  let r = l.current.get(e);
278
277
  if (!r || !t) return;
279
278
  r.controller?.abort();
@@ -293,7 +292,7 @@ function Se(t, n, r) {
293
292
  let c = n.current?.findPlaceholder(e);
294
293
  u(e), c && n.current?.resolvePlaceholder(e, {
295
294
  src: s,
296
- alt: a.alt ?? L(r.file.name),
295
+ alt: a.alt ?? I(r.file.name),
297
296
  width: a.width,
298
297
  height: a.height
299
298
  });
@@ -313,18 +312,18 @@ function Se(t, n, r) {
313
312
  uploads: i,
314
313
  notice: s,
315
314
  dismissNotice: () => c(null),
316
- addFiles: m((i) => {
315
+ addFiles: f((i) => {
317
316
  if (!t) return;
318
317
  let a = t.accept ?? "image/png,image/jpeg,image/gif,image/webp", o = [];
319
318
  for (let s of i) {
320
- let i = I(s, a) ? t.maxSize && s.size > t.maxSize ? r.tooLarge : null : r.unsupported;
319
+ let i = F(s, a) ? t.maxSize && s.size > t.maxSize ? r.tooLarge : null : r.unsupported;
321
320
  if (i) {
322
321
  let n = e(i, { name: s.name });
323
322
  o.push(n), t.onError?.(Error(n), s);
324
323
  continue;
325
324
  }
326
- R += 1;
327
- let c = `upload-${R}`;
325
+ L += 1;
326
+ let c = `upload-${L}`;
328
327
  l.current.set(c, { file: s }), n.current?.insertPlaceholder(c), d(c);
329
328
  }
330
329
  c(o.length > 0 ? o.join(" ") : null);
@@ -335,20 +334,20 @@ function Se(t, n, r) {
335
334
  r.tooLarge,
336
335
  r.unsupported
337
336
  ]),
338
- retry: m((e) => {
337
+ retry: f((e) => {
339
338
  d(e);
340
339
  }, [d]),
341
- remove: m((e) => {
340
+ remove: f((e) => {
342
341
  u(e), n.current?.removePlaceholder(e);
343
342
  }, [n, u]),
344
- prune: m(() => {
343
+ prune: f(() => {
345
344
  for (let e of Array.from(l.current.keys())) n.current?.findPlaceholder(e) || u(e);
346
345
  }, [n, u])
347
346
  };
348
347
  }
349
- function z({ upload: t, strings: n, onRetry: o, onRemove: s }) {
348
+ function R({ upload: t, strings: n, onRetry: o, onRemove: s }) {
350
349
  let c = t.status === "error";
351
- return /* @__PURE__ */ x(a, {
350
+ return /* @__PURE__ */ y(a, {
352
351
  direction: "horizontal",
353
352
  align: "center",
354
353
  gap: "sm",
@@ -356,14 +355,14 @@ function z({ upload: t, strings: n, onRetry: o, onRemove: s }) {
356
355
  className: "rich-text-editor--upload-status w-full min-w-0",
357
356
  "data-status": t.status,
358
357
  children: [
359
- c ? /* @__PURE__ */ b(ie, {
358
+ c ? /* @__PURE__ */ v(ae, {
360
359
  className: "size-icon shrink-0 text-destructive",
361
360
  "aria-hidden": "true"
362
- }) : /* @__PURE__ */ b(le, {
361
+ }) : /* @__PURE__ */ v(ue, {
363
362
  className: "size-icon shrink-0 animate-spin text-muted-foreground motion-reduce:animate-none",
364
363
  "aria-hidden": "true"
365
364
  }),
366
- /* @__PURE__ */ b(i, {
365
+ /* @__PURE__ */ v(i, {
367
366
  tag: "span",
368
367
  size: "xs",
369
368
  type: c ? "error" : "secondary",
@@ -371,13 +370,13 @@ function z({ upload: t, strings: n, onRetry: o, onRemove: s }) {
371
370
  className: "min-w-0 flex-1 basis-40 break-words",
372
371
  children: e(c ? n.failed : n.uploading, { name: t.name })
373
372
  }),
374
- c && /* @__PURE__ */ b(r, {
373
+ c && /* @__PURE__ */ v(r, {
375
374
  type: "button",
376
375
  size: "sm",
377
376
  onClick: o,
378
377
  children: n.retry
379
378
  }),
380
- /* @__PURE__ */ b(r, {
379
+ /* @__PURE__ */ v(r, {
381
380
  type: "button",
382
381
  size: "sm",
383
382
  buttonStyle: "ghost",
@@ -388,9 +387,9 @@ function z({ upload: t, strings: n, onRetry: o, onRemove: s }) {
388
387
  });
389
388
  }
390
389
  function Ce({ queue: e, adapterRef: t, strings: n }) {
391
- return /* @__PURE__ */ b(y, { children: e.uploads.map((r) => {
390
+ return /* @__PURE__ */ v(_, { children: e.uploads.map((r) => {
392
391
  let i = t.current?.findPlaceholder(r.id);
393
- return i ? he(/* @__PURE__ */ b(z, {
392
+ return i ? he(/* @__PURE__ */ v(R, {
394
393
  upload: r,
395
394
  strings: n,
396
395
  onRetry: () => e.retry(r.id),
@@ -399,20 +398,20 @@ function Ce({ queue: e, adapterRef: t, strings: n }) {
399
398
  }) });
400
399
  }
401
400
  function we(e, t, n, r) {
402
- let i = _(null), a = _(r);
401
+ let i = h(null), a = h(r);
403
402
  a.current = r;
404
403
  let o = !!e;
405
404
  return {
406
- item: g(() => o ? {
405
+ item: m(() => o ? {
407
406
  id: "insert-image",
408
- icon: S,
407
+ icon: b,
409
408
  label: t.insert,
410
409
  toggle: !1,
411
410
  onClick: () => {
412
411
  a.current?.(), i.current?.click();
413
412
  }
414
413
  } : null, [o, t.insert]),
415
- input: e ? /* @__PURE__ */ b("input", {
414
+ input: e ? /* @__PURE__ */ v("input", {
416
415
  ref: i,
417
416
  type: "file",
418
417
  accept: e.accept ?? "image/png,image/jpeg,image/gif,image/webp",
@@ -428,43 +427,43 @@ function we(e, t, n, r) {
428
427
  };
429
428
  }
430
429
  function Te({ alt: e, onAltChange: t, onRemove: n, notice: o, onDismissNotice: s, strings: c }) {
431
- let l = ne();
432
- return e === null && !o ? null : /* @__PURE__ */ x(a, {
430
+ let d = re();
431
+ return e === null && !o ? null : /* @__PURE__ */ y(a, {
433
432
  gap: "sm",
434
- className: "rich-text-editor--image-details border-t border-border/60 px-control py-space-sm",
435
- children: [!!o && /* @__PURE__ */ x(a, {
433
+ className: "rich-text-editor--image-details border-t border-border/60 px-surface-xs py-space-sm",
434
+ children: [!!o && /* @__PURE__ */ y(a, {
436
435
  direction: "horizontal",
437
436
  align: "center",
438
437
  gap: "sm",
439
- children: [/* @__PURE__ */ b(i, {
438
+ children: [/* @__PURE__ */ v(i, {
440
439
  tag: "span",
441
440
  size: "xs",
442
441
  type: "error",
443
442
  role: "alert",
444
443
  className: "min-w-0 flex-1",
445
444
  children: o
446
- }), /* @__PURE__ */ b(r, {
445
+ }), /* @__PURE__ */ v(r, {
447
446
  type: "button",
448
447
  size: "sm",
449
448
  buttonStyle: "ghost",
450
449
  onClick: s,
451
450
  children: c.remove
452
451
  })]
453
- }), e !== null && /* @__PURE__ */ b(d, {
452
+ }), e !== null && /* @__PURE__ */ v(u, {
454
453
  label: c.descriptionLabel,
455
454
  hint: c.descriptionHint,
456
- htmlFor: l,
457
- children: /* @__PURE__ */ b(y, { children: /* @__PURE__ */ x(a, {
455
+ htmlFor: d,
456
+ children: /* @__PURE__ */ v(_, { children: /* @__PURE__ */ y(a, {
458
457
  direction: "horizontal",
459
458
  align: "center",
460
459
  gap: "sm",
461
460
  wrap: !1,
462
- children: [/* @__PURE__ */ b(u, {
463
- id: l,
461
+ children: [/* @__PURE__ */ v(l, {
462
+ id: d,
464
463
  value: e,
465
464
  className: "min-w-0 flex-1",
466
465
  onChange: (e) => t(e.target.value)
467
- }), /* @__PURE__ */ b(r, {
466
+ }), /* @__PURE__ */ v(r, {
468
467
  type: "button",
469
468
  buttonStyle: "outline",
470
469
  onClick: n,
@@ -476,13 +475,13 @@ function Te({ alt: e, onAltChange: t, onRemove: n, notice: o, onDismissNotice: s
476
475
  }
477
476
  //#endregion
478
477
  //#region src/components/features/rich-text-editor/partials/image-nodes.ts
479
- function B(e) {
478
+ function z(e) {
480
479
  let t = Number(e);
481
480
  return Number.isFinite(t) && t > 0 ? t : null;
482
481
  }
483
- var V = null, H = null;
484
- function U() {
485
- return V ??= C.Node.create({
482
+ var B = null, V = null;
483
+ function H() {
484
+ return B ??= x.Node.create({
486
485
  name: "image",
487
486
  group: "inline",
488
487
  inline: !0,
@@ -502,11 +501,11 @@ function U() {
502
501
  title: { default: null },
503
502
  width: {
504
503
  default: null,
505
- parseHTML: (e) => B(e.getAttribute("width"))
504
+ parseHTML: (e) => z(e.getAttribute("width"))
506
505
  },
507
506
  height: {
508
507
  default: null,
509
- parseHTML: (e) => B(e.getAttribute("height"))
508
+ parseHTML: (e) => z(e.getAttribute("height"))
510
509
  }
511
510
  };
512
511
  },
@@ -518,12 +517,12 @@ function U() {
518
517
  },
519
518
  renderHTML({ HTMLAttributes: e }) {
520
519
  let t = o(e.src);
521
- return ["img", C.mergeAttributes(e, { src: t ?? null })];
520
+ return ["img", x.mergeAttributes(e, { src: t ?? null })];
522
521
  }
523
- }), V;
522
+ }), B;
524
523
  }
525
- function W() {
526
- return H ??= C.Node.create({
524
+ function U() {
525
+ return V ??= x.Node.create({
527
526
  name: "imageUpload",
528
527
  group: "inline",
529
528
  inline: !0,
@@ -536,150 +535,150 @@ function W() {
536
535
  return [];
537
536
  },
538
537
  renderHTML({ node: e }) {
539
- return ["span", { [P]: e.attrs.id }];
538
+ return ["span", { [N]: e.attrs.id }];
540
539
  },
541
540
  addNodeView() {
542
541
  return ({ node: e }) => {
543
542
  let t = document.createElement("span");
544
- return t.setAttribute(P, String(e.attrs.id)), t.setAttribute("contenteditable", "false"), t.className = ye, {
543
+ return t.setAttribute(N, String(e.attrs.id)), t.setAttribute("contenteditable", "false"), t.className = ye, {
545
544
  dom: t,
546
545
  ignoreMutation: () => !0,
547
546
  stopEvent: () => !0
548
547
  };
549
548
  };
550
549
  }
551
- }), H;
550
+ }), V;
552
551
  }
553
552
  //#endregion
554
553
  //#region src/components/features/rich-text-editor/partials/rich-text-editor-tiptap.tsx
555
- function G(e) {
556
- return D(be(e?.getHTML() ?? ""));
554
+ function W(e) {
555
+ return E(be(e?.getHTML() ?? ""));
557
556
  }
558
- var K = C.EditorContent, q = C.useEditor, J = "default" in me ? me.default : me, Y = p(function({ value: e, onValueChange: r, placeholder: a, compact: o = !1, bodyHeight: c, minHeight: l, maxHeight: u, disabled: d = !1, showCounts: p = !1, maxLength: ne, extraToolbarItems: y, toolbarTrailing: ie, footerSlot: S, hideSourceToggle: le = !1, autoFocus: C = !1, className: me, onCaretChange: he, strings: ve, images: w }, T) {
559
- let k = t(te, ve), A = !!w, j = _(null), M = _(null), [P, ye] = v(!1), [F, be] = v(!1), [I, L] = v(""), R = _(!1), z = _(D(e)), B = _(he);
560
- B.current = he;
561
- let V = q({
562
- extensions: g(() => [
563
- J,
564
- N(),
565
- ...A ? [U(), W()] : []
566
- ], [A]),
567
- content: O(e),
568
- editable: !d,
557
+ var G = x.EditorContent, K = x.useEditor, q = "default" in S ? S.default : S, J = ne(function({ value: e, onValueChange: r, placeholder: a, compact: o = !1, bodyHeight: s, minHeight: c, maxHeight: l, disabled: u = !1, showCounts: ne = !1, maxLength: re, extraToolbarItems: _, toolbarTrailing: ae, footerSlot: b, hideSourceToggle: ue = !1, autoFocus: he = !1, className: x, onCaretChange: S, strings: ve, images: C }, w) {
558
+ let O = t(te, ve), k = !!C, A = h(null), j = h(null), [N, ye] = g(!1), [P, be] = g(!1), [F, I] = g(""), L = h(!1), R = h(E(e)), z = h(S);
559
+ z.current = S;
560
+ let B = K({
561
+ extensions: m(() => [
562
+ q,
563
+ M(),
564
+ ...k ? [H(), U()] : []
565
+ ], [k]),
566
+ content: D(e),
567
+ editable: !u,
569
568
  immediatelyRender: !1,
570
- autofocus: C ? "end" : !1,
569
+ autofocus: he ? "end" : !1,
571
570
  onFocus: () => {
572
- R.current = !0, ye(!0);
571
+ L.current = !0, ye(!0);
573
572
  },
574
573
  onBlur: () => {
575
- R.current = !1, ye(!1);
574
+ L.current = !1, ye(!1);
576
575
  },
577
576
  onUpdate: ({ editor: e }) => {
578
- j.current?.prune();
579
- let t = G(e);
580
- R.current && (t !== z.current && (z.current = t, r(t)), B.current?.());
577
+ A.current?.prune();
578
+ let t = W(e);
579
+ L.current && (t !== R.current && (R.current = t, r(t)), z.current?.());
581
580
  },
582
581
  editorProps: {
583
582
  handlePaste: (e, t) => {
584
583
  let n = xe(t.clipboardData);
585
- return !j.current || !H.current || n.length === 0 ? !1 : (j.current.addFiles(n), !0);
584
+ return !A.current || !V.current || n.length === 0 ? !1 : (A.current.addFiles(n), !0);
586
585
  },
587
586
  handleDrop: (e, t, n, r) => {
588
587
  let i = xe(t.dataTransfer);
589
- if (r || !j.current || !H.current || i.length === 0) return !1;
588
+ if (r || !A.current || !V.current || i.length === 0) return !1;
590
589
  let a = e.posAtCoords({
591
590
  left: t.clientX,
592
591
  top: t.clientY
593
592
  });
594
- return a && M.current?.commands.setTextSelection(a.pos), j.current.addFiles(i), !0;
593
+ return a && j.current?.commands.setTextSelection(a.pos), A.current.addFiles(i), !0;
595
594
  },
596
595
  attributes: {
597
596
  role: "textbox",
598
- "aria-label": k.editorLabel,
597
+ "aria-label": O.editorLabel,
599
598
  "aria-multiline": "true",
600
- class: s
599
+ class: d.editable
601
600
  }
602
601
  }
603
- }, [A]);
604
- h(() => {
605
- if (!V) return;
606
- let t = G(V), n = D(e);
607
- z.current = n, t !== n && V.commands.setContent(O(n), { emitUpdate: !1 });
608
- }, [V, e]), h(() => {
609
- V && V.setEditable(!d);
610
- }, [d, V]), h(() => {
602
+ }, [k]);
603
+ p(() => {
604
+ if (!B) return;
605
+ let t = W(B), n = E(e);
606
+ R.current = n, t !== n && B.commands.setContent(D(n), { emitUpdate: !1 });
607
+ }, [B, e]), p(() => {
608
+ B && B.setEditable(!u);
609
+ }, [u, B]), p(() => {
611
610
  if (typeof document > "u") return;
612
611
  let e = () => {
613
- R.current && B.current?.();
612
+ L.current && z.current?.();
614
613
  };
615
614
  return document.addEventListener("selectionchange", e), () => document.removeEventListener("selectionchange", e);
616
- }, []), re(T, () => ({
615
+ }, []), ie(w, () => ({
617
616
  focus: () => {
618
- V?.chain().focus().run();
617
+ B?.chain().focus().run();
619
618
  },
620
- getHTML: () => G(V),
619
+ getHTML: () => W(B),
621
620
  setHTML: (e) => {
622
- let t = D(e);
623
- z.current = t, V?.commands.setContent(O(t), { emitUpdate: !1 }), r(t);
621
+ let t = E(e);
622
+ R.current = t, B?.commands.setContent(D(t), { emitUpdate: !1 }), r(t);
624
623
  },
625
624
  insertHTML: (e) => {
626
- V && V.chain().focus().insertContent(e).run();
625
+ B && B.chain().focus().insertContent(e).run();
627
626
  },
628
- isEmpty: () => G(V) === "",
627
+ isEmpty: () => W(B) === "",
629
628
  clear: () => {
630
- z.current = "", V?.commands.setContent("<p></p>", { emitUpdate: !1 }), r("");
629
+ R.current = "", B?.commands.setContent("<p></p>", { emitUpdate: !1 }), r("");
631
630
  },
632
631
  getCaretContext: () => ge(),
633
632
  replaceBeforeCaret: (e, t) => {
634
- _e(V, e, t, (e) => {
635
- z.current = D(e), r(z.current);
633
+ _e(B, e, t, (e) => {
634
+ R.current = E(e), r(R.current);
636
635
  });
637
636
  }
638
- }), [V, r]), M.current = V ?? null;
639
- let H = _(w);
640
- H.current = w;
641
- let Y = m(() => {
642
- if (!V) return;
643
- let e = G(V);
644
- e !== z.current && (z.current = e, r(e));
645
- }, [V, r]), Ee = m((e) => {
637
+ }), [B, r]), j.current = B ?? null;
638
+ let V = h(C);
639
+ V.current = C;
640
+ let J = f(() => {
641
+ if (!B) return;
642
+ let e = W(B);
643
+ e !== R.current && (R.current = e, r(e));
644
+ }, [B, r]), Ee = f((e) => {
646
645
  let t = null;
647
- return V?.state.doc.descendants((n, r) => (!t && e(n) && (t = {
646
+ return B?.state.doc.descendants((n, r) => (!t && e(n) && (t = {
648
647
  pos: r,
649
648
  node: n
650
649
  }), !t)), t;
651
- }, [V]), X = _(null);
652
- X.current = V ? {
650
+ }, [B]), Y = h(null);
651
+ Y.current = B ? {
653
652
  insertPlaceholder: (e) => {
654
- V.chain().focus().insertContent({
653
+ B.chain().focus().insertContent({
655
654
  type: "imageUpload",
656
655
  attrs: { id: e }
657
656
  }).run();
658
657
  },
659
- findPlaceholder: (e) => V.view.dom.querySelector(`[data-rte-upload="${e}"]`),
658
+ findPlaceholder: (e) => B.view.dom.querySelector(`[data-rte-upload="${e}"]`),
660
659
  resolvePlaceholder: (e, t) => {
661
660
  let n = Ee((t) => t.type.name === "imageUpload" && t.attrs.id === e);
662
661
  if (!n) return;
663
- let r = V.schema.nodes.image.create({
662
+ let r = B.schema.nodes.image.create({
664
663
  src: t.src,
665
664
  alt: t.alt ?? "",
666
665
  width: t.width ?? null,
667
666
  height: t.height ?? null
668
667
  });
669
- V.view.dispatch(V.state.tr.replaceWith(n.pos, n.pos + n.node.nodeSize, r)), Y();
668
+ B.view.dispatch(B.state.tr.replaceWith(n.pos, n.pos + n.node.nodeSize, r)), J();
670
669
  },
671
670
  removePlaceholder: (e) => {
672
671
  let t = Ee((t) => t.type.name === "imageUpload" && t.attrs.id === e);
673
- t && (V.view.dispatch(V.state.tr.delete(t.pos, t.pos + t.node.nodeSize)), Y());
672
+ t && (B.view.dispatch(B.state.tr.delete(t.pos, t.pos + t.node.nodeSize)), J());
674
673
  }
675
674
  } : null;
676
- let Z = Se(w, X, k.images);
677
- j.current = A ? Z : null;
678
- let De = we(w, k.images, Z.addFiles), Oe = g(() => De.item ? [De.item, ...y ?? []] : y, [y, De.item]), [Q, $] = v(null);
679
- h(() => {
680
- if (!V || !A) return;
675
+ let X = Se(C, Y, O.images);
676
+ A.current = k ? X : null;
677
+ let Z = we(C, O.images, X.addFiles), De = m(() => Z.item ? [Z.item, ..._ ?? []] : _, [_, Z.item]), [Q, $] = g(null);
678
+ p(() => {
679
+ if (!B || !k) return;
681
680
  let e = () => {
682
- let e = V.state.selection, t = null;
681
+ let e = B.state.selection, t = null;
683
682
  if (e.node?.type.name === "image") t = {
684
683
  pos: e.from,
685
684
  alt: String(e.node.attrs.alt ?? "")
@@ -696,194 +695,194 @@ var K = C.EditorContent, q = C.useEditor, J = "default" in me ? me.default : me,
696
695
  }
697
696
  $(t);
698
697
  };
699
- return V.on("selectionUpdate", e), V.on("update", e), () => {
700
- V.off("selectionUpdate", e), V.off("update", e);
698
+ return B.on("selectionUpdate", e), B.on("update", e), () => {
699
+ B.off("selectionUpdate", e), B.off("update", e);
701
700
  };
702
- }, [V, A]);
703
- let ke = f.bodyMinHeight[c ?? (o ? "control" : "document")], Ae = g(() => ({
704
- ...l ? { minHeight: l } : {},
705
- ...u ? {
706
- maxHeight: u,
701
+ }, [B, k]);
702
+ let Oe = d.bodyMinHeight[s ?? (o ? "control" : "document")], ke = m(() => ({
703
+ ...c ? { minHeight: c } : {},
704
+ ...l ? {
705
+ maxHeight: l,
707
706
  overflowY: "auto"
708
707
  } : {}
709
- }), [u, l]), je = m(() => {
710
- if (V) {
711
- if (F) {
712
- let e = O(I);
713
- V.commands.setContent(e, { emitUpdate: !1 });
714
- let t = D(I);
715
- z.current = t, r(t), be(!1);
716
- } else L(V.getHTML()), be(!0);
708
+ }), [l, c]), Ae = f(() => {
709
+ if (B) {
710
+ if (P) {
711
+ let e = D(F);
712
+ B.commands.setContent(e, { emitUpdate: !1 });
713
+ let t = E(F);
714
+ R.current = t, r(t), be(!1);
715
+ } else I(B.getHTML()), be(!0);
717
716
  }
718
717
  }, [
719
- V,
718
+ B,
720
719
  r,
721
- F,
722
- I
723
- ]), Me = m((e) => {
720
+ P,
721
+ F
722
+ ]), je = f((e) => {
724
723
  let t = e.target.value;
725
- L(t);
726
- let n = D(t);
727
- z.current = n, r(n);
728
- }, [r]), Ne = g(() => [
724
+ I(t);
725
+ let n = E(t);
726
+ R.current = n, r(n);
727
+ }, [r]), Me = m(() => [
729
728
  {
730
729
  id: "bold",
731
- icon: ae,
732
- label: k.toolbar.bold,
733
- isActive: () => !!V?.isActive("bold"),
730
+ icon: oe,
731
+ label: O.toolbar.bold,
732
+ isActive: () => !!B?.isActive("bold"),
734
733
  toggle: !0,
735
- run: () => V?.chain().focus().toggleBold().run()
734
+ run: () => B?.chain().focus().toggleBold().run()
736
735
  },
737
736
  {
738
737
  id: "italic",
739
- icon: oe,
740
- label: k.toolbar.italic,
741
- isActive: () => !!V?.isActive("italic"),
738
+ icon: se,
739
+ label: O.toolbar.italic,
740
+ isActive: () => !!B?.isActive("italic"),
742
741
  toggle: !0,
743
- run: () => V?.chain().focus().toggleItalic().run()
742
+ run: () => B?.chain().focus().toggleItalic().run()
744
743
  },
745
744
  {
746
745
  id: "strike",
747
- icon: fe,
748
- label: k.toolbar.strike,
749
- isActive: () => !!V?.isActive("strike"),
746
+ icon: pe,
747
+ label: O.toolbar.strike,
748
+ isActive: () => !!B?.isActive("strike"),
750
749
  toggle: !0,
751
- run: () => V?.chain().focus().toggleStrike().run()
750
+ run: () => B?.chain().focus().toggleStrike().run()
752
751
  },
753
752
  {
754
753
  id: "bullet-list",
755
- icon: se,
756
- label: k.toolbar.bulletList,
757
- isActive: () => !!V?.isActive("bulletList"),
754
+ icon: ce,
755
+ label: O.toolbar.bulletList,
756
+ isActive: () => !!B?.isActive("bulletList"),
758
757
  toggle: !0,
759
- run: () => V?.chain().focus().toggleBulletList().run()
758
+ run: () => B?.chain().focus().toggleBulletList().run()
760
759
  },
761
760
  {
762
761
  id: "ordered-list",
763
- icon: ce,
764
- label: k.toolbar.orderedList,
765
- isActive: () => !!V?.isActive("orderedList"),
762
+ icon: le,
763
+ label: O.toolbar.orderedList,
764
+ isActive: () => !!B?.isActive("orderedList"),
766
765
  toggle: !0,
767
- run: () => V?.chain().focus().toggleOrderedList().run()
766
+ run: () => B?.chain().focus().toggleOrderedList().run()
768
767
  },
769
768
  {
770
769
  id: "blockquote",
771
- icon: ue,
772
- label: k.toolbar.blockquote,
773
- isActive: () => !!V?.isActive("blockquote"),
770
+ icon: de,
771
+ label: O.toolbar.blockquote,
772
+ isActive: () => !!B?.isActive("blockquote"),
774
773
  toggle: !0,
775
- run: () => V?.chain().focus().toggleBlockquote().run()
774
+ run: () => B?.chain().focus().toggleBlockquote().run()
776
775
  },
777
776
  {
778
777
  id: "undo",
779
- icon: pe,
780
- label: k.toolbar.undo,
778
+ icon: me,
779
+ label: O.toolbar.undo,
781
780
  isActive: () => !1,
782
- run: () => V?.chain().focus().undo().run(),
783
- disabled: !V?.can().chain().focus().undo().run()
781
+ run: () => B?.chain().focus().undo().run(),
782
+ disabled: !B?.can().chain().focus().undo().run()
784
783
  },
785
784
  {
786
785
  id: "redo",
787
- icon: de,
788
- label: k.toolbar.redo,
786
+ icon: fe,
787
+ label: O.toolbar.redo,
789
788
  isActive: () => !1,
790
- run: () => V?.chain().focus().redo().run(),
791
- disabled: !V?.can().chain().focus().redo().run()
789
+ run: () => B?.chain().focus().redo().run(),
790
+ disabled: !B?.can().chain().focus().redo().run()
792
791
  }
793
- ], [V, k]), Pe = p && V ? /* @__PURE__ */ b(E, {
794
- editor: V,
795
- sourceMode: F,
796
- sourceValue: I,
797
- maxLength: ne,
798
- strings: k
799
- }) : null, Fe = typeof a == "string" ? a : "", Ie = Fe.length > 0 && !P && V?.isEmpty ? /* @__PURE__ */ b(i, {
792
+ ], [B, O]), Ne = ne && B ? /* @__PURE__ */ v(T, {
793
+ editor: B,
794
+ sourceMode: P,
795
+ sourceValue: F,
796
+ maxLength: re,
797
+ strings: O
798
+ }) : null, Pe = typeof a == "string" ? a : "", Fe = Pe.length > 0 && !N && B?.isEmpty ? /* @__PURE__ */ v(i, {
800
799
  tag: "span",
801
800
  size: "sm",
802
801
  type: "secondary",
803
- className: "pointer-events-none absolute inset-0 px-control py-control-y-offset",
804
- children: Fe
802
+ className: d.placeholder,
803
+ children: Pe
805
804
  }) : null;
806
- return /* @__PURE__ */ x("div", {
807
- className: n(f.frame, d && f.disabled, me),
805
+ return /* @__PURE__ */ y("div", {
806
+ className: n(d.frame, u && d.disabled, x),
808
807
  children: [
809
- /* @__PURE__ */ b(ee, {
810
- buttons: Ne,
811
- extraToolbarItems: Oe,
812
- hideSourceToggle: le,
813
- sourceMode: F,
814
- toggleSourceMode: je,
815
- disabled: d,
816
- hasEditor: !!V,
817
- toolbarTrailing: ie,
818
- strings: k
808
+ /* @__PURE__ */ v(ee, {
809
+ buttons: Me,
810
+ extraToolbarItems: De,
811
+ hideSourceToggle: ue,
812
+ sourceMode: P,
813
+ toggleSourceMode: Ae,
814
+ disabled: u,
815
+ hasEditor: !!B,
816
+ toolbarTrailing: ae,
817
+ strings: O
819
818
  }),
820
- F ? /* @__PURE__ */ b("textarea", {
821
- "aria-label": k.sourceLabel,
822
- value: I,
823
- onChange: Me,
824
- disabled: d,
819
+ P ? /* @__PURE__ */ v("textarea", {
820
+ "aria-label": O.sourceLabel,
821
+ value: F,
822
+ onChange: je,
823
+ disabled: u,
825
824
  spellCheck: !1,
826
- className: n(f.source, ke, d && "cursor-not-allowed"),
827
- style: Ae
828
- }) : /* @__PURE__ */ x("div", {
829
- className: n("relative", ke),
830
- style: Ae,
831
- children: [Ie, /* @__PURE__ */ b(K, {
832
- editor: V,
833
- className: f.content
825
+ className: n(d.source, Oe, u && "cursor-not-allowed"),
826
+ style: ke
827
+ }) : /* @__PURE__ */ y("div", {
828
+ className: n("relative", Oe),
829
+ style: ke,
830
+ children: [Fe, /* @__PURE__ */ v(G, {
831
+ editor: B,
832
+ className: d.content
834
833
  })]
835
834
  }),
836
- A && /* @__PURE__ */ b(Te, {
835
+ k && /* @__PURE__ */ v(Te, {
837
836
  alt: Q ? Q.alt : null,
838
837
  onAltChange: (e) => {
839
- if (!V || !Q) return;
840
- let t = V.state.doc.nodeAt(Q.pos);
841
- t?.type.name === "image" && (V.view.dispatch(V.state.tr.setNodeMarkup(Q.pos, void 0, {
838
+ if (!B || !Q) return;
839
+ let t = B.state.doc.nodeAt(Q.pos);
840
+ t?.type.name === "image" && (B.view.dispatch(B.state.tr.setNodeMarkup(Q.pos, void 0, {
842
841
  ...t.attrs,
843
842
  alt: e
844
843
  })), $({
845
844
  ...Q,
846
845
  alt: e
847
- }), Y());
846
+ }), J());
848
847
  },
849
848
  onRemove: () => {
850
- if (!V || !Q) return;
851
- let e = V.state.doc.nodeAt(Q.pos);
852
- e?.type.name === "image" && (V.view.dispatch(V.state.tr.delete(Q.pos, Q.pos + e.nodeSize)), $(null), Y(), V.commands.focus());
849
+ if (!B || !Q) return;
850
+ let e = B.state.doc.nodeAt(Q.pos);
851
+ e?.type.name === "image" && (B.view.dispatch(B.state.tr.delete(Q.pos, Q.pos + e.nodeSize)), $(null), J(), B.commands.focus());
853
852
  },
854
- notice: Z.notice,
855
- onDismissNotice: Z.dismissNotice,
856
- strings: k.images
853
+ notice: X.notice,
854
+ onDismissNotice: X.dismissNotice,
855
+ strings: O.images
857
856
  }),
858
- !!S && /* @__PURE__ */ b("div", {
859
- className: "px-control pb-space-md pt-space-xs",
860
- children: S
857
+ !!b && /* @__PURE__ */ v("div", {
858
+ className: n(d.regionX, "pb-space-md pt-space-xs"),
859
+ children: b
861
860
  }),
862
- Pe,
863
- De.input,
864
- A && /* @__PURE__ */ b(Ce, {
865
- queue: Z,
866
- adapterRef: X,
867
- strings: k.images
861
+ Ne,
862
+ Z.input,
863
+ k && /* @__PURE__ */ v(Ce, {
864
+ queue: X,
865
+ adapterRef: Y,
866
+ strings: O.images
868
867
  })
869
868
  ]
870
869
  });
871
870
  });
872
- Y.displayName = "TiptapRichTextEditor";
873
- var Ee = ((e) => typeof e == "function" || typeof e == "object" && !!e && "$$typeof" in e)(K) && typeof q == "function" && typeof J == "object" && !!J;
871
+ J.displayName = "TiptapRichTextEditor";
872
+ var Ee = ((e) => typeof e == "function" || typeof e == "object" && !!e && "$$typeof" in e)(G) && typeof K == "function" && typeof q == "object" && !!q;
874
873
  //#endregion
875
874
  //#region src/components/features/rich-text-editor/partials/rich-text-editor-fallback.tsx
876
- function X(e) {
875
+ function Y(e) {
877
876
  if (!e) return "";
878
877
  if (!e.querySelector("[data-rte-upload]")) return e.innerHTML;
879
878
  let t = e.cloneNode(!0);
880
- for (let e of Array.from(t.querySelectorAll(`[${P}]`))) e.remove();
879
+ for (let e of Array.from(t.querySelectorAll(`[${N}]`))) e.remove();
881
880
  return t.innerHTML;
882
881
  }
883
- function Z(e) {
882
+ function X(e) {
884
883
  for (let t of Array.from(e.querySelectorAll("img"))) o(t.getAttribute("src")) || t.remove();
885
884
  }
886
- function De(e) {
885
+ function Z(e) {
887
886
  let t = window.getSelection();
888
887
  if (!t || t.rangeCount === 0) return null;
889
888
  let n = t.getRangeAt(0);
@@ -893,7 +892,7 @@ function De(e) {
893
892
  let { startContainer: r, startOffset: i } = n;
894
893
  return (r.nodeType === Node.TEXT_NODE ? [i === 0 ? r.previousSibling : null, i === (r.textContent?.length ?? 0) ? r.nextSibling : null] : [r.childNodes[i - 1] ?? null, r.childNodes[i] ?? null]).find((e) => e instanceof HTMLImageElement) ?? null;
895
894
  }
896
- function Oe(e, t) {
895
+ function De(e, t) {
897
896
  let n = document, r = n.caretRangeFromPoint?.(e, t) ?? null;
898
897
  if (!r) {
899
898
  let i = n.caretPositionFromPoint?.(e, t);
@@ -904,124 +903,124 @@ function Oe(e, t) {
904
903
  let i = window.getSelection();
905
904
  i?.removeAllRanges(), i?.addRange(r);
906
905
  }
907
- var Q = p(function({ value: e, onValueChange: r, placeholder: a, compact: o = !1, bodyHeight: c, minHeight: l, maxHeight: u, disabled: d = !1, showCounts: p = !1, maxLength: ne, extraToolbarItems: y, toolbarTrailing: ie, footerSlot: S, hideSourceToggle: le = !1, autoFocus: C = !1, className: me, onCaretChange: he, strings: w, images: E }, k) {
908
- let A = t(te, w), j = _(null), M = _(null), [N, F] = v(null), [be, I] = v(""), [L, R] = v(!1), [z, B] = v(!1), [V, H] = v(""), U = _(D(e)), W = _(he);
909
- W.current = he;
910
- let G = m((e) => {
911
- j.current = e, e && e.innerHTML === "" && (e.innerHTML = O(U.current));
906
+ var Q = ne(function({ value: e, onValueChange: r, placeholder: a, compact: o = !1, bodyHeight: s, minHeight: c, maxHeight: l, disabled: u = !1, showCounts: ne = !1, maxLength: re, extraToolbarItems: _, toolbarTrailing: ae, footerSlot: b, hideSourceToggle: ue = !1, autoFocus: he = !1, className: x, onCaretChange: S, strings: C, images: T }, O) {
907
+ let k = t(te, C), A = h(null), j = h(null), [M, P] = g(null), [be, F] = g(""), [I, L] = g(!1), [R, z] = g(!1), [B, V] = g(""), H = h(E(e)), U = h(S);
908
+ U.current = S;
909
+ let W = f((e) => {
910
+ A.current = e, e && e.innerHTML === "" && (e.innerHTML = D(H.current));
912
911
  }, []);
913
- h(() => {
914
- let t = j.current;
915
- if (!t || L) return;
916
- let n = O(e);
917
- D(X(t)) !== D(n) && (t.innerHTML = n), U.current = D(e);
918
- }, [L, e]), h(() => {
919
- C && j.current?.focus();
920
- }, [C]);
921
- let K = m(() => {
922
- let e = j.current, t = D(X(e));
923
- U.current = t, r(t), W.current?.();
924
- }, [r]), q = _(null);
925
- q.current = {
912
+ p(() => {
913
+ let t = A.current;
914
+ if (!t || I) return;
915
+ let n = D(e);
916
+ E(Y(t)) !== E(n) && (t.innerHTML = n), H.current = E(e);
917
+ }, [I, e]), p(() => {
918
+ he && A.current?.focus();
919
+ }, [he]);
920
+ let G = f(() => {
921
+ let e = A.current, t = E(Y(e));
922
+ H.current = t, r(t), U.current?.();
923
+ }, [r]), K = h(null);
924
+ K.current = {
926
925
  insertPlaceholder: (e) => {
927
- let t = j.current;
926
+ let t = A.current;
928
927
  if (!t) return;
929
- let n = M.current;
928
+ let n = j.current;
930
929
  if (n && t.contains(n.commonAncestorContainer) && !t.contains(document.activeElement)) {
931
930
  t.focus();
932
931
  let e = window.getSelection();
933
932
  e?.removeAllRanges(), e?.addRange(n);
934
933
  }
935
- ve(t, `<span ${P}="${e}" contenteditable="false" class="${ye}"></span>`);
934
+ ve(t, `<span ${N}="${e}" contenteditable="false" class="${ye}"></span>`);
936
935
  },
937
- findPlaceholder: (e) => j.current?.querySelector(`[data-rte-upload="${e}"]`) ?? null,
936
+ findPlaceholder: (e) => A.current?.querySelector(`[data-rte-upload="${e}"]`) ?? null,
938
937
  resolvePlaceholder: (e, t) => {
939
- let n = j.current?.querySelector(`[${P}="${e}"]`);
938
+ let n = A.current?.querySelector(`[${N}="${e}"]`);
940
939
  if (!n) return;
941
940
  let r = document.createElement("img");
942
- r.setAttribute("src", t.src), r.setAttribute("alt", t.alt ?? ""), t.width && r.setAttribute("width", String(t.width)), t.height && r.setAttribute("height", String(t.height)), n.replaceWith(r), K();
941
+ r.setAttribute("src", t.src), r.setAttribute("alt", t.alt ?? ""), t.width && r.setAttribute("width", String(t.width)), t.height && r.setAttribute("height", String(t.height)), n.replaceWith(r), G();
943
942
  },
944
943
  removePlaceholder: (e) => {
945
- j.current?.querySelector(`[${P}="${e}"]`)?.remove(), K();
944
+ A.current?.querySelector(`[${N}="${e}"]`)?.remove(), G();
946
945
  }
947
946
  };
948
- let J = Se(E, q, A.images), Y = we(E, A.images, J.addFiles, () => {
947
+ let q = Se(T, K, k.images), J = we(T, k.images, q.addFiles, () => {
949
948
  let e = window.getSelection(), t = e && e.rangeCount > 0 ? e.getRangeAt(0) : null;
950
- M.current = t && j.current?.contains(t.commonAncestorContainer) ? t.cloneRange() : null;
951
- }), Ee = g(() => Y.item ? [Y.item, ...y ?? []] : y, [y, Y.item]), Q = m(() => {
952
- let e = j.current;
953
- if (!E || !e) return;
949
+ j.current = t && A.current?.contains(t.commonAncestorContainer) ? t.cloneRange() : null;
950
+ }), Ee = m(() => J.item ? [J.item, ..._ ?? []] : _, [_, J.item]), Q = f(() => {
951
+ let e = A.current;
952
+ if (!T || !e) return;
954
953
  let t = window.getSelection();
955
954
  if (t && t.rangeCount > 0 && !e.contains(t.getRangeAt(0).commonAncestorContainer)) return;
956
- let n = De(e);
957
- F(n), I(n?.getAttribute("alt") ?? "");
958
- }, [E]);
959
- h(() => {
960
- if (E && typeof document < "u") return document.addEventListener("selectionchange", Q), () => document.removeEventListener("selectionchange", Q);
961
- }, [E, Q]);
962
- let $ = m(() => {
963
- let e = j.current;
964
- E && e && (Z(e), J.prune(), N && !N.isConnected && F(null)), K();
955
+ let n = Z(e);
956
+ P(n), F(n?.getAttribute("alt") ?? "");
957
+ }, [T]);
958
+ p(() => {
959
+ if (T && typeof document < "u") return document.addEventListener("selectionchange", Q), () => document.removeEventListener("selectionchange", Q);
960
+ }, [T, Q]);
961
+ let $ = f(() => {
962
+ let e = A.current;
963
+ T && e && (X(e), q.prune(), M && !M.isConnected && P(null)), G();
965
964
  }, [
966
- N,
967
- K,
968
- E,
969
- J
965
+ M,
966
+ G,
967
+ T,
968
+ q
970
969
  ]);
971
- re(k, () => ({
972
- focus: () => j.current?.focus(),
973
- getHTML: () => D(X(j.current)),
970
+ ie(O, () => ({
971
+ focus: () => A.current?.focus(),
972
+ getHTML: () => E(Y(A.current)),
974
973
  setHTML: (e) => {
975
- let t = D(e);
976
- U.current = t, j.current && (j.current.innerHTML = O(t)), r(t);
974
+ let t = E(e);
975
+ H.current = t, A.current && (A.current.innerHTML = D(t)), r(t);
977
976
  },
978
977
  insertHTML: (e) => {
979
- ve(j.current, e), K();
978
+ ve(A.current, e), G();
980
979
  },
981
- isEmpty: () => D(X(j.current)) === "",
980
+ isEmpty: () => E(Y(A.current)) === "",
982
981
  clear: () => {
983
- U.current = "", j.current && (j.current.innerHTML = "<p></p>"), r("");
982
+ H.current = "", A.current && (A.current.innerHTML = "<p></p>"), r("");
984
983
  },
985
984
  getCaretContext: () => ge(),
986
985
  replaceBeforeCaret: (e, t) => {
987
- _e(null, e, t, () => K());
986
+ _e(null, e, t, () => G());
988
987
  }
989
- }), [K, r]);
990
- let ke = f.bodyMinHeight[c ?? (o ? "control" : "document")], Ae = g(() => ({
991
- ...l ? { minHeight: l } : {},
992
- ...u ? {
993
- maxHeight: u,
988
+ }), [G, r]);
989
+ let Oe = d.bodyMinHeight[s ?? (o ? "control" : "document")], ke = m(() => ({
990
+ ...c ? { minHeight: c } : {},
991
+ ...l ? {
992
+ maxHeight: l,
994
993
  overflowY: "auto"
995
994
  } : {}
996
- }), [u, l]), je = m(() => {
997
- if (z) {
998
- let e = D(V);
999
- U.current = e, j.current && (j.current.innerHTML = O(e)), r(e), B(!1);
995
+ }), [l, c]), Ae = f(() => {
996
+ if (R) {
997
+ let e = E(B);
998
+ H.current = e, A.current && (A.current.innerHTML = D(e)), r(e), z(!1);
1000
999
  return;
1001
1000
  }
1002
- H(j.current?.innerHTML ?? O(e)), B(!0);
1001
+ V(A.current?.innerHTML ?? D(e)), z(!0);
1003
1002
  }, [
1004
1003
  r,
1005
- z,
1006
- V,
1004
+ R,
1005
+ B,
1007
1006
  e
1008
- ]), Me = m((e) => {
1007
+ ]), je = f((e) => {
1009
1008
  let t = e.target.value;
1010
- H(t);
1011
- let n = D(t);
1012
- U.current = n, r(n);
1013
- }, [r]), Ne = typeof a == "string" ? a : "", Pe = D(U.current) === "" && J.uploads.length === 0, Fe = Ne.length > 0 && !L && Pe ? /* @__PURE__ */ b(i, {
1009
+ V(t);
1010
+ let n = E(t);
1011
+ H.current = n, r(n);
1012
+ }, [r]), Me = typeof a == "string" ? a : "", Ne = E(H.current) === "" && q.uploads.length === 0, Pe = Me.length > 0 && !I && Ne ? /* @__PURE__ */ v(i, {
1014
1013
  tag: "span",
1015
1014
  size: "sm",
1016
1015
  type: "secondary",
1017
- className: "pointer-events-none absolute inset-0 px-control py-control-y-offset",
1018
- children: Ne
1019
- }) : null, Ie = g(() => [
1016
+ className: d.placeholder,
1017
+ children: Me
1018
+ }) : null, Fe = m(() => [
1020
1019
  {
1021
1020
  id: "bold",
1022
1021
  toggle: !0,
1023
- icon: ae,
1024
- label: A.toolbar.bold,
1022
+ icon: oe,
1023
+ label: k.toolbar.bold,
1025
1024
  isActive: () => !1,
1026
1025
  run: () => void 0,
1027
1026
  disabled: !0
@@ -1029,8 +1028,8 @@ var Q = p(function({ value: e, onValueChange: r, placeholder: a, compact: o = !1
1029
1028
  {
1030
1029
  id: "italic",
1031
1030
  toggle: !0,
1032
- icon: oe,
1033
- label: A.toolbar.italic,
1031
+ icon: se,
1032
+ label: k.toolbar.italic,
1034
1033
  isActive: () => !1,
1035
1034
  run: () => void 0,
1036
1035
  disabled: !0
@@ -1038,8 +1037,8 @@ var Q = p(function({ value: e, onValueChange: r, placeholder: a, compact: o = !1
1038
1037
  {
1039
1038
  id: "strike",
1040
1039
  toggle: !0,
1041
- icon: fe,
1042
- label: A.toolbar.strike,
1040
+ icon: pe,
1041
+ label: k.toolbar.strike,
1043
1042
  isActive: () => !1,
1044
1043
  run: () => void 0,
1045
1044
  disabled: !0
@@ -1047,8 +1046,8 @@ var Q = p(function({ value: e, onValueChange: r, placeholder: a, compact: o = !1
1047
1046
  {
1048
1047
  id: "bullet-list",
1049
1048
  toggle: !0,
1050
- icon: se,
1051
- label: A.toolbar.bulletList,
1049
+ icon: ce,
1050
+ label: k.toolbar.bulletList,
1052
1051
  isActive: () => !1,
1053
1052
  run: () => void 0,
1054
1053
  disabled: !0
@@ -1056,8 +1055,8 @@ var Q = p(function({ value: e, onValueChange: r, placeholder: a, compact: o = !1
1056
1055
  {
1057
1056
  id: "ordered-list",
1058
1057
  toggle: !0,
1059
- icon: ce,
1060
- label: A.toolbar.orderedList,
1058
+ icon: le,
1059
+ label: k.toolbar.orderedList,
1061
1060
  isActive: () => !1,
1062
1061
  run: () => void 0,
1063
1062
  disabled: !0
@@ -1065,113 +1064,113 @@ var Q = p(function({ value: e, onValueChange: r, placeholder: a, compact: o = !1
1065
1064
  {
1066
1065
  id: "blockquote",
1067
1066
  toggle: !0,
1068
- icon: ue,
1069
- label: A.toolbar.blockquote,
1067
+ icon: de,
1068
+ label: k.toolbar.blockquote,
1070
1069
  isActive: () => !1,
1071
1070
  run: () => void 0,
1072
1071
  disabled: !0
1073
1072
  },
1074
1073
  {
1075
1074
  id: "undo",
1076
- icon: pe,
1077
- label: A.toolbar.undo,
1075
+ icon: me,
1076
+ label: k.toolbar.undo,
1078
1077
  isActive: () => !1,
1079
1078
  run: () => void 0,
1080
1079
  disabled: !0
1081
1080
  },
1082
1081
  {
1083
1082
  id: "redo",
1084
- icon: de,
1085
- label: A.toolbar.redo,
1083
+ icon: fe,
1084
+ label: k.toolbar.redo,
1086
1085
  isActive: () => !1,
1087
1086
  run: () => void 0,
1088
1087
  disabled: !0
1089
1088
  }
1090
- ], [A]), Le = z ? V.replace(/<[^>]*>/g, "") : j.current?.innerText ?? D(e).replace(/<[^>]*>/g, ""), Re = p ? /* @__PURE__ */ b(T, {
1091
- text: Le,
1092
- maxLength: ne,
1093
- strings: A
1089
+ ], [k]), Ie = R ? B.replace(/<[^>]*>/g, "") : A.current?.innerText ?? E(e).replace(/<[^>]*>/g, ""), Le = ne ? /* @__PURE__ */ v(w, {
1090
+ text: Ie,
1091
+ maxLength: re,
1092
+ strings: k
1094
1093
  }) : null;
1095
- return /* @__PURE__ */ x("div", {
1096
- className: n(f.frame, d && f.disabled, me),
1094
+ return /* @__PURE__ */ y("div", {
1095
+ className: n(d.frame, u && d.disabled, x),
1097
1096
  children: [
1098
- /* @__PURE__ */ b(ee, {
1099
- buttons: Ie,
1097
+ /* @__PURE__ */ v(ee, {
1098
+ buttons: Fe,
1100
1099
  extraToolbarItems: Ee,
1101
- hideSourceToggle: le,
1102
- sourceMode: z,
1103
- toggleSourceMode: je,
1104
- disabled: d,
1100
+ hideSourceToggle: ue,
1101
+ sourceMode: R,
1102
+ toggleSourceMode: Ae,
1103
+ disabled: u,
1105
1104
  hasEditor: !0,
1106
- toolbarTrailing: ie,
1107
- strings: A
1105
+ toolbarTrailing: ae,
1106
+ strings: k
1108
1107
  }),
1109
- z ? /* @__PURE__ */ b("textarea", {
1110
- "aria-label": A.sourceLabel,
1111
- value: V,
1112
- onChange: Me,
1113
- disabled: d,
1108
+ R ? /* @__PURE__ */ v("textarea", {
1109
+ "aria-label": k.sourceLabel,
1110
+ value: B,
1111
+ onChange: je,
1112
+ disabled: u,
1114
1113
  spellCheck: !1,
1115
- className: n(f.source, ke, d && "cursor-not-allowed"),
1116
- style: Ae
1117
- }) : /* @__PURE__ */ x("div", {
1118
- className: n("relative", ke),
1119
- style: Ae,
1120
- children: [Fe, /* @__PURE__ */ b("div", {
1121
- ref: G,
1114
+ className: n(d.source, Oe, u && "cursor-not-allowed"),
1115
+ style: ke
1116
+ }) : /* @__PURE__ */ y("div", {
1117
+ className: n("relative", Oe),
1118
+ style: ke,
1119
+ children: [Pe, /* @__PURE__ */ v("div", {
1120
+ ref: W,
1122
1121
  role: "textbox",
1123
- "aria-label": A.editorLabel,
1122
+ "aria-label": k.editorLabel,
1124
1123
  "aria-multiline": "true",
1125
- contentEditable: !d,
1124
+ contentEditable: !u,
1126
1125
  suppressContentEditableWarning: !0,
1127
1126
  onInput: $,
1128
- onKeyUp: () => W.current?.(),
1129
- onMouseUp: () => W.current?.(),
1130
- onClick: E ? (e) => {
1127
+ onKeyUp: () => U.current?.(),
1128
+ onMouseUp: () => U.current?.(),
1129
+ onClick: T ? (e) => {
1131
1130
  if (!(e.target instanceof HTMLImageElement)) return;
1132
1131
  let t = document.createRange();
1133
1132
  t.selectNode(e.target);
1134
1133
  let n = window.getSelection();
1135
1134
  n?.removeAllRanges(), n?.addRange(t);
1136
1135
  } : void 0,
1137
- onPaste: E ? (e) => {
1136
+ onPaste: T ? (e) => {
1138
1137
  let t = xe(e.clipboardData);
1139
- t.length !== 0 && (e.preventDefault(), J.addFiles(t));
1138
+ t.length !== 0 && (e.preventDefault(), q.addFiles(t));
1140
1139
  } : void 0,
1141
- onDragOver: E ? (e) => {
1140
+ onDragOver: T ? (e) => {
1142
1141
  Array.from(e.dataTransfer.types).includes("Files") && e.preventDefault();
1143
1142
  } : void 0,
1144
- onDrop: E ? (e) => {
1143
+ onDrop: T ? (e) => {
1145
1144
  let t = xe(e.dataTransfer);
1146
- t.length !== 0 && (e.preventDefault(), j.current?.focus(), Oe(e.clientX, e.clientY), J.addFiles(t));
1145
+ t.length !== 0 && (e.preventDefault(), A.current?.focus(), De(e.clientX, e.clientY), q.addFiles(t));
1147
1146
  } : void 0,
1148
- onFocus: () => R(!0),
1149
- onBlur: () => R(!1),
1150
- className: n(s, "h-full min-h-full", d && "cursor-not-allowed")
1147
+ onFocus: () => L(!0),
1148
+ onBlur: () => L(!1),
1149
+ className: n(d.editable, "h-full min-h-full", u && "cursor-not-allowed")
1151
1150
  })]
1152
1151
  }),
1153
- !!E && /* @__PURE__ */ b(Te, {
1154
- alt: N ? be : null,
1152
+ !!T && /* @__PURE__ */ v(Te, {
1153
+ alt: M ? be : null,
1155
1154
  onAltChange: (e) => {
1156
- I(e), N?.setAttribute("alt", e), K();
1155
+ F(e), M?.setAttribute("alt", e), G();
1157
1156
  },
1158
1157
  onRemove: () => {
1159
- N?.remove(), F(null), K(), j.current?.focus();
1158
+ M?.remove(), P(null), G(), A.current?.focus();
1160
1159
  },
1161
- notice: J.notice,
1162
- onDismissNotice: J.dismissNotice,
1163
- strings: A.images
1160
+ notice: q.notice,
1161
+ onDismissNotice: q.dismissNotice,
1162
+ strings: k.images
1164
1163
  }),
1165
- !!S && /* @__PURE__ */ b("div", {
1166
- className: "px-control pb-space-md pt-space-xs",
1167
- children: S
1164
+ !!b && /* @__PURE__ */ v("div", {
1165
+ className: n(d.regionX, "pb-space-md pt-space-xs"),
1166
+ children: b
1168
1167
  }),
1169
- Re,
1170
- Y.input,
1171
- /* @__PURE__ */ b(Ce, {
1172
- queue: J,
1173
- adapterRef: q,
1174
- strings: A.images
1168
+ Le,
1169
+ J.input,
1170
+ /* @__PURE__ */ v(Ce, {
1171
+ queue: q,
1172
+ adapterRef: K,
1173
+ strings: k.images
1175
1174
  })
1176
1175
  ]
1177
1176
  });
@@ -1179,11 +1178,11 @@ var Q = p(function({ value: e, onValueChange: r, placeholder: a, compact: o = !1
1179
1178
  Q.displayName = "FallbackRichTextEditor";
1180
1179
  //#endregion
1181
1180
  //#region src/components/features/rich-text-editor/rich-text-editor.tsx
1182
- var $ = p(function(e, t) {
1183
- return Ee ? /* @__PURE__ */ b(Y, {
1181
+ var $ = ne(function(e, t) {
1182
+ return Ee ? /* @__PURE__ */ v(J, {
1184
1183
  ...e,
1185
1184
  ref: t
1186
- }) : /* @__PURE__ */ b(Q, {
1185
+ }) : /* @__PURE__ */ v(Q, {
1187
1186
  className: "rich-text-editor--component",
1188
1187
  ...e,
1189
1188
  ref: t
@@ -1191,6 +1190,6 @@ var $ = p(function(e, t) {
1191
1190
  });
1192
1191
  $.displayName = "RichTextEditor";
1193
1192
  //#endregion
1194
- export { T as n, $ as t };
1193
+ export { w as n, $ as t };
1195
1194
 
1196
- //# sourceMappingURL=rich-text-editor-cRLC-eBK.js.map
1195
+ //# sourceMappingURL=rich-text-editor-C1fOjBTd.js.map