@prolibu-suite/cobalt-core 0.10.4 → 0.11.1

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 (824) hide show
  1. package/README.md +12 -5
  2. package/custom-elements.json +7034 -1203
  3. package/dist/cjs/co-accordion.cjs.entry.js +3 -3
  4. package/dist/cjs/co-action-bar.cjs.entry.js +3 -3
  5. package/dist/cjs/co-app-shell.cjs.entry.js +3 -3
  6. package/dist/cjs/co-audio-player.cjs.entry.js +4 -4
  7. package/dist/cjs/co-autocomplete.cjs.entry.js +12 -5
  8. package/dist/cjs/co-avatar-group.cjs.entry.js +3 -3
  9. package/dist/cjs/co-avatar.cjs.entry.js +7 -4
  10. package/dist/cjs/co-badge.cjs.entry.js +2 -2
  11. package/dist/cjs/co-bottom-sheet.cjs.entry.js +5 -5
  12. package/dist/cjs/co-breadcrumb-item.cjs.entry.js +3 -3
  13. package/dist/cjs/co-breadcrumb.cjs.entry.js +2 -2
  14. package/dist/cjs/co-button-group.cjs.entry.js +4 -3
  15. package/dist/cjs/co-button.cjs.entry.js +9 -7
  16. package/dist/cjs/co-calendar-month_2.cjs.entry.js +16 -4
  17. package/dist/cjs/co-calendar_3.cjs.entry.js +76 -27
  18. package/dist/cjs/co-card.cjs.entry.js +3 -3
  19. package/dist/cjs/co-carousel-item.cjs.entry.js +2 -2
  20. package/dist/cjs/co-carousel.cjs.entry.js +6 -3
  21. package/dist/cjs/co-checkbox-group.cjs.entry.js +4 -4
  22. package/dist/cjs/co-checkbox.cjs.entry.js +13 -5
  23. package/dist/cjs/co-chip_2.cjs.entry.js +20 -7
  24. package/dist/cjs/co-color-area.cjs.entry.js +169 -0
  25. package/dist/cjs/co-color-picker.cjs.entry.js +5 -5
  26. package/dist/cjs/co-color-slider.cjs.entry.js +189 -0
  27. package/dist/cjs/co-column-picker.cjs.entry.js +23 -3
  28. package/dist/cjs/co-combobox.cjs.entry.js +5 -5
  29. package/dist/cjs/co-command-search.cjs.entry.js +5 -5
  30. package/dist/cjs/co-data-table-pagination.cjs.entry.js +5 -5
  31. package/dist/cjs/co-data-table.cjs.entry.js +3 -3
  32. package/dist/cjs/co-date-picker.cjs.entry.js +10 -2
  33. package/dist/cjs/co-date-range-picker.cjs.entry.js +11 -2
  34. package/dist/cjs/co-date-range.cjs.entry.js +8 -2
  35. package/dist/cjs/co-date-time-picker.cjs.entry.js +11 -4
  36. package/dist/cjs/co-document-editor.cjs.entry.js +1167 -0
  37. package/dist/cjs/co-drive-card.cjs.entry.js +2 -2
  38. package/dist/cjs/co-drop-zone.cjs.entry.js +2 -2
  39. package/dist/cjs/co-emoji-picker.cjs.entry.js +3 -3
  40. package/dist/cjs/co-empty-state.cjs.entry.js +3 -3
  41. package/dist/cjs/co-event-calendar.cjs.entry.js +5 -3
  42. package/dist/cjs/co-event-popover.cjs.entry.js +7 -3
  43. package/dist/cjs/co-fab.cjs.entry.js +7 -3
  44. package/dist/cjs/co-file-field.cjs.entry.js +12 -8
  45. package/dist/cjs/co-file-type-tile.cjs.entry.js +3 -3
  46. package/dist/cjs/co-gradient-bar.cjs.entry.js +220 -0
  47. package/dist/cjs/co-helper-text.cjs.entry.js +3 -3
  48. package/dist/cjs/co-icon-button.cjs.entry.js +48 -9
  49. package/dist/cjs/co-icon.cjs.entry.js +3 -3
  50. package/dist/cjs/co-input.cjs.entry.js +14 -8
  51. package/dist/cjs/co-json-field.cjs.entry.js +10 -5
  52. package/dist/cjs/{co-tooltip.cjs.entry.js → co-kbd_2.cjs.entry.js} +194 -6
  53. package/dist/cjs/co-lightbox.cjs.entry.js +5 -5
  54. package/dist/cjs/co-list-footer.cjs.entry.js +2 -2
  55. package/dist/cjs/co-list-item.cjs.entry.js +5 -5
  56. package/dist/cjs/co-loader.cjs.entry.js +1 -1
  57. package/dist/cjs/co-media-thumb.cjs.entry.js +3 -3
  58. package/dist/cjs/co-menu-divider.cjs.entry.js +3 -3
  59. package/dist/cjs/co-menu-item.cjs.entry.js +41 -43
  60. package/dist/cjs/co-menu.cjs.entry.js +81 -5
  61. package/dist/cjs/co-modal.cjs.entry.js +350 -7
  62. package/dist/cjs/co-navbar.cjs.entry.js +3 -3
  63. package/dist/cjs/co-number-field.cjs.entry.js +11 -5
  64. package/dist/cjs/co-overlay.cjs.entry.js +8 -4
  65. package/dist/cjs/co-page-header.cjs.entry.js +2 -2
  66. package/dist/cjs/co-phone-field.cjs.entry.js +3 -3
  67. package/dist/cjs/co-popover.cjs.entry.js +69 -6
  68. package/dist/cjs/co-progress-bar.cjs.entry.js +3 -3
  69. package/dist/cjs/co-progress-circle.cjs.entry.js +3 -3
  70. package/dist/cjs/co-provider-logo_2.cjs.entry.js +2 -2
  71. package/dist/cjs/co-radio-group.cjs.entry.js +4 -4
  72. package/dist/cjs/co-radio.cjs.entry.js +4 -4
  73. package/dist/cjs/co-rating.cjs.entry.js +11 -4
  74. package/dist/cjs/co-ref-field.cjs.entry.js +14 -5
  75. package/dist/cjs/co-rich-text-editor.cjs.entry.js +40 -92
  76. package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +80 -20
  77. package/dist/cjs/co-rich-text-viewer.cjs.entry.js +9 -2
  78. package/dist/cjs/co-row.cjs.entry.js +3 -3
  79. package/dist/cjs/co-segmented-bar.cjs.entry.js +3 -3
  80. package/dist/cjs/co-select.cjs.entry.js +171 -29
  81. package/dist/cjs/co-separator.cjs.entry.js +2 -2
  82. package/dist/cjs/co-sidebar-nav.cjs.entry.js +20 -5
  83. package/dist/cjs/co-sidebar.cjs.entry.js +3 -3
  84. package/dist/cjs/co-slider.cjs.entry.js +209 -23
  85. package/dist/cjs/co-swatch-grid.cjs.entry.js +121 -0
  86. package/dist/cjs/co-switch.cjs.entry.js +5 -5
  87. package/dist/cjs/co-tab-group.cjs.entry.js +113 -4
  88. package/dist/cjs/co-tab.cjs.entry.js +15 -5
  89. package/dist/cjs/co-tags-field.cjs.entry.js +13 -8
  90. package/dist/cjs/co-textarea.cjs.entry.js +6 -6
  91. package/dist/cjs/co-tile.cjs.entry.js +61 -0
  92. package/dist/cjs/co-time-field.cjs.entry.js +5 -2
  93. package/dist/cjs/co-toast.cjs.entry.js +3 -3
  94. package/dist/cjs/co-toggle-button-group.cjs.entry.js +29 -5
  95. package/dist/cjs/co-toggle-button.cjs.entry.js +70 -6
  96. package/dist/cjs/co-transfer-list.cjs.entry.js +7 -3
  97. package/dist/cjs/co-tree-item.cjs.entry.js +110 -0
  98. package/dist/cjs/co-video.cjs.entry.js +11 -3
  99. package/dist/cjs/cobalt.cjs.js +2 -2
  100. package/dist/cjs/{color-CML2Cfdh.js → color-DQVrQGi0.js} +10 -5
  101. package/dist/cjs/{fieldChip-B6YIGU1V.js → fieldChip-C7MxxBVO.js} +1 -1
  102. package/dist/cjs/gradientStops-CMpH4fB_.js +153 -0
  103. package/dist/cjs/hsv-DpfSF3M2.js +95 -0
  104. package/dist/cjs/{index-MDAnKsze.js → index-bHoidDwv.js} +67 -27
  105. package/dist/cjs/index-oMHzCXm6.js +144 -0
  106. package/dist/cjs/loader.cjs.js +2 -2
  107. package/dist/cjs/{index-2kMmd5-a.js → pagination-DV43TRj9.js} +1780 -297
  108. package/dist/cjs/{positioning-CyatXeT_.js → positioning-CILo5esi.js} +45 -18
  109. package/dist/cjs/{requiredMark-D-t-IPN0.js → requiredMark-21yHvvZS.js} +1 -1
  110. package/dist/cjs/rich-text-host-ueFSfW-6.js +119 -0
  111. package/dist/cjs/{richTextI18n-B28uAhh4.js → richTextI18n-DXGIv5w1.js} +45 -0
  112. package/dist/cjs/submenu-RlaX6irw.js +65 -0
  113. package/dist/cjs/{toolbar-config-CYACt9hh.js → toolbar-config-DczL6C4W.js} +32 -0
  114. package/dist/cobalt/cobalt.css +1 -1
  115. package/dist/cobalt/cobalt.esm.js +1 -1
  116. package/dist/cobalt/{p-76249983.entry.js → p-019eed8e.entry.js} +1 -1
  117. package/dist/cobalt/p-04e3e1f6.entry.js +1 -0
  118. package/dist/cobalt/p-06689166.entry.js +1 -0
  119. package/dist/cobalt/p-0d046d98.entry.js +1 -0
  120. package/dist/cobalt/{p-28764b8e.entry.js → p-0e4c2234.entry.js} +1 -1
  121. package/dist/cobalt/{p-b90d41e4.entry.js → p-1348d5ca.entry.js} +1 -1
  122. package/dist/cobalt/{p-49834b8e.entry.js → p-13e5b724.entry.js} +1 -1
  123. package/dist/cobalt/p-1a5bec8c.entry.js +1 -0
  124. package/dist/cobalt/p-21b4a830.entry.js +1 -0
  125. package/dist/cobalt/p-2231bacc.entry.js +1 -0
  126. package/dist/cobalt/{p-b437eff6.entry.js → p-26cbdc33.entry.js} +1 -1
  127. package/dist/cobalt/{p-aa9400bf.entry.js → p-28cf05f3.entry.js} +1 -1
  128. package/dist/cobalt/{p-eadfd661.entry.js → p-358a6c2a.entry.js} +1 -1
  129. package/dist/cobalt/p-3b5024ce.entry.js +1 -0
  130. package/dist/cobalt/p-3b6efb79.entry.js +1 -0
  131. package/dist/cobalt/p-3d1a48e5.entry.js +1 -0
  132. package/dist/cobalt/p-47eca182.entry.js +1 -0
  133. package/dist/cobalt/{p-eb82358d.entry.js → p-4bcdd422.entry.js} +1 -1
  134. package/dist/cobalt/{p-17244412.entry.js → p-4d743628.entry.js} +1 -1
  135. package/dist/cobalt/{p-011dc80b.entry.js → p-4e81e580.entry.js} +1 -1
  136. package/dist/cobalt/{p-ee9a623d.entry.js → p-53a251ca.entry.js} +1 -1
  137. package/dist/cobalt/{p-11c5ce78.entry.js → p-56176aa0.entry.js} +1 -1
  138. package/dist/cobalt/{p-a32b20eb.entry.js → p-58ebb303.entry.js} +1 -1
  139. package/dist/cobalt/{p-4592ca00.entry.js → p-5a32b9a2.entry.js} +1 -1
  140. package/dist/cobalt/{p-2636b7eb.entry.js → p-5e678e88.entry.js} +1 -1
  141. package/dist/cobalt/{p-996f4e38.entry.js → p-60f948c4.entry.js} +1 -1
  142. package/dist/cobalt/p-63908a8d.entry.js +1 -0
  143. package/dist/cobalt/p-65c191aa.entry.js +1 -0
  144. package/dist/cobalt/{p-c2ebf0ec.entry.js → p-65d44da2.entry.js} +1 -1
  145. package/dist/cobalt/p-67a024dd.entry.js +1 -0
  146. package/dist/cobalt/{p-ee149fd2.entry.js → p-6974df59.entry.js} +1 -1
  147. package/dist/cobalt/{p-000a15b8.entry.js → p-69ecc933.entry.js} +1 -1
  148. package/dist/cobalt/p-6c1992c9.entry.js +1 -0
  149. package/dist/cobalt/{p-b821d9de.entry.js → p-6d4a660c.entry.js} +1 -1
  150. package/dist/cobalt/{p-f57dffca.entry.js → p-713637f2.entry.js} +1 -1
  151. package/dist/cobalt/{p-292b0389.entry.js → p-71ae1551.entry.js} +1 -1
  152. package/dist/cobalt/{p-91e73a92.entry.js → p-71dc8e4a.entry.js} +1 -1
  153. package/dist/cobalt/{p-aaca6dab.entry.js → p-71ee36a8.entry.js} +1 -1
  154. package/dist/cobalt/p-71fe35c4.entry.js +1 -0
  155. package/dist/cobalt/{p-08e42e00.entry.js → p-73313cbe.entry.js} +1 -1
  156. package/dist/cobalt/{p-7b5c555c.entry.js → p-763698b3.entry.js} +1 -1
  157. package/dist/cobalt/p-77e0d401.entry.js +1 -0
  158. package/dist/cobalt/{p-c91d4fc6.entry.js → p-78412feb.entry.js} +1 -1
  159. package/dist/cobalt/p-7beface1.entry.js +1 -0
  160. package/dist/cobalt/{p-f4e1c3c3.entry.js → p-7d1718ed.entry.js} +1 -1
  161. package/dist/cobalt/{p-826ee074.entry.js → p-7df18a52.entry.js} +1 -1
  162. package/dist/cobalt/p-7e678cbd.entry.js +1 -0
  163. package/dist/cobalt/{p-d0b2c418.entry.js → p-7fabd8ba.entry.js} +1 -1
  164. package/dist/cobalt/{p-23ab0cc5.entry.js → p-848f5ca4.entry.js} +1 -1
  165. package/dist/cobalt/{p-623cc195.entry.js → p-8680559b.entry.js} +1 -1
  166. package/dist/cobalt/p-87de5469.entry.js +1 -0
  167. package/dist/cobalt/p-87e62e2b.entry.js +1 -0
  168. package/dist/cobalt/{p-1861fe41.entry.js → p-8a2a2b6c.entry.js} +1 -1
  169. package/dist/cobalt/p-903237f9.entry.js +1 -0
  170. package/dist/cobalt/{p-2c9dba2f.entry.js → p-95f2ebb1.entry.js} +1 -1
  171. package/dist/cobalt/{p-24196410.entry.js → p-99df434b.entry.js} +1 -1
  172. package/dist/cobalt/{p-290066ef.entry.js → p-9adbab95.entry.js} +1 -1
  173. package/dist/cobalt/p-9dc01092.entry.js +1 -0
  174. package/dist/cobalt/p-9ee5bef3.entry.js +1 -0
  175. package/dist/cobalt/p-B1JT7us1.js +1 -0
  176. package/dist/cobalt/{p-BRbgGqLw.js → p-BVGGRfNG.js} +1 -1
  177. package/dist/cobalt/p-BmdKHBZP.js +1 -0
  178. package/dist/cobalt/p-BtliEQAT.js +1 -0
  179. package/dist/cobalt/p-COJdaKBU.js +1 -0
  180. package/dist/cobalt/{p-BAYo-RBt.js → p-CRxTFT_z.js} +1 -1
  181. package/dist/cobalt/p-CYN5B3IQ.js +1 -0
  182. package/dist/cobalt/p-DJkaRtbb.js +2 -0
  183. package/dist/cobalt/p-DU-KOQ8L.js +1 -0
  184. package/dist/cobalt/p-DXLeDZvr.js +1 -0
  185. package/dist/cobalt/{p-D_zA1Pv4.js → p-DgJovDdy.js} +1 -1
  186. package/dist/cobalt/p-RVQJEYxa.js +1 -0
  187. package/dist/cobalt/{p-ee2023da.entry.js → p-a27013e6.entry.js} +1 -1
  188. package/dist/cobalt/{p-2f9cbbd5.entry.js → p-a4eb298c.entry.js} +1 -1
  189. package/dist/cobalt/p-a56bd4a8.entry.js +1 -0
  190. package/dist/cobalt/{p-59963937.entry.js → p-a5eabecb.entry.js} +1 -1
  191. package/dist/cobalt/p-a5ee1fc2.entry.js +1 -0
  192. package/dist/cobalt/{p-fb2d1144.entry.js → p-a7cd61ce.entry.js} +1 -1
  193. package/dist/cobalt/{p-39a50e7f.entry.js → p-ad752791.entry.js} +1 -1
  194. package/dist/cobalt/{p-07416e31.entry.js → p-ae999b94.entry.js} +1 -1
  195. package/dist/cobalt/{p-4d65e713.entry.js → p-aed832d5.entry.js} +1 -1
  196. package/dist/cobalt/p-b2457431.entry.js +1 -0
  197. package/dist/cobalt/{p-6dd220e0.entry.js → p-b39a4999.entry.js} +1 -1
  198. package/dist/cobalt/p-b5dabdc3.entry.js +1 -0
  199. package/dist/cobalt/{p-8471abe2.entry.js → p-b67fb616.entry.js} +1 -1
  200. package/dist/cobalt/{p-f7eb1a40.entry.js → p-b9b73dcb.entry.js} +1 -1
  201. package/dist/cobalt/{p-f9a7b7c6.entry.js → p-ba39a965.entry.js} +1 -1
  202. package/dist/cobalt/{p-58d9b650.entry.js → p-be520bd5.entry.js} +1 -1
  203. package/dist/cobalt/{p-1dc55e43.entry.js → p-bee30373.entry.js} +1 -1
  204. package/dist/cobalt/{p-44c4e4a3.entry.js → p-c220362c.entry.js} +1 -1
  205. package/dist/cobalt/p-c4c997f3.entry.js +1 -0
  206. package/dist/cobalt/{p-a2462d7a.entry.js → p-c5464a98.entry.js} +1 -1
  207. package/dist/cobalt/p-c567533e.entry.js +1 -0
  208. package/dist/cobalt/{p-c30b4cb5.entry.js → p-cf5b91be.entry.js} +1 -1
  209. package/dist/cobalt/p-cfaaa684.entry.js +1 -0
  210. package/dist/cobalt/p-d00c3894.entry.js +1 -0
  211. package/dist/cobalt/p-d1e83525.entry.js +1 -0
  212. package/dist/cobalt/{p-44ea675f.entry.js → p-d5d8fa8b.entry.js} +1 -1
  213. package/dist/cobalt/p-d6215d80.entry.js +1 -0
  214. package/dist/cobalt/p-d6e7c258.entry.js +1 -0
  215. package/dist/cobalt/p-dabcbba7.entry.js +1 -0
  216. package/dist/cobalt/p-db623519.entry.js +1 -0
  217. package/dist/cobalt/{p-c7d7d7f7.entry.js → p-df529110.entry.js} +1 -1
  218. package/dist/cobalt/{p-1cc818ca.entry.js → p-ea24eea8.entry.js} +1 -1
  219. package/dist/cobalt/{p-d29bb0fa.entry.js → p-efb3cbb0.entry.js} +1 -1
  220. package/dist/cobalt/{p-f6691108.entry.js → p-f0898e21.entry.js} +1 -1
  221. package/dist/cobalt/{p-0c004735.entry.js → p-f2fa2ac0.entry.js} +1 -1
  222. package/dist/cobalt/p-f403eeec.entry.js +1 -0
  223. package/dist/cobalt/{p-e4264532.entry.js → p-f69804a6.entry.js} +1 -1
  224. package/dist/cobalt/p-xnrKkNWQ.js +1 -0
  225. package/dist/collection/collection-manifest.json +8 -0
  226. package/dist/collection/components/co-accordion/co-accordion.js +12 -2
  227. package/dist/collection/components/co-action-bar/co-action-bar.css +6 -0
  228. package/dist/collection/components/co-action-bar/co-action-bar.js +3 -2
  229. package/dist/collection/components/co-app-shell/co-app-shell.css +6 -0
  230. package/dist/collection/components/co-app-shell/co-app-shell.js +13 -2
  231. package/dist/collection/components/co-audio-player/co-audio-player.js +19 -7
  232. package/dist/collection/components/co-autocomplete/co-autocomplete.js +30 -17
  233. package/dist/collection/components/co-avatar/co-avatar.css +16 -2
  234. package/dist/collection/components/co-avatar/co-avatar.js +14 -4
  235. package/dist/collection/components/co-avatar-group/co-avatar-group.css +4 -0
  236. package/dist/collection/components/co-avatar-group/co-avatar-group.js +8 -3
  237. package/dist/collection/components/co-badge/co-badge.js +8 -1
  238. package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.js +13 -4
  239. package/dist/collection/components/co-breadcrumb/co-breadcrumb.js +5 -1
  240. package/dist/collection/components/co-breadcrumb-item/co-breadcrumb-item.js +8 -2
  241. package/dist/collection/components/co-button/co-button.css +81 -6
  242. package/dist/collection/components/co-button/co-button.js +39 -11
  243. package/dist/collection/components/co-button-group/co-button-group.js +10 -3
  244. package/dist/collection/components/co-calendar/calendarMarks.js +40 -0
  245. package/dist/collection/components/co-calendar/co-calendar.css +19 -1
  246. package/dist/collection/components/co-calendar/co-calendar.js +84 -20
  247. package/dist/collection/components/co-calendar-month/co-calendar-month.js +1 -1
  248. package/dist/collection/components/co-calendar-timegrid/co-calendar-timegrid.js +36 -19
  249. package/dist/collection/components/co-card/co-card.js +11 -2
  250. package/dist/collection/components/co-carousel/co-carousel.css +10 -0
  251. package/dist/collection/components/co-carousel/co-carousel.js +17 -5
  252. package/dist/collection/components/co-carousel-item/co-carousel-item.js +1 -1
  253. package/dist/collection/components/co-checkbox/co-checkbox.css +43 -1
  254. package/dist/collection/components/co-checkbox/co-checkbox.js +39 -3
  255. package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +9 -4
  256. package/dist/collection/components/co-chip/co-chip.css +9 -0
  257. package/dist/collection/components/co-chip/co-chip.js +15 -2
  258. package/dist/collection/components/co-color-area/co-color-area.css +87 -0
  259. package/dist/collection/components/co-color-area/co-color-area.js +342 -0
  260. package/dist/collection/components/co-color-picker/co-color-picker.js +4 -2
  261. package/dist/collection/components/co-color-slider/co-color-slider.css +115 -0
  262. package/dist/collection/components/co-color-slider/co-color-slider.js +354 -0
  263. package/dist/collection/components/co-column-picker/co-column-picker.js +51 -25
  264. package/dist/collection/components/co-combobox/co-combobox.js +18 -4
  265. package/dist/collection/components/co-command-search/co-command-search.js +19 -8
  266. package/dist/collection/components/co-data-table/co-data-table.js +8 -3
  267. package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.js +16 -4
  268. package/dist/collection/components/co-date-field/co-date-field.js +19 -13
  269. package/dist/collection/components/co-date-picker/co-date-picker.js +38 -25
  270. package/dist/collection/components/co-date-range/co-date-range.js +19 -10
  271. package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +44 -30
  272. package/dist/collection/components/co-date-time-picker/co-date-time-picker.js +31 -22
  273. package/dist/collection/components/co-document-editor/change-throttle.js +30 -0
  274. package/dist/collection/components/co-document-editor/co-document-editor.css +438 -0
  275. package/dist/collection/components/co-document-editor/co-document-editor.js +1549 -0
  276. package/dist/collection/components/co-document-editor/document-props.js +40 -0
  277. package/dist/collection/components/co-document-editor/header-tools.js +11 -0
  278. package/dist/collection/components/co-document-editor/image-bar.js +66 -0
  279. package/dist/collection/components/co-document-editor/page-styles.js +90 -0
  280. package/dist/collection/components/co-document-editor/zoom.js +45 -0
  281. package/dist/collection/components/co-drawer/co-drawer.css +5 -0
  282. package/dist/collection/components/co-drawer/co-drawer.js +13 -0
  283. package/dist/collection/components/co-drive-card/co-drive-card.js +14 -1
  284. package/dist/collection/components/co-drop-zone/co-drop-zone.js +7 -2
  285. package/dist/collection/components/co-emoji-picker/co-emoji-picker.css +4 -0
  286. package/dist/collection/components/co-emoji-picker/co-emoji-picker.js +11 -2
  287. package/dist/collection/components/co-empty-state/co-empty-state.js +4 -2
  288. package/dist/collection/components/co-event-calendar/co-event-calendar.js +16 -4
  289. package/dist/collection/components/co-event-popover/co-event-popover.js +18 -6
  290. package/dist/collection/components/co-fab/co-fab.css +8 -0
  291. package/dist/collection/components/co-fab/co-fab.js +17 -8
  292. package/dist/collection/components/co-file-field/co-file-field.js +16 -11
  293. package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +9 -2
  294. package/dist/collection/components/co-gradient-bar/co-gradient-bar.css +143 -0
  295. package/dist/collection/components/co-gradient-bar/co-gradient-bar.js +412 -0
  296. package/dist/collection/components/co-helper-text/co-helper-text.js +4 -2
  297. package/dist/collection/components/co-icon/co-icon.js +6 -2
  298. package/dist/collection/components/co-icon-button/co-icon-button.css +104 -19
  299. package/dist/collection/components/co-icon-button/co-icon-button.js +125 -10
  300. package/dist/collection/components/co-input/co-input.css +125 -0
  301. package/dist/collection/components/co-input/co-input.js +48 -11
  302. package/dist/collection/components/co-json-field/co-json-field.js +19 -12
  303. package/dist/collection/components/co-kbd/co-kbd.css +99 -0
  304. package/dist/collection/components/co-kbd/co-kbd.js +298 -0
  305. package/dist/collection/components/co-lightbox/co-lightbox.js +4 -4
  306. package/dist/collection/components/co-list-footer/co-list-footer.js +4 -1
  307. package/dist/collection/components/co-list-item/co-list-item.js +7 -4
  308. package/dist/collection/components/co-loader/co-loader.js +5 -0
  309. package/dist/collection/components/co-media-thumb/co-media-thumb.js +9 -2
  310. package/dist/collection/components/co-menu/co-menu.css +70 -0
  311. package/dist/collection/components/co-menu/co-menu.js +146 -6
  312. package/dist/collection/components/co-menu-divider/co-menu-divider.css +21 -0
  313. package/dist/collection/components/co-menu-divider/co-menu-divider.js +2 -1
  314. package/dist/collection/components/co-menu-item/co-menu-item.css +56 -6
  315. package/dist/collection/components/co-menu-item/co-menu-item.js +60 -4
  316. package/dist/collection/components/co-modal/co-modal.css +218 -1
  317. package/dist/collection/components/co-modal/co-modal.js +354 -12
  318. package/dist/collection/components/co-navbar/co-navbar.css +7 -0
  319. package/dist/collection/components/co-navbar/co-navbar.js +4 -2
  320. package/dist/collection/components/co-number-field/co-number-field.js +29 -15
  321. package/dist/collection/components/co-option-list/co-option-list.css +102 -21
  322. package/dist/collection/components/co-option-list/co-option-list.js +37 -16
  323. package/dist/collection/components/co-overlay/co-overlay.css +4 -0
  324. package/dist/collection/components/co-overlay/co-overlay.js +17 -3
  325. package/dist/collection/components/co-page-header/co-page-header.js +4 -1
  326. package/dist/collection/components/co-phone-field/co-phone-field.js +1 -1
  327. package/dist/collection/components/co-popover/co-popover.css +20 -2
  328. package/dist/collection/components/co-popover/co-popover.js +148 -10
  329. package/dist/collection/components/co-progress-bar/co-progress-bar.js +5 -2
  330. package/dist/collection/components/co-progress-circle/co-progress-circle.js +5 -2
  331. package/dist/collection/components/co-provider-logo/co-provider-logo.js +3 -0
  332. package/dist/collection/components/co-radio/co-radio.js +11 -3
  333. package/dist/collection/components/co-radio-group/co-radio-group.js +9 -4
  334. package/dist/collection/components/co-rating/co-rating.js +25 -13
  335. package/dist/collection/components/co-ref-field/co-ref-field.css +14 -0
  336. package/dist/collection/components/co-ref-field/co-ref-field.js +55 -27
  337. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +66 -111
  338. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.css +12 -0
  339. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +127 -19
  340. package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.js +16 -1
  341. package/dist/collection/components/co-row/co-row.js +5 -2
  342. package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +9 -3
  343. package/dist/collection/components/co-select/co-select.css +207 -11
  344. package/dist/collection/components/co-select/co-select.js +198 -48
  345. package/dist/collection/components/co-select/virtualRows.js +57 -0
  346. package/dist/collection/components/co-separator/co-separator.js +8 -1
  347. package/dist/collection/components/co-sidebar/co-sidebar.js +10 -2
  348. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.css +15 -0
  349. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +20 -4
  350. package/dist/collection/components/co-skeleton/co-skeleton.js +4 -1
  351. package/dist/collection/components/co-slider/co-slider.css +155 -5
  352. package/dist/collection/components/co-slider/co-slider.js +263 -32
  353. package/dist/collection/components/co-swatch-grid/co-swatch-grid.css +56 -0
  354. package/dist/collection/components/co-swatch-grid/co-swatch-grid.js +293 -0
  355. package/dist/collection/components/co-switch/co-switch.css +4 -0
  356. package/dist/collection/components/co-switch/co-switch.js +12 -3
  357. package/dist/collection/components/co-tab/co-tab.css +60 -0
  358. package/dist/collection/components/co-tab/co-tab.js +44 -6
  359. package/dist/collection/components/co-tab-group/co-tab-group.css +24 -0
  360. package/dist/collection/components/co-tab-group/co-tab-group.js +133 -2
  361. package/dist/collection/components/co-tab-group/revealTab.js +26 -0
  362. package/dist/collection/components/co-tags-field/co-tags-field.js +21 -14
  363. package/dist/collection/components/co-textarea/co-textarea.js +4 -4
  364. package/dist/collection/components/co-tile/co-tile.css +63 -0
  365. package/dist/collection/components/co-tile/co-tile.js +167 -0
  366. package/dist/collection/components/co-time-field/co-time-field.js +9 -4
  367. package/dist/collection/components/co-toast/co-toast.css +11 -0
  368. package/dist/collection/components/co-toast/co-toast.js +13 -4
  369. package/dist/collection/components/co-toggle-button/co-toggle-button.css +106 -0
  370. package/dist/collection/components/co-toggle-button/co-toggle-button.js +91 -15
  371. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.css +21 -0
  372. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +41 -11
  373. package/dist/collection/components/co-tooltip/co-tooltip.css +36 -0
  374. package/dist/collection/components/co-tooltip/co-tooltip.js +61 -3
  375. package/dist/collection/components/co-transfer-list/co-transfer-list.js +19 -10
  376. package/dist/collection/components/co-tree-item/co-tree-item.css +235 -0
  377. package/dist/collection/components/co-tree-item/co-tree-item.js +355 -0
  378. package/dist/collection/components/co-tree-item/treeItemI18n.js +16 -0
  379. package/dist/collection/components/co-video/co-video.css +11 -0
  380. package/dist/collection/components/co-video/co-video.js +41 -22
  381. package/dist/collection/utils/color.js +9 -5
  382. package/dist/collection/utils/dragMove.js +95 -0
  383. package/dist/collection/utils/gradientBarI18n.js +24 -0
  384. package/dist/collection/utils/gradientStops.js +142 -0
  385. package/dist/collection/utils/hsv.js +114 -0
  386. package/dist/collection/utils/kbdI18n.js +29 -0
  387. package/dist/collection/utils/positioning.js +44 -18
  388. package/dist/collection/utils/rich-text-host.js +109 -0
  389. package/dist/collection/utils/richTextI18n.js +45 -0
  390. package/dist/collection/utils/submenu.js +23 -3
  391. package/dist/collection/utils/swatchGridI18n.js +14 -0
  392. package/dist/collection/utils/test/fake-block-layout.js +41 -0
  393. package/dist/collection/utils/test/prosemirror-dom-shim.js +17 -0
  394. package/dist/collection/utils/test/shared-contract-css.js +9 -0
  395. package/dist/components/co-accordion.js +1 -1
  396. package/dist/components/co-action-bar.js +1 -1
  397. package/dist/components/co-app-shell.js +1 -1
  398. package/dist/components/co-audio-player.js +1 -1
  399. package/dist/components/co-autocomplete.js +1 -1
  400. package/dist/components/co-avatar-group.js +1 -1
  401. package/dist/components/co-avatar.js +1 -1
  402. package/dist/components/co-badge.js +1 -1
  403. package/dist/components/co-bottom-sheet.js +1 -1
  404. package/dist/components/co-breadcrumb-item.js +1 -1
  405. package/dist/components/co-breadcrumb.js +1 -1
  406. package/dist/components/co-button-group.js +1 -1
  407. package/dist/components/co-button.js +1 -1
  408. package/dist/components/co-calendar-month.js +1 -1
  409. package/dist/components/co-calendar-timegrid.js +1 -1
  410. package/dist/components/co-calendar.js +1 -1
  411. package/dist/components/co-card.js +1 -1
  412. package/dist/components/co-carousel-item.js +1 -1
  413. package/dist/components/co-carousel.js +1 -1
  414. package/dist/components/co-checkbox-group.js +1 -1
  415. package/dist/components/co-checkbox.js +1 -1
  416. package/dist/components/co-chip.js +1 -1
  417. package/dist/components/co-color-area.d.ts +11 -0
  418. package/dist/components/co-color-area.js +1 -0
  419. package/dist/components/co-color-picker.js +1 -1
  420. package/dist/components/co-color-slider.d.ts +11 -0
  421. package/dist/components/co-color-slider.js +1 -0
  422. package/dist/components/co-column-picker.js +1 -1
  423. package/dist/components/co-combobox.js +1 -1
  424. package/dist/components/co-command-search.js +1 -1
  425. package/dist/components/co-data-table-pagination.js +1 -1
  426. package/dist/components/co-data-table.js +1 -1
  427. package/dist/components/co-date-field.js +1 -1
  428. package/dist/components/co-date-picker.js +1 -1
  429. package/dist/components/co-date-range-picker.js +1 -1
  430. package/dist/components/co-date-range.js +1 -1
  431. package/dist/components/co-date-time-picker.js +1 -1
  432. package/dist/components/co-document-editor.d.ts +11 -0
  433. package/dist/components/co-document-editor.js +1 -0
  434. package/dist/components/co-drawer.js +1 -1
  435. package/dist/components/co-drive-card.js +1 -1
  436. package/dist/components/co-drop-zone.js +1 -1
  437. package/dist/components/co-emoji-picker.js +1 -1
  438. package/dist/components/co-empty-state.js +1 -1
  439. package/dist/components/co-event-calendar.js +1 -1
  440. package/dist/components/co-event-popover.js +1 -1
  441. package/dist/components/co-fab.js +1 -1
  442. package/dist/components/co-file-field.js +1 -1
  443. package/dist/components/co-file-type-tile.js +1 -1
  444. package/dist/components/co-gradient-bar.d.ts +11 -0
  445. package/dist/components/co-gradient-bar.js +1 -0
  446. package/dist/components/co-helper-text.js +1 -1
  447. package/dist/components/co-icon-button.js +1 -1
  448. package/dist/components/co-icon.js +1 -1
  449. package/dist/components/co-input.js +1 -1
  450. package/dist/components/co-json-field.js +1 -1
  451. package/dist/components/co-kbd.d.ts +11 -0
  452. package/dist/components/co-kbd.js +1 -0
  453. package/dist/components/co-lightbox.js +1 -1
  454. package/dist/components/co-list-footer.js +1 -1
  455. package/dist/components/co-list-item.js +1 -1
  456. package/dist/components/co-media-thumb.js +1 -1
  457. package/dist/components/co-menu-divider.js +1 -1
  458. package/dist/components/co-menu-item.js +1 -1
  459. package/dist/components/co-menu.js +1 -1
  460. package/dist/components/co-modal.js +1 -1
  461. package/dist/components/co-navbar.js +1 -1
  462. package/dist/components/co-number-field.js +1 -1
  463. package/dist/components/co-option-list.js +1 -1
  464. package/dist/components/co-overlay.js +1 -1
  465. package/dist/components/co-page-header.js +1 -1
  466. package/dist/components/co-phone-field.js +1 -1
  467. package/dist/components/co-popover.js +1 -1
  468. package/dist/components/co-progress-bar.js +1 -1
  469. package/dist/components/co-progress-circle.js +1 -1
  470. package/dist/components/co-radio-group.js +1 -1
  471. package/dist/components/co-radio.js +1 -1
  472. package/dist/components/co-rating.js +1 -1
  473. package/dist/components/co-ref-field.js +1 -1
  474. package/dist/components/co-rich-text-editor.js +1 -1
  475. package/dist/components/co-rich-text-toolbar.js +1 -1
  476. package/dist/components/co-rich-text-viewer.js +1 -1
  477. package/dist/components/co-row.js +1 -1
  478. package/dist/components/co-segmented-bar.js +1 -1
  479. package/dist/components/co-select.js +1 -1
  480. package/dist/components/co-separator.js +1 -1
  481. package/dist/components/co-sidebar-nav.js +1 -1
  482. package/dist/components/co-sidebar.js +1 -1
  483. package/dist/components/co-skeleton.js +1 -1
  484. package/dist/components/co-slider.js +1 -1
  485. package/dist/components/co-swatch-grid.d.ts +11 -0
  486. package/dist/components/co-swatch-grid.js +1 -0
  487. package/dist/components/co-switch.js +1 -1
  488. package/dist/components/co-tab-group.js +1 -1
  489. package/dist/components/co-tab.js +1 -1
  490. package/dist/components/co-tags-field.js +1 -1
  491. package/dist/components/co-textarea.js +1 -1
  492. package/dist/components/co-tile.d.ts +11 -0
  493. package/dist/components/co-tile.js +1 -0
  494. package/dist/components/co-time-field.js +1 -1
  495. package/dist/components/co-toast.js +1 -1
  496. package/dist/components/co-toggle-button-group.js +1 -1
  497. package/dist/components/co-toggle-button.js +1 -1
  498. package/dist/components/co-tooltip.js +1 -1
  499. package/dist/components/co-transfer-list.js +1 -1
  500. package/dist/components/co-tree-item.d.ts +11 -0
  501. package/dist/components/co-tree-item.js +1 -0
  502. package/dist/components/co-video.js +1 -1
  503. package/dist/components/index.js +1 -1
  504. package/dist/components/p-8XzG8pzY.js +1 -0
  505. package/dist/components/p-9VoFSbIH.js +1 -0
  506. package/dist/components/p-B1JT7us1.js +1 -0
  507. package/dist/components/{p-Dc_Kbari.js → p-B3Egz082.js} +1 -1
  508. package/dist/components/p-B9wdMd_0.js +1 -0
  509. package/dist/components/p-BRZci8B3.js +1 -0
  510. package/dist/components/{p-BRbgGqLw.js → p-BVGGRfNG.js} +1 -1
  511. package/dist/components/{p-B56LX2SH.js → p-BVdCvEza.js} +1 -1
  512. package/dist/components/p-BdmzslA5.js +1 -0
  513. package/dist/components/p-BmdKHBZP.js +1 -0
  514. package/dist/components/p-BtliEQAT.js +1 -0
  515. package/dist/components/{p-CT2enQ6h.js → p-Bw_b_czs.js} +1 -1
  516. package/dist/components/{p-NNxjElcX.js → p-C4sZjIDj.js} +1 -1
  517. package/dist/components/{p-Nt4JJxbL.js → p-C6WHpL5X.js} +1 -1
  518. package/dist/components/p-COJdaKBU.js +1 -0
  519. package/dist/components/p-COozgrEk.js +1 -0
  520. package/dist/components/{p-BAYo-RBt.js → p-CRxTFT_z.js} +1 -1
  521. package/dist/components/{p-uxdXViMV.js → p-CiYPJW0B.js} +1 -1
  522. package/dist/components/p-Cnfd6Zze.js +1 -0
  523. package/dist/components/{p-BhCVadcA.js → p-CxWo3qDo.js} +1 -1
  524. package/dist/components/p-D4XP17VP.js +1 -0
  525. package/dist/components/{p-e5KibEs8.js → p-DJ468fPu.js} +1 -1
  526. package/dist/components/p-DU-KOQ8L.js +1 -0
  527. package/dist/components/p-DXLeDZvr.js +1 -0
  528. package/dist/components/{p-DvR45CLa.js → p-Dn2wblrA.js} +1 -1
  529. package/dist/components/p-Dnz99Ox_.js +1 -0
  530. package/dist/components/p-DsuFNmTI.js +1 -0
  531. package/dist/components/{p-Du_CgT5E.js → p-Du8EpQb-.js} +1 -1
  532. package/dist/components/{p-DFlJMEJ-.js → p-DymSqdlK.js} +1 -1
  533. package/dist/components/p-Hi57w2_2.js +1 -0
  534. package/dist/components/{p-DNJAIVfI.js → p-KK2vAKs-.js} +1 -1
  535. package/dist/components/p-RVQJEYxa.js +1 -0
  536. package/dist/components/p-TGRbLkLz.js +1 -0
  537. package/dist/components/p-VcrjNCew.js +1 -0
  538. package/dist/components/{p-Dxa7c4Ap.js → p-dnaee7fS.js} +1 -1
  539. package/dist/components/p-nrwDl_gx.js +1 -0
  540. package/dist/components/{p-P4HlMBlL.js → p-zJ3pjFzW.js} +1 -1
  541. package/dist/esm/co-accordion.entry.js +3 -3
  542. package/dist/esm/co-action-bar.entry.js +3 -3
  543. package/dist/esm/co-app-shell.entry.js +3 -3
  544. package/dist/esm/co-audio-player.entry.js +4 -4
  545. package/dist/esm/co-autocomplete.entry.js +12 -5
  546. package/dist/esm/co-avatar-group.entry.js +3 -3
  547. package/dist/esm/co-avatar.entry.js +7 -4
  548. package/dist/esm/co-badge.entry.js +2 -2
  549. package/dist/esm/co-bottom-sheet.entry.js +5 -5
  550. package/dist/esm/co-breadcrumb-item.entry.js +3 -3
  551. package/dist/esm/co-breadcrumb.entry.js +2 -2
  552. package/dist/esm/co-button-group.entry.js +4 -3
  553. package/dist/esm/co-button.entry.js +9 -7
  554. package/dist/esm/co-calendar-month_2.entry.js +16 -4
  555. package/dist/esm/co-calendar_3.entry.js +76 -27
  556. package/dist/esm/co-card.entry.js +3 -3
  557. package/dist/esm/co-carousel-item.entry.js +2 -2
  558. package/dist/esm/co-carousel.entry.js +6 -3
  559. package/dist/esm/co-checkbox-group.entry.js +4 -4
  560. package/dist/esm/co-checkbox.entry.js +13 -5
  561. package/dist/esm/co-chip_2.entry.js +20 -7
  562. package/dist/esm/co-color-area.entry.js +167 -0
  563. package/dist/esm/co-color-picker.entry.js +5 -5
  564. package/dist/esm/co-color-slider.entry.js +187 -0
  565. package/dist/esm/co-column-picker.entry.js +23 -3
  566. package/dist/esm/co-combobox.entry.js +5 -5
  567. package/dist/esm/co-command-search.entry.js +5 -5
  568. package/dist/esm/co-data-table-pagination.entry.js +5 -5
  569. package/dist/esm/co-data-table.entry.js +3 -3
  570. package/dist/esm/co-date-picker.entry.js +10 -2
  571. package/dist/esm/co-date-range-picker.entry.js +11 -2
  572. package/dist/esm/co-date-range.entry.js +8 -2
  573. package/dist/esm/co-date-time-picker.entry.js +11 -4
  574. package/dist/esm/co-document-editor.entry.js +1165 -0
  575. package/dist/esm/co-drive-card.entry.js +2 -2
  576. package/dist/esm/co-drop-zone.entry.js +2 -2
  577. package/dist/esm/co-emoji-picker.entry.js +3 -3
  578. package/dist/esm/co-empty-state.entry.js +3 -3
  579. package/dist/esm/co-event-calendar.entry.js +5 -3
  580. package/dist/esm/co-event-popover.entry.js +7 -3
  581. package/dist/esm/co-fab.entry.js +7 -3
  582. package/dist/esm/co-file-field.entry.js +12 -8
  583. package/dist/esm/co-file-type-tile.entry.js +3 -3
  584. package/dist/esm/co-gradient-bar.entry.js +218 -0
  585. package/dist/esm/co-helper-text.entry.js +3 -3
  586. package/dist/esm/co-icon-button.entry.js +48 -9
  587. package/dist/esm/co-icon.entry.js +3 -3
  588. package/dist/esm/co-input.entry.js +14 -8
  589. package/dist/esm/co-json-field.entry.js +10 -5
  590. package/dist/esm/{co-tooltip.entry.js → co-kbd_2.entry.js} +194 -7
  591. package/dist/esm/co-lightbox.entry.js +5 -5
  592. package/dist/esm/co-list-footer.entry.js +2 -2
  593. package/dist/esm/co-list-item.entry.js +5 -5
  594. package/dist/esm/co-loader.entry.js +1 -1
  595. package/dist/esm/co-media-thumb.entry.js +3 -3
  596. package/dist/esm/co-menu-divider.entry.js +3 -3
  597. package/dist/esm/co-menu-item.entry.js +39 -41
  598. package/dist/esm/co-menu.entry.js +81 -5
  599. package/dist/esm/co-modal.entry.js +350 -7
  600. package/dist/esm/co-navbar.entry.js +3 -3
  601. package/dist/esm/co-number-field.entry.js +11 -5
  602. package/dist/esm/co-overlay.entry.js +8 -4
  603. package/dist/esm/co-page-header.entry.js +2 -2
  604. package/dist/esm/co-phone-field.entry.js +3 -3
  605. package/dist/esm/co-popover.entry.js +69 -6
  606. package/dist/esm/co-progress-bar.entry.js +3 -3
  607. package/dist/esm/co-progress-circle.entry.js +3 -3
  608. package/dist/esm/co-provider-logo_2.entry.js +2 -2
  609. package/dist/esm/co-radio-group.entry.js +4 -4
  610. package/dist/esm/co-radio.entry.js +4 -4
  611. package/dist/esm/co-rating.entry.js +11 -4
  612. package/dist/esm/co-ref-field.entry.js +14 -5
  613. package/dist/esm/co-rich-text-editor.entry.js +40 -92
  614. package/dist/esm/co-rich-text-toolbar.entry.js +80 -20
  615. package/dist/esm/co-rich-text-viewer.entry.js +9 -2
  616. package/dist/esm/co-row.entry.js +3 -3
  617. package/dist/esm/co-segmented-bar.entry.js +3 -3
  618. package/dist/esm/co-select.entry.js +171 -29
  619. package/dist/esm/co-separator.entry.js +2 -2
  620. package/dist/esm/co-sidebar-nav.entry.js +20 -5
  621. package/dist/esm/co-sidebar.entry.js +3 -3
  622. package/dist/esm/co-slider.entry.js +209 -23
  623. package/dist/esm/co-swatch-grid.entry.js +119 -0
  624. package/dist/esm/co-switch.entry.js +5 -5
  625. package/dist/esm/co-tab-group.entry.js +113 -4
  626. package/dist/esm/co-tab.entry.js +15 -5
  627. package/dist/esm/co-tags-field.entry.js +13 -8
  628. package/dist/esm/co-textarea.entry.js +6 -6
  629. package/dist/esm/co-tile.entry.js +59 -0
  630. package/dist/esm/co-time-field.entry.js +5 -2
  631. package/dist/esm/co-toast.entry.js +3 -3
  632. package/dist/esm/co-toggle-button-group.entry.js +29 -5
  633. package/dist/esm/co-toggle-button.entry.js +70 -6
  634. package/dist/esm/co-transfer-list.entry.js +7 -3
  635. package/dist/esm/co-tree-item.entry.js +108 -0
  636. package/dist/esm/co-video.entry.js +11 -3
  637. package/dist/esm/cobalt.js +3 -3
  638. package/dist/esm/{color-BRbgGqLw.js → color-BVGGRfNG.js} +10 -6
  639. package/dist/esm/{fieldChip-uyggU8VV.js → fieldChip-B2ctp2m6.js} +1 -1
  640. package/dist/esm/gradientStops-DDK0y8ra.js +145 -0
  641. package/dist/esm/hsv-COJdaKBU.js +90 -0
  642. package/dist/esm/index-Cpo8HTwr.js +142 -0
  643. package/dist/esm/{index-DH5lfRNj.js → index-DJkaRtbb.js} +67 -28
  644. package/dist/esm/loader.js +3 -3
  645. package/dist/esm/{index-BBIYyvq-.js → pagination-D9OfZUnY.js} +1728 -297
  646. package/dist/esm/{positioning-DFHRS9cJ.js → positioning-BtliEQAT.js} +45 -19
  647. package/dist/esm/{requiredMark-BCJUuZvC.js → requiredMark-D5C5NzOE.js} +1 -1
  648. package/dist/esm/rich-text-host-BmdKHBZP.js +111 -0
  649. package/dist/esm/{richTextI18n-BYKAgwq3.js → richTextI18n-xnrKkNWQ.js} +45 -0
  650. package/dist/esm/submenu-DU-KOQ8L.js +57 -0
  651. package/dist/esm/{toolbar-config-BAYo-RBt.js → toolbar-config-CRxTFT_z.js} +32 -0
  652. package/dist/types/components/co-accordion/co-accordion.d.ts +10 -0
  653. package/dist/types/components/co-action-bar/co-action-bar.d.ts +1 -0
  654. package/dist/types/components/co-app-shell/co-app-shell.d.ts +11 -0
  655. package/dist/types/components/co-audio-player/co-audio-player.d.ts +16 -0
  656. package/dist/types/components/co-autocomplete/co-autocomplete.d.ts +21 -0
  657. package/dist/types/components/co-avatar/co-avatar.d.ts +11 -2
  658. package/dist/types/components/co-avatar-group/co-avatar-group.d.ts +5 -0
  659. package/dist/types/components/co-badge/co-badge.d.ts +7 -0
  660. package/dist/types/components/co-bottom-sheet/co-bottom-sheet.d.ts +9 -0
  661. package/dist/types/components/co-breadcrumb/co-breadcrumb.d.ts +4 -0
  662. package/dist/types/components/co-breadcrumb-item/co-breadcrumb-item.d.ts +6 -0
  663. package/dist/types/components/co-button/co-button.d.ts +12 -4
  664. package/dist/types/components/co-button-group/co-button-group.d.ts +7 -0
  665. package/dist/types/components/co-calendar/calendarMarks.d.ts +15 -0
  666. package/dist/types/components/co-calendar/co-calendar.d.ts +18 -0
  667. package/dist/types/components/co-calendar-timegrid/co-calendar-timegrid.d.ts +23 -0
  668. package/dist/types/components/co-card/co-card.d.ts +9 -0
  669. package/dist/types/components/co-carousel/co-carousel.d.ts +12 -0
  670. package/dist/types/components/co-checkbox/co-checkbox.d.ts +15 -0
  671. package/dist/types/components/co-checkbox-group/co-checkbox-group.d.ts +5 -0
  672. package/dist/types/components/co-chip/co-chip.d.ts +13 -0
  673. package/dist/types/components/co-color-area/co-color-area.d.ts +65 -0
  674. package/dist/types/components/co-color-picker/co-color-picker.d.ts +2 -0
  675. package/dist/types/components/co-color-slider/co-color-slider.d.ts +62 -0
  676. package/dist/types/components/co-column-picker/co-column-picker.d.ts +32 -0
  677. package/dist/types/components/co-combobox/co-combobox.d.ts +14 -0
  678. package/dist/types/components/co-command-search/co-command-search.d.ts +15 -0
  679. package/dist/types/components/co-data-table/co-data-table.d.ts +5 -0
  680. package/dist/types/components/co-data-table-pagination/co-data-table-pagination.d.ts +12 -0
  681. package/dist/types/components/co-date-field/co-date-field.d.ts +11 -0
  682. package/dist/types/components/co-date-picker/co-date-picker.d.ts +30 -0
  683. package/dist/types/components/co-date-range/co-date-range.d.ts +12 -0
  684. package/dist/types/components/co-date-range-picker/co-date-range-picker.d.ts +33 -0
  685. package/dist/types/components/co-date-time-picker/co-date-time-picker.d.ts +22 -1
  686. package/dist/types/components/co-document-editor/change-throttle.d.ts +9 -0
  687. package/dist/types/components/co-document-editor/co-document-editor.d.ts +284 -0
  688. package/dist/types/components/co-document-editor/document-props.d.ts +6 -0
  689. package/dist/types/components/co-document-editor/header-tools.d.ts +11 -0
  690. package/dist/types/components/co-document-editor/image-bar.d.ts +50 -0
  691. package/dist/types/components/co-document-editor/page-styles.d.ts +1 -0
  692. package/dist/types/components/co-document-editor/zoom.d.ts +26 -0
  693. package/dist/types/components/co-drawer/co-drawer.d.ts +13 -0
  694. package/dist/types/components/co-drive-card/co-drive-card.d.ts +13 -0
  695. package/dist/types/components/co-drop-zone/co-drop-zone.d.ts +6 -1
  696. package/dist/types/components/co-emoji-picker/co-emoji-picker.d.ts +9 -0
  697. package/dist/types/components/co-empty-state/co-empty-state.d.ts +2 -0
  698. package/dist/types/components/co-event-calendar/co-event-calendar.d.ts +12 -16
  699. package/dist/types/components/co-event-popover/co-event-popover.d.ts +13 -0
  700. package/dist/types/components/co-fab/co-fab.d.ts +11 -0
  701. package/dist/types/components/co-file-field/co-file-field.d.ts +6 -0
  702. package/dist/types/components/co-file-type-tile/co-file-type-tile.d.ts +7 -0
  703. package/dist/types/components/co-gradient-bar/co-gradient-bar.d.ts +77 -0
  704. package/dist/types/components/co-helper-text/co-helper-text.d.ts +2 -0
  705. package/dist/types/components/co-icon/co-icon.d.ts +4 -0
  706. package/dist/types/components/co-icon-button/co-icon-button.d.ts +39 -2
  707. package/dist/types/components/co-input/co-input.d.ts +25 -5
  708. package/dist/types/components/co-json-field/co-json-field.d.ts +11 -0
  709. package/dist/types/components/co-kbd/co-kbd.d.ts +50 -0
  710. package/dist/types/components/co-list-footer/co-list-footer.d.ts +3 -0
  711. package/dist/types/components/co-list-item/co-list-item.d.ts +3 -0
  712. package/dist/types/components/co-loader/co-loader.d.ts +5 -0
  713. package/dist/types/components/co-media-thumb/co-media-thumb.d.ts +7 -0
  714. package/dist/types/components/co-menu/co-menu.d.ts +42 -1
  715. package/dist/types/components/co-menu-divider/co-menu-divider.d.ts +1 -0
  716. package/dist/types/components/co-menu-item/co-menu-item.d.ts +19 -0
  717. package/dist/types/components/co-modal/co-modal.d.ts +126 -5
  718. package/dist/types/components/co-navbar/co-navbar.d.ts +2 -0
  719. package/dist/types/components/co-number-field/co-number-field.d.ts +20 -0
  720. package/dist/types/components/co-option-list/co-option-list.d.ts +29 -1
  721. package/dist/types/components/co-option-list/optionListLogic.d.ts +3 -0
  722. package/dist/types/components/co-overlay/co-overlay.d.ts +10 -0
  723. package/dist/types/components/co-page-header/co-page-header.d.ts +3 -0
  724. package/dist/types/components/co-popover/co-popover.d.ts +51 -0
  725. package/dist/types/components/co-progress-bar/co-progress-bar.d.ts +3 -0
  726. package/dist/types/components/co-progress-circle/co-progress-circle.d.ts +3 -0
  727. package/dist/types/components/co-provider-logo/co-provider-logo.d.ts +3 -0
  728. package/dist/types/components/co-radio/co-radio.d.ts +8 -0
  729. package/dist/types/components/co-radio-group/co-radio-group.d.ts +5 -0
  730. package/dist/types/components/co-rating/co-rating.d.ts +15 -0
  731. package/dist/types/components/co-ref-field/co-ref-field.d.ts +42 -0
  732. package/dist/types/components/co-rich-text-editor/co-rich-text-editor.d.ts +31 -5
  733. package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +20 -2
  734. package/dist/types/components/co-rich-text-viewer/co-rich-text-viewer.d.ts +8 -0
  735. package/dist/types/components/co-row/co-row.d.ts +3 -0
  736. package/dist/types/components/co-segmented-bar/co-segmented-bar.d.ts +6 -0
  737. package/dist/types/components/co-select/co-select.d.ts +73 -5
  738. package/dist/types/components/co-select/virtualRows.d.ts +44 -0
  739. package/dist/types/components/co-separator/co-separator.d.ts +7 -0
  740. package/dist/types/components/co-sidebar/co-sidebar.d.ts +8 -0
  741. package/dist/types/components/co-sidebar-nav/co-sidebar-nav.d.ts +1 -0
  742. package/dist/types/components/co-skeleton/co-skeleton.d.ts +3 -0
  743. package/dist/types/components/co-slider/co-slider.d.ts +160 -1
  744. package/dist/types/components/co-swatch-grid/co-swatch-grid.d.ts +38 -0
  745. package/dist/types/components/co-switch/co-switch.d.ts +9 -0
  746. package/dist/types/components/co-tab/co-tab.d.ts +20 -2
  747. package/dist/types/components/co-tab-group/co-tab-group.d.ts +46 -0
  748. package/dist/types/components/co-tab-group/revealTab.d.ts +29 -0
  749. package/dist/types/components/co-tags-field/co-tags-field.d.ts +11 -0
  750. package/dist/types/components/co-tile/co-tile.d.ts +45 -0
  751. package/dist/types/components/co-time-field/co-time-field.d.ts +5 -0
  752. package/dist/types/components/co-toast/co-toast.d.ts +9 -0
  753. package/dist/types/components/co-toggle-button/co-toggle-button.d.ts +45 -2
  754. package/dist/types/components/co-toggle-button-group/co-toggle-button-group.d.ts +30 -2
  755. package/dist/types/components/co-tooltip/co-tooltip.d.ts +22 -0
  756. package/dist/types/components/co-transfer-list/co-transfer-list.d.ts +12 -0
  757. package/dist/types/components/co-tree-item/co-tree-item.d.ts +75 -0
  758. package/dist/types/components/co-tree-item/treeItemI18n.d.ts +6 -0
  759. package/dist/types/components/co-video/co-video.d.ts +31 -0
  760. package/dist/types/components.d.ts +3905 -85
  761. package/dist/types/utils/color.d.ts +9 -1
  762. package/dist/types/utils/dragMove.d.ts +63 -0
  763. package/dist/types/utils/gradientBarI18n.d.ts +8 -0
  764. package/dist/types/utils/gradientStops.d.ts +63 -0
  765. package/dist/types/utils/hsv.d.ts +44 -0
  766. package/dist/types/utils/kbdI18n.d.ts +25 -0
  767. package/dist/types/utils/positioning.d.ts +24 -0
  768. package/dist/types/utils/rich-text-host.d.ts +41 -0
  769. package/dist/types/utils/richTextI18n.d.ts +15 -0
  770. package/dist/types/utils/submenu.d.ts +16 -2
  771. package/dist/types/utils/swatchGridI18n.d.ts +6 -0
  772. package/dist/types/utils/test/fake-block-layout.d.ts +7 -0
  773. package/dist/types/utils/test/prosemirror-dom-shim.d.ts +1 -0
  774. package/dist/types/utils/test/shared-contract-css.d.ts +9 -0
  775. package/package.json +5 -5
  776. package/dist/cobalt/p-0678c797.entry.js +0 -1
  777. package/dist/cobalt/p-1d3a79af.entry.js +0 -1
  778. package/dist/cobalt/p-216a63ee.entry.js +0 -1
  779. package/dist/cobalt/p-3d31c575.entry.js +0 -1
  780. package/dist/cobalt/p-416795f5.entry.js +0 -1
  781. package/dist/cobalt/p-56551580.entry.js +0 -1
  782. package/dist/cobalt/p-58137c9e.entry.js +0 -1
  783. package/dist/cobalt/p-5a3e4c81.entry.js +0 -1
  784. package/dist/cobalt/p-5c756787.entry.js +0 -1
  785. package/dist/cobalt/p-67f3b9d6.entry.js +0 -1
  786. package/dist/cobalt/p-6a4f3179.entry.js +0 -1
  787. package/dist/cobalt/p-71cbc53c.entry.js +0 -1
  788. package/dist/cobalt/p-72e52af7.entry.js +0 -1
  789. package/dist/cobalt/p-8530ad16.entry.js +0 -1
  790. package/dist/cobalt/p-8a74bf7d.entry.js +0 -1
  791. package/dist/cobalt/p-8e05b979.entry.js +0 -1
  792. package/dist/cobalt/p-8ebc0c12.entry.js +0 -1
  793. package/dist/cobalt/p-8f2199ff.entry.js +0 -1
  794. package/dist/cobalt/p-9246e09c.entry.js +0 -1
  795. package/dist/cobalt/p-99a655f6.entry.js +0 -1
  796. package/dist/cobalt/p-BYKAgwq3.js +0 -1
  797. package/dist/cobalt/p-CJW9H3Gi.js +0 -1
  798. package/dist/cobalt/p-DFHRS9cJ.js +0 -1
  799. package/dist/cobalt/p-DH5lfRNj.js +0 -2
  800. package/dist/cobalt/p-a1b422ca.entry.js +0 -1
  801. package/dist/cobalt/p-ade07307.entry.js +0 -1
  802. package/dist/cobalt/p-b0762fd8.entry.js +0 -1
  803. package/dist/cobalt/p-b698188c.entry.js +0 -1
  804. package/dist/cobalt/p-bde32f8b.entry.js +0 -1
  805. package/dist/cobalt/p-d375014b.entry.js +0 -1
  806. package/dist/cobalt/p-db805569.entry.js +0 -1
  807. package/dist/cobalt/p-e3aae282.entry.js +0 -1
  808. package/dist/cobalt/p-e49a564c.entry.js +0 -1
  809. package/dist/cobalt/p-ef301976.entry.js +0 -1
  810. package/dist/cobalt/p-fMqVDypp.js +0 -1
  811. package/dist/components/p-2EOI1nrz.js +0 -1
  812. package/dist/components/p-7TncUlLN.js +0 -1
  813. package/dist/components/p-B4NCaKrR.js +0 -1
  814. package/dist/components/p-BGDqldEg.js +0 -1
  815. package/dist/components/p-BJh68Jqe.js +0 -1
  816. package/dist/components/p-BrAFTkAn.js +0 -1
  817. package/dist/components/p-Bsh0JMGf.js +0 -1
  818. package/dist/components/p-CJW9H3Gi.js +0 -1
  819. package/dist/components/p-CWCYYQrF.js +0 -1
  820. package/dist/components/p-D9T7zKeL.js +0 -1
  821. package/dist/components/p-DFHRS9cJ.js +0 -1
  822. package/dist/components/p-DTPYZwaZ.js +0 -1
  823. package/dist/components/p-Dcg4krSX.js +0 -1
  824. package/dist/components/p-Dh8ffSjK.js +0 -1
@@ -45,7 +45,15 @@ export declare function isValidHex(v: string): boolean;
45
45
  * de tests de Node, sin DOM.
46
46
  */
47
47
  export declare function parseCssColor(input: string): string | null;
48
- /** WCAG sRGB relative luminance (0–1). */
48
+ /** WCAG sRGB relative luminance (0–1) a partir de canales 0–255 (pueden venir
49
+ * con decimales — p.ej. un color compuesto sobre blanco — sin pasar por hex). */
50
+ export declare function luminanceRgb({ r, g, b }: {
51
+ r: number;
52
+ g: number;
53
+ b: number;
54
+ }): number;
55
+ /** WCAG sRGB relative luminance (0–1). Wrapper fino de `luminanceRgb` para
56
+ * un hex de 3/6 dígitos; lo que no es hex da 0 (comportamiento de siempre). */
49
57
  export declare function luminance(hex: string): number;
50
58
  /** Returns true when the color is perceptually light (needs dark foreground). */
51
59
  export declare function isLightColor(hex: string): boolean;
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Núcleo puro de "arrastrar para mover un panel flotante" (Task D1).
3
+ *
4
+ * Solo aritmética: el desplazamiento acumulado del gesto y su acotado al
5
+ * viewport. Quien lo use aporta la cáscara (pointer events, escritura del
6
+ * estilo) — así el contrato se testea sin layout, que jsdom no calcula.
7
+ *
8
+ * El editor (Design Studio) tiene su propio gemelo de estas funciones en
9
+ * `lib/dragOffset.ts`: son dos paquetes sin dependencia entre sí y el núcleo
10
+ * son ~20 líneas; si alguna regla cambia, hay que cambiar las dos.
11
+ */
12
+ export interface DragPoint {
13
+ x: number;
14
+ y: number;
15
+ }
16
+ export interface DragRect {
17
+ left: number;
18
+ top: number;
19
+ width: number;
20
+ height: number;
21
+ }
22
+ export interface DragViewport {
23
+ width: number;
24
+ height: number;
25
+ }
26
+ /** Px del panel que SIEMPRE quedan dentro del viewport (un panel más chico no exige más de lo que mide). */
27
+ export declare const DRAG_MIN_VISIBLE = 48;
28
+ /**
29
+ * Desplazamiento del gesto: lo ya acumulado (`base`) más lo que se movió el
30
+ * puntero desde que empezó. `base` existe porque el gesto siguiente arranca
31
+ * donde quedó el anterior.
32
+ */
33
+ export declare function dragOffsetOf(base: DragPoint, start: DragPoint, current: DragPoint): DragPoint;
34
+ /**
35
+ * Acota el desplazamiento para que el panel no se pierda de pantalla:
36
+ *
37
+ * - Horizontal: siempre quedan `minVisible` px del panel dentro del viewport
38
+ * (por cualquiera de los dos lados).
39
+ * - Vertical: el borde SUPERIOR nunca sube del borde del viewport (el header
40
+ * —la zona de agarre— queda siempre alcanzable) y por abajo rige el mismo
41
+ * `minVisible`.
42
+ *
43
+ * El rango incluye el 0 por construcción: un panel que ya nace fuera (más alto
44
+ * que el viewport) no debe SALTAR al agarrarlo; solo no se puede empeorar.
45
+ *
46
+ * `rect` es la caja del panel medida UNA vez, al empezar el gesto: medir en
47
+ * cada `pointermove` fuerza layout síncrono en cada frame.
48
+ */
49
+ export declare function clampDragOffset(offset: DragPoint, rect: DragRect, viewport: DragViewport, minVisible?: number): DragPoint;
50
+ /**
51
+ * `true` si el evento nació en un control interactivo DENTRO de la zona de
52
+ * agarre. Recorre el `composedPath` (no `closest`) porque el origen puede venir
53
+ * de otro shadow root — el `<svg>` dentro del ✕, un control del consumidor
54
+ * proyectado en un slot.
55
+ *
56
+ * `handle` acota el recorrido: se corta al llegar al asa. Sin ese tope, un
57
+ * flotante montado dentro de un `<button>` o de un `[role=…]` del consumidor
58
+ * dejaba de arrastrar entero y sin diagnóstico (el ancestro matcheaba).
59
+ */
60
+ export declare function isInteractiveDragTarget(event: {
61
+ composedPath?: () => EventTarget[];
62
+ target: EventTarget | null;
63
+ }, handle?: EventTarget | null): boolean;
@@ -0,0 +1,8 @@
1
+ export interface GradientBarStrings {
2
+ /** aria-label del grupo cuando el host no pasa `label`. */
3
+ barLabel: string;
4
+ /** aria-label de cada handle: "Parada {i} de {n}, {p}%". */
5
+ stopLabel: string;
6
+ }
7
+ /** Resuelve los strings integrados para un locale. */
8
+ export declare function getGradientBarStrings(locale?: string): GradientBarStrings;
@@ -0,0 +1,63 @@
1
+ export interface GradientStop {
2
+ /** 0–100, porcentaje a lo largo de la barra. */
3
+ position: number;
4
+ /** hex (#rgb, #rgba, #rrggbb, #rrggbbaa) o rgb()/rgba(). */
5
+ color: string;
6
+ }
7
+ /** Detalle de `coStopMove` de co-gradient-bar. */
8
+ export interface GradientStopMoveDetail {
9
+ index: number;
10
+ position: number;
11
+ }
12
+ /** Detalle de `coStopAdd` de co-gradient-bar. */
13
+ export interface GradientStopAddDetail {
14
+ position: number;
15
+ /** Color interpolado del degradado en `position`. */
16
+ color: string;
17
+ }
18
+ export interface Rgba {
19
+ r: number;
20
+ g: number;
21
+ b: number;
22
+ /** 0–1 */
23
+ a: number;
24
+ }
25
+ /**
26
+ * Lee un color CSS a canales. Soporta hex de 3/4/6/8 dígitos (vía
27
+ * `hsv.hexToRgb`, único parser de hex del picker) y rgb()/rgba() (con comas
28
+ * o con la sintaxis `/ alpha`). Tokens (`var(--x)`) y nombres (`red`)
29
+ * devuelven null: el llamador decide cómo degradar.
30
+ */
31
+ export declare function parseColor(color: string): Rgba | null;
32
+ /** Opaco → `#rrggbb` (minúsculas, vía `hsv.rgbToHex`); con alpha → `rgba(r, g, b, a)`. */
33
+ export declare function formatColor({ r, g, b, a }: Rgba): string;
34
+ /**
35
+ * El mismo color con alpha 1 (`#rrggbb`), para la mitad "sólida" del chip de
36
+ * un stop translúcido. Un color ilegible se devuelve tal cual.
37
+ */
38
+ export declare function opaqueColor(color: string): string;
39
+ /**
40
+ * Color que tiene el degradado en `position`: mezcla lineal (sRGB, con alpha)
41
+ * entre las dos paradas que la rodean. Fuera del rango devuelve el color del
42
+ * extremo. Si alguna parada vecina no se puede parsear, devuelve el string de
43
+ * la parada más cercana tal cual (no inventa un color).
44
+ */
45
+ export declare function interpolateStopColor(stops: GradientStop[], position: number): string;
46
+ /** `linear-gradient(to right, …)` con las paradas ordenadas; sin paradas → `transparent`. */
47
+ export declare function gradientCss(stops: GradientStop[]): string;
48
+ /** true si alguna parada tiene alpha < 1 (la barra necesita el damero debajo). */
49
+ export declare function hasTransparentStop(stops: GradientStop[]): boolean;
50
+ /**
51
+ * Posición (0–100, entera) de un puntero sobre el track. `trackWidth` 0 (sin
52
+ * medir, display:none, jsdom) → 0, nunca NaN.
53
+ */
54
+ export declare function positionFromPointer(clientX: number, trackLeft: number, trackWidth: number): number;
55
+ /** Paso de teclado: posición + delta, acotado a 0–100. */
56
+ export declare function stepPosition(position: number, delta: number): number;
57
+ /**
58
+ * Swatch "claro" (necesita borde para no fundirse con el fondo): luminancia
59
+ * WCAG > 0,85 tras componer el alpha sobre blanco. Umbral distinto al
60
+ * `isLightColor` de `utils/color.ts` (0,4, pensado para elegir el color del
61
+ * texto), por eso vive aparte y no cambia aquel default.
62
+ */
63
+ export declare function isLightSwatch(color: string): boolean;
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Conversiones puras HSV ⇄ RGB ⇄ HEX para el picker de color del editor
3
+ * (`co-color-area` + `co-color-slider`).
4
+ *
5
+ * Convención de rangos (la misma que exponen los componentes):
6
+ * h ∈ [0, 360) s ∈ [0, 100] v ∈ [0, 100] r/g/b ∈ [0, 255] a ∈ [0, 1]
7
+ *
8
+ * `hexToHsv` NO redondea: la ida y vuelta hex → hsv → hex solo es estable con
9
+ * los decimales (p.ej. #008ff0 es h=204.25, v=94.117…; redondeado a enteros
10
+ * vuelve como #0090f0). Quien muestre números redondea en la UI.
11
+ *
12
+ * Sin dependencias de DOM: corre en el proyecto `unit` (node) de vitest.
13
+ */
14
+ export interface Hsv {
15
+ h: number;
16
+ s: number;
17
+ v: number;
18
+ }
19
+ export interface Rgb {
20
+ r: number;
21
+ g: number;
22
+ b: number;
23
+ /** Alpha 0–1. Opcional en la entrada; `hexToRgb` siempre lo devuelve. */
24
+ a?: number;
25
+ }
26
+ /** Acota `n` a [min, max]. NaN cae a `min` para no propagar basura aguas abajo. */
27
+ export declare function clamp(n: number, min: number, max: number): number;
28
+ /** HSV → RGB (0–255, redondeado). Algoritmo estándar por sectores de 60°. */
29
+ export declare function hsvToRgb({ h, s, v }: Hsv): Rgb;
30
+ /** RGB (0–255) → HSV sin redondear. El gris devuelve h=0, s=0 (nunca NaN). */
31
+ export declare function rgbToHsv({ r, g, b }: Rgb): Hsv;
32
+ /**
33
+ * `#rgb` / `#rgba` / `#rrggbb` / `#rrggbbaa` (con o sin `#`, cualquier caja)
34
+ * → RGB. `a` viene en 0–1 (1 cuando el hex no trae alpha). `null` si no es
35
+ * un hex. Es el ÚNICO parser de hex del picker: `gradientStops.parseColor`
36
+ * delega acá su rama hex (fix I-6).
37
+ */
38
+ export declare function hexToRgb(hex: string): Rgb | null;
39
+ /** RGB → `#rrggbb` en minúscula (el alpha, si viene, se omite). */
40
+ export declare function rgbToHex({ r, g, b }: Rgb): string;
41
+ /** HSV → `#rrggbb`. */
42
+ export declare function hsvToHex(hsv: Hsv): string;
43
+ /** HEX → HSV sin redondear (ver nota de cabecera). `null` si no es un hex. */
44
+ export declare function hexToHsv(hex: string): Hsv | null;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Diccionario embebido de `co-kbd` para las etiquetas de texto de los
3
+ * modificadores en plataformas sin teclas dedicadas (Windows/Linux): sin
4
+ * los glifos de Mac (⌘/⇧/⌥/⌃) el modificador se rotula con texto.
5
+ *
6
+ * Mismo patrón que `fileI18n.ts`: un mapa por locale + un getter. A
7
+ * diferencia de `fileI18n`, acá el locale no llega tipado por componente —
8
+ * `co-kbd` expone un `locale?: string` opcional (BCP-47, p.ej. "es-CO") y
9
+ * este util lo resuelve al lenguaje soportado más cercano, igual que
10
+ * `langFromLocale` en `fileI18n.ts`.
11
+ */
12
+ export interface KbdStrings {
13
+ ctrl: string;
14
+ shift: string;
15
+ alt: string;
16
+ /** Etiqueta para el modificador `cmd` en Windows (no existe una tecla Cmd;
17
+ * la física análoga es Win). `mod` — el modificador de plataforma — rotula
18
+ * `ctrl` en Windows/Linux. */
19
+ win: string;
20
+ }
21
+ export type KbdLang = 'es' | 'en' | 'pt';
22
+ /** Map any BCP-47 locale (e.g. "es-CO") to a supported language; fallback 'en'. */
23
+ export declare function langFromLocale(locale: string | undefined): KbdLang;
24
+ /** Resolve the built-in win-label strings for a locale. */
25
+ export declare function getKbdStrings(locale?: string): KbdStrings;
@@ -11,6 +11,20 @@ export interface PositionOptions {
11
11
  placement: Placement;
12
12
  offset: number;
13
13
  flip: boolean;
14
+ /**
15
+ * Rect a alinear en lugar del trigger (Task C10, Fase 2 Cobalt) — p.ej. la
16
+ * píldora completa del zoom, no solo el botón que dispara el popover. Si no
17
+ * se pasa, se usa `triggerRect` (comportamiento actual, sin cambios).
18
+ */
19
+ anchorRect?: DOMRect;
20
+ /**
21
+ * Desplazamiento en px sobre el eje CRUZADO (Task C10, Fase 2 Cobalt): para
22
+ * placements verticales (`top*`/`bottom*`) el eje cruzado es `left`; para
23
+ * placements horizontales (`left*`/`right*`) es `top`. Default 0 = sin
24
+ * cambio. Se aplica ANTES del clamp de viewport, así el panel desplazado
25
+ * sigue sin poder salirse de pantalla.
26
+ */
27
+ shift?: number;
14
28
  }
15
29
  export interface PositionResult {
16
30
  top: number;
@@ -44,3 +58,13 @@ export declare function findNearestScrollParent(start: Element): Element | null;
44
58
  * original se limitaba a uno solo.
45
59
  */
46
60
  export declare function findScrollParents(start: Element): Element[];
61
+ /**
62
+ * ¿El ancla (trigger) se ve todavía? Tiene que tener caja y cortar el viewport Y
63
+ * cada uno de sus scrollers (`clipRects`, del más cercano al más lejano — lo que
64
+ * devuelve `findScrollParents`, medido). Basta con que UNO la recorte entera para
65
+ * que no se vea: el kebab de una card que el scroll de su columna sacó por arriba
66
+ * sigue dentro del viewport, pero ya no es visible.
67
+ *
68
+ * Asomada en un borde cuenta como visible: el panel todavía tiene de qué colgar.
69
+ */
70
+ export declare function isAnchorVisible(anchor: DOMRect, clipRects: DOMRect[]): boolean;
@@ -0,0 +1,41 @@
1
+ import type { Editor, RichTextOutput } from '@prolibu-suite/cobalt-rich-text';
2
+ /**
3
+ * Cableado común de los componentes que montan un editor de cobalt-rich-text
4
+ * (co-rich-text-editor y co-document-editor). Extraído del RTE sin cambiar su
5
+ * comportamiento (spec contracts-v2-contract-editor §4.4; caracterización en
6
+ * co-rich-text-editor.characterization.spec.tsx). El menú flotante NO vive acá.
7
+ */
8
+ /** `features` llega como objeto (propiedad JS) o como JSON (atributo HTML). */
9
+ export declare function parseFeatures<T extends object = object>(features?: string | T | null): T | undefined;
10
+ /** `value` puede ser JSON de ProseMirror o HTML; vacío = documento vacío. */
11
+ export declare function parseEditorValue(v: string | null | undefined): object | string;
12
+ /**
13
+ * Guarda anti-eco: el padre suele devolver por `value` lo mismo que el editor
14
+ * acaba de emitir (en JSON o en HTML). Re-aplicarlo reinicia el editor y el
15
+ * cursor salta: se ignora.
16
+ */
17
+ export declare class EchoGuard {
18
+ private json;
19
+ private html;
20
+ /** Tras aplicar un valor externo (o al montar): ese valor pasa a ser el "último". */
21
+ seed(v: string | null): void;
22
+ markEmitted(out: RichTextOutput): void;
23
+ isEcho(incoming: string | null): boolean;
24
+ }
25
+ /** Aplica un `value` externo sin emitir update. */
26
+ export declare function applyExternalValue(editor: Editor, incoming: string | null): void;
27
+ /** Salida `{json, html, text}` del RTE. `sanitizeHtml` lo pone el componente (preset + features). */
28
+ export declare function buildOutput(editor: Editor, sanitizeHtml: (html: string) => string): RichTextOutput;
29
+ export type ToolbarHost = HTMLElement & {
30
+ editor?: Editor;
31
+ imageUpload?: unknown;
32
+ };
33
+ /** Pasa el editor activo y el handler de imágenes a `co-rich-text-toolbar`. */
34
+ export declare function syncToolbarEditor(toolbarEl: ToolbarHost | undefined, editor: Editor | undefined, imageUpload: unknown): void;
35
+ /**
36
+ * Marca cada contenedor de imagen con su modo (`data-image-layout`) para que
37
+ * apliquen las reglas del CSS, y limpia el posicionamiento absoluto heredado del
38
+ * modelo de página fija. El NodeView de resize nunca refleja cambios de attrs en
39
+ * el DOM: se lee del state y se escribe el atributo a mano.
40
+ */
41
+ export declare function syncImageLayouts(editor: Editor): void;
@@ -123,6 +123,21 @@ export interface RichTextStrings {
123
123
  imageLayoutWrapRight: string;
124
124
  imageLayoutCenter: string;
125
125
  imageLayoutFullWidth: string;
126
+ heading4: string;
127
+ headingAbbr4: string;
128
+ field: string;
129
+ fieldNamePlaceholder: string;
130
+ signature: string;
131
+ documentHeader: string;
132
+ page: string;
133
+ pageNumber: string;
134
+ confirmHeader: string;
135
+ zoom: string;
136
+ zoomFit: string;
137
+ zoomActual: string;
138
+ imageLayoutBreak: string;
139
+ imageLayoutLabel: string;
140
+ documentEditor: string;
126
141
  }
127
142
  export type RichTextLang = 'es' | 'en' | 'pt';
128
143
  /** Map any BCP-47 locale (e.g. "es-CO") to a supported language; fallback 'en'. */
@@ -24,10 +24,24 @@ export declare const SUBMENU_SIDE_ATTR = "submenu-side";
24
24
  /** Lado horizontal de un placement ya resuelto; null si es vertical (no hay
25
25
  * nada que heredar en una cadena que abre hacia abajo). */
26
26
  export declare function sideOfPlacement(placement: Placement): SubmenuSide | null;
27
+ /** Atributo con el que `co-menu` publica hacia sus ítems si su panel terminó
28
+ * abriendo hacia ARRIBA (`up`) o hacia abajo (`down`), post-flip. */
29
+ export declare const MENU_DIRECTION_ATTR = "menu-direction";
30
+ /** Dirección vertical de un placement ya resuelto del menú raíz. */
31
+ export declare function menuDirectionOfPlacement(placement: Placement): 'up' | 'down';
27
32
  /** Placement que debe pedir un submenú, dado el lado al que resolvió el submenú
28
33
  * de su ancestro. Sin ancestro (primer nivel) mantiene el comportamiento
29
- * histórico: a la derecha, y que el flip decida. */
30
- export declare function submenuPlacement(parentSide?: SubmenuSide | null): Placement;
34
+ * histórico: a la derecha, y que el flip decida.
35
+ *
36
+ * `opensUp`: el menú raíz abrió hacia ARRIBA (trigger al pie: barra de acciones,
37
+ * footer). Entonces el submenú se alinea por el BORDE INFERIOR de su fila
38
+ * (`-end`) y crece hacia arriba, como el menú del que sale. Con `-start` crecía
39
+ * hacia abajo y tapaba el trigger y la barra (Exportar selección → Datos,
40
+ * tarea QA #12). `flip`/`shift` del popover siguen actuando si no cabe. */
41
+ export declare function submenuPlacement(parentSide?: SubmenuSide | null, opensUp?: boolean): Placement;
42
+ /** ¿El `co-menu` que contiene a este ítem abrió hacia arriba? Los ítems (y los
43
+ * anidados) son hijos de light DOM del co-menu, así que `closest` lo alcanza. */
44
+ export declare function menuOpensUp(el: HTMLElement): boolean;
31
45
  /**
32
46
  * Lado heredado del `co-menu-item` ancestro más cercano, o null si no hay (o si
33
47
  * todavía no se posicionó).
@@ -0,0 +1,6 @@
1
+ export interface SwatchGridStrings {
2
+ /** aria-label del listbox cuando el host no pasa `label`. */
3
+ gridLabel: string;
4
+ }
5
+ /** Resuelve los strings integrados para un locale. */
6
+ export declare function getSwatchGridStrings(locale?: string): SwatchGridStrings;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Layout de bloques simulado para specs en jsdom (que no tiene layout): cada
3
+ * elemento mide lo que diga `heightOf` (o su `style.height`, o la suma de sus
4
+ * hijos) y se apila bajo sus hermanos anteriores. `offsetParent` = padre.
5
+ * Devuelve la función que restaura los descriptores originales.
6
+ */
7
+ export declare function installFakeBlockLayout(heightOf: (el: HTMLElement) => number | undefined): () => void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * CSS de impresión REAL que el host (suite-v2) pasa en `pageStyles`: editorCss + defaultCss de
3
+ * SharedContractUtils (dev11-pricing-map/public/js/SharedContractUtils.js, v2.3.0).
4
+ * Copia textual para probar que el acotado no pisa la geometría de la hoja. Solo specs/tests.
5
+ */
6
+ export declare const SHARED_CONTRACT_EDITOR_CSS = "\n:root {\n --gray-3: #000;\n --gray-1: #fff;\n --purple: #9b59b6;\n --purple-light: #e0bbff;\n}\n\n.tiptap h1 {\n display: block;\n margin-bottom: 0.5em;\n margin-top: 0.5em;\n font-size: 2em;\n margin-block-start: 0.67em;\n margin-block-end: 0.67em;\n margin-inline-start: 0px;\n margin-inline-end: 0px;\n font-weight: bold;\n unicode-bidi: isolate;\n line-height: normal;\n letter-spacing: normal;\n}\n\n.tiptap h2,\n.tiptap h3,\n.tiptap h4,\n.tiptap h5,\n.tiptap h6 {\n display: block;\n font-weight: 700;\n margin-bottom: 0.5em;\n margin-top: 0.5em;\n page-break-after: avoid;\n line-height: normal;\n letter-spacing: normal;\n}\n\n.tiptap p {\n margin: 0 !important;\n padding: 0 !important;\n}\n\n.tiptap h1[style],\n.tiptap p[style] {\n}\n\n.tiptap .ProseMirror * {\n font-family: inherit !important;\n box-sizing: content-box !important;\n}\n\n.tiptap.ProseMirror {\n padding: 10mm;\n box-sizing: border-box;\n outline: none;\n /* Contrato tipogr\u00E1fico compartido editor-PDF (espejo de editor.css del\n front). El editor hereda esto del host (suite V1: body Geist 14px +\n line-height 1.5 de Quasar); este CSS es lo UNICO que ve Chromium al\n imprimir -> sin estos valores el PDF caia a los defaults del UA\n (16px/~1.15/serif) y el texto wrappeaba y cortaba distinto al editor.\n Geist primero (la del editor); codeprint cae a Roboto (fonts-roboto\n agregada a su Dockerfile). */\n font-size: 14px;\n line-height: 1.5;\n font-family: 'Geist', 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n}\n\n/* Escala de titulos que Quasar aplica a los tags en la app (lo que el editor\n muestra); el PDF usaba la escala del UA (h2 24px vs 60px del editor). */\n.tiptap h2 { font-size: 60px; }\n.tiptap h3 { font-size: 48px; }\n.tiptap h4 { font-size: 34px; }\n.tiptap h5 { font-size: 24px; }\n.tiptap h6 { font-size: 20px; }\n\n.tiptap.ProseMirror-focused {\n outline: none !important;\n box-shadow: none !important;\n}\n\n.tiptap .editor-content.tiptap {\n height: 100%;\n overflow: hidden;\n}\n\n.tiptap table {\n border-collapse: collapse;\n margin: 0;\n table-layout: fixed;\n width: 100%;\n}\n\n.tiptap table td,\n.tiptap table th {\n border: 1px solid var(--gray-3);\n box-sizing: border-box;\n min-width: 1em;\n padding: 6px 8px;\n vertical-align: top;\n}\n\n.tiptap table th {\n background-color: var(--gray-1);\n font-weight: bold;\n text-align: left;\n}\n\n.tiptap table .selectedCell {\n background: var(--purple-light);\n border-radius: 0.5rem;\n box-shadow: 0 0 0 2px var(--purple);\n color: var(--purple);\n font-weight: bold;\n position: relative;\n}\n\n.tiptap table .column-resize-handle {\n background-color: var(--purple);\n position: absolute;\n right: -2px;\n top: 0;\n width: 4px;\n}\n\n.tiptap .editor-image {\n display: inline-block;\n max-width: 100%;\n height: auto;\n vertical-align: middle;\n margin: 0 4px;\n cursor: pointer;\n}\n\n.tiptap .image-resizer {\n position: relative;\n display: inline-flex;\n}\n\n.tiptap .image-resizer .resize-trigger {\n position: absolute;\n right: -6px;\n bottom: -9px;\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.tiptap .image-resizer:hover .resize-trigger {\n opacity: 1;\n}\n\n.tiptap .page {\n width: 21.59cm;\n height: 27.94cm;\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);\n padding: 2cm;\n margin: 1cm auto;\n page-break-after: always;\n background: white;\n}\n\n.page-view {\n width: 21.59cm;\n height: 27.94cm;\n padding: 2cm;\n margin: 1rem auto;\n background: white;\n border-radius: 4px;\n box-sizing: border-box;\n overflow: hidden;\n position: relative;\n}\n\n.page-frame {\n width: 816px;\n min-height: 1056px; /* Letter @96dpi \u2014 espejo de editor.css del front (1122 era A4) */\n margin: 0 auto;\n background: white;\n box-sizing: border-box;\n transform: none !important;\n transition: zoom 0.2s ease;\n}\n\n.tiptap ul,\n.tiptap ol,\n.tiptap menu {\n margin: 0.5em 0 0.5em 1.5em;\n padding: 0;\n}\n\n.tiptap ul {\n list-style-type: disc;\n}\n\n.tiptap ul ul {\n list-style-type: circle;\n}\n\n.tiptap ul ul ul {\n list-style-type: square;\n}\n\n.tiptap ol {\n list-style-type: decimal;\n}\n\n.tiptap menu {\n list-style-type: none;\n padding-left: 0;\n}\n\n.tiptap li {\n margin: 0.25em 0;\n line-height: 1.4;\n padding-left: 0.2em;\n}\n\n.tiptap li[style] {\n}\n\n.tiptap .page ul,\n.tiptap .page ol,\n.tiptap .page menu {\n margin-left: 1.2em;\n}\n\n.tiptap li > p {\n margin: 0 !important;\n padding: 0 !important;\n}\n";
7
+ export declare const SHARED_CONTRACT_DEFAULT_CSS = "\n* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Roboto', sans-serif; }\n.tiptap.ProseMirror { padding: 10mm !important; }\n.dashboard-preview .tiptap.ProseMirror { padding: 0 !important; }\n/* PARIDAD editor<->PDF: en print los m\u00E1rgenes de p\u00E1gina (10mm de contractPdfOpts,\n codeprint los convierte a mm y Chromium los repite en CADA p\u00E1gina) ya dan el\n espaciado; el padding del bloque los DUPLICABA (columna ~665px vs ~740px del\n editor) y solo aplicaba a la primera/\u00FAltima p\u00E1gina. */\n@media print {\n .tiptap.ProseMirror { padding: 0 !important; }\n .tiptap p, .tiptap li, .tiptap h1, .tiptap h2, .tiptap h3, .tiptap h4, .tiptap h5, .tiptap h6 { break-inside: avoid; }\n .tiptap table tr { break-inside: avoid; }\n}\n";
8
+ /** Orden en que el PDF los concatena (buildContractHtml: defaultCss + '\n' + editorCss). */
9
+ export declare const SHARED_CONTRACT_PAGE_CSS = "\n* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Roboto', sans-serif; }\n.tiptap.ProseMirror { padding: 10mm !important; }\n.dashboard-preview .tiptap.ProseMirror { padding: 0 !important; }\n/* PARIDAD editor<->PDF: en print los m\u00E1rgenes de p\u00E1gina (10mm de contractPdfOpts,\n codeprint los convierte a mm y Chromium los repite en CADA p\u00E1gina) ya dan el\n espaciado; el padding del bloque los DUPLICABA (columna ~665px vs ~740px del\n editor) y solo aplicaba a la primera/\u00FAltima p\u00E1gina. */\n@media print {\n .tiptap.ProseMirror { padding: 0 !important; }\n .tiptap p, .tiptap li, .tiptap h1, .tiptap h2, .tiptap h3, .tiptap h4, .tiptap h5, .tiptap h6 { break-inside: avoid; }\n .tiptap table tr { break-inside: avoid; }\n}\n\n\n:root {\n --gray-3: #000;\n --gray-1: #fff;\n --purple: #9b59b6;\n --purple-light: #e0bbff;\n}\n\n.tiptap h1 {\n display: block;\n margin-bottom: 0.5em;\n margin-top: 0.5em;\n font-size: 2em;\n margin-block-start: 0.67em;\n margin-block-end: 0.67em;\n margin-inline-start: 0px;\n margin-inline-end: 0px;\n font-weight: bold;\n unicode-bidi: isolate;\n line-height: normal;\n letter-spacing: normal;\n}\n\n.tiptap h2,\n.tiptap h3,\n.tiptap h4,\n.tiptap h5,\n.tiptap h6 {\n display: block;\n font-weight: 700;\n margin-bottom: 0.5em;\n margin-top: 0.5em;\n page-break-after: avoid;\n line-height: normal;\n letter-spacing: normal;\n}\n\n.tiptap p {\n margin: 0 !important;\n padding: 0 !important;\n}\n\n.tiptap h1[style],\n.tiptap p[style] {\n}\n\n.tiptap .ProseMirror * {\n font-family: inherit !important;\n box-sizing: content-box !important;\n}\n\n.tiptap.ProseMirror {\n padding: 10mm;\n box-sizing: border-box;\n outline: none;\n /* Contrato tipogr\u00E1fico compartido editor-PDF (espejo de editor.css del\n front). El editor hereda esto del host (suite V1: body Geist 14px +\n line-height 1.5 de Quasar); este CSS es lo UNICO que ve Chromium al\n imprimir -> sin estos valores el PDF caia a los defaults del UA\n (16px/~1.15/serif) y el texto wrappeaba y cortaba distinto al editor.\n Geist primero (la del editor); codeprint cae a Roboto (fonts-roboto\n agregada a su Dockerfile). */\n font-size: 14px;\n line-height: 1.5;\n font-family: 'Geist', 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n}\n\n/* Escala de titulos que Quasar aplica a los tags en la app (lo que el editor\n muestra); el PDF usaba la escala del UA (h2 24px vs 60px del editor). */\n.tiptap h2 { font-size: 60px; }\n.tiptap h3 { font-size: 48px; }\n.tiptap h4 { font-size: 34px; }\n.tiptap h5 { font-size: 24px; }\n.tiptap h6 { font-size: 20px; }\n\n.tiptap.ProseMirror-focused {\n outline: none !important;\n box-shadow: none !important;\n}\n\n.tiptap .editor-content.tiptap {\n height: 100%;\n overflow: hidden;\n}\n\n.tiptap table {\n border-collapse: collapse;\n margin: 0;\n table-layout: fixed;\n width: 100%;\n}\n\n.tiptap table td,\n.tiptap table th {\n border: 1px solid var(--gray-3);\n box-sizing: border-box;\n min-width: 1em;\n padding: 6px 8px;\n vertical-align: top;\n}\n\n.tiptap table th {\n background-color: var(--gray-1);\n font-weight: bold;\n text-align: left;\n}\n\n.tiptap table .selectedCell {\n background: var(--purple-light);\n border-radius: 0.5rem;\n box-shadow: 0 0 0 2px var(--purple);\n color: var(--purple);\n font-weight: bold;\n position: relative;\n}\n\n.tiptap table .column-resize-handle {\n background-color: var(--purple);\n position: absolute;\n right: -2px;\n top: 0;\n width: 4px;\n}\n\n.tiptap .editor-image {\n display: inline-block;\n max-width: 100%;\n height: auto;\n vertical-align: middle;\n margin: 0 4px;\n cursor: pointer;\n}\n\n.tiptap .image-resizer {\n position: relative;\n display: inline-flex;\n}\n\n.tiptap .image-resizer .resize-trigger {\n position: absolute;\n right: -6px;\n bottom: -9px;\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n\n.tiptap .image-resizer:hover .resize-trigger {\n opacity: 1;\n}\n\n.tiptap .page {\n width: 21.59cm;\n height: 27.94cm;\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);\n padding: 2cm;\n margin: 1cm auto;\n page-break-after: always;\n background: white;\n}\n\n.page-view {\n width: 21.59cm;\n height: 27.94cm;\n padding: 2cm;\n margin: 1rem auto;\n background: white;\n border-radius: 4px;\n box-sizing: border-box;\n overflow: hidden;\n position: relative;\n}\n\n.page-frame {\n width: 816px;\n min-height: 1056px; /* Letter @96dpi \u2014 espejo de editor.css del front (1122 era A4) */\n margin: 0 auto;\n background: white;\n box-sizing: border-box;\n transform: none !important;\n transition: zoom 0.2s ease;\n}\n\n.tiptap ul,\n.tiptap ol,\n.tiptap menu {\n margin: 0.5em 0 0.5em 1.5em;\n padding: 0;\n}\n\n.tiptap ul {\n list-style-type: disc;\n}\n\n.tiptap ul ul {\n list-style-type: circle;\n}\n\n.tiptap ul ul ul {\n list-style-type: square;\n}\n\n.tiptap ol {\n list-style-type: decimal;\n}\n\n.tiptap menu {\n list-style-type: none;\n padding-left: 0;\n}\n\n.tiptap li {\n margin: 0.25em 0;\n line-height: 1.4;\n padding-left: 0.2em;\n}\n\n.tiptap li[style] {\n}\n\n.tiptap .page ul,\n.tiptap .page ol,\n.tiptap .page menu {\n margin-left: 1.2em;\n}\n\n.tiptap li > p {\n margin: 0 !important;\n padding: 0 !important;\n}\n";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prolibu-suite/cobalt-core",
3
- "version": "0.10.4",
3
+ "version": "0.11.1",
4
4
  "description": "Cobalt Design System — Framework-agnostic Web Components built with Stencil",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -50,10 +50,10 @@
50
50
  "@phosphor-icons/core": "^2.1.1",
51
51
  "dompurify": "^3.2.6",
52
52
  "overlayscrollbars": "^2.16.0",
53
- "@prolibu-suite/cobalt-date-utils": "0.1.1",
54
- "@prolibu-suite/cobalt-tokens": "0.5.0",
55
- "@prolibu-suite/cobalt-rich-text": "0.1.3",
56
- "@prolibu-suite/cobalt-calendar-utils": "0.1.0"
53
+ "@prolibu-suite/cobalt-rich-text": "0.2.0",
54
+ "@prolibu-suite/cobalt-tokens": "0.6.0",
55
+ "@prolibu-suite/cobalt-calendar-utils": "0.1.1",
56
+ "@prolibu-suite/cobalt-date-utils": "0.1.2"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@stencil/core": "^4.43.4",
@@ -1 +0,0 @@
1
- import{r as t,c as e,h as s,a as i}from"./p-DH5lfRNj.js";const a=class{constructor(s){t(this,s),this.coChange=e(this,"coChange",7),this.coClear=e(this,"coClear",7),this.value="",this.label="",this.placeholder="Select range",this.disabled=!1,this.clearable=!0,this.presets=!0,this.helperText="",this.locale="es",this.warned=!1,this.handleApply=t=>{this.value=JSON.stringify(t.detail),this.coChange.emit(t.detail)}}connectedCallback(){this.warned||(this.warned=!0,console.warn("[cobalt] <co-date-range> is deprecated — use <co-date-range-picker>."))}render(){return s("co-date-range-picker",{key:"2d03e6fa36f8f44830beb798a1a3096b93f3478d",value:this.value,label:this.label,placeholder:this.placeholder,disabled:this.disabled,clearable:this.clearable,presets:this.presets,helperText:this.helperText,locale:this.locale,applyLabel:this.applyLabel,clearLabel:this.clearLabel,onCoApply:this.handleApply,onCoClear:()=>this.coClear.emit()})}get el(){return i(this)}};a.style=":host{display:block}";export{a as co_date_range}
@@ -1 +0,0 @@
1
- import{r as o,c as i,h as t,a as r}from"./p-DH5lfRNj.js";import{h as e}from"./p-Ba_v-MzM.js";import{i as s}from"./p-DqyWGweA.js";import"./p-ox7HzCZn.js";const a=class{constructor(t){o(this,t),this.coRemove=i(this,"coRemove",7),this.coClick=i(this,"coClick",7),this.shape="rounded",this.size="large",this.iconMode="none",this.variant="filled",this.color="default",this.iconWeight="regular",this.removable=!1,this.dot=!1,this.clickable=!1,this.disabled=!1,this.selected=!1,this.handleClick=()=>{this.disabled||this.clickable&&this.coClick.emit()},this.handleRemove=o=>{o.stopPropagation(),this.disabled||this.coRemove.emit()}}render(){const o="left"===this.iconMode||"both"===this.iconMode,i="both"===this.iconMode&&!this.removable,r="large"===this.size?16:10,e="large"===this.size?16:10,s="filter"===this.variant?13:r,a=o||!!this.iconLeft||this.dot,c=i||!!this.iconRight||this.removable||!!this.trailingIcon;let n;return n=a&&c?"both":a?"left":c?"right":"none",t(this.clickable?"button":"div",{key:"385173584372bbad8872565f1fc95e8ae8e14563",class:{"co-chip":!0,[`co-chip--${this.shape}`]:!0,[`co-chip--${this.size}`]:!0,[`co-chip--icon-${n}`]:!0,[`co-chip--${this.variant}`]:!0,[`co-chip--${this.color}`]:"default"!==this.color,"co-chip--clickable":this.clickable,"co-chip--disabled":this.disabled,"co-chip--selected":this.selected},part:"chip",type:this.clickable?"button":void 0,disabled:this.clickable?this.disabled:void 0,onClick:this.handleClick},this.dot&&t("span",{key:"a680c376ac13140b2c073e01fc901f2cfa54bde8",class:"co-chip__dot",part:"dot",style:this.dotColor?{color:this.dotColor}:void 0},t("co-icon",{key:"73e58b8b90234eb883b6a1e49b5e37b267f03d1b",name:"circle",size:r,weight:"fill"})),this.iconLeft&&!o&&t("span",{key:"b944fbf0a0161846411d8fc2fe034c48c77d42ea",class:"co-chip__icon-left",part:"icon-left"},t("co-icon",{key:"b24a5a3c64d0eda1b9d87c66ac93c0d4703973bc",name:this.iconLeft,size:r,weight:this.iconWeight})),o&&t("span",{key:"9f1e7fa47bd86e1d7e4812ec0fe5f61490ab0878",class:"co-chip__icon-left",part:"icon-left"},t("slot",{key:"e52df105783ff84c932bc289f6e88304ccc4240a",name:"icon-left"})),t("span",{key:"269f54eca09a4ff301d9ec4e673bf9c8d19ccd87",class:"co-chip__label"},t("slot",{key:"31fba7c9c05b830562800cc46c48e667e7dc046c"},this.label),null!=this.valueLabel&&""!==this.valueLabel&&t("span",{key:"a455314236c688f2bff9185135787899da52ea5f",class:"co-chip__value",part:"value"},`: ${this.valueLabel}`)),this.iconRight&&!i&&!this.removable&&t("span",{key:"13e5862e03e2fcf7129230a4d68ce7e2b1b4f11e",class:"co-chip__icon-right",part:"icon-right"},t("co-icon",{key:"66fc09efbdeea37f1dbce3b5ad4443a760618b66",name:this.iconRight,size:r,weight:this.iconWeight})),i&&t("span",{key:"7acfa1a23e294cb92b17d5174ec0a78161877624",class:"co-chip__icon-right",part:"icon-right"},t("slot",{key:"9e8ded0f256a72ab81c587a82d2bb570930288f9",name:"icon-right"})),this.removable&&t("span",{key:"e30345ce825c823fbf7da1aaaec4141351e18a02",class:"co-chip__remove",part:"remove",role:"button",tabIndex:this.disabled?-1:0,onClick:this.handleRemove,"aria-label":"Remove"},t("co-icon",{key:"3d9777c29b706cda71ee64b313961c97e215b900",name:"x-circle",size:e,weight:"fill"})),this.trailingIcon&&t("span",{key:"d99af23fbbb7a8557b8cefd15a4cebdc7437ff43",class:"co-chip__trailing",part:"trailing"},t("co-icon",{key:"aa99f2c0f6ec96f95656c607ca5846c282447e35",name:this.trailingIcon,size:s,weight:this.iconWeight})))}};function c(o){let i=o;if("string"==typeof o)try{i=JSON.parse(o)}catch(o){return[]}return Array.isArray(i)?i:[]}function n(o,i,t){const r=[];if(t.forEach(((o,i)=>{o.disabled||r.push(i)})),0===r.length)return-1;const e=r.indexOf(o);return-1===e?1===i?r[0]:r[r.length-1]:r[(e+i+r.length)%r.length]}function l(o,i,t){return i>0?{hasMore:o<i,remaining:Math.max(0,i-o)}:{hasMore:t,remaining:0}}a.style=":host{display:inline-flex;max-width:var(--co-chip-max-width, none)}.co-chip{display:inline-flex;align-items:center;justify-content:center;font-family:var(--co-font-family-primary);font-weight:400;line-height:1;letter-spacing:var(--co-font-letter-spacing-body);white-space:nowrap;box-sizing:border-box;-webkit-font-smoothing:antialiased;max-width:100%;overflow:hidden;border:1px solid transparent;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), opacity var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out);cursor:default;margin:0;padding:0}button.co-chip{cursor:pointer;outline:none}button.co-chip:focus-visible{box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-chip__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.co-chip__value{color:var(--co-chip-value-color, var(--co-color-gray-500, #888888))}.co-chip--filled{background:var(--co-chip-bg, var(--co-semantic-surface-muted));color:var(--co-chip-color, var(--co-semantic-text-default));border-color:var(--co-chip-border, transparent)}.co-chip--filled.co-chip--clickable:hover:not(.co-chip--disabled){background:var(--co-color-opacity-negro-8, rgba(0, 0, 0, 0.08))}.co-chip--filled.co-chip--clickable:active:not(.co-chip--disabled){opacity:0.85}.co-chip--filled.co-chip--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary)}.co-chip--filled.co-chip--primary.co-chip--clickable:hover:not(.co-chip--disabled){background:var(--co-semantic-surface-primary);opacity:0.85}.co-chip--filled.co-chip--success{background:var(--co-semantic-status-success);color:#fff}.co-chip--filled.co-chip--error{background:var(--co-semantic-status-error);color:#fff}.co-chip--filled.co-chip--warning{background:var(--co-color-status-review);color:#fff}.co-chip--filled.co-chip--info{background:var(--co-semantic-status-info);color:#fff}.co-chip--filled.co-chip--pending{background:var(--co-color-status-pending);color:#fff}.co-chip--filled.co-chip--progress{background:var(--co-color-status-progress);color:#fff}.co-chip--filled.co-chip--review{background:var(--co-color-status-review);color:#fff}.co-chip--filled.co-chip--submitted{background:var(--co-color-status-submitted);color:#fff}.co-chip--outlined{background:transparent;color:var(--co-semantic-text-default);border-color:var(--co-semantic-border-default)}.co-chip--outlined.co-chip--clickable:hover:not(.co-chip--disabled){background:var(--co-semantic-surface-hover)}.co-chip--outlined.co-chip--clickable:active:not(.co-chip--disabled){background:var(--co-semantic-surface-muted)}.co-chip--outlined.co-chip--primary{color:var(--co-semantic-surface-primary);border-color:var(--co-semantic-surface-primary)}.co-chip--outlined.co-chip--success{color:var(--co-semantic-status-success);border-color:var(--co-semantic-status-success)}.co-chip--outlined.co-chip--error{color:var(--co-semantic-status-error);border-color:var(--co-semantic-status-error)}.co-chip--outlined.co-chip--warning{color:var(--co-color-status-review);border-color:var(--co-color-status-review)}.co-chip--outlined.co-chip--info{color:var(--co-semantic-status-info);border-color:var(--co-semantic-status-info)}.co-chip--filled.co-chip--selected{box-shadow:inset 0 0 0 1px rgba(255, 255, 255, 0.3)}.co-chip--outlined.co-chip--selected{background:var(--co-semantic-surface-muted);border-width:2px}.co-chip--disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}button.co-chip--disabled{pointer-events:auto;}.co-chip--large{font-size:var(--co-font-size-12)}.co-chip--large.co-chip--icon-none{padding:var(--co-spacing-sm) var(--co-spacing-sm2);gap:0}.co-chip--large.co-chip--icon-left{padding:var(--co-spacing-xs) var(--co-spacing-sm2) var(--co-spacing-xs) var(--co-spacing-sm);gap:var(--co-spacing-sm)}.co-chip--large.co-chip--icon-right{padding:var(--co-spacing-xs) var(--co-spacing-xs) var(--co-spacing-xs) var(--co-spacing-sm2);gap:var(--co-spacing-sm)}.co-chip--large.co-chip--icon-both{padding:var(--co-spacing-xs);gap:var(--co-spacing-sm)}.co-chip--small{font-size:var(--co-font-size-10)}.co-chip--small.co-chip--icon-none{padding:var(--co-spacing-xs) var(--co-spacing-sm);gap:0}.co-chip--small.co-chip--icon-left{padding:var(--co-spacing-xs) var(--co-spacing-sm) var(--co-spacing-xs) var(--co-spacing-xs);gap:var(--co-spacing-xs)}.co-chip--small.co-chip--icon-right{padding:var(--co-spacing-xs) var(--co-spacing-xs) var(--co-spacing-xs) var(--co-spacing-sm);gap:var(--co-spacing-xs)}.co-chip--small.co-chip--icon-both{padding:var(--co-spacing-xs);gap:var(--co-spacing-xs)}.co-chip--rounded{border-radius:var(--co-border-radius-full)}.co-chip--square{border-radius:var(--co-spacing-sm)}.co-chip__icon-left,.co-chip__icon-right,.co-chip__dot,.co-chip__trailing{display:inline-flex;flex-shrink:0;align-items:center}.co-chip__trailing{color:var(--co-chip-trailing-color, currentColor)}.co-chip--large .co-chip__icon-left,.co-chip--large .co-chip__icon-right,.co-chip--large .co-chip__dot{width:16px;height:16px}.co-chip--small .co-chip__icon-left,.co-chip--small .co-chip__icon-right,.co-chip--small .co-chip__dot{width:10px;height:10px}.co-chip__remove{display:inline-flex;flex-shrink:0;align-items:center;cursor:pointer;opacity:1;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out);border:none;background:transparent;padding:0;color:inherit}.co-chip__remove:hover{opacity:0.7}.co-chip--large .co-chip__remove{width:16px;height:16px}.co-chip--small .co-chip__remove{width:10px;height:10px}::slotted(*){display:inline-flex;width:100%;height:100%}.co-chip.co-chip--filter{height:34px;padding:0 12px;gap:7px;font-size:13.5px;border-radius:var(--co-border-radius-full);background:var(--co-color-base-blanco, #fff);color:var(--co-color-base-negro, #1f1c1b);border-color:transparent;box-shadow:inset 0 0 0 1px var(--co-color-opacity-negro-16, rgba(0, 0, 0, 0.16))}.co-chip--filter .co-chip__icon-left{color:var(--co-color-gray-500, #888888)}.co-chip--filter .co-chip__trailing{color:var(--co-color-gray-400, #a0a0a0)}.co-chip--filter.co-chip--clickable:hover:not(.co-chip--disabled){box-shadow:inset 0 0 0 1px var(--co-color-opacity-negro-25, rgba(0, 0, 0, 0.25))}.co-chip--filter.co-chip--clickable:active:not(.co-chip--disabled){background:var(--co-color-gray-100, #f6f6f6)}.co-chip--filter.co-chip--selected{background:var(--co-color-gray-100, #f6f6f6)}";const d=34,h=class{constructor(t){o(this,t),this.coSearch=i(this,"coSearch",1),this.coChange=i(this,"coChange",1),this.coLoadMore=i(this,"coLoadMore",1),this.coClearSelection=i(this,"coClearSelection",1),this.coRemoveItem=i(this,"coRemoveItem",1),this.coReorder=i(this,"coReorder",1),this.coPinToggle=i(this,"coPinToggle",1),this.coListReorder=i(this,"coListReorder",1),this.items="[]",this.value="",this.selectedItems="[]",this.multiple=!1,this.selectedFirst=!1,this.selectedAffordance="check",this.removableItems=!1,this.reorderable=!1,this.pinnable=!1,this.listReorderable=!1,this.searchable=!1,this.searchPlaceholder="Search…",this.searchDebounce=350,this.initialTerm="",this.loading=!1,this.total=0,this.hasMore=!1,this.emptyMessage="No results found",this.clearOptionLabel="",this.virtual=!1,this.highlightMatches=!1,this.highlightTerm="",this.avatarShape="circle",this.suffixAlign="inline",this.autoHighlight=!1,this.term="",this.activeIndex=-1,this.scrollTop=0,this.armedKey="",this.dragKey="",this.overKey="",this.dropAfter=!1,this.lastFillLen=-1,this.sortSnapshot=new Set,this.displaySnapshot=[],this.previewOrder=[],this.onRootKeyDown=o=>{var i,t;if("Enter"===o.key){const r=(null===(i=o.composedPath)||void 0===i?void 0:i.call(o)[0])||o.target;if(r instanceof HTMLElement&&(null===(t=r.closest)||void 0===t?void 0:t.call(r,"button:not(.co-option-list__option), co-list-footer")))return}this.processKey(o.key)&&o.preventDefault()},this.onSearchInput=o=>{const i=o.target.value,t=!!this.term&&!i;this.term=i,this.activeIndex=-1,this.lastFillLen=-1,t&&this.takeSnapshot(),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((()=>this.coSearch.emit(i)),this.searchDebounce)},this.onPtrMove=o=>{const i=this.ptrDrag;if(!i)return;if(!i.started){if(Math.abs(o.clientY-i.startY)<3)return;i.started=!0,this.dragKey=i.id,this.previewOrder=i.originOrder,this.el.style.userSelect="none",this.sortSnapshot.has(i.id)||this.applyPreview([...i.originOrder])}o.preventDefault();const t=this.previewOrder.length;i.desiredTop=Math.max(i.blockTop,Math.min(i.blockTop+(t-1)*i.pitch,o.clientY-i.grabDY)),this.positionLifted();const r=this.previewOrder.indexOf(i.id),e=Math.max(0,Math.min(t-1,Math.round((i.desiredTop-i.blockTop)/i.pitch)));if(e!==r&&-1!==r){const o=[...this.previewOrder];o.splice(e,0,o.splice(r,1)[0]),this.applyPreview(o)}},this.onPtrUp=()=>{const o=this.ptrDrag;if(this.removePtrListeners(),this.ptrDrag=void 0,!o||!o.started)return;const i=o=>{o.stopPropagation(),o.preventDefault()};if(window.addEventListener("click",i,!0),setTimeout((()=>window.removeEventListener("click",i,!0)),0),this.settleLifted(o),this.previewOrder.length&&this.previewOrder.join(" ")!==o.originOrder.join(" ")){const i=new Map(this.displaySnapshot.map((o=>[o._id,o])));this.coReorder.emit({value:this.previewOrder,item:i.get(o.id)})}this.previewOrder=[]},this.onPtrKey=o=>{var i;if("Escape"!==o.key||!this.ptrDrag)return;o.stopPropagation(),o.preventDefault();const t=this.ptrDrag;if(this.removePtrListeners(),this.ptrDrag=void 0,t.started){if(this.displaySnapshot!==t.originDisplay){this.pendingFlip={tops:this.captureRowTops(),movedId:t.id,spring:!0};const o=null===(i=this.el.shadowRoot)||void 0===i?void 0:i.querySelector(`.co-option-list__option[data-id="${CSS.escape(t.id)}"]`);o&&(o.style.transition="none",o.style.transform=""),this.displaySnapshot=t.originDisplay,this.sortSnapshot=t.originSort,this.dragKey="",this.el.style.userSelect=""}else this.settleLifted(t);this.previewOrder=[]}},this.handleRowDragEnd=()=>{this.resetDragState()},this.handleRowDragLeave=(o,i)=>{this.overKey!==i||o.currentTarget.contains(o.relatedTarget)||(this.overKey="")},this.disarmDrag=()=>{this.armedKey&&!this.dragKey&&(this.armedKey="")},this.onNativeScroll=o=>{const i=o.target;this.scrollTop=i.scrollTop,this.maybeLoadMore(i.scrollTop,i.clientHeight,i.scrollHeight)}}get parsedItems(){return c(this.items)}get selectedIds(){return function(o){if(!o)return[];try{const i=JSON.parse(o);return Array.isArray(i)?i:[o]}catch(i){return[o]}}(this.value)}get orderedItems(){return this.selectedFirst?function(o,i,t,r){var e;if(0===i.size)return o;const s=new Map(o.map((o=>[o._id,o]))),a=[];if(r)for(const t of o)i.has(t._id)&&a.push(t);else{const o=new Map(t.map((o=>[o._id,o])));for(const t of i){const i=null!==(e=s.get(t))&&void 0!==e?e:o.get(t);i&&a.push(i)}}const c=o.filter((o=>!i.has(o._id)));return[...a,...c]}(this.parsedItems,this.sortSnapshot,this.displaySnapshot,!!this.term):this.parsedItems}get effectiveHighlightTerm(){return this.highlightMatches?this.searchable?this.term:this.highlightTerm:""}componentWillLoad(){this.term=this.initialTerm||"",this.takeSnapshot(),this.autoHighlight&&(this.activeIndex=n(-1,1,this.orderedItems))}componentDidRender(){this.optionsEl&&!this.osInstance&&(this.osInstance=s(this.optionsEl,(o=>{this.scrollTop=o.scrollTop,this.maybeLoadMore(o.scrollTop,o.clientHeight,o.scrollHeight)}))),this.fillViewport(),this.runFlip(),this.positionLifted()}connectedCallback(){window.addEventListener("mouseup",this.disarmDrag)}disconnectedCallback(){var o;this.debounceTimer&&clearTimeout(this.debounceTimer),null===(o=this.osInstance)||void 0===o||o.destroy(),this.osInstance=void 0,window.removeEventListener("mouseup",this.disarmDrag),this.removePtrListeners()}onItemsChange(){this.autoHighlight?this.activeIndex=n(-1,1,this.orderedItems):this.activeIndex>=this.orderedItems.length&&(this.activeIndex=-1);const o=Math.max(0,this.orderedItems.length*d-272);this.scrollTop>this.orderedItems.length*d&&(this.scrollTop=o)}onValueChange(){var o;if(!this.selectedFirst)return;const i=this.activeIndex>=0?null===(o=this.orderedItems[this.activeIndex])||void 0===o?void 0:o._id:void 0;this.pendingFlip={tops:this.captureRowTops(),movedId:"",spring:!1},this.takeSnapshot(),this.activeIndex=i?this.orderedItems.findIndex((o=>o._id===i)):-1}async clearSearch(){this.debounceTimer&&clearTimeout(this.debounceTimer);const o=!!this.term;this.term="",this.activeIndex=-1,this.lastFillLen=-1,this.searchInputEl&&(this.searchInputEl.value=""),o&&this.takeSnapshot(),this.coSearch.emit("")}async snapshotOrder(){this.takeSnapshot()}async focusSearch(){var o,i;for(let t=0;t<20;t++){if(null===(o=this.searchInputEl)||void 0===o||o.focus(),this.searchInputEl&&(null===(i=this.el.shadowRoot)||void 0===i?void 0:i.activeElement)===this.searchInputEl)return;await new Promise((o=>requestAnimationFrame((()=>o()))))}}async scrollToSelected(){var o,i,t,r;const e=function(o,i){const t=new Set(i);return o.findIndex((o=>t.has(o._id)&&!o.disabled))}(this.orderedItems,this.selectedIds);if(-1!==e){this.activeIndex=e;for(let s=0;s<20;s++){const s=null!==(i=null===(o=this.osInstance)||void 0===o?void 0:o.elements().viewport)&&void 0!==i?i:this.optionsEl;if(s&&s.clientHeight>0){if(this.virtual){const o=e*d;let i=s.scrollTop;o<i?i=o:o+d>i+s.clientHeight&&(i=o+d-s.clientHeight),this.scrollTop=i,s.scrollTop=i}else null===(r=null===(t=this.el.shadowRoot)||void 0===t?void 0:t.getElementById(`co-optlist-${e}`))||void 0===r||r.scrollIntoView({block:"nearest"});return}await new Promise((o=>requestAnimationFrame((()=>o()))))}}}async handleKey(o){return this.processKey(o.key)}takeSnapshot(){this.sortSnapshot=new Set(this.selectedIds);const o=new Map;for(const i of c(this.selectedItems))o.set(i._id,i);for(const i of this.parsedItems)o.has(i._id)||o.set(i._id,i);this.displaySnapshot=this.selectedIds.map((i=>o.get(i))).filter(Boolean)}processKey(o){const i=this.orderedItems;switch(o){case"ArrowDown":return this.activeIndex=n(this.activeIndex,1,i),this.scrollActiveIntoView(),!0;case"ArrowUp":return this.activeIndex=n(this.activeIndex,-1,i),this.scrollActiveIntoView(),!0;case"Enter":{if(this.loading)return!0;const o=i[this.activeIndex];return!(!o||o.disabled||(this.pick(o),0))}default:return!1}}deselectItem(o){if(this.multiple){const i=this.selectedIds.filter((i=>i!==o._id));this.coChange.emit({value:i,item:o})}else this.coChange.emit({value:null,item:o})}pick(o){if(this.multiple){const i=this.selectedIds,t=i.indexOf(o._id)>=0?i.filter((i=>i!==o._id)):[...i,o._id];this.coChange.emit({value:t,item:o})}else this.coChange.emit({value:o._id,item:o})}get listDragActive(){return this.listReorderable&&!(this.reorderable&&this.selectedFirst)}dragOrderIds(){return this.orderedItems.map((o=>o._id))}handleRowDragStart(o,i){this.armedKey===i?(this.dragKey=i,o.dataTransfer&&(o.dataTransfer.effectAllowed="move",o.dataTransfer.setData("text/plain",i))):o.preventDefault()}handleRowDragOver(o,i){if(!this.dragKey||this.dragKey===i)return;o.preventDefault(),o.dataTransfer&&(o.dataTransfer.dropEffect="move"),this.overKey=i;const t=this.dragOrderIds();this.dropAfter=t.indexOf(this.dragKey)<t.indexOf(i)}applyPreview(o){this.pendingFlip={tops:this.captureRowTops(),movedId:this.dragKey,spring:!1};const i=new Map(this.orderedItems.map((o=>[o._id,o])));for(const o of this.displaySnapshot)i.has(o._id)||i.set(o._id,o);this.sortSnapshot=new Set(o),this.displaySnapshot=o.map((o=>i.get(o))).filter(Boolean),this.previewOrder=o}startPointerDrag(o,i){var t;if(0!==o.button||this.ptrDrag)return;const r=function(o,i){const t=new Set(i);return o.filter((o=>t.has(o._id))).map((o=>o._id))}(this.orderedItems,this.selectedIds);if(!r.includes(i))return;const e=o.currentTarget.closest(".co-option-list__option");if(!e)return;o.preventDefault(),o.stopPropagation();const s=e.getBoundingClientRect(),a=null===(t=this.el.shadowRoot)||void 0===t?void 0:t.querySelectorAll(".co-option-list__option[data-id]"),c=null==a?void 0:a[0],n=a&&a.length>=2?a[1].getBoundingClientRect().top-a[0].getBoundingClientRect().top:s.height||d,l=c?this.orderedItems.findIndex((o=>o._id===c.dataset.id)):0,h=c?c.getBoundingClientRect().top-Math.max(0,l)*n:s.top;this.ptrDrag={id:i,grabDY:o.clientY-s.top,blockTop:h,pitch:n,originOrder:r,originDisplay:this.displaySnapshot,originSort:this.sortSnapshot,desiredTop:s.top,startY:o.clientY,started:!1},window.addEventListener("pointermove",this.onPtrMove),window.addEventListener("pointerup",this.onPtrUp),window.addEventListener("keydown",this.onPtrKey,!0)}positionLifted(){var o;const i=this.ptrDrag;if(!i||!i.started)return;const t=null===(o=this.el.shadowRoot)||void 0===o?void 0:o.querySelector(`.co-option-list__option[data-id="${CSS.escape(i.id)}"]`);if(!t)return;const r=this.previewOrder.indexOf(i.id);if(-1===r)return;const e=i.blockTop+r*i.pitch;t.style.transition="none",t.style.transform=`translateY(${i.desiredTop-e}px) scale(1.02)`}settleLifted(o){var i;const t=null===(i=this.el.shadowRoot)||void 0===i?void 0:i.querySelector(`.co-option-list__option[data-id="${CSS.escape(o.id)}"]`),r=()=>{this.dragKey="",this.el.style.userSelect=""};t?(t.style.transition="transform var(--co-motion-duration-base) var(--co-motion-ease-spring)",t.style.transform="",t.addEventListener("transitionend",(()=>{t.style.transition="",r()}),{once:!0})):r()}removePtrListeners(){window.removeEventListener("pointermove",this.onPtrMove),window.removeEventListener("pointerup",this.onPtrUp),window.removeEventListener("keydown",this.onPtrKey,!0)}handleRowDrop(o,i){o.preventDefault(),o.stopPropagation();const t=this.dragKey,r=this.dragOrderIds();if(this.resetDragState(),t===i||!r.includes(t)||!r.includes(i))return;const e=new Map(this.orderedItems.map((o=>[o._id,o]))),s=function(o,i,t,r){return r(i)||r(t)?o:function(o,i,t){if(i===t)return o;const r=o.indexOf(i),e=o.indexOf(t);if(-1===r||-1===e)return o;const s=[...o];return s.splice(e,0,s.splice(r,1)[0]),s}(o,i,t)}(r,t,i,(o=>{var i;return!!(null===(i=e.get(o))||void 0===i?void 0:i.pinned)}));s!==r&&this.coListReorder.emit({value:s,item:e.get(t)})}captureRowTops(){var o;const i=new Map;return null===(o=this.el.shadowRoot)||void 0===o||o.querySelectorAll(".co-option-list__option[data-id]").forEach((o=>i.set(o.dataset.id,o.getBoundingClientRect().top))),i}runFlip(){var o,i,t;if(!this.pendingFlip)return;const{tops:r,movedId:e,spring:s}=this.pendingFlip;this.pendingFlip=void 0;const a=Array.from(null!==(i=null===(o=this.el.shadowRoot)||void 0===o?void 0:o.querySelectorAll(".co-option-list__option[data-id]"))&&void 0!==i?i:[]),c=(null===(t=this.ptrDrag)||void 0===t?void 0:t.started)?this.ptrDrag.id:null;for(const o of a)o.dataset.id!==c&&(o.style.transition="none",o.style.transform="");const n=[];for(const o of a){const i=o.dataset.id;if(i===c)continue;const t=r.get(i);if(void 0===t)continue;const a=t-o.getBoundingClientRect().top;a&&n.push({row:o,delta:a,spring:s&&i===e})}for(const{row:o,delta:i}of n)o.style.transform=`translateY(${i}px)`;for(const o of a){if(o.dataset.id===c)continue;const i=n.find((i=>i.row===o));i?(o.style.transition="transform var(--co-motion-duration-base) "+(i.spring?"var(--co-motion-ease-spring)":"var(--co-motion-ease-out)"),o.style.transform="",o.addEventListener("transitionend",(()=>{o.style.transition=""}),{once:!0})):o.style.transition=""}}resetDragState(){this.armedKey="",this.dragKey="",this.overKey="",this.dropAfter=!1}maybeLoadMore(o,i,t){if(this.loading)return;const{hasMore:r}=l(this.parsedItems.length,this.total,this.hasMore);r&&o+i>=t-40&&this.coLoadMore.emit()}fillViewport(){var o,i;const t=this.parsedItems.length;if(this.loading||0===t||t===this.lastFillLen)return;const{hasMore:r}=l(t,this.total,this.hasMore);if(!r)return;const e=null!==(i=null===(o=this.osInstance)||void 0===o?void 0:o.elements().viewport)&&void 0!==i?i:this.optionsEl;e&&0!==e.clientHeight&&e.scrollHeight-e.clientHeight<=40&&(this.lastFillLen=t,this.coLoadMore.emit())}scrollActiveIntoView(){requestAnimationFrame((()=>{var o,i;null===(i=null===(o=this.el.shadowRoot)||void 0===o?void 0:o.getElementById(`co-optlist-${this.activeIndex}`))||void 0===i||i.scrollIntoView({block:"nearest"})}))}renderLeading(o){return o.image||o.avatar?t("co-avatar",{class:"co-option-list__avatar",type:o.image?"image":"text",src:o.image,text:o.avatar,color:o.color,size:"xxs",shape:this.avatarShape}):o.color?t("span",{class:"co-option-list__dot",style:{backgroundColor:o.color}}):o.icon?t("co-icon",{name:o.icon,size:16,class:"co-option-list__icon"}):null}renderLabelText(o){const i=this.effectiveHighlightTerm,r=i?e(o,i):null;return r?r.map((o=>o.match?t("span",{class:"co-option-list__match"},o.text):o.text)):o}renderBadge(o){const i=t("span",{class:"co-option-list__badge",style:o.color?{backgroundColor:o.color,color:"var(--co-color-base-blanco, #fff)"}:void 0},o.label);return o.tooltip?t("co-tooltip",{class:"co-option-list__badge-tip",content:o.tooltip},i):i}renderRow(o,i,r){const e=r.includes(o._id),s=!this.listDragActive&&this.reorderable&&this.selectedFirst&&e&&!this.term,a=this.listDragActive&&!o.pinned&&!this.term;return t("div",{class:{"co-option-list__option":!0,"co-option-list__option--selected":e,"co-option-list__option--active":i===this.activeIndex,"co-option-list__option--disabled":!!o.disabled,"co-option-list__option--dragging":this.listDragActive&&this.dragKey===o._id,"co-option-list__option--lifted":!this.listDragActive&&this.dragKey===o._id,"co-option-list__option--drop-before":this.listDragActive&&this.overKey===o._id&&!this.dropAfter,"co-option-list__option--drop-after":this.listDragActive&&this.overKey===o._id&&this.dropAfter},key:o._id,id:`co-optlist-${i}`,"data-id":o._id,role:"option","aria-selected":e?"true":"false","aria-disabled":o.disabled?"true":"false",draggable:a&&this.armedKey===o._id,onClick:()=>!o.disabled&&this.pick(o),onMouseEnter:()=>{this.activeIndex=i},onDragStart:a?i=>this.handleRowDragStart(i,o._id):void 0,onDragOver:a?i=>this.handleRowDragOver(i,o._id):void 0,onDrop:a?i=>this.handleRowDrop(i,o._id):void 0,onDragEnd:a?this.handleRowDragEnd:void 0,onDragLeave:a?i=>this.handleRowDragLeave(i,o._id):void 0},(s||a)&&t("span",{class:"co-option-list__drag-handle",part:"drag-handle",title:"Drag to reorder",onMouseDown:a?()=>this.armedKey=o._id:void 0,onPointerDown:s?i=>this.startPointerDrag(i,o._id):void 0,onClick:o=>o.stopPropagation()},t("co-icon",{name:"dots-six-vertical",size:16})),this.renderLeading(o),t("div",{class:"co-option-list__text"},t("span",{class:"co-option-list__title"},t("span",{class:"co-option-list__label",style:o.labelColor?{color:o.labelColor,fontWeight:"600"}:void 0},this.renderLabelText(o.label)),o.suffix&&"end"!==this.suffixAlign&&t("span",{class:"co-option-list__suffix"},"- ",o.suffix),o.badge&&this.renderBadge(o.badge)),o.description&&t("span",{class:"co-option-list__desc"},o.description)),o.suffix&&"end"===this.suffixAlign&&t("span",{class:"co-option-list__suffix co-option-list__suffix--end"},o.suffix),this.pinnable&&t("button",{class:{"co-option-list__pin":!0,"co-option-list__pin--active":!!o.pinned},type:"button",tabIndex:-1,"aria-label":o.pinned?`Unpin ${o.label}`:`Pin ${o.label}`,"aria-pressed":o.pinned?"true":"false",onClick:i=>{i.stopPropagation(),this.coPinToggle.emit({item:o})}},t("co-icon",{name:"push-pin",size:16,weight:o.pinned?"fill":"regular"})),e&&this.removableItems&&this.multiple&&t("button",{class:"co-option-list__row-action",type:"button",tabIndex:-1,"aria-label":`Remove ${o.label}`,onClick:i=>{i.stopPropagation(),this.coRemoveItem.emit(o._id)}},t("co-icon",{name:"x-circle",size:16,weight:"fill"})),e&&!this.removableItems&&"deselect"===this.selectedAffordance&&t("button",{class:"co-option-list__row-action",type:"button",tabIndex:-1,"aria-label":`Deselect ${o.label}`,onClick:i=>{i.stopPropagation(),this.deselectItem(o)}},t("co-icon",{name:"x-circle",size:16,weight:"fill"})),e&&!this.removableItems&&"check"===this.selectedAffordance&&t("co-icon",{name:"check",size:16,class:"co-option-list__check"}))}renderVirtual(o,i){const{totalHeight:r,startIdx:e,endIdx:s,offsetY:a}=function(o,i){const t=i*d,r=Math.max(0,Math.floor(o/d)-3);return{totalHeight:t,startIdx:r,endIdx:Math.min(i,r+8+6),offsetY:r*d}}(this.scrollTop,o.length);return t("div",{class:"co-option-list__spacer",style:{height:`${r}px`,position:"relative"}},t("div",{style:{position:"absolute",top:`${a}px`,left:"0",right:"0"}},o.slice(e,s).map(((o,t)=>this.renderRow(o,e+t,i)))))}render(){const o=this.orderedItems,i=this.selectedIds,{hasMore:r,remaining:e}=l(this.parsedItems.length,this.total,this.hasMore),s=!!this.clearOptionLabel&&i.length>0;return t("div",{key:"93ec2aeb43a8f03e918eb068f683efdc93ca4db5",class:"co-option-list",onKeyDown:this.onRootKeyDown},this.searchable&&t("div",{key:"617640a5909cbb82f37168f19978be213b0de9e0",class:"co-option-list__search",part:"search"},t("co-icon",{key:"5e4c73aa4cb53d71e37b628936cb699eee656056",name:"magnifying-glass",size:16}),t("input",{key:"f9497413b2b8d72899051ee0d02f34411936ae8c",class:"co-option-list__search-input",type:"text",placeholder:this.searchPlaceholder,value:this.term,onInput:this.onSearchInput,ref:o=>this.searchInputEl=o,role:"combobox","aria-expanded":"true","aria-autocomplete":"list"})),t("div",{key:"06403a47d664e34d9fa0381affdb32b6d3b8eb56",class:"co-option-list__options",part:"options",role:"listbox","aria-multiselectable":this.multiple?"true":"false",ref:o=>this.optionsEl=o,onScroll:this.onNativeScroll},t("div",{key:"aa17f1da0c46d9df52a0e3f1257ebf385c1ba945",class:"co-option-list__inner"},s&&t("button",{key:"e88eb444c5b94ebb800e4385515aa13542b2682f",class:"co-option-list__clear-row",type:"button",onClick:()=>this.coClearSelection.emit()},t("co-icon",{key:"f1e332a87ba9d83fd2a22150939b135766731dc6",name:"x-circle",size:14}),t("span",{key:"26dca00c81dd651982955562fc3747aae88ba536"},this.clearOptionLabel)),this.loading&&0===o.length&&t("div",{key:"147ffc9fefed3524bfdd08ebfa36fb2e89ff4bb1",class:"co-option-list__loading"},t("co-loader",{key:"d4be765a87c8222b5747749fce7787788a4b0aca",size:"sm"})),!this.loading&&0===o.length&&t("div",{key:"f20612fb93140fff5463e2992e9beec1ccb1fda9",class:"co-option-list__empty"},t("co-icon",{key:"aa68b5891aae21c513a069e920ddae0378d0a736",name:"magnifying-glass",size:20}),t("span",{key:"2fa339d51962a1898493ba78febcd90d3dbf9310"},this.emptyMessage)),o.length>0&&this.virtual?this.renderVirtual(o,i):function(o){const i=[];let t,r=0;for(const e of o)e.group&&e.group!==t&&i.push({kind:"header",label:e.group}),t=e.group,i.push({kind:"item",item:e,index:r}),r++;return i}(o).map((o=>"header"===o.kind?t("div",{class:"co-option-list__group",role:"presentation"},o.label):this.renderRow(o.item,o.index,i))),this.loading&&o.length>0&&t("div",{key:"147e9bd6f1456284cd223e067b08979efb2cfe2c",class:"co-option-list__loading-more"},t("co-loader",{key:"6e5b5181d803579ba3370a63849f0462a0685165",size:"sm"})),!this.loading&&r&&e>0&&t("div",{key:"b90b8fce9a427371e3a7de24feb6fce6765dafe1",class:"co-option-list__more"},e," more results"))),t("slot",{key:"33d6641dc16188f572c70528d54553313b4f4afb",name:"footer"}))}get el(){return r(this)}static get watchers(){return{items:[{onItemsChange:0}],value:[{onValueChange:0}]}}};h.style=".os-size-observer,.os-size-observer-listener{scroll-behavior:auto !important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;top:0;right:0;bottom:0;left:0;transform:scale(0.1)}.os-size-observer::before{content:\"\";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(calc(1 / 0.1))}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty::before{content:\"\";width:100%;height:100%}.os-size-observer-listener:empty::before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{from{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0px;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}html[data-overlayscrollbars-body]{overflow:hidden}html[data-overlayscrollbars-body],html[data-overlayscrollbars-body]>body{width:100%;height:100%;margin:0}html[data-overlayscrollbars-body]>body{overflow:visible;margin:0}[data-overlayscrollbars]{position:relative}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch !important;flex-direction:row !important;flex-wrap:nowrap !important;scroll-behavior:auto !important}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){box-sizing:inherit;position:relative;flex:auto;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){--os-vaw:0;--os-vah:0;outline:none}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus{outline:none}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]::before{content:\"\";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:var(--os-vaw);height:var(--os-vah)}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{overflow:hidden !important}[data-overlayscrollbars~=host][data-overlayscrollbars~=noClipping],[data-overlayscrollbars-padding~=noClipping]{overflow:visible !important}[data-overlayscrollbars-viewport]{--os-viewport-overflow-x:hidden;--os-viewport-overflow-y:hidden;overflow-x:var(--os-viewport-overflow-x);overflow-y:var(--os-viewport-overflow-y)}[data-overlayscrollbars-viewport~=overflowXVisible]{--os-viewport-overflow-x:visible}[data-overlayscrollbars-viewport~=overflowXHidden]{--os-viewport-overflow-x:hidden}[data-overlayscrollbars-viewport~=overflowXScroll]{--os-viewport-overflow-x:scroll}[data-overlayscrollbars-viewport~=overflowYVisible]{--os-viewport-overflow-y:visible}[data-overlayscrollbars-viewport~=overflowYHidden]{--os-viewport-overflow-y:hidden}[data-overlayscrollbars-viewport~=overflowYScroll]{--os-viewport-overflow-y:scroll}[data-overlayscrollbars-viewport~=overflowImportant]{overflow-x:var(--os-viewport-overflow-x) !important;overflow-y:var(--os-viewport-overflow-y) !important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId){font-size:0 !important;line-height:0 !important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::before,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::after,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)>*:not(#osFakeId){display:none !important;position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}[data-overlayscrollbars-viewport~=measuring],[data-overlayscrollbars-viewport~=scrolling]{scroll-behavior:auto !important;scroll-snap-type:none !important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowXVisible]{overflow-x:hidden !important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowYVisible]{overflow-y:hidden !important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto !important;width:auto !important}@property --os-scroll-percent{syntax:\"<number>\";inherits:true;initial-value:0}@property --os-viewport-percent{syntax:\"<number>\";inherits:true;initial-value:0}.os-scrollbar{--os-viewport-percent:0;--os-scroll-percent:0;--os-scroll-direction:0;--os-scroll-percent-directional:calc( var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent)) * -1) * var(--os-scroll-direction) )}.os-scrollbar{contain:size layout;contain:size layout style;transition:opacity 0.15s, visibility 0.15s, top 0.15s, right 0.15s, bottom 0.15s, left 0.15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none !important}.os-scrollbar-track{position:relative;padding:0 !important;border:none !important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none !important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0 !important;transition:none !important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0;left:calc(var(--os-scroll-percent-directional) * 100%);transform:translateX(calc(var(--os-scroll-percent-directional) * -100%));width:calc(var(--os-viewport-percent) * 100%)}.os-scrollbar-vertical .os-scrollbar-handle{right:0;top:calc(var(--os-scroll-percent-directional) * 100%);transform:translateY(calc(var(--os-scroll-percent-directional) * -100%));height:calc(var(--os-viewport-percent) * 100%)}@supports (container-type: size){.os-scrollbar-track{container-type:size}.os-scrollbar-horizontal .os-scrollbar-handle{left:auto;transform:translateX(calc(var(--os-scroll-percent-directional) * 100cqw + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-vertical .os-scrollbar-handle{top:auto;transform:translateY(calc(var(--os-scroll-percent-directional) * 100cqh + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle{right:auto;left:0}}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}@media print{.os-scrollbar{display:none}}.os-scrollbar{--os-size:0;--os-padding-perpendicular:0;--os-padding-axis:0;--os-track-border-radius:0;--os-track-bg:none;--os-track-bg-hover:none;--os-track-bg-active:none;--os-track-border:none;--os-track-border-hover:none;--os-track-border-active:none;--os-handle-border-radius:0;--os-handle-bg:none;--os-handle-bg-hover:none;--os-handle-bg-active:none;--os-handle-border:none;--os-handle-border-hover:none;--os-handle-border-active:none;--os-handle-min-size:33px;--os-handle-max-size:none;--os-handle-perpendicular-size:100%;--os-handle-perpendicular-size-hover:100%;--os-handle-perpendicular-size-active:100%;--os-handle-interactive-area-offset:0}.os-scrollbar-track{border:var(--os-track-border);border-radius:var(--os-track-border-radius);background:var(--os-track-bg);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s}.os-scrollbar-track:hover{border:var(--os-track-border-hover);background:var(--os-track-bg-hover)}.os-scrollbar-track:active{border:var(--os-track-border-active);background:var(--os-track-bg-active)}.os-scrollbar-handle{border:var(--os-handle-border);border-radius:var(--os-handle-border-radius);background:var(--os-handle-bg)}.os-scrollbar-handle:hover{border:var(--os-handle-border-hover);background:var(--os-handle-bg-hover)}.os-scrollbar-handle:active{border:var(--os-handle-border-active);background:var(--os-handle-bg-active)}.os-scrollbar-track:before,.os-scrollbar-handle:before{content:\"\";position:absolute;left:0;right:0;top:0;bottom:0;display:block}.os-scrollbar-horizontal{padding:var(--os-padding-perpendicular) var(--os-padding-axis);right:var(--os-size);height:var(--os-size)}.os-scrollbar-horizontal.os-scrollbar-rtl{left:var(--os-size);right:0}.os-scrollbar-horizontal .os-scrollbar-track:before{top:calc(var(--os-padding-perpendicular) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal .os-scrollbar-handle{min-width:var(--os-handle-min-size);max-width:var(--os-handle-max-size);height:var(--os-handle-perpendicular-size);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s, height 0.15s}.os-scrollbar-horizontal .os-scrollbar-handle:before{top:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal:hover .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-horizontal:active .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-active)}.os-scrollbar-vertical{padding:var(--os-padding-axis) var(--os-padding-perpendicular);bottom:var(--os-size);width:var(--os-size)}.os-scrollbar-vertical .os-scrollbar-track:before{left:calc(var(--os-padding-perpendicular) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical .os-scrollbar-handle{min-height:var(--os-handle-min-size);max-height:var(--os-handle-max-size);width:var(--os-handle-perpendicular-size);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s}.os-scrollbar-vertical .os-scrollbar-handle:before{left:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before{right:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);left:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical:hover .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-vertical:active .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-active)}[data-overlayscrollbars-viewport~=measuring]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none !important}.os-theme-dark,.os-theme-light{box-sizing:border-box;--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-border-radius:10px;--os-handle-interactive-area-offset:4px;--os-handle-border-radius:10px}.os-theme-dark{--os-handle-bg:rgba(0, 0, 0, 0.44);--os-handle-bg-hover:rgba(0, 0, 0, 0.55);--os-handle-bg-active:rgba(0, 0, 0, 0.66)}.os-theme-light{--os-handle-bg:rgba(255, 255, 255, 0.44);--os-handle-bg-hover:rgba(255, 255, 255, 0.55);--os-handle-bg-active:rgba(255, 255, 255, 0.66)}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport]),[data-overlayscrollbars-viewport~=scrollbarHidden],html[data-overlayscrollbars-viewport~=scrollbarHidden]>body{scrollbar-width:none !important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar,[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar-corner{-webkit-appearance:none !important;appearance:none !important;display:none !important;width:0 !important;height:0 !important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}:host{display:block;font-family:var(--co-font-family-primary, 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif)}.co-option-list{display:flex;flex-direction:column;min-width:0}.co-option-list__search{display:flex;align-items:center;gap:var(--co-spacing-sm, 6px);height:32px;box-sizing:border-box;margin:var(--co-spacing-md, 12px) var(--co-spacing-md, 12px) 0;padding:0 var(--co-spacing-sm2, 8px) 0 var(--co-spacing-xs, 4px);border:1px solid var(--co-semantic-border-subtle, rgba(31, 28, 27, 0.08));border-radius:var(--co-border-radius-xs, 8px);color:var(--co-semantic-text-muted, #888888)}.co-option-list__search:focus-within{border-color:var(--co-semantic-border-focus, rgba(31, 28, 27, 0.25))}.co-option-list__search co-icon{flex-shrink:0;width:24px;display:flex;align-items:center;justify-content:center;opacity:0.7}.co-option-list__search-input{flex:1;min-width:0;border:0;outline:none;background:transparent;padding:0;font-family:var(--co-font-family-primary, 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);font-size:var(--co-font-size-14, 14px);font-weight:500;letter-spacing:var(--co-font-letter-spacing-body, -0.03em);line-height:1;color:var(--co-semantic-text-default, #1f1c1b)}.co-option-list__search-input::placeholder{color:var(--co-semantic-text-muted, #888888)}.co-option-list__options{max-height:var(--co-option-list-max-height, 280px);overflow-y:auto;overflow-x:hidden;padding:var(--co-spacing-md, 12px)}.co-option-list__inner{display:flex;flex-direction:column;gap:var(--co-spacing-xxs, 2px);min-width:0}.os-scrollbar.os-theme-co{--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-bg:transparent;--os-handle-border-radius:var(--co-border-radius-full, 9999px);--os-handle-bg:var(--co-color-opacity-negro-16, rgba(31, 28, 27, 0.16));--os-handle-bg-hover:var(--co-color-opacity-negro-25, rgba(31, 28, 27, 0.25));--os-handle-bg-active:var(--co-color-opacity-negro-50, rgba(31, 28, 27, 0.5));--os-handle-min-size:24px}.co-option-list__option{display:flex;align-items:center;gap:var(--co-spacing-sm2, 8px);min-width:0;min-height:var(--co-option-list-item-min-height, 32px);box-sizing:border-box;padding:var(--co-option-list-item-padding-y, var(--co-spacing-xs, 4px)) var(--co-spacing-sm2, 8px) var(--co-option-list-item-padding-y, var(--co-spacing-xs, 4px)) var(--co-spacing-xs, 4px);border-radius:var(--co-border-radius-xs, 8px);cursor:pointer;font-size:var(--co-font-size-14, 14px);letter-spacing:var(--co-font-letter-spacing-body, -0.03em);color:var(--co-semantic-text-default, #1f1c1b);transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out), opacity var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-option-list__spacer .co-option-list__option{height:32px;margin-bottom:var(--co-spacing-xxs, 2px)}.co-option-list__option--active{background:var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04))}.co-option-list__option--selected{background:var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04))}.co-option-list__option--disabled{opacity:0.5;cursor:not-allowed}.co-option-list__avatar,.co-option-list__icon{flex-shrink:0}.co-option-list__icon{margin:0 var(--co-spacing-xs, 4px)}.co-option-list__dot{flex-shrink:0;width:10px;height:10px;margin:0 7px;border-radius:var(--co-border-radius-full, 9999px)}.co-option-list__text{display:flex;flex-direction:column;gap:var(--co-option-list-text-gap, var(--co-spacing-xxs, 2px));flex:1;min-width:0}.co-option-list__title{display:flex;align-items:center;gap:var(--co-spacing-xs, 4px);min-width:0}.co-option-list__label{font-weight:400;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-option-list__suffix{color:var(--co-semantic-text-secondary, #585858);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.co-option-list__suffix--end{flex-shrink:0;margin-left:auto;text-align:right;white-space:nowrap;font-size:var(--co-font-size-13, 13px);color:var(--co-semantic-text-default, #1f1c1b);font-variant-numeric:tabular-nums}.co-option-list__badge{flex-shrink:0;padding:0 var(--co-spacing-xs, 4px);border-radius:var(--co-border-radius-full, 9999px);background:var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04));color:var(--co-semantic-text-default, #1f1c1b);font-size:var(--co-font-size-10, 10px);font-weight:600;line-height:16px}.co-option-list__badge-tip{display:inline-flex;align-items:center;flex-shrink:0}.co-option-list__desc{font-size:var(--co-font-size-12, 12px);color:var(--co-semantic-text-muted, #888888);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-option-list__match{color:var(--co-color-primary-azul, #2563eb);font-weight:700}.co-option-list__check{flex-shrink:0;color:var(--co-semantic-text-default, #1f1c1b)}.co-option-list__row-action{flex-shrink:0;display:inline-flex;align-items:center;border:0;background:transparent;padding:0;cursor:pointer;color:var(--co-semantic-text-muted, #888888);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-option-list__row-action:hover{color:var(--co-semantic-text-default, #1f1c1b)}.co-option-list__pin{flex-shrink:0;display:flex;align-items:center;justify-content:center;border:0;padding:var(--co-spacing-xxs, 2px);background:transparent;cursor:pointer;border-radius:var(--co-border-radius-xxs, 4px);color:var(--co-semantic-text-muted, #888888)}.co-option-list__pin:hover{color:var(--co-semantic-text-default, #1f1c1b)}.co-option-list__pin--active{color:var(--co-semantic-text-default, #1f1c1b)}.co-option-list__drag-handle{display:inline-flex;align-items:center;cursor:grab;color:var(--co-semantic-text-muted);margin-right:var(--co-spacing-xs);flex:0 0 auto}.co-option-list__drag-handle:active{cursor:grabbing}.co-option-list__drag-handle{touch-action:none}.co-option-list__option--dragging{opacity:0.5}.co-option-list__option--lifted{position:relative;z-index:2;background:var(--co-semantic-surface-page, #fff);box-shadow:var(--co-shadow-lg);cursor:grabbing}.co-option-list__option--drop-before{box-shadow:inset 0 2px 0 0 var(--co-semantic-border-focus)}.co-option-list__option--drop-after{box-shadow:inset 0 -2px 0 0 var(--co-semantic-border-focus)}.co-option-list__group{padding:var(--co-spacing-sm2, 8px) var(--co-spacing-xs, 4px) var(--co-spacing-xs, 4px);font-family:var(--co-font-family-mono, 'Geist Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace);font-size:var(--co-font-size-10, 10px);font-weight:400;text-transform:uppercase;letter-spacing:var(--co-font-letter-spacing-overline, 0.08em);line-height:1.1;color:var(--co-semantic-text-default, #1f1c1b)}.co-option-list__clear-row{display:flex;align-items:center;gap:var(--co-spacing-sm2, 8px);width:100%;min-height:32px;box-sizing:border-box;border:0;background:transparent;padding:var(--co-spacing-xs, 4px) var(--co-spacing-sm2, 8px);border-radius:var(--co-border-radius-xs, 8px);cursor:pointer;text-align:left;font-family:var(--co-font-family-primary, 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);font-size:var(--co-font-size-14, 14px);letter-spacing:var(--co-font-letter-spacing-body, -0.03em);color:var(--co-semantic-text-secondary, #585858)}.co-option-list__clear-row:hover{background:var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04))}.co-option-list__loading,.co-option-list__loading-more{display:flex;justify-content:center;padding:var(--co-spacing-sm, 6px)}.co-option-list__empty{display:flex;align-items:center;gap:var(--co-spacing-sm2, 8px);padding:var(--co-spacing-md, 12px) var(--co-spacing-xs, 4px);font-size:var(--co-font-size-14, 14px);color:var(--co-semantic-text-muted, #888888)}.co-option-list__more{padding:var(--co-spacing-xs, 4px) var(--co-spacing-sm, 6px);font-size:var(--co-font-size-12, 12px);color:var(--co-semantic-text-muted, #888888);text-align:center}.co-option-list__option:focus-visible,.co-option-list__clear-row:focus-visible{outline:2px solid var(--co-semantic-border-focus, rgba(31, 28, 27, 0.25));outline-offset:-2px}";export{a as co_chip,h as co_option_list}