@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
@@ -153,7 +153,7 @@ export class CoKbd {
153
153
  keyNodes.push(h("kbd", { class: "co-kbd__key", part: "key", key: `key-${index}` }, renderToken(token, iconSize)));
154
154
  });
155
155
  }
156
- return (h("span", { key: 'd2b28cba40938051dd4488ceb0e06391e9e4b31d', class: {
156
+ return (h("span", { key: '539eee42201f514049f1a879f1cab901af375b79', class: {
157
157
  'co-kbd': true,
158
158
  [`co-kbd--${this.size}`]: true,
159
159
  [`co-kbd--${this.surface}`]: true,
@@ -1,6 +1,7 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { langFromLocale } from "../../utils/dateI18n";
3
3
  import { getLightboxStrings } from "../../utils/lightboxI18n";
4
+ import { openMediaInTab } from "./openInTab";
4
5
  const MIN_SCALE = 1;
5
6
  const MAX_SCALE = 8;
6
7
  const WHEEL_FACTOR = 1.15;
@@ -189,10 +190,10 @@ export class CoLightbox {
189
190
  this.dragging = false;
190
191
  (_a = this.imgEl) === null || _a === void 0 ? void 0 : _a.releasePointerCapture(e.pointerId);
191
192
  };
193
+ /** Pestaña con el medio pintado en un <img>/<video> propio: navegar a la URL
194
+ * descargaba el archivo cuando el servidor no lo sirve como imagen. */
192
195
  this.openOriginal = () => {
193
- const img = this.parsedImages[this.index];
194
- if (img === null || img === void 0 ? void 0 : img.src)
195
- window.open(img.src, '_blank', 'noopener');
196
+ openMediaInTab(this.parsedImages[this.index]);
196
197
  };
197
198
  this.stop = (e) => e.stopPropagation();
198
199
  }
@@ -496,7 +497,7 @@ export class CoLightbox {
496
497
  const counter = s.counter
497
498
  .replace('{i}', String(this.index + 1))
498
499
  .replace('{n}', String(imgs.length));
499
- return (h("div", { key: 'e6c6c55d90c2a0b83d142cf88f158b87c4d2e02a', class: { 'co-lightbox': true, 'co-lightbox--open': this.open }, part: "overlay", role: "dialog", "aria-modal": "true", "aria-label": img === null || img === void 0 ? void 0 : img.alt, popover: "manual", ref: this.syncTopLayer, onClick: this.requestClose }, img && (h("div", { key: 'f488f9a4ceb012d3db6549d555988001782af07b', class: "co-lightbox__toolbar", part: "toolbar", onClick: this.stop }, h("span", { key: 'fb57cbc8fb5ff4be44c77cbad70eba9f5fc20ebb', class: "co-lightbox__caption", title: img.alt }, img.alt), !video && (h("div", { key: 'c7928efd810878d4f7ea261558691759fcd9854c', class: "co-lightbox__zoom" }, h("button", { key: '65f92f021c1ba3feca3aa6fe18cd3feee54a5ef3', class: "co-lightbox__btn", type: "button", "aria-label": s.zoomOut, title: s.zoomOut, onClick: () => this.zoomAt(this.scale / WHEEL_FACTOR, 0, 0) }, h("co-icon", { key: '2079736e31b26e8f5acef8613f91a3bf98ca02c2', name: "minus", size: 16 })), h("button", { key: '31e7e1257b07f7232788a1a399bcb681f2685807', class: "co-lightbox__btn co-lightbox__zoom-value", type: "button", "aria-label": s.zoomReset, title: s.zoomReset, onClick: () => this.resetView() }, Math.round(this.scale * 100), "%"), h("button", { key: '0b7093aa5e7065db71419eef348422732f644b1a', class: "co-lightbox__btn", type: "button", "aria-label": s.zoomIn, title: s.zoomIn, onClick: () => this.zoomAt(this.scale * WHEEL_FACTOR, 0, 0) }, h("co-icon", { key: 'f0e782492b2d902af14de1d3cfbc83d9b202e78c', name: "plus", size: 16 })))), h("button", { key: 'b0e78378c3ba4270d951f269fdf04fa60601efb5', class: "co-lightbox__btn", type: "button", "aria-label": s.openOriginal, title: s.openOriginal, onClick: this.openOriginal }, h("co-icon", { key: 'dad0c979349c6c6a6b20962609d09a7c3bde55dc', name: "arrow-square-out", size: 16 })), h("button", { key: '209e8ad1ab624b30f8917a3731c2562724ac7f88', class: "co-lightbox__btn", part: "close", type: "button", "aria-label": s.close, title: s.close, ref: (el) => (this.closeBtnEl = el), onClick: this.requestClose }, h("co-icon", { key: '72c135d4b3a88ea4c87b162bc5a5651b488049b2', name: "x", size: 16 })))), img && (h("div", { key: 'af781758e0da002fc011c5a93461d7c93752a093', class: "co-lightbox__stage", ref: (el) => (this.stageEl = el), onWheel: video ? undefined : this.handleWheel }, video ? (h("co-video", { class: "co-lightbox__video", part: "video",
500
+ return (h("div", { key: '189314e8e6be6a3b908d2c4387e0561162a1b96e', class: { 'co-lightbox': true, 'co-lightbox--open': this.open }, part: "overlay", role: "dialog", "aria-modal": "true", "aria-label": img === null || img === void 0 ? void 0 : img.alt, popover: "manual", ref: this.syncTopLayer, onClick: this.requestClose }, img && (h("div", { key: 'ee52518418ac4e58cd9bcece7bc3391cb0e9742f', class: "co-lightbox__toolbar", part: "toolbar", onClick: this.stop }, h("span", { key: 'c9e214561c3d2b7b773f82888a9147aab7d120df', class: "co-lightbox__caption", title: img.alt }, img.alt), !video && (h("div", { key: '911216d5873a1462303f1ed5b59c14d72b7328c4', class: "co-lightbox__zoom" }, h("button", { key: '9344807bbac6aefc47824b866a4225206b859323', class: "co-lightbox__btn", type: "button", "aria-label": s.zoomOut, title: s.zoomOut, onClick: () => this.zoomAt(this.scale / WHEEL_FACTOR, 0, 0) }, h("co-icon", { key: '736c42fc97c09d76cf0aa8e0763ba56eb1ecd394', name: "minus", size: 16 })), h("button", { key: 'e115084b8e4941bd0f476b248c3cc88f096c55f2', class: "co-lightbox__btn co-lightbox__zoom-value", type: "button", "aria-label": s.zoomReset, title: s.zoomReset, onClick: () => this.resetView() }, Math.round(this.scale * 100), "%"), h("button", { key: 'd5955ce9dcf15f0768a1f012a11acec012805811', class: "co-lightbox__btn", type: "button", "aria-label": s.zoomIn, title: s.zoomIn, onClick: () => this.zoomAt(this.scale * WHEEL_FACTOR, 0, 0) }, h("co-icon", { key: '64126b83b5ee1a510e4787c17a77b5bfb65db721', name: "plus", size: 16 })))), h("button", { key: '1798ea6aba9c8ce425317258b076874134de4724', class: "co-lightbox__btn", type: "button", "aria-label": s.openOriginal, title: s.openOriginal, onClick: this.openOriginal }, h("co-icon", { key: 'a4ef44fe626c33b1b0eb11d38afe034ca5a13a8f', name: "arrow-square-out", size: 16 })), h("button", { key: 'c68fbb1498dcfe177d8255647c39b5db83a66f7c', class: "co-lightbox__btn", part: "close", type: "button", "aria-label": s.close, title: s.close, ref: (el) => (this.closeBtnEl = el), onClick: this.requestClose }, h("co-icon", { key: 'b62c1dd5fa4fba5a57b4c804e31494e5da48f0af', name: "x", size: 16 })))), img && (h("div", { key: '80d34170f27f6a0177747e797e10646dcfca0bed', class: "co-lightbox__stage", ref: (el) => (this.stageEl = el), onWheel: video ? undefined : this.handleWheel }, video ? (h("co-video", { class: "co-lightbox__video", part: "video",
500
501
  /* Keyed per slide: a fresh player is the only way to be sure
501
502
  poster, error state and playback all start clean. */
502
503
  key: `video-${this.index}`, ref: this.mountPlayer, src: img.src, poster: img.poster || '', aspectRatio: "auto", rounded: "none",
@@ -506,13 +507,13 @@ export class CoLightbox {
506
507
  'co-lightbox__img': true,
507
508
  'co-lightbox__img--zoomed': this.scale > MIN_SCALE,
508
509
  'co-lightbox__img--dragging': this.dragging,
509
- }, part: "image", ref: (el) => (this.imgEl = el), src: img.src, alt: img.alt || '', draggable: false, style: { transform: `translate(${this.tx}px, ${this.ty}px) scale(${this.scale})` }, onClick: this.stop, onDblClick: this.handleDblClick, onPointerDown: this.handlePointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerUp })))), img && multi && (h("button", { key: '014622508d9f057d3063dbafefb79d9db7d182d6', class: "co-lightbox__nav co-lightbox__nav--prev", part: "prev", type: "button", "aria-label": s.prevImage, title: s.prevImage, onClick: (e) => {
510
+ }, part: "image", ref: (el) => (this.imgEl = el), src: img.src, alt: img.alt || '', draggable: false, style: { transform: `translate(${this.tx}px, ${this.ty}px) scale(${this.scale})` }, onClick: this.stop, onDblClick: this.handleDblClick, onPointerDown: this.handlePointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerUp })))), img && multi && (h("button", { key: '4ef78cd047f1e8b2efb669aefbee51b73e4c5c3b', class: "co-lightbox__nav co-lightbox__nav--prev", part: "prev", type: "button", "aria-label": s.prevImage, title: s.prevImage, onClick: (e) => {
510
511
  e.stopPropagation();
511
512
  this.goTo(-1);
512
- } }, h("co-icon", { key: '8751f7fd41bc9ff145d1f41b18bc1fc719f4791e', name: "caret-left", size: 24 }))), img && multi && (h("button", { key: '1fae0772a594c9354db4d0aace04b6741cf7ae1b', class: "co-lightbox__nav co-lightbox__nav--next", part: "next", type: "button", "aria-label": s.nextImage, title: s.nextImage, onClick: (e) => {
513
+ } }, h("co-icon", { key: '834bd12a0dead46df44e291197f5d3b79f619932', name: "caret-left", size: 24 }))), img && multi && (h("button", { key: '0252acb36e360dedd1fe8ac8cba74ab5895476c1', class: "co-lightbox__nav co-lightbox__nav--next", part: "next", type: "button", "aria-label": s.nextImage, title: s.nextImage, onClick: (e) => {
513
514
  e.stopPropagation();
514
515
  this.goTo(1);
515
- } }, h("co-icon", { key: '7823ad091764d26ed79e460c0288b97dec1260bb', name: "caret-right", size: 24 }))), img && multi && (h("div", { key: '3aa1f701ddf4c433c48790550071bc0c4e87dbc9', class: "co-lightbox__counter", part: "counter", onClick: this.stop }, counter))));
516
+ } }, h("co-icon", { key: '53521495d2bd6ac11004cedd96fd7351135115a7', name: "caret-right", size: 24 }))), img && multi && (h("div", { key: 'fae75527e79964a30745accf565b33be3b466ba6', class: "co-lightbox__counter", part: "counter", onClick: this.stop }, counter))));
516
517
  }
517
518
  static get is() { return "co-lightbox"; }
518
519
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * «Abrir original» del visor: abre una pestaña y MUESTRA el medio dentro de un
3
+ * `<img>`/`<video>` propio, en vez de navegar a la URL del archivo.
4
+ *
5
+ * Navegar directo dependía de cómo el servidor sirve el archivo: guardado sin
6
+ * tipo (`application/octet-stream`, típico de un nombre sin extensión) o con
7
+ * `Content-Disposition: attachment`, el navegador lo DESCARGA en vez de
8
+ * mostrarlo — «a veces abre, a veces descarga». Un `<img>` detecta el tipo por
9
+ * el contenido e ignora la disposición, así que siempre se ve.
10
+ *
11
+ * `original` (el archivo guardado) gana sobre `src` (a veces solo la miniatura);
12
+ * si el original no es decodificable como imagen (un PDF con miniatura), cae a
13
+ * `src` una vez. La pestaña nace en `about:blank` (mismo origen, por eso se
14
+ * puede escribir) y se le corta `opener` enseguida: el contenido se arma con
15
+ * APIs del DOM, nunca con un string de HTML.
16
+ *
17
+ * @returns false si no hay qué abrir o el navegador bloqueó la pestaña.
18
+ */
19
+ export function openMediaInTab(item, open = defaultOpen) {
20
+ const primary = (item === null || item === void 0 ? void 0 : item.original) || (item === null || item === void 0 ? void 0 : item.src);
21
+ if (!item || !primary)
22
+ return false;
23
+ const win = open('', '_blank');
24
+ if (!win)
25
+ return false;
26
+ try {
27
+ win.opener = null;
28
+ }
29
+ catch (_a) {
30
+ /* opener de solo lectura en algún navegador: seguimos, el contenido es nuestro */
31
+ }
32
+ renderViewer(win.document, item, primary);
33
+ return true;
34
+ }
35
+ function renderViewer(doc, item, primary) {
36
+ var _a;
37
+ doc.title = item.alt || '';
38
+ if (!doc.body)
39
+ return;
40
+ // Sin hojas de estilo en about:blank: colores de SISTEMA (Canvas) con esquema
41
+ // oscuro, no hex — el fondo neutro de un visor de imagen.
42
+ doc.body.style.cssText =
43
+ 'margin:0;min-height:100vh;display:grid;place-items:center;color-scheme:dark;background:Canvas;color:CanvasText';
44
+ const video = item.kind === 'video';
45
+ const media = doc.createElement(video ? 'video' : 'img');
46
+ media.style.cssText = 'max-width:100vw;max-height:100vh;object-fit:contain';
47
+ media.setAttribute('src', primary);
48
+ if (video) {
49
+ media.setAttribute('controls', '');
50
+ if (item.poster)
51
+ media.setAttribute('poster', item.poster);
52
+ }
53
+ else {
54
+ media.setAttribute('alt', item.alt || '');
55
+ if (item.src && item.src !== primary) {
56
+ (_a = media.addEventListener) === null || _a === void 0 ? void 0 : _a.call(media, 'error', () => media.setAttribute('src', item.src), { once: true });
57
+ }
58
+ }
59
+ doc.body.appendChild(media);
60
+ }
61
+ function defaultOpen(url, target) {
62
+ return window.open(url, target);
63
+ }
@@ -20,7 +20,7 @@ export class CoListFooter {
20
20
  this.handleSecondary = () => this.coSecondary.emit();
21
21
  }
22
22
  render() {
23
- return (h("div", { key: '61546eeb0e5103393b4cd92f5621dc7be8850dc8', class: "co-list-footer", part: "footer" }, this.secondaryLabel && (h("button", { key: '1cd3d7d6fd76363ce833ad67d89763e208d24c17', class: "co-list-footer__btn co-list-footer__btn--secondary", type: "button", onClick: this.handleSecondary }, this.secondaryIcon && h("co-icon", { key: '4a7d628520bfb739de5b007fef48e64fe248ad2f', name: this.secondaryIcon, size: 16 }), h("span", { key: '7e8e2f8397c0b265e66a429da7218bdc2644c3bc' }, this.secondaryLabel))), this.primaryLabel && (h("button", { key: 'ed329dc5b328487ad4da2d737fcb82860c5e21a0', class: "co-list-footer__btn co-list-footer__btn--primary", type: "button", onClick: this.handlePrimary }, this.primaryIcon && h("co-icon", { key: '8eb46e472523447eda9e6034aae5ea7ddd747946', name: this.primaryIcon, size: 16 }), h("span", { key: '102b70dbf80bd01085b77324e9504d582c48d5a1' }, this.primaryLabel))), h("slot", { key: '676f9c2b6d3f26ebdface52181dcaf9717c69240' })));
23
+ return (h("div", { key: 'f227ef139bd7ed9b2c7eefebe9a7194c75694596', class: "co-list-footer", part: "footer" }, this.secondaryLabel && (h("button", { key: '459553f0b7c9d20b3536c7f28c6b655f09f7d448', class: "co-list-footer__btn co-list-footer__btn--secondary", type: "button", onClick: this.handleSecondary }, this.secondaryIcon && h("co-icon", { key: '40905e01acf2347e07940e5ec893974d159139a0', name: this.secondaryIcon, size: 16 }), h("span", { key: '5caa7cbd563e8c38ecbf3242a124d83f6e5b3829' }, this.secondaryLabel))), this.primaryLabel && (h("button", { key: '09e2b1a1e6a6adbbdbdbf0b7c6779f32e20d8dcf', class: "co-list-footer__btn co-list-footer__btn--primary", type: "button", onClick: this.handlePrimary }, this.primaryIcon && h("co-icon", { key: '328b81742184a712e160c2fb5c4e3bf9e0f7761b', name: this.primaryIcon, size: 16 }), h("span", { key: '8c77b5bfa44685fe9dfd845a71c0f9184c7eec65' }, this.primaryLabel))), h("slot", { key: 'c314355a70087a7135b2d70f3fa3c3e1c5e70545' })));
24
24
  }
25
25
  static get is() { return "co-list-footer"; }
26
26
  static get encapsulation() { return "shadow"; }
@@ -73,21 +73,21 @@ export class CoListItem {
73
73
  requestAnimationFrame(this.measureTruncation);
74
74
  }
75
75
  render() {
76
- return (h("div", { key: 'b00bba3c362b7fded6dbb54a3a77204fd6f12f06', class: {
76
+ return (h("div", { key: 'a6c32a19bfad00a58ee718c6b11b7ea6e6222ffb', class: {
77
77
  'co-list-item': true,
78
78
  'co-list-item--selected': this.selected,
79
79
  'co-list-item--disabled': this.disabled,
80
80
  'co-list-item--dense': this.dense,
81
81
  'co-list-item--has-description': !!this.description,
82
- }, part: "item", role: "option", tabindex: this.disabled ? -1 : 0, "aria-selected": this.selected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("span", { key: '12df4e650ce79eb1a1081cbaa8d8a0df472bd60f', class: "co-list-item__prefix" }, this.icon && h("co-icon", { key: '6d0b024a833e411784c6c1aec18d2e170657bff5', name: this.icon, size: 18 }), h("slot", { key: '6d920565296d083b5ebd1683452b54cb18d7cc02', name: "prefix" })), h("div", { key: '9f1ee9f1a8d09ede38cdf56fe6f34bb389d3a008', class: "co-list-item__content" }, this.label && (h("co-tooltip", { key: '320ce0919f79ed00a189c19c890cdd31ec8f4fad', block: true, class: "co-list-item__tip", content: this.label, placement: "top", disabled: !this.labelTruncated }, h("span", { key: 'c735e984ef6b50d4b075829e496282123463b20a', class: "co-list-item__label", ref: (el) => {
82
+ }, part: "item", role: "option", tabindex: this.disabled ? -1 : 0, "aria-selected": this.selected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("span", { key: '35148e2d084823aae32c843d2e208abeba6a5663', class: "co-list-item__prefix" }, this.icon && h("co-icon", { key: 'e23961cd6206752f13d4330f993f4bf529f479fc', name: this.icon, size: 18 }), h("slot", { key: 'e8ade00ebb148ac3d78a78de713fdbdc58158ecd', name: "prefix" })), h("div", { key: 'b8a49675857105a7680a074eb33f0b620f2d4e44', class: "co-list-item__content" }, this.label && (h("co-tooltip", { key: 'fbe492a5506bea83b43c79cf556379dd0c6b73ea', block: true, class: "co-list-item__tip", content: this.label, placement: "top", disabled: !this.labelTruncated }, h("span", { key: 'c1d5ba3dec85c410881044124bdd3668ded0c564', class: "co-list-item__label", ref: (el) => {
83
83
  this.labelEl = el;
84
84
  if (el && this.ro)
85
85
  this.ro.observe(el);
86
- } }, this.label))), this.description && (h("co-tooltip", { key: '729e862dc61a4c342e850b4453916bc3c477bdd2', block: true, class: "co-list-item__tip", content: this.description, placement: "top", disabled: !this.descTruncated }, h("span", { key: 'b593f33d3b0122ab535a94c7ce259add9069323c', class: "co-list-item__description", ref: (el) => {
86
+ } }, this.label))), this.description && (h("co-tooltip", { key: '08d220de3fe6bcd4b6d550ca0b61ab049a263957', block: true, class: "co-list-item__tip", content: this.description, placement: "top", disabled: !this.descTruncated }, h("span", { key: '8e83073268550e77f38011fabc2a1bd716f8bd15', class: "co-list-item__description", ref: (el) => {
87
87
  this.descEl = el;
88
88
  if (el && this.ro)
89
89
  this.ro.observe(el);
90
- } }, this.description))), h("slot", { key: '55c7bc86e9aea170a37862642531d01203071e0a' })), h("span", { key: 'bef781667653254040abbfbdc518ce6086c17248', class: "co-list-item__suffix" }, h("slot", { key: '349cde2b81c10eb9e9c425b96808ad6bcb86d527', name: "suffix" }))));
90
+ } }, this.description))), h("slot", { key: '1dfafc14b3fbf0853968b768c6c26f830c5ec124' })), h("span", { key: '6805f9644de89d654d26036a40e4b407292c6ea6', class: "co-list-item__suffix" }, h("slot", { key: '7da172a7a0dda9707b8d08fdc522aef2e79ddbc0', name: "suffix" }))));
91
91
  }
92
92
  static get is() { return "co-list-item"; }
93
93
  static get encapsulation() { return "shadow"; }
@@ -30,13 +30,13 @@ export class CoMediaThumb {
30
30
  }
31
31
  render() {
32
32
  var _a;
33
- return (h("div", { key: '715a75c2d9bf586503838952ce1db8ba0a3b74ea', class: {
33
+ return (h("div", { key: '9700fd32e12db56cf8f0fc7cb81cc56a5aa6d65d', class: {
34
34
  'co-media-thumb': true,
35
35
  'co-media-thumb--video': this.video,
36
36
  }, part: "thumb", style: {
37
37
  height: this.toCss(this.height),
38
38
  borderRadius: `${this.radius}px`,
39
- } }, this.src ? (h("img", { class: "co-media-thumb__img", src: this.src, alt: (_a = this.alt) !== null && _a !== void 0 ? _a : '', part: "img" })) : (h("slot", null)), this.video && (h("div", { key: '8a6e21bb26be30746d05a00b5fffca7c6992abd1', class: "co-media-thumb__scrim", part: "scrim" }, h("div", { key: '67bf73c8a6a14581b47809efac7e1d4b2628324d', class: "co-media-thumb__play", part: "play" }, h("svg", { key: 'a0f530d26561a4e7256d5f5ee20e6a7d91d8f6e0', class: "co-media-thumb__play-icon", width: "16", height: "18", viewBox: "0 0 16 18", fill: "none", "aria-hidden": "true" }, h("path", { key: '86ef92454cdcca6096cd3dc435833138c46e2e39', d: "M2 2l12 7-12 7z", fill: "var(--co-color-base-negro, #1f1c1b)" })))))));
39
+ } }, this.src ? (h("img", { class: "co-media-thumb__img", src: this.src, alt: (_a = this.alt) !== null && _a !== void 0 ? _a : '', part: "img" })) : (h("slot", null)), this.video && (h("div", { key: 'ad75fbbb3f3086655e6e4eea20d61088c075c892', class: "co-media-thumb__scrim", part: "scrim" }, h("div", { key: '7d5d63d5228b2c724ec2fd59680256f24fc68a00', class: "co-media-thumb__play", part: "play" }, h("svg", { key: '5b669727dc75fc95c63444e0875928a6197c40ec', class: "co-media-thumb__play-icon", width: "16", height: "18", viewBox: "0 0 16 18", fill: "none", "aria-hidden": "true" }, h("path", { key: 'f17ffe84152c1af2277832b0977f21dacc1f1bc7', d: "M2 2l12 7-12 7z", fill: "var(--co-color-base-negro, #1f1c1b)" })))))));
40
40
  }
41
41
  static get is() { return "co-media-thumb"; }
42
42
  static get encapsulation() { return "shadow"; }
@@ -86,6 +86,13 @@
86
86
  --co-menu-item-color: var(--co-semantic-text-inverse);
87
87
  --co-menu-item-hover-bg: var(--co-color-opacity-blanco-16, rgba(255, 255, 255, 0.16));
88
88
  --co-menu-item-selected-bg: transparent;
89
+ /* Submenú: su panel vive en el shadow del ítem disparador y sus filas son
90
+ hijas de ese ítem, así que heredan el texto claro de arriba. El panel
91
+ también tiene que ser oscuro (si no: texto blanco sobre panel blanco, el
92
+ submenú se ve vacío), y sus separadores con el mismo color que los del
93
+ panel raíz. */
94
+ --co-menu-submenu-bg: var(--co-semantic-surface-primary);
95
+ --co-menu-divider-color: var(--co-color-opacity-blanco-16, rgba(255, 255, 255, 0.16));
89
96
  }
90
97
 
91
98
  :host([surface='dark']) ::slotted(co-menu-divider) {
@@ -163,14 +163,14 @@ export class CoMenu {
163
163
  (_b = (_a = items[next]) === null || _a === void 0 ? void 0 : _a.focusItem) === null || _b === void 0 ? void 0 : _b.call(_a);
164
164
  }
165
165
  render() {
166
- return (h("co-popover", { key: '66b0e90463829343152d2a9bdb821e19e70fa4d4', placement: this.placement, offset: this.offset, open: this.open, anchor: this.anchor, shift: this.shift,
166
+ return (h("co-popover", { key: '41f0d2432b04182a1d0021510b27ee8ed902fe7a', placement: this.placement, offset: this.offset, open: this.open, anchor: this.anchor, shift: this.shift,
167
167
  // `co-menu` SIEMPRE pinta su propio chrome (`.co-menu`: fondo +
168
168
  // shadow-lg + anillo, o el panel sólido de `surface="dark"`) — el
169
169
  // `co-popover` interno tiene que ir SIEMPRE bare, sin condición, para
170
170
  // no sumarle un fondo/borde/sombra propios detrás (antes de esto el
171
171
  // panel del menú tenía doble
172
172
  // chrome SIEMPRE, no solo en un caso opcional).
173
- bare: true, onCoOpen: this.handlePopoverOpen, onCoClose: this.handlePopoverClose, onCoPlacement: this.handlePlacement }, h("slot", { key: 'b78bcba7bc9542a82c78c1b8026bd4aa56629667', name: "trigger", slot: "trigger" }), h("div", { key: '0515763cb0b89320d4831befe1b6d984029ce309', class: "co-menu", role: "menu", style: this.width ? { width: this.width, minWidth: this.width } : undefined }, h("slot", { key: 'baf72944333c4e912fe0a0aa58d8affb8e923a3e' }))));
173
+ bare: true, onCoOpen: this.handlePopoverOpen, onCoClose: this.handlePopoverClose, onCoPlacement: this.handlePlacement }, h("slot", { key: 'a45e0b41289cfecd6bdb47eb31620136e3e037c7', name: "trigger", slot: "trigger" }), h("div", { key: 'c085991353c461adbed052de7d657f2082da5432', class: "co-menu", role: "menu", style: this.width ? { width: this.width, minWidth: this.width } : undefined }, h("slot", { key: 'c839a7ac6c8ea39336a552e4f5165aab5a8d5682' }))));
174
174
  }
175
175
  static get is() { return "co-menu"; }
176
176
  static get encapsulation() { return "shadow"; }
@@ -6,7 +6,7 @@ import { h } from "@stencil/core";
6
6
  */
7
7
  export class CoMenuDivider {
8
8
  render() {
9
- return h("hr", { key: '08a30fe0fba8fbbab4a6fce1bc92c700aa767b2d', class: "co-menu-divider", role: "separator" });
9
+ return h("hr", { key: 'dda726a648ff2ee1158dcdd11cc0b27048fb2350', class: "co-menu-divider", role: "separator" });
10
10
  }
11
11
  static get is() { return "co-menu-divider"; }
12
12
  static get encapsulation() { return "shadow"; }
@@ -71,7 +71,9 @@
71
71
  quedan ACÁ, antes de `--danger:hover` (misma especificidad que
72
72
  `.co-menu-item:hover`): el hover rojo de danger gana por orden (fix C-1). */
73
73
  .co-menu-item--selected {
74
- background: var(--co-menu-item-selected-bg, var(--co-color-gray-100, #f6f6f6));
74
+ /* Fallback surface-control (= gray-100 en claro): la primitiva no giraba y en oscuro la
75
+ fila seleccionada quedaba casi blanca bajo texto blanco (D6). */
76
+ background: var(--co-menu-item-selected-bg, var(--co-semantic-surface-control, #f6f6f6));
75
77
  }
76
78
 
77
79
  .co-menu-item:hover,
@@ -90,11 +92,17 @@
90
92
  pointer-events: none;
91
93
  }
92
94
 
95
+ /* Tinta de estado por --co-semantic-text-*: gira con el tema (status-* es relleno, no se
96
+ aclara, y como texto en oscuro daba <4,5). Fallback a la primitiva hasta publicar tokens. */
93
97
  .co-menu-item--danger {
94
- color: var(--co-color-status-error, #aa2e1b);
98
+ color: var(--co-semantic-text-error, var(--co-color-status-error, #aa2e1b));
95
99
  }
96
100
  .co-menu-item--danger:hover {
97
- background: var(--co-color-status-bg-error, #ffefef);
101
+ /* Superficie de estado que gira con el tema (D4): en claro = status-bg-error (el pastel de
102
+ siempre) con tinta status-error; en oscuro, tinte rojo oscuro con tinta rosa clara. El
103
+ pastel fijo era una caja rosa clara dentro del menú oscuro. */
104
+ background: var(--co-semantic-surface-error, var(--co-color-status-bg-error, #ffefef));
105
+ color: var(--co-semantic-text-error, var(--co-color-status-error, #aa2e1b));
98
106
  }
99
107
 
100
108
  .co-menu-item__icon {
@@ -170,13 +178,17 @@
170
178
  }
171
179
 
172
180
  .co-menu-item__submenu {
173
- /* surface-secondary = base-blanco. NOT surface-primary (that's base-negro). */
174
- background: var(--co-semantic-surface-secondary, #fff);
181
+ /* surface-secondary = base-blanco. NOT surface-primary (that's base-negro).
182
+ `--co-menu-submenu-bg`: hook que publica `co-menu surface="dark"` (ver
183
+ co-menu.css) para que el submenú sea oscuro como su panel raíz. Sin
184
+ ancestro oscuro, el panel claro de siempre. */
185
+ background: var(--co-menu-submenu-bg, var(--co-semantic-surface-secondary, #fff));
175
186
  border-radius: var(--co-border-radius-sm, 12px);
176
- /* Match the co-menu panel: shadow-lg + 1px inset hairline ring. */
187
+ /* Match the co-menu panel: shadow-lg + 1px inset hairline ring. El anillo va por
188
+ border-subtle (= opacity-negro-8 en claro); la primitiva no se veía en oscuro. */
177
189
  box-shadow:
178
190
  var(--co-shadow-lg, 0 4px 12px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04)),
179
- inset 0 0 0 1px var(--co-color-opacity-negro-8, rgba(31, 28, 27, 0.08));
191
+ inset 0 0 0 1px var(--co-semantic-border-subtle, rgba(31, 28, 27, 0.08));
180
192
  padding: var(--co-menu-padding, var(--co-spacing-xs, 4px));
181
193
  min-width: 180px;
182
194
  display: flex;
@@ -114,6 +114,9 @@
114
114
  display: flex;
115
115
  flex-direction: column;
116
116
  background: var(--co-semantic-surface-secondary);
117
+ /* Tinta pareja con el fondo: el panel vive dentro del scrim de co-overlay
118
+ (top layer) y lo que no declara color propio no debe heredar el contexto. */
119
+ color: var(--co-semantic-text-default);
117
120
  /* Squircle + sombra: .co-sq-clip y .co-sq-elevation en ESTE elemento
118
121
  (partial). No redeclarar border-radius / overflow / mask / box-shadow acá.
119
122
  Radius knob: --co-modal-r. */
@@ -1,5 +1,6 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { afterEventFor } from "../co-overlay/overlayAfterClose";
3
+ import { isTopEscapeLayer, pushEscapeLayer, removeEscapeLayer } from "../co-overlay/escapeLayers";
3
4
  import { slotHasContent } from "../../utils/slotContent";
4
5
  import { clampDragOffset, dragOffsetOf, isInteractiveDragTarget, } from "../../utils/dragMove";
5
6
  /**
@@ -236,9 +237,12 @@ export class CoModal {
236
237
  return this.backdrop !== 'none' && !this.inline;
237
238
  }
238
239
  handleKeydown(e) {
239
- if (!this.open || !this.closeOnEscape)
240
+ // Solo la capa de ARRIBA atiende Escape (escapeLayers): un modal sobre otro modal cierra
241
+ // solo el de encima. Sin `closeOnEscape` el modal igual es capa: la tecla no cae al
242
+ // drawer de abajo.
243
+ if (!this.open || !this.closeOnEscape || e.key !== 'Escape')
240
244
  return;
241
- if (e.key === 'Escape')
245
+ if (isTopEscapeLayer(this))
242
246
  this.coClose.emit();
243
247
  }
244
248
  /**
@@ -251,6 +255,9 @@ export class CoModal {
251
255
  */
252
256
  async bringToFront() {
253
257
  var _a, _b, _c;
258
+ // Arriba en pantalla = arriba también para Escape.
259
+ if (this.open)
260
+ pushEscapeLayer(this);
254
261
  await ((_c = (_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('co-overlay')) === null || _b === void 0 ? void 0 : _b.bringToFront) === null || _c === void 0 ? void 0 : _c.call(_b));
255
262
  }
256
263
  /**
@@ -260,6 +267,16 @@ export class CoModal {
260
267
  * animación de salida (un consumidor que lo deja montado y solo apaga
261
268
  * `open` lo veía saltar).
262
269
  */
270
+ trackEscapeLayer(open) {
271
+ if (open)
272
+ pushEscapeLayer(this);
273
+ else
274
+ removeEscapeLayer(this);
275
+ }
276
+ connectedCallback() {
277
+ if (this.open)
278
+ pushEscapeLayer(this);
279
+ }
263
280
  resetPositionOnOpen(open) {
264
281
  this.endDrag();
265
282
  if (!open)
@@ -268,6 +285,7 @@ export class CoModal {
268
285
  this.writeOffset({ x: 0, y: 0 });
269
286
  }
270
287
  disconnectedCallback() {
288
+ removeEscapeLayer(this);
271
289
  // Desmontarse en pleno gesto no debe dejar el listener colgado.
272
290
  window.removeEventListener('blur', this.handleWindowBlur);
273
291
  }
@@ -743,6 +761,9 @@ export class CoModal {
743
761
  static get elementRef() { return "el"; }
744
762
  static get watchers() {
745
763
  return [{
764
+ "propName": "open",
765
+ "methodName": "trackEscapeLayer"
766
+ }, {
746
767
  "propName": "open",
747
768
  "methodName": "resetPositionOnOpen"
748
769
  }];
@@ -16,12 +16,12 @@ export class CoNavbar {
16
16
  this.rounded = false;
17
17
  }
18
18
  render() {
19
- return (h("div", { key: '68c78b33434a32372eef9763b0c11c9a185f6ef8', class: {
19
+ return (h("div", { key: '3573a493f29f3a1b4b4d95b23f221e842b41cea6', class: {
20
20
  'co-navbar': true,
21
21
  [`co-navbar--${this.variant}`]: true,
22
22
  [`co-navbar--${this.size}`]: true,
23
23
  'co-navbar--rounded': this.rounded,
24
- }, part: "navbar", role: "toolbar" }, h("slot", { key: 'a9d05ff60065f85dc24e941478a18fa40466143f' })));
24
+ }, part: "navbar", role: "toolbar" }, h("slot", { key: 'e4f46072826161cf3e8525e0dced7f0050b42d1b' })));
25
25
  }
26
26
  static get is() { return "co-navbar"; }
27
27
  static get encapsulation() { return "shadow"; }
@@ -80,7 +80,10 @@
80
80
  border-color: transparent;
81
81
  }
82
82
 
83
- .co-number-field--error .co-number-field__row { border-color: var(--co-semantic-status-error); }
83
+ /* Borde de error de CAMPO por --co-semantic-border-error: gira con el tema (status-error es
84
+ relleno fijo y como trazo en oscuro daba 2,94:1). En claro vale status-error (idéntico).
85
+ Fallback: la primitiva de hoy, hasta publicar tokens. */
86
+ .co-number-field--error .co-number-field__row { border-color: var(--co-semantic-border-error, var(--co-semantic-status-error)); }
84
87
  .co-number-field--success .co-number-field__row { border-color: var(--co-semantic-status-success); }
85
88
  .co-number-field--warning .co-number-field__row { border-color: var(--co-color-status-review); }
86
89
  .co-number-field--info .co-number-field__row { border-color: var(--co-semantic-status-info); }
@@ -231,17 +234,19 @@
231
234
  line-height: 1;
232
235
  }
233
236
 
237
+ /* Tinta de estado por --co-semantic-text-*: gira con el tema (status-* es relleno, no se
238
+ aclara, y como texto en oscuro daba <4,5). Fallback a la primitiva hasta publicar tokens. */
234
239
  .co-number-field__helper--error .co-number-field__helper-icon,
235
- .co-number-field__helper--error .co-number-field__helper-text { color: var(--co-semantic-status-error); }
240
+ .co-number-field__helper--error .co-number-field__helper-text { color: var(--co-semantic-text-error, var(--co-semantic-status-error)); }
236
241
 
237
242
  .co-number-field__helper--success .co-number-field__helper-icon,
238
- .co-number-field__helper--success .co-number-field__helper-text { color: var(--co-semantic-status-success); }
243
+ .co-number-field__helper--success .co-number-field__helper-text { color: var(--co-semantic-text-success, var(--co-semantic-status-success)); }
239
244
 
240
245
  .co-number-field__helper--warning .co-number-field__helper-icon,
241
- .co-number-field__helper--warning .co-number-field__helper-text { color: var(--co-color-status-review); }
246
+ .co-number-field__helper--warning .co-number-field__helper-text { color: var(--co-semantic-text-warning, var(--co-color-status-review)); }
242
247
 
243
248
  .co-number-field__helper--info .co-number-field__helper-icon,
244
- .co-number-field__helper--info .co-number-field__helper-text { color: var(--co-semantic-status-info); }
249
+ .co-number-field__helper--info .co-number-field__helper-text { color: var(--co-semantic-text-info, var(--co-semantic-status-info)); }
245
250
 
246
251
  /* ── Horizontal layout: label left; control + helper stacked right ──
247
252
  Set --co-field-label-width on a container to align labels across fields. */
@@ -269,9 +274,10 @@
269
274
  min-width: 0;
270
275
  }
271
276
 
277
+ /* Asterisco de requerido: tinta --co-semantic-text-error (gira con el tema). */
272
278
  .co-field-required {
273
279
  margin-left: 2px;
274
- color: var(--co-color-status-error);
280
+ color: var(--co-semantic-text-error, var(--co-color-status-error));
275
281
  }
276
282
 
277
283
  .co-field-required__caption {
@@ -345,18 +345,18 @@ export class CoNumberField {
345
345
  return this.scaled && !this.isEmpty ? '%' : null;
346
346
  }
347
347
  render() {
348
- return (h("div", { key: '87d77047c35e2f0b3b9a978839e5b3c99541dc2e', class: {
348
+ return (h("div", { key: 'c06b2895c508e45d8e936ddce619f517985637bb', class: {
349
349
  'co-number-field': true,
350
350
  'co-number-field--disabled': this.disabled,
351
351
  'co-number-field--focused': this.focused,
352
352
  [`co-number-field--${this.size}`]: true,
353
353
  [`co-number-field--${this.status}`]: this.status !== 'default',
354
- } }, (this.label || this.secondaryLabel) && (h("div", { key: '22f0674035a68861fae6ce37aba4e51b10c03226', class: "co-number-field__labels" }, this.label && h("label", { key: '442ee74bed62bf7c800f231ad4992b791b85a30c', class: "co-number-field__label" }, this.label, h(RequiredMark, { key: 'ff7517b83b8e942512dcb8c1f504eafab55cea90', required: this.required })), this.secondaryLabel && h("span", { key: '736889aae85065fb28a56131e2f7a3da9fc86a48', class: "co-number-field__secondary-label" }, this.secondaryLabel))), h("div", { key: 'fd6163c7cb83073db2c19c3477447076372abb44', class: "co-number-field__row", part: "row" }, !this.hideControls && (h("button", { key: 'e1a52831b83c3255ce63c4ed48a228fe4fdb1629', class: "co-number-field__btn co-number-field__btn--minus", type: "button", tabIndex: -1, disabled: !this.canDecrement, onClick: this.handleDecrement, "aria-label": "Decrease" }, h("co-icon", { key: '86e0ce9b9801e50d9bda6b18a8e1f6f96581b178', name: "minus", size: 16 }))), h("input", { key: '4bdf89e9a4958841a948b3bd6e9886898917f464', ref: el => (this.inputEl = el), class: "co-number-field__input", type: "text", inputMode: "decimal",
354
+ } }, (this.label || this.secondaryLabel) && (h("div", { key: '2ade558c7d748eefb332f4c58f8618199bd5b7cb', class: "co-number-field__labels" }, this.label && h("label", { key: '94576cf7ef1ce2bb8a0f9606613b2e12c3e4d3d1', class: "co-number-field__label" }, this.label, h(RequiredMark, { key: '884cb5ad7003543f1cf371fa08b592ec30f62975', required: this.required })), this.secondaryLabel && h("span", { key: 'd8e98e616c43a27e8b50341a81a6c5d4c45f83a1', class: "co-number-field__secondary-label" }, this.secondaryLabel))), h("div", { key: 'aa7bddd49fc689ff512c25fa9bf375c2e65a7a69', class: "co-number-field__row", part: "row" }, !this.hideControls && (h("button", { key: '037c88c0092989da13bb7174e1609150172f95fb', class: "co-number-field__btn co-number-field__btn--minus", type: "button", tabIndex: -1, disabled: !this.canDecrement, onClick: this.handleDecrement, "aria-label": "Decrease" }, h("co-icon", { key: 'bb7a68226f0cfaaaca8c62ccfafdcdca2b529469', name: "minus", size: 16 }))), h("input", { key: '9bb9e56f0f8fbc0f0c64f8b07f4fc97f0cc73198', ref: el => (this.inputEl = el), class: "co-number-field__input", type: "text", inputMode: "decimal",
355
355
  // Mismo guard `focused` que el @Watch: mientras el usuario edita, su
356
356
  // texto manda. Sin esto, el re-render que dispara emitValue repinta
357
357
  // el input desde el NÚMERO y se come el texto en construcción
358
358
  // ("34,640.00" pegado quedaba "34,640"; un "12." perdería el punto).
359
- value: this.focused && this.inputEl ? this.inputEl.value : this.displayValue, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onPaste: this.handlePaste, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, part: "input" }), this.affixText && (h("span", { key: '7bc7c12c6fe2708691d9a2972f9ed3037e82a1a8', class: "co-number-field__affix", "aria-hidden": "true" }, this.affixText)), this.clearable && !this.isEmpty && !this.disabled && (h("button", { key: '2ef7c424a34a8a6cbfe8ac4cd0a5d8f0ed74e6d4', class: "co-number-field__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: 'c428ca841c0de013cd151bd356686be43992de04', name: "x-circle", size: 16, weight: "fill" }))), h("slot", { key: 'fb127a663d3839bbb10b8232b250eaf67faab898', name: "suffix" }), !this.hideControls && (h("button", { key: '684329d2f32a58f6be2a124f0cd20986a7fc49af', class: "co-number-field__btn co-number-field__btn--plus", type: "button", tabIndex: -1, disabled: !this.canIncrement, onClick: this.handleIncrement, "aria-label": "Increase" }, h("co-icon", { key: '7ef48466e060efb314466d62216a8e00168ddbcd', name: "plus", size: 16 })))), this.helperText && (h("div", { key: '2cf6df2556160fef3c1dfd1b525991eb822cb285', class: `co-number-field__helper co-number-field__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: '905ad795d9714fa9ae8fc2b9d4b9f6a7bba2d2ce', name: this.statusIcon, size: 14, weight: "fill", class: "co-number-field__helper-icon" }), h("span", { key: '0c4825c4145298700de006eb3170e9ec3b52d3b7', class: "co-number-field__helper-text" }, this.helperText)))));
359
+ value: this.focused && this.inputEl ? this.inputEl.value : this.displayValue, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onPaste: this.handlePaste, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, part: "input" }), this.affixText && (h("span", { key: 'b3b43651edb493510327c18d27945679e1b4f391', class: "co-number-field__affix", "aria-hidden": "true" }, this.affixText)), this.clearable && !this.isEmpty && !this.disabled && (h("button", { key: '7055c55c7a035621f0fdcae168324a515dc419d5', class: "co-number-field__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: '162303056606a465ad5fc43496260cadf8b5c5b2', name: "x-circle", size: 16, weight: "fill" }))), h("slot", { key: '1fba80dd46e27d7ee89c0a7dcd32f34ac9a9a5f7', name: "suffix" }), !this.hideControls && (h("button", { key: 'c9575f0459a3c9d18239fbd636b60b9ea51b4551', class: "co-number-field__btn co-number-field__btn--plus", type: "button", tabIndex: -1, disabled: !this.canIncrement, onClick: this.handleIncrement, "aria-label": "Increase" }, h("co-icon", { key: 'b310d8a2316cb841b7c87157b9ac40d7faba1bbf', name: "plus", size: 16 })))), this.helperText && (h("div", { key: 'b933f8cdf51e44d26d58c215afe2c393a068ac1c', class: `co-number-field__helper co-number-field__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: '99d3fd7dbef2173da5384ad12a40f6d669bb9c49', name: this.statusIcon, size: 14, weight: "fill", class: "co-number-field__helper-icon" }), h("span", { key: 'f93dac49f3b1f6ca2ae08190f51e35f600e675e4', class: "co-number-field__helper-text" }, this.helperText)))));
360
360
  }
361
361
  static get is() { return "co-number-field"; }
362
362
  static get encapsulation() { return "shadow"; }
@@ -828,9 +828,11 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
828
828
  --os-padding-axis: 2px;
829
829
  --os-track-bg: transparent;
830
830
  --os-handle-border-radius: var(--co-border-radius-full, 9999px);
831
- --os-handle-bg: var(--co-color-opacity-negro-16, rgba(31, 28, 27, 0.16));
832
- --os-handle-bg-hover: var(--co-color-opacity-negro-25, rgba(31, 28, 27, 0.25));
833
- --os-handle-bg-active: var(--co-color-opacity-negro-50, rgba(31, 28, 27, 0.5));
831
+ /* Handle por border-* (mismo valor en claro que negro-16/25/50): la tinta negra fija era
832
+ invisible sobre la superficie oscura del panel. */
833
+ --os-handle-bg: var(--co-semantic-border-default, rgba(31, 28, 27, 0.16));
834
+ --os-handle-bg-hover: var(--co-semantic-border-field, rgba(31, 28, 27, 0.25));
835
+ --os-handle-bg-active: var(--co-semantic-border-strong, rgba(31, 28, 27, 0.5));
834
836
  --os-handle-min-size: 24px;
835
837
  }
836
838
 
@@ -1005,7 +1007,8 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
1005
1007
  }
1006
1008
 
1007
1009
  .co-option-list__match {
1008
- color: var(--co-color-primary-azul, #2563eb);
1010
+ /* Resaltado de coincidencia: tinta text-link, gira con el tema (azul primitivo = 3,8:1 en oscuro). */
1011
+ color: var(--co-semantic-text-link, var(--co-color-primary-azul, #2563eb));
1009
1012
  font-weight: 700;
1010
1013
  }
1011
1014
 
@@ -781,11 +781,11 @@ export class CoOptionList {
781
781
  const selectedIds = this.selectedIds;
782
782
  const { hasMore, remaining } = deriveMore(this.parsedItems.length, this.total, this.hasMore);
783
783
  const showClear = !!this.clearOptionLabel && selectedIds.length > 0;
784
- return (h("div", { key: 'ca480a23b7127ff745ee57002a71dea707e32e95', class: "co-option-list", onKeyDown: this.onRootKeyDown }, this.searchable && (h("div", { key: 'de6a96f09450c05c9194933f3e5f732e158437c7', class: "co-option-list__search", part: "search" }, h("co-icon", { key: 'f99a19e0a194d6a0bcce6d40a736197593af8fdf', name: "magnifying-glass", size: 16 }), h("input", { key: '26fabd78b4660523e25b40bc8e92740df2677244', class: "co-option-list__search-input", type: "text", placeholder: this.searchPlaceholder, value: this.term, onInput: this.onSearchInput, ref: (el) => (this.searchInputEl = el), role: "combobox", "aria-expanded": "true", "aria-autocomplete": "list" }))), h("slot", { key: '05dc7fb2d632ba58b3b960e9355b1e48a71df32c', name: "header" }), h("div", { key: 'b3edc8acf06c7f433da9584249be73d25c5f1fee', class: "co-option-list__options", part: "options", role: "listbox", "aria-multiselectable": this.multiple ? 'true' : 'false', ref: (el) => (this.optionsEl = el), onScroll: this.onNativeScroll }, h("div", { key: '8abe9a20998f35332ee320512a433d8fb8196875', class: "co-option-list__inner" }, showClear && (h("button", { key: '9b420f4a08d94c7588657ec73102253dc3aace29', class: "co-option-list__clear-row", type: "button", onClick: () => this.coClearSelection.emit() }, h("co-icon", { key: '5e0d86b76f5b85ee41a4534284c4e05fec4f2df1', name: "x-circle", size: 14 }), h("span", { key: 'ff554cd331978bbe2e6aaef44b590a9de66c67d5' }, this.clearOptionLabel))), this.loading && items.length === 0 && (h("div", { key: '1db10de6bf8b6cda7b7ca13f5969400ab420a3e7', class: "co-option-list__loading" }, h("co-loader", { key: 'd724879c38f755067e544503c233c740f932f46e', size: "sm" }))), !this.loading && items.length === 0 && (h("div", { key: '95f42f0028e6f7a1641bc45f6a294fe2ded5a29f', class: "co-option-list__empty" }, h("co-icon", { key: '1bed6dbd8c0c4e0722f6c28c2867331bba4e3879', name: "magnifying-glass", size: 20 }), h("span", { key: '7f2d01d6eed6e91ab14ace418f52167713963976' }, this.emptyMessage))), items.length > 0 && this.virtual
784
+ return (h("div", { key: 'c73f8d143c1f655f4d9145ef0a2a4d3219a43e49', class: "co-option-list", onKeyDown: this.onRootKeyDown }, this.searchable && (h("div", { key: 'bd5dfa8848da20fd66293acdd87568ca0e2fbebc', class: "co-option-list__search", part: "search" }, h("co-icon", { key: '0c5aeacb9fbde646862a6359f2c58a75f31a6100', name: "magnifying-glass", size: 16 }), h("input", { key: '0a573789feff4b3cd31610ee720ddfaa2b859ea4', class: "co-option-list__search-input", type: "text", placeholder: this.searchPlaceholder, value: this.term, onInput: this.onSearchInput, ref: (el) => (this.searchInputEl = el), role: "combobox", "aria-expanded": "true", "aria-autocomplete": "list" }))), h("slot", { key: '650e79a9b2ba218f7fcd324335505fda29a87b71', name: "header" }), h("div", { key: '1f2baa6b0b6b728cd0eeab5ae555847d397351ac', class: "co-option-list__options", part: "options", role: "listbox", "aria-multiselectable": this.multiple ? 'true' : 'false', ref: (el) => (this.optionsEl = el), onScroll: this.onNativeScroll }, h("div", { key: '33f7230c30c06ef31ac83fb5febba040f0d88d6e', class: "co-option-list__inner" }, showClear && (h("button", { key: '9934486c64862d94ee8ed6e3af603710edd2a5c6', class: "co-option-list__clear-row", type: "button", onClick: () => this.coClearSelection.emit() }, h("co-icon", { key: 'f0abd016e20d238345c0c2d40436220631a1403a', name: "x-circle", size: 14 }), h("span", { key: '9090f327d77767db03792e13bd4bfcdd4abcffcd' }, this.clearOptionLabel))), this.loading && items.length === 0 && (h("div", { key: '25b13f063b888d6d95b24a2741e1ae3e070d60ab', class: "co-option-list__loading" }, h("co-loader", { key: 'dc56d924da21b4029fc81b454672a2ded44f14ef', size: "sm" }))), !this.loading && items.length === 0 && (h("div", { key: '492e6902e2849a83ac0529fe922aa43814db2c40', class: "co-option-list__empty" }, h("co-icon", { key: '2c9d91ddaad0b52e0dbff654871ce147e0617f59', name: "magnifying-glass", size: 20 }), h("span", { key: '76eacb323225035d650f1ebb6e17507035d02ac4' }, this.emptyMessage))), items.length > 0 && this.virtual
785
785
  ? this.renderVirtual(items, selectedIds)
786
786
  : buildRows(items).map((row) => row.kind === 'header'
787
787
  ? h("div", { class: "co-option-list__group", role: "presentation" }, row.label)
788
- : this.renderRow(row.item, row.index, selectedIds)), this.loading && items.length > 0 && (h("div", { key: '9fb95c0193357bf50eabc21dae3f8ca0bb2b3a9f', class: "co-option-list__loading-more" }, h("co-loader", { key: 'dddf472d61b1c14f281212b02538bd576dce09d1', size: "sm" }))), !this.loading && hasMore && remaining > 0 && (h("div", { key: '6d4f16d14d67b137fe37b67fe1590d209b51b800', class: "co-option-list__more" }, remaining, " more results")))), h("slot", { key: '9091482eaf2228e93b3eeb893e804d5fcd8c3d44', name: "footer" })));
788
+ : this.renderRow(row.item, row.index, selectedIds)), this.loading && items.length > 0 && (h("div", { key: 'e86f2a2157e84d9e9a414f6bbf3d20235bc75829', class: "co-option-list__loading-more" }, h("co-loader", { key: 'de4c472413852c7fc3e4c6fb088632c79ce518d6', size: "sm" }))), !this.loading && hasMore && remaining > 0 && (h("div", { key: '12616fbfb51d2c656937e22907d5152f3f7ea210', class: "co-option-list__more" }, remaining, " more results")))), h("slot", { key: 'd73683805a28e15b2a126867fd7947869ee649f6', name: "footer" })));
789
789
  }
790
790
  static get is() { return "co-option-list"; }
791
791
  static get encapsulation() { return "shadow"; }
@@ -21,6 +21,9 @@
21
21
  max-width: none;
22
22
  max-height: none;
23
23
  overflow: visible;
24
+ /* La UA de [popover] pone `color: CanvasText` (#000 también en oscuro, sin
25
+ color-scheme): el scrim es un contenedor de paso, la tinta viene del host. */
26
+ color: inherit;
24
27
  display: flex;
25
28
  align-items: center;
26
29
  justify-content: center;
@@ -298,7 +298,7 @@ export class CoOverlay {
298
298
  focusables[nextIndex].focus();
299
299
  }
300
300
  render() {
301
- return (h("div", { key: 'e18d7b0e3ebd4933a78a9f2d39af6058ce429105', class: { 'co-overlay': true, 'co-overlay--open': this.open }, part: "overlay", popover: "manual", tabindex: this.trapFocus ? -1 : undefined, ref: (el) => (this.overlayEl = el), onPointerDown: this.handlePointerDown, onPointerUp: this.handlePointerUp, onClick: this.handleClick, onTransitionEnd: this.handleTransitionEnd }, h("slot", { key: '2f29233d44de8a0cc3100cfa08233cdc10ebf352' })));
301
+ return (h("div", { key: '9d6cec0764074a33489f79fb4a554e7aa7374785', class: { 'co-overlay': true, 'co-overlay--open': this.open }, part: "overlay", popover: "manual", tabindex: this.trapFocus ? -1 : undefined, ref: (el) => (this.overlayEl = el), onPointerDown: this.handlePointerDown, onPointerUp: this.handlePointerUp, onClick: this.handleClick, onTransitionEnd: this.handleTransitionEnd }, h("slot", { key: '2f8ad7b23e72ce2f5c74b3cb67ba9ab80e88cf26' })));
302
302
  }
303
303
  static get is() { return "co-overlay"; }
304
304
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,20 @@
1
+ const layers = [];
2
+ const isModeless = (layer) => layer.modeless === true;
3
+ export function pushEscapeLayer(layer) {
4
+ removeEscapeLayer(layer);
5
+ layers.push(layer);
6
+ }
7
+ export function removeEscapeLayer(layer) {
8
+ const i = layers.indexOf(layer);
9
+ if (i >= 0)
10
+ layers.splice(i, 1);
11
+ }
12
+ export function isTopEscapeLayer(layer) {
13
+ const blocking = layers.filter((l) => !isModeless(l));
14
+ const pool = blocking.length ? blocking : layers;
15
+ return pool.length > 0 && pool[pool.length - 1] === layer;
16
+ }
17
+ /** Solo para tests. */
18
+ export function resetEscapeLayers() {
19
+ layers.length = 0;
20
+ }
@@ -9,7 +9,7 @@ import { h } from "@stencil/core";
9
9
  */
10
10
  export class CoPageHeader {
11
11
  render() {
12
- return (h("div", { key: '18d15d7b241f92bbd121fd6547832a30f4404928', class: "co-page-header", part: "page-header" }, h("div", { key: 'cbf4427991e3b43775a1d47c95f953ef79d71c77', class: "co-page-header__left" }, this.icon && (h("span", { key: '647701102f261fc214a0a4347894ba275da1ed7d', class: "co-page-header__icon" }, h("co-icon", { key: 'd377f2f5cbfa190cb483fe4a6ff2a483f9053f7b', name: this.icon, size: 24 }))), h("span", { key: 'ccf59184d2154c89fc90ccddfffc8dfc8c07b72b', class: "co-page-header__title" }, h("slot", { key: '34dd64e79e72cb154c63b16f72c2ec58193d9988' }, this.heading))), h("div", { key: 'e2f1d119629a3b9479896cf2338625ad775b8556', class: "co-page-header__actions" }, h("slot", { key: '62ee162b3388968ee1930a2c3ab20e45b34a2d65', name: "actions" }))));
12
+ return (h("div", { key: '877c32ab794ec6e86ed26e7e99d7c45463a1922f', class: "co-page-header", part: "page-header" }, h("div", { key: '4e771155a4d3ae9914619ab34fbc31e5ce9246a8', class: "co-page-header__left" }, this.icon && (h("span", { key: '458833e13b51f2e076af6780f75a06c8de6e2514', class: "co-page-header__icon" }, h("co-icon", { key: 'a68d9d9ce0181f8d58e33de465d844506ea45af9', name: this.icon, size: 24 }))), h("span", { key: '9c1294e395a20433e260224ab7a33931b9d85319', class: "co-page-header__title" }, h("slot", { key: '4b7af2160fd067a7ca4ce973004a4c89249552dd' }, this.heading))), h("div", { key: '715cc529b7b80d702c2470571f9feb56ea01fa35', class: "co-page-header__actions" }, h("slot", { key: '6803b878b2e2bc939840847a394300c80be661c7', name: "actions" }))));
13
13
  }
14
14
  static get is() { return "co-page-header"; }
15
15
  static get encapsulation() { return "shadow"; }