@prolibu-suite/cobalt-core 0.10.4 → 0.11.0

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 (736) hide show
  1. package/custom-elements.json +4362 -388
  2. package/dist/cjs/co-accordion.cjs.entry.js +3 -3
  3. package/dist/cjs/co-action-bar.cjs.entry.js +3 -3
  4. package/dist/cjs/co-app-shell.cjs.entry.js +3 -3
  5. package/dist/cjs/co-audio-player.cjs.entry.js +4 -4
  6. package/dist/cjs/co-autocomplete.cjs.entry.js +2 -2
  7. package/dist/cjs/co-avatar-group.cjs.entry.js +1 -1
  8. package/dist/cjs/co-avatar.cjs.entry.js +7 -4
  9. package/dist/cjs/co-badge.cjs.entry.js +2 -2
  10. package/dist/cjs/co-bottom-sheet.cjs.entry.js +5 -5
  11. package/dist/cjs/co-breadcrumb-item.cjs.entry.js +3 -3
  12. package/dist/cjs/co-breadcrumb.cjs.entry.js +2 -2
  13. package/dist/cjs/co-button-group.cjs.entry.js +3 -3
  14. package/dist/cjs/co-button.cjs.entry.js +9 -7
  15. package/dist/cjs/co-calendar-month_2.cjs.entry.js +4 -4
  16. package/dist/cjs/co-calendar_3.cjs.entry.js +72 -27
  17. package/dist/cjs/co-card.cjs.entry.js +3 -3
  18. package/dist/cjs/co-carousel-item.cjs.entry.js +2 -2
  19. package/dist/cjs/co-carousel.cjs.entry.js +3 -3
  20. package/dist/cjs/co-checkbox-group.cjs.entry.js +1 -1
  21. package/dist/cjs/co-checkbox.cjs.entry.js +13 -5
  22. package/dist/cjs/co-chip_2.cjs.entry.js +9 -6
  23. package/dist/cjs/co-color-area.cjs.entry.js +169 -0
  24. package/dist/cjs/co-color-picker.cjs.entry.js +5 -5
  25. package/dist/cjs/co-color-slider.cjs.entry.js +189 -0
  26. package/dist/cjs/co-column-picker.cjs.entry.js +3 -3
  27. package/dist/cjs/co-combobox.cjs.entry.js +5 -5
  28. package/dist/cjs/co-command-search.cjs.entry.js +5 -5
  29. package/dist/cjs/co-data-table-pagination.cjs.entry.js +5 -5
  30. package/dist/cjs/co-data-table.cjs.entry.js +3 -3
  31. package/dist/cjs/co-date-picker.cjs.entry.js +2 -2
  32. package/dist/cjs/co-date-range-picker.cjs.entry.js +2 -2
  33. package/dist/cjs/co-date-range.cjs.entry.js +2 -2
  34. package/dist/cjs/co-date-time-picker.cjs.entry.js +4 -4
  35. package/dist/cjs/co-document-editor.cjs.entry.js +1161 -0
  36. package/dist/cjs/co-drive-card.cjs.entry.js +2 -2
  37. package/dist/cjs/co-drop-zone.cjs.entry.js +2 -2
  38. package/dist/cjs/co-emoji-picker.cjs.entry.js +3 -3
  39. package/dist/cjs/co-empty-state.cjs.entry.js +3 -3
  40. package/dist/cjs/co-event-calendar.cjs.entry.js +3 -3
  41. package/dist/cjs/co-event-popover.cjs.entry.js +3 -3
  42. package/dist/cjs/co-fab.cjs.entry.js +3 -3
  43. package/dist/cjs/co-file-field.cjs.entry.js +8 -8
  44. package/dist/cjs/co-file-type-tile.cjs.entry.js +3 -3
  45. package/dist/cjs/co-gradient-bar.cjs.entry.js +220 -0
  46. package/dist/cjs/co-helper-text.cjs.entry.js +3 -3
  47. package/dist/cjs/co-icon-button.cjs.entry.js +49 -9
  48. package/dist/cjs/co-icon.cjs.entry.js +3 -3
  49. package/dist/cjs/co-input.cjs.entry.js +14 -8
  50. package/dist/cjs/co-json-field.cjs.entry.js +5 -5
  51. package/dist/cjs/{co-tooltip.cjs.entry.js → co-kbd_2.cjs.entry.js} +194 -6
  52. package/dist/cjs/co-lightbox.cjs.entry.js +5 -5
  53. package/dist/cjs/co-list-footer.cjs.entry.js +2 -2
  54. package/dist/cjs/co-list-item.cjs.entry.js +5 -5
  55. package/dist/cjs/co-loader.cjs.entry.js +1 -1
  56. package/dist/cjs/co-media-thumb.cjs.entry.js +3 -3
  57. package/dist/cjs/co-menu-divider.cjs.entry.js +3 -3
  58. package/dist/cjs/co-menu-item.cjs.entry.js +41 -43
  59. package/dist/cjs/co-menu.cjs.entry.js +81 -5
  60. package/dist/cjs/co-modal.cjs.entry.js +350 -7
  61. package/dist/cjs/co-navbar.cjs.entry.js +3 -3
  62. package/dist/cjs/co-number-field.cjs.entry.js +5 -5
  63. package/dist/cjs/co-overlay.cjs.entry.js +8 -4
  64. package/dist/cjs/co-page-header.cjs.entry.js +2 -2
  65. package/dist/cjs/co-phone-field.cjs.entry.js +3 -3
  66. package/dist/cjs/co-popover.cjs.entry.js +67 -6
  67. package/dist/cjs/co-progress-bar.cjs.entry.js +3 -3
  68. package/dist/cjs/co-progress-circle.cjs.entry.js +3 -3
  69. package/dist/cjs/co-provider-logo_2.cjs.entry.js +2 -2
  70. package/dist/cjs/co-radio-group.cjs.entry.js +4 -4
  71. package/dist/cjs/co-radio.cjs.entry.js +4 -4
  72. package/dist/cjs/co-rating.cjs.entry.js +4 -4
  73. package/dist/cjs/co-ref-field.cjs.entry.js +5 -5
  74. package/dist/cjs/co-rich-text-editor.cjs.entry.js +26 -92
  75. package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +79 -20
  76. package/dist/cjs/co-rich-text-viewer.cjs.entry.js +9 -2
  77. package/dist/cjs/co-row.cjs.entry.js +3 -3
  78. package/dist/cjs/co-segmented-bar.cjs.entry.js +3 -3
  79. package/dist/cjs/co-select.cjs.entry.js +158 -29
  80. package/dist/cjs/co-separator.cjs.entry.js +2 -2
  81. package/dist/cjs/co-sidebar-nav.cjs.entry.js +20 -5
  82. package/dist/cjs/co-sidebar.cjs.entry.js +3 -3
  83. package/dist/cjs/co-slider.cjs.entry.js +203 -23
  84. package/dist/cjs/co-swatch-grid.cjs.entry.js +121 -0
  85. package/dist/cjs/co-switch.cjs.entry.js +5 -5
  86. package/dist/cjs/co-tab-group.cjs.entry.js +113 -4
  87. package/dist/cjs/co-tab.cjs.entry.js +15 -5
  88. package/dist/cjs/co-tags-field.cjs.entry.js +8 -8
  89. package/dist/cjs/co-textarea.cjs.entry.js +6 -6
  90. package/dist/cjs/co-tile.cjs.entry.js +61 -0
  91. package/dist/cjs/co-time-field.cjs.entry.js +2 -2
  92. package/dist/cjs/co-toast.cjs.entry.js +3 -3
  93. package/dist/cjs/co-toggle-button-group.cjs.entry.js +26 -5
  94. package/dist/cjs/co-toggle-button.cjs.entry.js +67 -6
  95. package/dist/cjs/co-transfer-list.cjs.entry.js +3 -3
  96. package/dist/cjs/co-tree-item.cjs.entry.js +110 -0
  97. package/dist/cjs/co-video.cjs.entry.js +3 -3
  98. package/dist/cjs/cobalt.cjs.js +2 -2
  99. package/dist/cjs/{color-CML2Cfdh.js → color-DQVrQGi0.js} +10 -5
  100. package/dist/cjs/{fieldChip-B6YIGU1V.js → fieldChip-C7MxxBVO.js} +1 -1
  101. package/dist/cjs/gradientStops-CMpH4fB_.js +153 -0
  102. package/dist/cjs/hsv-DpfSF3M2.js +95 -0
  103. package/dist/cjs/{index-MDAnKsze.js → index-bHoidDwv.js} +67 -27
  104. package/dist/cjs/index-oMHzCXm6.js +144 -0
  105. package/dist/cjs/loader.cjs.js +2 -2
  106. package/dist/cjs/{index-2kMmd5-a.js → pagination-DV43TRj9.js} +1780 -297
  107. package/dist/cjs/{positioning-CyatXeT_.js → positioning-CILo5esi.js} +45 -18
  108. package/dist/cjs/{requiredMark-D-t-IPN0.js → requiredMark-21yHvvZS.js} +1 -1
  109. package/dist/cjs/rich-text-host-ueFSfW-6.js +119 -0
  110. package/dist/cjs/{richTextI18n-B28uAhh4.js → richTextI18n-DXGIv5w1.js} +45 -0
  111. package/dist/cjs/submenu-RlaX6irw.js +65 -0
  112. package/dist/cjs/{toolbar-config-CYACt9hh.js → toolbar-config-DczL6C4W.js} +32 -0
  113. package/dist/cobalt/cobalt.css +1 -1
  114. package/dist/cobalt/cobalt.esm.js +1 -1
  115. package/dist/cobalt/{p-ee149fd2.entry.js → p-05000ef3.entry.js} +1 -1
  116. package/dist/cobalt/p-06689166.entry.js +1 -0
  117. package/dist/cobalt/{p-1dc55e43.entry.js → p-0a5cfed0.entry.js} +1 -1
  118. package/dist/cobalt/p-1289131f.entry.js +1 -0
  119. package/dist/cobalt/{p-c7d7d7f7.entry.js → p-136beb2c.entry.js} +1 -1
  120. package/dist/cobalt/{p-b437eff6.entry.js → p-1693b614.entry.js} +1 -1
  121. package/dist/cobalt/p-1bfb69ae.entry.js +1 -0
  122. package/dist/cobalt/{p-2c9dba2f.entry.js → p-1f3d5313.entry.js} +1 -1
  123. package/dist/cobalt/{p-b821d9de.entry.js → p-22233b31.entry.js} +1 -1
  124. package/dist/cobalt/{p-c30b4cb5.entry.js → p-26fa36f8.entry.js} +1 -1
  125. package/dist/cobalt/p-2794c500.entry.js +1 -0
  126. package/dist/cobalt/p-297b55cd.entry.js +1 -0
  127. package/dist/cobalt/{p-17244412.entry.js → p-2a2b0c7a.entry.js} +1 -1
  128. package/dist/cobalt/{p-2636b7eb.entry.js → p-2e5702a0.entry.js} +1 -1
  129. package/dist/cobalt/p-3011c84f.entry.js +1 -0
  130. package/dist/cobalt/{p-4d65e713.entry.js → p-30760f77.entry.js} +1 -1
  131. package/dist/cobalt/{p-6dd220e0.entry.js → p-3b9a8e86.entry.js} +1 -1
  132. package/dist/cobalt/p-4111fefa.entry.js +1 -0
  133. package/dist/cobalt/{p-a32b20eb.entry.js → p-44edde81.entry.js} +1 -1
  134. package/dist/cobalt/{p-292b0389.entry.js → p-45007758.entry.js} +1 -1
  135. package/dist/cobalt/p-48c23310.entry.js +1 -0
  136. package/dist/cobalt/p-4b327483.entry.js +1 -0
  137. package/dist/cobalt/p-4c6caa41.entry.js +1 -0
  138. package/dist/cobalt/{p-000a15b8.entry.js → p-5534a64f.entry.js} +1 -1
  139. package/dist/cobalt/p-5573985a.entry.js +1 -0
  140. package/dist/cobalt/p-57d250ad.entry.js +1 -0
  141. package/dist/cobalt/{p-826ee074.entry.js → p-59d3e8fc.entry.js} +1 -1
  142. package/dist/cobalt/{p-4592ca00.entry.js → p-5a32b9a2.entry.js} +1 -1
  143. package/dist/cobalt/p-5b2aa70e.entry.js +1 -0
  144. package/dist/cobalt/{p-d29bb0fa.entry.js → p-5d6e02dd.entry.js} +1 -1
  145. package/dist/cobalt/{p-623cc195.entry.js → p-608d251d.entry.js} +1 -1
  146. package/dist/cobalt/{p-011dc80b.entry.js → p-66fc1528.entry.js} +1 -1
  147. package/dist/cobalt/{p-11c5ce78.entry.js → p-67ad9544.entry.js} +1 -1
  148. package/dist/cobalt/{p-290066ef.entry.js → p-6c157ea2.entry.js} +1 -1
  149. package/dist/cobalt/{p-a2462d7a.entry.js → p-6d541199.entry.js} +1 -1
  150. package/dist/cobalt/{p-58d9b650.entry.js → p-7376f4ed.entry.js} +1 -1
  151. package/dist/cobalt/{p-39a50e7f.entry.js → p-7569375a.entry.js} +1 -1
  152. package/dist/cobalt/{p-7b5c555c.entry.js → p-763698b3.entry.js} +1 -1
  153. package/dist/cobalt/{p-f57dffca.entry.js → p-7675cebe.entry.js} +1 -1
  154. package/dist/cobalt/p-78a20284.entry.js +1 -0
  155. package/dist/cobalt/{p-aa9400bf.entry.js → p-7f3523ce.entry.js} +1 -1
  156. package/dist/cobalt/{p-24196410.entry.js → p-86b6fd81.entry.js} +1 -1
  157. package/dist/cobalt/{p-996f4e38.entry.js → p-889563d5.entry.js} +1 -1
  158. package/dist/cobalt/{p-eadfd661.entry.js → p-8ab5b396.entry.js} +1 -1
  159. package/dist/cobalt/{p-c91d4fc6.entry.js → p-8b2e4579.entry.js} +1 -1
  160. package/dist/cobalt/p-8cd3acaa.entry.js +1 -0
  161. package/dist/cobalt/{p-23ab0cc5.entry.js → p-8f701eac.entry.js} +1 -1
  162. package/dist/cobalt/p-90fad0f9.entry.js +1 -0
  163. package/dist/cobalt/{p-76249983.entry.js → p-97a4fbba.entry.js} +1 -1
  164. package/dist/cobalt/p-9b46a8fe.entry.js +1 -0
  165. package/dist/cobalt/{p-ee2023da.entry.js → p-9bee9dc8.entry.js} +1 -1
  166. package/dist/cobalt/{p-2f9cbbd5.entry.js → p-9cf10331.entry.js} +1 -1
  167. package/dist/cobalt/p-9dc01092.entry.js +1 -0
  168. package/dist/cobalt/p-9e406172.entry.js +1 -0
  169. package/dist/cobalt/p-B1JT7us1.js +1 -0
  170. package/dist/cobalt/{p-BRbgGqLw.js → p-BVGGRfNG.js} +1 -1
  171. package/dist/cobalt/p-BmdKHBZP.js +1 -0
  172. package/dist/cobalt/p-BtliEQAT.js +1 -0
  173. package/dist/cobalt/p-COJdaKBU.js +1 -0
  174. package/dist/cobalt/{p-BAYo-RBt.js → p-CRxTFT_z.js} +1 -1
  175. package/dist/cobalt/p-CYN5B3IQ.js +1 -0
  176. package/dist/cobalt/p-DJkaRtbb.js +2 -0
  177. package/dist/cobalt/p-DU-KOQ8L.js +1 -0
  178. package/dist/cobalt/p-DXLeDZvr.js +1 -0
  179. package/dist/cobalt/{p-D_zA1Pv4.js → p-DgJovDdy.js} +1 -1
  180. package/dist/cobalt/p-RVQJEYxa.js +1 -0
  181. package/dist/cobalt/{p-1861fe41.entry.js → p-a07dedd1.entry.js} +1 -1
  182. package/dist/cobalt/{p-08e42e00.entry.js → p-a336178b.entry.js} +1 -1
  183. package/dist/cobalt/{p-f9a7b7c6.entry.js → p-a52ed6ff.entry.js} +1 -1
  184. package/dist/cobalt/{p-aaca6dab.entry.js → p-a930cdd7.entry.js} +1 -1
  185. package/dist/cobalt/{p-eb82358d.entry.js → p-b1994bb4.entry.js} +1 -1
  186. package/dist/cobalt/p-b2b13da8.entry.js +1 -0
  187. package/dist/cobalt/{p-c2ebf0ec.entry.js → p-b5ec4286.entry.js} +1 -1
  188. package/dist/cobalt/p-b9401dd7.entry.js +1 -0
  189. package/dist/cobalt/p-b9dfb333.entry.js +1 -0
  190. package/dist/cobalt/p-bc3ba0cd.entry.js +1 -0
  191. package/dist/cobalt/{p-d375014b.entry.js → p-bc4fbfa6.entry.js} +1 -1
  192. package/dist/cobalt/{p-d0b2c418.entry.js → p-c109a1e1.entry.js} +1 -1
  193. package/dist/cobalt/{p-ee9a623d.entry.js → p-c1caa112.entry.js} +1 -1
  194. package/dist/cobalt/p-c9990662.entry.js +1 -0
  195. package/dist/cobalt/p-cc4b51fa.entry.js +1 -0
  196. package/dist/cobalt/p-cc5989e9.entry.js +1 -0
  197. package/dist/cobalt/{p-e4264532.entry.js → p-ce2b2048.entry.js} +1 -1
  198. package/dist/cobalt/p-d1c378ff.entry.js +1 -0
  199. package/dist/cobalt/p-d1e83525.entry.js +1 -0
  200. package/dist/cobalt/{p-59963937.entry.js → p-d1f47915.entry.js} +1 -1
  201. package/dist/cobalt/{p-28764b8e.entry.js → p-d4979025.entry.js} +1 -1
  202. package/dist/cobalt/p-d6e7c258.entry.js +1 -0
  203. package/dist/cobalt/p-d75d2f3d.entry.js +1 -0
  204. package/dist/cobalt/p-db42c4ab.entry.js +1 -0
  205. package/dist/cobalt/{p-44c4e4a3.entry.js → p-e4ff2fcb.entry.js} +1 -1
  206. package/dist/cobalt/p-e6116149.entry.js +1 -0
  207. package/dist/cobalt/{p-0c004735.entry.js → p-e99ddf9c.entry.js} +1 -1
  208. package/dist/cobalt/{p-1cc818ca.entry.js → p-ea24eea8.entry.js} +1 -1
  209. package/dist/cobalt/{p-07416e31.entry.js → p-ea564148.entry.js} +1 -1
  210. package/dist/cobalt/{p-8471abe2.entry.js → p-ec7a6bf2.entry.js} +1 -1
  211. package/dist/cobalt/{p-fb2d1144.entry.js → p-ee42dca6.entry.js} +1 -1
  212. package/dist/cobalt/{p-49834b8e.entry.js → p-ee88ec40.entry.js} +1 -1
  213. package/dist/cobalt/p-eeb114da.entry.js +1 -0
  214. package/dist/cobalt/{p-f6691108.entry.js → p-f0898e21.entry.js} +1 -1
  215. package/dist/cobalt/p-f246946a.entry.js +1 -0
  216. package/dist/cobalt/{p-b90d41e4.entry.js → p-f5934cd9.entry.js} +1 -1
  217. package/dist/cobalt/p-f5e1873d.entry.js +1 -0
  218. package/dist/cobalt/p-f60bd4d6.entry.js +1 -0
  219. package/dist/cobalt/p-f813569c.entry.js +1 -0
  220. package/dist/cobalt/{p-f7eb1a40.entry.js → p-f8c7941f.entry.js} +1 -1
  221. package/dist/cobalt/{p-44ea675f.entry.js → p-f8d3c71e.entry.js} +1 -1
  222. package/dist/cobalt/{p-91e73a92.entry.js → p-ffbe955a.entry.js} +1 -1
  223. package/dist/cobalt/p-xnrKkNWQ.js +1 -0
  224. package/dist/collection/collection-manifest.json +8 -0
  225. package/dist/collection/components/co-accordion/co-accordion.js +2 -2
  226. package/dist/collection/components/co-action-bar/co-action-bar.js +2 -2
  227. package/dist/collection/components/co-app-shell/co-app-shell.js +2 -2
  228. package/dist/collection/components/co-audio-player/co-audio-player.js +3 -3
  229. package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
  230. package/dist/collection/components/co-avatar/co-avatar.css +11 -2
  231. package/dist/collection/components/co-avatar/co-avatar.js +7 -4
  232. package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
  233. package/dist/collection/components/co-badge/co-badge.js +1 -1
  234. package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.js +4 -4
  235. package/dist/collection/components/co-breadcrumb/co-breadcrumb.js +1 -1
  236. package/dist/collection/components/co-breadcrumb-item/co-breadcrumb-item.js +2 -2
  237. package/dist/collection/components/co-button/co-button.css +73 -6
  238. package/dist/collection/components/co-button/co-button.js +33 -11
  239. package/dist/collection/components/co-button-group/co-button-group.js +2 -2
  240. package/dist/collection/components/co-calendar/calendarMarks.js +40 -0
  241. package/dist/collection/components/co-calendar/co-calendar.css +11 -1
  242. package/dist/collection/components/co-calendar/co-calendar.js +82 -20
  243. package/dist/collection/components/co-calendar-month/co-calendar-month.js +1 -1
  244. package/dist/collection/components/co-calendar-timegrid/co-calendar-timegrid.js +2 -2
  245. package/dist/collection/components/co-card/co-card.js +2 -2
  246. package/dist/collection/components/co-carousel/co-carousel.js +2 -2
  247. package/dist/collection/components/co-carousel-item/co-carousel-item.js +1 -1
  248. package/dist/collection/components/co-checkbox/co-checkbox.css +43 -1
  249. package/dist/collection/components/co-checkbox/co-checkbox.js +31 -3
  250. package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
  251. package/dist/collection/components/co-chip/co-chip.js +2 -2
  252. package/dist/collection/components/co-color-area/co-color-area.css +83 -0
  253. package/dist/collection/components/co-color-area/co-color-area.js +341 -0
  254. package/dist/collection/components/co-color-picker/co-color-picker.js +2 -2
  255. package/dist/collection/components/co-color-slider/co-color-slider.css +115 -0
  256. package/dist/collection/components/co-color-slider/co-color-slider.js +353 -0
  257. package/dist/collection/components/co-column-picker/co-column-picker.js +2 -2
  258. package/dist/collection/components/co-combobox/co-combobox.js +4 -4
  259. package/dist/collection/components/co-command-search/co-command-search.js +5 -5
  260. package/dist/collection/components/co-data-table/co-data-table.js +3 -3
  261. package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.js +4 -4
  262. package/dist/collection/components/co-date-field/co-date-field.js +4 -4
  263. package/dist/collection/components/co-date-range/co-date-range.js +1 -1
  264. package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +2 -2
  265. package/dist/collection/components/co-date-time-picker/co-date-time-picker.js +3 -3
  266. package/dist/collection/components/co-document-editor/change-throttle.js +30 -0
  267. package/dist/collection/components/co-document-editor/co-document-editor.css +438 -0
  268. package/dist/collection/components/co-document-editor/co-document-editor.js +1542 -0
  269. package/dist/collection/components/co-document-editor/document-props.js +40 -0
  270. package/dist/collection/components/co-document-editor/header-tools.js +11 -0
  271. package/dist/collection/components/co-document-editor/image-bar.js +66 -0
  272. package/dist/collection/components/co-document-editor/page-styles.js +90 -0
  273. package/dist/collection/components/co-document-editor/zoom.js +45 -0
  274. package/dist/collection/components/co-drive-card/co-drive-card.js +1 -1
  275. package/dist/collection/components/co-drop-zone/co-drop-zone.js +1 -1
  276. package/dist/collection/components/co-emoji-picker/co-emoji-picker.js +2 -2
  277. package/dist/collection/components/co-empty-state/co-empty-state.js +2 -2
  278. package/dist/collection/components/co-event-calendar/co-event-calendar.js +2 -2
  279. package/dist/collection/components/co-event-popover/co-event-popover.js +1 -1
  280. package/dist/collection/components/co-fab/co-fab.js +2 -2
  281. package/dist/collection/components/co-file-field/co-file-field.js +6 -6
  282. package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +2 -2
  283. package/dist/collection/components/co-gradient-bar/co-gradient-bar.css +138 -0
  284. package/dist/collection/components/co-gradient-bar/co-gradient-bar.js +407 -0
  285. package/dist/collection/components/co-helper-text/co-helper-text.js +2 -2
  286. package/dist/collection/components/co-icon/co-icon.js +2 -2
  287. package/dist/collection/components/co-icon-button/co-icon-button.css +95 -19
  288. package/dist/collection/components/co-icon-button/co-icon-button.js +120 -10
  289. package/dist/collection/components/co-input/co-input.css +122 -0
  290. package/dist/collection/components/co-input/co-input.js +37 -11
  291. package/dist/collection/components/co-json-field/co-json-field.js +3 -3
  292. package/dist/collection/components/co-kbd/co-kbd.css +99 -0
  293. package/dist/collection/components/co-kbd/co-kbd.js +291 -0
  294. package/dist/collection/components/co-lightbox/co-lightbox.js +4 -4
  295. package/dist/collection/components/co-list-footer/co-list-footer.js +1 -1
  296. package/dist/collection/components/co-list-item/co-list-item.js +4 -4
  297. package/dist/collection/components/co-media-thumb/co-media-thumb.js +2 -2
  298. package/dist/collection/components/co-menu/co-menu.css +60 -0
  299. package/dist/collection/components/co-menu/co-menu.js +143 -3
  300. package/dist/collection/components/co-menu-divider/co-menu-divider.css +17 -0
  301. package/dist/collection/components/co-menu-divider/co-menu-divider.js +1 -1
  302. package/dist/collection/components/co-menu-item/co-menu-item.css +42 -6
  303. package/dist/collection/components/co-menu-item/co-menu-item.js +58 -4
  304. package/dist/collection/components/co-modal/co-modal.css +212 -1
  305. package/dist/collection/components/co-modal/co-modal.js +339 -9
  306. package/dist/collection/components/co-navbar/co-navbar.js +2 -2
  307. package/dist/collection/components/co-number-field/co-number-field.js +3 -3
  308. package/dist/collection/components/co-option-list/co-option-list.css +64 -21
  309. package/dist/collection/components/co-option-list/co-option-list.js +6 -2
  310. package/dist/collection/components/co-overlay/co-overlay.js +7 -3
  311. package/dist/collection/components/co-page-header/co-page-header.js +1 -1
  312. package/dist/collection/components/co-phone-field/co-phone-field.js +1 -1
  313. package/dist/collection/components/co-popover/co-popover.css +15 -2
  314. package/dist/collection/components/co-popover/co-popover.js +130 -5
  315. package/dist/collection/components/co-progress-bar/co-progress-bar.js +2 -2
  316. package/dist/collection/components/co-progress-circle/co-progress-circle.js +2 -2
  317. package/dist/collection/components/co-radio/co-radio.js +3 -3
  318. package/dist/collection/components/co-radio-group/co-radio-group.js +4 -4
  319. package/dist/collection/components/co-rating/co-rating.js +3 -3
  320. package/dist/collection/components/co-ref-field/co-ref-field.js +5 -5
  321. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +23 -90
  322. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.css +12 -0
  323. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +123 -18
  324. package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.js +8 -1
  325. package/dist/collection/components/co-row/co-row.js +2 -2
  326. package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +3 -3
  327. package/dist/collection/components/co-select/co-select.css +194 -10
  328. package/dist/collection/components/co-select/co-select.js +163 -32
  329. package/dist/collection/components/co-select/virtualRows.js +57 -0
  330. package/dist/collection/components/co-separator/co-separator.js +1 -1
  331. package/dist/collection/components/co-sidebar/co-sidebar.js +2 -2
  332. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.css +10 -0
  333. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +19 -4
  334. package/dist/collection/components/co-skeleton/co-skeleton.js +1 -1
  335. package/dist/collection/components/co-slider/co-slider.css +148 -5
  336. package/dist/collection/components/co-slider/co-slider.js +240 -21
  337. package/dist/collection/components/co-swatch-grid/co-swatch-grid.css +56 -0
  338. package/dist/collection/components/co-swatch-grid/co-swatch-grid.js +292 -0
  339. package/dist/collection/components/co-switch/co-switch.js +3 -3
  340. package/dist/collection/components/co-tab/co-tab.css +60 -0
  341. package/dist/collection/components/co-tab/co-tab.js +36 -6
  342. package/dist/collection/components/co-tab-group/co-tab-group.css +24 -0
  343. package/dist/collection/components/co-tab-group/co-tab-group.js +124 -2
  344. package/dist/collection/components/co-tab-group/revealTab.js +26 -0
  345. package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
  346. package/dist/collection/components/co-textarea/co-textarea.js +4 -4
  347. package/dist/collection/components/co-tile/co-tile.css +63 -0
  348. package/dist/collection/components/co-tile/co-tile.js +162 -0
  349. package/dist/collection/components/co-time-field/co-time-field.js +1 -1
  350. package/dist/collection/components/co-toast/co-toast.js +4 -4
  351. package/dist/collection/components/co-toggle-button/co-toggle-button.css +101 -0
  352. package/dist/collection/components/co-toggle-button/co-toggle-button.js +80 -8
  353. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.css +21 -0
  354. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +28 -7
  355. package/dist/collection/components/co-tooltip/co-tooltip.css +36 -0
  356. package/dist/collection/components/co-tooltip/co-tooltip.js +51 -3
  357. package/dist/collection/components/co-transfer-list/co-transfer-list.js +3 -3
  358. package/dist/collection/components/co-tree-item/co-tree-item.css +226 -0
  359. package/dist/collection/components/co-tree-item/co-tree-item.js +353 -0
  360. package/dist/collection/components/co-tree-item/treeItemI18n.js +16 -0
  361. package/dist/collection/components/co-video/co-video.js +2 -2
  362. package/dist/collection/utils/color.js +9 -5
  363. package/dist/collection/utils/dragMove.js +95 -0
  364. package/dist/collection/utils/gradientBarI18n.js +24 -0
  365. package/dist/collection/utils/gradientStops.js +142 -0
  366. package/dist/collection/utils/hsv.js +114 -0
  367. package/dist/collection/utils/kbdI18n.js +29 -0
  368. package/dist/collection/utils/positioning.js +44 -18
  369. package/dist/collection/utils/rich-text-host.js +109 -0
  370. package/dist/collection/utils/richTextI18n.js +45 -0
  371. package/dist/collection/utils/submenu.js +23 -3
  372. package/dist/collection/utils/swatchGridI18n.js +14 -0
  373. package/dist/collection/utils/test/fake-block-layout.js +41 -0
  374. package/dist/collection/utils/test/prosemirror-dom-shim.js +17 -0
  375. package/dist/collection/utils/test/shared-contract-css.js +9 -0
  376. package/dist/components/co-accordion.js +1 -1
  377. package/dist/components/co-action-bar.js +1 -1
  378. package/dist/components/co-app-shell.js +1 -1
  379. package/dist/components/co-audio-player.js +1 -1
  380. package/dist/components/co-autocomplete.js +1 -1
  381. package/dist/components/co-avatar-group.js +1 -1
  382. package/dist/components/co-avatar.js +1 -1
  383. package/dist/components/co-badge.js +1 -1
  384. package/dist/components/co-bottom-sheet.js +1 -1
  385. package/dist/components/co-breadcrumb-item.js +1 -1
  386. package/dist/components/co-breadcrumb.js +1 -1
  387. package/dist/components/co-button-group.js +1 -1
  388. package/dist/components/co-button.js +1 -1
  389. package/dist/components/co-calendar-month.js +1 -1
  390. package/dist/components/co-calendar-timegrid.js +1 -1
  391. package/dist/components/co-calendar.js +1 -1
  392. package/dist/components/co-card.js +1 -1
  393. package/dist/components/co-carousel-item.js +1 -1
  394. package/dist/components/co-carousel.js +1 -1
  395. package/dist/components/co-checkbox-group.js +1 -1
  396. package/dist/components/co-checkbox.js +1 -1
  397. package/dist/components/co-chip.js +1 -1
  398. package/dist/components/co-color-area.d.ts +11 -0
  399. package/dist/components/co-color-area.js +1 -0
  400. package/dist/components/co-color-picker.js +1 -1
  401. package/dist/components/co-color-slider.d.ts +11 -0
  402. package/dist/components/co-color-slider.js +1 -0
  403. package/dist/components/co-column-picker.js +1 -1
  404. package/dist/components/co-combobox.js +1 -1
  405. package/dist/components/co-command-search.js +1 -1
  406. package/dist/components/co-data-table-pagination.js +1 -1
  407. package/dist/components/co-data-table.js +1 -1
  408. package/dist/components/co-date-field.js +1 -1
  409. package/dist/components/co-date-picker.js +1 -1
  410. package/dist/components/co-date-range-picker.js +1 -1
  411. package/dist/components/co-date-range.js +1 -1
  412. package/dist/components/co-date-time-picker.js +1 -1
  413. package/dist/components/co-document-editor.d.ts +11 -0
  414. package/dist/components/co-document-editor.js +1 -0
  415. package/dist/components/co-drawer.js +1 -1
  416. package/dist/components/co-drive-card.js +1 -1
  417. package/dist/components/co-drop-zone.js +1 -1
  418. package/dist/components/co-emoji-picker.js +1 -1
  419. package/dist/components/co-empty-state.js +1 -1
  420. package/dist/components/co-event-calendar.js +1 -1
  421. package/dist/components/co-event-popover.js +1 -1
  422. package/dist/components/co-fab.js +1 -1
  423. package/dist/components/co-file-field.js +1 -1
  424. package/dist/components/co-file-type-tile.js +1 -1
  425. package/dist/components/co-gradient-bar.d.ts +11 -0
  426. package/dist/components/co-gradient-bar.js +1 -0
  427. package/dist/components/co-helper-text.js +1 -1
  428. package/dist/components/co-icon-button.js +1 -1
  429. package/dist/components/co-icon.js +1 -1
  430. package/dist/components/co-input.js +1 -1
  431. package/dist/components/co-json-field.js +1 -1
  432. package/dist/components/co-kbd.d.ts +11 -0
  433. package/dist/components/co-kbd.js +1 -0
  434. package/dist/components/co-lightbox.js +1 -1
  435. package/dist/components/co-list-footer.js +1 -1
  436. package/dist/components/co-list-item.js +1 -1
  437. package/dist/components/co-media-thumb.js +1 -1
  438. package/dist/components/co-menu-divider.js +1 -1
  439. package/dist/components/co-menu-item.js +1 -1
  440. package/dist/components/co-menu.js +1 -1
  441. package/dist/components/co-modal.js +1 -1
  442. package/dist/components/co-navbar.js +1 -1
  443. package/dist/components/co-number-field.js +1 -1
  444. package/dist/components/co-option-list.js +1 -1
  445. package/dist/components/co-overlay.js +1 -1
  446. package/dist/components/co-page-header.js +1 -1
  447. package/dist/components/co-phone-field.js +1 -1
  448. package/dist/components/co-popover.js +1 -1
  449. package/dist/components/co-progress-bar.js +1 -1
  450. package/dist/components/co-progress-circle.js +1 -1
  451. package/dist/components/co-radio-group.js +1 -1
  452. package/dist/components/co-radio.js +1 -1
  453. package/dist/components/co-rating.js +1 -1
  454. package/dist/components/co-ref-field.js +1 -1
  455. package/dist/components/co-rich-text-editor.js +1 -1
  456. package/dist/components/co-rich-text-toolbar.js +1 -1
  457. package/dist/components/co-rich-text-viewer.js +1 -1
  458. package/dist/components/co-row.js +1 -1
  459. package/dist/components/co-segmented-bar.js +1 -1
  460. package/dist/components/co-select.js +1 -1
  461. package/dist/components/co-separator.js +1 -1
  462. package/dist/components/co-sidebar-nav.js +1 -1
  463. package/dist/components/co-sidebar.js +1 -1
  464. package/dist/components/co-skeleton.js +1 -1
  465. package/dist/components/co-slider.js +1 -1
  466. package/dist/components/co-swatch-grid.d.ts +11 -0
  467. package/dist/components/co-swatch-grid.js +1 -0
  468. package/dist/components/co-switch.js +1 -1
  469. package/dist/components/co-tab-group.js +1 -1
  470. package/dist/components/co-tab.js +1 -1
  471. package/dist/components/co-tags-field.js +1 -1
  472. package/dist/components/co-textarea.js +1 -1
  473. package/dist/components/co-tile.d.ts +11 -0
  474. package/dist/components/co-tile.js +1 -0
  475. package/dist/components/co-time-field.js +1 -1
  476. package/dist/components/co-toast.js +1 -1
  477. package/dist/components/co-toggle-button-group.js +1 -1
  478. package/dist/components/co-toggle-button.js +1 -1
  479. package/dist/components/co-tooltip.js +1 -1
  480. package/dist/components/co-transfer-list.js +1 -1
  481. package/dist/components/co-tree-item.d.ts +11 -0
  482. package/dist/components/co-tree-item.js +1 -0
  483. package/dist/components/co-video.js +1 -1
  484. package/dist/components/index.js +1 -1
  485. package/dist/components/p-B1JT7us1.js +1 -0
  486. package/dist/components/{p-Nt4JJxbL.js → p-B20o5exO.js} +1 -1
  487. package/dist/components/{p-DNJAIVfI.js → p-B3kKOgsA.js} +1 -1
  488. package/dist/components/{p-P4HlMBlL.js → p-BIDSDP05.js} +1 -1
  489. package/dist/components/p-BOqtnWTJ.js +1 -0
  490. package/dist/components/p-BQltjDw5.js +1 -0
  491. package/dist/components/p-BR0LYW9v.js +1 -0
  492. package/dist/components/{p-BRbgGqLw.js → p-BVGGRfNG.js} +1 -1
  493. package/dist/components/p-BZDl9aFl.js +1 -0
  494. package/dist/components/p-BcXdId8y.js +1 -0
  495. package/dist/components/p-BmdKHBZP.js +1 -0
  496. package/dist/components/{p-NNxjElcX.js → p-BraiMwgs.js} +1 -1
  497. package/dist/components/p-BtliEQAT.js +1 -0
  498. package/dist/components/p-Bymi-A7C.js +1 -0
  499. package/dist/components/p-C-f8wTqe.js +1 -0
  500. package/dist/components/{p-BhCVadcA.js → p-C1jZYtUS.js} +1 -1
  501. package/dist/components/{p-CT2enQ6h.js → p-C3G8oPgU.js} +1 -1
  502. package/dist/components/{p-B56LX2SH.js → p-CGH3E8uK.js} +1 -1
  503. package/dist/components/p-COJdaKBU.js +1 -0
  504. package/dist/components/{p-BAYo-RBt.js → p-CRxTFT_z.js} +1 -1
  505. package/dist/components/{p-Du_CgT5E.js → p-CfJgypOl.js} +1 -1
  506. package/dist/components/{p-uxdXViMV.js → p-ChwSnCFf.js} +1 -1
  507. package/dist/components/{p-Dc_Kbari.js → p-CpGEV0iM.js} +1 -1
  508. package/dist/components/{p-DvR45CLa.js → p-D9or2g4j.js} +1 -1
  509. package/dist/components/{p-e5KibEs8.js → p-DJ468fPu.js} +1 -1
  510. package/dist/components/{p-DFlJMEJ-.js → p-DKXCr-hE.js} +1 -1
  511. package/dist/components/p-DU-KOQ8L.js +1 -0
  512. package/dist/components/p-DXLeDZvr.js +1 -0
  513. package/dist/components/{p-BGDqldEg.js → p-DfcPGitr.js} +1 -1
  514. package/dist/components/p-Dg-Ti_Bf.js +1 -0
  515. package/dist/components/p-Dh_eRYKu.js +1 -0
  516. package/dist/components/p-Dp650Gpp.js +1 -0
  517. package/dist/components/p-FA1kBmZ-.js +1 -0
  518. package/dist/components/p-RVQJEYxa.js +1 -0
  519. package/dist/components/p-d4rf3H8p.js +1 -0
  520. package/dist/components/{p-Dxa7c4Ap.js → p-dnaee7fS.js} +1 -1
  521. package/dist/components/p-f2xwcrXa.js +1 -0
  522. package/dist/esm/co-accordion.entry.js +3 -3
  523. package/dist/esm/co-action-bar.entry.js +3 -3
  524. package/dist/esm/co-app-shell.entry.js +3 -3
  525. package/dist/esm/co-audio-player.entry.js +4 -4
  526. package/dist/esm/co-autocomplete.entry.js +2 -2
  527. package/dist/esm/co-avatar-group.entry.js +1 -1
  528. package/dist/esm/co-avatar.entry.js +7 -4
  529. package/dist/esm/co-badge.entry.js +2 -2
  530. package/dist/esm/co-bottom-sheet.entry.js +5 -5
  531. package/dist/esm/co-breadcrumb-item.entry.js +3 -3
  532. package/dist/esm/co-breadcrumb.entry.js +2 -2
  533. package/dist/esm/co-button-group.entry.js +3 -3
  534. package/dist/esm/co-button.entry.js +9 -7
  535. package/dist/esm/co-calendar-month_2.entry.js +4 -4
  536. package/dist/esm/co-calendar_3.entry.js +72 -27
  537. package/dist/esm/co-card.entry.js +3 -3
  538. package/dist/esm/co-carousel-item.entry.js +2 -2
  539. package/dist/esm/co-carousel.entry.js +3 -3
  540. package/dist/esm/co-checkbox-group.entry.js +1 -1
  541. package/dist/esm/co-checkbox.entry.js +13 -5
  542. package/dist/esm/co-chip_2.entry.js +9 -6
  543. package/dist/esm/co-color-area.entry.js +167 -0
  544. package/dist/esm/co-color-picker.entry.js +5 -5
  545. package/dist/esm/co-color-slider.entry.js +187 -0
  546. package/dist/esm/co-column-picker.entry.js +3 -3
  547. package/dist/esm/co-combobox.entry.js +5 -5
  548. package/dist/esm/co-command-search.entry.js +5 -5
  549. package/dist/esm/co-data-table-pagination.entry.js +5 -5
  550. package/dist/esm/co-data-table.entry.js +3 -3
  551. package/dist/esm/co-date-picker.entry.js +2 -2
  552. package/dist/esm/co-date-range-picker.entry.js +2 -2
  553. package/dist/esm/co-date-range.entry.js +2 -2
  554. package/dist/esm/co-date-time-picker.entry.js +4 -4
  555. package/dist/esm/co-document-editor.entry.js +1159 -0
  556. package/dist/esm/co-drive-card.entry.js +2 -2
  557. package/dist/esm/co-drop-zone.entry.js +2 -2
  558. package/dist/esm/co-emoji-picker.entry.js +3 -3
  559. package/dist/esm/co-empty-state.entry.js +3 -3
  560. package/dist/esm/co-event-calendar.entry.js +3 -3
  561. package/dist/esm/co-event-popover.entry.js +3 -3
  562. package/dist/esm/co-fab.entry.js +3 -3
  563. package/dist/esm/co-file-field.entry.js +8 -8
  564. package/dist/esm/co-file-type-tile.entry.js +3 -3
  565. package/dist/esm/co-gradient-bar.entry.js +218 -0
  566. package/dist/esm/co-helper-text.entry.js +3 -3
  567. package/dist/esm/co-icon-button.entry.js +49 -9
  568. package/dist/esm/co-icon.entry.js +3 -3
  569. package/dist/esm/co-input.entry.js +14 -8
  570. package/dist/esm/co-json-field.entry.js +5 -5
  571. package/dist/esm/{co-tooltip.entry.js → co-kbd_2.entry.js} +194 -7
  572. package/dist/esm/co-lightbox.entry.js +5 -5
  573. package/dist/esm/co-list-footer.entry.js +2 -2
  574. package/dist/esm/co-list-item.entry.js +5 -5
  575. package/dist/esm/co-loader.entry.js +1 -1
  576. package/dist/esm/co-media-thumb.entry.js +3 -3
  577. package/dist/esm/co-menu-divider.entry.js +3 -3
  578. package/dist/esm/co-menu-item.entry.js +39 -41
  579. package/dist/esm/co-menu.entry.js +81 -5
  580. package/dist/esm/co-modal.entry.js +350 -7
  581. package/dist/esm/co-navbar.entry.js +3 -3
  582. package/dist/esm/co-number-field.entry.js +5 -5
  583. package/dist/esm/co-overlay.entry.js +8 -4
  584. package/dist/esm/co-page-header.entry.js +2 -2
  585. package/dist/esm/co-phone-field.entry.js +3 -3
  586. package/dist/esm/co-popover.entry.js +67 -6
  587. package/dist/esm/co-progress-bar.entry.js +3 -3
  588. package/dist/esm/co-progress-circle.entry.js +3 -3
  589. package/dist/esm/co-provider-logo_2.entry.js +2 -2
  590. package/dist/esm/co-radio-group.entry.js +4 -4
  591. package/dist/esm/co-radio.entry.js +4 -4
  592. package/dist/esm/co-rating.entry.js +4 -4
  593. package/dist/esm/co-ref-field.entry.js +5 -5
  594. package/dist/esm/co-rich-text-editor.entry.js +26 -92
  595. package/dist/esm/co-rich-text-toolbar.entry.js +79 -20
  596. package/dist/esm/co-rich-text-viewer.entry.js +9 -2
  597. package/dist/esm/co-row.entry.js +3 -3
  598. package/dist/esm/co-segmented-bar.entry.js +3 -3
  599. package/dist/esm/co-select.entry.js +158 -29
  600. package/dist/esm/co-separator.entry.js +2 -2
  601. package/dist/esm/co-sidebar-nav.entry.js +20 -5
  602. package/dist/esm/co-sidebar.entry.js +3 -3
  603. package/dist/esm/co-slider.entry.js +203 -23
  604. package/dist/esm/co-swatch-grid.entry.js +119 -0
  605. package/dist/esm/co-switch.entry.js +5 -5
  606. package/dist/esm/co-tab-group.entry.js +113 -4
  607. package/dist/esm/co-tab.entry.js +15 -5
  608. package/dist/esm/co-tags-field.entry.js +8 -8
  609. package/dist/esm/co-textarea.entry.js +6 -6
  610. package/dist/esm/co-tile.entry.js +59 -0
  611. package/dist/esm/co-time-field.entry.js +2 -2
  612. package/dist/esm/co-toast.entry.js +3 -3
  613. package/dist/esm/co-toggle-button-group.entry.js +26 -5
  614. package/dist/esm/co-toggle-button.entry.js +67 -6
  615. package/dist/esm/co-transfer-list.entry.js +3 -3
  616. package/dist/esm/co-tree-item.entry.js +108 -0
  617. package/dist/esm/co-video.entry.js +3 -3
  618. package/dist/esm/cobalt.js +3 -3
  619. package/dist/esm/{color-BRbgGqLw.js → color-BVGGRfNG.js} +10 -6
  620. package/dist/esm/{fieldChip-uyggU8VV.js → fieldChip-B2ctp2m6.js} +1 -1
  621. package/dist/esm/gradientStops-DDK0y8ra.js +145 -0
  622. package/dist/esm/hsv-COJdaKBU.js +90 -0
  623. package/dist/esm/index-Cpo8HTwr.js +142 -0
  624. package/dist/esm/{index-DH5lfRNj.js → index-DJkaRtbb.js} +67 -28
  625. package/dist/esm/loader.js +3 -3
  626. package/dist/esm/{index-BBIYyvq-.js → pagination-D9OfZUnY.js} +1728 -297
  627. package/dist/esm/{positioning-DFHRS9cJ.js → positioning-BtliEQAT.js} +45 -19
  628. package/dist/esm/{requiredMark-BCJUuZvC.js → requiredMark-D5C5NzOE.js} +1 -1
  629. package/dist/esm/rich-text-host-BmdKHBZP.js +111 -0
  630. package/dist/esm/{richTextI18n-BYKAgwq3.js → richTextI18n-xnrKkNWQ.js} +45 -0
  631. package/dist/esm/submenu-DU-KOQ8L.js +57 -0
  632. package/dist/esm/{toolbar-config-BAYo-RBt.js → toolbar-config-CRxTFT_z.js} +32 -0
  633. package/dist/types/components/co-avatar/co-avatar.d.ts +4 -2
  634. package/dist/types/components/co-button/co-button.d.ts +6 -4
  635. package/dist/types/components/co-calendar/calendarMarks.d.ts +15 -0
  636. package/dist/types/components/co-calendar/co-calendar.d.ts +16 -0
  637. package/dist/types/components/co-checkbox/co-checkbox.d.ts +7 -0
  638. package/dist/types/components/co-color-area/co-color-area.d.ts +64 -0
  639. package/dist/types/components/co-color-slider/co-color-slider.d.ts +61 -0
  640. package/dist/types/components/co-date-time-picker/co-date-time-picker.d.ts +1 -1
  641. package/dist/types/components/co-document-editor/change-throttle.d.ts +9 -0
  642. package/dist/types/components/co-document-editor/co-document-editor.d.ts +276 -0
  643. package/dist/types/components/co-document-editor/document-props.d.ts +6 -0
  644. package/dist/types/components/co-document-editor/header-tools.d.ts +11 -0
  645. package/dist/types/components/co-document-editor/image-bar.d.ts +50 -0
  646. package/dist/types/components/co-document-editor/page-styles.d.ts +1 -0
  647. package/dist/types/components/co-document-editor/zoom.d.ts +26 -0
  648. package/dist/types/components/co-gradient-bar/co-gradient-bar.d.ts +72 -0
  649. package/dist/types/components/co-icon-button/co-icon-button.d.ts +34 -2
  650. package/dist/types/components/co-input/co-input.d.ts +14 -5
  651. package/dist/types/components/co-kbd/co-kbd.d.ts +43 -0
  652. package/dist/types/components/co-menu/co-menu.d.ts +40 -1
  653. package/dist/types/components/co-menu-item/co-menu-item.d.ts +17 -0
  654. package/dist/types/components/co-modal/co-modal.d.ts +111 -2
  655. package/dist/types/components/co-option-list/co-option-list.d.ts +1 -0
  656. package/dist/types/components/co-option-list/optionListLogic.d.ts +3 -0
  657. package/dist/types/components/co-popover/co-popover.d.ts +36 -0
  658. package/dist/types/components/co-rich-text-editor/co-rich-text-editor.d.ts +2 -5
  659. package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +17 -2
  660. package/dist/types/components/co-select/co-select.d.ts +47 -5
  661. package/dist/types/components/co-select/virtualRows.d.ts +44 -0
  662. package/dist/types/components/co-slider/co-slider.d.ts +143 -1
  663. package/dist/types/components/co-swatch-grid/co-swatch-grid.d.ts +37 -0
  664. package/dist/types/components/co-tab/co-tab.d.ts +12 -2
  665. package/dist/types/components/co-tab-group/co-tab-group.d.ts +37 -0
  666. package/dist/types/components/co-tab-group/revealTab.d.ts +29 -0
  667. package/dist/types/components/co-tile/co-tile.d.ts +40 -0
  668. package/dist/types/components/co-toggle-button/co-toggle-button.d.ts +37 -2
  669. package/dist/types/components/co-toggle-button-group/co-toggle-button-group.d.ts +20 -2
  670. package/dist/types/components/co-tooltip/co-tooltip.d.ts +12 -0
  671. package/dist/types/components/co-tree-item/co-tree-item.d.ts +73 -0
  672. package/dist/types/components/co-tree-item/treeItemI18n.d.ts +6 -0
  673. package/dist/types/components.d.ts +1744 -88
  674. package/dist/types/utils/color.d.ts +9 -1
  675. package/dist/types/utils/dragMove.d.ts +63 -0
  676. package/dist/types/utils/gradientBarI18n.d.ts +8 -0
  677. package/dist/types/utils/gradientStops.d.ts +63 -0
  678. package/dist/types/utils/hsv.d.ts +44 -0
  679. package/dist/types/utils/kbdI18n.d.ts +25 -0
  680. package/dist/types/utils/positioning.d.ts +24 -0
  681. package/dist/types/utils/rich-text-host.d.ts +41 -0
  682. package/dist/types/utils/richTextI18n.d.ts +15 -0
  683. package/dist/types/utils/submenu.d.ts +16 -2
  684. package/dist/types/utils/swatchGridI18n.d.ts +6 -0
  685. package/dist/types/utils/test/fake-block-layout.d.ts +7 -0
  686. package/dist/types/utils/test/prosemirror-dom-shim.d.ts +1 -0
  687. package/dist/types/utils/test/shared-contract-css.d.ts +9 -0
  688. package/package.json +5 -5
  689. package/dist/cobalt/p-0678c797.entry.js +0 -1
  690. package/dist/cobalt/p-1d3a79af.entry.js +0 -1
  691. package/dist/cobalt/p-216a63ee.entry.js +0 -1
  692. package/dist/cobalt/p-3d31c575.entry.js +0 -1
  693. package/dist/cobalt/p-416795f5.entry.js +0 -1
  694. package/dist/cobalt/p-56551580.entry.js +0 -1
  695. package/dist/cobalt/p-58137c9e.entry.js +0 -1
  696. package/dist/cobalt/p-5a3e4c81.entry.js +0 -1
  697. package/dist/cobalt/p-5c756787.entry.js +0 -1
  698. package/dist/cobalt/p-67f3b9d6.entry.js +0 -1
  699. package/dist/cobalt/p-6a4f3179.entry.js +0 -1
  700. package/dist/cobalt/p-71cbc53c.entry.js +0 -1
  701. package/dist/cobalt/p-72e52af7.entry.js +0 -1
  702. package/dist/cobalt/p-8530ad16.entry.js +0 -1
  703. package/dist/cobalt/p-8a74bf7d.entry.js +0 -1
  704. package/dist/cobalt/p-8e05b979.entry.js +0 -1
  705. package/dist/cobalt/p-8ebc0c12.entry.js +0 -1
  706. package/dist/cobalt/p-8f2199ff.entry.js +0 -1
  707. package/dist/cobalt/p-9246e09c.entry.js +0 -1
  708. package/dist/cobalt/p-99a655f6.entry.js +0 -1
  709. package/dist/cobalt/p-BYKAgwq3.js +0 -1
  710. package/dist/cobalt/p-CJW9H3Gi.js +0 -1
  711. package/dist/cobalt/p-DFHRS9cJ.js +0 -1
  712. package/dist/cobalt/p-DH5lfRNj.js +0 -2
  713. package/dist/cobalt/p-a1b422ca.entry.js +0 -1
  714. package/dist/cobalt/p-ade07307.entry.js +0 -1
  715. package/dist/cobalt/p-b0762fd8.entry.js +0 -1
  716. package/dist/cobalt/p-b698188c.entry.js +0 -1
  717. package/dist/cobalt/p-bde32f8b.entry.js +0 -1
  718. package/dist/cobalt/p-db805569.entry.js +0 -1
  719. package/dist/cobalt/p-e3aae282.entry.js +0 -1
  720. package/dist/cobalt/p-e49a564c.entry.js +0 -1
  721. package/dist/cobalt/p-ef301976.entry.js +0 -1
  722. package/dist/cobalt/p-f4e1c3c3.entry.js +0 -1
  723. package/dist/cobalt/p-fMqVDypp.js +0 -1
  724. package/dist/components/p-2EOI1nrz.js +0 -1
  725. package/dist/components/p-7TncUlLN.js +0 -1
  726. package/dist/components/p-B4NCaKrR.js +0 -1
  727. package/dist/components/p-BJh68Jqe.js +0 -1
  728. package/dist/components/p-BrAFTkAn.js +0 -1
  729. package/dist/components/p-Bsh0JMGf.js +0 -1
  730. package/dist/components/p-CJW9H3Gi.js +0 -1
  731. package/dist/components/p-CWCYYQrF.js +0 -1
  732. package/dist/components/p-D9T7zKeL.js +0 -1
  733. package/dist/components/p-DFHRS9cJ.js +0 -1
  734. package/dist/components/p-DTPYZwaZ.js +0 -1
  735. package/dist/components/p-Dcg4krSX.js +0 -1
  736. package/dist/components/p-Dh8ffSjK.js +0 -1
@@ -749,6 +749,33 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
749
749
  border-color: transparent;
750
750
  }
751
751
 
752
+ /* ── Variant: soft (Task C5) — fondo --co-semantic-surface-control sólido, borde transparente.
753
+ Mismo motivo que `flat` arriba: va ANTES del bloque open/focus-visible/
754
+ status/disabled de más abajo para que, con la MISMA especificidad
755
+ (0,2,0), esos estados sigan ganando el empate por orden de fuente — si
756
+ no, un select `soft` con `status="error"`/disabled perdía el borde de
757
+ estado y, abierto o enfocado, no mostraba el anillo de foco (bug de
758
+ cascada detectado en review, mismo patrón que `co-input`). El ancho del
759
+ borde no cambia (1px, solo pasa a transparente), así que la caja
760
+ tampoco. */
761
+ .co-select--soft .co-select__trigger {
762
+ background: var(--co-semantic-surface-control);
763
+ border-color: transparent;
764
+ color: var(--co-semantic-text-default);
765
+ }
766
+
767
+ /* ── label-style="inline-help" (Task C5) — borde/gap del trigger.
768
+ Mismo motivo que `soft` arriba: el override de `border-color` tiene que
769
+ perder contra open/focus-visible/status/disabled más abajo (misma
770
+ especificidad, 0,2,0), así que ese pedazo de la regla vive acá. El resto
771
+ de `inline-help` (tipografía de la fila de etiqueta, caret gray-600) no
772
+ compite con nada — sigue donde estaba, en la sección "Editor UI fase 2"
773
+ más abajo. */
774
+ .co-select--inline-help .co-select__trigger {
775
+ border-color: var(--co-semantic-border-default);
776
+ gap: var(--co-spacing-sm);
777
+ }
778
+
752
779
  /* ── Multiple: selected values as removable chips (mirror co-ref-field) ── */
753
780
  .co-select__chips {
754
781
  flex: 1;
@@ -902,8 +929,29 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
902
929
  }
903
930
 
904
931
  /* ── Dropdown ───────────────────────────────────────────────── */
932
+ /* Knobs del menú (aditivos). Cada fallback es el valor de 0.10.x, así que
933
+ sin setearlos el panel mide lo mismo que siempre (medido en Chromium):
934
+
935
+ - `--co-select-menu-padding` padding del panel (default 8px)
936
+ - `--co-select-menu-gap` hueco ENTRE filas (default 0)
937
+ - `--co-select-option-height` alto de fila, explícito (default: sin
938
+ alto fijo, `min-height: 32px` como hoy)
939
+ - `--co-select-option-padding` padding de fila (default 8px 12px)
940
+ - `--co-select-option-gap` hueco check/ícono ↔ texto (default 8px)
941
+ - `--co-select-option-font-size` texto de la opción (default 14px)
942
+ - `--co-select-option-font-weight` (default 400)
943
+
944
+ Alto y hueco de fila son también la geometría del virtualizador: el
945
+ componente los lee al abrir y pagina/scrollea con paso = alto + hueco
946
+ (`virtualRows.ts`). Sin `--co-select-option-height` sigue el paso de 0.10.x
947
+ (34, dos más que la fila de 32). Con un alto chico, bajá también el
948
+ padding de fila: con `border-box` la fila nunca mide menos que su padding.
949
+
950
+ Los fallbacks siguen pasando por los tokens de siempre (`--co-spacing-sm2`,
951
+ `--co-spacing-md`, `--co-font-size-14`), así que redefinir esos tokens en el
952
+ host sigue alcanzando al menú igual que antes. */
905
953
  .co-select__dropdown {
906
- padding: var(--co-spacing-sm2);
954
+ padding: var(--co-select-menu-padding, var(--co-spacing-sm2));
907
955
  }
908
956
 
909
957
  .co-select__search {
@@ -950,10 +998,21 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
950
998
  }
951
999
 
952
1000
  .co-select__options {
953
- max-height: calc(34px * 8);
1001
+ /* 8 filas visibles = 8 altos + 7 huecos (VIEWPORT_ITEMS en el tsx). Sin
1002
+ knobs: 8 × 34 = 272, el mismo `calc(34px * 8)` de 0.10.x. */
1003
+ max-height: calc(var(--co-select-option-height, 34px) * 8 + var(--co-select-menu-gap, 0px) * 7);
954
1004
  overflow-y: auto;
955
1005
  }
956
1006
 
1007
+ /* Ventana del virtualizador (las filas renderizadas). Columna flex solo para
1008
+ poner el hueco ENTRE filas: con hueco 0 apila igual que el bloque de antes
1009
+ (filas de ancho completo, sin márgenes). */
1010
+ .co-select__virtual-window {
1011
+ display: flex;
1012
+ flex-direction: column;
1013
+ gap: var(--co-select-menu-gap, 0px);
1014
+ }
1015
+
957
1016
  /* OverlayScrollbars theme — floating handle, no reserved gutter.
958
1017
  * Custom props pierce the shadow boundary, so --co-* tokens resolve here. */
959
1018
  .os-scrollbar.os-theme-co {
@@ -971,18 +1030,23 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
971
1030
  .co-select__option {
972
1031
  display: flex;
973
1032
  align-items: center;
974
- gap: var(--co-spacing-sm2);
975
- padding: var(--co-spacing-sm2) var(--co-spacing-md);
1033
+ gap: var(--co-select-option-gap, var(--co-spacing-sm2));
1034
+ padding: var(--co-select-option-padding, var(--co-spacing-sm2) var(--co-spacing-md));
976
1035
  border-radius: var(--co-border-radius-xs);
977
1036
  cursor: pointer;
978
1037
  transition: background var(--co-motion-duration-fast) var(--co-motion-ease-out);
979
- min-height: 32px;
1038
+ /* Sin knob: alto automático con piso de 32, como siempre. Con knob: alto
1039
+ EXPLÍCITO (`height` y `min-height` al mismo valor). */
1040
+ height: var(--co-select-option-height, auto);
1041
+ min-height: var(--co-select-option-height, 32px);
980
1042
  box-sizing: border-box;
981
1043
  }
982
1044
 
983
- .co-select__option:hover {
984
- background: var(--co-semantic-surface-hover);
985
- }
1045
+ /* Sin `:hover` en las filas, a propósito: el puntero mueve la opción ACTIVA
1046
+ (`pointermove` en el tsx) y lo único que pinta el resaltado es
1047
+ `--active`. Con `:hover` pintando por su cuenta había DOS filas resaltadas
1048
+ a la vez — la activa por teclado y la de abajo del mouse. Lo fija
1049
+ `co-select.css.test.ts`. */
986
1050
 
987
1051
  .co-select__option--selected {
988
1052
  background: var(--co-semantic-surface-muted);
@@ -1011,8 +1075,8 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
1011
1075
  .co-select__option-label {
1012
1076
  flex: 1;
1013
1077
  color: var(--co-semantic-text-default);
1014
- font-size: var(--co-font-size-14);
1015
- font-weight: 400;
1078
+ font-size: var(--co-select-option-font-size, var(--co-font-size-14));
1079
+ font-weight: var(--co-select-option-font-weight, 400);
1016
1080
  line-height: 1;
1017
1081
  }
1018
1082
 
@@ -1096,3 +1160,123 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
1096
1160
  content: var(--co-field-required-text, ' (required)');
1097
1161
  }
1098
1162
 
1163
+ /* ══════════════════════════════════════════════════════════════
1164
+ Editor UI fase 2 (Task C5) — aditivo: nada de lo de arriba cambia.
1165
+ ══════════════════════════════════════════════════════════════ */
1166
+
1167
+ /* ── size="xs" (24 px, escala unificada de campos) ─────────────── */
1168
+ .co-select--xs .co-select__trigger {
1169
+ min-height: 24px;
1170
+ padding: 0 var(--co-spacing-sm);
1171
+ font-size: var(--co-font-size-12);
1172
+ border-radius: var(--co-border-radius-xxs);
1173
+ }
1174
+
1175
+ /* variant="soft": el override del trigger (background/border-color) vive
1176
+ junto a `--flat`, más arriba (cascada — ver comentario ahí). */
1177
+
1178
+ /* ── --co-select-caret-size / --co-select-caret-color ────────────
1179
+ Hooks aditivos para ajustar el caret desde afuera sin nueva prop
1180
+ (p.ej. el editor lo usa a 8px + text-default, con icon-left a 14px).
1181
+ Ambos fallbacks son el valor ACTUAL — sin setear la variable el look
1182
+ no cambia un pixel:
1183
+ - Tamaño: default 16px, igual al `size` fijo que ya traía el
1184
+ `co-icon`. El `!important` es necesario porque `co-icon` fija su
1185
+ propio ancho/alto inline en el estilo de su Host — eso gana por
1186
+ especificidad a cualquier regla externa salvo `!important`.
1187
+ - Color: default `text-muted` (gray-500), igual a la regla original de
1188
+ `.co-select__caret` más arriba en este archivo. La referencia Figma
1189
+ 4-#14 (negro / text-default) es el look que arma el EDITOR seteando
1190
+ `--co-select-caret-color: var(--co-semantic-text-default)` desde su
1191
+ propio CSS (ver story `Xs`/`Soft`) — cobalt-core no cambia su
1192
+ default aunque el brief original lo pidiera así (aditivo > brief:
1193
+ "jamás cambiar defaults" gana). El caso 6-#10 (gray-600) lo cubre el
1194
+ override de `label-style="inline-help"` de más abajo, que sigue
1195
+ aplicando sobre CUALQUIER valor de esta variable. */
1196
+ .co-select__caret {
1197
+ width: var(--co-select-caret-size, 16px) !important;
1198
+ height: var(--co-select-caret-size, 16px) !important;
1199
+ color: var(--co-select-caret-color, var(--co-semantic-text-muted));
1200
+ }
1201
+
1202
+ /* ── icon-size (icon-left) ────────────────────────────────────────
1203
+ Sin CSS propio: `iconSize` pasa directo al `size` del `co-icon` en
1204
+ el .tsx (default 16, igual a hoy). */
1205
+
1206
+ /* ── label-style="inline-help" ────────────────────────────────────
1207
+ Fila de etiqueta en una sola línea (label a la izquierda,
1208
+ secondaryLabel a la derecha, alineados a la línea de base) pensada
1209
+ para el modal de configuración; el trigger usa un borde más marcado
1210
+ y un gap más chico para ese contexto. `.co-select__labels` ya es
1211
+ flex + space-between por default — acá solo se ajustan alineación,
1212
+ tipografía/color y el trigger. */
1213
+ .co-select--inline-help .co-select__labels {
1214
+ align-items: baseline;
1215
+ }
1216
+
1217
+ .co-select--inline-help .co-select__label {
1218
+ color: var(--co-semantic-text-default);
1219
+ font-size: var(--co-font-size-14);
1220
+ }
1221
+
1222
+ .co-select--inline-help .co-select__secondary-label {
1223
+ color: var(--co-semantic-text-secondary);
1224
+ font-size: var(--co-font-size-12);
1225
+ }
1226
+
1227
+ /* label-style="inline-help": el override de borde/gap del trigger vive
1228
+ junto a `--flat`/`--soft`, más arriba (cascada — ver comentario ahí). */
1229
+
1230
+ /* Caret gray-600 en este layout puntual (Figma 6-#10), pisando el
1231
+ default text-default de arriba. */
1232
+ .co-select--inline-help .co-select__caret {
1233
+ color: var(--co-color-gray-600);
1234
+ }
1235
+
1236
+ /* ── menu-surface="dark" ──────────────────────────────────────────
1237
+ El panel pinta su propia lista (no delega en co-menu/co-option-list),
1238
+ así que replica acá lo que pide C9 para co-menu-item: fondo
1239
+ surface-primary, texto inverse, hover blanco-16 y el check de la
1240
+ opción seleccionada al INICIO con el hueco siempre reservado
1241
+ (leading-check). El layout "light" (default) no se toca. */
1242
+ .co-select__dropdown--dark {
1243
+ background: var(--co-semantic-surface-primary);
1244
+ color: var(--co-semantic-text-inverse);
1245
+ /* El co-popover va `bare` en dark (ver tsx): el radio lo pone este panel.
1246
+ Radio xs (8) como el menú Lineal/Radial del Figma (4750:23242); sin
1247
+ borde ni sombra (el diseño no los lleva). */
1248
+ border-radius: var(--co-border-radius-xs, 8px);
1249
+ }
1250
+
1251
+ .co-select__dropdown--dark .co-select__option-label {
1252
+ color: var(--co-semantic-text-inverse);
1253
+ }
1254
+
1255
+ /* On-dark la opción seleccionada se indica solo con el check inicial,
1256
+ sin fondo propio (mismo criterio que `co-menu-item` on-dark). Va ANTES
1257
+ que la activa (misma especificidad, empate por orden de fuente) para
1258
+ que, igual que en "light" (ver comentario de `.co-select__option--active`
1259
+ más arriba), la activa por teclado siga ganándole a la seleccionada — si
1260
+ no, un usuario de teclado sobre una opción ya elegida perdería el
1261
+ resaltado y no vería dónde está parado. */
1262
+ .co-select__dropdown--dark .co-select__option--selected {
1263
+ background: transparent;
1264
+ }
1265
+
1266
+ /* Solo `--active`, sin `:hover`: el resaltado es uno (ver `.co-select__option`). */
1267
+ .co-select__dropdown--dark .co-select__option--active {
1268
+ background: var(--co-color-opacity-blanco-16);
1269
+ }
1270
+
1271
+ .co-select__option-check-slot {
1272
+ flex-shrink: 0;
1273
+ display: flex;
1274
+ align-items: center;
1275
+ justify-content: center;
1276
+ width: 12px;
1277
+ }
1278
+
1279
+ .co-select__option-check--leading {
1280
+ color: inherit;
1281
+ }
1282
+
@@ -2,6 +2,7 @@ import { h } from "@stencil/core";
2
2
  import { RequiredMark } from "../../utils/requiredMark";
3
3
  import { OverlayScrollbars } from "overlayscrollbars";
4
4
  import { highlightSegments, rankByMatch } from "../../utils/normalizeText";
5
+ import { LEGACY_ROW_METRICS, resolveRowMetrics, scrollTopToReveal, virtualSlice } from "./virtualRows";
5
6
  export class CoSelect {
6
7
  constructor() {
7
8
  /** Whether the field is required (renders a required marker on the label). */
@@ -18,9 +19,22 @@ export class CoSelect {
18
19
  this.size = 'md';
19
20
  /** Visual style. `flat` strips the trigger's border and background so it
20
21
  * reads as plain content instead of a boxed control — padding, label,
21
- * focus ring, disabled and status states are unaffected. `default` (the
22
- * standard bordered box) renders identically to before this prop existed. */
22
+ * focus ring, disabled and status states are unaffected. `soft` pinta un
23
+ * fondo `gray-100` sólido con borde transparente (mismo grosor que el
24
+ * default, no cambia el tamaño de la caja). `default` (the standard
25
+ * bordered box) renders identically to before this prop existed. */
23
26
  this.variant = 'default';
27
+ /** Layout de la fila de etiqueta. `inline-help` la muestra en una sola fila
28
+ * (`label` a la izquierda, `secondaryLabel` a la derecha, alineados a la
29
+ * línea de base) y ajusta el borde/gap del trigger para ese contexto
30
+ * (modal). `default` mantiene el layout actual (labels apiladas arriba,
31
+ * centradas verticalmente entre sí). */
32
+ this.labelStyle = 'default';
33
+ /** Superficie del panel desplegable. `dark` = fondo `surface-primary` +
34
+ * texto `text-inverse`, con el check de la opción seleccionada al
35
+ * INICIO (hueco siempre reservado, como `co-menu-item leadingCheck`).
36
+ * `light` (default) conserva el panel y el check al final tal cual hoy. */
37
+ this.menuSurface = 'light';
24
38
  /** Show a search box inside the dropdown to filter options client-side. */
25
39
  this.searchable = false;
26
40
  this.searchPlaceholder = 'Search…';
@@ -39,12 +53,41 @@ export class CoSelect {
39
53
  * Patrón APG de combobox: el foco NUNCA baja a las opciones — queda en el
40
54
  * trigger (o en el search input) y esto viaja por `aria-activedescendant`. */
41
55
  this.activeIndex = -1;
56
+ /** Alto y hueco de fila con los que virtualiza la lista. Se leen de los knobs
57
+ * del menú (`--co-select-option-height`, `--co-select-menu-gap`) en cada
58
+ * apertura; sin knobs, el paso histórico de 34 (ver `virtualRows.ts`). */
59
+ this.rowMetrics = LEGACY_ROW_METRICS;
42
60
  /** Scroll pendiente hacia la opción activa, resuelto en componentDidRender. */
43
61
  this.pendingActiveScroll = false;
44
62
  this.activeScrollFrames = 0;
45
63
  this.lastParsedOptions = [];
46
64
  this.lastRankSearch = '';
47
65
  this.lastRanked = [];
66
+ /** Valor en px de una custom property heredada por el host, o `null` si no
67
+ * está seteada o no resuelve a px. El caso común (`12px`, o un token `--co-*`
68
+ * en px, que ya llega sustituido) se lee directo; cualquier otra forma
69
+ * (`calc()`, `rem`…) la resuelve el motor CSS sobre un nodo de prueba
70
+ * `display: none` que vive solo durante la lectura. */
71
+ this.readCssLengthPx = (cssVar) => {
72
+ if (typeof getComputedStyle !== 'function')
73
+ return null;
74
+ const raw = getComputedStyle(this.el).getPropertyValue(cssVar).trim();
75
+ if (!raw)
76
+ return null;
77
+ const px = /^(-?\d*\.?\d+)px$/.exec(raw);
78
+ if (px)
79
+ return parseFloat(px[1]);
80
+ const root = this.el.shadowRoot;
81
+ if (!root)
82
+ return null;
83
+ const probe = document.createElement('div');
84
+ probe.style.display = 'none';
85
+ probe.style.setProperty('height', `var(${cssVar})`);
86
+ root.appendChild(probe);
87
+ const resolved = getComputedStyle(probe).height;
88
+ probe.remove();
89
+ return /px$/.test(resolved) ? parseFloat(resolved) : null;
90
+ };
48
91
  this.handleSearchInput = (e) => {
49
92
  this.searchText = e.target.value;
50
93
  this.scrollTop = 0;
@@ -128,6 +171,24 @@ export class CoSelect {
128
171
  e.preventDefault();
129
172
  return true;
130
173
  };
174
+ /** El puntero MUEVE la activa: hay un solo resaltado, el de `--active`, y el
175
+ * CSS ya no pinta `:hover` en las filas. Con los dos canales se veían DOS
176
+ * filas resaltadas a la vez (la activa por teclado y la de abajo del mouse).
177
+ *
178
+ * `pointermove` y no `mouseenter`/`mouseover`: cuando el TECLADO scrollea la
179
+ * lista bajo un mouse quieto, el navegador actualiza el hover y dispara esos
180
+ * eventos de borde, pero no un `pointermove` — la activa del teclado no se la
181
+ * roba una fila que pasó por debajo del cursor (medido en Chromium).
182
+ *
183
+ * Sin `scrollActiveIntoView`: la fila ya está bajo el puntero, scrollear la
184
+ * haría saltar. El toque no cuenta: arrastrar el dedo es scrollear. Una fila
185
+ * deshabilitada no llega acá (`pointer-events: none`). */
186
+ this.handleOptionPointerMove = (e, index) => {
187
+ if (e.pointerType === 'touch')
188
+ return;
189
+ if (this.activeIndex !== index)
190
+ this.activeIndex = index;
191
+ };
131
192
  /** Alinea el scroll REAL con la ventana virtual ya renderizada.
132
193
  *
133
194
  * Escribe `scrollTop` DIRECTO sobre el viewport de OverlayScrollbars: el
@@ -153,8 +214,9 @@ export class CoSelect {
153
214
  if (Math.abs(viewport.scrollTop - target) <= 1) {
154
215
  this.pendingActiveScroll = false;
155
216
  this.activeScrollFrames = 0;
156
- // Afinado dentro del slice ya visible (las alturas reales de fila no son
157
- // exactamente ITEM_HEIGHT). jsdom no implementa scrollIntoView.
217
+ // Afinado dentro del slice ya visible (sin `--co-select-option-height`
218
+ // las filas miden 32 y el paso histórico es 34). jsdom no implementa
219
+ // scrollIntoView.
158
220
  (_e = (_d = (_c = this.el.shadowRoot) === null || _c === void 0 ? void 0 : _c.getElementById(this.optionId(this.activeIndex))) === null || _d === void 0 ? void 0 : _d.scrollIntoView) === null || _e === void 0 ? void 0 : _e.call(_d, { block: 'nearest' });
159
221
  return;
160
222
  }
@@ -325,6 +387,8 @@ export class CoSelect {
325
387
  onOpenChange(open) {
326
388
  if (open) {
327
389
  this.scrollTop = 0;
390
+ // ANTES de la activa: su scroll inicial se calcula con el paso de fila.
391
+ this.rowMetrics = resolveRowMetrics(this.readCssLengthPx);
328
392
  this.resetActiveIndex();
329
393
  if (this.searchable)
330
394
  this.focusSearchWhenVisible();
@@ -357,7 +421,6 @@ export class CoSelect {
357
421
  /** Deja la opción activa dentro de la ventana virtual (state) y agenda el
358
422
  * scroll real para después del próximo render. */
359
423
  scrollActiveIntoView() {
360
- const { ITEM_HEIGHT, VIEWPORT_ITEMS } = CoSelect;
361
424
  const index = this.activeIndex;
362
425
  if (!(index >= 0))
363
426
  return;
@@ -365,13 +428,10 @@ export class CoSelect {
365
428
  // (apertura con la selección abajo, Home/End, wrap) no tendría nodo — y el
366
429
  // `aria-activedescendant` quedaría colgado. Se empuja la posición virtual
367
430
  // para que el próximo slice lo incluya.
368
- const top = index * ITEM_HEIGHT;
369
- const viewportH = ITEM_HEIGHT * VIEWPORT_ITEMS;
370
431
  const from = this.scrollTop || 0;
371
- if (top < from)
372
- this.scrollTop = top;
373
- else if (top + ITEM_HEIGHT > from + viewportH)
374
- this.scrollTop = top + ITEM_HEIGHT - viewportH;
432
+ const next = scrollTopToReveal(index, from, this.metrics, CoSelect.VIEWPORT_ITEMS);
433
+ if (next !== from)
434
+ this.scrollTop = next;
375
435
  // El scroll REAL se resuelve en componentDidRender, no en un rAF suelto:
376
436
  // al abrir, el @Watch('isOpen') corre ANTES de que Stencil agende el
377
437
  // re-render, así que un rAF pedido acá se ejecutaría con el slice viejo
@@ -448,17 +508,17 @@ export class CoSelect {
448
508
  return label;
449
509
  return segs.map((s) => (s.match ? h("span", { class: "co-select__match" }, s.text) : s.text));
450
510
  }
511
+ /** `?? LEGACY`: el harness de specs no siembra inicializadores de campo en
512
+ * todos los casos; en el build real `rowMetrics` siempre existe. */
513
+ get metrics() {
514
+ var _a;
515
+ return (_a = this.rowMetrics) !== null && _a !== void 0 ? _a : LEGACY_ROW_METRICS;
516
+ }
451
517
  getVirtualSlice(items) {
452
- const { ITEM_HEIGHT, VIEWPORT_ITEMS, OVERSCAN } = CoSelect;
453
- const total = items.length;
454
- const totalHeight = total * ITEM_HEIGHT;
455
- const startIdx = Math.max(0, Math.floor(this.scrollTop / ITEM_HEIGHT) - OVERSCAN);
456
- const endIdx = Math.min(total, startIdx + VIEWPORT_ITEMS + OVERSCAN * 2);
457
- const offsetY = startIdx * ITEM_HEIGHT;
458
- return { totalHeight, startIdx, endIdx, offsetY };
518
+ return virtualSlice(items.length, this.scrollTop || 0, this.metrics, CoSelect.VIEWPORT_ITEMS, CoSelect.OVERSCAN);
459
519
  }
460
520
  render() {
461
- var _a;
521
+ var _a, _b;
462
522
  const selected = this.selectedValues;
463
523
  const options = this.filteredOptions;
464
524
  // Se calcula UNA vez sobre `options` (no en un getter): el virtualizador
@@ -468,25 +528,36 @@ export class CoSelect {
468
528
  const activeOptionId = this.isOpen && this.activeIndex >= 0 && this.activeIndex < options.length
469
529
  ? this.optionId(this.activeIndex)
470
530
  : undefined;
471
- return (h("div", { key: '902da0519e9fe96401f5339a3b46a66c94efd3de', class: {
531
+ return (h("div", { key: 'f81d018b6e9057cca5f558a40a66a67429efca39', class: {
472
532
  'co-select': true,
473
533
  'co-select--open': this.isOpen,
474
534
  'co-select--disabled': this.disabled,
475
535
  [`co-select--${this.size}`]: true,
476
536
  [`co-select--${this.status}`]: this.status !== 'default',
477
537
  'co-select--flat': this.variant === 'flat',
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) => {
538
+ 'co-select--soft': this.variant === 'soft',
539
+ 'co-select--inline-help': this.labelStyle === 'inline-help',
540
+ } }, (this.label || this.secondaryLabel) && (h("div", { key: 'b8875d28b27b28f35ea679451e05f384e247a590', class: "co-select__labels" }, this.label && h("label", { key: '8267dfe3118bc0abdfc7d7f69df3f4f508ec0f85', class: "co-select__label" }, this.label, h(RequiredMark, { key: '7171c44a6cc349fcc1015135f59b3cf00a41ed68', required: this.required })), this.secondaryLabel && h("span", { key: '64ac3ddf910b79290f1fae86ecfc302923fe5c38', class: "co-select__secondary-label" }, this.secondaryLabel))), h("co-popover", { key: '06e574f6d59174e09c819b768c25220f0d07f80d', open: this.isOpen, placement: "bottom-start", matchWidth: true, offset: 4,
541
+ // menuSurface="dark": el panel oscuro pinta su propio chrome (fondo
542
+ // negro, radio xs, sin borde ni sombra — Figma 4750:23242), así que
543
+ // el co-popover va `bare` para no sumar el borde hairline ni la
544
+ // sombra del panel claro (y cualquier --co-popover-shadow heredada
545
+ // del contexto). En "light" (default) no cambia nada.
546
+ bare: this.menuSurface === 'dark', onCoOpen: this.handlePopoverOpen, onCoClose: this.handlePopoverClose }, h("div", { key: '2e5530aabda382b68dca90c65cb3c908403d3ae1', 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: '7c1f995379b3d775905d586023248fa9a6c7673c', name: this.iconLeft, size: (_a = this.iconSize) !== null && _a !== void 0 ? _a : 16, class: "co-select__icon" })), ((_b = this.selectedOption) === null || _b === void 0 ? void 0 : _b.image) && (h("img", { key: '0b22e952aac603604d80d670ff142147852d9e6c', class: "co-select__flag", src: this.selectedOption.image, alt: "" })), this.multiple && this.hasValue ? (h("div", { class: "co-select__chips" }, this.selectedValues.map((v) => {
479
547
  const opt = this.parsedOptions.find((o) => o.value === v);
480
548
  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
549
  e.stopPropagation();
482
550
  this.handleOptionClick(v);
483
551
  } }, 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: '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 && (() => {
552
+ }))) : (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: '6373aacf7257463c045b5ca7f3df2436ca69e0a5', class: "co-select__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: 'cb76f5e754e330553833c9c242b70323595bb16c', name: "x-circle", size: 16, weight: "fill" }))), h("co-icon", { key: 'abadb4134656649cf72ffbdb3f4438058bdfca15', name: this.isOpen ? 'caret-up' : 'caret-down', size: 16, class: "co-select__caret" })), h("div", { key: 'c83a9bd2367dfcbb75e42c2e5640c2ebf5cf6e5b', class: {
553
+ 'co-select__dropdown': true,
554
+ 'co-select__dropdown--dark': this.menuSurface === 'dark',
555
+ } }, this.isOpen && this.searchable && (h("div", { key: 'df705652347737ed23ec60d4f6c0bfd8d7debd5a', class: "co-select__search" }, h("co-icon", { key: '8a59fced83b93044ed59c804f17c056c262845f1', name: "magnifying-glass", size: 16, class: "co-select__search-icon" }), h("input", { key: '648f16cc6bdd726ae0c3e00be4957c9578dac035', 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: '2548a14f6a7a47c74467ad3f61c7950df242616d', class: "co-select__empty" }, this.emptyText)), h("div", { key: 'f09eaf5dbdfa2cf73ddb6e3e4560dd72e7cc26a4', class: "co-select__options", id: CoSelect.LISTBOX_ID, role: "listbox", "aria-multiselectable": this.multiple ? 'true' : undefined, ref: (el) => (this.optionsContainerEl = el) }, this.isOpen && (() => {
485
556
  const { totalHeight, startIdx, endIdx, offsetY } = this.getVirtualSlice(options);
486
557
  return (
487
558
  // Los wrappers del virtualizador van `presentation` para que las
488
559
  // opciones sigan siendo hijas del listbox en el árbol de a11y.
489
- h("div", { role: "presentation", class: "co-select__virtual-spacer", style: { height: `${totalHeight}px`, position: 'relative' } }, h("div", { role: "presentation", style: { position: 'absolute', top: `${offsetY}px`, left: '0', right: '0' } }, options.slice(startIdx, endIdx).map((opt, i) => {
560
+ h("div", { role: "presentation", class: "co-select__virtual-spacer", style: { height: `${totalHeight}px`, position: 'relative' } }, h("div", { role: "presentation", class: "co-select__virtual-window", style: { position: 'absolute', top: `${offsetY}px`, left: '0', right: '0' } }, options.slice(startIdx, endIdx).map((opt, i) => {
490
561
  const index = startIdx + i;
491
562
  const isSelected = selected.includes(opt.value);
492
563
  const isDisabled = !!opt.disabled;
@@ -495,9 +566,9 @@ export class CoSelect {
495
566
  'co-select__option--selected': isSelected,
496
567
  'co-select__option--disabled': isDisabled,
497
568
  'co-select__option--active': index === this.activeIndex,
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" })));
569
+ }, onClick: () => !isDisabled && this.handleOptionClick(opt.value), onPointerMove: (e) => this.handleOptionPointerMove(e, index) }, this.menuSurface === 'dark' && (h("span", { class: "co-select__option-check-slot" }, isSelected && (h("co-icon", { name: "check", size: 12, class: "co-select__option-check co-select__option-check--leading" })))), 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 && this.menuSurface !== 'dark' && (h("co-icon", { name: "check", size: 16, class: "co-select__option-check" }))));
499
570
  }))));
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)))));
571
+ })()), this.isOpen && this.showFooter && (h("co-list-footer", { key: 'a8ccc1cfac2642b880653a16f19fc768f45050b3', class: "co-select__footer", primaryLabel: this.footerPrimaryLabel, primaryIcon: "check", onCoPrimary: this.handleFooterPrimary })))), this.helperText && (h("div", { key: '2ba1d5f26b6c64b81257658b0f5774b1480e3a82', class: `co-select__helper co-select__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: 'd5fb9bf114c88f281ca50026dc12b25fc64f2660', name: this.statusIcon, size: 14, class: "co-select__helper-icon" }), h("span", { key: '70ad047f17a30c7e5d06026ca8dfeda603be312e', class: "co-select__helper-text" }, this.helperText)))));
501
572
  }
502
573
  static get is() { return "co-select"; }
503
574
  static get encapsulation() { return "shadow"; }
@@ -649,6 +720,25 @@ export class CoSelect {
649
720
  "reflect": false,
650
721
  "attribute": "icon-left"
651
722
  },
723
+ "iconSize": {
724
+ "type": "number",
725
+ "mutable": false,
726
+ "complexType": {
727
+ "original": "number",
728
+ "resolved": "number | undefined",
729
+ "references": {}
730
+ },
731
+ "required": false,
732
+ "optional": true,
733
+ "docs": {
734
+ "tags": [],
735
+ "text": "Tama\u00F1o (px) del `co-icon` de `iconLeft`. Sin setear, conserva el actual (16)."
736
+ },
737
+ "getter": false,
738
+ "setter": false,
739
+ "reflect": false,
740
+ "attribute": "icon-size"
741
+ },
652
742
  "clearable": {
653
743
  "type": "boolean",
654
744
  "mutable": false,
@@ -737,7 +827,7 @@ export class CoSelect {
737
827
  "references": {
738
828
  "SelectOption": {
739
829
  "location": "local",
740
- "path": "/Users/agox/worktrees/cobalt-release-0.10.3/packages/core/src/components/co-select/co-select.tsx",
830
+ "path": "/Users/agox/worktrees/cobalt-release-2026-09-24/packages/core/src/components/co-select/co-select.tsx",
741
831
  "id": "src/components/co-select/co-select.tsx::SelectOption"
742
832
  }
743
833
  }
@@ -798,8 +888,8 @@ export class CoSelect {
798
888
  "type": "string",
799
889
  "mutable": false,
800
890
  "complexType": {
801
- "original": "'s' | 'sm' | 'md' | 'lg'",
802
- "resolved": "\"lg\" | \"md\" | \"s\" | \"sm\"",
891
+ "original": "'xs' | 's' | 'sm' | 'md' | 'lg'",
892
+ "resolved": "\"lg\" | \"md\" | \"s\" | \"sm\" | \"xs\"",
803
893
  "references": {}
804
894
  },
805
895
  "required": false,
@@ -818,15 +908,15 @@ export class CoSelect {
818
908
  "type": "string",
819
909
  "mutable": false,
820
910
  "complexType": {
821
- "original": "'default' | 'flat'",
822
- "resolved": "\"default\" | \"flat\"",
911
+ "original": "'default' | 'flat' | 'soft'",
912
+ "resolved": "\"default\" | \"flat\" | \"soft\"",
823
913
  "references": {}
824
914
  },
825
915
  "required": false,
826
916
  "optional": false,
827
917
  "docs": {
828
918
  "tags": [],
829
- "text": "Visual style. `flat` strips the trigger's border and background so it\nreads as plain content instead of a boxed control \u2014 padding, label,\nfocus ring, disabled and status states are unaffected. `default` (the\nstandard bordered box) renders identically to before this prop existed."
919
+ "text": "Visual style. `flat` strips the trigger's border and background so it\nreads as plain content instead of a boxed control \u2014 padding, label,\nfocus ring, disabled and status states are unaffected. `soft` pinta un\nfondo `gray-100` s\u00F3lido con borde transparente (mismo grosor que el\ndefault, no cambia el tama\u00F1o de la caja). `default` (the standard\nbordered box) renders identically to before this prop existed."
830
920
  },
831
921
  "getter": false,
832
922
  "setter": false,
@@ -834,6 +924,46 @@ export class CoSelect {
834
924
  "attribute": "variant",
835
925
  "defaultValue": "'default'"
836
926
  },
927
+ "labelStyle": {
928
+ "type": "string",
929
+ "mutable": false,
930
+ "complexType": {
931
+ "original": "'default' | 'inline-help'",
932
+ "resolved": "\"default\" | \"inline-help\"",
933
+ "references": {}
934
+ },
935
+ "required": false,
936
+ "optional": false,
937
+ "docs": {
938
+ "tags": [],
939
+ "text": "Layout de la fila de etiqueta. `inline-help` la muestra en una sola fila\n(`label` a la izquierda, `secondaryLabel` a la derecha, alineados a la\nl\u00EDnea de base) y ajusta el borde/gap del trigger para ese contexto\n(modal). `default` mantiene el layout actual (labels apiladas arriba,\ncentradas verticalmente entre s\u00ED)."
940
+ },
941
+ "getter": false,
942
+ "setter": false,
943
+ "reflect": true,
944
+ "attribute": "label-style",
945
+ "defaultValue": "'default'"
946
+ },
947
+ "menuSurface": {
948
+ "type": "string",
949
+ "mutable": false,
950
+ "complexType": {
951
+ "original": "'light' | 'dark'",
952
+ "resolved": "\"dark\" | \"light\"",
953
+ "references": {}
954
+ },
955
+ "required": false,
956
+ "optional": false,
957
+ "docs": {
958
+ "tags": [],
959
+ "text": "Superficie del panel desplegable. `dark` = fondo `surface-primary` +\ntexto `text-inverse`, con el check de la opci\u00F3n seleccionada al\nINICIO (hueco siempre reservado, como `co-menu-item leadingCheck`).\n`light` (default) conserva el panel y el check al final tal cual hoy."
960
+ },
961
+ "getter": false,
962
+ "setter": false,
963
+ "reflect": true,
964
+ "attribute": "menu-surface",
965
+ "defaultValue": "'light'"
966
+ },
837
967
  "searchable": {
838
968
  "type": "boolean",
839
969
  "mutable": false,
@@ -1001,7 +1131,8 @@ export class CoSelect {
1001
1131
  }];
1002
1132
  }
1003
1133
  }
1004
- CoSelect.ITEM_HEIGHT = 34;
1134
+ /** Filas visibles sin scroll. Es el mismo 8 del `max-height` de
1135
+ * `.co-select__options` (8 altos + 7 huecos): si cambia uno, cambia el otro. */
1005
1136
  CoSelect.VIEWPORT_ITEMS = 8;
1006
1137
  CoSelect.OVERSCAN = 3;
1007
1138
  /** Ids del shadow root (únicos por instancia sin sufijos aleatorios).