@prolibu-suite/cobalt-core 0.11.0 → 0.11.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 (651) hide show
  1. package/README.md +12 -5
  2. package/custom-elements.json +2738 -802
  3. package/dist/cjs/co-accordion.cjs.entry.js +2 -2
  4. package/dist/cjs/co-action-bar.cjs.entry.js +2 -2
  5. package/dist/cjs/co-app-shell.cjs.entry.js +2 -2
  6. package/dist/cjs/co-audio-player.cjs.entry.js +3 -3
  7. package/dist/cjs/co-autocomplete.cjs.entry.js +10 -3
  8. package/dist/cjs/co-avatar-group.cjs.entry.js +2 -2
  9. package/dist/cjs/co-avatar.cjs.entry.js +1 -1
  10. package/dist/cjs/co-badge.cjs.entry.js +1 -1
  11. package/dist/cjs/co-bottom-sheet.cjs.entry.js +4 -4
  12. package/dist/cjs/co-breadcrumb-item.cjs.entry.js +2 -2
  13. package/dist/cjs/co-breadcrumb.cjs.entry.js +1 -1
  14. package/dist/cjs/co-button-group.cjs.entry.js +3 -2
  15. package/dist/cjs/co-button.cjs.entry.js +6 -6
  16. package/dist/cjs/co-calendar-month_2.cjs.entry.js +14 -2
  17. package/dist/cjs/co-calendar_3.cjs.entry.js +9 -5
  18. package/dist/cjs/co-card.cjs.entry.js +2 -2
  19. package/dist/cjs/co-carousel.cjs.entry.js +5 -2
  20. package/dist/cjs/co-checkbox-group.cjs.entry.js +3 -3
  21. package/dist/cjs/co-checkbox.cjs.entry.js +3 -3
  22. package/dist/cjs/co-chip_2.cjs.entry.js +16 -6
  23. package/dist/cjs/co-color-area.cjs.entry.js +2 -2
  24. package/dist/cjs/co-color-picker.cjs.entry.js +2 -2
  25. package/dist/cjs/co-color-slider.cjs.entry.js +3 -3
  26. package/dist/cjs/co-column-picker.cjs.entry.js +22 -2
  27. package/dist/cjs/co-combobox.cjs.entry.js +3 -3
  28. package/dist/cjs/co-command-search.cjs.entry.js +4 -4
  29. package/dist/cjs/co-data-table-pagination.cjs.entry.js +4 -4
  30. package/dist/cjs/co-data-table.cjs.entry.js +2 -2
  31. package/dist/cjs/co-date-picker.cjs.entry.js +8 -0
  32. package/dist/cjs/co-date-range-picker.cjs.entry.js +9 -0
  33. package/dist/cjs/co-date-range.cjs.entry.js +7 -1
  34. package/dist/cjs/co-date-time-picker.cjs.entry.js +9 -2
  35. package/dist/cjs/co-document-editor.cjs.entry.js +9 -3
  36. package/dist/cjs/co-drive-card.cjs.entry.js +1 -1
  37. package/dist/cjs/co-drop-zone.cjs.entry.js +1 -1
  38. package/dist/cjs/co-emoji-picker.cjs.entry.js +2 -2
  39. package/dist/cjs/co-empty-state.cjs.entry.js +2 -2
  40. package/dist/cjs/co-event-calendar.cjs.entry.js +4 -2
  41. package/dist/cjs/co-event-popover.cjs.entry.js +5 -1
  42. package/dist/cjs/co-fab.cjs.entry.js +6 -2
  43. package/dist/cjs/co-file-field.cjs.entry.js +10 -6
  44. package/dist/cjs/co-file-type-tile.cjs.entry.js +2 -2
  45. package/dist/cjs/co-gradient-bar.cjs.entry.js +2 -2
  46. package/dist/cjs/co-helper-text.cjs.entry.js +2 -2
  47. package/dist/cjs/co-icon-button.cjs.entry.js +5 -6
  48. package/dist/cjs/co-icon.cjs.entry.js +2 -2
  49. package/dist/cjs/co-json-field.cjs.entry.js +8 -3
  50. package/dist/cjs/co-kbd_2.cjs.entry.js +3 -3
  51. package/dist/cjs/co-list-footer.cjs.entry.js +1 -1
  52. package/dist/cjs/co-list-item.cjs.entry.js +4 -4
  53. package/dist/cjs/co-media-thumb.cjs.entry.js +2 -2
  54. package/dist/cjs/co-menu-divider.cjs.entry.js +1 -1
  55. package/dist/cjs/co-menu.cjs.entry.js +8 -8
  56. package/dist/cjs/co-modal.cjs.entry.js +36 -10
  57. package/dist/cjs/co-navbar.cjs.entry.js +2 -2
  58. package/dist/cjs/co-number-field.cjs.entry.js +9 -3
  59. package/dist/cjs/co-overlay.cjs.entry.js +205 -34
  60. package/dist/cjs/co-page-header.cjs.entry.js +1 -1
  61. package/dist/cjs/co-popover.cjs.entry.js +9 -7
  62. package/dist/cjs/co-progress-bar.cjs.entry.js +2 -2
  63. package/dist/cjs/co-progress-circle.cjs.entry.js +2 -2
  64. package/dist/cjs/co-provider-logo_2.cjs.entry.js +1 -1
  65. package/dist/cjs/co-radio-group.cjs.entry.js +3 -3
  66. package/dist/cjs/co-radio.cjs.entry.js +3 -3
  67. package/dist/cjs/co-rating.cjs.entry.js +10 -3
  68. package/dist/cjs/co-ref-field.cjs.entry.js +10 -1
  69. package/dist/cjs/co-rich-text-editor.cjs.entry.js +19 -5
  70. package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +1 -0
  71. package/dist/cjs/co-rich-text-viewer.cjs.entry.js +1 -1
  72. package/dist/cjs/co-row.cjs.entry.js +2 -2
  73. package/dist/cjs/co-segmented-bar.cjs.entry.js +2 -2
  74. package/dist/cjs/co-select.cjs.entry.js +19 -6
  75. package/dist/cjs/co-separator.cjs.entry.js +1 -1
  76. package/dist/cjs/co-sidebar-nav.cjs.entry.js +2 -2
  77. package/dist/cjs/co-sidebar.cjs.entry.js +2 -2
  78. package/dist/cjs/co-slider.cjs.entry.js +8 -2
  79. package/dist/cjs/co-swatch-grid.cjs.entry.js +1 -1
  80. package/dist/cjs/co-switch.cjs.entry.js +3 -3
  81. package/dist/cjs/co-tab-group.cjs.entry.js +2 -2
  82. package/dist/cjs/co-tab.cjs.entry.js +5 -5
  83. package/dist/cjs/co-tags-field.cjs.entry.js +10 -5
  84. package/dist/cjs/co-tile.cjs.entry.js +1 -1
  85. package/dist/cjs/co-time-field.cjs.entry.js +4 -1
  86. package/dist/cjs/co-toast.cjs.entry.js +2 -2
  87. package/dist/cjs/co-toggle-button-group.cjs.entry.js +7 -4
  88. package/dist/cjs/co-toggle-button.cjs.entry.js +5 -2
  89. package/dist/cjs/co-transfer-list.cjs.entry.js +6 -2
  90. package/dist/cjs/co-tree-item.cjs.entry.js +2 -2
  91. package/dist/cjs/co-video.cjs.entry.js +10 -2
  92. package/dist/cjs/cobalt.cjs.js +1 -1
  93. package/dist/cjs/{index-oMHzCXm6.js → index-BbSD1Eyw.js} +1 -1
  94. package/dist/cjs/loader.cjs.js +1 -1
  95. package/dist/cjs/{pagination-DV43TRj9.js → pagination-S2sSAgdl.js} +26 -2
  96. package/dist/cobalt/cobalt.esm.js +1 -1
  97. package/dist/cobalt/{p-97a4fbba.entry.js → p-019eed8e.entry.js} +1 -1
  98. package/dist/cobalt/{p-d6e7c258.entry.js → p-02ff847e.entry.js} +1 -1
  99. package/dist/cobalt/{p-1289131f.entry.js → p-04e3e1f6.entry.js} +1 -1
  100. package/dist/cobalt/p-0d046d98.entry.js +1 -0
  101. package/dist/cobalt/{p-d4979025.entry.js → p-0e4c2234.entry.js} +1 -1
  102. package/dist/cobalt/{p-3011c84f.entry.js → p-12914c0a.entry.js} +1 -1
  103. package/dist/cobalt/{p-f5934cd9.entry.js → p-1348d5ca.entry.js} +1 -1
  104. package/dist/cobalt/{p-ee88ec40.entry.js → p-13e5b724.entry.js} +1 -1
  105. package/dist/cobalt/{p-9e406172.entry.js → p-21b4a830.entry.js} +1 -1
  106. package/dist/cobalt/{p-d1c378ff.entry.js → p-2231bacc.entry.js} +1 -1
  107. package/dist/cobalt/{p-1693b614.entry.js → p-26cbdc33.entry.js} +1 -1
  108. package/dist/cobalt/{p-7f3523ce.entry.js → p-28cf05f3.entry.js} +1 -1
  109. package/dist/cobalt/{p-8ab5b396.entry.js → p-358a6c2a.entry.js} +1 -1
  110. package/dist/cobalt/p-38eb2615.entry.js +1 -0
  111. package/dist/cobalt/p-3b5024ce.entry.js +1 -0
  112. package/dist/cobalt/{p-cc5989e9.entry.js → p-3d1a48e5.entry.js} +1 -1
  113. package/dist/cobalt/{p-b1994bb4.entry.js → p-4bcdd422.entry.js} +1 -1
  114. package/dist/cobalt/{p-2a2b0c7a.entry.js → p-4d743628.entry.js} +1 -1
  115. package/dist/cobalt/{p-66fc1528.entry.js → p-4e81e580.entry.js} +1 -1
  116. package/dist/cobalt/{p-c1caa112.entry.js → p-53a251ca.entry.js} +1 -1
  117. package/dist/cobalt/{p-67ad9544.entry.js → p-56176aa0.entry.js} +1 -1
  118. package/dist/cobalt/{p-44edde81.entry.js → p-58ebb303.entry.js} +1 -1
  119. package/dist/cobalt/{p-2e5702a0.entry.js → p-5e678e88.entry.js} +1 -1
  120. package/dist/cobalt/{p-889563d5.entry.js → p-60f948c4.entry.js} +1 -1
  121. package/dist/cobalt/{p-db42c4ab.entry.js → p-63908a8d.entry.js} +1 -1
  122. package/dist/cobalt/{p-5573985a.entry.js → p-65c191aa.entry.js} +1 -1
  123. package/dist/cobalt/{p-b5ec4286.entry.js → p-65d44da2.entry.js} +1 -1
  124. package/dist/cobalt/{p-5534a64f.entry.js → p-69ecc933.entry.js} +1 -1
  125. package/dist/cobalt/{p-c9990662.entry.js → p-6c1992c9.entry.js} +1 -1
  126. package/dist/cobalt/{p-90fad0f9.entry.js → p-6c7e423c.entry.js} +1 -1
  127. package/dist/cobalt/{p-22233b31.entry.js → p-6d4a660c.entry.js} +1 -1
  128. package/dist/cobalt/{p-7675cebe.entry.js → p-713637f2.entry.js} +1 -1
  129. package/dist/cobalt/{p-45007758.entry.js → p-71ae1551.entry.js} +1 -1
  130. package/dist/cobalt/{p-a930cdd7.entry.js → p-71ee36a8.entry.js} +1 -1
  131. package/dist/cobalt/{p-eeb114da.entry.js → p-71fe35c4.entry.js} +1 -1
  132. package/dist/cobalt/{p-a336178b.entry.js → p-73313cbe.entry.js} +1 -1
  133. package/dist/cobalt/{p-8b2e4579.entry.js → p-78412feb.entry.js} +1 -1
  134. package/dist/cobalt/{p-48c23310.entry.js → p-7beface1.entry.js} +1 -1
  135. package/dist/cobalt/p-7d1718ed.entry.js +1 -0
  136. package/dist/cobalt/{p-59d3e8fc.entry.js → p-7df18a52.entry.js} +1 -1
  137. package/dist/cobalt/{p-b9401dd7.entry.js → p-7e678cbd.entry.js} +1 -1
  138. package/dist/cobalt/{p-c109a1e1.entry.js → p-7fabd8ba.entry.js} +1 -1
  139. package/dist/cobalt/{p-8f701eac.entry.js → p-848f5ca4.entry.js} +1 -1
  140. package/dist/cobalt/{p-608d251d.entry.js → p-8680559b.entry.js} +1 -1
  141. package/dist/cobalt/{p-4b327483.entry.js → p-87de5469.entry.js} +1 -1
  142. package/dist/cobalt/{p-a07dedd1.entry.js → p-8a2a2b6c.entry.js} +1 -1
  143. package/dist/cobalt/{p-f813569c.entry.js → p-903237f9.entry.js} +1 -1
  144. package/dist/cobalt/p-93063876.entry.js +1 -0
  145. package/dist/cobalt/{p-1f3d5313.entry.js → p-95f2ebb1.entry.js} +1 -1
  146. package/dist/cobalt/{p-86b6fd81.entry.js → p-99df434b.entry.js} +1 -1
  147. package/dist/cobalt/{p-6c157ea2.entry.js → p-9adbab95.entry.js} +1 -1
  148. package/dist/cobalt/{p-4111fefa.entry.js → p-9ee5bef3.entry.js} +1 -1
  149. package/dist/cobalt/{p-RVQJEYxa.js → p-Ch-Tygdb.js} +1 -1
  150. package/dist/cobalt/p-DGLDAl09.js +1 -0
  151. package/dist/cobalt/{p-9bee9dc8.entry.js → p-a27013e6.entry.js} +1 -1
  152. package/dist/cobalt/{p-9cf10331.entry.js → p-a4eb298c.entry.js} +1 -1
  153. package/dist/cobalt/{p-5b2aa70e.entry.js → p-a56bd4a8.entry.js} +1 -1
  154. package/dist/cobalt/{p-d1f47915.entry.js → p-a5eabecb.entry.js} +1 -1
  155. package/dist/cobalt/{p-f5e1873d.entry.js → p-a5ee1fc2.entry.js} +1 -1
  156. package/dist/cobalt/{p-ee42dca6.entry.js → p-a7cd61ce.entry.js} +1 -1
  157. package/dist/cobalt/{p-7569375a.entry.js → p-ad752791.entry.js} +1 -1
  158. package/dist/cobalt/{p-ea564148.entry.js → p-ae999b94.entry.js} +1 -1
  159. package/dist/cobalt/{p-30760f77.entry.js → p-aed832d5.entry.js} +1 -1
  160. package/dist/cobalt/{p-e6116149.entry.js → p-b2457431.entry.js} +1 -1
  161. package/dist/cobalt/{p-3b9a8e86.entry.js → p-b39a4999.entry.js} +1 -1
  162. package/dist/cobalt/{p-bc3ba0cd.entry.js → p-b5dabdc3.entry.js} +1 -1
  163. package/dist/cobalt/{p-ec7a6bf2.entry.js → p-b67fb616.entry.js} +1 -1
  164. package/dist/cobalt/{p-f8c7941f.entry.js → p-b9b73dcb.entry.js} +1 -1
  165. package/dist/cobalt/{p-a52ed6ff.entry.js → p-ba39a965.entry.js} +1 -1
  166. package/dist/cobalt/{p-8cd3acaa.entry.js → p-bb7bbe70.entry.js} +1 -1
  167. package/dist/cobalt/{p-7376f4ed.entry.js → p-be520bd5.entry.js} +1 -1
  168. package/dist/cobalt/{p-0a5cfed0.entry.js → p-bee30373.entry.js} +1 -1
  169. package/dist/cobalt/{p-e4ff2fcb.entry.js → p-c220362c.entry.js} +1 -1
  170. package/dist/cobalt/{p-6d541199.entry.js → p-c5464a98.entry.js} +1 -1
  171. package/dist/cobalt/{p-26fa36f8.entry.js → p-cf5b91be.entry.js} +1 -1
  172. package/dist/cobalt/{p-cc4b51fa.entry.js → p-cfaaa684.entry.js} +1 -1
  173. package/dist/cobalt/{p-57d250ad.entry.js → p-d00c3894.entry.js} +1 -1
  174. package/dist/cobalt/{p-f8d3c71e.entry.js → p-d5d8fa8b.entry.js} +1 -1
  175. package/dist/cobalt/p-d6215d80.entry.js +1 -0
  176. package/dist/cobalt/{p-78a20284.entry.js → p-dabcbba7.entry.js} +1 -1
  177. package/dist/cobalt/{p-9b46a8fe.entry.js → p-db623519.entry.js} +1 -1
  178. package/dist/cobalt/{p-136beb2c.entry.js → p-df529110.entry.js} +1 -1
  179. package/dist/cobalt/{p-5d6e02dd.entry.js → p-efb3cbb0.entry.js} +1 -1
  180. package/dist/cobalt/p-efd3e0de.entry.js +1 -0
  181. package/dist/cobalt/{p-e99ddf9c.entry.js → p-f2fa2ac0.entry.js} +1 -1
  182. package/dist/cobalt/p-f403eeec.entry.js +1 -0
  183. package/dist/cobalt/{p-ce2b2048.entry.js → p-f69804a6.entry.js} +1 -1
  184. package/dist/collection/components/co-accordion/co-accordion.js +12 -2
  185. package/dist/collection/components/co-action-bar/co-action-bar.css +6 -0
  186. package/dist/collection/components/co-action-bar/co-action-bar.js +3 -2
  187. package/dist/collection/components/co-app-shell/co-app-shell.css +6 -0
  188. package/dist/collection/components/co-app-shell/co-app-shell.js +13 -2
  189. package/dist/collection/components/co-audio-player/co-audio-player.js +19 -7
  190. package/dist/collection/components/co-autocomplete/co-autocomplete.js +30 -17
  191. package/dist/collection/components/co-avatar/co-avatar.css +7 -2
  192. package/dist/collection/components/co-avatar/co-avatar.js +9 -2
  193. package/dist/collection/components/co-avatar-group/co-avatar-group.css +4 -0
  194. package/dist/collection/components/co-avatar-group/co-avatar-group.js +8 -3
  195. package/dist/collection/components/co-badge/co-badge.js +8 -1
  196. package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.js +13 -4
  197. package/dist/collection/components/co-breadcrumb/co-breadcrumb.js +5 -1
  198. package/dist/collection/components/co-breadcrumb-item/co-breadcrumb-item.js +8 -2
  199. package/dist/collection/components/co-button/co-button.css +25 -2
  200. package/dist/collection/components/co-button/co-button.js +14 -8
  201. package/dist/collection/components/co-button-group/co-button-group.js +10 -3
  202. package/dist/collection/components/co-calendar/co-calendar.css +8 -0
  203. package/dist/collection/components/co-calendar/co-calendar.js +3 -1
  204. package/dist/collection/components/co-calendar-timegrid/co-calendar-timegrid.js +36 -19
  205. package/dist/collection/components/co-card/co-card.js +11 -2
  206. package/dist/collection/components/co-carousel/co-carousel.css +10 -0
  207. package/dist/collection/components/co-carousel/co-carousel.js +17 -5
  208. package/dist/collection/components/co-checkbox/co-checkbox.js +11 -3
  209. package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +9 -4
  210. package/dist/collection/components/co-chip/co-chip.css +25 -11
  211. package/dist/collection/components/co-chip/co-chip.js +15 -2
  212. package/dist/collection/components/co-color-area/co-color-area.css +4 -0
  213. package/dist/collection/components/co-color-area/co-color-area.js +6 -5
  214. package/dist/collection/components/co-color-picker/co-color-picker.js +4 -2
  215. package/dist/collection/components/co-color-slider/co-color-slider.js +6 -5
  216. package/dist/collection/components/co-column-picker/co-column-picker.js +51 -25
  217. package/dist/collection/components/co-combobox/co-combobox.js +18 -4
  218. package/dist/collection/components/co-command-search/co-command-search.js +19 -8
  219. package/dist/collection/components/co-data-table/co-data-table.js +8 -3
  220. package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.js +16 -4
  221. package/dist/collection/components/co-date-field/co-date-field.js +19 -13
  222. package/dist/collection/components/co-date-picker/co-date-picker.js +38 -25
  223. package/dist/collection/components/co-date-range/co-date-range.js +19 -10
  224. package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +44 -30
  225. package/dist/collection/components/co-date-time-picker/co-date-time-picker.js +30 -21
  226. package/dist/collection/components/co-document-editor/co-document-editor.js +22 -15
  227. package/dist/collection/components/co-drawer/co-drawer.css +5 -0
  228. package/dist/collection/components/co-drawer/co-drawer.js +13 -0
  229. package/dist/collection/components/co-drive-card/co-drive-card.js +14 -1
  230. package/dist/collection/components/co-drop-zone/co-drop-zone.js +7 -2
  231. package/dist/collection/components/co-emoji-picker/co-emoji-picker.css +4 -0
  232. package/dist/collection/components/co-emoji-picker/co-emoji-picker.js +11 -2
  233. package/dist/collection/components/co-empty-state/co-empty-state.js +4 -2
  234. package/dist/collection/components/co-event-calendar/co-event-calendar.js +16 -4
  235. package/dist/collection/components/co-event-popover/co-event-popover.js +18 -6
  236. package/dist/collection/components/co-fab/co-fab.css +8 -0
  237. package/dist/collection/components/co-fab/co-fab.js +17 -8
  238. package/dist/collection/components/co-file-field/co-file-field.js +16 -11
  239. package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +9 -2
  240. package/dist/collection/components/co-gradient-bar/co-gradient-bar.css +5 -0
  241. package/dist/collection/components/co-gradient-bar/co-gradient-bar.js +7 -2
  242. package/dist/collection/components/co-helper-text/co-helper-text.js +4 -2
  243. package/dist/collection/components/co-icon/co-icon.js +6 -2
  244. package/dist/collection/components/co-icon-button/co-icon-button.css +9 -0
  245. package/dist/collection/components/co-icon-button/co-icon-button.js +12 -7
  246. package/dist/collection/components/co-input/co-input.css +3 -0
  247. package/dist/collection/components/co-input/co-input.js +11 -0
  248. package/dist/collection/components/co-json-field/co-json-field.js +19 -12
  249. package/dist/collection/components/co-kbd/co-kbd.js +8 -1
  250. package/dist/collection/components/co-list-footer/co-list-footer.js +4 -1
  251. package/dist/collection/components/co-list-item/co-list-item.js +7 -4
  252. package/dist/collection/components/co-loader/co-loader.js +5 -0
  253. package/dist/collection/components/co-media-thumb/co-media-thumb.js +9 -2
  254. package/dist/collection/components/co-menu/co-menu.css +11 -1
  255. package/dist/collection/components/co-menu/co-menu.js +13 -13
  256. package/dist/collection/components/co-menu-divider/co-menu-divider.css +4 -0
  257. package/dist/collection/components/co-menu-divider/co-menu-divider.js +2 -1
  258. package/dist/collection/components/co-menu-item/co-menu-item.css +14 -0
  259. package/dist/collection/components/co-menu-item/co-menu-item.js +2 -0
  260. package/dist/collection/components/co-modal/co-modal.css +6 -0
  261. package/dist/collection/components/co-modal/co-modal.js +97 -18
  262. package/dist/collection/components/co-navbar/co-navbar.css +7 -0
  263. package/dist/collection/components/co-navbar/co-navbar.js +4 -2
  264. package/dist/collection/components/co-number-field/co-number-field.js +29 -15
  265. package/dist/collection/components/co-option-list/co-option-list.css +38 -0
  266. package/dist/collection/components/co-option-list/co-option-list.js +33 -16
  267. package/dist/collection/components/co-overlay/co-overlay.css +11 -0
  268. package/dist/collection/components/co-overlay/co-overlay.js +140 -26
  269. package/dist/collection/components/co-overlay/focusTrap.js +111 -3
  270. package/dist/collection/components/co-page-header/co-page-header.js +4 -1
  271. package/dist/collection/components/co-popover/co-popover.css +7 -2
  272. package/dist/collection/components/co-popover/co-popover.js +29 -16
  273. package/dist/collection/components/co-progress-bar/co-progress-bar.js +5 -2
  274. package/dist/collection/components/co-progress-circle/co-progress-circle.js +5 -2
  275. package/dist/collection/components/co-provider-logo/co-provider-logo.js +3 -0
  276. package/dist/collection/components/co-radio/co-radio.js +11 -3
  277. package/dist/collection/components/co-radio-group/co-radio-group.js +9 -4
  278. package/dist/collection/components/co-rating/co-rating.js +25 -13
  279. package/dist/collection/components/co-ref-field/co-ref-field.css +14 -0
  280. package/dist/collection/components/co-ref-field/co-ref-field.js +55 -27
  281. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +46 -24
  282. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +4 -1
  283. package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.js +8 -0
  284. package/dist/collection/components/co-row/co-row.js +5 -2
  285. package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +9 -3
  286. package/dist/collection/components/co-select/co-select.css +13 -1
  287. package/dist/collection/components/co-select/co-select.js +42 -23
  288. package/dist/collection/components/co-separator/co-separator.js +8 -1
  289. package/dist/collection/components/co-sidebar/co-sidebar.js +10 -2
  290. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.css +5 -0
  291. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +4 -3
  292. package/dist/collection/components/co-skeleton/co-skeleton.js +4 -1
  293. package/dist/collection/components/co-slider/co-slider.css +7 -0
  294. package/dist/collection/components/co-slider/co-slider.js +25 -13
  295. package/dist/collection/components/co-swatch-grid/co-swatch-grid.js +2 -1
  296. package/dist/collection/components/co-switch/co-switch.css +4 -0
  297. package/dist/collection/components/co-switch/co-switch.js +12 -3
  298. package/dist/collection/components/co-tab/co-tab.js +14 -6
  299. package/dist/collection/components/co-tab-group/co-tab-group.js +11 -2
  300. package/dist/collection/components/co-tags-field/co-tags-field.js +21 -14
  301. package/dist/collection/components/co-tile/co-tile.js +6 -1
  302. package/dist/collection/components/co-time-field/co-time-field.js +9 -4
  303. package/dist/collection/components/co-toast/co-toast.css +11 -0
  304. package/dist/collection/components/co-toast/co-toast.js +13 -4
  305. package/dist/collection/components/co-toggle-button/co-toggle-button.css +5 -0
  306. package/dist/collection/components/co-toggle-button/co-toggle-button.js +13 -9
  307. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +18 -9
  308. package/dist/collection/components/co-tooltip/co-tooltip.js +12 -2
  309. package/dist/collection/components/co-transfer-list/co-transfer-list.js +19 -10
  310. package/dist/collection/components/co-tree-item/co-tree-item.css +11 -2
  311. package/dist/collection/components/co-tree-item/co-tree-item.js +6 -4
  312. package/dist/collection/components/co-video/co-video.css +11 -0
  313. package/dist/collection/components/co-video/co-video.js +41 -22
  314. package/dist/components/co-accordion.js +1 -1
  315. package/dist/components/co-action-bar.js +1 -1
  316. package/dist/components/co-app-shell.js +1 -1
  317. package/dist/components/co-audio-player.js +1 -1
  318. package/dist/components/co-autocomplete.js +1 -1
  319. package/dist/components/co-avatar-group.js +1 -1
  320. package/dist/components/co-avatar.js +1 -1
  321. package/dist/components/co-badge.js +1 -1
  322. package/dist/components/co-bottom-sheet.js +1 -1
  323. package/dist/components/co-breadcrumb-item.js +1 -1
  324. package/dist/components/co-breadcrumb.js +1 -1
  325. package/dist/components/co-button-group.js +1 -1
  326. package/dist/components/co-button.js +1 -1
  327. package/dist/components/co-calendar-month.js +1 -1
  328. package/dist/components/co-calendar-timegrid.js +1 -1
  329. package/dist/components/co-calendar.js +1 -1
  330. package/dist/components/co-card.js +1 -1
  331. package/dist/components/co-carousel.js +1 -1
  332. package/dist/components/co-checkbox-group.js +1 -1
  333. package/dist/components/co-checkbox.js +1 -1
  334. package/dist/components/co-chip.js +1 -1
  335. package/dist/components/co-color-area.js +1 -1
  336. package/dist/components/co-color-picker.js +1 -1
  337. package/dist/components/co-color-slider.js +1 -1
  338. package/dist/components/co-column-picker.js +1 -1
  339. package/dist/components/co-combobox.js +1 -1
  340. package/dist/components/co-command-search.js +1 -1
  341. package/dist/components/co-data-table-pagination.js +1 -1
  342. package/dist/components/co-data-table.js +1 -1
  343. package/dist/components/co-date-field.js +1 -1
  344. package/dist/components/co-date-picker.js +1 -1
  345. package/dist/components/co-date-range-picker.js +1 -1
  346. package/dist/components/co-date-range.js +1 -1
  347. package/dist/components/co-date-time-picker.js +1 -1
  348. package/dist/components/co-document-editor.js +1 -1
  349. package/dist/components/co-drawer.js +1 -1
  350. package/dist/components/co-drive-card.js +1 -1
  351. package/dist/components/co-drop-zone.js +1 -1
  352. package/dist/components/co-emoji-picker.js +1 -1
  353. package/dist/components/co-empty-state.js +1 -1
  354. package/dist/components/co-event-calendar.js +1 -1
  355. package/dist/components/co-event-popover.js +1 -1
  356. package/dist/components/co-fab.js +1 -1
  357. package/dist/components/co-file-field.js +1 -1
  358. package/dist/components/co-file-type-tile.js +1 -1
  359. package/dist/components/co-gradient-bar.js +1 -1
  360. package/dist/components/co-helper-text.js +1 -1
  361. package/dist/components/co-icon-button.js +1 -1
  362. package/dist/components/co-icon.js +1 -1
  363. package/dist/components/co-input.js +1 -1
  364. package/dist/components/co-json-field.js +1 -1
  365. package/dist/components/co-kbd.js +1 -1
  366. package/dist/components/co-lightbox.js +1 -1
  367. package/dist/components/co-list-footer.js +1 -1
  368. package/dist/components/co-list-item.js +1 -1
  369. package/dist/components/co-media-thumb.js +1 -1
  370. package/dist/components/co-menu-divider.js +1 -1
  371. package/dist/components/co-menu-item.js +1 -1
  372. package/dist/components/co-menu.js +1 -1
  373. package/dist/components/co-modal.js +1 -1
  374. package/dist/components/co-navbar.js +1 -1
  375. package/dist/components/co-number-field.js +1 -1
  376. package/dist/components/co-option-list.js +1 -1
  377. package/dist/components/co-overlay.js +1 -1
  378. package/dist/components/co-page-header.js +1 -1
  379. package/dist/components/co-phone-field.js +1 -1
  380. package/dist/components/co-popover.js +1 -1
  381. package/dist/components/co-progress-bar.js +1 -1
  382. package/dist/components/co-progress-circle.js +1 -1
  383. package/dist/components/co-radio-group.js +1 -1
  384. package/dist/components/co-radio.js +1 -1
  385. package/dist/components/co-rating.js +1 -1
  386. package/dist/components/co-ref-field.js +1 -1
  387. package/dist/components/co-rich-text-editor.js +1 -1
  388. package/dist/components/co-rich-text-toolbar.js +1 -1
  389. package/dist/components/co-rich-text-viewer.js +1 -1
  390. package/dist/components/co-row.js +1 -1
  391. package/dist/components/co-segmented-bar.js +1 -1
  392. package/dist/components/co-select.js +1 -1
  393. package/dist/components/co-separator.js +1 -1
  394. package/dist/components/co-sidebar-nav.js +1 -1
  395. package/dist/components/co-sidebar.js +1 -1
  396. package/dist/components/co-skeleton.js +1 -1
  397. package/dist/components/co-slider.js +1 -1
  398. package/dist/components/co-swatch-grid.js +1 -1
  399. package/dist/components/co-switch.js +1 -1
  400. package/dist/components/co-tab-group.js +1 -1
  401. package/dist/components/co-tab.js +1 -1
  402. package/dist/components/co-tags-field.js +1 -1
  403. package/dist/components/co-textarea.js +1 -1
  404. package/dist/components/co-tile.js +1 -1
  405. package/dist/components/co-time-field.js +1 -1
  406. package/dist/components/co-toast.js +1 -1
  407. package/dist/components/co-toggle-button-group.js +1 -1
  408. package/dist/components/co-toggle-button.js +1 -1
  409. package/dist/components/co-tooltip.js +1 -1
  410. package/dist/components/co-transfer-list.js +1 -1
  411. package/dist/components/co-tree-item.js +1 -1
  412. package/dist/components/co-video.js +1 -1
  413. package/dist/components/{p-BQltjDw5.js → p-8XzG8pzY.js} +1 -1
  414. package/dist/components/{p-FA1kBmZ-.js → p-9VoFSbIH.js} +1 -1
  415. package/dist/components/{p-CpGEV0iM.js → p-B3Egz082.js} +1 -1
  416. package/dist/components/{p-Bymi-A7C.js → p-B9wdMd_0.js} +1 -1
  417. package/dist/components/{p-CGH3E8uK.js → p-BI_VaFsx.js} +1 -1
  418. package/dist/components/{p-Dp650Gpp.js → p-BRZci8B3.js} +1 -1
  419. package/dist/components/{p-Dh_eRYKu.js → p-BdmzslA5.js} +1 -1
  420. package/dist/components/{p-C3G8oPgU.js → p-Bw_b_czs.js} +1 -1
  421. package/dist/components/{p-BraiMwgs.js → p-C4sZjIDj.js} +1 -1
  422. package/dist/components/{p-B20o5exO.js → p-C6WHpL5X.js} +1 -1
  423. package/dist/components/p-COozgrEk.js +1 -0
  424. package/dist/components/{p-CfJgypOl.js → p-C_6szR7t.js} +1 -1
  425. package/dist/components/{p-RVQJEYxa.js → p-Ch-Tygdb.js} +1 -1
  426. package/dist/components/{p-ChwSnCFf.js → p-CiYPJW0B.js} +1 -1
  427. package/dist/components/{p-f2xwcrXa.js → p-Cnfd6Zze.js} +1 -1
  428. package/dist/components/{p-C1jZYtUS.js → p-CxWo3qDo.js} +1 -1
  429. package/dist/components/p-D4XP17VP.js +1 -0
  430. package/dist/components/{p-BIDSDP05.js → p-DB8DGMc-.js} +1 -1
  431. package/dist/components/p-DGLDAl09.js +1 -0
  432. package/dist/components/{p-C-f8wTqe.js → p-DhPxNA2f.js} +1 -1
  433. package/dist/components/{p-D9or2g4j.js → p-Dn2wblrA.js} +1 -1
  434. package/dist/components/p-Dnz99Ox_.js +1 -0
  435. package/dist/components/{p-BcXdId8y.js → p-DsuFNmTI.js} +1 -1
  436. package/dist/components/{p-DKXCr-hE.js → p-DymSqdlK.js} +1 -1
  437. package/dist/components/{p-B3kKOgsA.js → p-KK2vAKs-.js} +1 -1
  438. package/dist/components/{p-d4rf3H8p.js → p-TGRbLkLz.js} +1 -1
  439. package/dist/components/{p-BOqtnWTJ.js → p-VcrjNCew.js} +1 -1
  440. package/dist/components/p-wUXcJGdy.js +1 -0
  441. package/dist/esm/co-accordion.entry.js +2 -2
  442. package/dist/esm/co-action-bar.entry.js +2 -2
  443. package/dist/esm/co-app-shell.entry.js +2 -2
  444. package/dist/esm/co-audio-player.entry.js +3 -3
  445. package/dist/esm/co-autocomplete.entry.js +10 -3
  446. package/dist/esm/co-avatar-group.entry.js +2 -2
  447. package/dist/esm/co-avatar.entry.js +1 -1
  448. package/dist/esm/co-badge.entry.js +1 -1
  449. package/dist/esm/co-bottom-sheet.entry.js +4 -4
  450. package/dist/esm/co-breadcrumb-item.entry.js +2 -2
  451. package/dist/esm/co-breadcrumb.entry.js +1 -1
  452. package/dist/esm/co-button-group.entry.js +3 -2
  453. package/dist/esm/co-button.entry.js +6 -6
  454. package/dist/esm/co-calendar-month_2.entry.js +14 -2
  455. package/dist/esm/co-calendar_3.entry.js +9 -5
  456. package/dist/esm/co-card.entry.js +2 -2
  457. package/dist/esm/co-carousel.entry.js +5 -2
  458. package/dist/esm/co-checkbox-group.entry.js +3 -3
  459. package/dist/esm/co-checkbox.entry.js +3 -3
  460. package/dist/esm/co-chip_2.entry.js +16 -6
  461. package/dist/esm/co-color-area.entry.js +2 -2
  462. package/dist/esm/co-color-picker.entry.js +2 -2
  463. package/dist/esm/co-color-slider.entry.js +3 -3
  464. package/dist/esm/co-column-picker.entry.js +22 -2
  465. package/dist/esm/co-combobox.entry.js +3 -3
  466. package/dist/esm/co-command-search.entry.js +4 -4
  467. package/dist/esm/co-data-table-pagination.entry.js +4 -4
  468. package/dist/esm/co-data-table.entry.js +2 -2
  469. package/dist/esm/co-date-picker.entry.js +8 -0
  470. package/dist/esm/co-date-range-picker.entry.js +9 -0
  471. package/dist/esm/co-date-range.entry.js +7 -1
  472. package/dist/esm/co-date-time-picker.entry.js +9 -2
  473. package/dist/esm/co-document-editor.entry.js +9 -3
  474. package/dist/esm/co-drive-card.entry.js +1 -1
  475. package/dist/esm/co-drop-zone.entry.js +1 -1
  476. package/dist/esm/co-emoji-picker.entry.js +2 -2
  477. package/dist/esm/co-empty-state.entry.js +2 -2
  478. package/dist/esm/co-event-calendar.entry.js +4 -2
  479. package/dist/esm/co-event-popover.entry.js +5 -1
  480. package/dist/esm/co-fab.entry.js +6 -2
  481. package/dist/esm/co-file-field.entry.js +10 -6
  482. package/dist/esm/co-file-type-tile.entry.js +2 -2
  483. package/dist/esm/co-gradient-bar.entry.js +2 -2
  484. package/dist/esm/co-helper-text.entry.js +2 -2
  485. package/dist/esm/co-icon-button.entry.js +5 -6
  486. package/dist/esm/co-icon.entry.js +2 -2
  487. package/dist/esm/co-json-field.entry.js +8 -3
  488. package/dist/esm/co-kbd_2.entry.js +3 -3
  489. package/dist/esm/co-list-footer.entry.js +1 -1
  490. package/dist/esm/co-list-item.entry.js +4 -4
  491. package/dist/esm/co-media-thumb.entry.js +2 -2
  492. package/dist/esm/co-menu-divider.entry.js +1 -1
  493. package/dist/esm/co-menu.entry.js +8 -8
  494. package/dist/esm/co-modal.entry.js +37 -11
  495. package/dist/esm/co-navbar.entry.js +2 -2
  496. package/dist/esm/co-number-field.entry.js +9 -3
  497. package/dist/esm/co-overlay.entry.js +205 -34
  498. package/dist/esm/co-page-header.entry.js +1 -1
  499. package/dist/esm/co-popover.entry.js +9 -7
  500. package/dist/esm/co-progress-bar.entry.js +2 -2
  501. package/dist/esm/co-progress-circle.entry.js +2 -2
  502. package/dist/esm/co-provider-logo_2.entry.js +1 -1
  503. package/dist/esm/co-radio-group.entry.js +3 -3
  504. package/dist/esm/co-radio.entry.js +3 -3
  505. package/dist/esm/co-rating.entry.js +10 -3
  506. package/dist/esm/co-ref-field.entry.js +10 -1
  507. package/dist/esm/co-rich-text-editor.entry.js +19 -5
  508. package/dist/esm/co-rich-text-toolbar.entry.js +1 -0
  509. package/dist/esm/co-rich-text-viewer.entry.js +1 -1
  510. package/dist/esm/co-row.entry.js +2 -2
  511. package/dist/esm/co-segmented-bar.entry.js +2 -2
  512. package/dist/esm/co-select.entry.js +19 -6
  513. package/dist/esm/co-separator.entry.js +1 -1
  514. package/dist/esm/co-sidebar-nav.entry.js +2 -2
  515. package/dist/esm/co-sidebar.entry.js +2 -2
  516. package/dist/esm/co-slider.entry.js +8 -2
  517. package/dist/esm/co-swatch-grid.entry.js +1 -1
  518. package/dist/esm/co-switch.entry.js +3 -3
  519. package/dist/esm/co-tab-group.entry.js +2 -2
  520. package/dist/esm/co-tab.entry.js +5 -5
  521. package/dist/esm/co-tags-field.entry.js +10 -5
  522. package/dist/esm/co-tile.entry.js +1 -1
  523. package/dist/esm/co-time-field.entry.js +4 -1
  524. package/dist/esm/co-toast.entry.js +2 -2
  525. package/dist/esm/co-toggle-button-group.entry.js +7 -4
  526. package/dist/esm/co-toggle-button.entry.js +5 -2
  527. package/dist/esm/co-transfer-list.entry.js +6 -2
  528. package/dist/esm/co-tree-item.entry.js +2 -2
  529. package/dist/esm/co-video.entry.js +10 -2
  530. package/dist/esm/cobalt.js +1 -1
  531. package/dist/esm/{index-Cpo8HTwr.js → index-CgyOJePd.js} +1 -1
  532. package/dist/esm/loader.js +1 -1
  533. package/dist/esm/{pagination-D9OfZUnY.js → pagination-BzrIQtrk.js} +26 -2
  534. package/dist/types/components/co-accordion/co-accordion.d.ts +10 -0
  535. package/dist/types/components/co-action-bar/co-action-bar.d.ts +1 -0
  536. package/dist/types/components/co-app-shell/co-app-shell.d.ts +11 -0
  537. package/dist/types/components/co-audio-player/co-audio-player.d.ts +16 -0
  538. package/dist/types/components/co-autocomplete/co-autocomplete.d.ts +21 -0
  539. package/dist/types/components/co-avatar/co-avatar.d.ts +8 -1
  540. package/dist/types/components/co-avatar-group/co-avatar-group.d.ts +5 -0
  541. package/dist/types/components/co-badge/co-badge.d.ts +7 -0
  542. package/dist/types/components/co-bottom-sheet/co-bottom-sheet.d.ts +9 -0
  543. package/dist/types/components/co-breadcrumb/co-breadcrumb.d.ts +4 -0
  544. package/dist/types/components/co-breadcrumb-item/co-breadcrumb-item.d.ts +6 -0
  545. package/dist/types/components/co-button/co-button.d.ts +9 -3
  546. package/dist/types/components/co-button-group/co-button-group.d.ts +7 -0
  547. package/dist/types/components/co-calendar/co-calendar.d.ts +2 -0
  548. package/dist/types/components/co-calendar-timegrid/co-calendar-timegrid.d.ts +23 -0
  549. package/dist/types/components/co-card/co-card.d.ts +9 -0
  550. package/dist/types/components/co-carousel/co-carousel.d.ts +12 -0
  551. package/dist/types/components/co-checkbox/co-checkbox.d.ts +8 -0
  552. package/dist/types/components/co-checkbox-group/co-checkbox-group.d.ts +5 -0
  553. package/dist/types/components/co-chip/co-chip.d.ts +13 -0
  554. package/dist/types/components/co-color-area/co-color-area.d.ts +2 -1
  555. package/dist/types/components/co-color-picker/co-color-picker.d.ts +2 -0
  556. package/dist/types/components/co-color-slider/co-color-slider.d.ts +2 -1
  557. package/dist/types/components/co-column-picker/co-column-picker.d.ts +32 -0
  558. package/dist/types/components/co-combobox/co-combobox.d.ts +14 -0
  559. package/dist/types/components/co-command-search/co-command-search.d.ts +15 -0
  560. package/dist/types/components/co-data-table/co-data-table.d.ts +5 -0
  561. package/dist/types/components/co-data-table-pagination/co-data-table-pagination.d.ts +12 -0
  562. package/dist/types/components/co-date-field/co-date-field.d.ts +11 -0
  563. package/dist/types/components/co-date-picker/co-date-picker.d.ts +30 -0
  564. package/dist/types/components/co-date-range/co-date-range.d.ts +12 -0
  565. package/dist/types/components/co-date-range-picker/co-date-range-picker.d.ts +33 -0
  566. package/dist/types/components/co-date-time-picker/co-date-time-picker.d.ts +21 -0
  567. package/dist/types/components/co-document-editor/co-document-editor.d.ts +9 -1
  568. package/dist/types/components/co-drawer/co-drawer.d.ts +13 -0
  569. package/dist/types/components/co-drive-card/co-drive-card.d.ts +13 -0
  570. package/dist/types/components/co-drop-zone/co-drop-zone.d.ts +6 -1
  571. package/dist/types/components/co-emoji-picker/co-emoji-picker.d.ts +9 -0
  572. package/dist/types/components/co-empty-state/co-empty-state.d.ts +2 -0
  573. package/dist/types/components/co-event-calendar/co-event-calendar.d.ts +12 -16
  574. package/dist/types/components/co-event-popover/co-event-popover.d.ts +13 -0
  575. package/dist/types/components/co-fab/co-fab.d.ts +11 -0
  576. package/dist/types/components/co-file-field/co-file-field.d.ts +6 -0
  577. package/dist/types/components/co-file-type-tile/co-file-type-tile.d.ts +7 -0
  578. package/dist/types/components/co-gradient-bar/co-gradient-bar.d.ts +5 -0
  579. package/dist/types/components/co-helper-text/co-helper-text.d.ts +2 -0
  580. package/dist/types/components/co-icon/co-icon.d.ts +4 -0
  581. package/dist/types/components/co-icon-button/co-icon-button.d.ts +9 -4
  582. package/dist/types/components/co-input/co-input.d.ts +11 -0
  583. package/dist/types/components/co-json-field/co-json-field.d.ts +11 -0
  584. package/dist/types/components/co-kbd/co-kbd.d.ts +7 -0
  585. package/dist/types/components/co-list-footer/co-list-footer.d.ts +3 -0
  586. package/dist/types/components/co-list-item/co-list-item.d.ts +3 -0
  587. package/dist/types/components/co-loader/co-loader.d.ts +5 -0
  588. package/dist/types/components/co-media-thumb/co-media-thumb.d.ts +7 -0
  589. package/dist/types/components/co-menu/co-menu.d.ts +6 -4
  590. package/dist/types/components/co-menu-divider/co-menu-divider.d.ts +1 -0
  591. package/dist/types/components/co-menu-item/co-menu-item.d.ts +2 -0
  592. package/dist/types/components/co-modal/co-modal.d.ts +47 -12
  593. package/dist/types/components/co-navbar/co-navbar.d.ts +2 -0
  594. package/dist/types/components/co-number-field/co-number-field.d.ts +20 -0
  595. package/dist/types/components/co-option-list/co-option-list.d.ts +28 -1
  596. package/dist/types/components/co-overlay/co-overlay.d.ts +39 -1
  597. package/dist/types/components/co-overlay/focusTrap.d.ts +24 -3
  598. package/dist/types/components/co-page-header/co-page-header.d.ts +3 -0
  599. package/dist/types/components/co-popover/co-popover.d.ts +20 -5
  600. package/dist/types/components/co-progress-bar/co-progress-bar.d.ts +3 -0
  601. package/dist/types/components/co-progress-circle/co-progress-circle.d.ts +3 -0
  602. package/dist/types/components/co-provider-logo/co-provider-logo.d.ts +3 -0
  603. package/dist/types/components/co-radio/co-radio.d.ts +8 -0
  604. package/dist/types/components/co-radio-group/co-radio-group.d.ts +5 -0
  605. package/dist/types/components/co-rating/co-rating.d.ts +15 -0
  606. package/dist/types/components/co-ref-field/co-ref-field.d.ts +42 -0
  607. package/dist/types/components/co-rich-text-editor/co-rich-text-editor.d.ts +29 -0
  608. package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +3 -0
  609. package/dist/types/components/co-rich-text-viewer/co-rich-text-viewer.d.ts +8 -0
  610. package/dist/types/components/co-row/co-row.d.ts +3 -0
  611. package/dist/types/components/co-segmented-bar/co-segmented-bar.d.ts +6 -0
  612. package/dist/types/components/co-select/co-select.d.ts +26 -0
  613. package/dist/types/components/co-separator/co-separator.d.ts +7 -0
  614. package/dist/types/components/co-sidebar/co-sidebar.d.ts +8 -0
  615. package/dist/types/components/co-sidebar-nav/co-sidebar-nav.d.ts +1 -0
  616. package/dist/types/components/co-skeleton/co-skeleton.d.ts +3 -0
  617. package/dist/types/components/co-slider/co-slider.d.ts +17 -0
  618. package/dist/types/components/co-swatch-grid/co-swatch-grid.d.ts +1 -0
  619. package/dist/types/components/co-switch/co-switch.d.ts +9 -0
  620. package/dist/types/components/co-tab/co-tab.d.ts +11 -3
  621. package/dist/types/components/co-tab-group/co-tab-group.d.ts +9 -0
  622. package/dist/types/components/co-tags-field/co-tags-field.d.ts +11 -0
  623. package/dist/types/components/co-tile/co-tile.d.ts +5 -0
  624. package/dist/types/components/co-time-field/co-time-field.d.ts +5 -0
  625. package/dist/types/components/co-toast/co-toast.d.ts +9 -0
  626. package/dist/types/components/co-toggle-button/co-toggle-button.d.ts +8 -0
  627. package/dist/types/components/co-toggle-button-group/co-toggle-button-group.d.ts +12 -2
  628. package/dist/types/components/co-tooltip/co-tooltip.d.ts +10 -0
  629. package/dist/types/components/co-transfer-list/co-transfer-list.d.ts +12 -0
  630. package/dist/types/components/co-tree-item/co-tree-item.d.ts +2 -0
  631. package/dist/types/components/co-video/co-video.d.ts +31 -0
  632. package/dist/types/components.d.ts +2223 -40
  633. package/package.json +2 -2
  634. package/dist/cobalt/p-1bfb69ae.entry.js +0 -1
  635. package/dist/cobalt/p-2794c500.entry.js +0 -1
  636. package/dist/cobalt/p-B1JT7us1.js +0 -1
  637. package/dist/cobalt/p-b2b13da8.entry.js +0 -1
  638. package/dist/cobalt/p-b9dfb333.entry.js +0 -1
  639. package/dist/cobalt/p-bc4fbfa6.entry.js +0 -1
  640. package/dist/cobalt/p-d75d2f3d.entry.js +0 -1
  641. package/dist/cobalt/p-f246946a.entry.js +0 -1
  642. package/dist/cobalt/p-f60bd4d6.entry.js +0 -1
  643. package/dist/components/p-B1JT7us1.js +0 -1
  644. package/dist/components/p-BR0LYW9v.js +0 -1
  645. package/dist/components/p-BZDl9aFl.js +0 -1
  646. package/dist/components/p-DfcPGitr.js +0 -1
  647. package/dist/components/p-Dg-Ti_Bf.js +0 -1
  648. /package/dist/cobalt/{p-05000ef3.entry.js → p-6974df59.entry.js} +0 -0
  649. /package/dist/cobalt/{p-ffbe955a.entry.js → p-71dc8e4a.entry.js} +0 -0
  650. /package/dist/cobalt/{p-297b55cd.entry.js → p-77e0d401.entry.js} +0 -0
  651. /package/dist/cobalt/{p-4c6caa41.entry.js → p-c567533e.entry.js} +0 -0
@@ -669,6 +669,44 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
669
669
  overflow: auto;
670
670
  }
671
671
 
672
+ /**
673
+ * @prop --co-option-list-max-height: Alto máximo del área de filas antes de scrollear (default 280px).
674
+ * @prop --co-option-list-options-padding: Padding del área de filas.
675
+ * @prop --co-option-list-gap: Separación vertical entre filas.
676
+ * @prop --co-option-list-item-gap: Separación entre los elementos de una fila (ícono, textos, acciones).
677
+ * @prop --co-option-list-item-min-height: Alto mínimo de fila (default 32px); no cambia el paso fijo de la lista virtual.
678
+ * @prop --co-option-list-item-padding-y: Padding vertical de la fila.
679
+ * @prop --co-option-list-item-radius: Radio de la fila.
680
+ * @prop --co-option-list-item-bg: Fondo de la fila en reposo.
681
+ * @prop --co-option-list-item-ring: Sombra/anillo de la fila en reposo.
682
+ * @prop --co-option-list-item-font-size: Tamaño del texto de la fila (default 14px).
683
+ * @prop --co-option-list-active-bg: Fondo de la fila activa (hover o teclado).
684
+ * @prop --co-option-list-active-ring: Sombra/anillo de la fila activa.
685
+ * @prop --co-option-list-label-weight: Peso del label de la fila.
686
+ * @prop --co-option-list-text-gap: Separación entre el título y la descripción de la fila.
687
+ * @prop --co-option-list-icon-tile-size: Lado del recuadro del ícono (default 22px).
688
+ * @prop --co-option-list-icon-tile-radius: Radio del recuadro del ícono.
689
+ * @prop --co-option-list-icon-tile-mix: Porcentaje del tinte del ícono en el fondo del recuadro (default 12%).
690
+ * @prop --co-option-list-icon-tile-ring-mix: Porcentaje del tinte en el borde del recuadro (default 0%, sin borde).
691
+ * @prop --co-option-list-search-height: Alto del buscador (default 32px).
692
+ * @prop --co-option-list-search-margin: Margen del buscador.
693
+ * @prop --co-option-list-search-padding: Padding del buscador.
694
+ * @prop --co-option-list-search-border: Borde del buscador (shorthand).
695
+ * @prop --co-option-list-search-radius: Radio del buscador.
696
+ * @prop --co-option-list-search-bg: Fondo del buscador.
697
+ * @prop --co-option-list-search-border-focus: Color del borde del buscador con foco.
698
+ * @prop --co-option-list-search-bg-focus: Fondo del buscador con foco.
699
+ * @prop --co-option-list-search-caret: Color del cursor de texto del buscador.
700
+ * @prop --co-option-list-group-padding-top: Padding superior del encabezado de grupo.
701
+ * @prop --co-option-list-group-padding-bottom: Padding inferior del encabezado de grupo.
702
+ * @prop --co-option-list-group-font-family: Familia tipográfica del encabezado de grupo (default mono).
703
+ * @prop --co-option-list-group-font-size: Tamaño del encabezado de grupo.
704
+ * @prop --co-option-list-group-font-weight: Peso del encabezado de grupo.
705
+ * @prop --co-option-list-group-text-transform: Transformación del encabezado de grupo (default uppercase).
706
+ * @prop --co-option-list-group-letter-spacing: Espaciado de letras del encabezado de grupo.
707
+ * @prop --co-option-list-group-color: Color del encabezado de grupo.
708
+ */
709
+
672
710
  :host {
673
711
  display: block;
674
712
  font-family: var(--co-font-family-primary, 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
@@ -9,9 +9,16 @@ import { buildRows, deriveMore, listReorderIds, liveSelectedOrder, nextActiveInd
9
9
  *
10
10
  * NO renderiza trigger ni chrome de panel (popover/dialog/ancho): eso es del
11
11
  * host. Es 100% controlada: no muta `value`; emite y el host decide.
12
+ * Wrapper Vue: `CoOptionList` de `@prolibu-suite/cobalt-vue`. Sus eventos NO
13
+ * burbujean ni cruzan el shadow DOM: se escuchan sobre el propio elemento.
12
14
  *
13
15
  * @slot header - Entre el buscador y la lista (filtros por categoría de una paleta). UN elemento siempre montado.
14
16
  * @slot footer - Footer del panel (normalmente <co-list-footer>).
17
+ *
18
+ * @part search - Contenedor del buscador integrado (solo con `searchable`).
19
+ * @part options - Contenedor scrolleable de las filas.
20
+ * @part icon-tile - Recuadro tintado del ícono de una fila (`item.icon` + `item.iconTint`).
21
+ * @part drag-handle - Tirador de arrastre de una fila (con `reorderable` o `listReorderable`).
15
22
  */
16
23
  export class CoOptionList {
17
24
  constructor() {
@@ -22,6 +29,8 @@ export class CoOptionList {
22
29
  this.value = '';
23
30
  /** Display-items de la selección (para selected-first con ids fuera de página). */
24
31
  this.selectedItems = '[]';
32
+ /** Selección múltiple: `value` es un JSON array de ids y `coChange` emite el
33
+ * array completo; con `false` (default) la selección es un solo id. */
25
34
  this.multiple = false;
26
35
  /** Partición selected-first (snapshot al llamar snapshotOrder()). */
27
36
  this.selectedFirst = false;
@@ -39,17 +48,24 @@ export class CoOptionList {
39
48
  * Independiente de multiple/selectedFirst. No soportado con `virtual`. */
40
49
  this.listReorderable = false;
41
50
  // ── Search integrado (opcional) ────────────────────────────
51
+ /** Muestra el buscador integrado arriba de la lista (reflejado como atributo).
52
+ * El filtrado lo hace el host al recibir `coSearch`. */
42
53
  this.searchable = false;
54
+ /** Placeholder del buscador integrado. */
43
55
  this.searchPlaceholder = 'Search…';
56
+ /** Espera en ms entre la última tecla y el `coSearch` (default 350). */
44
57
  this.searchDebounce = 350;
45
58
  /** Pre-seed del término (modo convert de las celdas). */
46
59
  this.initialTerm = '';
47
60
  // ── Estados ────────────────────────────────────────────────
61
+ /** Cargando: sin filas muestra un loader en lugar de la lista; con filas,
62
+ * un loader al pie. Mientras está activo no se emite `coLoadMore`. */
48
63
  this.loading = false;
49
64
  /** Total del server: deriva hasMore + hint "N more results". */
50
65
  this.total = 0;
51
66
  /** Fallback cuando el host no conoce totales (⌘K). total>0 manda. */
52
67
  this.hasMore = false;
68
+ /** Texto cuando no hay filas y no se está cargando. */
53
69
  this.emptyMessage = 'No results found';
54
70
  /** Si se setea y hay selección, fila "quitar selección" al tope. */
55
71
  this.clearOptionLabel = '';
@@ -60,6 +76,7 @@ export class CoOptionList {
60
76
  this.highlightMatches = false;
61
77
  /** Término externo para highlight (input en el host, p.ej. ⌘K). */
62
78
  this.highlightTerm = '';
79
+ /** Forma del `co-avatar` de las filas que traen avatar: `circle` (default) o `square`. */
63
80
  this.avatarShape = 'circle';
64
81
  /** `end` pinta el suffix como columna a la derecha de la fila (precio/meta),
65
82
  * sin el guion; `inline` = junto al label (default). */
@@ -308,7 +325,6 @@ export class CoOptionList {
308
325
  this.activeIndex = activeId ? this.orderedItems.findIndex((i) => i._id === activeId) : -1;
309
326
  }
310
327
  // ── Métodos públicos ───────────────────────────────────────
311
- /** Re-toma el snapshot selected-first. El host la llama al abrir su panel. */
312
328
  /**
313
329
  * Vacía el buscador (texto, término y cualquier coSearch en vuelo) y emite
314
330
  * `coSearch('')`. Para hosts que reabren el panel (co-popover): el término
@@ -328,6 +344,7 @@ export class CoOptionList {
328
344
  this.takeSnapshot();
329
345
  this.coSearch.emit('');
330
346
  }
347
+ /** Re-toma el snapshot selected-first. El host la llama al abrir su panel. */
331
348
  async snapshotOrder() {
332
349
  this.takeSnapshot();
333
350
  }
@@ -764,11 +781,11 @@ export class CoOptionList {
764
781
  const selectedIds = this.selectedIds;
765
782
  const { hasMore, remaining } = deriveMore(this.parsedItems.length, this.total, this.hasMore);
766
783
  const showClear = !!this.clearOptionLabel && selectedIds.length > 0;
767
- return (h("div", { key: 'af6891bdf933b74b6e680b81387764c3c2a0f2b9', class: "co-option-list", onKeyDown: this.onRootKeyDown }, this.searchable && (h("div", { key: '68cfffc9df1d3061d38063f6b0502afc58c668c4', class: "co-option-list__search", part: "search" }, h("co-icon", { key: 'abfc569cce22f30146cc714f4157ce12819a729a', name: "magnifying-glass", size: 16 }), h("input", { key: '5150055db79ef22253e0103998fde0c79d3b5eda', class: "co-option-list__search-input", type: "text", placeholder: this.searchPlaceholder, value: this.term, onInput: this.onSearchInput, ref: (el) => (this.searchInputEl = el), role: "combobox", "aria-expanded": "true", "aria-autocomplete": "list" }))), h("slot", { key: '1d858e33c3a6971b4abf6dd614603c4e01cba1c6', name: "header" }), h("div", { key: '28fd86f22a7f8e95fdfee4f33f1af0b441ca4c38', class: "co-option-list__options", part: "options", role: "listbox", "aria-multiselectable": this.multiple ? 'true' : 'false', ref: (el) => (this.optionsEl = el), onScroll: this.onNativeScroll }, h("div", { key: '3002c5216cac79d5d39aab2b349f6853e6517535', class: "co-option-list__inner" }, showClear && (h("button", { key: 'f6e15aeb7ea9422daf38d65611df3ca4dbb243e2', class: "co-option-list__clear-row", type: "button", onClick: () => this.coClearSelection.emit() }, h("co-icon", { key: '2f22f2b31291145b36721e923c3a422fadcabb50', name: "x-circle", size: 14 }), h("span", { key: 'd4c6b7ad4dd8df4725b763929f34da6793b29649' }, this.clearOptionLabel))), this.loading && items.length === 0 && (h("div", { key: 'c9cb5cf8095ed45d71a143878bd9ed524c6dbf25', class: "co-option-list__loading" }, h("co-loader", { key: '550b8014bec75fb16c9c7b29dd5589355abee9be', size: "sm" }))), !this.loading && items.length === 0 && (h("div", { key: '40ffc1f2945a0acd0a9c7ee4e83a1f23a93ebbd2', class: "co-option-list__empty" }, h("co-icon", { key: '639e88bb241fd79fca5481505d5cab36e89b89df', name: "magnifying-glass", size: 20 }), h("span", { key: '8f01fb62e21ad0fd6c2e367bd14d88cb09fa425e' }, this.emptyMessage))), items.length > 0 && this.virtual
784
+ return (h("div", { key: 'ca480a23b7127ff745ee57002a71dea707e32e95', class: "co-option-list", onKeyDown: this.onRootKeyDown }, this.searchable && (h("div", { key: 'de6a96f09450c05c9194933f3e5f732e158437c7', class: "co-option-list__search", part: "search" }, h("co-icon", { key: 'f99a19e0a194d6a0bcce6d40a736197593af8fdf', name: "magnifying-glass", size: 16 }), h("input", { key: '26fabd78b4660523e25b40bc8e92740df2677244', class: "co-option-list__search-input", type: "text", placeholder: this.searchPlaceholder, value: this.term, onInput: this.onSearchInput, ref: (el) => (this.searchInputEl = el), role: "combobox", "aria-expanded": "true", "aria-autocomplete": "list" }))), h("slot", { key: '05dc7fb2d632ba58b3b960e9355b1e48a71df32c', name: "header" }), h("div", { key: 'b3edc8acf06c7f433da9584249be73d25c5f1fee', class: "co-option-list__options", part: "options", role: "listbox", "aria-multiselectable": this.multiple ? 'true' : 'false', ref: (el) => (this.optionsEl = el), onScroll: this.onNativeScroll }, h("div", { key: '8abe9a20998f35332ee320512a433d8fb8196875', class: "co-option-list__inner" }, showClear && (h("button", { key: '9b420f4a08d94c7588657ec73102253dc3aace29', class: "co-option-list__clear-row", type: "button", onClick: () => this.coClearSelection.emit() }, h("co-icon", { key: '5e0d86b76f5b85ee41a4534284c4e05fec4f2df1', name: "x-circle", size: 14 }), h("span", { key: 'ff554cd331978bbe2e6aaef44b590a9de66c67d5' }, this.clearOptionLabel))), this.loading && items.length === 0 && (h("div", { key: '1db10de6bf8b6cda7b7ca13f5969400ab420a3e7', class: "co-option-list__loading" }, h("co-loader", { key: 'd724879c38f755067e544503c233c740f932f46e', size: "sm" }))), !this.loading && items.length === 0 && (h("div", { key: '95f42f0028e6f7a1641bc45f6a294fe2ded5a29f', class: "co-option-list__empty" }, h("co-icon", { key: '1bed6dbd8c0c4e0722f6c28c2867331bba4e3879', name: "magnifying-glass", size: 20 }), h("span", { key: '7f2d01d6eed6e91ab14ace418f52167713963976' }, this.emptyMessage))), items.length > 0 && this.virtual
768
785
  ? this.renderVirtual(items, selectedIds)
769
786
  : buildRows(items).map((row) => row.kind === 'header'
770
787
  ? h("div", { class: "co-option-list__group", role: "presentation" }, row.label)
771
- : this.renderRow(row.item, row.index, selectedIds)), this.loading && items.length > 0 && (h("div", { key: 'e0146742e08a49e0c297ab795e3eb283daedf281', class: "co-option-list__loading-more" }, h("co-loader", { key: '1bdd97a2c79d4fab0ea75be2bc4c7c4254de7638', size: "sm" }))), !this.loading && hasMore && remaining > 0 && (h("div", { key: 'cd336459aded62f27957888595c53475ba2d7664', class: "co-option-list__more" }, remaining, " more results")))), h("slot", { key: '767d9b82e7afbea41f196e110d7a6fd720637df9', name: "footer" })));
788
+ : this.renderRow(row.item, row.index, selectedIds)), this.loading && items.length > 0 && (h("div", { key: '9fb95c0193357bf50eabc21dae3f8ca0bb2b3a9f', class: "co-option-list__loading-more" }, h("co-loader", { key: 'dddf472d61b1c14f281212b02538bd576dce09d1', size: "sm" }))), !this.loading && hasMore && remaining > 0 && (h("div", { key: '6d4f16d14d67b137fe37b67fe1590d209b51b800', class: "co-option-list__more" }, remaining, " more results")))), h("slot", { key: '9091482eaf2228e93b3eeb893e804d5fcd8c3d44', name: "footer" })));
772
789
  }
773
790
  static get is() { return "co-option-list"; }
774
791
  static get encapsulation() { return "shadow"; }
@@ -870,7 +887,7 @@ export class CoOptionList {
870
887
  "optional": false,
871
888
  "docs": {
872
889
  "tags": [],
873
- "text": ""
890
+ "text": "Selecci\u00F3n m\u00FAltiple: `value` es un JSON array de ids y `coChange` emite el\narray completo; con `false` (default) la selecci\u00F3n es un solo id."
874
891
  },
875
892
  "getter": false,
876
893
  "setter": false,
@@ -1010,7 +1027,7 @@ export class CoOptionList {
1010
1027
  "optional": false,
1011
1028
  "docs": {
1012
1029
  "tags": [],
1013
- "text": ""
1030
+ "text": "Muestra el buscador integrado arriba de la lista (reflejado como atributo).\nEl filtrado lo hace el host al recibir `coSearch`."
1014
1031
  },
1015
1032
  "getter": false,
1016
1033
  "setter": false,
@@ -1030,7 +1047,7 @@ export class CoOptionList {
1030
1047
  "optional": false,
1031
1048
  "docs": {
1032
1049
  "tags": [],
1033
- "text": ""
1050
+ "text": "Placeholder del buscador integrado."
1034
1051
  },
1035
1052
  "getter": false,
1036
1053
  "setter": false,
@@ -1050,7 +1067,7 @@ export class CoOptionList {
1050
1067
  "optional": false,
1051
1068
  "docs": {
1052
1069
  "tags": [],
1053
- "text": ""
1070
+ "text": "Espera en ms entre la \u00FAltima tecla y el `coSearch` (default 350)."
1054
1071
  },
1055
1072
  "getter": false,
1056
1073
  "setter": false,
@@ -1090,7 +1107,7 @@ export class CoOptionList {
1090
1107
  "optional": false,
1091
1108
  "docs": {
1092
1109
  "tags": [],
1093
- "text": ""
1110
+ "text": "Cargando: sin filas muestra un loader en lugar de la lista; con filas,\nun loader al pie. Mientras est\u00E1 activo no se emite `coLoadMore`."
1094
1111
  },
1095
1112
  "getter": false,
1096
1113
  "setter": false,
@@ -1150,7 +1167,7 @@ export class CoOptionList {
1150
1167
  "optional": false,
1151
1168
  "docs": {
1152
1169
  "tags": [],
1153
- "text": ""
1170
+ "text": "Texto cuando no hay filas y no se est\u00E1 cargando."
1154
1171
  },
1155
1172
  "getter": false,
1156
1173
  "setter": false,
@@ -1250,7 +1267,7 @@ export class CoOptionList {
1250
1267
  "optional": false,
1251
1268
  "docs": {
1252
1269
  "tags": [],
1253
- "text": ""
1270
+ "text": "Forma del `co-avatar` de las filas que traen avatar: `circle` (default) o `square`."
1254
1271
  },
1255
1272
  "getter": false,
1256
1273
  "setter": false,
@@ -1321,7 +1338,7 @@ export class CoOptionList {
1321
1338
  "composed": false,
1322
1339
  "docs": {
1323
1340
  "tags": [],
1324
- "text": ""
1341
+ "text": "T\u00E9rmino del buscador integrado, con debounce (`searchDebounce`); `''` al vaciarlo\no tras `clearSearch()`. No burbujea."
1325
1342
  },
1326
1343
  "complexType": {
1327
1344
  "original": "string",
@@ -1336,7 +1353,7 @@ export class CoOptionList {
1336
1353
  "composed": false,
1337
1354
  "docs": {
1338
1355
  "tags": [],
1339
- "text": ""
1356
+ "text": "Selecci\u00F3n pedida (el componente no muta `value`). `detail.value`: el id elegido,\nel array completo en `multiple`, o `null` al deseleccionar en single;\n`detail.item`: la fila involucrada. No burbujea."
1340
1357
  },
1341
1358
  "complexType": {
1342
1359
  "original": "{ value: string | string[] | null; item: OptionListItem }",
@@ -1358,7 +1375,7 @@ export class CoOptionList {
1358
1375
  "composed": false,
1359
1376
  "docs": {
1360
1377
  "tags": [],
1361
- "text": ""
1378
+ "text": "Pide la p\u00E1gina siguiente: al acercarse el scroll al final, o si las filas\ncargadas no llenan el panel. Solo con m\u00E1s resultados (`total`/`hasMore`) y\nsin `loading`. Sin `detail`. No burbujea."
1362
1379
  },
1363
1380
  "complexType": {
1364
1381
  "original": "void",
@@ -1373,7 +1390,7 @@ export class CoOptionList {
1373
1390
  "composed": false,
1374
1391
  "docs": {
1375
1392
  "tags": [],
1376
- "text": ""
1393
+ "text": "Click en la fila \u00ABquitar selecci\u00F3n\u00BB (`clearOptionLabel`). Sin `detail`. No burbujea."
1377
1394
  },
1378
1395
  "complexType": {
1379
1396
  "original": "void",
@@ -1388,7 +1405,7 @@ export class CoOptionList {
1388
1405
  "composed": false,
1389
1406
  "docs": {
1390
1407
  "tags": [],
1391
- "text": ""
1408
+ "text": "Click en la X de una fila seleccionada (`removableItems`); `detail` = id de la fila. No burbujea."
1392
1409
  },
1393
1410
  "complexType": {
1394
1411
  "original": "string",
@@ -1495,7 +1512,7 @@ export class CoOptionList {
1495
1512
  "return": "Promise<void>"
1496
1513
  },
1497
1514
  "docs": {
1498
- "text": "",
1515
+ "text": "Re-toma el snapshot selected-first. El host la llama al abrir su panel.",
1499
1516
  "tags": []
1500
1517
  }
1501
1518
  },
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @prop --co-overlay-bg: Color del fondo (default negro al 40%).
3
+ * @prop --co-overlay-blur: Desenfoque del fondo (default 2px); queda fuera del interruptor `--co-glass-filter`.
4
+ */
1
5
  :host {
2
6
  display: contents;
3
7
  }
@@ -33,3 +37,10 @@
33
37
  pointer-events: auto;
34
38
  transition: opacity var(--co-motion-duration-base) var(--co-motion-ease-out);
35
39
  }
40
+
41
+ /* bringToFront(): el hide + show que re-apila el scrim en el top layer no es una
42
+ apertura — nada transiciona durante el re-show (la clase se retira en el frame
43
+ siguiente). */
44
+ .co-overlay--refront {
45
+ transition: none !important;
46
+ }
@@ -1,7 +1,7 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { afterEventFor } from "./overlayAfterClose";
3
3
  import { isBackdropDismiss } from "./backdropDismiss";
4
- import { getFocusableElements, resolveTabIndex } from "./focusTrap";
4
+ import { getComposedFocusables, isTopTrap, resolveInitialFocus, resolveTabIndex } from "./focusTrap";
5
5
  /**
6
6
  * Module-level body-scroll lock shared by every overlay instance.
7
7
  * Ref-counted so stacked/nested overlays (e.g. a modal opened from a drawer)
@@ -28,12 +28,32 @@ function unlockBodyScroll() {
28
28
  document.body.style.overflow = savedOverflow;
29
29
  }
30
30
  }
31
+ /**
32
+ * Pila de trampas de foco ABIERTAS, compartida por todas las instancias (como el
33
+ * scroll lock). Todas escuchan el keydown de document: con un confirm encima de
34
+ * un modal, las dos movían el foco en el mismo Tab. Solo la capa más reciente
35
+ * (`isTopTrap`) maneja Tab y el foco inicial.
36
+ */
37
+ const trapStack = [];
38
+ let trapSeq = 0;
39
+ /** Clase del div mientras dura el re-apilado de `bringToFront()` (ver co-overlay.css). */
40
+ const REFRONT_CLASS = 'co-overlay--refront';
31
41
  function nextFrame(cb) {
32
42
  if (typeof requestAnimationFrame === 'function')
33
43
  requestAnimationFrame(cb);
34
44
  else
35
45
  cb();
36
46
  }
47
+ /**
48
+ * Capa de fondo (scrim) para contenido modal: bloquea el scroll de la página
49
+ * (compartido entre overlays apilados), sube al top layer y puede atrapar el
50
+ * foco. Es controlado: un click en el fondo o Escape (`closeOnEscape`) solo
51
+ * emiten `coClose`. Base de `co-modal`, `co-drawer` y `co-command-search`.
52
+ * Wrapper Vue: `CoOverlay` de `@prolibu-suite/cobalt-vue`.
53
+ *
54
+ * @slot - Contenido centrado sobre el fondo.
55
+ * @part overlay - El fondo oscuro.
56
+ */
37
57
  export class CoOverlay {
38
58
  constructor() {
39
59
  /** Whether the overlay is visible */
@@ -43,6 +63,11 @@ export class CoOverlay {
43
63
  * previously-focused element, moves focus into the overlay, cycles Tab /
44
64
  * Shift+Tab within the slotted content, and restores focus on close.
45
65
  * Default false → existing consumers are unchanged.
66
+ *
67
+ * The walk is COMPOSED (shadow roots + assigned slots): it reaches the
68
+ * consumer's content projected through a host's slots and the inner control
69
+ * of every co-* (a co-button's `<button>`). With several traps open, only the
70
+ * most recent one handles Tab.
46
71
  */
47
72
  this.trapFocus = false;
48
73
  /**
@@ -52,6 +77,10 @@ export class CoOverlay {
52
77
  this.closeOnEscape = false;
53
78
  /** Whether THIS instance currently holds a scroll lock (prevents double-count). */
54
79
  this.hasLock = false;
80
+ /** Identidad de esta instancia en `trapStack`. */
81
+ this.trapId = `co-overlay-trap-${++trapSeq}`;
82
+ /** Whether THIS instance is currently in `trapStack` (prevents double push). */
83
+ this.trapping = false;
55
84
  // Origen de la pulsación en curso (ver isBackdropDismiss): un drag que
56
85
  // empieza dentro del contenido y suelta en el fondo NO es un cierre —el
57
86
  // navegador despacha ese `click` al ancestro común, el propio scrim—, ni
@@ -93,27 +122,55 @@ export class CoOverlay {
93
122
  else
94
123
  this.releaseLock();
95
124
  this.syncPopover();
96
- if (this.trapFocus) {
97
- if (isOpen)
98
- this.captureAndFocus();
99
- else
100
- this.restoreFocus();
101
- }
125
+ this.syncTrap();
126
+ }
127
+ onTrapFocusChange() {
128
+ this.syncTrap();
102
129
  }
103
130
  componentDidLoad() {
104
131
  // Handle the case where the overlay mounts already open.
105
132
  if (this.open)
106
133
  this.acquireLock();
107
134
  this.syncPopover();
108
- if (this.open && this.trapFocus)
109
- this.captureAndFocus();
135
+ this.syncTrap();
110
136
  }
111
137
  disconnectedCallback() {
112
138
  // Safety: never leave the body locked if removed while open.
113
139
  this.releaseLock();
114
- // Safety: return focus if we were removed while trapping.
115
- if (this.trapFocus)
116
- this.restoreFocus();
140
+ // Safety: leave the trap stack and return focus if removed while trapping.
141
+ this.releaseTrap();
142
+ }
143
+ /**
144
+ * Re-promueve el scrim al TOPE del top layer (QA 2026-09-24, «Generar
145
+ * contrato»): un drawer abierto DESPUÉS de un modal pintaba encima, porque en
146
+ * el top layer gana el último promovido y no hay z-index que lo corrija.
147
+ * `hidePopover()` + `showPopover()` lo vuelven a meter último.
148
+ *
149
+ * No es un cierre: no emite `coClose` / `coAfterClose` / `coAfterOpen`, no
150
+ * toca `open` ni el scroll lock, y no re-anima la entrada (la clase
151
+ * `co-overlay--refront` anula la transición durante el re-show y se retira en
152
+ * el frame siguiente). Tampoco mueve el foco: si el re-show dispara los
153
+ * «popover focusing steps» (un `[autofocus]` adentro), se devuelve a donde
154
+ * estaba. No-op cerrado, sin Popover API o fuera del top layer.
155
+ */
156
+ async bringToFront() {
157
+ const el = this.overlayEl;
158
+ if (!this.open || !el || typeof el.showPopover !== 'function')
159
+ return;
160
+ if (!el.matches(':popover-open'))
161
+ return;
162
+ const active = this.deepActiveElement();
163
+ el.classList.add(REFRONT_CLASS);
164
+ try {
165
+ el.hidePopover();
166
+ el.showPopover();
167
+ }
168
+ catch (_a) {
169
+ /* desconectado entre medio: no hay nada que re-apilar */
170
+ }
171
+ if (active && active.isConnected && this.deepActiveElement() !== active)
172
+ active.focus({ preventScroll: true });
173
+ nextFrame(() => el.classList.remove(REFRONT_CLASS));
117
174
  }
118
175
  acquireLock() {
119
176
  if (this.hasLock)
@@ -151,19 +208,43 @@ export class CoOverlay {
151
208
  /* not connected yet, or already in the desired state */
152
209
  }
153
210
  }
154
- /** Record the current focus and move it into the overlay (guarded by trapFocus). */
211
+ /** La trampa está activa exactamente mientras el overlay está abierto con `trapFocus`. */
212
+ syncTrap() {
213
+ if (this.open && this.trapFocus)
214
+ this.engageTrap();
215
+ else
216
+ this.releaseTrap();
217
+ }
218
+ engageTrap() {
219
+ if (this.trapping)
220
+ return;
221
+ this.trapping = true;
222
+ trapStack.push(this.trapId);
223
+ this.captureAndFocus();
224
+ }
225
+ releaseTrap() {
226
+ if (!this.trapping)
227
+ return;
228
+ this.trapping = false;
229
+ const i = trapStack.indexOf(this.trapId);
230
+ if (i >= 0)
231
+ trapStack.splice(i, 1);
232
+ this.restoreFocus();
233
+ }
234
+ /** Record the current focus and move it into the overlay (only while trapping). */
155
235
  captureAndFocus() {
156
- if (typeof document !== 'undefined') {
157
- this.returnFocusEl = document.activeElement;
158
- }
236
+ // El activo PROFUNDO: `document.activeElement` se queda en el host de un
237
+ // co-* (co-button), cuyo focus() no llega al <button> interno.
238
+ this.returnFocusEl = this.deepActiveElement();
159
239
  // Defer so slotted content / the open transition is ready to take focus.
160
240
  nextFrame(() => {
161
241
  var _a;
162
- if (!this.open)
242
+ // Una trampa abierta en el mismo frame por ENCIMA (confirm) se queda el foco.
243
+ if (!this.open || !this.trapping || !isTopTrap(trapStack, this.trapId))
163
244
  return;
164
- const focusables = getFocusableElements(this.el);
165
- if (focusables.length > 0)
166
- focusables[0].focus();
245
+ const target = resolveInitialFocus(this.el);
246
+ if (target)
247
+ target.focus();
167
248
  else
168
249
  (_a = this.overlayEl) === null || _a === void 0 ? void 0 : _a.focus();
169
250
  });
@@ -172,8 +253,9 @@ export class CoOverlay {
172
253
  restoreFocus() {
173
254
  const target = this.returnFocusEl;
174
255
  this.returnFocusEl = null;
175
- if (target && typeof target.focus === 'function')
176
- target.focus();
256
+ // Desmontado mientras el overlay estaba abierto (el paso de un wizard): no hay adónde volver.
257
+ if (target && target.isConnected && typeof target.focus === 'function')
258
+ target.focus({ preventScroll: true });
177
259
  }
178
260
  /** Deepest active element, descending through nested shadow roots. */
179
261
  deepActiveElement() {
@@ -192,12 +274,16 @@ export class CoOverlay {
192
274
  this.coClose.emit();
193
275
  return;
194
276
  }
195
- if (this.trapFocus && e.key === 'Tab')
277
+ if (this.trapping && e.key === 'Tab' && isTopTrap(trapStack, this.trapId))
196
278
  this.trapTab(e);
197
279
  }
198
280
  trapTab(e) {
199
281
  var _a;
200
- const focusables = getFocusableElements(this.el);
282
+ // Tab ya manejado por un control de adentro (co-tags-field agrega el tag, las listas de co-rich-text y
283
+ // CodeMirror indentan): el listener de document corre DESPUÉS y no le roba el foco.
284
+ if (e.defaultPrevented)
285
+ return;
286
+ const focusables = getComposedFocusables(this.el);
201
287
  if (focusables.length === 0) {
202
288
  // Nothing to move to — keep focus pinned to the overlay container.
203
289
  e.preventDefault();
@@ -212,7 +298,7 @@ export class CoOverlay {
212
298
  focusables[nextIndex].focus();
213
299
  }
214
300
  render() {
215
- return (h("div", { key: '842f23e0829dcb9138f3fd35c86471035949517c', class: { 'co-overlay': true, 'co-overlay--open': this.open }, part: "overlay", popover: "manual", tabindex: this.trapFocus ? -1 : undefined, ref: (el) => (this.overlayEl = el), onPointerDown: this.handlePointerDown, onPointerUp: this.handlePointerUp, onClick: this.handleClick, onTransitionEnd: this.handleTransitionEnd }, h("slot", { key: '645b336ce50938672fc09a27a15ef314250beaf2' })));
301
+ return (h("div", { key: 'e18d7b0e3ebd4933a78a9f2d39af6058ce429105', class: { 'co-overlay': true, 'co-overlay--open': this.open }, part: "overlay", popover: "manual", tabindex: this.trapFocus ? -1 : undefined, ref: (el) => (this.overlayEl = el), onPointerDown: this.handlePointerDown, onPointerUp: this.handlePointerUp, onClick: this.handleClick, onTransitionEnd: this.handleTransitionEnd }, h("slot", { key: '2f29233d44de8a0cc3100cfa08233cdc10ebf352' })));
216
302
  }
217
303
  static get is() { return "co-overlay"; }
218
304
  static get encapsulation() { return "shadow"; }
@@ -260,7 +346,7 @@ export class CoOverlay {
260
346
  "optional": false,
261
347
  "docs": {
262
348
  "tags": [],
263
- "text": "Opt-in accessible focus trap. When true, opening the overlay records the\npreviously-focused element, moves focus into the overlay, cycles Tab /\nShift+Tab within the slotted content, and restores focus on close.\nDefault false \u2192 existing consumers are unchanged."
349
+ "text": "Opt-in accessible focus trap. When true, opening the overlay records the\npreviously-focused element, moves focus into the overlay, cycles Tab /\nShift+Tab within the slotted content, and restores focus on close.\nDefault false \u2192 existing consumers are unchanged.\n\nThe walk is COMPOSED (shadow roots + assigned slots): it reaches the\nconsumer's content projected through a host's slots and the inner control\nof every co-* (a co-button's `<button>`). With several traps open, only the\nmost recent one handles Tab."
264
350
  },
265
351
  "getter": false,
266
352
  "setter": false,
@@ -338,11 +424,39 @@ export class CoOverlay {
338
424
  }
339
425
  }];
340
426
  }
427
+ static get methods() {
428
+ return {
429
+ "bringToFront": {
430
+ "complexType": {
431
+ "signature": "() => Promise<void>",
432
+ "parameters": [],
433
+ "references": {
434
+ "Promise": {
435
+ "location": "global",
436
+ "id": "global::Promise"
437
+ },
438
+ "HTMLElement": {
439
+ "location": "global",
440
+ "id": "global::HTMLElement"
441
+ }
442
+ },
443
+ "return": "Promise<void>"
444
+ },
445
+ "docs": {
446
+ "text": "Re-promueve el scrim al TOPE del top layer (QA 2026-09-24, \u00ABGenerar\ncontrato\u00BB): un drawer abierto DESPU\u00C9S de un modal pintaba encima, porque en\nel top layer gana el \u00FAltimo promovido y no hay z-index que lo corrija.\n`hidePopover()` + `showPopover()` lo vuelven a meter \u00FAltimo.\n\nNo es un cierre: no emite `coClose` / `coAfterClose` / `coAfterOpen`, no\ntoca `open` ni el scroll lock, y no re-anima la entrada (la clase\n`co-overlay--refront` anula la transici\u00F3n durante el re-show y se retira en\nel frame siguiente). Tampoco mueve el foco: si el re-show dispara los\n\u00ABpopover focusing steps\u00BB (un `[autofocus]` adentro), se devuelve a donde\nestaba. No-op cerrado, sin Popover API o fuera del top layer.",
447
+ "tags": []
448
+ }
449
+ }
450
+ };
451
+ }
341
452
  static get elementRef() { return "el"; }
342
453
  static get watchers() {
343
454
  return [{
344
455
  "propName": "open",
345
456
  "methodName": "onOpenChange"
457
+ }, {
458
+ "propName": "trapFocus",
459
+ "methodName": "onTrapFocusChange"
346
460
  }];
347
461
  }
348
462
  static get listeners() {