@prolibu-suite/cobalt-core 0.11.5 → 0.11.7

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 (636) hide show
  1. package/custom-elements.json +194 -46
  2. package/dist/cjs/co-action-bar.cjs.entry.js +1 -1
  3. package/dist/cjs/co-app-shell.cjs.entry.js +1 -1
  4. package/dist/cjs/co-autocomplete.cjs.entry.js +1 -1
  5. package/dist/cjs/co-avatar.cjs.entry.js +6 -3
  6. package/dist/cjs/co-button.cjs.entry.js +14 -6
  7. package/dist/cjs/co-calendar-month_2.cjs.entry.js +9 -5
  8. package/dist/cjs/co-calendar_3.cjs.entry.js +23 -7
  9. package/dist/cjs/co-checkbox-group.cjs.entry.js +1 -1
  10. package/dist/cjs/co-checkbox.cjs.entry.js +1 -1
  11. package/dist/cjs/co-chip_2.cjs.entry.js +4 -4
  12. package/dist/cjs/co-color-picker.cjs.entry.js +24 -5
  13. package/dist/cjs/co-column-picker.cjs.entry.js +3 -3
  14. package/dist/cjs/co-combobox.cjs.entry.js +7 -5
  15. package/dist/cjs/co-command-search.cjs.entry.js +1 -1
  16. package/dist/cjs/co-data-table-pagination.cjs.entry.js +5 -5
  17. package/dist/cjs/co-data-table.cjs.entry.js +1 -1
  18. package/dist/cjs/co-date-picker.cjs.entry.js +1 -1
  19. package/dist/cjs/co-date-range-picker.cjs.entry.js +1 -1
  20. package/dist/cjs/co-date-range.cjs.entry.js +1 -1
  21. package/dist/cjs/co-date-time-picker.cjs.entry.js +3 -3
  22. package/dist/cjs/co-document-editor.cjs.entry.js +108 -7
  23. package/dist/cjs/co-drive-card.cjs.entry.js +2 -2
  24. package/dist/cjs/co-drop-zone.cjs.entry.js +1 -1
  25. package/dist/cjs/co-emoji-picker.cjs.entry.js +2 -2
  26. package/dist/cjs/co-empty-state.cjs.entry.js +3 -3
  27. package/dist/cjs/co-event-calendar.cjs.entry.js +2 -2
  28. package/dist/cjs/co-event-popover.cjs.entry.js +1 -1
  29. package/dist/cjs/co-fab.cjs.entry.js +3 -3
  30. package/dist/cjs/co-file-field.cjs.entry.js +87 -16
  31. package/dist/cjs/co-file-type-tile.cjs.entry.js +2 -2
  32. package/dist/cjs/co-gradient-bar.cjs.entry.js +4 -4
  33. package/dist/cjs/co-helper-text.cjs.entry.js +3 -3
  34. package/dist/cjs/co-icon-button.cjs.entry.js +3 -3
  35. package/dist/cjs/co-icon.cjs.entry.js +2 -2
  36. package/dist/cjs/co-input.cjs.entry.js +1 -1
  37. package/dist/cjs/co-json-field.cjs.entry.js +4 -4
  38. package/dist/cjs/co-kbd_2.cjs.entry.js +11 -4
  39. package/dist/cjs/co-lightbox.cjs.entry.js +71 -7
  40. package/dist/cjs/co-list-footer.cjs.entry.js +1 -1
  41. package/dist/cjs/co-list-item.cjs.entry.js +4 -4
  42. package/dist/cjs/co-media-thumb.cjs.entry.js +2 -2
  43. package/dist/cjs/co-menu-divider.cjs.entry.js +1 -1
  44. package/dist/cjs/co-menu-item.cjs.entry.js +1 -1
  45. package/dist/cjs/co-menu.cjs.entry.js +3 -3
  46. package/dist/cjs/co-modal.cjs.entry.js +23 -3
  47. package/dist/cjs/co-navbar.cjs.entry.js +2 -2
  48. package/dist/cjs/co-number-field.cjs.entry.js +9 -5
  49. package/dist/cjs/co-overlay.cjs.entry.js +2 -2
  50. package/dist/cjs/co-page-header.cjs.entry.js +1 -1
  51. package/dist/cjs/co-phone-field.cjs.entry.js +52 -2
  52. package/dist/cjs/co-popover.cjs.entry.js +33 -4
  53. package/dist/cjs/co-progress-bar.cjs.entry.js +3 -3
  54. package/dist/cjs/co-progress-circle.cjs.entry.js +2 -2
  55. package/dist/cjs/co-provider-logo_2.cjs.entry.js +1 -1
  56. package/dist/cjs/co-radio-group.cjs.entry.js +1 -1
  57. package/dist/cjs/co-radio.cjs.entry.js +3 -3
  58. package/dist/cjs/co-rating.cjs.entry.js +4 -4
  59. package/dist/cjs/co-ref-field.cjs.entry.js +15 -8
  60. package/dist/cjs/co-rich-text-editor.cjs.entry.js +80 -23
  61. package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +105 -2
  62. package/dist/cjs/co-rich-text-viewer.cjs.entry.js +2 -2
  63. package/dist/cjs/co-row.cjs.entry.js +2 -2
  64. package/dist/cjs/co-select.cjs.entry.js +10 -8
  65. package/dist/cjs/co-separator.cjs.entry.js +1 -1
  66. package/dist/cjs/co-sidebar-nav.cjs.entry.js +11 -9
  67. package/dist/cjs/co-sidebar.cjs.entry.js +2 -2
  68. package/dist/cjs/co-slider.cjs.entry.js +3 -3
  69. package/dist/cjs/co-swatch-grid.cjs.entry.js +3 -3
  70. package/dist/cjs/co-switch.cjs.entry.js +4 -4
  71. package/dist/cjs/co-tab-group.cjs.entry.js +110 -12
  72. package/dist/cjs/co-tab.cjs.entry.js +3 -3
  73. package/dist/cjs/co-tags-field.cjs.entry.js +7 -7
  74. package/dist/cjs/co-textarea.cjs.entry.js +5 -5
  75. package/dist/cjs/co-tile.cjs.entry.js +1 -1
  76. package/dist/cjs/co-time-field.cjs.entry.js +1 -1
  77. package/dist/cjs/co-toast.cjs.entry.js +1 -1
  78. package/dist/cjs/co-toggle-button-group.cjs.entry.js +6 -4
  79. package/dist/cjs/co-toggle-button.cjs.entry.js +5 -3
  80. package/dist/cjs/co-transfer-list.cjs.entry.js +1 -1
  81. package/dist/cjs/co-video.cjs.entry.js +2 -2
  82. package/dist/cjs/cobalt.cjs.js +1 -1
  83. package/dist/cjs/{color-DQVrQGi0.js → color-DlKNWtdc.js} +38 -2
  84. package/dist/cjs/escapeLayers-DlCir9Sr.js +22 -0
  85. package/dist/cjs/fieldChip-DbYMfylq.js +7 -0
  86. package/dist/cjs/{gradientStops-CMpH4fB_.js → gradientStops-xZbv7bi6.js} +1 -1
  87. package/dist/cjs/{index-BbSD1Eyw.js → index-CJhgaDE1.js} +1 -1
  88. package/dist/cjs/index-bHoidDwv.js +14 -14
  89. package/dist/cjs/loader.cjs.js +1 -1
  90. package/dist/cjs/{pagination-S2sSAgdl.js → pagination-BPA1UGs-.js} +30 -0
  91. package/dist/cjs/{richTextI18n-DXGIv5w1.js → richTextI18n-B8qb5JKb.js} +12 -0
  92. package/dist/cobalt/cobalt.esm.js +1 -1
  93. package/dist/cobalt/p-01b54d81.entry.js +1 -0
  94. package/dist/cobalt/{p-02ff847e.entry.js → p-02133c95.entry.js} +1 -1
  95. package/dist/cobalt/{p-73313cbe.entry.js → p-0bbaaf4f.entry.js} +1 -1
  96. package/dist/cobalt/p-0f3a3232.entry.js +1 -0
  97. package/dist/cobalt/p-12fc5119.entry.js +1 -0
  98. package/dist/cobalt/p-19f0f534.entry.js +1 -0
  99. package/dist/cobalt/p-1c9253a2.entry.js +1 -0
  100. package/dist/cobalt/{p-63908a8d.entry.js → p-256ca457.entry.js} +1 -1
  101. package/dist/cobalt/{p-71fe35c4.entry.js → p-2ff8f591.entry.js} +1 -1
  102. package/dist/cobalt/p-33840969.entry.js +1 -0
  103. package/dist/cobalt/p-353ff9ed.entry.js +1 -0
  104. package/dist/cobalt/p-37f9ec35.entry.js +1 -0
  105. package/dist/cobalt/p-3878f174.entry.js +1 -0
  106. package/dist/cobalt/{p-a4eb298c.entry.js → p-3890d22f.entry.js} +1 -1
  107. package/dist/cobalt/{p-7fabd8ba.entry.js → p-3b7e90c8.entry.js} +1 -1
  108. package/dist/cobalt/p-3bff827a.entry.js +1 -0
  109. package/dist/cobalt/{p-65c191aa.entry.js → p-3e532a11.entry.js} +1 -1
  110. package/dist/cobalt/{p-4d743628.entry.js → p-3e864e7d.entry.js} +1 -1
  111. package/dist/cobalt/p-454dd8ab.entry.js +1 -0
  112. package/dist/cobalt/{p-cfaaa684.entry.js → p-4ae6fe0e.entry.js} +1 -1
  113. package/dist/cobalt/p-4cdfcd9c.entry.js +1 -0
  114. package/dist/cobalt/p-50ab6b9b.entry.js +1 -0
  115. package/dist/cobalt/{p-713637f2.entry.js → p-59a71695.entry.js} +1 -1
  116. package/dist/cobalt/{p-06689166.entry.js → p-5d41b58b.entry.js} +1 -1
  117. package/dist/cobalt/{p-95f2ebb1.entry.js → p-5e14f676.entry.js} +1 -1
  118. package/dist/cobalt/p-5e39cf70.entry.js +1 -0
  119. package/dist/cobalt/{p-df529110.entry.js → p-600d0cab.entry.js} +1 -1
  120. package/dist/cobalt/{p-38eb2615.entry.js → p-60ea3d33.entry.js} +1 -1
  121. package/dist/cobalt/{p-d5d8fa8b.entry.js → p-63f888a1.entry.js} +1 -1
  122. package/dist/cobalt/{p-d00c3894.entry.js → p-6eca1c7c.entry.js} +1 -1
  123. package/dist/cobalt/p-74804c79.entry.js +1 -0
  124. package/dist/cobalt/{p-f2fa2ac0.entry.js → p-76ea3f34.entry.js} +1 -1
  125. package/dist/cobalt/p-7737354e.entry.js +1 -0
  126. package/dist/cobalt/p-7e444408.entry.js +1 -0
  127. package/dist/cobalt/p-7e72720a.entry.js +1 -0
  128. package/dist/cobalt/p-82bcd062.entry.js +1 -0
  129. package/dist/cobalt/{p-56176aa0.entry.js → p-83691cfb.entry.js} +1 -1
  130. package/dist/cobalt/p-84256bde.entry.js +1 -0
  131. package/dist/cobalt/p-84ad0227.entry.js +1 -0
  132. package/dist/cobalt/{p-b2457431.entry.js → p-89328cd8.entry.js} +1 -1
  133. package/dist/cobalt/p-8a26f3cc.entry.js +1 -0
  134. package/dist/cobalt/p-8c22bf4b.entry.js +1 -0
  135. package/dist/cobalt/p-8e7ad2fe.entry.js +1 -0
  136. package/dist/cobalt/p-947b8e35.entry.js +1 -0
  137. package/dist/cobalt/p-94b871fb.entry.js +1 -0
  138. package/dist/cobalt/p-99781b0b.entry.js +1 -0
  139. package/dist/cobalt/{p-71dc8e4a.entry.js → p-9af26af0.entry.js} +1 -1
  140. package/dist/cobalt/p-9ce57385.entry.js +1 -0
  141. package/dist/cobalt/p-BzxEh7sq.js +1 -0
  142. package/dist/cobalt/{p-DXLeDZvr.js → p-CP7MznKV.js} +1 -1
  143. package/dist/cobalt/p-CSLjZ3WO.js +1 -0
  144. package/dist/cobalt/{p-Ch-Tygdb.js → p-CqQobidl.js} +1 -1
  145. package/dist/cobalt/p-EtYK1iGx.js +1 -0
  146. package/dist/cobalt/p-LnW75kr5.js +1 -0
  147. package/dist/cobalt/{p-cf5b91be.entry.js → p-a18c01eb.entry.js} +1 -1
  148. package/dist/cobalt/{p-65d44da2.entry.js → p-a33a277a.entry.js} +1 -1
  149. package/dist/cobalt/p-a4154bcf.entry.js +1 -0
  150. package/dist/cobalt/{p-aed832d5.entry.js → p-a4264bde.entry.js} +1 -1
  151. package/dist/cobalt/p-a6c9a0c5.entry.js +1 -0
  152. package/dist/cobalt/p-b2c49664.entry.js +1 -0
  153. package/dist/cobalt/{p-f69804a6.entry.js → p-b402665a.entry.js} +1 -1
  154. package/dist/cobalt/{p-903237f9.entry.js → p-bbf3d859.entry.js} +1 -1
  155. package/dist/cobalt/p-bee52042.entry.js +1 -0
  156. package/dist/cobalt/{p-a7cd61ce.entry.js → p-c004fde5.entry.js} +1 -1
  157. package/dist/cobalt/p-c026968c.entry.js +1 -0
  158. package/dist/cobalt/{p-8a2a2b6c.entry.js → p-c23630ab.entry.js} +1 -1
  159. package/dist/cobalt/p-c31b9b51.entry.js +1 -0
  160. package/dist/cobalt/{p-0e4c2234.entry.js → p-c93be2d5.entry.js} +1 -1
  161. package/dist/cobalt/p-cb1013e6.entry.js +1 -0
  162. package/dist/cobalt/p-cd43d372.entry.js +1 -0
  163. package/dist/cobalt/{p-26cbdc33.entry.js → p-cea21e08.entry.js} +1 -1
  164. package/dist/cobalt/p-cf675968.entry.js +1 -0
  165. package/dist/cobalt/{p-ba39a965.entry.js → p-d1595580.entry.js} +1 -1
  166. package/dist/cobalt/{p-99df434b.entry.js → p-d26dc681.entry.js} +1 -1
  167. package/dist/cobalt/{p-8680559b.entry.js → p-d375c84e.entry.js} +1 -1
  168. package/dist/cobalt/{p-bee30373.entry.js → p-d7775109.entry.js} +1 -1
  169. package/dist/cobalt/p-d9b4594b.entry.js +1 -0
  170. package/dist/cobalt/{p-b67fb616.entry.js → p-e4646a0e.entry.js} +1 -1
  171. package/dist/cobalt/{p-7beface1.entry.js → p-e5350eeb.entry.js} +1 -1
  172. package/dist/cobalt/{p-e5f0d560.entry.js → p-f1da1df1.entry.js} +1 -1
  173. package/dist/cobalt/p-f23f52ed.entry.js +1 -0
  174. package/dist/cobalt/{p-13e5b724.entry.js → p-f6f273f7.entry.js} +1 -1
  175. package/dist/cobalt/{p-71ae1551.entry.js → p-fb6671e0.entry.js} +1 -1
  176. package/dist/cobalt/p-fb731600.entry.js +1 -0
  177. package/dist/cobalt/{p-7d1718ed.entry.js → p-feec49a4.entry.js} +1 -1
  178. package/dist/cobalt/p-ff218d09.entry.js +1 -0
  179. package/dist/cobalt/p-hXbDUT3I.js +1 -0
  180. package/dist/collection/components/co-action-bar/co-action-bar.css +6 -2
  181. package/dist/collection/components/co-app-shell/co-app-shell.css +6 -5
  182. package/dist/collection/components/co-autocomplete/co-autocomplete.css +12 -6
  183. package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
  184. package/dist/collection/components/co-avatar/co-avatar.css +11 -1
  185. package/dist/collection/components/co-avatar/co-avatar.js +5 -2
  186. package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
  187. package/dist/collection/components/co-button/co-button.css +38 -7
  188. package/dist/collection/components/co-button/co-button.js +34 -6
  189. package/dist/collection/components/co-calendar/co-calendar.css +4 -1
  190. package/dist/collection/components/co-calendar-month/co-calendar-month.css +3 -1
  191. package/dist/collection/components/co-calendar-timegrid/co-calendar-timegrid.css +3 -1
  192. package/dist/collection/components/co-checkbox/co-checkbox.css +5 -1
  193. package/dist/collection/components/co-checkbox-group/co-checkbox-group.css +10 -5
  194. package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
  195. package/dist/collection/components/co-chip/co-chip.css +17 -12
  196. package/dist/collection/components/co-color-area/co-color-area.js +2 -2
  197. package/dist/collection/components/co-color-picker/co-color-picker.css +19 -7
  198. package/dist/collection/components/co-color-picker/co-color-picker.js +42 -3
  199. package/dist/collection/components/co-color-slider/co-color-slider.js +1 -1
  200. package/dist/collection/components/co-column-picker/co-column-picker.css +10 -5
  201. package/dist/collection/components/co-column-picker/co-column-picker.js +2 -2
  202. package/dist/collection/components/co-combobox/co-combobox.css +8 -5
  203. package/dist/collection/components/co-combobox/co-combobox.js +7 -5
  204. package/dist/collection/components/co-command-search/co-command-search.css +5 -2
  205. package/dist/collection/components/co-command-search/co-command-search.js +1 -1
  206. package/dist/collection/components/co-data-table/co-data-table.css +13 -10
  207. package/dist/collection/components/co-data-table/co-data-table.js +1 -1
  208. package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.css +15 -13
  209. package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.js +4 -4
  210. package/dist/collection/components/co-date-field/co-date-field.css +11 -5
  211. package/dist/collection/components/co-date-field/co-date-field.js +4 -4
  212. package/dist/collection/components/co-date-picker/co-date-picker.css +5 -2
  213. package/dist/collection/components/co-date-range/co-date-range.js +1 -1
  214. package/dist/collection/components/co-date-range-picker/co-date-range-picker.css +9 -3
  215. package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +2 -2
  216. package/dist/collection/components/co-date-time-picker/co-date-time-picker.css +11 -5
  217. package/dist/collection/components/co-date-time-picker/co-date-time-picker.js +2 -2
  218. package/dist/collection/components/co-document-editor/co-document-editor.css +112 -1
  219. package/dist/collection/components/co-document-editor/co-document-editor.js +91 -10
  220. package/dist/collection/components/co-document-editor/signature-bar.js +26 -0
  221. package/dist/collection/components/co-drawer/co-drawer.css +12 -4
  222. package/dist/collection/components/co-drawer/co-drawer.js +16 -0
  223. package/dist/collection/components/co-drive-card/co-drive-card.css +18 -12
  224. package/dist/collection/components/co-drive-card/co-drive-card.js +1 -1
  225. package/dist/collection/components/co-drop-zone/co-drop-zone.js +1 -1
  226. package/dist/collection/components/co-emoji-picker/co-emoji-picker.js +2 -2
  227. package/dist/collection/components/co-empty-state/co-empty-state.css +10 -6
  228. package/dist/collection/components/co-empty-state/co-empty-state.js +2 -2
  229. package/dist/collection/components/co-event-calendar/co-event-calendar.js +2 -2
  230. package/dist/collection/components/co-event-popover/co-event-popover.js +1 -1
  231. package/dist/collection/components/co-fab/co-fab.css +5 -3
  232. package/dist/collection/components/co-fab/co-fab.js +2 -2
  233. package/dist/collection/components/co-file-field/co-file-field.css +11 -6
  234. package/dist/collection/components/co-file-field/co-file-field.js +30 -16
  235. package/dist/collection/components/co-file-field/co-file-field.utils.js +57 -0
  236. package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +2 -2
  237. package/dist/collection/components/co-gradient-bar/co-gradient-bar.js +2 -2
  238. package/dist/collection/components/co-helper-text/co-helper-text.css +6 -4
  239. package/dist/collection/components/co-helper-text/co-helper-text.js +2 -2
  240. package/dist/collection/components/co-icon/co-icon.js +2 -2
  241. package/dist/collection/components/co-icon-button/co-icon-button.css +5 -3
  242. package/dist/collection/components/co-icon-button/co-icon-button.js +2 -2
  243. package/dist/collection/components/co-input/co-input.css +49 -22
  244. package/dist/collection/components/co-json-field/co-json-field.css +10 -5
  245. package/dist/collection/components/co-json-field/co-json-field.js +3 -3
  246. package/dist/collection/components/co-kbd/co-kbd.js +1 -1
  247. package/dist/collection/components/co-lightbox/co-lightbox.js +8 -7
  248. package/dist/collection/components/co-lightbox/openInTab.js +63 -0
  249. package/dist/collection/components/co-list-footer/co-list-footer.js +1 -1
  250. package/dist/collection/components/co-list-item/co-list-item.js +4 -4
  251. package/dist/collection/components/co-media-thumb/co-media-thumb.js +2 -2
  252. package/dist/collection/components/co-menu/co-menu.css +7 -0
  253. package/dist/collection/components/co-menu/co-menu.js +2 -2
  254. package/dist/collection/components/co-menu-divider/co-menu-divider.js +1 -1
  255. package/dist/collection/components/co-menu-item/co-menu-item.css +19 -7
  256. package/dist/collection/components/co-modal/co-modal.css +3 -0
  257. package/dist/collection/components/co-modal/co-modal.js +23 -2
  258. package/dist/collection/components/co-navbar/co-navbar.js +2 -2
  259. package/dist/collection/components/co-number-field/co-number-field.css +12 -6
  260. package/dist/collection/components/co-number-field/co-number-field.js +3 -3
  261. package/dist/collection/components/co-option-list/co-option-list.css +7 -4
  262. package/dist/collection/components/co-option-list/co-option-list.js +2 -2
  263. package/dist/collection/components/co-overlay/co-overlay.css +3 -0
  264. package/dist/collection/components/co-overlay/co-overlay.js +1 -1
  265. package/dist/collection/components/co-overlay/escapeLayers.js +20 -0
  266. package/dist/collection/components/co-page-header/co-page-header.js +1 -1
  267. package/dist/collection/components/co-phone-field/co-phone-field.css +8 -3
  268. package/dist/collection/components/co-phone-field/co-phone-field.js +36 -1
  269. package/dist/collection/components/co-popover/co-popover.css +4 -0
  270. package/dist/collection/components/co-popover/co-popover.js +33 -4
  271. package/dist/collection/components/co-progress-bar/co-progress-bar.css +6 -2
  272. package/dist/collection/components/co-progress-bar/co-progress-bar.js +2 -2
  273. package/dist/collection/components/co-progress-circle/co-progress-circle.js +2 -2
  274. package/dist/collection/components/co-radio/co-radio.js +3 -3
  275. package/dist/collection/components/co-radio-group/co-radio-group.css +10 -5
  276. package/dist/collection/components/co-radio-group/co-radio-group.js +1 -1
  277. package/dist/collection/components/co-rating/co-rating.css +6 -4
  278. package/dist/collection/components/co-rating/co-rating.js +3 -3
  279. package/dist/collection/components/co-ref-field/co-ref-field.css +43 -8
  280. package/dist/collection/components/co-ref-field/co-ref-field.js +17 -10
  281. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.css +26 -4
  282. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +77 -20
  283. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.css +3 -1
  284. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +40 -0
  285. package/dist/collection/components/co-rich-text-toolbar/panelFit.js +63 -0
  286. package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.css +2 -1
  287. package/dist/collection/components/co-row/co-row.js +2 -2
  288. package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +1 -1
  289. package/dist/collection/components/co-select/co-select.css +22 -12
  290. package/dist/collection/components/co-select/co-select.js +10 -8
  291. package/dist/collection/components/co-separator/co-separator.js +1 -1
  292. package/dist/collection/components/co-sidebar/co-sidebar.js +2 -2
  293. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.css +56 -19
  294. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +11 -9
  295. package/dist/collection/components/co-skeleton/co-skeleton.js +1 -1
  296. package/dist/collection/components/co-slider/co-slider.css +6 -4
  297. package/dist/collection/components/co-slider/co-slider.js +2 -2
  298. package/dist/collection/components/co-swatch-grid/co-swatch-grid.js +1 -1
  299. package/dist/collection/components/co-switch/co-switch.css +16 -7
  300. package/dist/collection/components/co-switch/co-switch.js +3 -3
  301. package/dist/collection/components/co-tab/co-tab.css +33 -29
  302. package/dist/collection/components/co-tab/co-tab.js +2 -2
  303. package/dist/collection/components/co-tab-group/co-tab-group.css +26 -6
  304. package/dist/collection/components/co-tab-group/co-tab-group.js +78 -11
  305. package/dist/collection/components/co-tab-group/trackScroll.js +31 -0
  306. package/dist/collection/components/co-tags-field/co-tags-field.css +10 -5
  307. package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
  308. package/dist/collection/components/co-textarea/co-textarea.css +12 -7
  309. package/dist/collection/components/co-textarea/co-textarea.js +4 -4
  310. package/dist/collection/components/co-tile/co-tile.js +1 -1
  311. package/dist/collection/components/co-time-field/co-time-field.js +1 -1
  312. package/dist/collection/components/co-toast/co-toast.css +36 -25
  313. package/dist/collection/components/co-toast/co-toast.js +2 -2
  314. package/dist/collection/components/co-toggle-button/co-toggle-button.css +47 -0
  315. package/dist/collection/components/co-toggle-button/co-toggle-button.js +7 -5
  316. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.css +12 -0
  317. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +10 -8
  318. package/dist/collection/components/co-tooltip/co-tooltip.css +14 -5
  319. package/dist/collection/components/co-tooltip/co-tooltip.js +29 -2
  320. package/dist/collection/components/co-transfer-list/co-transfer-list.css +15 -8
  321. package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
  322. package/dist/collection/components/co-tree-item/co-tree-item.js +2 -2
  323. package/dist/collection/components/co-video/co-video.js +2 -2
  324. package/dist/collection/utils/amountText.js +5 -1
  325. package/dist/collection/utils/color.js +36 -2
  326. package/dist/collection/utils/eventColor.js +7 -3
  327. package/dist/collection/utils/fieldChip.js +1 -1
  328. package/dist/collection/utils/phoneI18n.js +34 -0
  329. package/dist/collection/utils/richTextI18n.js +12 -0
  330. package/dist/components/co-accordion.js +1 -1
  331. package/dist/components/co-action-bar.js +1 -1
  332. package/dist/components/co-app-shell.js +1 -1
  333. package/dist/components/co-audio-player.js +1 -1
  334. package/dist/components/co-autocomplete.js +1 -1
  335. package/dist/components/co-avatar-group.js +1 -1
  336. package/dist/components/co-avatar.js +1 -1
  337. package/dist/components/co-breadcrumb-item.js +1 -1
  338. package/dist/components/co-breadcrumb.js +1 -1
  339. package/dist/components/co-button.js +1 -1
  340. package/dist/components/co-calendar-month.js +1 -1
  341. package/dist/components/co-calendar-timegrid.js +1 -1
  342. package/dist/components/co-calendar.js +1 -1
  343. package/dist/components/co-carousel.js +1 -1
  344. package/dist/components/co-checkbox-group.js +1 -1
  345. package/dist/components/co-checkbox.js +1 -1
  346. package/dist/components/co-chip.js +1 -1
  347. package/dist/components/co-color-picker.js +1 -1
  348. package/dist/components/co-column-picker.js +1 -1
  349. package/dist/components/co-combobox.js +1 -1
  350. package/dist/components/co-command-search.js +1 -1
  351. package/dist/components/co-data-table-pagination.js +1 -1
  352. package/dist/components/co-data-table.js +1 -1
  353. package/dist/components/co-date-field.js +1 -1
  354. package/dist/components/co-date-picker.js +1 -1
  355. package/dist/components/co-date-range-picker.js +1 -1
  356. package/dist/components/co-date-range.js +1 -1
  357. package/dist/components/co-date-time-picker.js +1 -1
  358. package/dist/components/co-document-editor.js +1 -1
  359. package/dist/components/co-drawer.js +1 -1
  360. package/dist/components/co-drive-card.js +1 -1
  361. package/dist/components/co-drop-zone.js +1 -1
  362. package/dist/components/co-emoji-picker.js +1 -1
  363. package/dist/components/co-empty-state.js +1 -1
  364. package/dist/components/co-event-calendar.js +1 -1
  365. package/dist/components/co-event-popover.js +1 -1
  366. package/dist/components/co-fab.js +1 -1
  367. package/dist/components/co-file-field.js +1 -1
  368. package/dist/components/co-file-type-tile.js +1 -1
  369. package/dist/components/co-gradient-bar.js +1 -1
  370. package/dist/components/co-helper-text.js +1 -1
  371. package/dist/components/co-icon-button.js +1 -1
  372. package/dist/components/co-icon.js +1 -1
  373. package/dist/components/co-input.js +1 -1
  374. package/dist/components/co-json-field.js +1 -1
  375. package/dist/components/co-kbd.js +1 -1
  376. package/dist/components/co-lightbox.js +1 -1
  377. package/dist/components/co-list-footer.js +1 -1
  378. package/dist/components/co-list-item.js +1 -1
  379. package/dist/components/co-media-thumb.js +1 -1
  380. package/dist/components/co-menu-divider.js +1 -1
  381. package/dist/components/co-menu-item.js +1 -1
  382. package/dist/components/co-menu.js +1 -1
  383. package/dist/components/co-modal.js +1 -1
  384. package/dist/components/co-navbar.js +1 -1
  385. package/dist/components/co-number-field.js +1 -1
  386. package/dist/components/co-option-list.js +1 -1
  387. package/dist/components/co-overlay.js +1 -1
  388. package/dist/components/co-page-header.js +1 -1
  389. package/dist/components/co-phone-field.js +1 -1
  390. package/dist/components/co-popover.js +1 -1
  391. package/dist/components/co-progress-bar.js +1 -1
  392. package/dist/components/co-progress-circle.js +1 -1
  393. package/dist/components/co-radio-group.js +1 -1
  394. package/dist/components/co-radio.js +1 -1
  395. package/dist/components/co-rating.js +1 -1
  396. package/dist/components/co-ref-field.js +1 -1
  397. package/dist/components/co-rich-text-editor.js +1 -1
  398. package/dist/components/co-rich-text-toolbar.js +1 -1
  399. package/dist/components/co-rich-text-viewer.js +1 -1
  400. package/dist/components/co-row.js +1 -1
  401. package/dist/components/co-select.js +1 -1
  402. package/dist/components/co-separator.js +1 -1
  403. package/dist/components/co-sidebar-nav.js +1 -1
  404. package/dist/components/co-sidebar.js +1 -1
  405. package/dist/components/co-skeleton.js +1 -1
  406. package/dist/components/co-slider.js +1 -1
  407. package/dist/components/co-swatch-grid.js +1 -1
  408. package/dist/components/co-switch.js +1 -1
  409. package/dist/components/co-tab-group.js +1 -1
  410. package/dist/components/co-tab.js +1 -1
  411. package/dist/components/co-tags-field.js +1 -1
  412. package/dist/components/co-textarea.js +1 -1
  413. package/dist/components/co-tile.js +1 -1
  414. package/dist/components/co-time-field.js +1 -1
  415. package/dist/components/co-toast.js +1 -1
  416. package/dist/components/co-toggle-button-group.js +1 -1
  417. package/dist/components/co-toggle-button.js +1 -1
  418. package/dist/components/co-tooltip.js +1 -1
  419. package/dist/components/co-transfer-list.js +1 -1
  420. package/dist/components/co-tree-item.js +1 -1
  421. package/dist/components/co-video.js +1 -1
  422. package/dist/components/{p-CxWo3qDo.js → p-4Y3YkFf1.js} +1 -1
  423. package/dist/components/p-B5F93Ujt.js +1 -0
  424. package/dist/components/p-B70R6xWE.js +1 -0
  425. package/dist/components/p-BSt2t5Fy.js +1 -0
  426. package/dist/components/p-BfDYq7JS.js +1 -0
  427. package/dist/components/{p-C4sZjIDj.js → p-BhmVj5-9.js} +1 -1
  428. package/dist/components/p-BzxEh7sq.js +1 -0
  429. package/dist/components/p-CDiRdG6I.js +1 -0
  430. package/dist/components/p-CMMv2RcH.js +1 -0
  431. package/dist/components/{p-Dn2wblrA.js → p-CO12CK0t.js} +1 -1
  432. package/dist/components/{p-DymSqdlK.js → p-COCcx0DN.js} +1 -1
  433. package/dist/components/{p-DXLeDZvr.js → p-CP7MznKV.js} +1 -1
  434. package/dist/components/{p-wUXcJGdy.js → p-CX0bNXK3.js} +1 -1
  435. package/dist/components/{p-Bw_b_czs.js → p-CXi0fhTi.js} +1 -1
  436. package/dist/components/p-CaAdnjC6.js +1 -0
  437. package/dist/components/p-CaFwCFgg.js +1 -0
  438. package/dist/components/p-CjB5Vqpy.js +1 -0
  439. package/dist/components/p-Co0eKIiO.js +1 -0
  440. package/dist/components/{p-Ch-Tygdb.js → p-CqQobidl.js} +1 -1
  441. package/dist/components/{p-BRZci8B3.js → p-CwRoHnzq.js} +1 -1
  442. package/dist/components/{p-Dnz99Ox_.js → p-DMW9TJ7Z.js} +1 -1
  443. package/dist/components/p-DTWqwwXO.js +1 -0
  444. package/dist/components/{p-8XzG8pzY.js → p-DldA2IL3.js} +1 -1
  445. package/dist/components/p-LnW75kr5.js +1 -0
  446. package/dist/components/p-R1W48hzW.js +1 -0
  447. package/dist/components/{p-BqFBZ1PT.js → p-_S5htX1i.js} +1 -1
  448. package/dist/components/p-hXbDUT3I.js +1 -0
  449. package/dist/components/p-o5wUtH9g.js +1 -0
  450. package/dist/components/{p-KK2vAKs-.js → p-qMNHMnvI.js} +1 -1
  451. package/dist/components/{p-C6WHpL5X.js → p-rfvTj6cP.js} +1 -1
  452. package/dist/components/{p-BI_VaFsx.js → p-upZqhFKo.js} +1 -1
  453. package/dist/components/{p-COozgrEk.js → p-w3AQrtBx.js} +1 -1
  454. package/dist/components/p-xtGT3YeI.js +1 -0
  455. package/dist/esm/co-action-bar.entry.js +1 -1
  456. package/dist/esm/co-app-shell.entry.js +1 -1
  457. package/dist/esm/co-autocomplete.entry.js +1 -1
  458. package/dist/esm/co-avatar.entry.js +6 -3
  459. package/dist/esm/co-button.entry.js +14 -6
  460. package/dist/esm/co-calendar-month_2.entry.js +9 -5
  461. package/dist/esm/co-calendar_3.entry.js +23 -7
  462. package/dist/esm/co-checkbox-group.entry.js +1 -1
  463. package/dist/esm/co-checkbox.entry.js +1 -1
  464. package/dist/esm/co-chip_2.entry.js +4 -4
  465. package/dist/esm/co-color-picker.entry.js +24 -5
  466. package/dist/esm/co-column-picker.entry.js +3 -3
  467. package/dist/esm/co-combobox.entry.js +7 -5
  468. package/dist/esm/co-command-search.entry.js +1 -1
  469. package/dist/esm/co-data-table-pagination.entry.js +5 -5
  470. package/dist/esm/co-data-table.entry.js +1 -1
  471. package/dist/esm/co-date-picker.entry.js +1 -1
  472. package/dist/esm/co-date-range-picker.entry.js +1 -1
  473. package/dist/esm/co-date-range.entry.js +1 -1
  474. package/dist/esm/co-date-time-picker.entry.js +3 -3
  475. package/dist/esm/co-document-editor.entry.js +108 -7
  476. package/dist/esm/co-drive-card.entry.js +2 -2
  477. package/dist/esm/co-drop-zone.entry.js +1 -1
  478. package/dist/esm/co-emoji-picker.entry.js +2 -2
  479. package/dist/esm/co-empty-state.entry.js +3 -3
  480. package/dist/esm/co-event-calendar.entry.js +2 -2
  481. package/dist/esm/co-event-popover.entry.js +1 -1
  482. package/dist/esm/co-fab.entry.js +3 -3
  483. package/dist/esm/co-file-field.entry.js +87 -16
  484. package/dist/esm/co-file-type-tile.entry.js +2 -2
  485. package/dist/esm/co-gradient-bar.entry.js +4 -4
  486. package/dist/esm/co-helper-text.entry.js +3 -3
  487. package/dist/esm/co-icon-button.entry.js +3 -3
  488. package/dist/esm/co-icon.entry.js +2 -2
  489. package/dist/esm/co-input.entry.js +1 -1
  490. package/dist/esm/co-json-field.entry.js +4 -4
  491. package/dist/esm/co-kbd_2.entry.js +11 -4
  492. package/dist/esm/co-lightbox.entry.js +71 -7
  493. package/dist/esm/co-list-footer.entry.js +1 -1
  494. package/dist/esm/co-list-item.entry.js +4 -4
  495. package/dist/esm/co-media-thumb.entry.js +2 -2
  496. package/dist/esm/co-menu-divider.entry.js +1 -1
  497. package/dist/esm/co-menu-item.entry.js +1 -1
  498. package/dist/esm/co-menu.entry.js +3 -3
  499. package/dist/esm/co-modal.entry.js +23 -3
  500. package/dist/esm/co-navbar.entry.js +2 -2
  501. package/dist/esm/co-number-field.entry.js +9 -5
  502. package/dist/esm/co-overlay.entry.js +2 -2
  503. package/dist/esm/co-page-header.entry.js +1 -1
  504. package/dist/esm/co-phone-field.entry.js +52 -2
  505. package/dist/esm/co-popover.entry.js +33 -4
  506. package/dist/esm/co-progress-bar.entry.js +3 -3
  507. package/dist/esm/co-progress-circle.entry.js +2 -2
  508. package/dist/esm/co-provider-logo_2.entry.js +1 -1
  509. package/dist/esm/co-radio-group.entry.js +1 -1
  510. package/dist/esm/co-radio.entry.js +3 -3
  511. package/dist/esm/co-rating.entry.js +4 -4
  512. package/dist/esm/co-ref-field.entry.js +15 -8
  513. package/dist/esm/co-rich-text-editor.entry.js +80 -23
  514. package/dist/esm/co-rich-text-toolbar.entry.js +105 -2
  515. package/dist/esm/co-rich-text-viewer.entry.js +2 -2
  516. package/dist/esm/co-row.entry.js +2 -2
  517. package/dist/esm/co-select.entry.js +10 -8
  518. package/dist/esm/co-separator.entry.js +1 -1
  519. package/dist/esm/co-sidebar-nav.entry.js +11 -9
  520. package/dist/esm/co-sidebar.entry.js +2 -2
  521. package/dist/esm/co-slider.entry.js +3 -3
  522. package/dist/esm/co-swatch-grid.entry.js +3 -3
  523. package/dist/esm/co-switch.entry.js +4 -4
  524. package/dist/esm/co-tab-group.entry.js +110 -12
  525. package/dist/esm/co-tab.entry.js +3 -3
  526. package/dist/esm/co-tags-field.entry.js +7 -7
  527. package/dist/esm/co-textarea.entry.js +5 -5
  528. package/dist/esm/co-tile.entry.js +1 -1
  529. package/dist/esm/co-time-field.entry.js +1 -1
  530. package/dist/esm/co-toast.entry.js +1 -1
  531. package/dist/esm/co-toggle-button-group.entry.js +6 -4
  532. package/dist/esm/co-toggle-button.entry.js +5 -3
  533. package/dist/esm/co-transfer-list.entry.js +1 -1
  534. package/dist/esm/co-video.entry.js +2 -2
  535. package/dist/esm/cobalt.js +1 -1
  536. package/dist/esm/{color-BVGGRfNG.js → color-BzxEh7sq.js} +37 -3
  537. package/dist/esm/escapeLayers-hXbDUT3I.js +18 -0
  538. package/dist/esm/fieldChip-B0N8z5W-.js +5 -0
  539. package/dist/esm/{gradientStops-DDK0y8ra.js → gradientStops-W-_rTTl_.js} +1 -1
  540. package/dist/esm/{index-CgyOJePd.js → index-BNt7Zg14.js} +1 -1
  541. package/dist/esm/index-DJkaRtbb.js +14 -14
  542. package/dist/esm/loader.js +1 -1
  543. package/dist/esm/{pagination-BzrIQtrk.js → pagination-BXztNUE3.js} +30 -0
  544. package/dist/esm/{richTextI18n-xnrKkNWQ.js → richTextI18n-EtYK1iGx.js} +12 -0
  545. package/dist/types/components/co-button/co-button.d.ts +4 -0
  546. package/dist/types/components/co-color-picker/co-color-picker.d.ts +7 -0
  547. package/dist/types/components/co-document-editor/co-document-editor.d.ts +24 -1
  548. package/dist/types/components/co-document-editor/signature-bar.d.ts +26 -0
  549. package/dist/types/components/co-drawer/co-drawer.d.ts +2 -0
  550. package/dist/types/components/co-file-field/co-file-field.d.ts +6 -0
  551. package/dist/types/components/co-file-field/co-file-field.utils.d.ts +26 -0
  552. package/dist/types/components/co-lightbox/co-lightbox.d.ts +5 -0
  553. package/dist/types/components/co-lightbox/openInTab.d.ts +46 -0
  554. package/dist/types/components/co-modal/co-modal.d.ts +2 -0
  555. package/dist/types/components/co-overlay/escapeLayers.d.ts +18 -0
  556. package/dist/types/components/co-phone-field/co-phone-field.d.ts +11 -0
  557. package/dist/types/components/co-popover/co-popover.d.ts +7 -0
  558. package/dist/types/components/co-ref-field/co-ref-field.d.ts +3 -2
  559. package/dist/types/components/co-rich-text-editor/co-rich-text-editor.d.ts +14 -1
  560. package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +10 -0
  561. package/dist/types/components/co-rich-text-toolbar/panelFit.d.ts +38 -0
  562. package/dist/types/components/co-tab-group/co-tab-group.d.ts +21 -3
  563. package/dist/types/components/co-tab-group/trackScroll.d.ts +19 -0
  564. package/dist/types/components/co-toggle-button/co-toggle-button.d.ts +3 -1
  565. package/dist/types/components/co-toggle-button-group/co-toggle-button-group.d.ts +6 -4
  566. package/dist/types/components/co-tooltip/co-tooltip.d.ts +6 -0
  567. package/dist/types/components.d.ts +61 -25
  568. package/dist/types/utils/color.d.ts +28 -1
  569. package/dist/types/utils/eventColor.d.ts +3 -1
  570. package/dist/types/utils/fieldChip.d.ts +6 -0
  571. package/dist/types/utils/phoneI18n.d.ts +18 -0
  572. package/dist/types/utils/richTextI18n.d.ts +4 -0
  573. package/package.json +3 -3
  574. package/dist/cjs/fieldChip-C7MxxBVO.js +0 -7
  575. package/dist/cobalt/p-0d046d98.entry.js +0 -1
  576. package/dist/cobalt/p-12914c0a.entry.js +0 -1
  577. package/dist/cobalt/p-1348d5ca.entry.js +0 -1
  578. package/dist/cobalt/p-2231bacc.entry.js +0 -1
  579. package/dist/cobalt/p-28cf05f3.entry.js +0 -1
  580. package/dist/cobalt/p-3d1a48e5.entry.js +0 -1
  581. package/dist/cobalt/p-4bcdd422.entry.js +0 -1
  582. package/dist/cobalt/p-58ebb303.entry.js +0 -1
  583. package/dist/cobalt/p-5e678e88.entry.js +0 -1
  584. package/dist/cobalt/p-60f948c4.entry.js +0 -1
  585. package/dist/cobalt/p-6974df59.entry.js +0 -1
  586. package/dist/cobalt/p-69ecc933.entry.js +0 -1
  587. package/dist/cobalt/p-6c1992c9.entry.js +0 -1
  588. package/dist/cobalt/p-6c7e423c.entry.js +0 -1
  589. package/dist/cobalt/p-6d4a660c.entry.js +0 -1
  590. package/dist/cobalt/p-763698b3.entry.js +0 -1
  591. package/dist/cobalt/p-77e0d401.entry.js +0 -1
  592. package/dist/cobalt/p-78412feb.entry.js +0 -1
  593. package/dist/cobalt/p-7c20207b.entry.js +0 -1
  594. package/dist/cobalt/p-7df18a52.entry.js +0 -1
  595. package/dist/cobalt/p-848f5ca4.entry.js +0 -1
  596. package/dist/cobalt/p-87de5469.entry.js +0 -1
  597. package/dist/cobalt/p-93063876.entry.js +0 -1
  598. package/dist/cobalt/p-9adbab95.entry.js +0 -1
  599. package/dist/cobalt/p-9b114836.entry.js +0 -1
  600. package/dist/cobalt/p-9dc01092.entry.js +0 -1
  601. package/dist/cobalt/p-BVGGRfNG.js +0 -1
  602. package/dist/cobalt/p-DGLDAl09.js +0 -1
  603. package/dist/cobalt/p-DgJovDdy.js +0 -1
  604. package/dist/cobalt/p-a56bd4a8.entry.js +0 -1
  605. package/dist/cobalt/p-a5eabecb.entry.js +0 -1
  606. package/dist/cobalt/p-a5ee1fc2.entry.js +0 -1
  607. package/dist/cobalt/p-ad752791.entry.js +0 -1
  608. package/dist/cobalt/p-b39a4999.entry.js +0 -1
  609. package/dist/cobalt/p-b5dabdc3.entry.js +0 -1
  610. package/dist/cobalt/p-b9b73dcb.entry.js +0 -1
  611. package/dist/cobalt/p-bb7bbe70.entry.js +0 -1
  612. package/dist/cobalt/p-c5464a98.entry.js +0 -1
  613. package/dist/cobalt/p-c567533e.entry.js +0 -1
  614. package/dist/cobalt/p-d6215d80.entry.js +0 -1
  615. package/dist/cobalt/p-db623519.entry.js +0 -1
  616. package/dist/cobalt/p-ea24eea8.entry.js +0 -1
  617. package/dist/cobalt/p-f0898e21.entry.js +0 -1
  618. package/dist/cobalt/p-f403eeec.entry.js +0 -1
  619. package/dist/cobalt/p-xnrKkNWQ.js +0 -1
  620. package/dist/components/p-9VoFSbIH.js +0 -1
  621. package/dist/components/p-B3Egz082.js +0 -1
  622. package/dist/components/p-B9wdMd_0.js +0 -1
  623. package/dist/components/p-BVGGRfNG.js +0 -1
  624. package/dist/components/p-BdmzslA5.js +0 -1
  625. package/dist/components/p-C4U2tbRp.js +0 -1
  626. package/dist/components/p-C_6szR7t.js +0 -1
  627. package/dist/components/p-CiYPJW0B.js +0 -1
  628. package/dist/components/p-D4XP17VP.js +0 -1
  629. package/dist/components/p-DB8DGMc-.js +0 -1
  630. package/dist/components/p-DGLDAl09.js +0 -1
  631. package/dist/components/p-DhPxNA2f.js +0 -1
  632. package/dist/components/p-DsuFNmTI.js +0 -1
  633. package/dist/components/p-TGRbLkLz.js +0 -1
  634. package/dist/components/p-VcrjNCew.js +0 -1
  635. package/dist/components/p-dnaee7fS.js +0 -1
  636. package/dist/esm/fieldChip-B2ctp2m6.js +0 -5
@@ -1,12 +1,13 @@
1
1
  import { r as registerInstance, c as createEvent, h, a as getElement } from './index-DJkaRtbb.js';
2
- import { R as RichText } from './index-CgyOJePd.js';
3
- import { g as getRichTextStrings } from './richTextI18n-xnrKkNWQ.js';
2
+ import { R as RichText } from './index-BNt7Zg14.js';
3
+ import { g as getRichTextStrings } from './richTextI18n-EtYK1iGx.js';
4
4
  import { E as EchoGuard, p as parseEditorValue, a as applyExternalValue, b as parseFeatures, c as buildOutput, s as syncToolbarEditor, d as syncImageLayouts } from './rich-text-host-BmdKHBZP.js';
5
- import './pagination-BzrIQtrk.js';
5
+ import { R as RequiredMark } from './requiredMark-D5C5NzOE.js';
6
+ import './pagination-BXztNUE3.js';
6
7
  import './purify.es-B2QLgWrz.js';
7
8
  import './toolbar-config-CRxTFT_z.js';
8
9
 
9
- const coRichTextEditorCss = () => `co-rich-text-editor{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body)}.co-rich-text-editor{display:flex;flex-direction:column;gap:var(--co-spacing-sm2, 6px)}.co-rich-text-editor__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2, 6px)}.co-rich-text-editor__label,.co-rich-text-editor__secondary-label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-rich-text-editor__frame{display:flex;flex-direction:column;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out);min-height:0;flex:1;position:relative;overflow:visible}.co-rich-text-editor__box{display:flex;flex-direction:column;min-height:0;flex:1;position:relative;overflow-y:auto;overflow-x:hidden}.co-rich-text-editor--flat .co-rich-text-editor__frame{background:transparent;border-color:transparent}.co-rich-text-editor--focused .co-rich-text-editor__frame{border-color:var(--co-semantic-border-focus, var(--co-color-base-negro, #1a1a1a));box-shadow:0 0 0 3px var(--co-semantic-border-focus-ring, rgba(37, 99, 235, 0.15))}.co-rich-text-editor--error .co-rich-text-editor__frame{border-color:var(--co-color-status-error)}.co-rich-text-editor--success .co-rich-text-editor__frame{border-color:var(--co-color-status-success)}.co-rich-text-editor--disabled .co-rich-text-editor__frame,.co-rich-text-editor--readonly .co-rich-text-editor__frame{opacity:0.7;cursor:not-allowed}.co-rich-text-editor--loading .co-rte-content{min-height:96px;background:linear-gradient(90deg, var(--co-semantic-surface-secondary) 0%, var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.04)) 50%, var(--co-semantic-surface-secondary) 100%);background-size:200% 100%;animation:co-rte-skeleton 1.2s ease-in-out infinite}@keyframes co-rte-skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}.co-rich-text-editor__toolbar{position:relative;flex-shrink:0;z-index:60;border-top-left-radius:calc(var(--co-border-radius-xs) - 1px);border-top-right-radius:calc(var(--co-border-radius-xs) - 1px)}.co-rich-text-editor__toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-md);flex-shrink:0;min-width:0;border-top:1px solid var(--co-semantic-border-subtle)}.co-rich-text-editor--toolbar-bottom .co-rich-text-editor__toolbar{border-top-left-radius:0;border-top-right-radius:0;min-width:0}.co-rte-content{min-height:96px;color:var(--co-semantic-text-default);flex:1 0 auto;display:flex;flex-direction:column}.co-rte-content .ProseMirror{outline:none;flex:1 0 auto;line-height:1.5;padding:var(--co-spacing-md);box-sizing:border-box}.co-rte-content .ProseMirror p{margin:0 0 var(--co-spacing-sm) 0}.co-rte-content .ProseMirror p:last-child{margin-bottom:0}.co-rte-content .ProseMirror>p{margin-bottom:var(--co-spacing-sm) !important}.co-rte-content .ProseMirror>p:last-child{margin-bottom:0 !important}.co-rte-content .ProseMirror [style*="text-align: justify"]{text-align-last:left}.co-rte-content .ProseMirror [style*="text-align: center"]{text-align:center}.co-rte-content .ProseMirror [style*="text-align: right"]{text-align:right}.co-rte-content .ProseMirror h1,.co-rte-content .ProseMirror h2,.co-rte-content .ProseMirror h3,.co-rte-content .ProseMirror h4{margin:var(--co-spacing-md) 0 var(--co-spacing-sm);font-weight:600;line-height:1.3}.co-rte-content .ProseMirror h1{font-size:var(--co-font-size-28, 28px)}.co-rte-content .ProseMirror h2{font-size:var(--co-font-size-20, 20px)}.co-rte-content .ProseMirror h3{font-size:var(--co-font-size-16, 16px)}.co-rte-content .ProseMirror ul,.co-rte-content .ProseMirror ol{padding-left:var(--co-spacing-xl);margin:0 0 var(--co-spacing-sm) 0}.co-rte-content .ProseMirror ul[data-type="taskList"]{list-style:none;padding-left:0;margin:0 0 var(--co-spacing-sm) 0}.co-rte-content .ProseMirror ul[data-type="taskList"] li{display:flex;align-items:flex-start;gap:var(--co-spacing-sm, 8px)}.co-rte-content .ProseMirror ul[data-type="taskList"] li>label{flex:0 0 auto;margin-top:0.15em;user-select:none}.co-rte-content .ProseMirror ul[data-type="taskList"] li>div{flex:1 1 auto;min-width:0}.co-rte-content .ProseMirror ul[data-type="taskList"] li>div>p{margin:0}.co-rte-content .ProseMirror ul[data-type="taskList"] input[type="checkbox"]{width:16px;height:16px;cursor:pointer;accent-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-content .ProseMirror ul[data-type="taskList"][data-variant="strike"] li[data-checked="true"]>div{text-decoration:line-through;color:var(--co-semantic-text-muted, #999)}.co-rte-content .ProseMirror ul[data-type="taskList"][data-variant="plain"] li[data-checked="true"]>div{text-decoration:none}.co-rte-content .ProseMirror blockquote{border-left:3px solid var(--co-semantic-border-default, var(--co-semantic-border-subtle));padding-left:var(--co-spacing-md);margin:0 0 var(--co-spacing-sm) 0;color:var(--co-semantic-text-secondary)}.co-rte-content .ProseMirror a{color:var(--co-color-base-negro, #1a1a1a);text-decoration:underline;text-underline-offset:2px}.co-rte-content .ProseMirror img{max-width:100%;height:auto;border-radius:var(--co-border-radius-xs);margin:var(--co-spacing-sm) 0;cursor:default;-webkit-user-drag:none;user-select:none}.co-rte-content .ProseMirror img.ProseMirror-selectednode{outline:2px solid var(--co-color-base-negro, #1a1a1a)}.co-rte-content [data-resize-container].ProseMirror-selectednode{outline:2px solid var(--co-color-base-negro, #1a1a1a);outline-offset:0px;border-radius:0}.co-rte-content [data-resize-container]{position:relative;display:inline-block;width:fit-content;max-width:100%;margin:var(--co-spacing-sm) 0;line-height:0}.co-rte-content [data-resize-container][data-resize-state="true"]{outline:2px solid var(--co-color-base-negro, #1a1a1a);outline-offset:0px;border-radius:0}.co-rte-content [data-resize-wrapper]{position:relative;display:inline-block;line-height:0}.co-rte-content [data-resize-handle]{width:10px;height:10px;background:var(--co-color-base-negro, #1a1a1a);border:1.5px solid #fff;border-radius:50%;box-shadow:0 0 2px rgba(0, 0, 0, 0.3);z-index:5;opacity:0;pointer-events:none}.co-rte-content [data-resize-container][data-resize-state="true"] [data-resize-handle],.co-rte-content [data-resize-container].ProseMirror-selectednode [data-resize-handle]{opacity:1;pointer-events:auto}.co-rte-content [data-resize-handle="top-left"]{cursor:nw-resize}.co-rte-content [data-resize-handle="top-right"]{cursor:ne-resize}.co-rte-content [data-resize-handle="bottom-left"]{cursor:sw-resize}.co-rte-content [data-resize-handle="bottom-right"]{cursor:se-resize}.co-rte-content [data-resize-handle="top"],.co-rte-content [data-resize-handle="bottom"]{width:30px;height:6px;border-radius:3px;left:50% !important;transform:translateX(-50%)}.co-rte-content [data-resize-handle="top"]{cursor:n-resize}.co-rte-content [data-resize-handle="bottom"]{cursor:s-resize}.co-rte-content [data-resize-handle="left"],.co-rte-content [data-resize-handle="right"]{width:6px;height:30px;border-radius:3px;top:50% !important;transform:translateY(-50%)}.co-rte-content [data-resize-handle="left"]{cursor:w-resize}.co-rte-content [data-resize-handle="right"]{cursor:e-resize}.co-rte-content [data-resize-container] img{max-width:100%;display:block;border-radius:0;margin:0}.co-rte-content .ProseMirror hr{border:none;border-top:1px solid var(--co-semantic-border-default, #e0e0e0);margin:var(--co-spacing-lg) 0}.co-rte-content .ProseMirror code{font-family:var(--co-font-family-mono);font-size:0.9em;background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));padding:0.1em 0.3em;border-radius:var(--co-border-radius-xxs)}.co-rte-content .ProseMirror pre{font-family:var(--co-font-family-mono);font-size:0.9em;background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));padding:var(--co-spacing-md);border-radius:var(--co-border-radius-xs);overflow-x:auto;margin:var(--co-spacing-sm) 0}.co-rte-content .ProseMirror pre code{background:none;padding:0;border-radius:0}.co-rte-content .ProseMirror p.is-editor-empty:first-child::before{content:attr(data-placeholder);color:var(--co-semantic-text-muted);float:left;height:0;pointer-events:none}.co-rte-content .co-rte-variable,.co-rte-content .co-rte-mention{display:inline-block;padding:0.05em 0.4em;border-radius:var(--co-border-radius-xxs);background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff);font-size:0.9em;white-space:nowrap}.co-rte-content .co-rte-mention{background:var(--co-color-azul-200);color:var(--co-color-azul-800)}.co-rich-text-editor__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-sm);padding:0 var(--co-spacing-xs);min-height:0}.co-rich-text-editor__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-12, 12px)}.co-rich-text-editor__helper--error{color:var(--co-color-status-error)}.co-rich-text-editor__helper--success{color:var(--co-color-status-success)}.co-rich-text-editor__count{margin-left:auto;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12, 12px)}.co-rte-bubble.co-rte-bubble--suppressed{display:none !important}.co-rte-bubble{position:absolute;z-index:50;display:flex;flex-direction:row;align-items:center;gap:2px;padding:var(--co-spacing-xs, 4px) var(--co-spacing-sm, 8px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);user-select:none;white-space:nowrap;max-width:100%;box-sizing:border-box;flex-wrap:wrap}.co-rte-bubble__drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--co-semantic-text-muted, #999);width:18px;height:28px;margin:0 2px 0 0;flex-shrink:0}.co-rte-bubble__drag-handle:hover{color:var(--co-semantic-text-secondary, #555)}.co-rte-bubble__drag-handle:active{cursor:grabbing}.co-rte-bubble__row{display:flex;align-items:center;gap:2px;flex-wrap:wrap;max-width:100%;min-width:0}.co-rte-bubble__btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);cursor:pointer}.co-rte-bubble__btn:hover:not(.co-rte-bubble__btn--active){background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06))}.co-rte-bubble__btn--active{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rte-bubble__btn--active:hover{background:var(--co-color-base-negro, #333)}.co-rte-bubble__sep{display:inline-block;width:1px;height:18px;margin:0 4px;background:var(--co-semantic-border-default, rgba(0, 0, 0, 0.12));flex-shrink:0}.co-rte-bubble__select{position:relative}.co-rte-bubble__select-trigger{display:flex;align-items:center;gap:2px;height:28px;padding:0 6px;border:1px solid transparent;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:11px;cursor:pointer;white-space:nowrap;transition:background var(--co-motion-duration-fast), border-color var(--co-motion-duration-fast)}.co-rte-bubble__select-trigger:hover{background:var(--co-semantic-surface-hover, #f5f5f5);border-color:var(--co-semantic-border-default, #e0e0e0)}.co-rte-bubble__select-label{max-width:72px;overflow:hidden;text-overflow:ellipsis}.co-rte-bubble__select--font .co-rte-bubble__select-label{max-width:110px}.co-rte-bubble__select-dropdown{position:absolute;bottom:100%;left:0;z-index:120;min-width:100px;max-height:260px;overflow-y:auto;padding:var(--co-spacing-xxs, 2px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xxs, 4px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-bottom:4px;white-space:normal}.co-rte-bubble__select-dropdown[data-position="above"]{bottom:100%;top:auto;margin-bottom:4px;margin-top:0}.co-rte-bubble__select-dropdown[data-position="below"]{top:100%;bottom:auto;margin-top:4px;margin-bottom:0}.co-rte-bubble__select-option{display:block;width:100%;padding:4px 8px;border:none;border-radius:3px;background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:12px;text-align:left;cursor:pointer;white-space:nowrap}.co-rte-bubble__select-option:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__select-dropdown--font{min-width:200px;max-height:320px;overflow:hidden;overflow-y:auto;display:flex;flex-direction:column;white-space:normal}.co-rte-bubble__font-search{padding:6px 6px 4px;flex-shrink:0}.co-rte-bubble__font-search-input{width:100%;padding:4px 8px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:4px;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:12px;outline:none;box-sizing:border-box}.co-rte-bubble__font-search-input:focus{border-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__font-list{max-height:260px;overflow-y:auto;padding:0 var(--co-spacing-xxs, 2px) var(--co-spacing-xxs, 2px)}.co-rte-bubble__font-section-header{padding:6px 8px 2px;font-size:11px;font-weight:600;color:var(--co-semantic-text-muted, #888);text-transform:uppercase;letter-spacing:0.5px}.co-rte-bubble__font-empty{padding:12px 8px;text-align:center;color:var(--co-semantic-text-muted, #888);font-size:12px}.co-rte-bubble__color{position:relative}.co-rte-bubble__color-dropdown{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);z-index:120;width:224px;padding:var(--co-spacing-sm, 8px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-bottom:4px;white-space:normal;max-width:calc(100vw - 16px)}.co-rte-bubble__color-dropdown[data-position="above"]{bottom:100%;top:auto;margin-bottom:4px;margin-top:0}.co-rte-bubble__color-dropdown[data-position="below"]{top:100%;bottom:auto;margin-top:4px;margin-bottom:0}.co-rte-bubble__color-grid{display:grid;grid-template-columns:repeat(10, 1fr);gap:2px}.co-rte-bubble__color-swatch{width:20px;height:20px;padding:0;border:none;border-radius:3px;cursor:pointer;transition:transform var(--co-motion-duration-fast), box-shadow var(--co-motion-duration-fast)}.co-rte-bubble__color-swatch:hover{transform:scale(1.2);box-shadow:0 0 0 2px var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__color-hex{display:flex;align-items:center;gap:4px;margin-top:6px}.co-rte-bubble__color-hex-input{width:100%;padding:3px 6px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:3px;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-mono, monospace);font-size:11px;outline:none}.co-rte-bubble__color-hex-input:focus{border-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__color-clear{display:flex;align-items:center;gap:4px;width:100%;padding:3px 6px;margin-top:4px;border:none;background:transparent;color:var(--co-semantic-text-secondary, #666);font-family:var(--co-font-family-primary);font-size:11px;cursor:pointer;border-radius:3px}.co-rte-bubble__color-clear:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__link-form{display:flex;align-items:center;gap:4px;margin-left:4px}.co-rte-bubble__link-input{width:160px;padding:3px 8px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:4px;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:12px;outline:none}.co-rte-bubble__link-input::placeholder{color:var(--co-semantic-text-muted, #999)}.co-rte-bubble__link-input:focus{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}.co-rte-bubble__link-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:var(--co-color-base-negro, #1a1a1a);color:#fff;cursor:pointer}.co-rte-bubble__link-btn:hover{opacity:0.9}.co-rte-bubble__link-unlink{background:var(--co-semantic-status-error, #aa2e1b)}.co-rte-bubble__panel{position:absolute;z-index:140;width:230px;background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);overflow:hidden;user-select:none}.co-rte-bubble__panel-header{display:flex;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--co-semantic-border-subtle, #eee)}.co-rte-bubble__panel-drag{cursor:grab;display:flex;align-items:center;justify-content:center;color:var(--co-semantic-text-muted, #999);flex-shrink:0}.co-rte-bubble__panel-drag:active{cursor:grabbing}.co-rte-bubble__panel-title{flex:1;font-size:12px;font-weight:600;color:var(--co-semantic-text-default, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-rte-bubble__panel-close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:3px;background:transparent;color:var(--co-semantic-text-muted, #999);cursor:pointer;flex-shrink:0}.co-rte-bubble__panel-close:hover{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));color:var(--co-semantic-text-default, #333)}.co-rte-bubble__panel-input-wrap{padding:6px 8px}.co-rte-bubble__panel-input{width:100%;padding:4px 8px;border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:4px;font-size:12px;font-family:inherit;outline:none;box-sizing:border-box;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333)}.co-rte-bubble__panel-input:focus{border-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__panel-options{max-height:280px;overflow-y:auto;padding:2px 4px 4px}.co-rte-bubble__panel-option{display:block;width:100%;padding:5px 8px;border:none;border-radius:3px;background:transparent;cursor:pointer;text-align:left;font-family:inherit;color:var(--co-semantic-text-default, #333)}.co-rte-bubble__panel-option:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__panel-sep{height:1px;background:var(--co-semantic-border-subtle, #eee);margin:4px 8px}.co-rte-bubble__panel-opt-row{display:flex;justify-content:space-between;align-items:center;width:100%}.co-rte-bubble__panel-opt-value{color:var(--co-semantic-text-muted, #999);font-size:11px;font-weight:400 !important;min-width:28px;text-align:right}.co-rte-bubble__panel[data-position="above"]{bottom:100%;top:auto;margin-bottom:4px}.co-rte-bubble__panel[data-position="below"]{top:100%;bottom:auto;margin-top:4px}.co-rte-bubble__overflow{position:relative}.co-rte-bubble__overflow-menu{position:absolute;bottom:100%;right:0;z-index:130;min-width:230px;padding:4px;background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-bottom:4px}.co-rte-bubble__overflow-menu[data-position="below"]{top:100%;bottom:auto;margin-top:4px;margin-bottom:0}.co-rte-bubble__overflow-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:4px;background:transparent;font-family:inherit;font-size:13px;color:var(--co-semantic-text-default, #333);cursor:pointer;text-align:left;white-space:nowrap}.co-rte-bubble__overflow-item:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__overflow-item--active{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));color:var(--co-color-base-negro, #1a1a1a);font-weight:600}.co-rte-bubble__overflow-value{margin-left:auto;color:var(--co-semantic-text-muted, #999);font-size:11px}.co-rte-bubble__overflow-sep{height:1px;background:var(--co-semantic-border-subtle, #eee);margin:3px 8px}.co-rte-bubble__overflow-section-title{padding:6px 8px 2px;font-size:11px;font-weight:600;color:var(--co-semantic-text-muted, #888);letter-spacing:0.5px}.co-rte-bubble__overflow-item--danger{color:var(--co-color-status-error, #aa2e1b)}.co-rte-bubble__overflow-item--danger:hover{background:rgba(170, 46, 27, 0.06)}.co-rte-bubble__color-indicator{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1}.co-rte-bubble__color-letter{font-family:var(--co-font-family-primary);font-size:14px;font-weight:700;color:var(--co-semantic-text-default, #333);line-height:1}.co-rte-bubble__color-bar{width:14px;height:3px;border-radius:1px}.co-rte-content .callout{display:flex;gap:0.75rem;padding:1rem;border-radius:var(--co-border-radius-xs, 8px);border:2px solid;margin:1rem 0}.co-rte-content .callout--info{background:#eff6ff;border-color:#bfdbfe}.co-rte-content .callout--warning{background:#fffbeb;border-color:#fde68a}.co-rte-content .callout--success{background:#f0fdf4;border-color:#bbf7d0}.co-rte-content .callout--error{background:#fef2f2;border-color:#fecaca}.co-rte-content .callout__icon{flex-shrink:0;font-size:1.2em}.co-rte-content .callout__content{flex:1}.co-rte-content .callout__content p{margin:0}.co-rte-content table{border-collapse:collapse;table-layout:auto;width:100%;margin:1rem 0;overflow:hidden}.co-rte-content .tableWrapper{overflow-x:auto;max-width:100%}.co-rte-content td,.co-rte-content th{min-width:1em;border:1px solid var(--co-semantic-border-default, #e0e0e0);padding:0.5rem;vertical-align:top;box-sizing:border-box;position:relative}.co-rte-content th{font-weight:600;text-align:left;background-color:#e3e3e3;color:var(--co-semantic-text-default, #333)}.co-rte-content .ProseMirror table th{background-color:#e3e3e3}.co-rte-content .selectedCell{background:rgba(0, 0, 0, 0.06)}.co-rte-content .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background-color:var(--co-color-base-negro, #1a1a1a);pointer-events:none}.co-rte-content .ProseMirror.resize-cursor,.co-rte-content .ProseMirror.resize-cursor *{cursor:col-resize}.co-rte-content iframe{border-radius:var(--co-border-radius-xs, 8px);max-width:100%;aspect-ratio:16 / 9;width:100%;height:auto;display:block;margin:0}.co-rte-content .co-rte-embed{position:relative;display:block;max-width:100%;margin:1rem 0;line-height:0}.co-rte-content .co-rte-embed::before{content:'';position:absolute;inset:0;z-index:1}.co-rte-content .co-rte-embed.ProseMirror-selectednode,.co-rte-content .co-rte-embed--selected{outline:2px solid var(--co-color-base-negro, #1a1a1a);outline-offset:2px;border-radius:var(--co-border-radius-xs, 8px)}.co-rte-content .co-rte-embed__handle{position:absolute;width:12px;height:12px;background:var(--co-color-base-negro, #1a1a1a);border:1.5px solid #fff;border-radius:50%;box-shadow:0 0 2px rgba(0, 0, 0, 0.3);z-index:3;opacity:0;pointer-events:none}.co-rte-content .co-rte-embed.ProseMirror-selectednode .co-rte-embed__handle,.co-rte-content .co-rte-embed--selected .co-rte-embed__handle{opacity:1;pointer-events:auto}.co-rte-content .co-rte-embed__handle--bottom-right{right:-6px;bottom:-6px;cursor:nwse-resize}.co-rte-content .co-rte-embed__handle--bottom-left{left:-6px;bottom:-6px;cursor:nesw-resize}.co-rte-content .co-rte-embed--resizing{outline:2px dashed var(--co-color-base-negro, #1a1a1a);outline-offset:2px}.co-rich-text-editor--readonly .co-rte-embed::before,.co-rich-text-editor--disabled .co-rte-embed::before{display:none}.co-rich-text-editor--readonly .co-rte-embed.ProseMirror-selectednode,.co-rich-text-editor--readonly .co-rte-embed--selected,.co-rich-text-editor--disabled .co-rte-embed.ProseMirror-selectednode,.co-rich-text-editor--disabled .co-rte-embed--selected{outline:none !important}.co-rte-img-layout{position:absolute;z-index:50;display:flex;align-items:center;gap:2px;padding:4px;background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 2px 12px rgba(0, 0, 0, 0.12);pointer-events:auto}.co-rte-img-layout__btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);cursor:pointer;transition:background var(--co-motion-duration-fast), border-color var(--co-motion-duration-fast)}.co-rte-img-layout__btn:hover{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06))}.co-rte-img-layout__btn--active{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rte-img-layout__btn--active:hover{background:var(--co-color-base-negro, #333)}.co-rte-img-layout__btn[data-tooltip]{position:relative}.co-rte-img-layout__btn[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:4px 8px;background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff);font-family:var(--co-font-family-primary);font-size:11px;font-weight:500;line-height:1.3;white-space:nowrap;border-radius:4px;pointer-events:none;opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out);z-index:100}.co-rte-img-layout__btn[data-tooltip]:hover::after{opacity:1;transition-delay:0.3s}.co-rte-content [data-resize-container][data-image-layout="wrap-left"]{float:left;max-width:50%;margin:4px 16px 8px 0}.co-rte-content [data-resize-container][data-image-layout="wrap-right"]{float:right;max-width:50%;margin:4px 0 8px 16px}.co-rte-content [data-resize-container][data-image-layout="center"]{display:block;margin:12px auto}.co-rte-content [data-resize-container][data-image-layout="full-width"]{display:block;width:100%;margin:12px 0}.co-rte-content [data-resize-container][data-image-layout="full-width"] [data-resize-wrapper],.co-rte-content [data-resize-container][data-image-layout="full-width"] img{width:100%}@media (max-width: 768px){.co-rte-content [data-resize-container][data-image-layout="wrap-left"],.co-rte-content [data-resize-container][data-image-layout="wrap-right"]{float:none;max-width:100%;display:block;margin:12px 0}}.co-rte-content--site .ProseMirror{width:var(--co-rte-content-width, 80%);max-width:100%;margin:0 auto}@media (max-width: 768px){.co-rte-content--site .ProseMirror{width:100%}}.co-rich-text-editor--readonly [data-resize-handle],.co-rich-text-editor--disabled [data-resize-handle]{display:none !important}.co-rich-text-editor--readonly [data-resize-container].ProseMirror-selectednode,.co-rich-text-editor--disabled [data-resize-container].ProseMirror-selectednode,.co-rich-text-editor--readonly img.ProseMirror-selectednode,.co-rich-text-editor--disabled img.ProseMirror-selectednode{outline:none !important}`;
10
+ const coRichTextEditorCss = () => `co-rich-text-editor{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body)}.co-rich-text-editor{display:flex;flex-direction:column;gap:var(--co-spacing-sm2, 6px)}.co-rich-text-editor__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2, 6px)}.co-rich-text-editor__label,.co-rich-text-editor__secondary-label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-rich-text-editor__frame{display:flex;flex-direction:column;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out);min-height:0;flex:1;position:relative;overflow:visible}.co-rich-text-editor__box{display:flex;flex-direction:column;min-height:0;flex:1;position:relative;overflow-y:auto;overflow-x:hidden}.co-rich-text-editor--flat .co-rich-text-editor__frame{background:transparent;border-color:transparent}.co-rich-text-editor--focused .co-rich-text-editor__frame{border-color:var(--co-semantic-border-focus, var(--co-color-base-negro, #1a1a1a));box-shadow:0 0 0 3px var(--co-semantic-border-focus-ring, rgba(37, 99, 235, 0.15))}.co-rich-text-editor--error .co-rich-text-editor__frame{border-color:var(--co-semantic-border-error, var(--co-color-status-error))}.co-rich-text-editor--success .co-rich-text-editor__frame{border-color:var(--co-color-status-success)}.co-rich-text-editor--disabled .co-rich-text-editor__frame,.co-rich-text-editor--readonly .co-rich-text-editor__frame{opacity:0.7;cursor:not-allowed}.co-rich-text-editor--loading .co-rte-content{min-height:96px;background:linear-gradient(90deg, var(--co-semantic-surface-secondary) 0%, var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.04)) 50%, var(--co-semantic-surface-secondary) 100%);background-size:200% 100%;animation:co-rte-skeleton 1.2s ease-in-out infinite}@keyframes co-rte-skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}.co-rich-text-editor__toolbar{position:relative;flex-shrink:0;z-index:60;border-top-left-radius:calc(var(--co-border-radius-xs) - 1px);border-top-right-radius:calc(var(--co-border-radius-xs) - 1px)}.co-rich-text-editor__toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-md);flex-shrink:0;min-width:0;border-top:1px solid var(--co-semantic-border-subtle)}.co-rich-text-editor--toolbar-bottom .co-rich-text-editor__toolbar{border-top-left-radius:0;border-top-right-radius:0;min-width:0}.co-rte-content{min-height:96px;color:var(--co-semantic-text-default);flex:1 0 auto;display:flex;flex-direction:column}.co-rte-content .ProseMirror{outline:none;flex:1 0 auto;line-height:1.5;padding:var(--co-spacing-md);box-sizing:border-box}.co-rte-content .ProseMirror p{margin:0 0 var(--co-spacing-sm) 0}.co-rte-content .ProseMirror p:last-child{margin-bottom:0}.co-rte-content .ProseMirror>p{margin-bottom:var(--co-spacing-sm) !important}.co-rte-content .ProseMirror>p:last-child{margin-bottom:0 !important}.co-rte-content .ProseMirror [style*="text-align: justify"]{text-align-last:left}.co-rte-content .ProseMirror [style*="text-align: center"]{text-align:center}.co-rte-content .ProseMirror [style*="text-align: right"]{text-align:right}.co-rte-content .ProseMirror h1,.co-rte-content .ProseMirror h2,.co-rte-content .ProseMirror h3,.co-rte-content .ProseMirror h4{margin:var(--co-spacing-md) 0 var(--co-spacing-sm);font-weight:600;line-height:1.3}.co-rte-content .ProseMirror h1{font-size:var(--co-font-size-28, 28px)}.co-rte-content .ProseMirror h2{font-size:var(--co-font-size-20, 20px)}.co-rte-content .ProseMirror h3{font-size:var(--co-font-size-16, 16px)}.co-rte-content .ProseMirror ul,.co-rte-content .ProseMirror ol{padding-left:var(--co-spacing-xl);margin:0 0 var(--co-spacing-sm) 0}.co-rte-content .ProseMirror ul[data-type="taskList"]{list-style:none;padding-left:0;margin:0 0 var(--co-spacing-sm) 0}.co-rte-content .ProseMirror ul[data-type="taskList"] li{display:flex;align-items:flex-start;gap:var(--co-spacing-sm, 8px)}.co-rte-content .ProseMirror ul[data-type="taskList"] li>label{flex:0 0 auto;margin-top:0.15em;user-select:none}.co-rte-content .ProseMirror ul[data-type="taskList"] li>div{flex:1 1 auto;min-width:0}.co-rte-content .ProseMirror ul[data-type="taskList"] li>div>p{margin:0}.co-rte-content .ProseMirror ul[data-type="taskList"] input[type="checkbox"]{width:16px;height:16px;cursor:pointer;accent-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-content .ProseMirror ul[data-type="taskList"][data-variant="strike"] li[data-checked="true"]>div{text-decoration:line-through;color:var(--co-semantic-text-muted, #999)}.co-rte-content .ProseMirror ul[data-type="taskList"][data-variant="plain"] li[data-checked="true"]>div{text-decoration:none}.co-rte-content .ProseMirror blockquote{border-left:3px solid var(--co-semantic-border-default, var(--co-semantic-border-subtle));padding-left:var(--co-spacing-md);margin:0 0 var(--co-spacing-sm) 0;color:var(--co-semantic-text-secondary)}.co-rte-content .ProseMirror a{color:var(--co-color-base-negro, #1a1a1a);text-decoration:underline;text-underline-offset:2px}.co-rte-content .ProseMirror img{max-width:100%;height:auto;border-radius:var(--co-border-radius-xs);margin:var(--co-spacing-sm) 0;cursor:default;-webkit-user-drag:none;user-select:none}.co-rte-content .ProseMirror img.ProseMirror-selectednode{outline:2px solid var(--co-color-base-negro, #1a1a1a)}.co-rte-content [data-resize-container].ProseMirror-selectednode{outline:2px solid var(--co-color-base-negro, #1a1a1a);outline-offset:0px;border-radius:0}.co-rte-content [data-resize-container]{position:relative;display:inline-block;width:fit-content;max-width:100%;margin:var(--co-spacing-sm) 0;line-height:0}.co-rte-content [data-resize-container][data-resize-state="true"]{outline:2px solid var(--co-color-base-negro, #1a1a1a);outline-offset:0px;border-radius:0}.co-rte-content [data-resize-wrapper]{position:relative;display:inline-block;line-height:0}.co-rte-content [data-resize-handle]{width:10px;height:10px;background:var(--co-color-base-negro, #1a1a1a);border:1.5px solid #fff;border-radius:50%;box-shadow:0 0 2px rgba(0, 0, 0, 0.3);z-index:5;opacity:0;pointer-events:none}.co-rte-content [data-resize-container][data-resize-state="true"] [data-resize-handle],.co-rte-content [data-resize-container].ProseMirror-selectednode [data-resize-handle]{opacity:1;pointer-events:auto}.co-rte-content [data-resize-handle="top-left"]{cursor:nw-resize}.co-rte-content [data-resize-handle="top-right"]{cursor:ne-resize}.co-rte-content [data-resize-handle="bottom-left"]{cursor:sw-resize}.co-rte-content [data-resize-handle="bottom-right"]{cursor:se-resize}.co-rte-content [data-resize-handle="top"],.co-rte-content [data-resize-handle="bottom"]{width:30px;height:6px;border-radius:3px;left:50% !important;transform:translateX(-50%)}.co-rte-content [data-resize-handle="top"]{cursor:n-resize}.co-rte-content [data-resize-handle="bottom"]{cursor:s-resize}.co-rte-content [data-resize-handle="left"],.co-rte-content [data-resize-handle="right"]{width:6px;height:30px;border-radius:3px;top:50% !important;transform:translateY(-50%)}.co-rte-content [data-resize-handle="left"]{cursor:w-resize}.co-rte-content [data-resize-handle="right"]{cursor:e-resize}.co-rte-content [data-resize-container] img{max-width:100%;display:block;border-radius:0;margin:0}.co-rte-content .ProseMirror hr{border:none;border-top:1px solid var(--co-semantic-border-default, #e0e0e0);margin:var(--co-spacing-lg) 0}.co-rte-content .ProseMirror code{font-family:var(--co-font-family-mono);font-size:0.9em;background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));padding:0.1em 0.3em;border-radius:var(--co-border-radius-xxs)}.co-rte-content .ProseMirror pre{font-family:var(--co-font-family-mono);font-size:0.9em;background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));padding:var(--co-spacing-md);border-radius:var(--co-border-radius-xs);overflow-x:auto;margin:var(--co-spacing-sm) 0}.co-rte-content .ProseMirror pre code{background:none;padding:0;border-radius:0}.co-rte-content .ProseMirror p.is-editor-empty:first-child::before{content:attr(data-placeholder);color:var(--co-semantic-text-muted);float:left;height:0;pointer-events:none}.co-rte-content .co-rte-variable,.co-rte-content .co-rte-mention{display:inline-block;padding:0.05em 0.4em;border-radius:var(--co-border-radius-xxs);background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff);font-size:0.9em;white-space:nowrap}.co-rte-content .co-rte-mention{background:var(--co-color-azul-200);color:var(--co-color-azul-800)}.co-rich-text-editor__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-sm);padding:0 var(--co-spacing-xs);min-height:0}.co-rich-text-editor__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-12, 12px)}.co-rich-text-editor__helper--error{color:var(--co-semantic-text-error, var(--co-color-status-error))}.co-rich-text-editor__helper--success{color:var(--co-semantic-text-success, var(--co-color-status-success))}.co-rich-text-editor__count{margin-left:auto;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12, 12px)}.co-rte-bubble.co-rte-bubble--suppressed{display:none !important}.co-rte-bubble{position:absolute;z-index:50;display:flex;flex-direction:row;align-items:center;gap:2px;padding:var(--co-spacing-xs, 4px) var(--co-spacing-sm, 8px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);user-select:none;white-space:nowrap;max-width:100%;box-sizing:border-box;flex-wrap:wrap}.co-rte-bubble__drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--co-semantic-text-muted, #999);width:18px;height:28px;margin:0 2px 0 0;flex-shrink:0}.co-rte-bubble__drag-handle:hover{color:var(--co-semantic-text-secondary, #555)}.co-rte-bubble__drag-handle:active{cursor:grabbing}.co-rte-bubble__row{display:flex;align-items:center;gap:2px;flex-wrap:wrap;max-width:100%;min-width:0}.co-rte-bubble__btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);cursor:pointer}.co-rte-bubble__btn:hover:not(.co-rte-bubble__btn--active){background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06))}.co-rte-bubble__btn--active{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rte-bubble__btn--active:hover{background:var(--co-color-base-negro, #333)}.co-rte-bubble__sep{display:inline-block;width:1px;height:18px;margin:0 4px;background:var(--co-semantic-border-default, rgba(0, 0, 0, 0.12));flex-shrink:0}.co-rte-bubble__select{position:relative}.co-rte-bubble__select-trigger{display:flex;align-items:center;gap:2px;height:28px;padding:0 6px;border:1px solid transparent;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:11px;cursor:pointer;white-space:nowrap;transition:background var(--co-motion-duration-fast), border-color var(--co-motion-duration-fast)}.co-rte-bubble__select-trigger:hover{background:var(--co-semantic-surface-hover, #f5f5f5);border-color:var(--co-semantic-border-default, #e0e0e0)}.co-rte-bubble__select-label{max-width:72px;overflow:hidden;text-overflow:ellipsis}.co-rte-bubble__select--font .co-rte-bubble__select-label{max-width:110px}.co-rte-bubble__select-dropdown{position:absolute;bottom:100%;left:0;z-index:120;min-width:100px;max-height:260px;overflow-y:auto;padding:var(--co-spacing-xxs, 2px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xxs, 4px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-bottom:4px;white-space:normal}.co-rte-bubble__select-dropdown[data-position="above"]{bottom:100%;top:auto;margin-bottom:4px;margin-top:0}.co-rte-bubble__select-dropdown[data-position="below"]{top:100%;bottom:auto;margin-top:4px;margin-bottom:0}.co-rte-bubble__select-option{display:block;width:100%;padding:4px 8px;border:none;border-radius:3px;background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:12px;text-align:left;cursor:pointer;white-space:nowrap}.co-rte-bubble__select-option:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__select-dropdown--font{min-width:200px;max-height:320px;overflow:hidden;overflow-y:auto;display:flex;flex-direction:column;white-space:normal}.co-rte-bubble__font-search{padding:6px 6px 4px;flex-shrink:0}.co-rte-bubble__font-search-input{width:100%;padding:4px 8px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:4px;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:12px;outline:none;box-sizing:border-box}.co-rte-bubble__font-search-input:focus{border-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__font-list{max-height:260px;overflow-y:auto;padding:0 var(--co-spacing-xxs, 2px) var(--co-spacing-xxs, 2px)}.co-rte-bubble__font-section-header{padding:6px 8px 2px;font-size:11px;font-weight:600;color:var(--co-semantic-text-muted, #888);text-transform:uppercase;letter-spacing:0.5px}.co-rte-bubble__font-empty{padding:12px 8px;text-align:center;color:var(--co-semantic-text-muted, #888);font-size:12px}.co-rte-bubble__color{position:relative}.co-rte-bubble__color-dropdown{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);z-index:120;width:224px;padding:var(--co-spacing-sm, 8px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-bottom:4px;white-space:normal;max-width:calc(100vw - 16px)}.co-rte-bubble__color-dropdown[data-position="above"]{bottom:100%;top:auto;margin-bottom:4px;margin-top:0}.co-rte-bubble__color-dropdown[data-position="below"]{top:100%;bottom:auto;margin-top:4px;margin-bottom:0}.co-rte-bubble__color-grid{display:grid;grid-template-columns:repeat(10, 1fr);gap:2px}.co-rte-bubble__color-swatch{width:20px;height:20px;padding:0;border:none;border-radius:3px;cursor:pointer;transition:transform var(--co-motion-duration-fast), box-shadow var(--co-motion-duration-fast)}.co-rte-bubble__color-swatch:hover{transform:scale(1.2);box-shadow:0 0 0 2px var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__color-hex{display:flex;align-items:center;gap:4px;margin-top:6px}.co-rte-bubble__color-hex-input{width:100%;padding:3px 6px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:3px;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-mono, monospace);font-size:11px;outline:none}.co-rte-bubble__color-hex-input:focus{border-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__color-clear{display:flex;align-items:center;gap:4px;width:100%;padding:3px 6px;margin-top:4px;border:none;background:transparent;color:var(--co-semantic-text-secondary, #666);font-family:var(--co-font-family-primary);font-size:11px;cursor:pointer;border-radius:3px}.co-rte-bubble__color-clear:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__link-form{display:flex;align-items:center;gap:4px;margin-left:4px}.co-rte-bubble__link-input{width:160px;padding:3px 8px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:4px;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:12px;outline:none}.co-rte-bubble__link-input::placeholder{color:var(--co-semantic-text-muted, #999)}.co-rte-bubble__link-input:focus{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}.co-rte-bubble__link-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:var(--co-color-base-negro, #1a1a1a);color:#fff;cursor:pointer}.co-rte-bubble__link-btn:hover{opacity:0.9}.co-rte-bubble__link-unlink{background:var(--co-semantic-status-error, #aa2e1b)}.co-rte-bubble__panel{position:absolute;z-index:140;width:230px;background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);overflow:hidden;user-select:none}.co-rte-bubble__panel-header{display:flex;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--co-semantic-border-subtle, #eee)}.co-rte-bubble__panel-drag{cursor:grab;display:flex;align-items:center;justify-content:center;color:var(--co-semantic-text-muted, #999);flex-shrink:0}.co-rte-bubble__panel-drag:active{cursor:grabbing}.co-rte-bubble__panel-title{flex:1;font-size:12px;font-weight:600;color:var(--co-semantic-text-default, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-rte-bubble__panel-close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:3px;background:transparent;color:var(--co-semantic-text-muted, #999);cursor:pointer;flex-shrink:0}.co-rte-bubble__panel-close:hover{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));color:var(--co-semantic-text-default, #333)}.co-rte-bubble__panel-input-wrap{padding:6px 8px}.co-rte-bubble__panel-input{width:100%;padding:4px 8px;border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:4px;font-size:12px;font-family:inherit;outline:none;box-sizing:border-box;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333)}.co-rte-bubble__panel-input:focus{border-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__panel-options{max-height:280px;overflow-y:auto;padding:2px 4px 4px}.co-rte-bubble__panel-option{display:block;width:100%;padding:5px 8px;border:none;border-radius:3px;background:transparent;cursor:pointer;text-align:left;font-family:inherit;color:var(--co-semantic-text-default, #333)}.co-rte-bubble__panel-option:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__panel-sep{height:1px;background:var(--co-semantic-border-subtle, #eee);margin:4px 8px}.co-rte-bubble__panel-opt-row{display:flex;justify-content:space-between;align-items:center;width:100%}.co-rte-bubble__panel-opt-value{color:var(--co-semantic-text-muted, #999);font-size:11px;font-weight:400 !important;min-width:28px;text-align:right}.co-rte-bubble__panel[data-position="above"]{bottom:100%;top:auto;margin-bottom:4px}.co-rte-bubble__panel[data-position="below"]{top:100%;bottom:auto;margin-top:4px}.co-rte-bubble__overflow{position:relative}.co-rte-bubble__overflow-menu{position:absolute;bottom:100%;right:0;z-index:130;min-width:230px;padding:4px;background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-bottom:4px}.co-rte-bubble__overflow-menu[data-position="below"]{top:100%;bottom:auto;margin-top:4px;margin-bottom:0}.co-rte-bubble__overflow-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:4px;background:transparent;font-family:inherit;font-size:13px;color:var(--co-semantic-text-default, #333);cursor:pointer;text-align:left;white-space:nowrap}.co-rte-bubble__overflow-item:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__overflow-item--active{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));color:var(--co-color-base-negro, #1a1a1a);font-weight:600}.co-rte-bubble__overflow-value{margin-left:auto;color:var(--co-semantic-text-muted, #999);font-size:11px}.co-rte-bubble__overflow-sep{height:1px;background:var(--co-semantic-border-subtle, #eee);margin:3px 8px}.co-rte-bubble__overflow-section-title{padding:6px 8px 2px;font-size:11px;font-weight:600;color:var(--co-semantic-text-muted, #888);letter-spacing:0.5px}.co-rte-bubble__overflow-item--danger{color:var(--co-semantic-text-error, var(--co-color-status-error, #aa2e1b))}.co-rte-bubble__overflow-item--danger:hover{background:rgba(170, 46, 27, 0.06)}.co-rte-bubble__color-indicator{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1}.co-rte-bubble__color-letter{font-family:var(--co-font-family-primary);font-size:14px;font-weight:700;color:var(--co-semantic-text-default, #333);line-height:1}.co-rte-bubble__color-bar{width:14px;height:3px;border-radius:1px}.co-rte-content .callout{display:flex;gap:0.75rem;padding:1rem;border-radius:var(--co-border-radius-xs, 8px);border:2px solid;margin:1rem 0}.co-rte-content .callout--info{background:#eff6ff;border-color:#bfdbfe}.co-rte-content .callout--warning{background:#fffbeb;border-color:#fde68a}.co-rte-content .callout--success{background:#f0fdf4;border-color:#bbf7d0}.co-rte-content .callout--error{background:#fef2f2;border-color:#fecaca}.co-rte-content .callout__icon{flex-shrink:0;font-size:1.2em}.co-rte-content .callout__content{flex:1}.co-rte-content .callout__content p{margin:0}.co-rte-content table{border-collapse:collapse;table-layout:auto;width:100%;margin:1rem 0;overflow:hidden}.co-rte-content .tableWrapper{overflow-x:auto;max-width:100%}.co-rte-content td,.co-rte-content th{min-width:1em;border:1px solid var(--co-semantic-border-default, #e0e0e0);padding:0.5rem;vertical-align:top;box-sizing:border-box;position:relative}.co-rte-content th{font-weight:600;text-align:left;background-color:#e3e3e3;color:var(--co-semantic-text-default, #333)}.co-rte-content .ProseMirror table th{background-color:#e3e3e3}.co-rte-content .selectedCell{background:rgba(0, 0, 0, 0.06)}.co-rte-content .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background-color:var(--co-color-base-negro, #1a1a1a);pointer-events:none}.co-rte-content .ProseMirror.resize-cursor,.co-rte-content .ProseMirror.resize-cursor *{cursor:col-resize}.co-rte-content iframe{border-radius:var(--co-border-radius-xs, 8px);max-width:100%;aspect-ratio:16 / 9;width:100%;height:auto;display:block;margin:0}.co-rte-content .co-rte-embed{position:relative;display:block;max-width:100%;margin:1rem 0;line-height:0}.co-rte-content .co-rte-embed::before{content:'';position:absolute;inset:0;z-index:1}.co-rte-content .co-rte-embed.ProseMirror-selectednode,.co-rte-content .co-rte-embed--selected{outline:2px solid var(--co-color-base-negro, #1a1a1a);outline-offset:2px;border-radius:var(--co-border-radius-xs, 8px)}.co-rte-content .co-rte-embed__handle{position:absolute;width:12px;height:12px;background:var(--co-color-base-negro, #1a1a1a);border:1.5px solid #fff;border-radius:50%;box-shadow:0 0 2px rgba(0, 0, 0, 0.3);z-index:3;opacity:0;pointer-events:none}.co-rte-content .co-rte-embed.ProseMirror-selectednode .co-rte-embed__handle,.co-rte-content .co-rte-embed--selected .co-rte-embed__handle{opacity:1;pointer-events:auto}.co-rte-content .co-rte-embed__handle--bottom-right{right:-6px;bottom:-6px;cursor:nwse-resize}.co-rte-content .co-rte-embed__handle--bottom-left{left:-6px;bottom:-6px;cursor:nesw-resize}.co-rte-content .co-rte-embed--resizing{outline:2px dashed var(--co-color-base-negro, #1a1a1a);outline-offset:2px}.co-rich-text-editor--readonly .co-rte-embed::before,.co-rich-text-editor--disabled .co-rte-embed::before{display:none}.co-rich-text-editor--readonly .co-rte-embed.ProseMirror-selectednode,.co-rich-text-editor--readonly .co-rte-embed--selected,.co-rich-text-editor--disabled .co-rte-embed.ProseMirror-selectednode,.co-rich-text-editor--disabled .co-rte-embed--selected{outline:none !important}.co-rte-img-layout{position:absolute;z-index:50;display:flex;align-items:center;gap:2px;padding:4px;background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 2px 12px rgba(0, 0, 0, 0.12);pointer-events:auto}.co-rte-img-layout__btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);cursor:pointer;transition:background var(--co-motion-duration-fast), border-color var(--co-motion-duration-fast)}.co-rte-img-layout__btn:hover{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06))}.co-rte-img-layout__btn--active{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rte-img-layout__btn--active:hover{background:var(--co-color-base-negro, #333)}.co-rte-img-layout__btn[data-tooltip]{position:relative}.co-rte-img-layout__btn[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:4px 8px;background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff);font-family:var(--co-font-family-primary);font-size:11px;font-weight:500;line-height:1.3;white-space:nowrap;border-radius:4px;pointer-events:none;opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out);z-index:100}.co-rte-img-layout__btn[data-tooltip]:hover::after{opacity:1;transition-delay:0.3s}.co-rte-content [data-resize-container][data-image-layout="wrap-left"]{float:left;max-width:50%;margin:4px 16px 8px 0}.co-rte-content [data-resize-container][data-image-layout="wrap-right"]{float:right;max-width:50%;margin:4px 0 8px 16px}.co-rte-content [data-resize-container][data-image-layout="center"]{display:block;margin:12px auto}.co-rte-content [data-resize-container][data-image-layout="full-width"]{display:block;width:100%;margin:12px 0}.co-rte-content [data-resize-container][data-image-layout="full-width"] [data-resize-wrapper],.co-rte-content [data-resize-container][data-image-layout="full-width"] img{width:100%}@media (max-width: 768px){.co-rte-content [data-resize-container][data-image-layout="wrap-left"],.co-rte-content [data-resize-container][data-image-layout="wrap-right"]{float:none;max-width:100%;display:block;margin:12px 0}}.co-rte-content--site .ProseMirror{width:var(--co-rte-content-width, 80%);max-width:100%;margin:0 auto}@media (max-width: 768px){.co-rte-content--site .ProseMirror{width:100%}}.co-rich-text-editor--readonly [data-resize-handle],.co-rich-text-editor--disabled [data-resize-handle]{display:none !important}.co-rich-text-editor--readonly [data-resize-container].ProseMirror-selectednode,.co-rich-text-editor--disabled [data-resize-container].ProseMirror-selectednode,.co-rich-text-editor--readonly img.ProseMirror-selectednode,.co-rich-text-editor--disabled img.ProseMirror-selectednode{outline:none !important}.co-field-required{margin-left:2px;color:var(--co-semantic-text-error, var(--co-color-status-error))}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}`;
10
11
 
11
12
  const CoRichTextEditor = class {
12
13
  constructor(hostRef) {
@@ -80,6 +81,16 @@ const CoRichTextEditor = class {
80
81
  this.applyingExternal = false;
81
82
  this.rt = RichText;
82
83
  this.imgLayoutVisible = false;
84
+ /** `componentDidLoad` ya corrió: desde acá un `connectedCallback` es una RE-conexión. */
85
+ this.loaded = false;
86
+ this.onToolbarMousedown = () => {
87
+ this.closeBubbleDropdowns();
88
+ };
89
+ this.onToolbarPopoverChange = (e) => {
90
+ var _a;
91
+ const open = (_a = e.detail) === null || _a === void 0 ? void 0 : _a.open;
92
+ this.suppressBubble(!!open);
93
+ };
83
94
  this.handleUpdate = (editor) => {
84
95
  this.refreshCharCount();
85
96
  if (this.applyingExternal)
@@ -114,20 +125,38 @@ const CoRichTextEditor = class {
114
125
  }, 100);
115
126
  };
116
127
  }
128
+ connectedCallback() {
129
+ // El host volvió al documento DESPUÉS de un teardown (estuvo fuera más de un
130
+ // tick). `componentDidLoad` no vuelve a correr: sin esto el editor quedaba
131
+ // muerto y `getEditorInstance()` devolvía null.
132
+ if (this.loaded && !this.editor)
133
+ this.mountEditor();
134
+ }
117
135
  async componentDidLoad() {
136
+ this.mountEditor();
137
+ this.loaded = true;
138
+ }
139
+ /** Crea el editor Tiptap sobre `contentEl`. Corre en la carga y al reconectar. */
140
+ mountEditor() {
118
141
  var _a, _b;
119
142
  if (!this.contentEl)
120
143
  return;
144
+ const remount = this.loaded;
121
145
  // Create bubble element imperatively so Stencil VDOM cannot interfere
122
146
  // with BubbleMenu's DOM management (it calls element.remove/appendChild).
123
147
  const showToolbar = this.resolvedToolbar !== 'none' && !this.readonly && !this.disabled;
124
148
  if (showToolbar) {
125
149
  this.bubbleEl = this.createBubbleElement();
126
150
  }
151
+ // Al recrear, la instantánea del teardown (lo tipeado, que el padre puede no
152
+ // haber devuelto por `value`) gana; un `value` nuevo mientras tanto la borra.
153
+ const fromValue = this.detachedContent === undefined;
154
+ const content = fromValue ? parseEditorValue(this.value) : this.detachedContent;
155
+ this.detachedContent = undefined;
127
156
  this.editor = this.rt.createEditor({
128
157
  preset: this.preset,
129
158
  element: this.contentEl,
130
- content: parseEditorValue(this.value),
159
+ content,
131
160
  editable: !this.disabled && !this.readonly,
132
161
  placeholder: this.placeholder,
133
162
  maxLength: this.maxLength,
@@ -167,32 +196,47 @@ const CoRichTextEditor = class {
167
196
  this.updateImageLayoutBar();
168
197
  });
169
198
  // Clicking the toolbar closes bubble popups (link form, panels, etc.)
199
+ // Handlers con referencia estable: al recrear el editor, el mismo
200
+ // addEventListener sobre el mismo toolbar es un no-op (no se duplican).
170
201
  if (this.bubbleEl && this.toolbarEl) {
171
- this.toolbarEl.addEventListener('mousedown', () => {
172
- this.closeBubbleDropdowns();
173
- });
202
+ this.toolbarEl.addEventListener('mousedown', this.onToolbarMousedown);
174
203
  // Hide the selection bubble while a toolbar dropdown/popover is open so
175
204
  // the two never overlap in the same space (the bubble lives inside the
176
205
  // content area, right where toolbar dropdowns expand into).
177
- this.toolbarEl.addEventListener('coPopoverChange', (e) => {
178
- var _a;
179
- const open = (_a = e.detail) === null || _a === void 0 ? void 0 : _a.open;
180
- this.suppressBubble(!!open);
181
- });
206
+ this.toolbarEl.addEventListener('coPopoverChange', this.onToolbarPopoverChange);
182
207
  }
183
- this.echo.seed((_b = this.value) !== null && _b !== void 0 ? _b : null);
208
+ // Recreado desde la instantánea: el guard anti-eco conserva el último output
209
+ // emitido (re-sembrarlo con `value` haría que un eco tardío del padre
210
+ // re-aplicara el contenido). Desde `value` (carga o valor nuevo), se siembra.
211
+ if (fromValue)
212
+ this.echo.seed((_b = this.value) !== null && _b !== void 0 ? _b : null);
184
213
  this.ready = true;
185
214
  this.refreshCharCount();
186
215
  this.syncToolbar();
187
216
  this.coReady.emit();
188
- if (this.autofocus)
217
+ if (this.autofocus && !remount)
189
218
  this.editor.commands.focus();
190
219
  // Tag every image container with its layout mode so the CSS rules apply.
191
220
  // Runs even without the layout toolbar (readonly/disabled viewers).
192
221
  requestAnimationFrame(() => this.syncImageLayouts());
193
222
  }
194
223
  disconnectedCallback() {
195
- var _a, _b, _c, _d;
224
+ // Un MOVIMIENTO del host (quitar + insertar en el mismo tick: el drawer que
225
+ // pasa de plano a split mueve el scrollport) también dispara este callback.
226
+ // Destruir en el acto dejaba el editor muerto. El teardown se difiere un
227
+ // microtask y solo corre si el host sigue fuera del documento; si volvió
228
+ // más tarde, `connectedCallback` lo recrea.
229
+ queueMicrotask(() => {
230
+ // Sin `window` el realm ya se desmontó (fin del entorno de pruebas): no hay nada que
231
+ // liberar y el `destroy()` de Tiptap reventaría leyendo `window`.
232
+ if (typeof window === 'undefined')
233
+ return;
234
+ if (!this.el.isConnected)
235
+ this.teardownEditor();
236
+ });
237
+ }
238
+ teardownEditor() {
239
+ var _a, _b, _c;
196
240
  clearTimeout(this.blurTimeout);
197
241
  clearTimeout(this.bubbleLockTimer);
198
242
  (_a = this.bubbleStyleObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
@@ -202,10 +246,17 @@ const CoRichTextEditor = class {
202
246
  document.removeEventListener('mouseup', this.bubbleDragEndHandler);
203
247
  if (this.bubbleOutsideClickHandler)
204
248
  document.removeEventListener('click', this.bubbleOutsideClickHandler, true);
205
- (_b = this.editor) === null || _b === void 0 ? void 0 : _b.destroy();
249
+ if (this.editor) {
250
+ // Instantánea de lo tipeado para recrear igual si el host vuelve.
251
+ this.detachedContent = this.editor.isEmpty ? null : this.editor.getJSON();
252
+ this.editor.destroy();
253
+ }
206
254
  this.editor = undefined;
207
- (_c = this.bubbleEl) === null || _c === void 0 ? void 0 : _c.remove();
208
- (_d = this.imgLayoutEl) === null || _d === void 0 ? void 0 : _d.remove();
255
+ (_b = this.bubbleEl) === null || _b === void 0 ? void 0 : _b.remove();
256
+ this.bubbleEl = undefined;
257
+ (_c = this.imgLayoutEl) === null || _c === void 0 ? void 0 : _c.remove();
258
+ this.imgLayoutEl = undefined;
259
+ this.imgLayoutVisible = false;
209
260
  }
210
261
  componentDidRender() {
211
262
  this.syncToolbar();
@@ -219,7 +270,13 @@ const CoRichTextEditor = class {
219
270
  }
220
271
  }
221
272
  onValueChange(next) {
222
- if (!this.editor || this.applyingExternal)
273
+ // Sin editor tras un teardown: el valor nuevo gana sobre la instantánea al recrear.
274
+ if (!this.editor) {
275
+ if (this.loaded)
276
+ this.detachedContent = undefined;
277
+ return;
278
+ }
279
+ if (this.applyingExternal)
223
280
  return;
224
281
  const incoming = next !== null && next !== void 0 ? next : null;
225
282
  // El padre suele devolver nuestro propio output (JSON o HTML): re-aplicarlo
@@ -1997,11 +2054,11 @@ const CoRichTextEditor = class {
1997
2054
  const showToolbar = this.resolvedToolbar !== 'none' && !this.readonly && !this.disabled;
1998
2055
  const showCount = this.showCharacterCount || this.maxLength != null;
1999
2056
  const bottom = this.toolbarPosition === 'bottom';
2000
- const toolbar = showToolbar && (h("co-rich-text-toolbar", { key: '6bcb6ab2d8023c96062ce4aa64ef6450357c22e7', class: "co-rich-text-editor__toolbar", part: "toolbar", variant: this.resolvedToolbar, position: this.toolbarPosition, disabled: this.disabled || this.readonly, locale: this.locale, attachmentsEnabled: this.attachmentsEnabled, attachmentAccept: this.attachmentAccept, onCoAttachmentsSelected: (e) => {
2057
+ const toolbar = showToolbar && (h("co-rich-text-toolbar", { key: '7b2112db75bb679695e9bb58385d193e90d3678b', class: "co-rich-text-editor__toolbar", part: "toolbar", variant: this.resolvedToolbar, position: this.toolbarPosition, disabled: this.disabled || this.readonly, locale: this.locale, attachmentsEnabled: this.attachmentsEnabled, attachmentAccept: this.attachmentAccept, onCoAttachmentsSelected: (e) => {
2001
2058
  e.stopPropagation();
2002
2059
  this.coAttachmentsSelected.emit(e.detail);
2003
2060
  }, ref: (el) => (this.toolbarEl = el) }));
2004
- return (h("div", { key: 'acb670aca986206aa8cae2960a9ace5723d5b710', class: {
2061
+ return (h("div", { key: '8b848da977b08aa7f3466fa14403155ddc1c1d66', class: {
2005
2062
  'co-rich-text-editor': true,
2006
2063
  'co-rich-text-editor--focused': this.hasFocus,
2007
2064
  'co-rich-text-editor--disabled': this.disabled,
@@ -2010,7 +2067,7 @@ const CoRichTextEditor = class {
2010
2067
  [`co-rich-text-editor--${this.status}`]: this.status !== 'default',
2011
2068
  'co-rich-text-editor--flat': this.variant === 'flat',
2012
2069
  'co-rich-text-editor--toolbar-bottom': bottom,
2013
- }, part: "wrapper" }, (this.label || this.secondaryLabel) && (h("div", { key: '0bbda76dde378f9f9dc49593409036efa0306982', class: "co-rich-text-editor__labels" }, this.label && h("label", { key: '328d770182eeba4010337e32359f6e1f96c32e54', class: "co-rich-text-editor__label", part: "label" }, this.label), this.secondaryLabel && (h("span", { key: 'd8b3ac25a32189686226b9fe6da311f6672ca331', class: "co-rich-text-editor__secondary-label" }, this.secondaryLabel)))), h("div", { key: 'ed9d88e6e62a3defe9f302d252eb7f8dd33d4a0a', class: "co-rich-text-editor__frame" }, !bottom && toolbar, h("div", { key: '96625d0fbbc619e7a7f7812c83d1e86df8086da4', class: "co-rich-text-editor__box" }, h("div", { key: '77ce10f2902b9e758c18dabd5e91c5544c0cdd54', class: "co-rte-content", part: "content", role: "textbox", "aria-multiline": "true", "aria-label": this.label, "aria-required": this.required ? 'true' : undefined, "aria-invalid": this.status === 'error' ? 'true' : undefined, ref: (el) => (this.contentEl = el) })), h("slot", { key: '6c2fbaa3625889c4bb6a493be037f4c64b60fece', name: "content-end" }), bottom && (h("div", { key: 'eda6a58e138c36dc412a84aa995dfcbfd6d7e93f', class: "co-rich-text-editor__toolbar-row", part: "toolbar-row" }, toolbar, h("slot", { key: 'f8b01d2d2b27851d474bb174e4e42b45efd96758', name: "toolbar-end" })))), h("div", { key: 'fdffcf44d4d181d30cc6f48e073e3a18c18f48ca', class: "co-rich-text-editor__footer" }, this.helperText && (h("div", { key: '52ab70e42dad525b1fc1c4c27bdb98bedaf5cd90', class: `co-rich-text-editor__helper co-rich-text-editor__helper--${this.status}`, part: "helper" }, h("co-icon", { key: 'c7e79a0292c51c9cf7927eb504401be5fd68b767', name: this.helperIcon, size: 14 }), h("span", { key: '4a09b04c257f3cd605f9b753d12c118312cb65fc' }, this.helperText))), showCount && (h("span", { key: '7c25580b095af4d0ef11e77d13b07cedbf3e61c4', class: "co-rich-text-editor__count", ref: (el) => (this.charCountEl = el) }, this.charCount, this.maxLength != null ? ` / ${this.maxLength}` : '')))));
2070
+ }, part: "wrapper" }, (this.label || this.secondaryLabel) && (h("div", { key: 'f35d59f312dabcd2b384e958a45bb7ac4a33f7bb', class: "co-rich-text-editor__labels" }, this.label && h("label", { key: 'e7b2d47de7356e4a89fabf925255dbf0d25fc8e9', class: "co-rich-text-editor__label", part: "label" }, this.label, h(RequiredMark, { key: 'f56500b0382d9d12c7f78b4448aab7cc748271be', required: this.required })), this.secondaryLabel && (h("span", { key: 'e305aecd4fee9963221210ac076791f456aad91c', class: "co-rich-text-editor__secondary-label" }, this.secondaryLabel)))), h("div", { key: '284ff5c06606efef9a06de80478acc57868229eb', class: "co-rich-text-editor__frame" }, !bottom && toolbar, h("div", { key: '145b244c505ae5374bd847855978da02baa878cc', class: "co-rich-text-editor__box" }, h("div", { key: 'c5f02991df3e712a3e6a0163415a75c5e91e4384', class: "co-rte-content", part: "content", role: "textbox", "aria-multiline": "true", "aria-label": this.label, "aria-required": this.required ? 'true' : undefined, "aria-invalid": this.status === 'error' ? 'true' : undefined, ref: (el) => (this.contentEl = el) })), h("slot", { key: '060e3e5bcda76b403357ada26950c9f50a71076e', name: "content-end" }), bottom && (h("div", { key: '2ec4329cfc09714a78caab5ca774f08af2984729', class: "co-rich-text-editor__toolbar-row", part: "toolbar-row" }, toolbar, h("slot", { key: '806f94a2d924df1b33d5fcf5d28279b093f69845', name: "toolbar-end" })))), h("div", { key: '8fcb92d7f3404c7458f95fc578fbb579ecb4b5e7', class: "co-rich-text-editor__footer" }, this.helperText && (h("div", { key: 'b1b664ceb090e940cadc3aa782eb074e6517146a', class: `co-rich-text-editor__helper co-rich-text-editor__helper--${this.status}`, part: "helper" }, h("co-icon", { key: 'a8db33f94d1aec0bc62bd9ee709d4cff914fc51c', name: this.helperIcon, size: 14 }), h("span", { key: 'be99a15b919ea82668da83854735b80eaf03ebf7' }, this.helperText))), showCount && (h("span", { key: 'dfde31e7c4f62fc9cf9fc3654f5eb6a2377dcf9a', class: "co-rich-text-editor__count", ref: (el) => (this.charCountEl = el) }, this.charCount, this.maxLength != null ? ` / ${this.maxLength}` : '')))));
2014
2071
  }
2015
2072
  get el() { return getElement(this); }
2016
2073
  static get watchers() { return {
@@ -1,9 +1,81 @@
1
1
  import { r as registerInstance, c as createEvent, h, a as getElement } from './index-DJkaRtbb.js';
2
- import { g as getRichTextStrings } from './richTextI18n-xnrKkNWQ.js';
2
+ import { g as getRichTextStrings } from './richTextI18n-EtYK1iGx.js';
3
3
  import { C as COLOR_PALETTE, T as TABLE_CONTEXT_ITEMS, t as toolbarItems } from './toolbar-config-CRxTFT_z.js';
4
4
 
5
- const coRichTextToolbarCss = () => `:host{display:block;font-family:var(--co-font-family-primary);z-index:10;flex-shrink:0;background:var(--co-semantic-surface-secondary, #fff);overflow:visible}.co-rich-text-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--co-spacing-xxs, 2px);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-bottom:1px solid var(--co-semantic-border-subtle);background:var(--co-semantic-surface-secondary);border-top-left-radius:inherit;border-top-right-radius:inherit}.co-rich-text-toolbar__btn-wrap,.co-rich-text-toolbar__split-wrap{overflow:visible}[data-tooltip]{position:relative}[data-tooltip]::after{content:attr(data-tooltip);position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);padding:4px 8px;background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff);font-size:11px;font-weight:500;line-height:1.3;white-space:nowrap;border-radius:4px;pointer-events:none;opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out);z-index:9999}[data-tooltip]:hover::after{opacity:1;transition-delay:0.4s}[data-tooltip]:active::after,[data-tooltip][aria-expanded="true"]::after{opacity:0 !important;transition-delay:0s}.co-rich-text-toolbar__btn-wrap{position:relative;display:inline-flex}.co-rich-text-toolbar__btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:var(--co-border-radius-xxs);background:transparent;color:var(--co-semantic-text-default, #333);cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-rich-text-toolbar__btn:hover:not(:disabled):not(.co-rich-text-toolbar__btn--active){background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.08));color:var(--co-semantic-text-default, #1a1a1a)}.co-rich-text-toolbar__btn--active{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rich-text-toolbar__btn--active:hover{background:var(--co-color-base-negro, #333);color:var(--co-color-base-blanco, #fff)}.co-rich-text-toolbar__btn:disabled{opacity:0.4;cursor:not-allowed}.co-rich-text-toolbar__btn:focus-visible{outline:2px solid var(--co-semantic-border-focus, var(--co-color-base-negro, #1a1a1a));outline-offset:1px}.co-rich-text-toolbar__select-btn{display:inline-flex;align-items:center;gap:2px;height:30px;padding:0 6px;border:1px solid transparent;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);cursor:pointer;white-space:nowrap;transition:background var(--co-motion-duration-fast), border-color var(--co-motion-duration-fast)}.co-rich-text-toolbar__select-btn:hover:not(:disabled){background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));border-color:var(--co-semantic-border-default, #e0e0e0)}.co-rich-text-toolbar__select-btn--open{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));border-color:var(--co-semantic-border-default, #e0e0e0)}.co-rich-text-toolbar__select-btn:disabled{opacity:0.4;cursor:not-allowed}.co-rich-text-toolbar__select-label{max-width:100px;overflow:hidden;text-overflow:ellipsis}.co-rich-text-toolbar__sep{display:inline-block;width:1px;height:20px;margin:0 var(--co-spacing-xs, 4px);background:var(--co-semantic-border-subtle, rgba(0, 0, 0, 0.12))}.co-rich-text-toolbar__popover{position:absolute;top:100%;left:0;z-index:100;display:flex;flex-direction:column;gap:var(--co-spacing-xs, 4px);min-width:280px;padding:var(--co-spacing-sm, 8px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-top:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__popover-input{width:100%;padding:6px 10px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:var(--co-border-radius-xxs, 4px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);outline:none;box-sizing:border-box}.co-rich-text-toolbar__popover-input:focus{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}.co-rich-text-toolbar__popover-actions{display:flex;gap:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__popover-btn{padding:4px 12px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:var(--co-border-radius-xxs, 4px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);cursor:pointer;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);transition:background var(--co-motion-duration-fast)}.co-rich-text-toolbar__popover-btn:hover:not(.co-rich-text-toolbar__popover-btn--primary){background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rich-text-toolbar__popover-btn--primary{background:var(--co-color-base-negro, #1a1a1a);color:#fff;border-color:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__popover-btn--primary:hover{background:var(--co-color-base-negro, #333);color:#fff}.co-rich-text-toolbar__popover-btn--danger{color:var(--co-color-status-error, #aa2e1b);border-color:var(--co-color-status-error, #aa2e1b)}.co-rich-text-toolbar__popover-option{display:flex;align-items:center;gap:var(--co-spacing-sm, 8px);width:100%;padding:8px 10px;border:none;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);cursor:pointer;text-align:left;transition:background var(--co-motion-duration-fast)}.co-rich-text-toolbar__popover-option:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rich-text-toolbar__dropdown{position:absolute;top:100%;left:0;z-index:100;display:flex;flex-direction:column;min-width:180px;max-height:360px;overflow-y:auto;padding:var(--co-spacing-xs, 4px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-top:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__dropdown-item{display:flex;align-items:center;gap:var(--co-spacing-sm, 8px);padding:6px 10px;border:none;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);cursor:pointer;text-align:left;transition:background var(--co-motion-duration-fast)}.co-rich-text-toolbar__dropdown-item:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rich-text-toolbar__dropdown-sep{height:1px;margin:4px 0;background:var(--co-semantic-border-default, #e0e0e0)}.co-rich-text-toolbar__dropdown-sep-label{padding:6px 10px 2px;font-family:var(--co-font-family-primary);font-size:11px;font-weight:600;color:var(--co-semantic-text-muted, #999);letter-spacing:0.03em;border-top:1px solid var(--co-semantic-border-default, #e0e0e0);margin-top:2px}.co-rich-text-toolbar__dropdown-input-wrap{padding:6px 8px;border-bottom:1px solid var(--co-semantic-border-default, #e0e0e0)}.co-rich-text-toolbar__dropdown-input{width:100%;padding:4px 8px;border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:4px;font-size:13px;font-family:var(--co-font-family-primary);outline:none;box-sizing:border-box}.co-rich-text-toolbar__dropdown-input:focus{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}.co-rich-text-toolbar__color-picker{position:absolute;top:100%;left:0;z-index:100;display:flex;flex-direction:column;gap:var(--co-spacing-xs, 4px);padding:var(--co-spacing-sm, 8px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-top:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__color-grid{display:grid;grid-template-columns:repeat(10, 1fr);gap:2px}.co-rich-text-toolbar__color-swatch{width:22px;height:22px;padding:0;border:none;border-radius:3px;cursor:pointer;transition:transform var(--co-motion-duration-fast), box-shadow var(--co-motion-duration-fast)}.co-rich-text-toolbar__color-swatch:hover{transform:scale(1.2);box-shadow:0 0 0 2px var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__color-clear{display:flex;align-items:center;gap:var(--co-spacing-xs, 4px);padding:4px 8px;border:none;background:transparent;color:var(--co-semantic-text-secondary, #666);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);cursor:pointer;border-radius:var(--co-border-radius-xxs, 4px);margin-top:var(--co-spacing-xxs, 2px)}.co-rich-text-toolbar__color-clear:hover{background:var(--co-semantic-surface-hover, #f5f5f5);color:var(--co-semantic-text-default, #333)}.co-rich-text-toolbar__table-picker{position:absolute;top:100%;left:0;z-index:100;display:flex;flex-direction:column;width:280px;padding:var(--co-spacing-lg, 16px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 8px 24px rgba(0, 0, 0, 0.12);margin-top:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__table-header{display:flex;align-items:center;gap:var(--co-spacing-sm, 8px);margin-bottom:var(--co-spacing-md, 12px)}.co-rich-text-toolbar__table-title{flex:1;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);font-weight:600;letter-spacing:0.06em;color:var(--co-semantic-text-secondary, #666)}.co-rich-text-toolbar__table-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-secondary, #666);cursor:pointer}.co-rich-text-toolbar__table-close:hover{background:var(--co-semantic-surface-hover, #f0f0f0)}.co-rich-text-toolbar__table-tabs{display:flex;gap:0;margin-bottom:var(--co-spacing-md, 12px);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xxs, 4px);overflow:hidden}.co-rich-text-toolbar__table-tab{flex:1;padding:var(--co-spacing-sm, 8px) var(--co-spacing-md, 12px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-13, 13px);font-weight:500;border:none;background:transparent;color:var(--co-semantic-text-secondary, #666);cursor:pointer;transition:background var(--co-motion-duration-fast), color var(--co-motion-duration-fast)}.co-rich-text-toolbar__table-tab:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rich-text-toolbar__table-tab--active{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rich-text-toolbar__grid-container{display:flex;flex-direction:column;gap:var(--co-spacing-sm, 8px);margin-bottom:var(--co-spacing-md, 12px)}.co-rich-text-toolbar__grid{display:grid;gap:3px}.co-rich-text-toolbar__grid-cell{width:24px;height:24px;border:1px solid var(--co-semantic-border-default, #d0d0d0);border-radius:3px;background:transparent;cursor:pointer;transition:background var(--co-motion-duration-instant), border-color var(--co-motion-duration-instant)}.co-rich-text-toolbar__grid-cell:hover,.co-rich-text-toolbar__grid-cell--active{background:var(--co-color-base-negro, #1a1a1a);border-color:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__grid-footer{display:flex;align-items:center;justify-content:space-between}.co-rich-text-toolbar__grid-label{font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);color:var(--co-semantic-text-muted, #999)}.co-rich-text-toolbar__grid-reset{font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);color:var(--co-semantic-text-default, #333);text-decoration:underline;border:none;background:transparent;cursor:pointer;padding:0}.co-rich-text-toolbar__table-manual{display:flex;flex-direction:column;gap:var(--co-spacing-md, 12px);margin-bottom:var(--co-spacing-md, 12px)}.co-rich-text-toolbar__table-field{display:flex;align-items:center;gap:var(--co-spacing-md, 12px)}.co-rich-text-toolbar__table-field label{font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-default, #333);min-width:70px}.co-rich-text-toolbar__table-field input{flex:1;padding:var(--co-spacing-sm, 8px) var(--co-spacing-md, 12px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xxs, 4px);background:var(--co-semantic-surface-secondary, #fff);outline:none}.co-rich-text-toolbar__table-field input:focus{border-color:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__table-check{display:flex;align-items:center;gap:var(--co-spacing-sm, 8px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-default, #333);cursor:pointer;margin-bottom:var(--co-spacing-md, 12px)}.co-rich-text-toolbar__table-check input{width:18px;height:18px;cursor:pointer;accent-color:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__table-actions{display:flex;gap:var(--co-spacing-sm, 8px);justify-content:flex-end}.co-rich-text-toolbar__table-btn{padding:var(--co-spacing-sm, 8px) var(--co-spacing-lg, 16px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-13, 13px);font-weight:500;border:none;border-radius:var(--co-border-radius-xxs, 4px);cursor:pointer;transition:opacity var(--co-motion-duration-fast)}.co-rich-text-toolbar__table-btn--primary{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rich-text-toolbar__table-btn--primary:hover{opacity:0.85}.co-rich-text-toolbar__table-btn--secondary{background:transparent;color:var(--co-semantic-text-default, #333)}.co-rich-text-toolbar__table-btn--secondary:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rich-text-toolbar__split-wrap{position:relative;display:inline-flex;align-items:center}.co-rich-text-toolbar__split-main{border-top-right-radius:0;border-bottom-right-radius:0;width:28px}.co-rich-text-toolbar__split-caret{display:inline-flex;align-items:center;justify-content:center;width:16px;height:30px;padding:0;border:none;border-radius:var(--co-border-radius-xxs);border-top-left-radius:0;border-bottom-left-radius:0;background:transparent;color:var(--co-semantic-text-default, #333);cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-rich-text-toolbar__split-caret:hover:not(:disabled),.co-rich-text-toolbar__split-caret--open{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.08))}.co-rich-text-toolbar__split-caret:disabled{opacity:0.4;cursor:not-allowed}.co-rich-text-toolbar__listpicker{position:absolute;top:100%;left:0;z-index:100;display:grid;grid-template-columns:repeat(3, 1fr);gap:14px;padding:16px;background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 8px 24px rgba(0, 0, 0, 0.14);margin-top:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__listpicker-item{display:flex;align-items:center;justify-content:flex-start;width:76px;height:60px;padding:0;border:1px solid var(--co-semantic-border-default, #e3e3e3);border-radius:8px;background:var(--co-semantic-surface-secondary, #fff);cursor:pointer;transition:border-color var(--co-motion-duration-fast), box-shadow var(--co-motion-duration-fast), background var(--co-motion-duration-fast)}.co-rich-text-toolbar__listpicker-item:hover{border-color:var(--co-color-base-negro, #1a1a1a);background:var(--co-semantic-surface-hover, #fafafa)}.co-rich-text-toolbar__listpicker-item--active{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 1.5px var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__listpicker-preview{margin:0;padding:0 0 0 22px;list-style-position:outside;pointer-events:none}.co-rich-text-toolbar__listpicker-preview li{height:3px;width:30px;margin:7px 0;background:var(--co-semantic-border-default, #cfcfcf);border-radius:2px}.co-rich-text-toolbar__listpicker-preview li::marker{color:var(--co-color-base-negro, #1a1a1a);font-size:11px;font-weight:600}.co-rich-text-toolbar__listpicker--task{grid-template-columns:repeat(2, 1fr)}.co-rich-text-toolbar__listpicker-item--task{width:92px;justify-content:center}.co-rich-text-toolbar__taskpreview{display:flex;flex-direction:column;gap:9px}.co-rich-text-toolbar__taskpreview-row{display:flex;align-items:center;gap:7px}.co-rich-text-toolbar__taskpreview-box{flex:0 0 auto;width:11px;height:11px;border:1.5px solid var(--co-color-base-negro, #1a1a1a);border-radius:3px;box-sizing:border-box}.co-rich-text-toolbar__taskpreview-box--checked{position:relative;background:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__taskpreview-box--checked::after{content:'';position:absolute;left:3px;top:0.5px;width:3px;height:6px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.co-rich-text-toolbar__taskpreview-line{position:relative;width:34px;height:3px;background:var(--co-semantic-border-default, #cfcfcf);border-radius:2px}.co-rich-text-toolbar__taskpreview[data-variant="strike"] .co-rich-text-toolbar__taskpreview-row--checked .co-rich-text-toolbar__taskpreview-line::after{content:'';position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:1.5px;background:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__dropdown-check{display:inline-flex;align-items:center;justify-content:center;width:18px;flex-shrink:0}.co-rich-text-toolbar__dropdown-item--active{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.04));font-weight:600}.co-rich-text-toolbar__align-group{display:inline-flex;align-items:center;gap:0}.co-rich-text-toolbar__color-indicator{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1}.co-rich-text-toolbar__color-letter{font-family:var(--co-font-family-primary);font-size:14px;font-weight:700;color:var(--co-semantic-text-default, #333);line-height:1}.co-rich-text-toolbar__color-bar{width:14px;height:3px;border-radius:1px}.co-rich-text-toolbar__color-hex{display:flex;align-items:center;gap:4px;margin-top:6px}.co-rich-text-toolbar__color-hex-input{width:100%;padding:3px 6px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:3px;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-mono, monospace);font-size:11px;outline:none;box-sizing:border-box}.co-rich-text-toolbar__color-hex-input:focus{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}:host([position="bottom"]){background:transparent}:host([position="bottom"]) .co-rich-text-toolbar{border-bottom:0;background:transparent;border-radius:0}:host([position="bottom"]) .co-rich-text-toolbar__popover{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--co-spacing-xs, 4px)}:host([position="bottom"]) .co-rich-text-toolbar__dropdown{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--co-spacing-xs, 4px)}:host([position="bottom"]) .co-rich-text-toolbar__color-picker{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--co-spacing-xs, 4px)}:host([position="bottom"]) .co-rich-text-toolbar__table-picker{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--co-spacing-xs, 4px)}:host([position="bottom"]) .co-rich-text-toolbar__listpicker{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__btn--extra{width:auto;gap:var(--co-spacing-xs);padding-inline:var(--co-spacing-sm2)}.co-rich-text-toolbar__extra-label{font-size:var(--co-font-size-13);white-space:nowrap}`;
5
+ /**
6
+ * Encaje horizontal de los paneles de la toolbar (link, listas, color, tabla,
7
+ * callouts). Cuelgan de su botón por CSS (`position:absolute; left:0`), así que
8
+ * en una columna angosta —el inspector del ítem del cotizador— se salían por la
9
+ * derecha: los recortaba el `overflow` del contenedor, que además ganaba scroll
10
+ * horizontal y corría el editor. Aquí se calcula cuánto correrlos para que
11
+ * queden dentro del área VISIBLE (viewport ∩ ancestros que recortan).
12
+ */
13
+ /** Aire mínimo contra el borde del área visible. */
14
+ const PANEL_EDGE_GAP = 8;
15
+ /**
16
+ * Desplazamiento en px de viewport (negativo = a la izquierda) para que `panel`
17
+ * entre en `area`. Si el panel es más ancho que el área, gana su borde
18
+ * IZQUIERDO (el comienzo del contenido: el input, la primera fila).
19
+ */
20
+ function panelShiftX(panel, area, gap = PANEL_EDGE_GAP) {
21
+ let dx = 0;
22
+ if (panel.right > area.right - gap)
23
+ dx = area.right - gap - panel.right;
24
+ if (panel.left + dx < area.left + gap)
25
+ dx = area.left + gap - panel.left;
26
+ return dx;
27
+ }
28
+ const CLIPS = /(auto|scroll|hidden|clip)/;
29
+ /**
30
+ * Área visible para un nodo: el viewport recortado por cada ancestro con
31
+ * `overflow-x` que recorta, cruzando shadow roots (el toolbar vive dentro del
32
+ * shadow del editor, que vive en la página).
33
+ */
34
+ function visibleArea(node, viewportWidth, overflowX) {
35
+ const area = { left: 0, right: viewportWidth };
36
+ let current = parentAcrossShadow(node);
37
+ while (current) {
38
+ if (CLIPS.test(overflowX(current))) {
39
+ const inner = innerBox(current);
40
+ area.left = Math.max(area.left, inner.left);
41
+ area.right = Math.min(area.right, inner.right);
42
+ }
43
+ current = parentAcrossShadow(current);
44
+ }
45
+ return area;
46
+ }
47
+ /**
48
+ * Lo que de verdad se ve de un contenedor que recorta: SIN su borde ni su
49
+ * scrollbar vertical (el rect los incluye; con el rect, el panel quedaba 3 px
50
+ * debajo de la scrollbar y el contenedor seguía con scroll-x). En px de
51
+ * viewport: `client*` son px CSS, se escalan si un ancestro tiene transform.
52
+ */
53
+ function innerBox(node) {
54
+ const box = node.getBoundingClientRect();
55
+ if (node.clientWidth === undefined)
56
+ return box;
57
+ const scale = node.offsetWidth && box.width ? box.width / node.offsetWidth : 1;
58
+ const left = box.left + (node.clientLeft || 0) * scale;
59
+ return { left, right: left + node.clientWidth * scale };
60
+ }
61
+ function parentAcrossShadow(node) {
62
+ var _a, _b;
63
+ if (node.parentElement)
64
+ return node.parentElement;
65
+ const root = (_a = node.getRootNode) === null || _a === void 0 ? void 0 : _a.call(node);
66
+ return (_b = root === null || root === void 0 ? void 0 : root.host) !== null && _b !== void 0 ? _b : null;
67
+ }
6
68
 
69
+ const coRichTextToolbarCss = () => `:host{display:block;font-family:var(--co-font-family-primary);z-index:10;flex-shrink:0;background:var(--co-semantic-surface-secondary, #fff);overflow:visible}.co-rich-text-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--co-spacing-xxs, 2px);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-bottom:1px solid var(--co-semantic-border-subtle);background:var(--co-semantic-surface-secondary);border-top-left-radius:inherit;border-top-right-radius:inherit}.co-rich-text-toolbar__btn-wrap,.co-rich-text-toolbar__split-wrap{overflow:visible}[data-tooltip]{position:relative}[data-tooltip]::after{content:attr(data-tooltip);position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);padding:4px 8px;background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff);font-size:11px;font-weight:500;line-height:1.3;white-space:nowrap;border-radius:4px;pointer-events:none;opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out);z-index:9999}[data-tooltip]:hover::after{opacity:1;transition-delay:0.4s}[data-tooltip]:active::after,[data-tooltip][aria-expanded="true"]::after{opacity:0 !important;transition-delay:0s}.co-rich-text-toolbar__btn-wrap{position:relative;display:inline-flex}.co-rich-text-toolbar__btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:var(--co-border-radius-xxs);background:transparent;color:var(--co-semantic-text-default, #333);cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-rich-text-toolbar__btn:hover:not(:disabled):not(.co-rich-text-toolbar__btn--active){background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.08));color:var(--co-semantic-text-default, #1a1a1a)}.co-rich-text-toolbar__btn--active{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rich-text-toolbar__btn--active:hover{background:var(--co-color-base-negro, #333);color:var(--co-color-base-blanco, #fff)}.co-rich-text-toolbar__btn:disabled{opacity:0.4;cursor:not-allowed}.co-rich-text-toolbar__btn:focus-visible{outline:2px solid var(--co-semantic-border-focus, var(--co-color-base-negro, #1a1a1a));outline-offset:1px}.co-rich-text-toolbar__select-btn{display:inline-flex;align-items:center;gap:2px;height:30px;padding:0 6px;border:1px solid transparent;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);cursor:pointer;white-space:nowrap;transition:background var(--co-motion-duration-fast), border-color var(--co-motion-duration-fast)}.co-rich-text-toolbar__select-btn:hover:not(:disabled){background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));border-color:var(--co-semantic-border-default, #e0e0e0)}.co-rich-text-toolbar__select-btn--open{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));border-color:var(--co-semantic-border-default, #e0e0e0)}.co-rich-text-toolbar__select-btn:disabled{opacity:0.4;cursor:not-allowed}.co-rich-text-toolbar__select-label{max-width:100px;overflow:hidden;text-overflow:ellipsis}.co-rich-text-toolbar__sep{display:inline-block;width:1px;height:20px;margin:0 var(--co-spacing-xs, 4px);background:var(--co-semantic-border-subtle, rgba(0, 0, 0, 0.12))}.co-rich-text-toolbar__popover{position:absolute;top:100%;left:0;z-index:100;display:flex;flex-direction:column;gap:var(--co-spacing-xs, 4px);min-width:280px;padding:var(--co-spacing-sm, 8px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-top:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__popover-input{width:100%;padding:6px 10px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:var(--co-border-radius-xxs, 4px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);outline:none;box-sizing:border-box}.co-rich-text-toolbar__popover-input:focus{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}.co-rich-text-toolbar__popover-actions{display:flex;gap:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__popover-btn{padding:4px 12px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:var(--co-border-radius-xxs, 4px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);cursor:pointer;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);transition:background var(--co-motion-duration-fast)}.co-rich-text-toolbar__popover-btn:hover:not(.co-rich-text-toolbar__popover-btn--primary){background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rich-text-toolbar__popover-btn--primary{background:var(--co-color-base-negro, #1a1a1a);color:#fff;border-color:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__popover-btn--primary:hover{background:var(--co-color-base-negro, #333);color:#fff}.co-rich-text-toolbar__popover-btn--danger{color:var(--co-semantic-text-error, var(--co-color-status-error, #aa2e1b));border-color:var(--co-color-status-error, #aa2e1b)}.co-rich-text-toolbar__popover-option{display:flex;align-items:center;gap:var(--co-spacing-sm, 8px);width:100%;padding:8px 10px;border:none;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);cursor:pointer;text-align:left;transition:background var(--co-motion-duration-fast)}.co-rich-text-toolbar__popover-option:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rich-text-toolbar__dropdown{position:absolute;top:100%;left:0;z-index:100;display:flex;flex-direction:column;min-width:180px;max-height:360px;overflow-y:auto;padding:var(--co-spacing-xs, 4px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-top:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__dropdown-item{display:flex;align-items:center;gap:var(--co-spacing-sm, 8px);padding:6px 10px;border:none;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);cursor:pointer;text-align:left;transition:background var(--co-motion-duration-fast)}.co-rich-text-toolbar__dropdown-item:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rich-text-toolbar__dropdown-sep{height:1px;margin:4px 0;background:var(--co-semantic-border-default, #e0e0e0)}.co-rich-text-toolbar__dropdown-sep-label{padding:6px 10px 2px;font-family:var(--co-font-family-primary);font-size:11px;font-weight:600;color:var(--co-semantic-text-muted, #999);letter-spacing:0.03em;border-top:1px solid var(--co-semantic-border-default, #e0e0e0);margin-top:2px}.co-rich-text-toolbar__dropdown-input-wrap{padding:6px 8px;border-bottom:1px solid var(--co-semantic-border-default, #e0e0e0)}.co-rich-text-toolbar__dropdown-input{width:100%;padding:4px 8px;border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:4px;font-size:13px;font-family:var(--co-font-family-primary);outline:none;box-sizing:border-box}.co-rich-text-toolbar__dropdown-input:focus{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}.co-rich-text-toolbar__color-picker{position:absolute;top:100%;left:0;z-index:100;display:flex;flex-direction:column;gap:var(--co-spacing-xs, 4px);padding:var(--co-spacing-sm, 8px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-top:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__color-grid{display:grid;grid-template-columns:repeat(10, 1fr);gap:2px}.co-rich-text-toolbar__color-swatch{width:22px;height:22px;padding:0;border:none;border-radius:3px;cursor:pointer;transition:transform var(--co-motion-duration-fast), box-shadow var(--co-motion-duration-fast)}.co-rich-text-toolbar__color-swatch:hover{transform:scale(1.2);box-shadow:0 0 0 2px var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__color-clear{display:flex;align-items:center;gap:var(--co-spacing-xs, 4px);padding:4px 8px;border:none;background:transparent;color:var(--co-semantic-text-secondary, #666);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);cursor:pointer;border-radius:var(--co-border-radius-xxs, 4px);margin-top:var(--co-spacing-xxs, 2px)}.co-rich-text-toolbar__color-clear:hover{background:var(--co-semantic-surface-hover, #f5f5f5);color:var(--co-semantic-text-default, #333)}.co-rich-text-toolbar__table-picker{position:absolute;top:100%;left:0;z-index:100;display:flex;flex-direction:column;width:280px;padding:var(--co-spacing-lg, 16px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 8px 24px rgba(0, 0, 0, 0.12);margin-top:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__table-header{display:flex;align-items:center;gap:var(--co-spacing-sm, 8px);margin-bottom:var(--co-spacing-md, 12px)}.co-rich-text-toolbar__table-title{flex:1;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);font-weight:600;letter-spacing:0.06em;color:var(--co-semantic-text-secondary, #666)}.co-rich-text-toolbar__table-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-secondary, #666);cursor:pointer}.co-rich-text-toolbar__table-close:hover{background:var(--co-semantic-surface-hover, #f0f0f0)}.co-rich-text-toolbar__table-tabs{display:flex;gap:0;margin-bottom:var(--co-spacing-md, 12px);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xxs, 4px);overflow:hidden}.co-rich-text-toolbar__table-tab{flex:1;padding:var(--co-spacing-sm, 8px) var(--co-spacing-md, 12px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-13, 13px);font-weight:500;border:none;background:transparent;color:var(--co-semantic-text-secondary, #666);cursor:pointer;transition:background var(--co-motion-duration-fast), color var(--co-motion-duration-fast)}.co-rich-text-toolbar__table-tab:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rich-text-toolbar__table-tab--active{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rich-text-toolbar__grid-container{display:flex;flex-direction:column;gap:var(--co-spacing-sm, 8px);margin-bottom:var(--co-spacing-md, 12px)}.co-rich-text-toolbar__grid{display:grid;gap:3px}.co-rich-text-toolbar__grid-cell{width:24px;height:24px;border:1px solid var(--co-semantic-border-default, #d0d0d0);border-radius:3px;background:transparent;cursor:pointer;transition:background var(--co-motion-duration-instant), border-color var(--co-motion-duration-instant)}.co-rich-text-toolbar__grid-cell:hover,.co-rich-text-toolbar__grid-cell--active{background:var(--co-color-base-negro, #1a1a1a);border-color:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__grid-footer{display:flex;align-items:center;justify-content:space-between}.co-rich-text-toolbar__grid-label{font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);color:var(--co-semantic-text-muted, #999)}.co-rich-text-toolbar__grid-reset{font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12, 12px);color:var(--co-semantic-text-default, #333);text-decoration:underline;border:none;background:transparent;cursor:pointer;padding:0}.co-rich-text-toolbar__table-manual{display:flex;flex-direction:column;gap:var(--co-spacing-md, 12px);margin-bottom:var(--co-spacing-md, 12px)}.co-rich-text-toolbar__table-field{display:flex;align-items:center;gap:var(--co-spacing-md, 12px)}.co-rich-text-toolbar__table-field label{font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-default, #333);min-width:70px}.co-rich-text-toolbar__table-field input{flex:1;padding:var(--co-spacing-sm, 8px) var(--co-spacing-md, 12px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xxs, 4px);background:var(--co-semantic-surface-secondary, #fff);outline:none}.co-rich-text-toolbar__table-field input:focus{border-color:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__table-check{display:flex;align-items:center;gap:var(--co-spacing-sm, 8px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-default, #333);cursor:pointer;margin-bottom:var(--co-spacing-md, 12px)}.co-rich-text-toolbar__table-check input{width:18px;height:18px;cursor:pointer;accent-color:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__table-actions{display:flex;gap:var(--co-spacing-sm, 8px);justify-content:flex-end}.co-rich-text-toolbar__table-btn{padding:var(--co-spacing-sm, 8px) var(--co-spacing-lg, 16px);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-13, 13px);font-weight:500;border:none;border-radius:var(--co-border-radius-xxs, 4px);cursor:pointer;transition:opacity var(--co-motion-duration-fast)}.co-rich-text-toolbar__table-btn--primary{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rich-text-toolbar__table-btn--primary:hover{opacity:0.85}.co-rich-text-toolbar__table-btn--secondary{background:transparent;color:var(--co-semantic-text-default, #333)}.co-rich-text-toolbar__table-btn--secondary:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rich-text-toolbar__split-wrap{position:relative;display:inline-flex;align-items:center}.co-rich-text-toolbar__split-main{border-top-right-radius:0;border-bottom-right-radius:0;width:28px}.co-rich-text-toolbar__split-caret{display:inline-flex;align-items:center;justify-content:center;width:16px;height:30px;padding:0;border:none;border-radius:var(--co-border-radius-xxs);border-top-left-radius:0;border-bottom-left-radius:0;background:transparent;color:var(--co-semantic-text-default, #333);cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-rich-text-toolbar__split-caret:hover:not(:disabled),.co-rich-text-toolbar__split-caret--open{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.08))}.co-rich-text-toolbar__split-caret:disabled{opacity:0.4;cursor:not-allowed}.co-rich-text-toolbar__listpicker{position:absolute;top:100%;left:0;z-index:100;display:grid;grid-template-columns:repeat(3, 1fr);gap:14px;padding:16px;background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 8px 24px rgba(0, 0, 0, 0.14);margin-top:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__listpicker-item{display:flex;align-items:center;justify-content:flex-start;width:76px;height:60px;padding:0;border:1px solid var(--co-semantic-border-default, #e3e3e3);border-radius:8px;background:var(--co-semantic-surface-secondary, #fff);cursor:pointer;transition:border-color var(--co-motion-duration-fast), box-shadow var(--co-motion-duration-fast), background var(--co-motion-duration-fast)}.co-rich-text-toolbar__listpicker-item:hover{border-color:var(--co-color-base-negro, #1a1a1a);background:var(--co-semantic-surface-hover, #fafafa)}.co-rich-text-toolbar__listpicker-item--active{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 1.5px var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__listpicker-preview{margin:0;padding:0 0 0 22px;list-style-position:outside;pointer-events:none}.co-rich-text-toolbar__listpicker-preview li{height:3px;width:30px;margin:7px 0;background:var(--co-semantic-border-default, #cfcfcf);border-radius:2px}.co-rich-text-toolbar__listpicker-preview li::marker{color:var(--co-color-base-negro, #1a1a1a);font-size:11px;font-weight:600}.co-rich-text-toolbar__listpicker--task{grid-template-columns:repeat(2, 1fr)}.co-rich-text-toolbar__listpicker-item--task{width:92px;justify-content:center}.co-rich-text-toolbar__taskpreview{display:flex;flex-direction:column;gap:9px}.co-rich-text-toolbar__taskpreview-row{display:flex;align-items:center;gap:7px}.co-rich-text-toolbar__taskpreview-box{flex:0 0 auto;width:11px;height:11px;border:1.5px solid var(--co-color-base-negro, #1a1a1a);border-radius:3px;box-sizing:border-box}.co-rich-text-toolbar__taskpreview-box--checked{position:relative;background:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__taskpreview-box--checked::after{content:'';position:absolute;left:3px;top:0.5px;width:3px;height:6px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.co-rich-text-toolbar__taskpreview-line{position:relative;width:34px;height:3px;background:var(--co-semantic-border-default, #cfcfcf);border-radius:2px}.co-rich-text-toolbar__taskpreview[data-variant="strike"] .co-rich-text-toolbar__taskpreview-row--checked .co-rich-text-toolbar__taskpreview-line::after{content:'';position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:1.5px;background:var(--co-color-base-negro, #1a1a1a)}.co-rich-text-toolbar__dropdown-check{display:inline-flex;align-items:center;justify-content:center;width:18px;flex-shrink:0}.co-rich-text-toolbar__dropdown-item--active{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.04));font-weight:600}.co-rich-text-toolbar__align-group{display:inline-flex;align-items:center;gap:0}.co-rich-text-toolbar__color-indicator{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1}.co-rich-text-toolbar__color-letter{font-family:var(--co-font-family-primary);font-size:14px;font-weight:700;color:var(--co-semantic-text-default, #333);line-height:1}.co-rich-text-toolbar__color-bar{width:14px;height:3px;border-radius:1px}.co-rich-text-toolbar__color-hex{display:flex;align-items:center;gap:4px;margin-top:6px}.co-rich-text-toolbar__color-hex-input{width:100%;padding:3px 6px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:3px;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-mono, monospace);font-size:11px;outline:none;box-sizing:border-box}.co-rich-text-toolbar__color-hex-input:focus{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}:host([position="bottom"]){background:transparent}:host([position="bottom"]) .co-rich-text-toolbar{border-bottom:0;background:transparent;border-radius:0}:host([position="bottom"]) .co-rich-text-toolbar__popover{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--co-spacing-xs, 4px)}:host([position="bottom"]) .co-rich-text-toolbar__dropdown{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--co-spacing-xs, 4px)}:host([position="bottom"]) .co-rich-text-toolbar__color-picker{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--co-spacing-xs, 4px)}:host([position="bottom"]) .co-rich-text-toolbar__table-picker{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--co-spacing-xs, 4px)}:host([position="bottom"]) .co-rich-text-toolbar__listpicker{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--co-spacing-xs, 4px)}.co-rich-text-toolbar__btn--extra{width:auto;gap:var(--co-spacing-xs);padding-inline:var(--co-spacing-sm2)}.co-rich-text-toolbar__extra-label{font-size:var(--co-font-size-13);white-space:nowrap}`;
70
+
71
+ /** Paneles que cuelgan de un botón (ver co-rich-text-toolbar.css): los que `fitOpenPanel` encaja. */
72
+ const PANEL_SELECTOR = [
73
+ '.co-rich-text-toolbar__popover',
74
+ '.co-rich-text-toolbar__dropdown',
75
+ '.co-rich-text-toolbar__color-picker',
76
+ '.co-rich-text-toolbar__table-picker',
77
+ '.co-rich-text-toolbar__listpicker',
78
+ ].join(', ');
7
79
  const CoRichTextToolbar = class {
8
80
  constructor(hostRef) {
9
81
  registerInstance(this, hostRef);
@@ -380,6 +452,37 @@ const CoRichTextToolbar = class {
380
452
  return;
381
453
  this.coPopoverChange.emit({ open: !!next });
382
454
  }
455
+ componentDidRender() {
456
+ this.fitOpenPanel();
457
+ }
458
+ /**
459
+ * Corre el panel abierto hacia la izquierda si se sale del área VISIBLE
460
+ * (viewport ∩ ancestros que recortan, ver panelFit.ts). Los paneles anclan a
461
+ * `left:0` de su botón por CSS: en una columna angosta (inspector del
462
+ * cotizador) el de link/listas se cortaba y el contenedor ganaba scroll-x.
463
+ * Se mide tras cada render con el panel abierto (su contenido cambia: menú →
464
+ * URL de la imagen), reseteando antes el corrimiento anterior.
465
+ */
466
+ fitOpenPanel() {
467
+ var _a;
468
+ if (!this.openPopover || typeof window === 'undefined')
469
+ return;
470
+ const panels = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(PANEL_SELECTOR);
471
+ if (!(panels === null || panels === void 0 ? void 0 : panels.length))
472
+ return;
473
+ const viewport = document.documentElement.clientWidth || window.innerWidth; // sin la scrollbar de la página
474
+ const area = visibleArea(this.el, viewport, (node) => getComputedStyle(node).overflowX);
475
+ panels.forEach((panel) => {
476
+ panel.style.translate = '';
477
+ const box = panel.getBoundingClientRect();
478
+ if (!box.width)
479
+ return;
480
+ const scale = panel.offsetWidth ? box.width / panel.offsetWidth || 1 : 1;
481
+ const dx = panelShiftX(box, area);
482
+ if (dx)
483
+ panel.style.translate = `${dx / scale}px 0`;
484
+ });
485
+ }
383
486
  disconnectedCallback() {
384
487
  var _a;
385
488
  (_a = this.editor) === null || _a === void 0 ? void 0 : _a.off('transaction', this.onTransaction);
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, h } from './index-DJkaRtbb.js';
2
2
  import { p as purify } from './purify.es-B2QLgWrz.js';
3
3
 
4
- const coRichTextViewerCss = () => `:host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);color:var(--co-semantic-text-default);line-height:1.5}.co-rich-text-viewer{padding:var(--co-spacing-md) 0}.co-rich-text-viewer--compact{padding:var(--co-spacing-sm) 0}.co-rich-text-viewer--empty{color:var(--co-semantic-text-muted);font-style:italic}.co-rich-text-viewer p{margin:0 0 var(--co-spacing-sm)}.co-rich-text-viewer p:last-child{margin-bottom:0}.co-rich-text-viewer h1,.co-rich-text-viewer h2,.co-rich-text-viewer h3,.co-rich-text-viewer h4{margin:var(--co-spacing-md) 0 var(--co-spacing-sm);font-weight:600;line-height:1.3}.co-rich-text-viewer h1{font-size:var(--co-font-size-28, 28px)}.co-rich-text-viewer h2{font-size:var(--co-font-size-20, 20px)}.co-rich-text-viewer h3{font-size:var(--co-font-size-16, 16px)}.co-rich-text-viewer ul,.co-rich-text-viewer ol{padding-left:var(--co-spacing-xl);margin:0 0 var(--co-spacing-sm)}.co-rich-text-viewer blockquote{border-left:3px solid var(--co-semantic-border-subtle);padding-left:var(--co-spacing-md);margin:0 0 var(--co-spacing-sm);color:var(--co-semantic-text-secondary)}.co-rich-text-viewer a{color:var(--co-color-primary-azul);text-decoration:underline}.co-rich-text-viewer img{max-width:100%;height:auto;border-radius:var(--co-border-radius-xs);margin:var(--co-spacing-sm) 0}.co-rich-text-viewer img[data-image-layout="wrap-left"]{float:left;max-width:50%;margin:4px 16px 8px 0}.co-rich-text-viewer img[data-image-layout="wrap-right"]{float:right;max-width:50%;margin:4px 0 8px 16px}.co-rich-text-viewer img[data-image-layout="center"]{display:block;margin:12px auto}.co-rich-text-viewer img[data-image-layout="full-width"]{display:block;width:100%;margin:12px 0}@media (max-width: 768px){.co-rich-text-viewer img[data-image-layout="wrap-left"],.co-rich-text-viewer img[data-image-layout="wrap-right"]{float:none;max-width:100%;display:block;margin:12px 0}}.co-rich-text-viewer img[style*="position:absolute"],.co-rich-text-viewer img[style*="position: absolute"]{position:static !important;left:auto !important;top:auto !important;z-index:auto !important}.co-rich-text-viewer iframe{width:100%;max-width:100%;aspect-ratio:16 / 9;height:auto;display:block;border:0;border-radius:var(--co-border-radius-xs);margin:0}.co-rich-text-viewer .co-rte-iframe,.co-rich-text-viewer [data-youtube-video]{display:block;max-width:100%;margin:var(--co-spacing-sm) 0}.co-rich-text-viewer code{font-family:var(--co-font-family-mono);font-size:0.9em;background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));padding:0.1em 0.3em;border-radius:var(--co-border-radius-xxs)}.co-rich-text-viewer .co-rte-variable,.co-rich-text-viewer [data-variable]{display:inline-block;padding:0.05em 0.4em;border-radius:var(--co-border-radius-xxs);background:var(--co-color-primary-azul);color:var(--co-color-base-blanco, #fff);font-size:0.9em}.co-rich-text-viewer [data-mention-id],.co-rich-text-viewer [data-denotation-char='@'][data-id]{display:inline-block;padding:0.05em 0.4em;border-radius:var(--co-border-radius-xxs);background:var(--co-color-azul-200);color:var(--co-color-azul-800);font-size:0.9em;white-space:nowrap}.co-rich-text-viewer #userMentionsTracker{display:none}.co-rich-text-viewer--site{width:var(--co-rte-content-width, 80%);max-width:100%;margin:0 auto}@media (max-width: 768px){.co-rich-text-viewer--site{width:100%}}`;
4
+ const coRichTextViewerCss = () => `:host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);color:var(--co-semantic-text-default);line-height:1.5}.co-rich-text-viewer{padding:var(--co-spacing-md) 0}.co-rich-text-viewer--compact{padding:var(--co-spacing-sm) 0}.co-rich-text-viewer--empty{color:var(--co-semantic-text-muted);font-style:italic}.co-rich-text-viewer p{margin:0 0 var(--co-spacing-sm)}.co-rich-text-viewer p:last-child{margin-bottom:0}.co-rich-text-viewer h1,.co-rich-text-viewer h2,.co-rich-text-viewer h3,.co-rich-text-viewer h4{margin:var(--co-spacing-md) 0 var(--co-spacing-sm);font-weight:600;line-height:1.3}.co-rich-text-viewer h1{font-size:var(--co-font-size-28, 28px)}.co-rich-text-viewer h2{font-size:var(--co-font-size-20, 20px)}.co-rich-text-viewer h3{font-size:var(--co-font-size-16, 16px)}.co-rich-text-viewer ul,.co-rich-text-viewer ol{padding-left:var(--co-spacing-xl);margin:0 0 var(--co-spacing-sm)}.co-rich-text-viewer blockquote{border-left:3px solid var(--co-semantic-border-subtle);padding-left:var(--co-spacing-md);margin:0 0 var(--co-spacing-sm);color:var(--co-semantic-text-secondary)}.co-rich-text-viewer a{color:var(--co-semantic-text-link, var(--co-color-primary-azul));text-decoration:underline}.co-rich-text-viewer img{max-width:100%;height:auto;border-radius:var(--co-border-radius-xs);margin:var(--co-spacing-sm) 0}.co-rich-text-viewer img[data-image-layout="wrap-left"]{float:left;max-width:50%;margin:4px 16px 8px 0}.co-rich-text-viewer img[data-image-layout="wrap-right"]{float:right;max-width:50%;margin:4px 0 8px 16px}.co-rich-text-viewer img[data-image-layout="center"]{display:block;margin:12px auto}.co-rich-text-viewer img[data-image-layout="full-width"]{display:block;width:100%;margin:12px 0}@media (max-width: 768px){.co-rich-text-viewer img[data-image-layout="wrap-left"],.co-rich-text-viewer img[data-image-layout="wrap-right"]{float:none;max-width:100%;display:block;margin:12px 0}}.co-rich-text-viewer img[style*="position:absolute"],.co-rich-text-viewer img[style*="position: absolute"]{position:static !important;left:auto !important;top:auto !important;z-index:auto !important}.co-rich-text-viewer iframe{width:100%;max-width:100%;aspect-ratio:16 / 9;height:auto;display:block;border:0;border-radius:var(--co-border-radius-xs);margin:0}.co-rich-text-viewer .co-rte-iframe,.co-rich-text-viewer [data-youtube-video]{display:block;max-width:100%;margin:var(--co-spacing-sm) 0}.co-rich-text-viewer code{font-family:var(--co-font-family-mono);font-size:0.9em;background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));padding:0.1em 0.3em;border-radius:var(--co-border-radius-xxs)}.co-rich-text-viewer .co-rte-variable,.co-rich-text-viewer [data-variable]{display:inline-block;padding:0.05em 0.4em;border-radius:var(--co-border-radius-xxs);background:var(--co-color-primary-azul);color:var(--co-color-base-blanco, #fff);font-size:0.9em}.co-rich-text-viewer [data-mention-id],.co-rich-text-viewer [data-denotation-char='@'][data-id]{display:inline-block;padding:0.05em 0.4em;border-radius:var(--co-border-radius-xxs);background:var(--co-color-azul-200);color:var(--co-color-azul-800);font-size:0.9em;white-space:nowrap}.co-rich-text-viewer #userMentionsTracker{display:none}.co-rich-text-viewer--site{width:var(--co-rte-content-width, 80%);max-width:100%;margin:0 auto}@media (max-width: 768px){.co-rich-text-viewer--site{width:100%}}`;
5
5
 
6
6
  /**
7
7
  * Read-only renderer for rich-text content. For `format="html"` it only runs
@@ -133,7 +133,7 @@ const CoRichTextViewer = class {
133
133
  // JSON mode — lazily import the serializer (pulls Tiptap on demand only).
134
134
  try {
135
135
  const doc = JSON.parse(this.value);
136
- const rt = await import('./index-CgyOJePd.js').then(function (n) { return n.R; });
136
+ const rt = await import('./index-BNt7Zg14.js').then(function (n) { return n.R; });
137
137
  this.html = rt.jsonToHtml(doc, this.preset);
138
138
  }
139
139
  catch (_a) {
@@ -11,11 +11,11 @@ const CoRow = class {
11
11
  this.size = 'sm';
12
12
  }
13
13
  render() {
14
- return (h("div", { key: '077025b2a73f8440400c27923f1d3a7e38cfb346', class: {
14
+ return (h("div", { key: 'd052e6dba474ea6f1f136d677ebc538557685f07', class: {
15
15
  'co-row': true,
16
16
  [`co-row--${this.position}`]: true,
17
17
  [`co-row--${this.size}`]: true,
18
- }, part: "row" }, h("div", { key: '2ffc2d8e5c0ab4779a5599736c877097039fd47f', class: "co-row__prefix" }, h("slot", { key: 'b6cb185d5f1bb577f78d19b9f78fce1be52c5252', name: "prefix" })), h("div", { key: 'f2a34f5554a832d6ae5030bb1138488928025d43', class: "co-row__content" }, h("slot", { key: 'a8ad430becc2e285e4fec43b16a6e29ba9088f8a' })), h("div", { key: '7fef31caadd3fb43571286a2ee13cf42ebbf8d78', class: "co-row__suffix" }, h("slot", { key: '63465e56defc9a0c11bc5a1eba46ac7f150d67fb', name: "suffix" }))));
18
+ }, part: "row" }, h("div", { key: '539f84f2fa75b7f21e434c59e712e37ee9ec8c97', class: "co-row__prefix" }, h("slot", { key: '53c1587065532465adc5a57e53486e1f95f6d62c', name: "prefix" })), h("div", { key: '6ac141b5b74f94ebea99ba3be6c7ec01e7c0303c', class: "co-row__content" }, h("slot", { key: '8e9312d7dbe9c085880a686735ac45a600e98802' })), h("div", { key: '3b7ae09f7dc1db532c76c2439d5632e59d16f916', class: "co-row__suffix" }, h("slot", { key: 'd42cc77971fb7c8e435538ce77192217f58a6c1b', name: "suffix" }))));
19
19
  }
20
20
  };
21
21
  CoRow.style = coRowCss();