@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
@@ -37,7 +37,7 @@ export class CoFab {
37
37
  const iconSize = this.size === 'xl' ? 24 : this.size === 'l' ? 24 : this.size === 's' ? 18 : 20;
38
38
  const hasLabel = !!this.label;
39
39
  const hoverExpand = hasLabel && this.expandOnHover;
40
- return (h("button", { key: 'cae304a87d9ad88c7ea2f1d2f926d018250e6128', class: {
40
+ return (h("button", { key: '740058822962826eaed6d9783ba012234f7343a1', class: {
41
41
  'co-fab': true,
42
42
  [`co-fab--${this.variant}`]: true,
43
43
  [`co-fab--${this.size}`]: true,
@@ -45,7 +45,7 @@ export class CoFab {
45
45
  'co-fab--hover-expand': hoverExpand,
46
46
  'co-fab--disabled': this.disabled,
47
47
  [`co-fab--${this.position}`]: this.position !== 'none',
48
- }, type: "button", disabled: this.disabled, onClick: this.handleClick, onPointerEnter: this.handleExpandMeasure, onFocusin: this.handleExpandMeasure, "aria-label": this.ariaLabelText || this.label || this.icon }, h("co-icon", { key: 'a1384ce9899fb2cbf5f4917cca49fb41480d82f6', name: this.icon, size: iconSize }), this.label && (h("span", { key: 'c5d7370d87478218dcce73c3c1d3edbf1c5c4a01', class: "co-fab__label", ref: (el) => (this.labelEl = el) }, this.label))));
48
+ }, type: "button", disabled: this.disabled, onClick: this.handleClick, onPointerEnter: this.handleExpandMeasure, onFocusin: this.handleExpandMeasure, "aria-label": this.ariaLabelText || this.label || this.icon }, h("co-icon", { key: '279d46289a80b83745e82743f9b13e22a28669ba', name: this.icon, size: iconSize }), this.label && (h("span", { key: 'f91eaf3101142d390c6281c0c945016b421f995b', class: "co-fab__label", ref: (el) => (this.labelEl = el) }, this.label))));
49
49
  }
50
50
  static get is() { return "co-fab"; }
51
51
  static get encapsulation() { return "shadow"; }
@@ -34,9 +34,11 @@
34
34
  cursor: default;
35
35
  }
36
36
 
37
+ /* Tinta de estado por --co-semantic-text-*: gira con el tema (status-* es relleno, no se
38
+ aclara, y como texto en oscuro daba <4,5). Fallback a la primitiva hasta publicar tokens. */
37
39
  .co-field-required {
38
40
  margin-left: 2px;
39
- color: var(--co-color-status-error);
41
+ color: var(--co-semantic-text-error, var(--co-color-status-error));
40
42
  }
41
43
 
42
44
  .co-field-required__caption {
@@ -252,8 +254,11 @@
252
254
  border-radius: var(--co-border-radius-sm);
253
255
  }
254
256
 
257
+ /* Borde de error de CAMPO por --co-semantic-border-error: gira con el tema (status-error es
258
+ relleno fijo y como trazo en oscuro daba 2,94:1). En claro vale status-error (idéntico).
259
+ Fallback: la primitiva de hoy, hasta publicar tokens. */
255
260
  .co-file-field__row--error {
256
- border-color: var(--co-semantic-status-error);
261
+ border-color: var(--co-semantic-border-error, var(--co-semantic-status-error));
257
262
  }
258
263
 
259
264
  .co-file-field__row--dragging {
@@ -285,7 +290,7 @@
285
290
  }
286
291
 
287
292
  .co-file-field__row--error .co-file-field__row-icon {
288
- color: var(--co-semantic-status-error);
293
+ color: var(--co-semantic-text-error, var(--co-semantic-status-error));
289
294
  }
290
295
 
291
296
  .co-file-field__row-icon--spin {
@@ -316,7 +321,7 @@
316
321
  }
317
322
 
318
323
  .co-file-field__row-error {
319
- color: var(--co-semantic-status-error);
324
+ color: var(--co-semantic-text-error, var(--co-semantic-status-error));
320
325
  font-size: var(--co-font-size-12);
321
326
  }
322
327
 
@@ -414,12 +419,12 @@
414
419
 
415
420
  .co-file-field--invalid .co-file-field__dropzone,
416
421
  .co-file-field--error .co-file-field__dropzone {
417
- border-color: var(--co-semantic-status-error);
422
+ border-color: var(--co-semantic-border-error, var(--co-semantic-status-error));
418
423
  }
419
424
 
420
425
  .co-file-field__helper--error .co-file-field__helper-icon,
421
426
  .co-file-field__helper--error .co-file-field__helper-text {
422
- color: var(--co-semantic-status-error);
427
+ color: var(--co-semantic-text-error, var(--co-semantic-status-error));
423
428
  }
424
429
 
425
430
  /* ── Horizontal layout: label left; control + helper stacked right ──
@@ -1,7 +1,7 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { RequiredMark } from "../../utils/requiredMark";
3
3
  import { fillTemplate, getFileStrings } from "../../utils/fileI18n";
4
- import { fileExtension, formatBytes, isPreviewable, isVideo, previewSrc, truncateLeft, } from "./co-file-field.utils";
4
+ import { acceptsFile, downloadViaBlob, fileExtension, formatBytes, isPreviewable, isVideo, previewSrc, truncateLeft, } from "./co-file-field.utils";
5
5
  /**
6
6
  * Host-driven file selector — renders a drop-zone + previews + a file list with
7
7
  * upload progress, but performs NO upload itself. When the user picks/drops
@@ -175,19 +175,31 @@ export class CoFileField {
175
175
  return i >= 0 ? name.slice(i + 1).toLowerCase() : '';
176
176
  }
177
177
  validate(file) {
178
- const list = this.acceptList;
179
- if (list.length) {
180
- const ext = this.extOf(file.name);
181
- const okExt = list.includes(ext);
182
- const okMime = list.some((a) => a.includes('/') && file.type === a);
183
- if (!okExt && !okMime)
184
- return fillTemplate(this.strings.errInvalidFormat, { x: ext });
178
+ // acceptsFile entiende el comodín `image/*` (antes: igualdad exacta de MIME → toda imagen
179
+ // del explorador salía «Formato no permitido»).
180
+ if (!acceptsFile(this.acceptList, file)) {
181
+ return fillTemplate(this.strings.errInvalidFormat, { x: this.extOf(file.name) });
185
182
  }
186
183
  if (this.maxBytes && file.size > this.maxBytes) {
187
184
  return fillTemplate(this.strings.errTooLarge, { x: formatBytes(file.size) });
188
185
  }
189
186
  return null;
190
187
  }
188
+ /**
189
+ * Descarga de verdad (fetch → blob): el `download` del <a> no vale con la URL firmada
190
+ * cross-origin. ⌘/Ctrl/Shift/medio-click conservan el comportamiento nativo del enlace
191
+ * (abrir en pestaña). Si el fetch falla (CORS, red, 403) se abre la URL como antes.
192
+ */
193
+ onDownloadClick(e, item) {
194
+ if (e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || !item.url)
195
+ return;
196
+ e.preventDefault();
197
+ const url = item.url;
198
+ void downloadViaBlob(url, item.name).then((ok) => {
199
+ if (!ok)
200
+ window.open(url, '_blank', 'noopener,noreferrer');
201
+ });
202
+ }
191
203
  handleFiles(fileList) {
192
204
  if (this.disabled || this.readonly)
193
205
  return;
@@ -279,7 +291,9 @@ export class CoFileField {
279
291
  const gallery = this.previewItems();
280
292
  const images = gallery.map((it) => isVideo(it)
281
293
  ? { src: previewSrc(it), thumbnail: it.thumbnail, alt: it.name, kind: 'video', poster: it.thumbnail }
282
- : { src: previewSrc(it), thumbnail: it.thumbnail, alt: it.name });
294
+ : // `original`: sin extensión de imagen el visor muestra la miniatura; «Abrir
295
+ // original» debe abrir el archivo guardado (cae a la miniatura si no decodifica).
296
+ { src: previewSrc(it), thumbnail: it.thumbnail, alt: it.name, original: it.url });
283
297
  const startIndex = Math.max(0, gallery.findIndex((it) => this.keyFor(it) === this.keyFor(item)));
284
298
  this.closeLightbox();
285
299
  const lb = document.createElement('co-lightbox');
@@ -363,12 +377,12 @@ export class CoFileField {
363
377
  const previews = this.previewItems();
364
378
  const canReorder = this.reorderable && this.multiple && !this.disabled && !this.readonly && items.length > 1;
365
379
  const capacity = this.capacityHint(s);
366
- return (h("div", { key: 'ee6fa70ea7fd466ec315eff1b6f3d044b1c6c6d9', class: {
380
+ return (h("div", { key: '4a6cea48737c68e53f90a32e962660473f49ce5a', class: {
367
381
  'co-file-field': true,
368
382
  'co-file-field--disabled': this.disabled,
369
383
  'co-file-field--invalid': this.isInvalid,
370
384
  [statusClass]: !!statusClass,
371
- }, part: "wrapper" }, this.label && (h("div", { key: '48a181a0cb1e0c53da9d61a856f3d2cc5e97d079', class: "co-file-field__labels" }, h("label", { key: '47f162d9fdad44d4c8c8f7756c901eea216b7627', class: "co-file-field__label", part: "label" }, this.label, h(RequiredMark, { key: '4549d57f016e2874ea7b141d9dc83e09c38bdbf3', required: this.required })))), showDropzone && (h("div", { key: '3d16ff2e38de335e5fba78931cd6b1b009603a70', class: {
385
+ }, part: "wrapper" }, this.label && (h("div", { key: '3532e314c63b19208c7a7665dd025ff38585a598', class: "co-file-field__labels" }, h("label", { key: 'ae8aa6da81d6b959233218473086ecabe5ab8017', class: "co-file-field__label", part: "label" }, this.label, h(RequiredMark, { key: '78d12c0e676217fd208bc03cc6a119b6fbf521e7', required: this.required })))), showDropzone && (h("div", { key: 'a6e5764aa57090d6b9383b1f8148bcba1239ff3a', class: {
372
386
  'co-file-field__dropzone': true,
373
387
  'co-file-field__dropzone--drag': this.dragOver,
374
388
  }, part: "dropzone", role: "button", tabIndex: this.disabled ? -1 : 0, onClick: this.handleBrowse, onKeyDown: (e) => {
@@ -376,7 +390,7 @@ export class CoFileField {
376
390
  e.preventDefault();
377
391
  this.handleBrowse();
378
392
  }
379
- }, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave, onDrop: this.handleDrop }, h("button", { key: 'e9a2c51a238455e7887e8310c02ac739ebf89e4e', class: "co-file-field__upload-btn", part: "upload-button", type: "button", tabIndex: -1 }, h("co-icon", { key: '5a6fe016b2e26896a8b788bb1473c5434d71e85f', name: "file-arrow-up", size: 18 }), h("span", { key: 'e69793c228fef62c5c0aec07f5f038aa3e931b3b' }, this.uploadButtonText || s.uploadButton)), h("span", { key: '7343bd26d1132ac6b0b0ded57f1a2a32f228d0e8', class: "co-file-field__dropzone-text" }, this.dropText || s.dropHint), capacity && h("span", { key: 'd7b68c8723c91b80b124298e29c9165c2489f59f', class: "co-file-field__dropzone-hint" }, capacity), h("div", { key: '38318d6e86a90cc8faf6955ea480b39d242d8122', class: "co-file-field__actions", part: "actions" }, h("slot", { key: 'ad9f134cd0f01b1ed61d8d8966d5a7d40bda0812', name: "actions" })), h("input", { key: '8a3b769794a89213a1f02f0b82899e624a5578d6', ref: (el) => (this.inputEl = el), class: "co-file-field__input", type: "file", multiple: this.multiple, accept: this.inputAccept, disabled: this.disabled, onChange: this.handleInputChange, "aria-hidden": "true", tabIndex: -1 }))), items.length > 0 && (h("div", { key: '8040d77615d29a691bc2087eddd7298b3922066c', class: "co-file-field__uploaded" }, this.multiple && (h("div", { key: 'e4660cdfe20c1b4669b57a4474234161bac4c812', class: "co-file-field__uploaded-title", part: "uploaded-title" }, `${this.uploadedTitle || s.uploadedTitle} (${items.length})`)), previews.length > 0 && (h("div", { key: '636e3e35dcb8ad263361e1b652dca23b499e5354', class: "co-file-field__previews", part: "previews" }, previews.map((item) => {
393
+ }, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave, onDrop: this.handleDrop }, h("button", { key: '44558c1a5d15c5aca23a7e204bcccf5e57d6b740', class: "co-file-field__upload-btn", part: "upload-button", type: "button", tabIndex: -1 }, h("co-icon", { key: '662340ae54f1d070606c0fd8226155b0360e803e', name: "file-arrow-up", size: 18 }), h("span", { key: '752f18e7121040eb4edf571a54a9a5308825cb13' }, this.uploadButtonText || s.uploadButton)), h("span", { key: 'b92332ee8e7e658b33814b8c1ae34a4630045819', class: "co-file-field__dropzone-text" }, this.dropText || s.dropHint), capacity && h("span", { key: 'ed1f7c9093145ecbb49446b72a3d3bc99ee232e2', class: "co-file-field__dropzone-hint" }, capacity), h("div", { key: 'fd4953e9dfebf35936ae836d6f28ccdc17ccf951', class: "co-file-field__actions", part: "actions" }, h("slot", { key: 'c2e568fabd1512ecfa298c2ab281d310fbe21664', name: "actions" })), h("input", { key: '17acb79e8d066c18f7c1ac051a365d4282c852af', ref: (el) => (this.inputEl = el), class: "co-file-field__input", type: "file", multiple: this.multiple, accept: this.inputAccept, disabled: this.disabled, onChange: this.handleInputChange, "aria-hidden": "true", tabIndex: -1 }))), items.length > 0 && (h("div", { key: 'a793e2b836269abaafe71fd56b07b3d54155cf75', class: "co-file-field__uploaded" }, this.multiple && (h("div", { key: '2a265874db718faf1e78f2dd46e5ff14bbfbbff2', class: "co-file-field__uploaded-title", part: "uploaded-title" }, `${this.uploadedTitle || s.uploadedTitle} (${items.length})`)), previews.length > 0 && (h("div", { key: 'a4ebb3fae5ad4b2b29263381f9eb5ae03a98867d', class: "co-file-field__previews", part: "previews" }, previews.map((item) => {
380
394
  const key = this.keyFor(item);
381
395
  const video = isVideo(item);
382
396
  // A video without a usable poster still gets a card — the
@@ -387,7 +401,7 @@ export class CoFileField {
387
401
  'co-file-field__preview': true,
388
402
  'co-file-field__preview--video': video,
389
403
  }, part: "preview", type: "button", key: `prev-${key}`, title: item.name, "aria-label": `${video ? s.playVideo : s.openPreview}: ${item.name}`, onClick: () => this.handlePreviewOpen(item) }, showImg && (h("img", { src: video ? poster : item.thumbnail || item.url, alt: item.name, loading: "lazy", onError: () => this.handlePreviewError(item) })), video && (h("span", { class: "co-file-field__preview-play", "aria-hidden": "true" }, h("span", { class: "co-file-field__preview-play-badge" }, h("co-icon", { name: "play", size: 20, weight: "fill" })), !poster && (h("span", { class: "co-file-field__preview-ext" }, fileExtension(item).toUpperCase()))))));
390
- }))), h("ul", { key: 'b67b8c43f8c02c65e780b3fa644123bf0f29d69b', class: "co-file-field__list", part: "list" }, items.map((item) => {
404
+ }))), h("ul", { key: '97ead2383d036b1ed2b09d6e931be2bfbcce25d2', class: "co-file-field__list", part: "list" }, items.map((item) => {
391
405
  const key = this.keyFor(item);
392
406
  const draggable = canReorder && item.status === 'done';
393
407
  return (h("li", { class: {
@@ -407,14 +421,14 @@ export class CoFileField {
407
421
  'co-file-field__row-icon--spin': item.status === 'uploading',
408
422
  } })), h("div", { class: "co-file-field__row-body" }, h("span", { class: "co-file-field__row-name", title: item.name }, truncateLeft(item.name)), item.status === 'uploading' && (h("div", { class: "co-file-field__progress" }, h("div", { class: "co-file-field__progress-bar", style: typeof item.progress === 'number'
409
423
  ? { width: `${item.progress}%` }
410
- : undefined }))), item.status === 'error' && item.error && (h("span", { class: "co-file-field__row-error" }, item.error))), item.size != null && (h("span", { class: "co-file-field__row-size" }, formatBytes(item.size))), item.status === 'done' && !!item.url && (h("co-tooltip", { content: s.downloadFile }, h("a", { class: "co-file-field__action", href: item.url, target: "_blank", rel: "noopener noreferrer", download: item.name, tabIndex: -1, "aria-label": s.downloadFile }, h("co-icon", { name: "download", size: 18 })))), item.status === 'done' && !!item.url && (h("co-tooltip", { content: this.copiedKey === key ? s.copied : s.copyUrl }, h("button", { class: {
424
+ : undefined }))), item.status === 'error' && item.error && (h("span", { class: "co-file-field__row-error" }, item.error))), item.size != null && (h("span", { class: "co-file-field__row-size" }, formatBytes(item.size))), item.status === 'done' && !!item.url && (h("co-tooltip", { content: s.downloadFile }, h("a", { class: "co-file-field__action", href: item.url, target: "_blank", rel: "noopener noreferrer", download: item.name, tabIndex: -1, "aria-label": s.downloadFile, onClick: (e) => this.onDownloadClick(e, item) }, h("co-icon", { name: "download", size: 18 })))), item.status === 'done' && !!item.url && (h("co-tooltip", { content: this.copiedKey === key ? s.copied : s.copyUrl }, h("button", { class: {
411
425
  'co-file-field__action': true,
412
426
  'co-file-field__action--copied': this.copiedKey === key,
413
427
  }, type: "button", tabIndex: -1, "aria-label": s.copyUrl, onClick: () => this.handleCopy(item) }, h("co-icon", { name: this.copiedKey === key ? 'check' : 'copy', size: 18 })))), !this.disabled && !this.readonly && (h("co-tooltip", { content: s.removeFile }, h("button", { class: "co-file-field__action", type: "button", tabIndex: -1, "aria-label": s.removeFile, onClick: () => this.coRemove.emit(key) }, h("co-icon", { name: "trash", size: 18 }))))));
414
- })))), helper && (h("div", { key: 'ff75602503a198d8598d2b35fd881c848a7b76d6', class: {
428
+ })))), helper && (h("div", { key: 'd4fef1bb2aa10f90ca7cd5e01bb5fed9ea917637', class: {
415
429
  'co-file-field__helper': true,
416
430
  'co-file-field__helper--error': this.isInvalid,
417
- }, part: "helper" }, this.isInvalid && (h("co-icon", { key: 'af79e0b999c781560c316023897aaa850b1d6ae0', name: "warning-circle", size: 14, class: "co-file-field__helper-icon" })), h("span", { key: 'b5af4dab0d3c7dc317265604159a95f3bf8d200d', class: "co-file-field__helper-text" }, helper)))));
431
+ }, part: "helper" }, this.isInvalid && (h("co-icon", { key: '2fb9d5d28732c239bcec4b0a30dfe194367e8b5d', name: "warning-circle", size: 14, class: "co-file-field__helper-icon" })), h("span", { key: '09bd101388c52a7fb8d0139c20f52f2da733543b', class: "co-file-field__helper-text" }, helper)))));
418
432
  }
419
433
  static get is() { return "co-file-field"; }
420
434
  static get encapsulation() { return "shadow"; }
@@ -92,3 +92,60 @@ export function previewSrc(item) {
92
92
  return item.url || item.thumbnail;
93
93
  return hasImageExtension(item) ? item.url || item.thumbnail : item.thumbnail || item.url;
94
94
  }
95
+ /** Extensiones conocidas por familia MIME: respaldo del comodín cuando el navegador no da `type`. */
96
+ const EXTS_BY_FAMILY = { image: IMAGE_EXTS, video: VIDEO_EXTS };
97
+ /**
98
+ * ¿`file` entra por la lista `accept` normalizada (sin punto, en minúscula)? Acepta extensión
99
+ * (`pdf`), MIME exacto (`application/pdf`) y COMODÍN de MIME (`image/*`) — el mismo vocabulario
100
+ * que el atributo `accept` del `<input>`. Sin el comodín, `image/*` rechazaba toda imagen que el
101
+ * propio picker del navegador había dejado elegir («Formato no permitido: .png»).
102
+ * Lista vacía = todo permitido.
103
+ */
104
+ export function acceptsFile(list, file) {
105
+ if (!list.length)
106
+ return true;
107
+ const ext = extOf(file.name);
108
+ const type = (file.type || '').toLowerCase();
109
+ return list.some((a) => {
110
+ var _a;
111
+ if (!a.includes('/'))
112
+ return a === ext;
113
+ if (!a.endsWith('/*'))
114
+ return type === a;
115
+ const family = a.slice(0, -2);
116
+ // Sin MIME (algunos SO/drag de apps no lo mandan): la extensión conocida de la familia.
117
+ return type ? type.startsWith(`${family}/`) : !!((_a = EXTS_BY_FAMILY[family]) === null || _a === void 0 ? void 0 : _a.has(ext));
118
+ });
119
+ }
120
+ const REVOKE_DELAY_MS = 2000;
121
+ /**
122
+ * Descarga `url` como archivo `name`: fetch → blob → object URL → `<a download>`. Un `<a
123
+ * download>` directo NO sirve con las URLs de los archivos: son firmadas y cross-origin
124
+ * (S3/CDN), y el navegador IGNORA `download` fuera del mismo origen — abría la imagen en otra
125
+ * pestaña. Devuelve `false` si no se pudo (CORS, red, 403/404 — un `!ok` no se guarda, sería el
126
+ * XML de error) para que el host caiga a abrir la URL. El object URL se revoca DIFERIDO: revocarlo
127
+ * en el mismo tick cancela el handoff de la descarga en algunos motores.
128
+ */
129
+ export async function downloadViaBlob(url, name, deps = {}) {
130
+ const { fetchImpl = globalThis.fetch, doc = globalThis.document, urlApi = URL } = deps;
131
+ try {
132
+ const res = await fetchImpl(url);
133
+ if (!res.ok)
134
+ return false;
135
+ const objectUrl = urlApi.createObjectURL(await res.blob());
136
+ const link = doc.createElement('a');
137
+ link.href = objectUrl;
138
+ link.download = name || 'download';
139
+ link.rel = 'noopener noreferrer';
140
+ doc.body.appendChild(link);
141
+ link.click();
142
+ setTimeout(() => {
143
+ link.remove();
144
+ urlApi.revokeObjectURL(objectUrl);
145
+ }, REVOKE_DELAY_MS);
146
+ return true;
147
+ }
148
+ catch (_a) {
149
+ return false;
150
+ }
151
+ }
@@ -22,7 +22,7 @@ export class CoFileTypeTile {
22
22
  const iconSize = Math.round(this.size * 0.5);
23
23
  const background = this.colorTags ? meta.tint : 'var(--co-color-gray-100)';
24
24
  const color = this.colorTags ? meta.accent : 'var(--co-color-gray-600)';
25
- return (h("span", { key: 'da0b0b3e48e1847bd7c74e32bec23abc074f53a7', class: {
25
+ return (h("span", { key: '9c08b899dcf809c6c5dffe9eef70d277cdbdc37d', class: {
26
26
  'co-file-type-tile': true,
27
27
  [`co-file-type-tile--${type}`]: true,
28
28
  'co-file-type-tile--mono': !this.colorTags,
@@ -32,7 +32,7 @@ export class CoFileTypeTile {
32
32
  borderRadius: `${this.radius}px`,
33
33
  background,
34
34
  color,
35
- } }, h("co-icon", { key: '70034ff2279181498ba2481fb3709cae3016901d', name: meta.icon, size: iconSize, weight: "fill" })));
35
+ } }, h("co-icon", { key: '0b20a29e58d1b63951cd314838f54dc98fd3c3f8', name: meta.icon, size: iconSize, weight: "fill" })));
36
36
  }
37
37
  static get is() { return "co-file-type-tile"; }
38
38
  static get encapsulation() { return "shadow"; }
@@ -180,12 +180,12 @@ export class CoGradientBar {
180
180
  const live = this.liveStops();
181
181
  const n = live.length;
182
182
  const hasSelection = this.selected != null && this.selected >= 0 && this.selected < n;
183
- return (h("div", { key: '10e1f78165d061dd08141de0a0ca885f15b7ff83', class: {
183
+ return (h("div", { key: 'cef89872e93311d220f59805754f472a118dfce0', class: {
184
184
  'co-gradient-bar': true,
185
185
  'co-gradient-bar--disabled': this.disabled,
186
186
  'co-gradient-bar--dragging': this.dragIndex >= 0,
187
187
  'co-gradient-bar--transparent': hasTransparentStop(live),
188
- }, role: "group", "aria-label": this.label || s.barLabel, "aria-disabled": this.disabled ? 'true' : undefined }, h("div", { key: 'e591b6e6d74ee9c9f3b9992f6d12cfd360f9fa49', class: "co-gradient-bar__track", part: "track", ref: (el) => (this.trackEl = el), onClick: this.handleTrackClick }, h("div", { key: 'fd5b93939df8988a08b8ab9f1fab36cc3eb24096', class: "co-gradient-bar__fill", style: { background: gradientCss(live) } }), live.map((stop, i) => {
188
+ }, role: "group", "aria-label": this.label || s.barLabel, "aria-disabled": this.disabled ? 'true' : undefined }, h("div", { key: 'bdcf7544119daba7392bd8b3f14924f81ab88f7f', class: "co-gradient-bar__track", part: "track", ref: (el) => (this.trackEl = el), onClick: this.handleTrackClick }, h("div", { key: 'ac58517f315ca19e37a6e590950397935e643be0', class: "co-gradient-bar__fill", style: { background: gradientCss(live) } }), live.map((stop, i) => {
189
189
  const selected = i === this.selected;
190
190
  // Roving tabindex: una sola parada de tab (la seleccionada, o la primera).
191
191
  const tabbable = hasSelection ? selected : i === 0;
@@ -20,18 +20,20 @@
20
20
  color: var(--co-semantic-text-muted);
21
21
  }
22
22
 
23
+ /* Tinta de estado por --co-semantic-text-*: gira con el tema (status-* es relleno, no se
24
+ aclara, y como texto en oscuro daba <4,5). Fallback a la primitiva hasta publicar tokens. */
23
25
  .co-helper-text--error {
24
- color: var(--co-semantic-status-error);
26
+ color: var(--co-semantic-text-error, var(--co-semantic-status-error));
25
27
  }
26
28
 
27
29
  .co-helper-text--success {
28
- color: var(--co-semantic-status-success);
30
+ color: var(--co-semantic-text-success, var(--co-semantic-status-success));
29
31
  }
30
32
 
31
33
  .co-helper-text--warning {
32
- color: var(--co-semantic-status-warning);
34
+ color: var(--co-semantic-text-warning, var(--co-semantic-status-warning));
33
35
  }
34
36
 
35
37
  .co-helper-text--info {
36
- color: var(--co-semantic-status-info);
38
+ color: var(--co-semantic-text-info, var(--co-semantic-status-info));
37
39
  }
@@ -17,10 +17,10 @@ export class CoHelperText {
17
17
  };
18
18
  }
19
19
  render() {
20
- return (h("div", { key: '12a67e485fed5d931c4325a0139d3ae7669b8de4', class: {
20
+ return (h("div", { key: '019ae80dcb000fb5179c645ac7ac9f218d290c53', class: {
21
21
  'co-helper-text': true,
22
22
  [`co-helper-text--${this.status}`]: true,
23
- }, part: "helper-text" }, h("co-icon", { key: '5bdb8635fa1654a9e10176c9818ba4197fc252e8', name: this.STATUS_ICON[this.status], size: 14, weight: "fill", class: "co-helper-text__icon" }), h("span", { key: 'c2f165cc0226ea1d799c62d0929d6acbf5cc1b98', class: "co-helper-text__message" }, h("slot", { key: 'd8315ea3ea6c002f83f1d936f9a3521831593b3d' }, this.message))));
23
+ }, part: "helper-text" }, h("co-icon", { key: '430a1f6c560ae70ae68e5ef427cb2af79960b114', name: this.STATUS_ICON[this.status], size: 14, weight: "fill", class: "co-helper-text__icon" }), h("span", { key: '10b37550ab4818649debdaf87bce951948db154a', class: "co-helper-text__message" }, h("slot", { key: 'ea2433ffdf06655e3a0f2bfa8e4313e485b6d2a4' }, this.message))));
24
24
  }
25
25
  static get is() { return "co-helper-text"; }
26
26
  static get encapsulation() { return "shadow"; }
@@ -35,12 +35,12 @@ export class CoIcon {
35
35
  this.svgContent = await loadSvg(this.name, this.weight);
36
36
  }
37
37
  render() {
38
- return (h(Host, { key: 'e6f8302d22e1fbeac4e82d199b9214063c7b2313', "aria-hidden": "true", style: {
38
+ return (h(Host, { key: '571cfcec3bd5dbc68b0d773278d243163441334b', "aria-hidden": "true", style: {
39
39
  display: 'inline-flex',
40
40
  width: `${this.size}px`,
41
41
  height: `${this.size}px`,
42
42
  flexShrink: '0',
43
- } }, h("span", { key: '7967a0787112955036f6f88231a2a635e647e218', part: "svg", innerHTML: this.svgContent })));
43
+ } }, h("span", { key: 'fe079b6aa1813517cd27b88ba5855f57f260de94', part: "svg", innerHTML: this.svgContent })));
44
44
  }
45
45
  static get is() { return "co-icon"; }
46
46
  static get encapsulation() { return "shadow"; }
@@ -99,11 +99,13 @@
99
99
 
100
100
  /* ─── SURFACE · DARK (on-dark theming) ──────────────────────── */
101
101
  /* Placed after the variants so it wins on icon color; opt-in via surface="dark" */
102
+ /* Tinta de `--co-surface-dark-ink` (fallback: blanco) — misma regla que co-button: la fija
103
+ a on-primary una barra cuyo fondo gira con el tema (co-action-bar). */
102
104
  .co-icon-button--dark {
103
- color: var(--co-icon-button-color, var(--co-color-base-blanco, #fff));
105
+ color: var(--co-icon-button-color, var(--co-surface-dark-ink, var(--co-color-base-blanco, #fff)));
104
106
  }
105
107
  .co-icon-button--dark.co-icon-button--ghost:hover:not(:disabled) {
106
- background: var(--co-color-opacity-blanco-16, rgba(255, 255, 255, 0.16));
108
+ background: color-mix(in srgb, var(--co-surface-dark-ink, var(--co-color-base-blanco, #fff)) 16%, transparent);
107
109
  }
108
110
 
109
111
  /* ─── SELECTED (transversal: gana sobre cualquier variant/surface) ───── */
@@ -247,7 +249,7 @@
247
249
  /* surface="dark": el token de foco es negro-50 en tema claro y sobre una navbar
248
250
  oscura no contrasta. Misma salida que co-button para su variante on-dark. */
249
251
  .co-icon-button--dark:focus-visible {
250
- box-shadow: 0 0 0 2px color-mix(in srgb, var(--co-color-base-blanco, #fff) 45%, transparent);
252
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--co-surface-dark-ink, var(--co-color-base-blanco, #fff)) 45%, transparent);
251
253
  }
252
254
 
253
255
  /* Feedback de presión: squish instantáneo; el release usa la transición base. */
@@ -97,7 +97,7 @@ export class CoIconButton {
97
97
  const usesSlot = !this.icon;
98
98
  const style = usesSlot
99
99
  ? Object.assign(Object.assign({}, (boxStyle !== null && boxStyle !== void 0 ? boxStyle : {})), { '--co-icon-button-glyph-size': `${resolvedIconSize}px` }) : boxStyle;
100
- return (h("button", { key: 'd04a7878b984d9613603801b0b18285d02e71f7e', class: {
100
+ return (h("button", { key: 'c83227eb38cf7d3573e5490c7dff2130402e8a09', class: {
101
101
  'co-icon-button': true,
102
102
  [`co-icon-button--${this.variant}`]: true,
103
103
  [`co-icon-button--${this.shape}`]: true,
@@ -108,7 +108,7 @@ export class CoIconButton {
108
108
  'co-icon-button--disabled': this.disabled,
109
109
  }, style: style, disabled: this.disabled, "aria-label": this.label || (this.toggled && this.toggleIcon ? this.toggleIcon : this.icon), "aria-pressed": this.selected ? 'true' : undefined, part: "button" }, this.icon && this.toggleIcon ? (h("span", { class: { 'co-icon-button__swap': true, 'co-icon-button__swap--toggled': this.toggled }, "aria-hidden": "true" }, h("co-icon", { name: this.icon, weight: this.iconWeight, size: resolvedIconSize }), h("co-icon", { name: this.toggleIcon, weight: this.iconWeight, size: resolvedIconSize }))) : this.icon ? (h("co-icon", { name: this.icon, weight: this.iconWeight, size: resolvedIconSize })) : (
110
110
  // Sin `icon`: el consumidor proyecta su propio glifo (ver @slot).
111
- h("slot", null)), this.caret && h("co-icon", { key: 'db59eb79e6609b237ed3a642f5c44f2a046a4efe', class: "co-icon-button__caret", name: "caret-down", size: 8 })));
111
+ h("slot", null)), this.caret && h("co-icon", { key: 'a70e77a1b2c2db11dfa0a0e0f5629c3ea2829754', class: "co-icon-button__caret", name: "caret-down", size: 8 })));
112
112
  }
113
113
  static get is() { return "co-icon-button"; }
114
114
  static get encapsulation() { return "shadow"; }
@@ -259,11 +259,14 @@
259
259
  }
260
260
 
261
261
  /* ---- Integrated action button (Botón variant) ---- */
262
+ /* Padding SIMÉTRICO, el mismo escalón que `co-button` square s (8/12) y que el lateral del
263
+ campo: con 8px del lado del ícono y 12 del otro, el ícono quedaba pegado al borde y el
264
+ botón se leía descentrado (2026-09-30). El lateral sigue a la talla del input (abajo). */
262
265
  .co-input__action {
263
266
  display: flex;
264
267
  align-items: center;
265
268
  gap: var(--co-spacing-sm);
266
- padding: var(--co-spacing-sm2) var(--co-spacing-md) var(--co-spacing-sm2) var(--co-spacing-sm2);
269
+ padding: var(--co-spacing-sm2) var(--co-spacing-md);
267
270
  background: var(--co-semantic-surface-primary);
268
271
  color: var(--co-semantic-on-primary);
269
272
  border: none;
@@ -300,6 +303,19 @@
300
303
  align-items: center;
301
304
  }
302
305
 
306
+ /* Lateral proporcional a la talla (el alto ya lo da la fila, que estira el botón al campo). */
307
+ .co-input--s .co-input__action {
308
+ padding-inline: var(--co-spacing-sm2);
309
+ }
310
+
311
+ .co-input--sm .co-input__action {
312
+ padding-inline: var(--co-spacing-sm2);
313
+ }
314
+
315
+ .co-input--lg .co-input__action {
316
+ padding-inline: var(--co-spacing-lg);
317
+ }
318
+
303
319
  /* ---- Helper text ---- */
304
320
  .co-input__helper {
305
321
  display: flex;
@@ -369,24 +385,29 @@
369
385
  align-items: center;
370
386
  }
371
387
 
372
- .co-input--success .co-input__status-icon { color: var(--co-semantic-status-success); }
373
- .co-input--error .co-input__status-icon { color: var(--co-semantic-status-error); }
374
- .co-input--warning .co-input__status-icon { color: var(--co-color-status-review); }
375
- .co-input--info .co-input__status-icon { color: var(--co-semantic-status-info); }
388
+ /* Tinta de estado por --co-semantic-text-*: gira con el tema (status-* es relleno, no se
389
+ aclara, y como texto en oscuro daba <4,5). Fallback a la primitiva hasta publicar tokens. */
390
+ .co-input--success .co-input__status-icon { color: var(--co-semantic-text-success, var(--co-semantic-status-success)); }
391
+ .co-input--error .co-input__status-icon { color: var(--co-semantic-text-error, var(--co-semantic-status-error)); }
392
+ .co-input--warning .co-input__status-icon { color: var(--co-semantic-text-warning, var(--co-color-status-review)); }
393
+ .co-input--info .co-input__status-icon { color: var(--co-semantic-text-info, var(--co-semantic-status-info)); }
376
394
 
377
395
  /* Error */
396
+ /* Borde de error de CAMPO por --co-semantic-border-error: gira con el tema (status-error es
397
+ relleno fijo y como trazo en oscuro daba 2,94:1). En claro vale status-error (idéntico); el
398
+ halo sale de color-mix 12% (= el rgba(170, 46, 27, .12) de antes). Fallback: la primitiva de hoy. */
378
399
  .co-input--error .co-input__field {
379
- border-color: var(--co-semantic-status-error);
400
+ border-color: var(--co-semantic-border-error, var(--co-semantic-status-error));
380
401
  }
381
402
 
382
403
  .co-input--error.co-input--focused .co-input__field {
383
- border-color: var(--co-semantic-status-error);
384
- box-shadow: 0 0 0 2px rgba(170, 46, 27, 0.12);
404
+ border-color: var(--co-semantic-border-error, var(--co-semantic-status-error));
405
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--co-semantic-border-error, var(--co-semantic-status-error)) 12%, transparent);
385
406
  }
386
407
 
387
408
  .co-input__helper--error .co-input__helper-icon,
388
409
  .co-input__helper--error .co-input__helper-text {
389
- color: var(--co-semantic-status-error);
410
+ color: var(--co-semantic-text-error, var(--co-semantic-status-error));
390
411
  }
391
412
 
392
413
  /* Shake de validación (receta tdev): keyframe multi-segmento con easing POR STOP.
@@ -434,7 +455,7 @@
434
455
 
435
456
  .co-input__helper--success .co-input__helper-icon,
436
457
  .co-input__helper--success .co-input__helper-text {
437
- color: var(--co-semantic-status-success);
458
+ color: var(--co-semantic-text-success, var(--co-semantic-status-success));
438
459
  }
439
460
 
440
461
  /* Warning — Figma uses estatus/en-revisión/in-review (#85571f) */
@@ -449,7 +470,7 @@
449
470
 
450
471
  .co-input__helper--warning .co-input__helper-icon,
451
472
  .co-input__helper--warning .co-input__helper-text {
452
- color: var(--co-color-status-review);
473
+ color: var(--co-semantic-text-warning, var(--co-color-status-review));
453
474
  }
454
475
 
455
476
  /* Info */
@@ -464,12 +485,13 @@
464
485
 
465
486
  .co-input__helper--info .co-input__helper-icon,
466
487
  .co-input__helper--info .co-input__helper-text {
467
- color: var(--co-semantic-status-info);
488
+ color: var(--co-semantic-text-info, var(--co-semantic-status-info));
468
489
  }
469
490
 
491
+ /* Asterisco de requerido: tinta --co-semantic-text-error (gira con el tema). */
470
492
  .co-field-required {
471
493
  margin-left: 2px;
472
- color: var(--co-color-status-error);
494
+ color: var(--co-semantic-text-error, var(--co-color-status-error));
473
495
  }
474
496
 
475
497
  .co-field-required__caption {
@@ -497,7 +519,9 @@
497
519
  ============================================================ */
498
520
 
499
521
  .co-input--fill .co-input__field {
500
- background: var(--co-color-gray-100, #f6f6f6);
522
+ /* surface-control = gray-100 en claro; gira en oscuro (con la primitiva el texto, en
523
+ text-default, quedaba blanco sobre la píldora clara). */
524
+ background: var(--co-semantic-surface-control, #f6f6f6);
501
525
  border: none;
502
526
  box-shadow: none;
503
527
  border-radius: 10px;
@@ -521,22 +545,24 @@
521
545
  letter-spacing: var(--co-font-letter-spacing-body);
522
546
  }
523
547
 
548
+ /* Placeholder, lupa y X en text-muted: gray-400 (= text-disabled) daba 2,6 sobre la píldora y no
549
+ son controles deshabilitados (auditoría 2026-09-27, §5). */
524
550
  .co-input--fill .co-input__native::placeholder {
525
- color: var(--co-color-gray-400, #a0a0a0);
551
+ color: var(--co-semantic-text-muted, #888888);
526
552
  }
527
553
 
528
- /* Search glyph — gray-400 */
554
+ /* Search glyph */
529
555
  .co-input--fill .co-input__icon {
530
- color: var(--co-color-gray-400, #a0a0a0);
556
+ color: var(--co-semantic-text-muted, #888888);
531
557
  }
532
558
 
533
- /* Plain-x clear — gray-400, darkens on hover */
559
+ /* Plain-x clear — darkens on hover (text-secondary = gray-600 en claro; gira en oscuro) */
534
560
  .co-input--fill .co-input__clear {
535
- color: var(--co-color-gray-400, #a0a0a0);
561
+ color: var(--co-semantic-text-muted, #888888);
536
562
  }
537
563
 
538
564
  .co-input--fill .co-input__clear:hover {
539
- color: var(--co-color-gray-600, #585858);
565
+ color: var(--co-semantic-text-secondary, #585858);
540
566
  }
541
567
 
542
568
  /* No focus ring in pill mode — the design is a flat gray pill */
@@ -627,11 +653,12 @@
627
653
  color: var(--co-semantic-text-muted);
628
654
  }
629
655
 
630
- /* xs: el prefijo hereda 12px/400 gray-600 (Figma) */
656
+ /* xs: el prefijo hereda 12px/400 gray-600 (Figma) — por text-secondary, que es gray-600 en claro y
657
+ gira en oscuro. */
631
658
  .co-input--xs .co-input__input-wrapper ::slotted([slot="prefix"]) {
632
659
  font-size: var(--co-font-size-12);
633
660
  font-weight: 400;
634
- color: var(--co-color-gray-600, #585858);
661
+ color: var(--co-semantic-text-secondary, #585858);
635
662
  }
636
663
 
637
664
  /* ---- --co-input-suffix-color: color configurable del slot suffix ----
@@ -36,9 +36,11 @@
36
36
  cursor: default;
37
37
  }
38
38
 
39
+ /* Tinta de estado por --co-semantic-text-*: gira con el tema (status-* es relleno, no se
40
+ aclara, y como texto en oscuro daba <4,5). Fallback a la primitiva hasta publicar tokens. */
39
41
  .co-field-required {
40
42
  margin-left: 2px;
41
- color: var(--co-color-status-error);
43
+ color: var(--co-semantic-text-error, var(--co-color-status-error));
42
44
  }
43
45
 
44
46
  .co-field-required__caption {
@@ -146,20 +148,23 @@
146
148
  }
147
149
 
148
150
  /* ---- Invalid / error (internal JSON parse OR external status) ---- */
151
+ /* Borde de error de CAMPO por --co-semantic-border-error: gira con el tema (status-error es
152
+ relleno fijo y como trazo en oscuro daba 2,94:1). En claro vale status-error (idéntico); el
153
+ halo sale de color-mix 12% (= el rgba(170, 46, 27, .12) de antes). Fallback: la primitiva de hoy. */
149
154
  .co-json-field--invalid .co-json-field__field,
150
155
  .co-json-field--error .co-json-field__field {
151
- border-color: var(--co-semantic-status-error);
156
+ border-color: var(--co-semantic-border-error, var(--co-semantic-status-error));
152
157
  }
153
158
 
154
159
  .co-json-field--invalid.co-json-field--focused .co-json-field__field,
155
160
  .co-json-field--error.co-json-field--focused .co-json-field__field {
156
- border-color: var(--co-semantic-status-error);
157
- box-shadow: 0 0 0 2px rgba(170, 46, 27, 0.12);
161
+ border-color: var(--co-semantic-border-error, var(--co-semantic-status-error));
162
+ box-shadow: 0 0 0 2px color-mix(in srgb, var(--co-semantic-border-error, var(--co-semantic-status-error)) 12%, transparent);
158
163
  }
159
164
 
160
165
  .co-json-field__helper--error .co-json-field__helper-icon,
161
166
  .co-json-field__helper--error .co-json-field__helper-text {
162
- color: var(--co-semantic-status-error);
167
+ color: var(--co-semantic-text-error, var(--co-semantic-status-error));
163
168
  }
164
169
 
165
170
  /* ── Horizontal layout: label left; control + helper stacked right ──
@@ -104,17 +104,17 @@ export class CoJsonField {
104
104
  render() {
105
105
  const helper = this.internalInvalid ? this.invalidMessage : this.helperText;
106
106
  const statusClass = this.status !== 'default' ? `co-json-field--${this.status}` : '';
107
- return (h("div", { key: '116c07e036c670e20dd461a907a3bc46e0120b74', class: {
107
+ return (h("div", { key: '3488016fe7b45678a0925275fd240b29107733e4', class: {
108
108
  'co-json-field': true,
109
109
  'co-json-field--disabled': this.disabled,
110
110
  'co-json-field--focused': this.hasFocus,
111
111
  'co-json-field--invalid': this.isInvalid,
112
112
  [`co-json-field--${this.size}`]: true,
113
113
  [statusClass]: !!statusClass,
114
- }, part: "wrapper" }, this.label && (h("div", { key: 'aecaf5025db4a5fe4030e513b57df1b98121b62e', class: "co-json-field__labels" }, h("label", { key: '2f23f19d1fa5cd9f324c67a6fe93ac3d5df98c66', class: "co-json-field__label", part: "label" }, this.label, h(RequiredMark, { key: 'cf1dad000ccfd9de7598c2891413f2564d5e3f6e', required: this.required })))), h("div", { key: '0c43c4df775b1a854f10db5a0531d5e0817a916c', class: "co-json-field__field", part: "field" }, h("textarea", { key: 'f9472a1dbc02388214d0c51277dcc838289e2b79', class: "co-json-field__native", rows: this.rows, spellcheck: false, autocomplete: "off", value: this.draft, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, required: this.required, "aria-invalid": this.isInvalid ? 'true' : 'false', "aria-label": !this.label ? 'JSON' : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, part: "input" })), this.name && h("input", { key: '6c365c240716d857fc026e4c58c08c59722b95f9', type: "hidden", name: this.name, value: this.draft }), helper && (h("div", { key: 'e97c531fbd3a1c3dbec67d0de3f90ba632fe64cb', class: {
114
+ }, part: "wrapper" }, this.label && (h("div", { key: '46cac96bd27c532528d00ed9178dcd52c76b1fce', class: "co-json-field__labels" }, h("label", { key: '7ea63ec78e2c9637c5be2c9737f62e612473d567', class: "co-json-field__label", part: "label" }, this.label, h(RequiredMark, { key: 'e0a6da86cfde978e7e1ae6bfd1a834967b6bb829', required: this.required })))), h("div", { key: '78e11d6f221bfe35bab6299be7c1f7c97bc3a05a', class: "co-json-field__field", part: "field" }, h("textarea", { key: '70eda7639839b0f83c85db5a6d40da2a0eb07ebf', class: "co-json-field__native", rows: this.rows, spellcheck: false, autocomplete: "off", value: this.draft, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, required: this.required, "aria-invalid": this.isInvalid ? 'true' : 'false', "aria-label": !this.label ? 'JSON' : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, part: "input" })), this.name && h("input", { key: '6f0517a5284ac3eea2c6788cb0c64c630e6527d3', type: "hidden", name: this.name, value: this.draft }), helper && (h("div", { key: 'ff13e6ce9172d5c45230e0bc1d3231a232db1214', class: {
115
115
  'co-json-field__helper': true,
116
116
  'co-json-field__helper--error': this.isInvalid,
117
- }, part: "helper" }, this.isInvalid && (h("co-icon", { key: 'ae9751723abb04b19127d93a4fd798f5e03e8b90', name: "warning-circle", size: 14, class: "co-json-field__helper-icon" })), h("span", { key: '8d44b589ba7d923476e7fd94f572d04452585977', class: "co-json-field__helper-text" }, helper)))));
117
+ }, part: "helper" }, this.isInvalid && (h("co-icon", { key: '2db231d921b67b6c6ff7fd058e6903f6ffd99977', name: "warning-circle", size: 14, class: "co-json-field__helper-icon" })), h("span", { key: 'af3dc5badb989c19bfaf960a09a63efff2f59308', class: "co-json-field__helper-text" }, helper)))));
118
118
  }
119
119
  static get is() { return "co-json-field"; }
120
120
  static get encapsulation() { return "shadow"; }