@prolibu-suite/cobalt-core 0.10.0 → 0.10.2

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 (364) hide show
  1. package/custom-elements.json +481 -35
  2. package/dist/cjs/co-accordion.cjs.entry.js +33 -4
  3. package/dist/cjs/co-action-bar.cjs.entry.js +1 -1
  4. package/dist/cjs/co-audio-player.cjs.entry.js +82 -12
  5. package/dist/cjs/co-avatar.cjs.entry.js +72 -0
  6. package/dist/cjs/co-button.cjs.entry.js +1 -1
  7. package/dist/cjs/co-calendar_3.cjs.entry.js +7 -3
  8. package/dist/cjs/co-checkbox.cjs.entry.js +3 -3
  9. package/dist/cjs/co-chip_2.cjs.entry.js +68 -14
  10. package/dist/cjs/co-color-picker.cjs.entry.js +40 -10
  11. package/dist/cjs/co-column-picker.cjs.entry.js +1 -1
  12. package/dist/cjs/co-combobox.cjs.entry.js +1 -1
  13. package/dist/cjs/co-command-search.cjs.entry.js +1 -1
  14. package/dist/cjs/co-data-table.cjs.entry.js +82 -4
  15. package/dist/cjs/co-date-range-picker.cjs.entry.js +3 -1
  16. package/dist/cjs/co-emoji-picker.cjs.entry.js +1 -1
  17. package/dist/cjs/co-file-type-tile.cjs.entry.js +23 -7
  18. package/dist/cjs/co-input.cjs.entry.js +6 -2
  19. package/dist/cjs/co-menu-item.cjs.entry.js +1 -1
  20. package/dist/cjs/co-modal.cjs.entry.js +7 -3
  21. package/dist/cjs/co-navbar.cjs.entry.js +2 -2
  22. package/dist/cjs/co-number-field.cjs.entry.js +3 -3
  23. package/dist/cjs/co-overlay.cjs.entry.js +1 -1
  24. package/dist/cjs/co-page-header.cjs.entry.js +1 -1
  25. package/dist/cjs/co-phone-field.cjs.entry.js +5 -5
  26. package/dist/cjs/co-progress-bar.cjs.entry.js +2 -2
  27. package/dist/cjs/co-progress-circle.cjs.entry.js +2 -2
  28. package/dist/cjs/co-provider-logo_2.cjs.entry.js +1 -1
  29. package/dist/cjs/co-radio.cjs.entry.js +3 -3
  30. package/dist/cjs/co-rating.cjs.entry.js +3 -3
  31. package/dist/cjs/co-ref-field.cjs.entry.js +100 -9
  32. package/dist/cjs/co-rich-text-editor.cjs.entry.js +30 -10
  33. package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +5 -2
  34. package/dist/cjs/co-rich-text-viewer.cjs.entry.js +19 -3
  35. package/dist/cjs/co-row.cjs.entry.js +2 -2
  36. package/dist/cjs/co-select.cjs.entry.js +8 -8
  37. package/dist/cjs/co-separator.cjs.entry.js +1 -1
  38. package/dist/cjs/co-sidebar-nav.cjs.entry.js +1 -1
  39. package/dist/cjs/co-sidebar.cjs.entry.js +2 -2
  40. package/dist/cjs/co-slider.cjs.entry.js +2 -2
  41. package/dist/cjs/co-switch.cjs.entry.js +3 -3
  42. package/dist/cjs/co-tab-group.cjs.entry.js +2 -2
  43. package/dist/cjs/co-tab.cjs.entry.js +2 -2
  44. package/dist/cjs/co-tags-field.cjs.entry.js +5 -5
  45. package/dist/cjs/co-textarea.cjs.entry.js +4 -4
  46. package/dist/cjs/co-time-field.cjs.entry.js +1 -1
  47. package/dist/cjs/co-toggle-button-group.cjs.entry.js +3 -3
  48. package/dist/cjs/co-toggle-button.cjs.entry.js +3 -3
  49. package/dist/cjs/{co-avatar_2.cjs.entry.js → co-tooltip.cjs.entry.js} +2 -70
  50. package/dist/cjs/co-video.cjs.entry.js +2 -2
  51. package/dist/cjs/cobalt.cjs.js +1 -1
  52. package/dist/cjs/{index-BYwrR87Z.js → index-2kMmd5-a.js} +6717 -6654
  53. package/dist/cjs/index-MDAnKsze.js +16 -12
  54. package/dist/cjs/loader.cjs.js +1 -1
  55. package/dist/cjs/{normalizeText-B-v-XPKf.js → normalizeText-D9rlJWZa.js} +29 -18
  56. package/dist/cjs/{toolbar-config-BSGas-Wl.js → toolbar-config-CYACt9hh.js} +13 -1
  57. package/dist/cobalt/cobalt.esm.js +1 -1
  58. package/dist/cobalt/{p-82266f11.entry.js → p-000a15b8.entry.js} +1 -1
  59. package/dist/cobalt/{p-e01f9b9a.entry.js → p-0c004735.entry.js} +1 -1
  60. package/dist/cobalt/{p-16954cea.entry.js → p-11c5ce78.entry.js} +1 -1
  61. package/dist/cobalt/{p-c465d619.entry.js → p-1861fe41.entry.js} +1 -1
  62. package/dist/cobalt/p-1cc818ca.entry.js +1 -0
  63. package/dist/cobalt/p-216a63ee.entry.js +1 -0
  64. package/dist/cobalt/p-24196410.entry.js +1 -0
  65. package/dist/cobalt/{p-4d897896.entry.js → p-28764b8e.entry.js} +1 -1
  66. package/dist/cobalt/{p-1a589c8e.entry.js → p-292b0389.entry.js} +1 -1
  67. package/dist/cobalt/{p-73c6d735.entry.js → p-2a30c143.entry.js} +1 -1
  68. package/dist/cobalt/{p-e8a4e6b0.entry.js → p-2c9dba2f.entry.js} +1 -1
  69. package/dist/cobalt/{p-83ea631d.entry.js → p-39a50e7f.entry.js} +1 -1
  70. package/dist/cobalt/p-39dc4ec8.entry.js +1 -0
  71. package/dist/cobalt/{p-325b91b6.entry.js → p-3d31c575.entry.js} +1 -1
  72. package/dist/cobalt/p-416795f5.entry.js +1 -0
  73. package/dist/cobalt/{p-37f5036b.entry.js → p-49834b8e.entry.js} +1 -1
  74. package/dist/cobalt/{p-54c987d7.entry.js → p-5a3e4c81.entry.js} +1 -1
  75. package/dist/cobalt/p-5c756787.entry.js +1 -0
  76. package/dist/cobalt/{p-27a7e549.entry.js → p-67f3b9d6.entry.js} +1 -1
  77. package/dist/cobalt/{p-bd683db3.entry.js → p-6a4f3179.entry.js} +1 -1
  78. package/dist/cobalt/{p-b565104d.entry.js → p-6dd220e0.entry.js} +1 -1
  79. package/dist/cobalt/{p-eb063cc0.entry.js → p-71cbc53c.entry.js} +1 -1
  80. package/dist/cobalt/p-72e52af7.entry.js +1 -0
  81. package/dist/cobalt/{p-50bcc76f.entry.js → p-7b5c555c.entry.js} +1 -1
  82. package/dist/cobalt/{p-10b82207.entry.js → p-8471abe2.entry.js} +1 -1
  83. package/dist/cobalt/{p-fe7e8813.entry.js → p-8530ad16.entry.js} +1 -1
  84. package/dist/cobalt/p-8a74bf7d.entry.js +1 -0
  85. package/dist/cobalt/{p-ea20f048.entry.js → p-8ebc0c12.entry.js} +1 -1
  86. package/dist/cobalt/p-8f2199ff.entry.js +1 -0
  87. package/dist/cobalt/p-9246e09c.entry.js +1 -0
  88. package/dist/cobalt/p-99a655f6.entry.js +1 -0
  89. package/dist/cobalt/{p-DOL2zACE.js → p-BAYo-RBt.js} +1 -1
  90. package/dist/cobalt/p-Ba_v-MzM.js +1 -0
  91. package/dist/cobalt/{p-Bryf3-Js.js → p-CJW9H3Gi.js} +1 -1
  92. package/dist/cobalt/p-a1b422ca.entry.js +1 -0
  93. package/dist/cobalt/p-a2462d7a.entry.js +1 -0
  94. package/dist/cobalt/p-ade07307.entry.js +1 -0
  95. package/dist/cobalt/{p-5298c030.entry.js → p-b437eff6.entry.js} +1 -1
  96. package/dist/cobalt/p-b698188c.entry.js +1 -0
  97. package/dist/cobalt/{p-6bf6bc3e.entry.js → p-b821d9de.entry.js} +1 -1
  98. package/dist/cobalt/p-bde32f8b.entry.js +1 -0
  99. package/dist/cobalt/{p-92b092db.entry.js → p-be34e447.entry.js} +1 -1
  100. package/dist/cobalt/{p-ad33c40e.entry.js → p-c30b4cb5.entry.js} +1 -1
  101. package/dist/cobalt/p-c7d7d7f7.entry.js +1 -0
  102. package/dist/cobalt/{p-aae86f96.entry.js → p-d0b2c418.entry.js} +1 -1
  103. package/dist/cobalt/p-d375014b.entry.js +1 -0
  104. package/dist/cobalt/p-eadfd661.entry.js +1 -0
  105. package/dist/cobalt/p-ee149fd2.entry.js +1 -0
  106. package/dist/cobalt/p-ef301976.entry.js +1 -0
  107. package/dist/cobalt/{p-fd150cc6.entry.js → p-f7eb1a40.entry.js} +1 -1
  108. package/dist/cobalt/p-f9a7b7c6.entry.js +1 -0
  109. package/dist/cobalt/{p-f68dd124.entry.js → p-fb2d1144.entry.js} +1 -1
  110. package/dist/collection/components/co-accordion/co-accordion.css +11 -4
  111. package/dist/collection/components/co-accordion/co-accordion.js +37 -6
  112. package/dist/collection/components/co-action-bar/co-action-bar.css +9 -2
  113. package/dist/collection/components/co-audio-player/co-audio-player.js +138 -12
  114. package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
  115. package/dist/collection/components/co-avatar/co-avatar.css +22 -1
  116. package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
  117. package/dist/collection/components/co-button/co-button.css +15 -3
  118. package/dist/collection/components/co-calendar/co-calendar.css +10 -4
  119. package/dist/collection/components/co-calendar/co-calendar.js +6 -2
  120. package/dist/collection/components/co-checkbox/co-checkbox.js +22 -3
  121. package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
  122. package/dist/collection/components/co-color-picker/co-color-picker.js +40 -10
  123. package/dist/collection/components/co-combobox/co-combobox.js +1 -1
  124. package/dist/collection/components/co-command-search/co-command-search.js +1 -1
  125. package/dist/collection/components/co-data-table/co-data-table.css +63 -2
  126. package/dist/collection/components/co-data-table/co-data-table.js +59 -4
  127. package/dist/collection/components/co-data-table/headerTruncationLogic.js +34 -0
  128. package/dist/collection/components/co-date-range-picker/co-date-range-picker.css +13 -0
  129. package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +4 -2
  130. package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +4 -43
  131. package/dist/collection/components/co-file-type-tile/co-file-type-tile.utils.js +55 -0
  132. package/dist/collection/components/co-input/co-input.js +17 -5
  133. package/dist/collection/components/co-menu-item/co-menu-item.css +9 -0
  134. package/dist/collection/components/co-modal/co-modal.css +6 -0
  135. package/dist/collection/components/co-modal/co-modal.js +33 -2
  136. package/dist/collection/components/co-navbar/co-navbar.js +2 -2
  137. package/dist/collection/components/co-number-field/co-number-field.js +3 -3
  138. package/dist/collection/components/co-option-list/co-option-list.js +38 -7
  139. package/dist/collection/components/co-option-list/optionListLogic.js +31 -8
  140. package/dist/collection/components/co-overlay/co-overlay.js +1 -1
  141. package/dist/collection/components/co-page-header/co-page-header.js +1 -1
  142. package/dist/collection/components/co-phone-field/co-phone-field.js +5 -5
  143. package/dist/collection/components/co-popover/co-popover.js +1 -1
  144. package/dist/collection/components/co-progress-bar/co-progress-bar.js +2 -2
  145. package/dist/collection/components/co-progress-circle/co-progress-circle.js +2 -2
  146. package/dist/collection/components/co-radio/co-radio.js +3 -3
  147. package/dist/collection/components/co-radio-group/co-radio-group.js +1 -1
  148. package/dist/collection/components/co-rating/co-rating.js +3 -3
  149. package/dist/collection/components/co-ref-field/co-ref-field.css +40 -0
  150. package/dist/collection/components/co-ref-field/co-ref-field.js +207 -11
  151. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.css +22 -0
  152. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +48 -8
  153. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.css +52 -0
  154. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +25 -2
  155. package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.css +5 -0
  156. package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.js +17 -1
  157. package/dist/collection/components/co-row/co-row.js +2 -2
  158. package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +1 -1
  159. package/dist/collection/components/co-select/co-select.js +28 -9
  160. package/dist/collection/components/co-separator/co-separator.js +1 -1
  161. package/dist/collection/components/co-sidebar/co-sidebar.js +2 -2
  162. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +1 -1
  163. package/dist/collection/components/co-skeleton/co-skeleton.js +1 -1
  164. package/dist/collection/components/co-slider/co-slider.js +2 -2
  165. package/dist/collection/components/co-switch/co-switch.js +3 -3
  166. package/dist/collection/components/co-tab/co-tab.js +2 -2
  167. package/dist/collection/components/co-tab-group/co-tab-group.js +2 -2
  168. package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
  169. package/dist/collection/components/co-textarea/co-textarea.js +4 -4
  170. package/dist/collection/components/co-time-field/co-time-field.js +1 -1
  171. package/dist/collection/components/co-toast/co-toast.js +2 -2
  172. package/dist/collection/components/co-toggle-button/co-toggle-button.css +6 -5
  173. package/dist/collection/components/co-toggle-button/co-toggle-button.js +2 -2
  174. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.css +9 -5
  175. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +2 -2
  176. package/dist/collection/components/co-tooltip/co-tooltip.js +2 -2
  177. package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
  178. package/dist/collection/components/co-video/co-video.js +2 -2
  179. package/dist/collection/utils/normalizeText.js +43 -0
  180. package/dist/components/co-accordion.js +1 -1
  181. package/dist/components/co-action-bar.js +1 -1
  182. package/dist/components/co-audio-player.js +1 -1
  183. package/dist/components/co-autocomplete.js +1 -1
  184. package/dist/components/co-avatar-group.js +1 -1
  185. package/dist/components/co-avatar.js +1 -1
  186. package/dist/components/co-button.js +1 -1
  187. package/dist/components/co-calendar-month.js +1 -1
  188. package/dist/components/co-calendar-timegrid.js +1 -1
  189. package/dist/components/co-calendar.js +1 -1
  190. package/dist/components/co-checkbox.js +1 -1
  191. package/dist/components/co-color-picker.js +1 -1
  192. package/dist/components/co-column-picker.js +1 -1
  193. package/dist/components/co-combobox.js +1 -1
  194. package/dist/components/co-command-search.js +1 -1
  195. package/dist/components/co-data-table.js +1 -1
  196. package/dist/components/co-date-picker.js +1 -1
  197. package/dist/components/co-date-range-picker.js +1 -1
  198. package/dist/components/co-date-range.js +1 -1
  199. package/dist/components/co-date-time-picker.js +1 -1
  200. package/dist/components/co-drawer.js +1 -1
  201. package/dist/components/co-drive-card.js +1 -1
  202. package/dist/components/co-emoji-picker.js +1 -1
  203. package/dist/components/co-event-calendar.js +1 -1
  204. package/dist/components/co-file-field.js +1 -1
  205. package/dist/components/co-file-type-tile.js +1 -1
  206. package/dist/components/co-input.js +1 -1
  207. package/dist/components/co-lightbox.js +1 -1
  208. package/dist/components/co-list-item.js +1 -1
  209. package/dist/components/co-menu-item.js +1 -1
  210. package/dist/components/co-modal.js +1 -1
  211. package/dist/components/co-navbar.js +1 -1
  212. package/dist/components/co-number-field.js +1 -1
  213. package/dist/components/co-option-list.js +1 -1
  214. package/dist/components/co-overlay.js +1 -1
  215. package/dist/components/co-page-header.js +1 -1
  216. package/dist/components/co-phone-field.js +1 -1
  217. package/dist/components/co-progress-bar.js +1 -1
  218. package/dist/components/co-progress-circle.js +1 -1
  219. package/dist/components/co-radio.js +1 -1
  220. package/dist/components/co-rating.js +1 -1
  221. package/dist/components/co-ref-field.js +1 -1
  222. package/dist/components/co-rich-text-editor.js +1 -1
  223. package/dist/components/co-rich-text-toolbar.js +1 -1
  224. package/dist/components/co-rich-text-viewer.js +1 -1
  225. package/dist/components/co-row.js +1 -1
  226. package/dist/components/co-select.js +1 -1
  227. package/dist/components/co-separator.js +1 -1
  228. package/dist/components/co-sidebar-nav.js +1 -1
  229. package/dist/components/co-sidebar.js +1 -1
  230. package/dist/components/co-skeleton.js +1 -1
  231. package/dist/components/co-slider.js +1 -1
  232. package/dist/components/co-switch.js +1 -1
  233. package/dist/components/co-tab-group.js +1 -1
  234. package/dist/components/co-tab.js +1 -1
  235. package/dist/components/co-tags-field.js +1 -1
  236. package/dist/components/co-textarea.js +1 -1
  237. package/dist/components/co-time-field.js +1 -1
  238. package/dist/components/co-toggle-button-group.js +1 -1
  239. package/dist/components/co-toggle-button.js +1 -1
  240. package/dist/components/co-tooltip.js +1 -1
  241. package/dist/components/co-video.js +1 -1
  242. package/dist/components/{p-CXPRaTuo.js → p-2EOI1nrz.js} +1 -1
  243. package/dist/components/p-7TncUlLN.js +1 -0
  244. package/dist/components/{p-DOL2zACE.js → p-BAYo-RBt.js} +1 -1
  245. package/dist/components/p-Ba_v-MzM.js +1 -0
  246. package/dist/components/p-BhCVadcA.js +1 -0
  247. package/dist/components/p-BrAFTkAn.js +1 -0
  248. package/dist/components/{p-DIo66nBr.js → p-Bsh0JMGf.js} +1 -1
  249. package/dist/components/{p-x4grh-eZ.js → p-CBTGN490.js} +1 -1
  250. package/dist/components/{p-Bryf3-Js.js → p-CJW9H3Gi.js} +1 -1
  251. package/dist/components/p-CWCYYQrF.js +1 -0
  252. package/dist/components/p-D7Lhxz7L.js +1 -0
  253. package/dist/components/{p-BxP8OBw6.js → p-DFlJMEJ-.js} +1 -1
  254. package/dist/components/p-DTPYZwaZ.js +1 -0
  255. package/dist/components/{p-Be_kyNRE.js → p-Dc_Kbari.js} +1 -1
  256. package/dist/components/{p-B1QFLcY9.js → p-Dcg4krSX.js} +1 -1
  257. package/dist/components/p-DrTRB8Ev.js +1 -0
  258. package/dist/components/{p-BBP5__CY.js → p-DvR45CLa.js} +1 -1
  259. package/dist/components/{p-CnX3L8aF.js → p-DxtNejr2.js} +1 -1
  260. package/dist/components/{p-DkDTmHCg.js → p-Nt4JJxbL.js} +1 -1
  261. package/dist/components/{p-Bv6U5y3d.js → p-uxdXViMV.js} +1 -1
  262. package/dist/esm/co-accordion.entry.js +33 -4
  263. package/dist/esm/co-action-bar.entry.js +1 -1
  264. package/dist/esm/co-audio-player.entry.js +82 -12
  265. package/dist/esm/co-avatar.entry.js +70 -0
  266. package/dist/esm/co-button.entry.js +1 -1
  267. package/dist/esm/co-calendar_3.entry.js +7 -3
  268. package/dist/esm/co-checkbox.entry.js +3 -3
  269. package/dist/esm/co-chip_2.entry.js +68 -14
  270. package/dist/esm/co-color-picker.entry.js +40 -10
  271. package/dist/esm/co-column-picker.entry.js +1 -1
  272. package/dist/esm/co-combobox.entry.js +1 -1
  273. package/dist/esm/co-command-search.entry.js +1 -1
  274. package/dist/esm/co-data-table.entry.js +82 -4
  275. package/dist/esm/co-date-range-picker.entry.js +3 -1
  276. package/dist/esm/co-emoji-picker.entry.js +1 -1
  277. package/dist/esm/co-file-type-tile.entry.js +23 -7
  278. package/dist/esm/co-input.entry.js +6 -2
  279. package/dist/esm/co-menu-item.entry.js +1 -1
  280. package/dist/esm/co-modal.entry.js +7 -3
  281. package/dist/esm/co-navbar.entry.js +2 -2
  282. package/dist/esm/co-number-field.entry.js +3 -3
  283. package/dist/esm/co-overlay.entry.js +1 -1
  284. package/dist/esm/co-page-header.entry.js +1 -1
  285. package/dist/esm/co-phone-field.entry.js +5 -5
  286. package/dist/esm/co-progress-bar.entry.js +2 -2
  287. package/dist/esm/co-progress-circle.entry.js +2 -2
  288. package/dist/esm/co-provider-logo_2.entry.js +1 -1
  289. package/dist/esm/co-radio.entry.js +3 -3
  290. package/dist/esm/co-rating.entry.js +3 -3
  291. package/dist/esm/co-ref-field.entry.js +100 -9
  292. package/dist/esm/co-rich-text-editor.entry.js +30 -10
  293. package/dist/esm/co-rich-text-toolbar.entry.js +5 -2
  294. package/dist/esm/co-rich-text-viewer.entry.js +19 -3
  295. package/dist/esm/co-row.entry.js +2 -2
  296. package/dist/esm/co-select.entry.js +8 -8
  297. package/dist/esm/co-separator.entry.js +1 -1
  298. package/dist/esm/co-sidebar-nav.entry.js +1 -1
  299. package/dist/esm/co-sidebar.entry.js +2 -2
  300. package/dist/esm/co-slider.entry.js +2 -2
  301. package/dist/esm/co-switch.entry.js +3 -3
  302. package/dist/esm/co-tab-group.entry.js +2 -2
  303. package/dist/esm/co-tab.entry.js +2 -2
  304. package/dist/esm/co-tags-field.entry.js +5 -5
  305. package/dist/esm/co-textarea.entry.js +4 -4
  306. package/dist/esm/co-time-field.entry.js +1 -1
  307. package/dist/esm/co-toggle-button-group.entry.js +3 -3
  308. package/dist/esm/co-toggle-button.entry.js +3 -3
  309. package/dist/esm/{co-avatar_2.entry.js → co-tooltip.entry.js} +3 -70
  310. package/dist/esm/co-video.entry.js +2 -2
  311. package/dist/esm/cobalt.js +1 -1
  312. package/dist/esm/{index-68iUQp5j.js → index-BBIYyvq-.js} +6717 -6654
  313. package/dist/esm/index-DH5lfRNj.js +16 -12
  314. package/dist/esm/loader.js +1 -1
  315. package/dist/esm/{normalizeText-CQY6Ul7q.js → normalizeText-Ba_v-MzM.js} +29 -18
  316. package/dist/esm/{toolbar-config-DOL2zACE.js → toolbar-config-BAYo-RBt.js} +13 -1
  317. package/dist/types/components/co-accordion/co-accordion.d.ts +17 -2
  318. package/dist/types/components/co-audio-player/co-audio-player.d.ts +25 -0
  319. package/dist/types/components/co-checkbox/co-checkbox.d.ts +4 -0
  320. package/dist/types/components/co-color-picker/co-color-picker.d.ts +4 -2
  321. package/dist/types/components/co-data-table/co-data-table.d.ts +15 -0
  322. package/dist/types/components/co-data-table/headerTruncationLogic.d.ts +24 -0
  323. package/dist/types/components/co-file-type-tile/co-file-type-tile.utils.d.ts +12 -0
  324. package/dist/types/components/co-input/co-input.d.ts +5 -1
  325. package/dist/types/components/co-modal/co-modal.d.ts +10 -0
  326. package/dist/types/components/co-option-list/co-option-list.d.ts +13 -0
  327. package/dist/types/components/co-option-list/optionListLogic.d.ts +23 -6
  328. package/dist/types/components/co-ref-field/co-ref-field.d.ts +38 -0
  329. package/dist/types/components/co-rich-text-editor/co-rich-text-editor.d.ts +7 -0
  330. package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +4 -1
  331. package/dist/types/components/co-select/co-select.d.ts +6 -0
  332. package/dist/types/components.d.ts +120 -14
  333. package/dist/types/utils/normalizeText.d.ts +13 -0
  334. package/package.json +2 -2
  335. package/dist/cobalt/p-15d59169.entry.js +0 -1
  336. package/dist/cobalt/p-1788aab5.entry.js +0 -1
  337. package/dist/cobalt/p-20a39218.entry.js +0 -1
  338. package/dist/cobalt/p-3cc3ff93.entry.js +0 -1
  339. package/dist/cobalt/p-4908f33f.entry.js +0 -1
  340. package/dist/cobalt/p-63825d7f.entry.js +0 -1
  341. package/dist/cobalt/p-66b11b38.entry.js +0 -1
  342. package/dist/cobalt/p-6f700f0d.entry.js +0 -1
  343. package/dist/cobalt/p-83a9a05a.entry.js +0 -1
  344. package/dist/cobalt/p-85501c6a.entry.js +0 -1
  345. package/dist/cobalt/p-88195a63.entry.js +0 -1
  346. package/dist/cobalt/p-8fa5dc4a.entry.js +0 -1
  347. package/dist/cobalt/p-CQY6Ul7q.js +0 -1
  348. package/dist/cobalt/p-b0c4fc71.entry.js +0 -1
  349. package/dist/cobalt/p-b1e8d69e.entry.js +0 -1
  350. package/dist/cobalt/p-b48917c9.entry.js +0 -1
  351. package/dist/cobalt/p-c124e82b.entry.js +0 -1
  352. package/dist/cobalt/p-c32c176a.entry.js +0 -1
  353. package/dist/cobalt/p-e48f4e45.entry.js +0 -1
  354. package/dist/cobalt/p-e8a2f993.entry.js +0 -1
  355. package/dist/cobalt/p-eb8691f2.entry.js +0 -1
  356. package/dist/cobalt/p-ef5ca521.entry.js +0 -1
  357. package/dist/components/p-9ceBPSd1.js +0 -1
  358. package/dist/components/p-B2IsXte7.js +0 -1
  359. package/dist/components/p-BsTO1uUA.js +0 -1
  360. package/dist/components/p-CFFDmGPS.js +0 -1
  361. package/dist/components/p-CQY6Ul7q.js +0 -1
  362. package/dist/components/p-Cl3AdEQJ.js +0 -1
  363. package/dist/components/p-HxVRXXXC.js +0 -1
  364. package/dist/components/p-vby0ITbe.js +0 -1
@@ -843,3 +843,55 @@
843
843
  border-color: var(--co-color-base-negro, #1a1a1a);
844
844
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
845
845
  }
846
+
847
+ /* ── Bottom placement (editor `toolbar-position="bottom"`) ──
848
+ The editor's toolbar row paints the separator (border-top) and the surface,
849
+ so the toolbar drops its own bottom border, background and corner rounding. */
850
+ :host([position="bottom"]) {
851
+ background: transparent;
852
+ }
853
+
854
+ :host([position="bottom"]) .co-rich-text-toolbar {
855
+ border-bottom: 0;
856
+ background: transparent;
857
+ border-radius: 0;
858
+ }
859
+
860
+ /* With the toolbar at the foot of the editor every panel that hangs off a button
861
+ (`top: 100%`) would open downwards into the viewport edge and get clipped
862
+ (suite-v2 message templates, 2026-09-17). Anchor them ABOVE the button instead;
863
+ the gap flips with them. */
864
+ :host([position="bottom"]) .co-rich-text-toolbar__popover {
865
+ top: auto;
866
+ bottom: 100%;
867
+ margin-top: 0;
868
+ margin-bottom: var(--co-spacing-xs, 4px);
869
+ }
870
+
871
+ :host([position="bottom"]) .co-rich-text-toolbar__dropdown {
872
+ top: auto;
873
+ bottom: 100%;
874
+ margin-top: 0;
875
+ margin-bottom: var(--co-spacing-xs, 4px);
876
+ }
877
+
878
+ :host([position="bottom"]) .co-rich-text-toolbar__color-picker {
879
+ top: auto;
880
+ bottom: 100%;
881
+ margin-top: 0;
882
+ margin-bottom: var(--co-spacing-xs, 4px);
883
+ }
884
+
885
+ :host([position="bottom"]) .co-rich-text-toolbar__table-picker {
886
+ top: auto;
887
+ bottom: 100%;
888
+ margin-top: 0;
889
+ margin-bottom: var(--co-spacing-xs, 4px);
890
+ }
891
+
892
+ :host([position="bottom"]) .co-rich-text-toolbar__listpicker {
893
+ top: auto;
894
+ bottom: 100%;
895
+ margin-top: 0;
896
+ margin-bottom: var(--co-spacing-xs, 4px);
897
+ }
@@ -14,6 +14,9 @@ export class CoRichTextToolbar {
14
14
  constructor() {
15
15
  /** Toolbar layout variant. */
16
16
  this.variant = 'basic';
17
+ /** Placement inside co-rich-text-editor. `bottom` drops the toolbar's own bottom
18
+ * border/background/rounding: the editor's toolbar row paints the separator. */
19
+ this.position = 'top';
17
20
  this.disabled = false;
18
21
  /** BCP-47 locale for UI strings (e.g. 'en', 'es-CO', 'pt-BR'). Default English. */
19
22
  this.locale = 'en';
@@ -1143,8 +1146,8 @@ export class CoRichTextToolbar {
1143
1146
  "type": "string",
1144
1147
  "mutable": false,
1145
1148
  "complexType": {
1146
- "original": "'none' | 'compact' | 'compact-assets' | 'basic' | 'notes' | 'full'",
1147
- "resolved": "\"basic\" | \"compact\" | \"compact-assets\" | \"full\" | \"none\" | \"notes\"",
1149
+ "original": "'none' | 'compact' | 'compact-assets' | 'basic' | 'notes' | 'email' | 'full'",
1150
+ "resolved": "\"basic\" | \"compact\" | \"compact-assets\" | \"email\" | \"full\" | \"none\" | \"notes\"",
1148
1151
  "references": {}
1149
1152
  },
1150
1153
  "required": false,
@@ -1159,6 +1162,26 @@ export class CoRichTextToolbar {
1159
1162
  "attribute": "variant",
1160
1163
  "defaultValue": "'basic'"
1161
1164
  },
1165
+ "position": {
1166
+ "type": "string",
1167
+ "mutable": false,
1168
+ "complexType": {
1169
+ "original": "'top' | 'bottom'",
1170
+ "resolved": "\"bottom\" | \"top\"",
1171
+ "references": {}
1172
+ },
1173
+ "required": false,
1174
+ "optional": false,
1175
+ "docs": {
1176
+ "tags": [],
1177
+ "text": "Placement inside co-rich-text-editor. `bottom` drops the toolbar's own bottom\nborder/background/rounding: the editor's toolbar row paints the separator."
1178
+ },
1179
+ "getter": false,
1180
+ "setter": false,
1181
+ "reflect": true,
1182
+ "attribute": "position",
1183
+ "defaultValue": "'top'"
1184
+ },
1162
1185
  "disabled": {
1163
1186
  "type": "boolean",
1164
1187
  "mutable": false,
@@ -33,6 +33,11 @@
33
33
  font-weight: 600;
34
34
  line-height: 1.3;
35
35
  }
36
+ /* Misma escala que el editor (co-rich-text-editor.css, .ProseMirror h1-h3):
37
+ sin esto el UA deja h1-h3 en em relativos y h4 en 1em = tamaño del cuerpo. */
38
+ .co-rich-text-viewer h1 { font-size: var(--co-font-size-28, 28px); }
39
+ .co-rich-text-viewer h2 { font-size: var(--co-font-size-20, 20px); }
40
+ .co-rich-text-viewer h3 { font-size: var(--co-font-size-16, 16px); }
36
41
 
37
42
  .co-rich-text-viewer ul,
38
43
  .co-rich-text-viewer ol {
@@ -12,7 +12,9 @@ import DOMPurify from "dompurify";
12
12
  * @part empty - The empty-state element
13
13
  */
14
14
  const ALLOWED_TAGS = {
15
- comment: ['p', 'br', 'strong', 'em', 'a', 'span'],
15
+ // Espejo de SANITIZE_CONFIGS.comment (rich-text/sanitizer.ts): más ancho que
16
+ // el schema del editor a propósito — el viewer pinta HTML de integraciones.
17
+ comment: ['p', 'br', 'strong', 'em', 'a', 'span', 'ul', 'ol', 'li', 'h1', 'h2', 'h3', 'h4'],
16
18
  task: ['p', 'br', 'strong', 'em', 'a', 'span', 'u', 's', 'code', 'ul', 'ol', 'li', 'blockquote'],
17
19
  notes: ['p', 'br', 'strong', 'em', 'a', 'span', 'u', 's', 'code', 'ul', 'ol', 'li', 'blockquote', 'mark'],
18
20
  email: ['p', 'br', 'strong', 'em', 'a', 'span', 'u', 's', 'code', 'ul', 'ol', 'li', 'blockquote', 'h2', 'h3', 'div', 'img'],
@@ -55,6 +57,19 @@ export class CoRichTextViewer {
55
57
  }
56
58
  sanitizeHtml(html) {
57
59
  var _a, _b;
60
+ // Links externos SIEMPRE en pestaña nueva: el viewer conservaba target/rel si
61
+ // venían (los estampa el editor) pero nunca los agregaba, y el HTML de correos
62
+ // entrantes llega pelado → navegaba en la misma pestaña y tiraba la SPA
63
+ // (2026-09-18). Solo http(s); mailto:/tel: se dejan al navegador.
64
+ DOMPurify.addHook('afterSanitizeAttributes', (node) => {
65
+ if (node.tagName !== 'A')
66
+ return;
67
+ const href = node.getAttribute('href') || '';
68
+ if (!/^https?:\/\//i.test(href))
69
+ return;
70
+ node.setAttribute('target', '_blank');
71
+ node.setAttribute('rel', 'noopener noreferrer nofollow');
72
+ });
58
73
  DOMPurify.addHook('uponSanitizeElement', (node, data) => {
59
74
  var _a, _b;
60
75
  // Only allow <input type="checkbox"> (task list checkboxes); strip others.
@@ -92,6 +107,7 @@ export class CoRichTextViewer {
92
107
  }
93
108
  finally {
94
109
  DOMPurify.removeHook('uponSanitizeElement');
110
+ DOMPurify.removeHook('afterSanitizeAttributes');
95
111
  }
96
112
  }
97
113
  async compute() {
@@ -13,11 +13,11 @@ export class CoRow {
13
13
  this.size = 'sm';
14
14
  }
15
15
  render() {
16
- return (h("div", { key: 'cf40ecb8896089a87f527be917396d1f01057cec', class: {
16
+ return (h("div", { key: '415d9d352b0129f2e05182f0a928843fdb6b6321', class: {
17
17
  'co-row': true,
18
18
  [`co-row--${this.position}`]: true,
19
19
  [`co-row--${this.size}`]: true,
20
- }, part: "row" }, h("div", { key: '8d24887fb9704673fe0facfaabd792ca455bd479', class: "co-row__prefix" }, h("slot", { key: 'd2546cc155fe508f8f2a7eba580a99e370e82887', name: "prefix" })), h("div", { key: '5e6c33efacc0dde29f202a09c664294ad7524572', class: "co-row__content" }, h("slot", { key: '5efffa62218f021f439ad12eba00cb1479ccfc58' })), h("div", { key: '42cc9c00f8ca199e4e29ac8e2f6b6b585c2b3a99', class: "co-row__suffix" }, h("slot", { key: '3389e9ef5a2914629a7c2d1246d37c5fa956be33', name: "suffix" }))));
20
+ }, part: "row" }, h("div", { key: 'af23c875f523e15a4891a7897ae76853d358f692', class: "co-row__prefix" }, h("slot", { key: 'fd3a54d31942ecd10e889f2691c1f6e2d94d2cf3', name: "prefix" })), h("div", { key: '884cad8bde957327b7814b03084da51bfeedb1e4', class: "co-row__content" }, h("slot", { key: 'aedd965fd4ef93597b02e5714fec0b19837544c8' })), h("div", { key: '228cb0a116920be271cc8969591cbe0c1ca8f9b9', class: "co-row__suffix" }, h("slot", { key: 'dee6339445cfe8fdb7a1adf82d795c16e7a16be3', name: "suffix" }))));
21
21
  }
22
22
  static get is() { return "co-row"; }
23
23
  static get encapsulation() { return "shadow"; }
@@ -154,7 +154,7 @@ export class CoSegmentedBar {
154
154
  "references": {
155
155
  "CoSegment": {
156
156
  "location": "local",
157
- "path": "/Users/agox/Documents/Prolibu/prolibu-cobalt/packages/core/src/components/co-segmented-bar/co-segmented-bar.tsx",
157
+ "path": "/Users/agox/worktrees/cobalt-release-2026-09-18/packages/core/src/components/co-segmented-bar/co-segmented-bar.tsx",
158
158
  "id": "src/components/co-segmented-bar/co-segmented-bar.tsx::CoSegment"
159
159
  }
160
160
  }
@@ -1,7 +1,7 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { RequiredMark } from "../../utils/requiredMark";
3
3
  import { OverlayScrollbars } from "overlayscrollbars";
4
- import { highlightMatch, rankByMatch } from "../../utils/normalizeText";
4
+ import { highlightSegments, rankByMatch } from "../../utils/normalizeText";
5
5
  export class CoSelect {
6
6
  constructor() {
7
7
  /** Whether the field is required (renders a required marker on the label). */
@@ -443,10 +443,10 @@ export class CoSelect {
443
443
  }
444
444
  /** Option label with the matched substring wrapped for highlighting. */
445
445
  renderLabel(label) {
446
- const seg = this.searchable && this.searchText ? highlightMatch(label, this.searchText) : null;
447
- if (!seg)
446
+ const segs = this.searchable && this.searchText ? highlightSegments(label, this.searchText) : null;
447
+ if (!segs)
448
448
  return label;
449
- return [seg.pre, h("span", { class: "co-select__match" }, seg.match), seg.post];
449
+ return segs.map((s) => (s.match ? h("span", { class: "co-select__match" }, s.text) : s.text));
450
450
  }
451
451
  getVirtualSlice(items) {
452
452
  const { ITEM_HEIGHT, VIEWPORT_ITEMS, OVERSCAN } = CoSelect;
@@ -468,20 +468,20 @@ export class CoSelect {
468
468
  const activeOptionId = this.isOpen && this.activeIndex >= 0 && this.activeIndex < options.length
469
469
  ? this.optionId(this.activeIndex)
470
470
  : undefined;
471
- return (h("div", { key: '0305b0465d53217480a9c8eb7a7f8eb9f1a6d01e', class: {
471
+ return (h("div", { key: '902da0519e9fe96401f5339a3b46a66c94efd3de', class: {
472
472
  'co-select': true,
473
473
  'co-select--open': this.isOpen,
474
474
  'co-select--disabled': this.disabled,
475
475
  [`co-select--${this.size}`]: true,
476
476
  [`co-select--${this.status}`]: this.status !== 'default',
477
477
  'co-select--flat': this.variant === 'flat',
478
- } }, (this.label || this.secondaryLabel) && (h("div", { key: '7b13a836b8124f62b711481c35fe0efa7be01ee2', class: "co-select__labels" }, this.label && h("label", { key: 'a05933f160d3b48cf746fda1a01195e99fca94bc', class: "co-select__label" }, this.label, h(RequiredMark, { key: 'd71397f773f28a1f8a224587a5c4e67bd5f80d41', required: this.required })), this.secondaryLabel && h("span", { key: '26cb193f44b4e57395d305a54044d2e54f925963', class: "co-select__secondary-label" }, this.secondaryLabel))), h("co-popover", { key: '7becd47bbac023383cfa3f0f2a5cef15d12d7510', open: this.isOpen, placement: "bottom-start", matchWidth: true, offset: 4, onCoOpen: this.handlePopoverOpen, onCoClose: this.handlePopoverClose }, h("div", { key: 'e93a10d03648cb510b27d80b9cf665724827d9c0', slot: "trigger", class: "co-select__trigger", role: "combobox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-label": this.label || undefined, "aria-disabled": this.disabled ? 'true' : undefined, "aria-controls": CoSelect.LISTBOX_ID, "aria-activedescendant": activeOptionId, tabIndex: this.disabled ? -1 : 0, ref: (el) => (this.triggerEl = el), onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, this.iconLeft && h("co-icon", { key: '837f075fcae3b2bd11c4f5199591fdb4e840518c', name: this.iconLeft, size: 16, class: "co-select__icon" }), ((_a = this.selectedOption) === null || _a === void 0 ? void 0 : _a.image) && (h("img", { key: 'b7d067c82372fb525132a1079332aac6fd7e77d5', class: "co-select__flag", src: this.selectedOption.image, alt: "" })), this.multiple && this.hasValue ? (h("div", { class: "co-select__chips" }, this.selectedValues.map((v) => {
478
+ } }, (this.label || this.secondaryLabel) && (h("div", { key: '3faf027e94d30728d7715ebca758eb0d9cb41bc9', class: "co-select__labels" }, this.label && h("label", { key: 'a7267986158eae66be547356482df079e3670d44', class: "co-select__label" }, this.label, h(RequiredMark, { key: '5eaca0cfade91041b33edd07e648b1e22cb875f3', required: this.required })), this.secondaryLabel && h("span", { key: '3561fb5297dde4c128e9c888cdd00546c5e1b4c3', class: "co-select__secondary-label" }, this.secondaryLabel))), h("co-popover", { key: '63fc16eefafcb8ef870aba457be9e00f5dce6f32', open: this.isOpen, placement: "bottom-start", matchWidth: true, offset: 4, onCoOpen: this.handlePopoverOpen, onCoClose: this.handlePopoverClose }, h("div", { key: '6056ec2a5d85df9d8361f4b78f12eec6e2fe7749', slot: "trigger", class: "co-select__trigger", role: "combobox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-label": this.label || this.ariaLabelText || undefined, "aria-disabled": this.disabled ? 'true' : undefined, "aria-controls": CoSelect.LISTBOX_ID, "aria-activedescendant": activeOptionId, tabIndex: this.disabled ? -1 : 0, ref: (el) => (this.triggerEl = el), onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, this.iconLeft && h("co-icon", { key: '8877e366eba45e073a3481e7b86408763e103f6c', name: this.iconLeft, size: 16, class: "co-select__icon" }), ((_a = this.selectedOption) === null || _a === void 0 ? void 0 : _a.image) && (h("img", { key: '4f964e48dafff76a9fe04ed381b1f11113e351d6', class: "co-select__flag", src: this.selectedOption.image, alt: "" })), this.multiple && this.hasValue ? (h("div", { class: "co-select__chips" }, this.selectedValues.map((v) => {
479
479
  const opt = this.parsedOptions.find((o) => o.value === v);
480
480
  return (h("span", { class: "co-select__chip", key: v }, h("span", { class: "co-select__chip-label" }, opt ? opt.label : v), h("button", { class: "co-select__chip-remove", type: "button", tabIndex: -1, "aria-label": "Remove", onClick: (e) => {
481
481
  e.stopPropagation();
482
482
  this.handleOptionClick(v);
483
483
  } }, h("co-icon", { name: "x", size: 12 }))));
484
- }))) : (h("span", { class: { 'co-select__text': true, 'co-select__text--placeholder': !this.hasValue } }, this.hasValue ? this.displayText : this.placeholder)), this.clearable && this.hasValue && !this.disabled && (h("button", { key: 'e9444409fcba6b16d6ff520b3c2632456d2604a2', class: "co-select__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: '34df04cf14b9e7c56f7244a00263c2182094b61c', name: "x-circle", size: 16, weight: "fill" }))), h("co-icon", { key: 'f9c02e5d08b8ffb30cd8ef8d5ca6c30fa5d21280', name: this.isOpen ? 'caret-up' : 'caret-down', size: 16, class: "co-select__caret" })), h("div", { key: 'cdd17b6eef07e54ce1d8cdd2b48d055f18c24d9e', class: "co-select__dropdown" }, this.isOpen && this.searchable && (h("div", { key: '743f19477657f1cfadbf1e8c9ddba9fa1dc439b8', class: "co-select__search" }, h("co-icon", { key: 'd7e2518a33ad48306041c8f85994c446960718e1', name: "magnifying-glass", size: 16, class: "co-select__search-icon" }), h("input", { key: '4e928b2bb41fac16e410c42217629ede0441e335', class: "co-select__search-input", type: "text", placeholder: this.searchPlaceholder, value: this.searchText, "aria-controls": CoSelect.LISTBOX_ID, "aria-activedescendant": activeOptionId, onInput: this.handleSearchInput, onKeyDown: this.handleNavKeyDown, ref: (el) => (this.searchInputEl = el) }))), this.isOpen && this.searchable && options.length === 0 && (h("div", { key: '27a8c9cd56b398f6e8f9c0cc66dee5ee8df3b9ed', class: "co-select__empty" }, this.emptyText)), h("div", { key: 'b6275f538ac6b92d3ee3c7f40dfcdd8468ce6d98', class: "co-select__options", id: CoSelect.LISTBOX_ID, role: "listbox", "aria-multiselectable": this.multiple ? 'true' : undefined, ref: (el) => (this.optionsContainerEl = el) }, this.isOpen && (() => {
484
+ }))) : (h("span", { class: { 'co-select__text': true, 'co-select__text--placeholder': !this.hasValue } }, this.hasValue ? this.displayText : this.placeholder)), this.clearable && this.hasValue && !this.disabled && (h("button", { key: '55a94e3d877ec0c50ae4ce544774c6e4330b5f5e', class: "co-select__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: 'b452121827aa8b2f341396b3376e82728bee5276', name: "x-circle", size: 16, weight: "fill" }))), h("co-icon", { key: '0ebc5a451bcb3f2f95a63ab600157e27cb445a9b', name: this.isOpen ? 'caret-up' : 'caret-down', size: 16, class: "co-select__caret" })), h("div", { key: '92b18226a02de73cbd245ab6827c3f5593aa08fc', class: "co-select__dropdown" }, this.isOpen && this.searchable && (h("div", { key: '68aec7a4ced328a00a1185078edbbfe4820d6582', class: "co-select__search" }, h("co-icon", { key: '1aa322cf22d4824bf6d2012b6dfc4e856360502a', name: "magnifying-glass", size: 16, class: "co-select__search-icon" }), h("input", { key: '62ec52d3369334f83709bc5219d5b3ca040c3ccb', class: "co-select__search-input", type: "text", placeholder: this.searchPlaceholder, value: this.searchText, "aria-controls": CoSelect.LISTBOX_ID, "aria-activedescendant": activeOptionId, onInput: this.handleSearchInput, onKeyDown: this.handleNavKeyDown, ref: (el) => (this.searchInputEl = el) }))), this.isOpen && this.searchable && options.length === 0 && (h("div", { key: '86613208aa94d79b6aa503a6ed53c010cc1ba1f9', class: "co-select__empty" }, this.emptyText)), h("div", { key: 'a6b1f09abfbfb0171094079c3da7ac89764eb00f', class: "co-select__options", id: CoSelect.LISTBOX_ID, role: "listbox", "aria-multiselectable": this.multiple ? 'true' : undefined, ref: (el) => (this.optionsContainerEl = el) }, this.isOpen && (() => {
485
485
  const { totalHeight, startIdx, endIdx, offsetY } = this.getVirtualSlice(options);
486
486
  return (
487
487
  // Los wrappers del virtualizador van `presentation` para que las
@@ -497,7 +497,7 @@ export class CoSelect {
497
497
  'co-select__option--active': index === this.activeIndex,
498
498
  }, onClick: () => !isDisabled && this.handleOptionClick(opt.value) }, opt.image ? (h("img", { class: "co-select__option-flag", src: opt.image, alt: "", loading: "lazy" })) : opt.icon ? (h("co-icon", { name: opt.icon, size: 20, class: "co-select__option-icon" })) : null, h("span", { class: "co-select__option-label" }, this.renderLabel(opt.label)), isSelected && h("co-icon", { name: "check", size: 16, class: "co-select__option-check" })));
499
499
  }))));
500
- })()), this.isOpen && this.showFooter && (h("co-list-footer", { key: 'c149c3f4f7b530c29b01f793a47a07b1a1d0987e', class: "co-select__footer", primaryLabel: this.footerPrimaryLabel, primaryIcon: "check", onCoPrimary: this.handleFooterPrimary })))), this.helperText && (h("div", { key: '3b803c16df5f825c240b8c48a4d5377b85fa1b23', class: `co-select__helper co-select__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: '5e076fb55ded68c8d2febde25aa1f6ef6fc6e445', name: this.statusIcon, size: 14, class: "co-select__helper-icon" }), h("span", { key: 'eb5d5a290f80869bf4c0eecf1b2eaa6d48145721', class: "co-select__helper-text" }, this.helperText)))));
500
+ })()), this.isOpen && this.showFooter && (h("co-list-footer", { key: '5f5d60d846092aed435e292a4652ad7016cb6aee', class: "co-select__footer", primaryLabel: this.footerPrimaryLabel, primaryIcon: "check", onCoPrimary: this.handleFooterPrimary })))), this.helperText && (h("div", { key: '72ebb3366ee45eaccce69f534611804f8f1dbc1c', class: `co-select__helper co-select__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: '2f2ad274cf521c3bd9f21d66d0fa9b7c87f7ba71', name: this.statusIcon, size: 14, class: "co-select__helper-icon" }), h("span", { key: '3e1ef4abb47a61d173e1942f5798caff97c2347e', class: "co-select__helper-text" }, this.helperText)))));
501
501
  }
502
502
  static get is() { return "co-select"; }
503
503
  static get encapsulation() { return "shadow"; }
@@ -532,6 +532,25 @@ export class CoSelect {
532
532
  "reflect": false,
533
533
  "attribute": "label"
534
534
  },
535
+ "ariaLabelText": {
536
+ "type": "string",
537
+ "mutable": false,
538
+ "complexType": {
539
+ "original": "string",
540
+ "resolved": "string | undefined",
541
+ "references": {}
542
+ },
543
+ "required": false,
544
+ "optional": true,
545
+ "docs": {
546
+ "tags": [],
547
+ "text": "Accessible name for the combobox when there is NO visible `label` (compact\nrows that drop the field label). Same `ariaLabelText` precedent as\nco-button / co-icon-button / co-fab. `label` still wins as the visible\nname; this only fills the gap \u2014 an `aria-label` on the host never crosses\nthe shadow boundary, so without it a label-less select is nameless."
548
+ },
549
+ "getter": false,
550
+ "setter": false,
551
+ "reflect": false,
552
+ "attribute": "aria-label-text"
553
+ },
535
554
  "required": {
536
555
  "type": "boolean",
537
556
  "mutable": false,
@@ -718,7 +737,7 @@ export class CoSelect {
718
737
  "references": {
719
738
  "SelectOption": {
720
739
  "location": "local",
721
- "path": "/Users/agox/Documents/Prolibu/prolibu-cobalt/packages/core/src/components/co-select/co-select.tsx",
740
+ "path": "/Users/agox/worktrees/cobalt-release-2026-09-18/packages/core/src/components/co-select/co-select.tsx",
722
741
  "id": "src/components/co-select/co-select.tsx::SelectOption"
723
742
  }
724
743
  }
@@ -57,7 +57,7 @@ export class CoSeparator {
57
57
  style['--co-separator-inset-end'] = '0px';
58
58
  }
59
59
  }
60
- return (h("hr", { key: 'e3424f147cc4168638d2ac823046351fb880ac57', class: {
60
+ return (h("hr", { key: '164044b86003ca2ed8c15a2d82cc50922dfe8313', class: {
61
61
  'co-separator': true,
62
62
  'co-separator--vertical': this.vertical,
63
63
  'co-separator--dark': this.dark,
@@ -10,10 +10,10 @@ export class CoSidebar {
10
10
  this.mode = 'full';
11
11
  }
12
12
  render() {
13
- return (h("nav", { key: 'ad5f66c721365f3a9ca2192765df243e8dea492e', class: {
13
+ return (h("nav", { key: '3d14a99c008dd92798182b04d7049c1a9fb4a00c', class: {
14
14
  'co-sidebar': true,
15
15
  [`co-sidebar--${this.mode}`]: true,
16
- }, part: "sidebar" }, h("div", { key: '45a2250516e1080f79b4a4554a0db7715c30066d', class: "co-sidebar__header", part: "header" }, h("slot", { key: '04a468d4eb6cf9bbd2acc482ba50defc4271166e', name: "header" })), h("div", { key: '730e37997945ce8bc7bc2d177beb25bbd0a1813f', class: "co-sidebar__body", part: "body" }, h("slot", { key: '22c20554c8f2d85952d43484cda5903dbf33588d' })), h("div", { key: '6bb53d0394b9107ea1553e21047d51ea5fe0f292', class: "co-sidebar__footer", part: "footer" }, h("slot", { key: '2b326d1beed32288d50ba17abad459929ed1e940', name: "footer" }))));
16
+ }, part: "sidebar" }, h("div", { key: '1bf5b8ebe9eb9836c01ac8c7b651aac8af2ebf3c', class: "co-sidebar__header", part: "header" }, h("slot", { key: 'ba0d88bf62955a61b3e2d297261b260845cbd98f', name: "header" })), h("div", { key: '793248e8020bd38e3da64e35ca8610cb85b17d4a', class: "co-sidebar__body", part: "body" }, h("slot", { key: 'a76928e89d8425846ad0859339ab35b465bf917e' })), h("div", { key: '4182d50c61913447ae78c670bba1ca1821cc763d', class: "co-sidebar__footer", part: "footer" }, h("slot", { key: 'bb20795e0acc8e1865f8b5d8568768eb5c5097ee', name: "footer" }))));
17
17
  }
18
18
  static get is() { return "co-sidebar"; }
19
19
  static get encapsulation() { return "shadow"; }
@@ -702,7 +702,7 @@ export class CoSidebarNav {
702
702
  "references": {
703
703
  "NavigateDetail": {
704
704
  "location": "local",
705
- "path": "/Users/agox/Documents/Prolibu/prolibu-cobalt/packages/core/src/components/co-sidebar-nav/co-sidebar-nav.tsx",
705
+ "path": "/Users/agox/worktrees/cobalt-release-2026-09-18/packages/core/src/components/co-sidebar-nav/co-sidebar-nav.tsx",
706
706
  "id": "src/components/co-sidebar-nav/co-sidebar-nav.tsx::NavigateDetail"
707
707
  }
708
708
  }
@@ -50,7 +50,7 @@ export class CoSkeleton {
50
50
  const style = { width: this.width };
51
51
  if (this.height)
52
52
  style.height = this.height;
53
- return (h("div", { key: '57fe9519532202bbd9b7bc29944acfd0c3b34b8d', class: {
53
+ return (h("div", { key: '744fb805939c99587c4d0b72355da54d1f5aad43', class: {
54
54
  'co-skeleton': true,
55
55
  [`co-skeleton--${this.variant}`]: true,
56
56
  'co-skeleton--revealed': this.revealed,
@@ -72,12 +72,12 @@ export class CoSlider {
72
72
  }
73
73
  render() {
74
74
  const pct = this.percentage;
75
- return (h("div", { key: '9b0393d126f0951918b8579542019448949f8537', class: {
75
+ return (h("div", { key: 'd6e0584e8c2f04f1b9a393f200a853a6acc0399c', class: {
76
76
  'co-slider': true,
77
77
  'co-slider--disabled': this.disabled,
78
78
  'co-slider--dragging': this.dragging,
79
79
  [`co-slider--${this.status}`]: this.status !== 'default',
80
- } }, (this.label || this.secondaryLabel || this.showValue) && (h("div", { key: 'e5a6e71de571099179da3fff7fad8a49f4007b58', class: "co-slider__labels" }, h("div", { key: 'e2e7b16b04ab4405efefe3c706f0b17e554e3403', class: "co-slider__labels-left" }, this.label && h("label", { key: '5bfdab322661e6a4ff23c3f51b98f92beb7f71d2', class: "co-slider__label" }, this.label), this.secondaryLabel && h("span", { key: 'badb1274cb50e9fd5aa4ffe0ecd2fcdf7e356ac5', class: "co-slider__secondary-label" }, this.secondaryLabel)), this.showValue && h("span", { key: '100c039646a494ab2311fe665dcca69ac373412c', class: "co-slider__value" }, this.value))), h("div", { key: 'cccc6eec3cb96c59fde0dd61f243b99d4dd906a5', class: "co-slider__track-wrapper", ref: el => (this.trackEl = el), onPointerDown: this.handlePointerDown }, h("div", { key: 'f2e4c77eaad6f282a8516cbecf658309d288e960', class: "co-slider__track" }, h("div", { key: 'a4b4e062c0f4fc63fe06c0f82635b7938d362872', class: "co-slider__fill", style: { width: `${pct}%` } })), h("div", { key: '82aaafcee3e10dabda359e1633d3d43cb907efef', class: "co-slider__thumb", style: { left: `${pct}%` } })), this.showMarks && (h("div", { key: 'df196b5f77697d80ba347049252f06bd941210af', class: "co-slider__marks" }, h("span", { key: '842cf8078d2ce44015bfff1ef5c6af9e81226c65', class: "co-slider__mark" }, this.min), h("span", { key: 'e9016d28e3cccb5422ee69fc420ffe8573261bb5', class: "co-slider__mark" }, this.max))), h("input", { key: 'e39cf4e0e392b19bbc69a8824b5304923690a111', class: "co-slider__native", type: "range", min: this.min, max: this.max, step: this.step, value: this.value, disabled: this.disabled, onInput: this.handleInputChange, "aria-label": this.label || 'Slider' }), this.helperText && (h("div", { key: '8f63357fba596c559f7a8844588c7c95f85c7216', class: `co-slider__helper co-slider__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: 'bd3cb81a4b8e934f97db8520566f41094b4054be', name: this.statusIcon, size: 14, weight: "fill", class: "co-slider__helper-icon" }), h("span", { key: '2840f87c55a9404b682b00be36f90807ba2e5cab', class: "co-slider__helper-text" }, this.helperText)))));
80
+ } }, (this.label || this.secondaryLabel || this.showValue) && (h("div", { key: 'a0eae621e367f1145bdd9bdde53fb024489d0812', class: "co-slider__labels" }, h("div", { key: '19e102fe586ccff3ad37bc7cd6b4dd4de5172be7', class: "co-slider__labels-left" }, this.label && h("label", { key: 'ad31ddd76acb9bf7bf25f07a7fad5206ab6eb689', class: "co-slider__label" }, this.label), this.secondaryLabel && h("span", { key: 'ccb7be2022de9d8d8ed1c7eeeac38b6d4711bd60', class: "co-slider__secondary-label" }, this.secondaryLabel)), this.showValue && h("span", { key: 'c38e8a050941184056441c94f6bcbfcc62522e62', class: "co-slider__value" }, this.value))), h("div", { key: 'c6cc971ea5dc3b4d30f8224ec359ae97a8ffa24a', class: "co-slider__track-wrapper", ref: el => (this.trackEl = el), onPointerDown: this.handlePointerDown }, h("div", { key: 'de241b0017db6f5934b2332b08b6709038379b2c', class: "co-slider__track" }, h("div", { key: '9b590f27f16839a6dba5f0e2eea7467a485f79c1', class: "co-slider__fill", style: { width: `${pct}%` } })), h("div", { key: 'c8820089a72ec566210550317233832ba84a9e0a', class: "co-slider__thumb", style: { left: `${pct}%` } })), this.showMarks && (h("div", { key: '2a40f01b836d29e453b691bc1f5f378166322e1e', class: "co-slider__marks" }, h("span", { key: '1f9dc67ca0e9c327766154a1a07a67c7e53efc68', class: "co-slider__mark" }, this.min), h("span", { key: '073c37ad99a45c05d7a0341e62ea9ed4e68d7acb', class: "co-slider__mark" }, this.max))), h("input", { key: 'fa18beabbcb2e26e86436bedc57de95f40c849f2', class: "co-slider__native", type: "range", min: this.min, max: this.max, step: this.step, value: this.value, disabled: this.disabled, onInput: this.handleInputChange, "aria-label": this.label || 'Slider' }), this.helperText && (h("div", { key: 'e8e46da2806b049d29c34620acd5cadf3abb03c8', class: `co-slider__helper co-slider__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: '1802da1ab54a283d46eca9cbb0fe0bf4a381956c', name: this.statusIcon, size: 14, weight: "fill", class: "co-slider__helper-icon" }), h("span", { key: 'ab294efdeee8c4546a83b16b55e3600f8706b2d7', class: "co-slider__helper-text" }, this.helperText)))));
81
81
  }
82
82
  static get is() { return "co-slider"; }
83
83
  static get encapsulation() { return "shadow"; }
@@ -29,16 +29,16 @@ export class CoSwitch {
29
29
  render() {
30
30
  const hasLabels = this.label || this.secondaryLabel;
31
31
  const hasHelper = !!this.helperText;
32
- return (h("div", { key: 'cf5f5cf9c86e531772cab2fc89ce7f671fac6b88', class: {
32
+ return (h("div", { key: '94410fce797382a4b25356d8b1325b5a75508d84', class: {
33
33
  'co-switch-wrapper': true,
34
34
  'co-switch-wrapper--disabled': this.disabled,
35
35
  [`co-switch-wrapper--${this.status}`]: this.status !== 'default',
36
- } }, h("div", { key: '1b4a84420f7cbf55b797c900633278226e6bb876', class: "co-switch-wrapper__row", onClick: this.handleClick }, h("button", { key: '84935bfd4332c5f75d9a55c302a215704255687e', role: "switch", "aria-checked": String(this.checked), "aria-label": this.label || '', class: {
36
+ } }, h("div", { key: '9b0d491e7e33faaa476dedd4f0e8826c4fde1249', class: "co-switch-wrapper__row", onClick: this.handleClick }, h("button", { key: '6c7cc4ece2aff5fa089271cf47908cfcbc3d5827', role: "switch", "aria-checked": String(this.checked), "aria-label": this.label || '', class: {
37
37
  'co-switch': true,
38
38
  'co-switch--on': this.checked,
39
39
  'co-switch--off': !this.checked,
40
40
  'co-switch--disabled': this.disabled,
41
- }, disabled: this.disabled, part: "track" }, h("span", { key: '5fd9ccdee226488b7bf40135310dfa8edc6f21ca', class: "co-switch__thumb", part: "thumb" })), hasLabels && (h("div", { key: '8c218d1e80fde949aaaeddb5beb82f0db903c5fd', class: "co-switch-wrapper__labels" }, this.label && h("span", { key: '8ac9fd5b3c508f1aa8d5dc68958b3503088c6573', class: "co-switch-wrapper__label", part: "label" }, this.label, h(RequiredMark, { key: '6484f45dcf71fde79d7e9b2dcb1e05736222eb43', required: this.required })), this.secondaryLabel && (h("span", { key: 'cafa4abbf0b8bab98992a1fc8450828eddf5a84e', class: "co-switch-wrapper__secondary-label", part: "secondary-label" }, this.secondaryLabel))))), hasHelper && (h("div", { key: '50b2fa3efe5f9231b334785a5fcc12976e100529', class: `co-switch-wrapper__helper co-switch-wrapper__helper--${this.status}` }, this.statusIcon && (h("co-icon", { key: 'd43268eb4c94458681cd0d29c25e63c6f228e744', name: this.statusIcon, size: 14, weight: "fill", class: "co-switch-wrapper__helper-icon" })), h("span", { key: 'dca85627fe32f4991716e5bd0d74f52ee7825159', class: "co-switch-wrapper__helper-text" }, this.helperText)))));
41
+ }, disabled: this.disabled, part: "track" }, h("span", { key: '3a55c9aa1cc925dd09ac4d2b7367f8fd627b9e19', class: "co-switch__thumb", part: "thumb" })), hasLabels && (h("div", { key: '450cf6e28979b72e7821c0fa6130333410207343', class: "co-switch-wrapper__labels" }, this.label && h("span", { key: '509f09430837fcba73ff248d80a44e8bb7e2175f', class: "co-switch-wrapper__label", part: "label" }, this.label, h(RequiredMark, { key: 'ff017ff012f698b054db7f43832e3fb94b3eec01', required: this.required })), this.secondaryLabel && (h("span", { key: 'd5d33606934cd0d69f0faa3eb8afe2c962a1f5ab', class: "co-switch-wrapper__secondary-label", part: "secondary-label" }, this.secondaryLabel))))), hasHelper && (h("div", { key: '1111d3b03f846f524b53510dd3c638db2a0d7753', class: `co-switch-wrapper__helper co-switch-wrapper__helper--${this.status}` }, this.statusIcon && (h("co-icon", { key: '0deb3c0d9e2b6a4e7a5b791b8f739ed0d1dc9f91', name: this.statusIcon, size: 14, weight: "fill", class: "co-switch-wrapper__helper-icon" })), h("span", { key: 'f769d1b5c2217f84517b58baf91b0db7952c9062', class: "co-switch-wrapper__helper-text" }, this.helperText)))));
42
42
  }
43
43
  static get is() { return "co-switch"; }
44
44
  static get encapsulation() { return "shadow"; }
@@ -21,13 +21,13 @@ export class CoTab {
21
21
  }
22
22
  render() {
23
23
  const iconSize = this.variant === 'underline' ? 16 : this.size === 'large' ? 18 : 14;
24
- return (h("button", { key: 'f569dd0913e8a6640fbbaecbf2b083e480f6f137', class: {
24
+ return (h("button", { key: '0d7312af81807baec7f7b0899d9a92186175b8eb', class: {
25
25
  'co-tab': true,
26
26
  [`co-tab--${this.size}`]: true,
27
27
  [`co-tab--${this.variant}`]: true,
28
28
  'co-tab--selected': this.selected,
29
29
  'co-tab--disabled': this.disabled,
30
- }, type: "button", role: "tab", "aria-selected": this.selected ? 'true' : 'false', disabled: this.disabled, part: "tab", onClick: this.handleClick }, this.iconLeft && (h("co-icon", { key: '8bd16fd9d62bcf85872743b4508b1d7e774564a7', name: this.iconLeft, size: iconSize })), h("span", { key: 'e2477eb4d568a14cbc2751478b193f72fe485827' }, this.label), this.badge && (h("span", { key: '8d66cc9036bb4a70ffc51b29edbd1a766e650c41', class: "co-tab__badge", part: "badge" }, this.badge)), this.iconRight && (h("co-icon", { key: 'f7e31ab5fed7cc1c1df82655f16e52efd6459c04', name: this.iconRight, size: iconSize }))));
30
+ }, type: "button", role: "tab", "aria-selected": this.selected ? 'true' : 'false', disabled: this.disabled, part: "tab", onClick: this.handleClick }, this.iconLeft && (h("co-icon", { key: '8bef8688e8ea0ce2befc12efcbe5683de02f808d', name: this.iconLeft, size: iconSize })), h("span", { key: '860469720e5396d353e0a548b9526fbf64a3ac2d' }, this.label), this.badge && (h("span", { key: 'eb9b9749b6f56a1cb98044ccd5817f016a7e9747', class: "co-tab__badge", part: "badge" }, this.badge)), this.iconRight && (h("co-icon", { key: '001337e6ec2235244be4acffb930003f02acaf47', name: this.iconRight, size: iconSize }))));
31
31
  }
32
32
  static get is() { return "co-tab"; }
33
33
  static get encapsulation() { return "shadow"; }
@@ -49,10 +49,10 @@ export class CoTabGroup {
49
49
  });
50
50
  }
51
51
  render() {
52
- return (h("div", { key: 'b4a12a70b2ea662d7560b44dee50ecdbbb9314bb', class: {
52
+ return (h("div", { key: 'f08c8fd752d5496f2699eeb3c67fa5d6dc106077', class: {
53
53
  'co-tab-group': true,
54
54
  [`co-tab-group--${this.variant}`]: true,
55
- }, role: "tablist", part: "tab-group", onWheel: this.onWheel }, h("slot", { key: '4427ca133a60ae07f53f1c50ef6dd9ee39784aa6', onSlotchange: this.onSlotChange })));
55
+ }, role: "tablist", part: "tab-group", onWheel: this.onWheel }, h("slot", { key: 'ffc3a7bfbf2efdd40e3f7e6dcf02e3b9e5026dc4', onSlotchange: this.onSlotChange })));
56
56
  }
57
57
  static get is() { return "co-tab-group"; }
58
58
  static get encapsulation() { return "shadow"; }
@@ -186,14 +186,14 @@ export class CoTagsField {
186
186
  const showClear = this.clearable && this.hasValue && !this.disabled && !this.readonly;
187
187
  const helper = this.isInvalid ? this.errorMessage : this.helperText;
188
188
  const showInput = !this.readonly && !this.atCapacity;
189
- return (h("div", { key: 'e7035dd352d920f06cf7ae067f4d5016fceff48b', class: {
189
+ return (h("div", { key: '338b791cca6cbf885ef92bedd7cd349c120a611a', class: {
190
190
  'co-tags-field': true,
191
191
  'co-tags-field--disabled': this.disabled,
192
192
  'co-tags-field--focused': this.hasFocus,
193
193
  'co-tags-field--filled': this.hasValue,
194
194
  'co-tags-field--invalid': this.isInvalid,
195
195
  [`co-tags-field--${this.size}`]: true,
196
- }, part: "wrapper" }, this.label && (h("div", { key: '4ff2eb4ab1fb00a193679063a30069847d85c6be', class: "co-tags-field__labels" }, h("label", { key: '238e18f48cb6c482de2957cd0f466c9875c71c20', class: "co-tags-field__label", part: "label" }, this.label, h(RequiredMark, { key: '4a86dbeb54674e7b0f38052bb7f9c9a6b96e2380', required: this.required })))), h("div", { key: '2ce5b7b6c520aac7d10e0ae2aad06ca27d12b705', class: "co-tags-field__field-row" }, h("div", { key: 'aa2e01fbbeeaddc8a53ffcb62c4c871ba2fe57d6', class: "co-tags-field__field", part: "field", onClick: this.handleFieldClick }, h("div", { key: 'bb6b037edb3036b029a664f7ef6d72b110e7b6a8', class: "co-tags-field__input-wrapper" }, tags.map((tag, index) => this.editingIndex === index ? (h("input", { key: `edit-${index}`, ref: (el) => (this.editEl = el), class: "co-tags-field__edit", type: "text", value: this.editingDraft, onInput: (e) => (this.editingDraft = e.target.value), onKeyDown: this.handleEditKeyDown, onBlur: () => this.saveEdit() })) : (
196
+ }, part: "wrapper" }, this.label && (h("div", { key: '1dc6616c53f7d3dd88d64b660746542c2742b3c3', class: "co-tags-field__labels" }, h("label", { key: 'c74138b4f45a22e5a59208694625042621098270', class: "co-tags-field__label", part: "label" }, this.label, h(RequiredMark, { key: 'de34b1cb65244eb272720323dedab06079869238', required: this.required })))), h("div", { key: '670ec7a0f79a4300da5ca016ae1c8cb0a0fdc67e', class: "co-tags-field__field-row" }, h("div", { key: '03e8bd9d9380c80ca3f551df5482afe7d1b64ad5', class: "co-tags-field__field", part: "field", onClick: this.handleFieldClick }, h("div", { key: '00cd8a5cd078d1a4c20fa0a8f39aba8849b832a8', class: "co-tags-field__input-wrapper" }, tags.map((tag, index) => this.editingIndex === index ? (h("input", { key: `edit-${index}`, ref: (el) => (this.editEl = el), class: "co-tags-field__edit", type: "text", value: this.editingDraft, onInput: (e) => (this.editingDraft = e.target.value), onKeyDown: this.handleEditKeyDown, onBlur: () => this.saveEdit() })) : (
197
197
  // Shared field-chip (utils/fieldChip.tsx) per the Figma
198
198
  // "Tipo=Chips" spec — same look as co-ref-field's chips.
199
199
  h(FieldChip, { key: `chip-${index}-${tag}`, baseClass: "co-tags-field__chip", label: tag, title: tag, onChipDblClick: () => this.startEdit(index), onRemove: !this.disabled && !this.readonly
@@ -201,13 +201,13 @@ export class CoTagsField {
201
201
  e.stopPropagation();
202
202
  this.removeTag(index);
203
203
  }
204
- : undefined }))), showInput && (h("input", { key: '419fa34260f36353b30c58b0883b8ebbaaca0176', ref: (el) => (this.inputEl = el), class: "co-tags-field__native", type: "text", autocomplete: "off", value: this.draft, placeholder: tags.length === 0 ? this.placeholder : '', disabled: this.disabled, required: this.required && tags.length === 0, "aria-invalid": this.isInvalid ? 'true' : 'false', "aria-label": !this.label ? 'Tags' : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, part: "input" }))), this.clearable && (h("button", { key: '06372259382dfc3a6edeba8f7e6dd5b9617ae306', class: {
204
+ : undefined }))), showInput && (h("input", { key: '4e420fa07aed79feb6d36ebce6ac739ad6f5fee1', ref: (el) => (this.inputEl = el), class: "co-tags-field__native", type: "text", autocomplete: "off", value: this.draft, placeholder: tags.length === 0 ? this.placeholder : '', disabled: this.disabled, required: this.required && tags.length === 0, "aria-invalid": this.isInvalid ? 'true' : 'false', "aria-label": !this.label ? 'Tags' : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, part: "input" }))), this.clearable && (h("button", { key: 'e80b49d80a9a2655cdda8acd3035ee88bec2e976', class: {
205
205
  'co-tags-field__clear': true,
206
206
  'co-tags-field__clear--hidden': !showClear,
207
- }, type: "button", tabIndex: -1, onMouseDown: (e) => e.preventDefault() /* keep input focus */, onClick: this.handleClearAll, "aria-label": "Clear all", part: "clear" }, h("co-icon", { key: '1a2985e18467e778c56ae21c4de64ca7444cebcb', name: "x-circle", size: 16, weight: "fill" }))))), this.name && h("input", { key: '0a97d32c8efa0b29e0f050eceb4015cec8d55512', type: "hidden", name: this.name, value: JSON.stringify(tags) }), helper && (h("div", { key: '7225ade1dad3a5a63ad3214ae80890c082e89e19', class: {
207
+ }, type: "button", tabIndex: -1, onMouseDown: (e) => e.preventDefault() /* keep input focus */, onClick: this.handleClearAll, "aria-label": "Clear all", part: "clear" }, h("co-icon", { key: '15035d33ff47ad095f4cb4189cc694aaf4e0e901', name: "x-circle", size: 16, weight: "fill" }))))), this.name && h("input", { key: 'e15557c8531957998d5afabf98e4da1dd7d32811', type: "hidden", name: this.name, value: JSON.stringify(tags) }), helper && (h("div", { key: '4f16febfdc7d8543267e07fa140a2c81b7e15a25', class: {
208
208
  'co-tags-field__helper': true,
209
209
  'co-tags-field__helper--error': this.isInvalid,
210
- }, part: "helper" }, this.isInvalid && (h("co-icon", { key: '42225192d8d73f9e091ee069f7f5307ea42f5516', name: "warning-circle", size: 14, class: "co-tags-field__helper-icon" })), h("span", { key: '75eefd041a4d17ef9514ed24d7a3a417e89dc19c', class: "co-tags-field__helper-text" }, helper)))));
210
+ }, part: "helper" }, this.isInvalid && (h("co-icon", { key: '201a84c536b5404c43d7abbbbb6a96562348dcdd', name: "warning-circle", size: 14, class: "co-tags-field__helper-icon" })), h("span", { key: 'a5a305ee228753d5693902df2739064f0e548aa2', class: "co-tags-field__helper-text" }, helper)))));
211
211
  }
212
212
  static get is() { return "co-tags-field"; }
213
213
  static get encapsulation() { return "shadow"; }
@@ -76,7 +76,7 @@ export class CoTextarea {
76
76
  const showClear = this.clearable && this.hasValue && !this.disabled && !this.readonly;
77
77
  const isOverLimit = this.maxLength != null && this.charCount > this.maxLength;
78
78
  const statusClass = this.status !== 'default' ? `co-textarea--${this.status}` : '';
79
- return (h("div", { key: '26a30e39d13d782711adb94e4c12c6c0db282095', class: {
79
+ return (h("div", { key: '669fe8eb16769774e3f9501eb8c6c533463cd8db', class: {
80
80
  'co-textarea': true,
81
81
  'co-textarea--disabled': this.disabled,
82
82
  'co-textarea--focused': this.hasFocus,
@@ -85,13 +85,13 @@ export class CoTextarea {
85
85
  [`co-textarea--${this.size}`]: true,
86
86
  [statusClass]: !!statusClass,
87
87
  'co-textarea--flat': this.variant === 'flat',
88
- }, part: "wrapper" }, (this.label || this.secondaryLabel) && (h("div", { key: 'b4f8df968cff2b5b175cfcbf1e68b31ca29d9afe', class: "co-textarea__labels" }, this.label && (h("label", { key: 'af366be59684f535c8fb87e9b974ce759cc18076', class: "co-textarea__label", part: "label" }, this.label, h(RequiredMark, { key: 'e8a27b76c9fde30eef0aef8fbbbc46e296edf537', required: this.required }))), this.secondaryLabel && (h("span", { key: '945182ab7091298aab4631167615df0b742250d2', class: "co-textarea__secondary-label" }, this.secondaryLabel)))), h("div", { key: '23d1c1c7af5a03b0cd9196bfc18f24746f5e523d', class: "co-textarea__field", part: "field" }, h("textarea", { key: 'def518b0c40dad1749d9c4271f6b0b4bb08abb64', ref: (el) => (this.textareaEl = el), class: {
88
+ }, part: "wrapper" }, (this.label || this.secondaryLabel) && (h("div", { key: '89109724e8325d67c42a26f2997d752e9a3f6152', class: "co-textarea__labels" }, this.label && (h("label", { key: '38f2d2fd52e02eb43b7381e2d257bd3d09ccd702', class: "co-textarea__label", part: "label" }, this.label, h(RequiredMark, { key: '70e789e90f6b77676649c4ba3388e8f4293daf1f', required: this.required }))), this.secondaryLabel && (h("span", { key: 'dc9ba43690ff46be7e4db91f9ceca95c9c54d7f1', class: "co-textarea__secondary-label" }, this.secondaryLabel)))), h("div", { key: '2f92be15a4199500dbf241246ceea5d3dcab041f', class: "co-textarea__field", part: "field" }, h("textarea", { key: '597a77679c34d1b5c9dbb818f7df316fee47c31a', ref: (el) => (this.textareaEl = el), class: {
89
89
  'co-textarea__native': true,
90
90
  [`co-textarea__native--resize-${this.resize}`]: true,
91
- }, rows: this.rows, value: this.value, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, required: this.required, "aria-invalid": this.status === 'error' || isOverLimit ? 'true' : 'false', onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, part: "input" }), showClear && (h("button", { key: '207bde67b9f3adcca674b93dbb135bb10d448f5e', class: "co-textarea__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: '927918569b359aebd7c1f2e0ae8c7be607453531', name: "x-circle", size: 16, weight: "fill" })))), (this.helperText || this.maxLength != null) && (h("div", { key: '4374030bb6cbf6fa45c40f464481c2bf40cba6fc', class: "co-textarea__footer" }, this.helperText && (h("div", { key: 'b92692e4149b404999221cb6ef3de0d2adb73291', class: {
91
+ }, rows: this.rows, value: this.value, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, required: this.required, "aria-invalid": this.status === 'error' || isOverLimit ? 'true' : 'false', onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, part: "input" }), showClear && (h("button", { key: 'fe9c62fc4f101aaccb152e4d7b005499c711477d', class: "co-textarea__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: '48eb2ab762af82f70548655fcc5ed809c462cc77', name: "x-circle", size: 16, weight: "fill" })))), (this.helperText || this.maxLength != null) && (h("div", { key: 'bdc8b371a0b870f4947fdaecbe2dfc032adf6539', class: "co-textarea__footer" }, this.helperText && (h("div", { key: 'd6674a0bf0672c2718b924bee4609b30afe95780', class: {
92
92
  'co-textarea__helper': true,
93
93
  'co-textarea__helper--error': this.status === 'error',
94
- }, part: "helper" }, this.status === 'error' && (h("co-icon", { key: '544c72f9baa84f61b76104e62373dc8ba4d445e0', name: "warning-circle", size: 14, class: "co-textarea__helper-icon" })), h("span", { key: '531d0c60b322ce09760889cc1b979e3c48046847', class: "co-textarea__helper-text" }, this.helperText))), this.maxLength != null && (h("span", { key: '72eadc738677c3bbf50c9d0bdeb1cee713528507', class: {
94
+ }, part: "helper" }, this.status === 'error' && (h("co-icon", { key: '9b16efe568db1f6ec93d76908fdac7b5800ee59d', name: "warning-circle", size: 14, class: "co-textarea__helper-icon" })), h("span", { key: '233601dfb3cf443a56f228deabfac87cca54d4c2', class: "co-textarea__helper-text" }, this.helperText))), this.maxLength != null && (h("span", { key: 'f587b4d8a744c0c0fd26ff45ee54982b90994dde', class: {
95
95
  'co-textarea__counter': true,
96
96
  'co-textarea__counter--over': isOverLimit,
97
97
  }, part: "counter" }, this.charCount, "/", this.maxLength))))));
@@ -313,7 +313,7 @@ export class CoTimeField {
313
313
  }
314
314
  render() {
315
315
  const t = getDateStrings(this.locale);
316
- return (h("div", { key: '81a230dc1e49e62e2aecd3b4ac73b8909475f3cb', class: { 'co-time-field': true, 'co-time-field--disabled': this.disabled }, role: "group", "aria-label": this.fieldLabel || t.timeFieldLabel }, h("span", { key: 'e9eb2d8f0db674ffaad0352288a251df27c0fcba', class: "co-time-field__segs" }, this.renderSeg('hour', t), h("span", { key: 'cc23898617970361ed16d14acc2626c6d3d59a0a', class: "co-time-field__sep", "aria-hidden": "true" }, ":"), this.renderSeg('minute', t), this.hour12 && this.renderSeg('period', t)), h("span", { key: '3ed62834befde05e6b5d13d4acdb6594aee7b8b2', class: "co-time-field__steppers" }, h("button", { key: 'bac654a419940ada7f321c9560f2445180024283', type: "button", tabIndex: -1, "aria-hidden": "true", onMouseDown: (e) => e.preventDefault(), onClick: this.onStepperClick(1) }, h("co-icon", { key: '62c6d9fe38fa737cec659774b90bf498ffe05088', name: "caret-up", size: 10 })), h("button", { key: '90de8aef9d1eef09f9c3cc0e2680bbea4fda883e', type: "button", tabIndex: -1, "aria-hidden": "true", onMouseDown: (e) => e.preventDefault(), onClick: this.onStepperClick(-1) }, h("co-icon", { key: 'b4a1cb6877b4e415d2d94c14b2ccc1bbafb70adb', name: "caret-down", size: 10 })))));
316
+ return (h("div", { key: '782a8fbbbd967cb652ef4ea7d8aea0e2cc273a4b', class: { 'co-time-field': true, 'co-time-field--disabled': this.disabled }, role: "group", "aria-label": this.fieldLabel || t.timeFieldLabel }, h("span", { key: '1f46be0e62e2515d70e079193c1107cfcff35d11', class: "co-time-field__segs" }, this.renderSeg('hour', t), h("span", { key: '9eb83d59c644c113dab23b4af0521a719e43a497', class: "co-time-field__sep", "aria-hidden": "true" }, ":"), this.renderSeg('minute', t), this.hour12 && this.renderSeg('period', t)), h("span", { key: 'e18183e6e92530649a24d0f05bd8f7acb4403a47', class: "co-time-field__steppers" }, h("button", { key: '9a78bb64915a9e83bcbe2b9bf024c239fdefc44c', type: "button", tabIndex: -1, "aria-hidden": "true", onMouseDown: (e) => e.preventDefault(), onClick: this.onStepperClick(1) }, h("co-icon", { key: 'bbc82c66044327c5c631d9dd601b5232cebb8d75', name: "caret-up", size: 10 })), h("button", { key: 'a20091c8d3aeb118111014f9dc20d6fd517d276c', type: "button", tabIndex: -1, "aria-hidden": "true", onMouseDown: (e) => e.preventDefault(), onClick: this.onStepperClick(-1) }, h("co-icon", { key: 'cefec7ee6a579373324c4fc20552bf09a9764aa4', name: "caret-down", size: 10 })))));
317
317
  }
318
318
  static get is() { return "co-time-field"; }
319
319
  static get encapsulation() { return "shadow"; }
@@ -180,7 +180,7 @@ export class CoToast {
180
180
  "references": {
181
181
  "CoToastActionsLayout": {
182
182
  "location": "local",
183
- "path": "/Users/agox/Documents/Prolibu/prolibu-cobalt/packages/core/src/components/co-toast/co-toast.tsx",
183
+ "path": "/Users/agox/worktrees/cobalt-release-2026-09-18/packages/core/src/components/co-toast/co-toast.tsx",
184
184
  "id": "src/components/co-toast/co-toast.tsx::CoToastActionsLayout"
185
185
  }
186
186
  }
@@ -206,7 +206,7 @@ export class CoToast {
206
206
  "references": {
207
207
  "CoToastVariant": {
208
208
  "location": "local",
209
- "path": "/Users/agox/Documents/Prolibu/prolibu-cobalt/packages/core/src/components/co-toast/co-toast.tsx",
209
+ "path": "/Users/agox/worktrees/cobalt-release-2026-09-18/packages/core/src/components/co-toast/co-toast.tsx",
210
210
  "id": "src/components/co-toast/co-toast.tsx::CoToastVariant"
211
211
  }
212
212
  }
@@ -90,8 +90,9 @@
90
90
  (gray-500 sobre gray-100 quedaba ilegible); todo semántico para que el track
91
91
  se tematice en dark (las primitivas gray-* no tienen contraparte). */
92
92
  :host([variant='track']) .co-toggle-button {
93
- height: 30px;
94
- border-radius: 8px;
93
+ /* Knobs heredables (ver co-toggle-button-group.css): alto y radio de la pill. */
94
+ height: var(--co-toggle-pill-height, 30px);
95
+ border-radius: var(--co-toggle-pill-radius, 8px);
95
96
  border-color: transparent;
96
97
  background: transparent;
97
98
  color: var(--co-semantic-text-secondary);
@@ -116,11 +117,11 @@
116
117
  :host([variant='track']) .co-toggle-button--selected {
117
118
  background: var(--co-semantic-surface-page);
118
119
  color: var(--co-semantic-text-default);
119
- border-color: var(--co-semantic-border-default);
120
- box-shadow: var(--co-shadow-sm, 0 1px 2px 0 rgba(26, 26, 26, 0.04));
120
+ border-color: var(--co-toggle-pill-border, var(--co-semantic-border-default));
121
+ box-shadow: var(--co-toggle-pill-shadow, var(--co-shadow-sm, 0 1px 2px 0 rgba(26, 26, 26, 0.04)));
121
122
  }
122
123
 
123
124
  :host([variant='track']) .co-toggle-button--selected:hover:not(:disabled) {
124
125
  background: var(--co-semantic-surface-page);
125
- border-color: var(--co-semantic-border-default);
126
+ border-color: var(--co-toggle-pill-border, var(--co-semantic-border-default));
126
127
  }
@@ -18,13 +18,13 @@ export class CoToggleButton {
18
18
  render() {
19
19
  const iconSize = this.variant === 'track' ? 18 : this.size === 'l' ? 20 : this.size === 'xs' ? 14 : 16;
20
20
  const iconWeight = this.selected && this.selectedIconWeight ? this.selectedIconWeight : undefined;
21
- return (h("button", { key: 'fb4d5d58a3f0f1be3899a5c0ff5c6f3ce3b1385b', class: {
21
+ return (h("button", { key: '11a4789dc751aac946ac5b1ddadfeb18d4da8087', class: {
22
22
  'co-toggle-button': true,
23
23
  'co-toggle-button--selected': this.selected,
24
24
  [`co-toggle-button--${this.size}`]: true,
25
25
  'co-toggle-button--disabled': this.disabled,
26
26
  'co-toggle-button--icon-only': !this.label && (!!this.iconLeft || !!this.iconRight),
27
- }, type: "button", disabled: this.disabled, "aria-pressed": String(this.selected), onClick: this.handleClick }, h("slot", { key: '9a3704621b35a69806808d336afb182222bfadd1', name: "leading" }), this.iconLeft && h("co-icon", { key: '937ca1ccf6bd59a40bc2901cf4df51aa83a8db8d', name: this.iconLeft, size: iconSize, weight: iconWeight }), this.label && h("span", { key: 'fdd4c2240f8ded0b0486534f7ad9d1dc2a9a6673', class: "co-toggle-button__label" }, this.label), this.iconRight && h("co-icon", { key: 'af8ee769cb015d33b9bfa6f725360d662234da68', name: this.iconRight, size: iconSize, weight: iconWeight })));
27
+ }, type: "button", disabled: this.disabled, "aria-pressed": String(this.selected), onClick: this.handleClick }, h("slot", { key: '8a1b00c785043b986e73c36c152c5e7aa83b6c4d', name: "leading" }), this.iconLeft && h("co-icon", { key: '3e0d9d2491e09abe72acfc8668e57cbf126f92c7', name: this.iconLeft, size: iconSize, weight: iconWeight }), this.label && h("span", { key: '7f17ae9159cf0db65aa2b2b0b5b1c6cc7b3196c6', class: "co-toggle-button__label" }, this.label), this.iconRight && h("co-icon", { key: '78ea47dc026144ea6be486998be2679c345ab4c6', name: this.iconRight, size: iconSize, weight: iconWeight })));
28
28
  }
29
29
  static get is() { return "co-toggle-button"; }
30
30
  static get encapsulation() { return "shadow"; }