@prolibu-suite/cobalt-core 0.10.4 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (736) hide show
  1. package/custom-elements.json +4362 -388
  2. package/dist/cjs/co-accordion.cjs.entry.js +3 -3
  3. package/dist/cjs/co-action-bar.cjs.entry.js +3 -3
  4. package/dist/cjs/co-app-shell.cjs.entry.js +3 -3
  5. package/dist/cjs/co-audio-player.cjs.entry.js +4 -4
  6. package/dist/cjs/co-autocomplete.cjs.entry.js +2 -2
  7. package/dist/cjs/co-avatar-group.cjs.entry.js +1 -1
  8. package/dist/cjs/co-avatar.cjs.entry.js +7 -4
  9. package/dist/cjs/co-badge.cjs.entry.js +2 -2
  10. package/dist/cjs/co-bottom-sheet.cjs.entry.js +5 -5
  11. package/dist/cjs/co-breadcrumb-item.cjs.entry.js +3 -3
  12. package/dist/cjs/co-breadcrumb.cjs.entry.js +2 -2
  13. package/dist/cjs/co-button-group.cjs.entry.js +3 -3
  14. package/dist/cjs/co-button.cjs.entry.js +9 -7
  15. package/dist/cjs/co-calendar-month_2.cjs.entry.js +4 -4
  16. package/dist/cjs/co-calendar_3.cjs.entry.js +72 -27
  17. package/dist/cjs/co-card.cjs.entry.js +3 -3
  18. package/dist/cjs/co-carousel-item.cjs.entry.js +2 -2
  19. package/dist/cjs/co-carousel.cjs.entry.js +3 -3
  20. package/dist/cjs/co-checkbox-group.cjs.entry.js +1 -1
  21. package/dist/cjs/co-checkbox.cjs.entry.js +13 -5
  22. package/dist/cjs/co-chip_2.cjs.entry.js +9 -6
  23. package/dist/cjs/co-color-area.cjs.entry.js +169 -0
  24. package/dist/cjs/co-color-picker.cjs.entry.js +5 -5
  25. package/dist/cjs/co-color-slider.cjs.entry.js +189 -0
  26. package/dist/cjs/co-column-picker.cjs.entry.js +3 -3
  27. package/dist/cjs/co-combobox.cjs.entry.js +5 -5
  28. package/dist/cjs/co-command-search.cjs.entry.js +5 -5
  29. package/dist/cjs/co-data-table-pagination.cjs.entry.js +5 -5
  30. package/dist/cjs/co-data-table.cjs.entry.js +3 -3
  31. package/dist/cjs/co-date-picker.cjs.entry.js +2 -2
  32. package/dist/cjs/co-date-range-picker.cjs.entry.js +2 -2
  33. package/dist/cjs/co-date-range.cjs.entry.js +2 -2
  34. package/dist/cjs/co-date-time-picker.cjs.entry.js +4 -4
  35. package/dist/cjs/co-document-editor.cjs.entry.js +1161 -0
  36. package/dist/cjs/co-drive-card.cjs.entry.js +2 -2
  37. package/dist/cjs/co-drop-zone.cjs.entry.js +2 -2
  38. package/dist/cjs/co-emoji-picker.cjs.entry.js +3 -3
  39. package/dist/cjs/co-empty-state.cjs.entry.js +3 -3
  40. package/dist/cjs/co-event-calendar.cjs.entry.js +3 -3
  41. package/dist/cjs/co-event-popover.cjs.entry.js +3 -3
  42. package/dist/cjs/co-fab.cjs.entry.js +3 -3
  43. package/dist/cjs/co-file-field.cjs.entry.js +8 -8
  44. package/dist/cjs/co-file-type-tile.cjs.entry.js +3 -3
  45. package/dist/cjs/co-gradient-bar.cjs.entry.js +220 -0
  46. package/dist/cjs/co-helper-text.cjs.entry.js +3 -3
  47. package/dist/cjs/co-icon-button.cjs.entry.js +49 -9
  48. package/dist/cjs/co-icon.cjs.entry.js +3 -3
  49. package/dist/cjs/co-input.cjs.entry.js +14 -8
  50. package/dist/cjs/co-json-field.cjs.entry.js +5 -5
  51. package/dist/cjs/{co-tooltip.cjs.entry.js → co-kbd_2.cjs.entry.js} +194 -6
  52. package/dist/cjs/co-lightbox.cjs.entry.js +5 -5
  53. package/dist/cjs/co-list-footer.cjs.entry.js +2 -2
  54. package/dist/cjs/co-list-item.cjs.entry.js +5 -5
  55. package/dist/cjs/co-loader.cjs.entry.js +1 -1
  56. package/dist/cjs/co-media-thumb.cjs.entry.js +3 -3
  57. package/dist/cjs/co-menu-divider.cjs.entry.js +3 -3
  58. package/dist/cjs/co-menu-item.cjs.entry.js +41 -43
  59. package/dist/cjs/co-menu.cjs.entry.js +81 -5
  60. package/dist/cjs/co-modal.cjs.entry.js +350 -7
  61. package/dist/cjs/co-navbar.cjs.entry.js +3 -3
  62. package/dist/cjs/co-number-field.cjs.entry.js +5 -5
  63. package/dist/cjs/co-overlay.cjs.entry.js +8 -4
  64. package/dist/cjs/co-page-header.cjs.entry.js +2 -2
  65. package/dist/cjs/co-phone-field.cjs.entry.js +3 -3
  66. package/dist/cjs/co-popover.cjs.entry.js +67 -6
  67. package/dist/cjs/co-progress-bar.cjs.entry.js +3 -3
  68. package/dist/cjs/co-progress-circle.cjs.entry.js +3 -3
  69. package/dist/cjs/co-provider-logo_2.cjs.entry.js +2 -2
  70. package/dist/cjs/co-radio-group.cjs.entry.js +4 -4
  71. package/dist/cjs/co-radio.cjs.entry.js +4 -4
  72. package/dist/cjs/co-rating.cjs.entry.js +4 -4
  73. package/dist/cjs/co-ref-field.cjs.entry.js +5 -5
  74. package/dist/cjs/co-rich-text-editor.cjs.entry.js +26 -92
  75. package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +79 -20
  76. package/dist/cjs/co-rich-text-viewer.cjs.entry.js +9 -2
  77. package/dist/cjs/co-row.cjs.entry.js +3 -3
  78. package/dist/cjs/co-segmented-bar.cjs.entry.js +3 -3
  79. package/dist/cjs/co-select.cjs.entry.js +158 -29
  80. package/dist/cjs/co-separator.cjs.entry.js +2 -2
  81. package/dist/cjs/co-sidebar-nav.cjs.entry.js +20 -5
  82. package/dist/cjs/co-sidebar.cjs.entry.js +3 -3
  83. package/dist/cjs/co-slider.cjs.entry.js +203 -23
  84. package/dist/cjs/co-swatch-grid.cjs.entry.js +121 -0
  85. package/dist/cjs/co-switch.cjs.entry.js +5 -5
  86. package/dist/cjs/co-tab-group.cjs.entry.js +113 -4
  87. package/dist/cjs/co-tab.cjs.entry.js +15 -5
  88. package/dist/cjs/co-tags-field.cjs.entry.js +8 -8
  89. package/dist/cjs/co-textarea.cjs.entry.js +6 -6
  90. package/dist/cjs/co-tile.cjs.entry.js +61 -0
  91. package/dist/cjs/co-time-field.cjs.entry.js +2 -2
  92. package/dist/cjs/co-toast.cjs.entry.js +3 -3
  93. package/dist/cjs/co-toggle-button-group.cjs.entry.js +26 -5
  94. package/dist/cjs/co-toggle-button.cjs.entry.js +67 -6
  95. package/dist/cjs/co-transfer-list.cjs.entry.js +3 -3
  96. package/dist/cjs/co-tree-item.cjs.entry.js +110 -0
  97. package/dist/cjs/co-video.cjs.entry.js +3 -3
  98. package/dist/cjs/cobalt.cjs.js +2 -2
  99. package/dist/cjs/{color-CML2Cfdh.js → color-DQVrQGi0.js} +10 -5
  100. package/dist/cjs/{fieldChip-B6YIGU1V.js → fieldChip-C7MxxBVO.js} +1 -1
  101. package/dist/cjs/gradientStops-CMpH4fB_.js +153 -0
  102. package/dist/cjs/hsv-DpfSF3M2.js +95 -0
  103. package/dist/cjs/{index-MDAnKsze.js → index-bHoidDwv.js} +67 -27
  104. package/dist/cjs/index-oMHzCXm6.js +144 -0
  105. package/dist/cjs/loader.cjs.js +2 -2
  106. package/dist/cjs/{index-2kMmd5-a.js → pagination-DV43TRj9.js} +1780 -297
  107. package/dist/cjs/{positioning-CyatXeT_.js → positioning-CILo5esi.js} +45 -18
  108. package/dist/cjs/{requiredMark-D-t-IPN0.js → requiredMark-21yHvvZS.js} +1 -1
  109. package/dist/cjs/rich-text-host-ueFSfW-6.js +119 -0
  110. package/dist/cjs/{richTextI18n-B28uAhh4.js → richTextI18n-DXGIv5w1.js} +45 -0
  111. package/dist/cjs/submenu-RlaX6irw.js +65 -0
  112. package/dist/cjs/{toolbar-config-CYACt9hh.js → toolbar-config-DczL6C4W.js} +32 -0
  113. package/dist/cobalt/cobalt.css +1 -1
  114. package/dist/cobalt/cobalt.esm.js +1 -1
  115. package/dist/cobalt/{p-ee149fd2.entry.js → p-05000ef3.entry.js} +1 -1
  116. package/dist/cobalt/p-06689166.entry.js +1 -0
  117. package/dist/cobalt/{p-1dc55e43.entry.js → p-0a5cfed0.entry.js} +1 -1
  118. package/dist/cobalt/p-1289131f.entry.js +1 -0
  119. package/dist/cobalt/{p-c7d7d7f7.entry.js → p-136beb2c.entry.js} +1 -1
  120. package/dist/cobalt/{p-b437eff6.entry.js → p-1693b614.entry.js} +1 -1
  121. package/dist/cobalt/p-1bfb69ae.entry.js +1 -0
  122. package/dist/cobalt/{p-2c9dba2f.entry.js → p-1f3d5313.entry.js} +1 -1
  123. package/dist/cobalt/{p-b821d9de.entry.js → p-22233b31.entry.js} +1 -1
  124. package/dist/cobalt/{p-c30b4cb5.entry.js → p-26fa36f8.entry.js} +1 -1
  125. package/dist/cobalt/p-2794c500.entry.js +1 -0
  126. package/dist/cobalt/p-297b55cd.entry.js +1 -0
  127. package/dist/cobalt/{p-17244412.entry.js → p-2a2b0c7a.entry.js} +1 -1
  128. package/dist/cobalt/{p-2636b7eb.entry.js → p-2e5702a0.entry.js} +1 -1
  129. package/dist/cobalt/p-3011c84f.entry.js +1 -0
  130. package/dist/cobalt/{p-4d65e713.entry.js → p-30760f77.entry.js} +1 -1
  131. package/dist/cobalt/{p-6dd220e0.entry.js → p-3b9a8e86.entry.js} +1 -1
  132. package/dist/cobalt/p-4111fefa.entry.js +1 -0
  133. package/dist/cobalt/{p-a32b20eb.entry.js → p-44edde81.entry.js} +1 -1
  134. package/dist/cobalt/{p-292b0389.entry.js → p-45007758.entry.js} +1 -1
  135. package/dist/cobalt/p-48c23310.entry.js +1 -0
  136. package/dist/cobalt/p-4b327483.entry.js +1 -0
  137. package/dist/cobalt/p-4c6caa41.entry.js +1 -0
  138. package/dist/cobalt/{p-000a15b8.entry.js → p-5534a64f.entry.js} +1 -1
  139. package/dist/cobalt/p-5573985a.entry.js +1 -0
  140. package/dist/cobalt/p-57d250ad.entry.js +1 -0
  141. package/dist/cobalt/{p-826ee074.entry.js → p-59d3e8fc.entry.js} +1 -1
  142. package/dist/cobalt/{p-4592ca00.entry.js → p-5a32b9a2.entry.js} +1 -1
  143. package/dist/cobalt/p-5b2aa70e.entry.js +1 -0
  144. package/dist/cobalt/{p-d29bb0fa.entry.js → p-5d6e02dd.entry.js} +1 -1
  145. package/dist/cobalt/{p-623cc195.entry.js → p-608d251d.entry.js} +1 -1
  146. package/dist/cobalt/{p-011dc80b.entry.js → p-66fc1528.entry.js} +1 -1
  147. package/dist/cobalt/{p-11c5ce78.entry.js → p-67ad9544.entry.js} +1 -1
  148. package/dist/cobalt/{p-290066ef.entry.js → p-6c157ea2.entry.js} +1 -1
  149. package/dist/cobalt/{p-a2462d7a.entry.js → p-6d541199.entry.js} +1 -1
  150. package/dist/cobalt/{p-58d9b650.entry.js → p-7376f4ed.entry.js} +1 -1
  151. package/dist/cobalt/{p-39a50e7f.entry.js → p-7569375a.entry.js} +1 -1
  152. package/dist/cobalt/{p-7b5c555c.entry.js → p-763698b3.entry.js} +1 -1
  153. package/dist/cobalt/{p-f57dffca.entry.js → p-7675cebe.entry.js} +1 -1
  154. package/dist/cobalt/p-78a20284.entry.js +1 -0
  155. package/dist/cobalt/{p-aa9400bf.entry.js → p-7f3523ce.entry.js} +1 -1
  156. package/dist/cobalt/{p-24196410.entry.js → p-86b6fd81.entry.js} +1 -1
  157. package/dist/cobalt/{p-996f4e38.entry.js → p-889563d5.entry.js} +1 -1
  158. package/dist/cobalt/{p-eadfd661.entry.js → p-8ab5b396.entry.js} +1 -1
  159. package/dist/cobalt/{p-c91d4fc6.entry.js → p-8b2e4579.entry.js} +1 -1
  160. package/dist/cobalt/p-8cd3acaa.entry.js +1 -0
  161. package/dist/cobalt/{p-23ab0cc5.entry.js → p-8f701eac.entry.js} +1 -1
  162. package/dist/cobalt/p-90fad0f9.entry.js +1 -0
  163. package/dist/cobalt/{p-76249983.entry.js → p-97a4fbba.entry.js} +1 -1
  164. package/dist/cobalt/p-9b46a8fe.entry.js +1 -0
  165. package/dist/cobalt/{p-ee2023da.entry.js → p-9bee9dc8.entry.js} +1 -1
  166. package/dist/cobalt/{p-2f9cbbd5.entry.js → p-9cf10331.entry.js} +1 -1
  167. package/dist/cobalt/p-9dc01092.entry.js +1 -0
  168. package/dist/cobalt/p-9e406172.entry.js +1 -0
  169. package/dist/cobalt/p-B1JT7us1.js +1 -0
  170. package/dist/cobalt/{p-BRbgGqLw.js → p-BVGGRfNG.js} +1 -1
  171. package/dist/cobalt/p-BmdKHBZP.js +1 -0
  172. package/dist/cobalt/p-BtliEQAT.js +1 -0
  173. package/dist/cobalt/p-COJdaKBU.js +1 -0
  174. package/dist/cobalt/{p-BAYo-RBt.js → p-CRxTFT_z.js} +1 -1
  175. package/dist/cobalt/p-CYN5B3IQ.js +1 -0
  176. package/dist/cobalt/p-DJkaRtbb.js +2 -0
  177. package/dist/cobalt/p-DU-KOQ8L.js +1 -0
  178. package/dist/cobalt/p-DXLeDZvr.js +1 -0
  179. package/dist/cobalt/{p-D_zA1Pv4.js → p-DgJovDdy.js} +1 -1
  180. package/dist/cobalt/p-RVQJEYxa.js +1 -0
  181. package/dist/cobalt/{p-1861fe41.entry.js → p-a07dedd1.entry.js} +1 -1
  182. package/dist/cobalt/{p-08e42e00.entry.js → p-a336178b.entry.js} +1 -1
  183. package/dist/cobalt/{p-f9a7b7c6.entry.js → p-a52ed6ff.entry.js} +1 -1
  184. package/dist/cobalt/{p-aaca6dab.entry.js → p-a930cdd7.entry.js} +1 -1
  185. package/dist/cobalt/{p-eb82358d.entry.js → p-b1994bb4.entry.js} +1 -1
  186. package/dist/cobalt/p-b2b13da8.entry.js +1 -0
  187. package/dist/cobalt/{p-c2ebf0ec.entry.js → p-b5ec4286.entry.js} +1 -1
  188. package/dist/cobalt/p-b9401dd7.entry.js +1 -0
  189. package/dist/cobalt/p-b9dfb333.entry.js +1 -0
  190. package/dist/cobalt/p-bc3ba0cd.entry.js +1 -0
  191. package/dist/cobalt/{p-d375014b.entry.js → p-bc4fbfa6.entry.js} +1 -1
  192. package/dist/cobalt/{p-d0b2c418.entry.js → p-c109a1e1.entry.js} +1 -1
  193. package/dist/cobalt/{p-ee9a623d.entry.js → p-c1caa112.entry.js} +1 -1
  194. package/dist/cobalt/p-c9990662.entry.js +1 -0
  195. package/dist/cobalt/p-cc4b51fa.entry.js +1 -0
  196. package/dist/cobalt/p-cc5989e9.entry.js +1 -0
  197. package/dist/cobalt/{p-e4264532.entry.js → p-ce2b2048.entry.js} +1 -1
  198. package/dist/cobalt/p-d1c378ff.entry.js +1 -0
  199. package/dist/cobalt/p-d1e83525.entry.js +1 -0
  200. package/dist/cobalt/{p-59963937.entry.js → p-d1f47915.entry.js} +1 -1
  201. package/dist/cobalt/{p-28764b8e.entry.js → p-d4979025.entry.js} +1 -1
  202. package/dist/cobalt/p-d6e7c258.entry.js +1 -0
  203. package/dist/cobalt/p-d75d2f3d.entry.js +1 -0
  204. package/dist/cobalt/p-db42c4ab.entry.js +1 -0
  205. package/dist/cobalt/{p-44c4e4a3.entry.js → p-e4ff2fcb.entry.js} +1 -1
  206. package/dist/cobalt/p-e6116149.entry.js +1 -0
  207. package/dist/cobalt/{p-0c004735.entry.js → p-e99ddf9c.entry.js} +1 -1
  208. package/dist/cobalt/{p-1cc818ca.entry.js → p-ea24eea8.entry.js} +1 -1
  209. package/dist/cobalt/{p-07416e31.entry.js → p-ea564148.entry.js} +1 -1
  210. package/dist/cobalt/{p-8471abe2.entry.js → p-ec7a6bf2.entry.js} +1 -1
  211. package/dist/cobalt/{p-fb2d1144.entry.js → p-ee42dca6.entry.js} +1 -1
  212. package/dist/cobalt/{p-49834b8e.entry.js → p-ee88ec40.entry.js} +1 -1
  213. package/dist/cobalt/p-eeb114da.entry.js +1 -0
  214. package/dist/cobalt/{p-f6691108.entry.js → p-f0898e21.entry.js} +1 -1
  215. package/dist/cobalt/p-f246946a.entry.js +1 -0
  216. package/dist/cobalt/{p-b90d41e4.entry.js → p-f5934cd9.entry.js} +1 -1
  217. package/dist/cobalt/p-f5e1873d.entry.js +1 -0
  218. package/dist/cobalt/p-f60bd4d6.entry.js +1 -0
  219. package/dist/cobalt/p-f813569c.entry.js +1 -0
  220. package/dist/cobalt/{p-f7eb1a40.entry.js → p-f8c7941f.entry.js} +1 -1
  221. package/dist/cobalt/{p-44ea675f.entry.js → p-f8d3c71e.entry.js} +1 -1
  222. package/dist/cobalt/{p-91e73a92.entry.js → p-ffbe955a.entry.js} +1 -1
  223. package/dist/cobalt/p-xnrKkNWQ.js +1 -0
  224. package/dist/collection/collection-manifest.json +8 -0
  225. package/dist/collection/components/co-accordion/co-accordion.js +2 -2
  226. package/dist/collection/components/co-action-bar/co-action-bar.js +2 -2
  227. package/dist/collection/components/co-app-shell/co-app-shell.js +2 -2
  228. package/dist/collection/components/co-audio-player/co-audio-player.js +3 -3
  229. package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
  230. package/dist/collection/components/co-avatar/co-avatar.css +11 -2
  231. package/dist/collection/components/co-avatar/co-avatar.js +7 -4
  232. package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
  233. package/dist/collection/components/co-badge/co-badge.js +1 -1
  234. package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.js +4 -4
  235. package/dist/collection/components/co-breadcrumb/co-breadcrumb.js +1 -1
  236. package/dist/collection/components/co-breadcrumb-item/co-breadcrumb-item.js +2 -2
  237. package/dist/collection/components/co-button/co-button.css +73 -6
  238. package/dist/collection/components/co-button/co-button.js +33 -11
  239. package/dist/collection/components/co-button-group/co-button-group.js +2 -2
  240. package/dist/collection/components/co-calendar/calendarMarks.js +40 -0
  241. package/dist/collection/components/co-calendar/co-calendar.css +11 -1
  242. package/dist/collection/components/co-calendar/co-calendar.js +82 -20
  243. package/dist/collection/components/co-calendar-month/co-calendar-month.js +1 -1
  244. package/dist/collection/components/co-calendar-timegrid/co-calendar-timegrid.js +2 -2
  245. package/dist/collection/components/co-card/co-card.js +2 -2
  246. package/dist/collection/components/co-carousel/co-carousel.js +2 -2
  247. package/dist/collection/components/co-carousel-item/co-carousel-item.js +1 -1
  248. package/dist/collection/components/co-checkbox/co-checkbox.css +43 -1
  249. package/dist/collection/components/co-checkbox/co-checkbox.js +31 -3
  250. package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
  251. package/dist/collection/components/co-chip/co-chip.js +2 -2
  252. package/dist/collection/components/co-color-area/co-color-area.css +83 -0
  253. package/dist/collection/components/co-color-area/co-color-area.js +341 -0
  254. package/dist/collection/components/co-color-picker/co-color-picker.js +2 -2
  255. package/dist/collection/components/co-color-slider/co-color-slider.css +115 -0
  256. package/dist/collection/components/co-color-slider/co-color-slider.js +353 -0
  257. package/dist/collection/components/co-column-picker/co-column-picker.js +2 -2
  258. package/dist/collection/components/co-combobox/co-combobox.js +4 -4
  259. package/dist/collection/components/co-command-search/co-command-search.js +5 -5
  260. package/dist/collection/components/co-data-table/co-data-table.js +3 -3
  261. package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.js +4 -4
  262. package/dist/collection/components/co-date-field/co-date-field.js +4 -4
  263. package/dist/collection/components/co-date-range/co-date-range.js +1 -1
  264. package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +2 -2
  265. package/dist/collection/components/co-date-time-picker/co-date-time-picker.js +3 -3
  266. package/dist/collection/components/co-document-editor/change-throttle.js +30 -0
  267. package/dist/collection/components/co-document-editor/co-document-editor.css +438 -0
  268. package/dist/collection/components/co-document-editor/co-document-editor.js +1542 -0
  269. package/dist/collection/components/co-document-editor/document-props.js +40 -0
  270. package/dist/collection/components/co-document-editor/header-tools.js +11 -0
  271. package/dist/collection/components/co-document-editor/image-bar.js +66 -0
  272. package/dist/collection/components/co-document-editor/page-styles.js +90 -0
  273. package/dist/collection/components/co-document-editor/zoom.js +45 -0
  274. package/dist/collection/components/co-drive-card/co-drive-card.js +1 -1
  275. package/dist/collection/components/co-drop-zone/co-drop-zone.js +1 -1
  276. package/dist/collection/components/co-emoji-picker/co-emoji-picker.js +2 -2
  277. package/dist/collection/components/co-empty-state/co-empty-state.js +2 -2
  278. package/dist/collection/components/co-event-calendar/co-event-calendar.js +2 -2
  279. package/dist/collection/components/co-event-popover/co-event-popover.js +1 -1
  280. package/dist/collection/components/co-fab/co-fab.js +2 -2
  281. package/dist/collection/components/co-file-field/co-file-field.js +6 -6
  282. package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +2 -2
  283. package/dist/collection/components/co-gradient-bar/co-gradient-bar.css +138 -0
  284. package/dist/collection/components/co-gradient-bar/co-gradient-bar.js +407 -0
  285. package/dist/collection/components/co-helper-text/co-helper-text.js +2 -2
  286. package/dist/collection/components/co-icon/co-icon.js +2 -2
  287. package/dist/collection/components/co-icon-button/co-icon-button.css +95 -19
  288. package/dist/collection/components/co-icon-button/co-icon-button.js +120 -10
  289. package/dist/collection/components/co-input/co-input.css +122 -0
  290. package/dist/collection/components/co-input/co-input.js +37 -11
  291. package/dist/collection/components/co-json-field/co-json-field.js +3 -3
  292. package/dist/collection/components/co-kbd/co-kbd.css +99 -0
  293. package/dist/collection/components/co-kbd/co-kbd.js +291 -0
  294. package/dist/collection/components/co-lightbox/co-lightbox.js +4 -4
  295. package/dist/collection/components/co-list-footer/co-list-footer.js +1 -1
  296. package/dist/collection/components/co-list-item/co-list-item.js +4 -4
  297. package/dist/collection/components/co-media-thumb/co-media-thumb.js +2 -2
  298. package/dist/collection/components/co-menu/co-menu.css +60 -0
  299. package/dist/collection/components/co-menu/co-menu.js +143 -3
  300. package/dist/collection/components/co-menu-divider/co-menu-divider.css +17 -0
  301. package/dist/collection/components/co-menu-divider/co-menu-divider.js +1 -1
  302. package/dist/collection/components/co-menu-item/co-menu-item.css +42 -6
  303. package/dist/collection/components/co-menu-item/co-menu-item.js +58 -4
  304. package/dist/collection/components/co-modal/co-modal.css +212 -1
  305. package/dist/collection/components/co-modal/co-modal.js +339 -9
  306. package/dist/collection/components/co-navbar/co-navbar.js +2 -2
  307. package/dist/collection/components/co-number-field/co-number-field.js +3 -3
  308. package/dist/collection/components/co-option-list/co-option-list.css +64 -21
  309. package/dist/collection/components/co-option-list/co-option-list.js +6 -2
  310. package/dist/collection/components/co-overlay/co-overlay.js +7 -3
  311. package/dist/collection/components/co-page-header/co-page-header.js +1 -1
  312. package/dist/collection/components/co-phone-field/co-phone-field.js +1 -1
  313. package/dist/collection/components/co-popover/co-popover.css +15 -2
  314. package/dist/collection/components/co-popover/co-popover.js +130 -5
  315. package/dist/collection/components/co-progress-bar/co-progress-bar.js +2 -2
  316. package/dist/collection/components/co-progress-circle/co-progress-circle.js +2 -2
  317. package/dist/collection/components/co-radio/co-radio.js +3 -3
  318. package/dist/collection/components/co-radio-group/co-radio-group.js +4 -4
  319. package/dist/collection/components/co-rating/co-rating.js +3 -3
  320. package/dist/collection/components/co-ref-field/co-ref-field.js +5 -5
  321. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +23 -90
  322. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.css +12 -0
  323. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +123 -18
  324. package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.js +8 -1
  325. package/dist/collection/components/co-row/co-row.js +2 -2
  326. package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +3 -3
  327. package/dist/collection/components/co-select/co-select.css +194 -10
  328. package/dist/collection/components/co-select/co-select.js +163 -32
  329. package/dist/collection/components/co-select/virtualRows.js +57 -0
  330. package/dist/collection/components/co-separator/co-separator.js +1 -1
  331. package/dist/collection/components/co-sidebar/co-sidebar.js +2 -2
  332. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.css +10 -0
  333. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +19 -4
  334. package/dist/collection/components/co-skeleton/co-skeleton.js +1 -1
  335. package/dist/collection/components/co-slider/co-slider.css +148 -5
  336. package/dist/collection/components/co-slider/co-slider.js +240 -21
  337. package/dist/collection/components/co-swatch-grid/co-swatch-grid.css +56 -0
  338. package/dist/collection/components/co-swatch-grid/co-swatch-grid.js +292 -0
  339. package/dist/collection/components/co-switch/co-switch.js +3 -3
  340. package/dist/collection/components/co-tab/co-tab.css +60 -0
  341. package/dist/collection/components/co-tab/co-tab.js +36 -6
  342. package/dist/collection/components/co-tab-group/co-tab-group.css +24 -0
  343. package/dist/collection/components/co-tab-group/co-tab-group.js +124 -2
  344. package/dist/collection/components/co-tab-group/revealTab.js +26 -0
  345. package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
  346. package/dist/collection/components/co-textarea/co-textarea.js +4 -4
  347. package/dist/collection/components/co-tile/co-tile.css +63 -0
  348. package/dist/collection/components/co-tile/co-tile.js +162 -0
  349. package/dist/collection/components/co-time-field/co-time-field.js +1 -1
  350. package/dist/collection/components/co-toast/co-toast.js +4 -4
  351. package/dist/collection/components/co-toggle-button/co-toggle-button.css +101 -0
  352. package/dist/collection/components/co-toggle-button/co-toggle-button.js +80 -8
  353. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.css +21 -0
  354. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +28 -7
  355. package/dist/collection/components/co-tooltip/co-tooltip.css +36 -0
  356. package/dist/collection/components/co-tooltip/co-tooltip.js +51 -3
  357. package/dist/collection/components/co-transfer-list/co-transfer-list.js +3 -3
  358. package/dist/collection/components/co-tree-item/co-tree-item.css +226 -0
  359. package/dist/collection/components/co-tree-item/co-tree-item.js +353 -0
  360. package/dist/collection/components/co-tree-item/treeItemI18n.js +16 -0
  361. package/dist/collection/components/co-video/co-video.js +2 -2
  362. package/dist/collection/utils/color.js +9 -5
  363. package/dist/collection/utils/dragMove.js +95 -0
  364. package/dist/collection/utils/gradientBarI18n.js +24 -0
  365. package/dist/collection/utils/gradientStops.js +142 -0
  366. package/dist/collection/utils/hsv.js +114 -0
  367. package/dist/collection/utils/kbdI18n.js +29 -0
  368. package/dist/collection/utils/positioning.js +44 -18
  369. package/dist/collection/utils/rich-text-host.js +109 -0
  370. package/dist/collection/utils/richTextI18n.js +45 -0
  371. package/dist/collection/utils/submenu.js +23 -3
  372. package/dist/collection/utils/swatchGridI18n.js +14 -0
  373. package/dist/collection/utils/test/fake-block-layout.js +41 -0
  374. package/dist/collection/utils/test/prosemirror-dom-shim.js +17 -0
  375. package/dist/collection/utils/test/shared-contract-css.js +9 -0
  376. package/dist/components/co-accordion.js +1 -1
  377. package/dist/components/co-action-bar.js +1 -1
  378. package/dist/components/co-app-shell.js +1 -1
  379. package/dist/components/co-audio-player.js +1 -1
  380. package/dist/components/co-autocomplete.js +1 -1
  381. package/dist/components/co-avatar-group.js +1 -1
  382. package/dist/components/co-avatar.js +1 -1
  383. package/dist/components/co-badge.js +1 -1
  384. package/dist/components/co-bottom-sheet.js +1 -1
  385. package/dist/components/co-breadcrumb-item.js +1 -1
  386. package/dist/components/co-breadcrumb.js +1 -1
  387. package/dist/components/co-button-group.js +1 -1
  388. package/dist/components/co-button.js +1 -1
  389. package/dist/components/co-calendar-month.js +1 -1
  390. package/dist/components/co-calendar-timegrid.js +1 -1
  391. package/dist/components/co-calendar.js +1 -1
  392. package/dist/components/co-card.js +1 -1
  393. package/dist/components/co-carousel-item.js +1 -1
  394. package/dist/components/co-carousel.js +1 -1
  395. package/dist/components/co-checkbox-group.js +1 -1
  396. package/dist/components/co-checkbox.js +1 -1
  397. package/dist/components/co-chip.js +1 -1
  398. package/dist/components/co-color-area.d.ts +11 -0
  399. package/dist/components/co-color-area.js +1 -0
  400. package/dist/components/co-color-picker.js +1 -1
  401. package/dist/components/co-color-slider.d.ts +11 -0
  402. package/dist/components/co-color-slider.js +1 -0
  403. package/dist/components/co-column-picker.js +1 -1
  404. package/dist/components/co-combobox.js +1 -1
  405. package/dist/components/co-command-search.js +1 -1
  406. package/dist/components/co-data-table-pagination.js +1 -1
  407. package/dist/components/co-data-table.js +1 -1
  408. package/dist/components/co-date-field.js +1 -1
  409. package/dist/components/co-date-picker.js +1 -1
  410. package/dist/components/co-date-range-picker.js +1 -1
  411. package/dist/components/co-date-range.js +1 -1
  412. package/dist/components/co-date-time-picker.js +1 -1
  413. package/dist/components/co-document-editor.d.ts +11 -0
  414. package/dist/components/co-document-editor.js +1 -0
  415. package/dist/components/co-drawer.js +1 -1
  416. package/dist/components/co-drive-card.js +1 -1
  417. package/dist/components/co-drop-zone.js +1 -1
  418. package/dist/components/co-emoji-picker.js +1 -1
  419. package/dist/components/co-empty-state.js +1 -1
  420. package/dist/components/co-event-calendar.js +1 -1
  421. package/dist/components/co-event-popover.js +1 -1
  422. package/dist/components/co-fab.js +1 -1
  423. package/dist/components/co-file-field.js +1 -1
  424. package/dist/components/co-file-type-tile.js +1 -1
  425. package/dist/components/co-gradient-bar.d.ts +11 -0
  426. package/dist/components/co-gradient-bar.js +1 -0
  427. package/dist/components/co-helper-text.js +1 -1
  428. package/dist/components/co-icon-button.js +1 -1
  429. package/dist/components/co-icon.js +1 -1
  430. package/dist/components/co-input.js +1 -1
  431. package/dist/components/co-json-field.js +1 -1
  432. package/dist/components/co-kbd.d.ts +11 -0
  433. package/dist/components/co-kbd.js +1 -0
  434. package/dist/components/co-lightbox.js +1 -1
  435. package/dist/components/co-list-footer.js +1 -1
  436. package/dist/components/co-list-item.js +1 -1
  437. package/dist/components/co-media-thumb.js +1 -1
  438. package/dist/components/co-menu-divider.js +1 -1
  439. package/dist/components/co-menu-item.js +1 -1
  440. package/dist/components/co-menu.js +1 -1
  441. package/dist/components/co-modal.js +1 -1
  442. package/dist/components/co-navbar.js +1 -1
  443. package/dist/components/co-number-field.js +1 -1
  444. package/dist/components/co-option-list.js +1 -1
  445. package/dist/components/co-overlay.js +1 -1
  446. package/dist/components/co-page-header.js +1 -1
  447. package/dist/components/co-phone-field.js +1 -1
  448. package/dist/components/co-popover.js +1 -1
  449. package/dist/components/co-progress-bar.js +1 -1
  450. package/dist/components/co-progress-circle.js +1 -1
  451. package/dist/components/co-radio-group.js +1 -1
  452. package/dist/components/co-radio.js +1 -1
  453. package/dist/components/co-rating.js +1 -1
  454. package/dist/components/co-ref-field.js +1 -1
  455. package/dist/components/co-rich-text-editor.js +1 -1
  456. package/dist/components/co-rich-text-toolbar.js +1 -1
  457. package/dist/components/co-rich-text-viewer.js +1 -1
  458. package/dist/components/co-row.js +1 -1
  459. package/dist/components/co-segmented-bar.js +1 -1
  460. package/dist/components/co-select.js +1 -1
  461. package/dist/components/co-separator.js +1 -1
  462. package/dist/components/co-sidebar-nav.js +1 -1
  463. package/dist/components/co-sidebar.js +1 -1
  464. package/dist/components/co-skeleton.js +1 -1
  465. package/dist/components/co-slider.js +1 -1
  466. package/dist/components/co-swatch-grid.d.ts +11 -0
  467. package/dist/components/co-swatch-grid.js +1 -0
  468. package/dist/components/co-switch.js +1 -1
  469. package/dist/components/co-tab-group.js +1 -1
  470. package/dist/components/co-tab.js +1 -1
  471. package/dist/components/co-tags-field.js +1 -1
  472. package/dist/components/co-textarea.js +1 -1
  473. package/dist/components/co-tile.d.ts +11 -0
  474. package/dist/components/co-tile.js +1 -0
  475. package/dist/components/co-time-field.js +1 -1
  476. package/dist/components/co-toast.js +1 -1
  477. package/dist/components/co-toggle-button-group.js +1 -1
  478. package/dist/components/co-toggle-button.js +1 -1
  479. package/dist/components/co-tooltip.js +1 -1
  480. package/dist/components/co-transfer-list.js +1 -1
  481. package/dist/components/co-tree-item.d.ts +11 -0
  482. package/dist/components/co-tree-item.js +1 -0
  483. package/dist/components/co-video.js +1 -1
  484. package/dist/components/index.js +1 -1
  485. package/dist/components/p-B1JT7us1.js +1 -0
  486. package/dist/components/{p-Nt4JJxbL.js → p-B20o5exO.js} +1 -1
  487. package/dist/components/{p-DNJAIVfI.js → p-B3kKOgsA.js} +1 -1
  488. package/dist/components/{p-P4HlMBlL.js → p-BIDSDP05.js} +1 -1
  489. package/dist/components/p-BOqtnWTJ.js +1 -0
  490. package/dist/components/p-BQltjDw5.js +1 -0
  491. package/dist/components/p-BR0LYW9v.js +1 -0
  492. package/dist/components/{p-BRbgGqLw.js → p-BVGGRfNG.js} +1 -1
  493. package/dist/components/p-BZDl9aFl.js +1 -0
  494. package/dist/components/p-BcXdId8y.js +1 -0
  495. package/dist/components/p-BmdKHBZP.js +1 -0
  496. package/dist/components/{p-NNxjElcX.js → p-BraiMwgs.js} +1 -1
  497. package/dist/components/p-BtliEQAT.js +1 -0
  498. package/dist/components/p-Bymi-A7C.js +1 -0
  499. package/dist/components/p-C-f8wTqe.js +1 -0
  500. package/dist/components/{p-BhCVadcA.js → p-C1jZYtUS.js} +1 -1
  501. package/dist/components/{p-CT2enQ6h.js → p-C3G8oPgU.js} +1 -1
  502. package/dist/components/{p-B56LX2SH.js → p-CGH3E8uK.js} +1 -1
  503. package/dist/components/p-COJdaKBU.js +1 -0
  504. package/dist/components/{p-BAYo-RBt.js → p-CRxTFT_z.js} +1 -1
  505. package/dist/components/{p-Du_CgT5E.js → p-CfJgypOl.js} +1 -1
  506. package/dist/components/{p-uxdXViMV.js → p-ChwSnCFf.js} +1 -1
  507. package/dist/components/{p-Dc_Kbari.js → p-CpGEV0iM.js} +1 -1
  508. package/dist/components/{p-DvR45CLa.js → p-D9or2g4j.js} +1 -1
  509. package/dist/components/{p-e5KibEs8.js → p-DJ468fPu.js} +1 -1
  510. package/dist/components/{p-DFlJMEJ-.js → p-DKXCr-hE.js} +1 -1
  511. package/dist/components/p-DU-KOQ8L.js +1 -0
  512. package/dist/components/p-DXLeDZvr.js +1 -0
  513. package/dist/components/{p-BGDqldEg.js → p-DfcPGitr.js} +1 -1
  514. package/dist/components/p-Dg-Ti_Bf.js +1 -0
  515. package/dist/components/p-Dh_eRYKu.js +1 -0
  516. package/dist/components/p-Dp650Gpp.js +1 -0
  517. package/dist/components/p-FA1kBmZ-.js +1 -0
  518. package/dist/components/p-RVQJEYxa.js +1 -0
  519. package/dist/components/p-d4rf3H8p.js +1 -0
  520. package/dist/components/{p-Dxa7c4Ap.js → p-dnaee7fS.js} +1 -1
  521. package/dist/components/p-f2xwcrXa.js +1 -0
  522. package/dist/esm/co-accordion.entry.js +3 -3
  523. package/dist/esm/co-action-bar.entry.js +3 -3
  524. package/dist/esm/co-app-shell.entry.js +3 -3
  525. package/dist/esm/co-audio-player.entry.js +4 -4
  526. package/dist/esm/co-autocomplete.entry.js +2 -2
  527. package/dist/esm/co-avatar-group.entry.js +1 -1
  528. package/dist/esm/co-avatar.entry.js +7 -4
  529. package/dist/esm/co-badge.entry.js +2 -2
  530. package/dist/esm/co-bottom-sheet.entry.js +5 -5
  531. package/dist/esm/co-breadcrumb-item.entry.js +3 -3
  532. package/dist/esm/co-breadcrumb.entry.js +2 -2
  533. package/dist/esm/co-button-group.entry.js +3 -3
  534. package/dist/esm/co-button.entry.js +9 -7
  535. package/dist/esm/co-calendar-month_2.entry.js +4 -4
  536. package/dist/esm/co-calendar_3.entry.js +72 -27
  537. package/dist/esm/co-card.entry.js +3 -3
  538. package/dist/esm/co-carousel-item.entry.js +2 -2
  539. package/dist/esm/co-carousel.entry.js +3 -3
  540. package/dist/esm/co-checkbox-group.entry.js +1 -1
  541. package/dist/esm/co-checkbox.entry.js +13 -5
  542. package/dist/esm/co-chip_2.entry.js +9 -6
  543. package/dist/esm/co-color-area.entry.js +167 -0
  544. package/dist/esm/co-color-picker.entry.js +5 -5
  545. package/dist/esm/co-color-slider.entry.js +187 -0
  546. package/dist/esm/co-column-picker.entry.js +3 -3
  547. package/dist/esm/co-combobox.entry.js +5 -5
  548. package/dist/esm/co-command-search.entry.js +5 -5
  549. package/dist/esm/co-data-table-pagination.entry.js +5 -5
  550. package/dist/esm/co-data-table.entry.js +3 -3
  551. package/dist/esm/co-date-picker.entry.js +2 -2
  552. package/dist/esm/co-date-range-picker.entry.js +2 -2
  553. package/dist/esm/co-date-range.entry.js +2 -2
  554. package/dist/esm/co-date-time-picker.entry.js +4 -4
  555. package/dist/esm/co-document-editor.entry.js +1159 -0
  556. package/dist/esm/co-drive-card.entry.js +2 -2
  557. package/dist/esm/co-drop-zone.entry.js +2 -2
  558. package/dist/esm/co-emoji-picker.entry.js +3 -3
  559. package/dist/esm/co-empty-state.entry.js +3 -3
  560. package/dist/esm/co-event-calendar.entry.js +3 -3
  561. package/dist/esm/co-event-popover.entry.js +3 -3
  562. package/dist/esm/co-fab.entry.js +3 -3
  563. package/dist/esm/co-file-field.entry.js +8 -8
  564. package/dist/esm/co-file-type-tile.entry.js +3 -3
  565. package/dist/esm/co-gradient-bar.entry.js +218 -0
  566. package/dist/esm/co-helper-text.entry.js +3 -3
  567. package/dist/esm/co-icon-button.entry.js +49 -9
  568. package/dist/esm/co-icon.entry.js +3 -3
  569. package/dist/esm/co-input.entry.js +14 -8
  570. package/dist/esm/co-json-field.entry.js +5 -5
  571. package/dist/esm/{co-tooltip.entry.js → co-kbd_2.entry.js} +194 -7
  572. package/dist/esm/co-lightbox.entry.js +5 -5
  573. package/dist/esm/co-list-footer.entry.js +2 -2
  574. package/dist/esm/co-list-item.entry.js +5 -5
  575. package/dist/esm/co-loader.entry.js +1 -1
  576. package/dist/esm/co-media-thumb.entry.js +3 -3
  577. package/dist/esm/co-menu-divider.entry.js +3 -3
  578. package/dist/esm/co-menu-item.entry.js +39 -41
  579. package/dist/esm/co-menu.entry.js +81 -5
  580. package/dist/esm/co-modal.entry.js +350 -7
  581. package/dist/esm/co-navbar.entry.js +3 -3
  582. package/dist/esm/co-number-field.entry.js +5 -5
  583. package/dist/esm/co-overlay.entry.js +8 -4
  584. package/dist/esm/co-page-header.entry.js +2 -2
  585. package/dist/esm/co-phone-field.entry.js +3 -3
  586. package/dist/esm/co-popover.entry.js +67 -6
  587. package/dist/esm/co-progress-bar.entry.js +3 -3
  588. package/dist/esm/co-progress-circle.entry.js +3 -3
  589. package/dist/esm/co-provider-logo_2.entry.js +2 -2
  590. package/dist/esm/co-radio-group.entry.js +4 -4
  591. package/dist/esm/co-radio.entry.js +4 -4
  592. package/dist/esm/co-rating.entry.js +4 -4
  593. package/dist/esm/co-ref-field.entry.js +5 -5
  594. package/dist/esm/co-rich-text-editor.entry.js +26 -92
  595. package/dist/esm/co-rich-text-toolbar.entry.js +79 -20
  596. package/dist/esm/co-rich-text-viewer.entry.js +9 -2
  597. package/dist/esm/co-row.entry.js +3 -3
  598. package/dist/esm/co-segmented-bar.entry.js +3 -3
  599. package/dist/esm/co-select.entry.js +158 -29
  600. package/dist/esm/co-separator.entry.js +2 -2
  601. package/dist/esm/co-sidebar-nav.entry.js +20 -5
  602. package/dist/esm/co-sidebar.entry.js +3 -3
  603. package/dist/esm/co-slider.entry.js +203 -23
  604. package/dist/esm/co-swatch-grid.entry.js +119 -0
  605. package/dist/esm/co-switch.entry.js +5 -5
  606. package/dist/esm/co-tab-group.entry.js +113 -4
  607. package/dist/esm/co-tab.entry.js +15 -5
  608. package/dist/esm/co-tags-field.entry.js +8 -8
  609. package/dist/esm/co-textarea.entry.js +6 -6
  610. package/dist/esm/co-tile.entry.js +59 -0
  611. package/dist/esm/co-time-field.entry.js +2 -2
  612. package/dist/esm/co-toast.entry.js +3 -3
  613. package/dist/esm/co-toggle-button-group.entry.js +26 -5
  614. package/dist/esm/co-toggle-button.entry.js +67 -6
  615. package/dist/esm/co-transfer-list.entry.js +3 -3
  616. package/dist/esm/co-tree-item.entry.js +108 -0
  617. package/dist/esm/co-video.entry.js +3 -3
  618. package/dist/esm/cobalt.js +3 -3
  619. package/dist/esm/{color-BRbgGqLw.js → color-BVGGRfNG.js} +10 -6
  620. package/dist/esm/{fieldChip-uyggU8VV.js → fieldChip-B2ctp2m6.js} +1 -1
  621. package/dist/esm/gradientStops-DDK0y8ra.js +145 -0
  622. package/dist/esm/hsv-COJdaKBU.js +90 -0
  623. package/dist/esm/index-Cpo8HTwr.js +142 -0
  624. package/dist/esm/{index-DH5lfRNj.js → index-DJkaRtbb.js} +67 -28
  625. package/dist/esm/loader.js +3 -3
  626. package/dist/esm/{index-BBIYyvq-.js → pagination-D9OfZUnY.js} +1728 -297
  627. package/dist/esm/{positioning-DFHRS9cJ.js → positioning-BtliEQAT.js} +45 -19
  628. package/dist/esm/{requiredMark-BCJUuZvC.js → requiredMark-D5C5NzOE.js} +1 -1
  629. package/dist/esm/rich-text-host-BmdKHBZP.js +111 -0
  630. package/dist/esm/{richTextI18n-BYKAgwq3.js → richTextI18n-xnrKkNWQ.js} +45 -0
  631. package/dist/esm/submenu-DU-KOQ8L.js +57 -0
  632. package/dist/esm/{toolbar-config-BAYo-RBt.js → toolbar-config-CRxTFT_z.js} +32 -0
  633. package/dist/types/components/co-avatar/co-avatar.d.ts +4 -2
  634. package/dist/types/components/co-button/co-button.d.ts +6 -4
  635. package/dist/types/components/co-calendar/calendarMarks.d.ts +15 -0
  636. package/dist/types/components/co-calendar/co-calendar.d.ts +16 -0
  637. package/dist/types/components/co-checkbox/co-checkbox.d.ts +7 -0
  638. package/dist/types/components/co-color-area/co-color-area.d.ts +64 -0
  639. package/dist/types/components/co-color-slider/co-color-slider.d.ts +61 -0
  640. package/dist/types/components/co-date-time-picker/co-date-time-picker.d.ts +1 -1
  641. package/dist/types/components/co-document-editor/change-throttle.d.ts +9 -0
  642. package/dist/types/components/co-document-editor/co-document-editor.d.ts +276 -0
  643. package/dist/types/components/co-document-editor/document-props.d.ts +6 -0
  644. package/dist/types/components/co-document-editor/header-tools.d.ts +11 -0
  645. package/dist/types/components/co-document-editor/image-bar.d.ts +50 -0
  646. package/dist/types/components/co-document-editor/page-styles.d.ts +1 -0
  647. package/dist/types/components/co-document-editor/zoom.d.ts +26 -0
  648. package/dist/types/components/co-gradient-bar/co-gradient-bar.d.ts +72 -0
  649. package/dist/types/components/co-icon-button/co-icon-button.d.ts +34 -2
  650. package/dist/types/components/co-input/co-input.d.ts +14 -5
  651. package/dist/types/components/co-kbd/co-kbd.d.ts +43 -0
  652. package/dist/types/components/co-menu/co-menu.d.ts +40 -1
  653. package/dist/types/components/co-menu-item/co-menu-item.d.ts +17 -0
  654. package/dist/types/components/co-modal/co-modal.d.ts +111 -2
  655. package/dist/types/components/co-option-list/co-option-list.d.ts +1 -0
  656. package/dist/types/components/co-option-list/optionListLogic.d.ts +3 -0
  657. package/dist/types/components/co-popover/co-popover.d.ts +36 -0
  658. package/dist/types/components/co-rich-text-editor/co-rich-text-editor.d.ts +2 -5
  659. package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +17 -2
  660. package/dist/types/components/co-select/co-select.d.ts +47 -5
  661. package/dist/types/components/co-select/virtualRows.d.ts +44 -0
  662. package/dist/types/components/co-slider/co-slider.d.ts +143 -1
  663. package/dist/types/components/co-swatch-grid/co-swatch-grid.d.ts +37 -0
  664. package/dist/types/components/co-tab/co-tab.d.ts +12 -2
  665. package/dist/types/components/co-tab-group/co-tab-group.d.ts +37 -0
  666. package/dist/types/components/co-tab-group/revealTab.d.ts +29 -0
  667. package/dist/types/components/co-tile/co-tile.d.ts +40 -0
  668. package/dist/types/components/co-toggle-button/co-toggle-button.d.ts +37 -2
  669. package/dist/types/components/co-toggle-button-group/co-toggle-button-group.d.ts +20 -2
  670. package/dist/types/components/co-tooltip/co-tooltip.d.ts +12 -0
  671. package/dist/types/components/co-tree-item/co-tree-item.d.ts +73 -0
  672. package/dist/types/components/co-tree-item/treeItemI18n.d.ts +6 -0
  673. package/dist/types/components.d.ts +1744 -88
  674. package/dist/types/utils/color.d.ts +9 -1
  675. package/dist/types/utils/dragMove.d.ts +63 -0
  676. package/dist/types/utils/gradientBarI18n.d.ts +8 -0
  677. package/dist/types/utils/gradientStops.d.ts +63 -0
  678. package/dist/types/utils/hsv.d.ts +44 -0
  679. package/dist/types/utils/kbdI18n.d.ts +25 -0
  680. package/dist/types/utils/positioning.d.ts +24 -0
  681. package/dist/types/utils/rich-text-host.d.ts +41 -0
  682. package/dist/types/utils/richTextI18n.d.ts +15 -0
  683. package/dist/types/utils/submenu.d.ts +16 -2
  684. package/dist/types/utils/swatchGridI18n.d.ts +6 -0
  685. package/dist/types/utils/test/fake-block-layout.d.ts +7 -0
  686. package/dist/types/utils/test/prosemirror-dom-shim.d.ts +1 -0
  687. package/dist/types/utils/test/shared-contract-css.d.ts +9 -0
  688. package/package.json +5 -5
  689. package/dist/cobalt/p-0678c797.entry.js +0 -1
  690. package/dist/cobalt/p-1d3a79af.entry.js +0 -1
  691. package/dist/cobalt/p-216a63ee.entry.js +0 -1
  692. package/dist/cobalt/p-3d31c575.entry.js +0 -1
  693. package/dist/cobalt/p-416795f5.entry.js +0 -1
  694. package/dist/cobalt/p-56551580.entry.js +0 -1
  695. package/dist/cobalt/p-58137c9e.entry.js +0 -1
  696. package/dist/cobalt/p-5a3e4c81.entry.js +0 -1
  697. package/dist/cobalt/p-5c756787.entry.js +0 -1
  698. package/dist/cobalt/p-67f3b9d6.entry.js +0 -1
  699. package/dist/cobalt/p-6a4f3179.entry.js +0 -1
  700. package/dist/cobalt/p-71cbc53c.entry.js +0 -1
  701. package/dist/cobalt/p-72e52af7.entry.js +0 -1
  702. package/dist/cobalt/p-8530ad16.entry.js +0 -1
  703. package/dist/cobalt/p-8a74bf7d.entry.js +0 -1
  704. package/dist/cobalt/p-8e05b979.entry.js +0 -1
  705. package/dist/cobalt/p-8ebc0c12.entry.js +0 -1
  706. package/dist/cobalt/p-8f2199ff.entry.js +0 -1
  707. package/dist/cobalt/p-9246e09c.entry.js +0 -1
  708. package/dist/cobalt/p-99a655f6.entry.js +0 -1
  709. package/dist/cobalt/p-BYKAgwq3.js +0 -1
  710. package/dist/cobalt/p-CJW9H3Gi.js +0 -1
  711. package/dist/cobalt/p-DFHRS9cJ.js +0 -1
  712. package/dist/cobalt/p-DH5lfRNj.js +0 -2
  713. package/dist/cobalt/p-a1b422ca.entry.js +0 -1
  714. package/dist/cobalt/p-ade07307.entry.js +0 -1
  715. package/dist/cobalt/p-b0762fd8.entry.js +0 -1
  716. package/dist/cobalt/p-b698188c.entry.js +0 -1
  717. package/dist/cobalt/p-bde32f8b.entry.js +0 -1
  718. package/dist/cobalt/p-db805569.entry.js +0 -1
  719. package/dist/cobalt/p-e3aae282.entry.js +0 -1
  720. package/dist/cobalt/p-e49a564c.entry.js +0 -1
  721. package/dist/cobalt/p-ef301976.entry.js +0 -1
  722. package/dist/cobalt/p-f4e1c3c3.entry.js +0 -1
  723. package/dist/cobalt/p-fMqVDypp.js +0 -1
  724. package/dist/components/p-2EOI1nrz.js +0 -1
  725. package/dist/components/p-7TncUlLN.js +0 -1
  726. package/dist/components/p-B4NCaKrR.js +0 -1
  727. package/dist/components/p-BJh68Jqe.js +0 -1
  728. package/dist/components/p-BrAFTkAn.js +0 -1
  729. package/dist/components/p-Bsh0JMGf.js +0 -1
  730. package/dist/components/p-CJW9H3Gi.js +0 -1
  731. package/dist/components/p-CWCYYQrF.js +0 -1
  732. package/dist/components/p-D9T7zKeL.js +0 -1
  733. package/dist/components/p-DFHRS9cJ.js +0 -1
  734. package/dist/components/p-DTPYZwaZ.js +0 -1
  735. package/dist/components/p-Dcg4krSX.js +0 -1
  736. package/dist/components/p-Dh8ffSjK.js +0 -1
@@ -1,6 +1,7 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { afterEventFor } from "../co-overlay/overlayAfterClose";
3
3
  import { slotHasContent } from "../../utils/slotContent";
4
+ import { clampDragOffset, dragOffsetOf, isInteractiveDragTarget, } from "../../utils/dragMove";
4
5
  /**
5
6
  * @slot - Modal body content
6
7
  * @slot header-leading - Control before the heading (e.g. a back arrow on a
@@ -33,7 +34,8 @@ export class CoModal {
33
34
  */
34
35
  this.closeOnEscape = false;
35
36
  /**
36
- * Modal width: sm (400px), md (540px), lg (680px),
37
+ * Modal width: xs (369px, vía `--co-modal-width` — Task C12, paneles
38
+ * anclados como "Tipografía y color"), sm (400px), md (540px), lg (680px),
37
39
  * full (min(1400px, 95vw) × 92vh — media/document viewers).
38
40
  *
39
41
  * `full` also drops the body padding and lets the body grow, so a slotted
@@ -46,6 +48,59 @@ export class CoModal {
46
48
  /** Hairline between header and body. `false` lets the body run straight
47
49
  * under the heading (Figma modals whose first row is a segmented control). */
48
50
  this.headerDivider = true;
51
+ /**
52
+ * Visual treatment (Task C12). `default` = superficie squircle actual
53
+ * (radio `--co-modal-r`, sombra que sigue la silueta). `panel` = superficie
54
+ * plana (radio 12, borde `--co-semantic-border-subtle`, `--co-shadow-lg`),
55
+ * SIN máscara squircle — look de panel anclado, no de diálogo centrado.
56
+ *
57
+ * `dialog` (Task M1) = la anatomía del componente "Modal" del design system
58
+ * (Figma Prolibu UI Suite, nodo `1179:37247`): superficie plana radio 16
59
+ * (`--co-border-radius-lg`) sin borde ni sombra propios, título 22/500 y
60
+ * cuerpo 16/1.5 `text-secondary` sin divisor entre ambos, padding 32
61
+ * (`--co-spacing-3xl`), footer 16/24 con hairline `border-subtle` y botones
62
+ * cuadrados de radio 12. Sin máscara squircle. El ✕ (si `closable`) es el
63
+ * redondo de 32 del modo `panel`.
64
+ */
65
+ this.appearance = 'default';
66
+ /**
67
+ * Control del scrim (Task C12). `none` = sin fondo oscuro y sin cierre por
68
+ * clic afuera — independiente de `closeOnOverlay` (que solo aplica cuando
69
+ * SÍ hay scrim). `co-overlay` es quien posee el único `<div>` de scrim del
70
+ * árbol, así que `none` implica no montar `<co-overlay>` (ver `inline`).
71
+ */
72
+ this.backdrop = 'default';
73
+ /**
74
+ * Renderiza en `position: fixed` con su propio `--co-modal-z-index` en vez
75
+ * de promoverse al TOP LAYER del browser (Task C12). `co-overlay` promueve
76
+ * su scrim al top layer vía Popover API (`showPopover()`); el top layer
77
+ * SIEMPRE pinta por encima de cualquier `z-index` normal, así que un
78
+ * portal propio del consumidor (selector de fuente/color del editor) con
79
+ * z-index alto quedaría igual TAPADO detrás del modal. `inline` evita eso.
80
+ *
81
+ * `co-overlay` es también quien posee la promoción a top layer — no hay
82
+ * forma de pedirle "no te promuevas" sin tocar ese componente (fuera de
83
+ * alcance de esta task), así que, igual que `backdrop="none"`, `inline`
84
+ * implica no montar `<co-overlay>`: el panel pasa a posicionarse y apilarse
85
+ * solo (`.co-modal__frame--standalone`, ver co-modal.css).
86
+ */
87
+ this.inline = false;
88
+ /**
89
+ * Opt-in: el modal se MUEVE arrastrando su header (Task D1). Default false →
90
+ * los consumidores actuales quedan byte-idénticos (ni DOM ni CSS cambian).
91
+ *
92
+ * Con `movable`, el `part="header"` entero es la zona de agarre (`cursor:
93
+ * grab`), salvo los controles que contenga (el ✕, y cualquier botón, enlace
94
+ * o campo: ver `isInteractiveDragTarget`). Soltar confirma la posición;
95
+ * `pointercancel` o perder el foco de la ventana la CANCELAN y dejan la
96
+ * anterior. La posición no se persiste: cerrar y reabrir devuelve el panel a
97
+ * su lugar por defecto.
98
+ *
99
+ * Se llama `movable` y no `draggable` a propósito: `draggable` es un atributo
100
+ * global de HTML (arrastre nativo HTML5) y una prop de React, y una prop del
101
+ * mismo nombre taparía `HTMLElement.draggable` con dos semánticas encimadas.
102
+ */
103
+ this.movable = false;
49
104
  /* `:empty` can't see across a <slot>, so slotted presence is tracked in JS */
50
105
  this.hasFooter = false;
51
106
  this.handleFooterSlotChange = (e) => {
@@ -58,6 +113,12 @@ export class CoModal {
58
113
  this.handleCloseClick = () => {
59
114
  this.coClose.emit();
60
115
  };
116
+ /** Freno del clic del panel: existe SOLO para que un clic adentro no llegue
117
+ * al `<co-overlay>`, que cierra con cualquier clic sobre su div. Sin
118
+ * overlay (`inline` / `backdrop="none"`) no hay nada que proteger, y el
119
+ * freno se tragaba los `onClick` de React del contenido proyectado (React
120
+ * delega en la raíz; el camino compuesto del evento cruza este div). Por
121
+ * eso se monta condicionado a `usesOverlay` — ver `render()`. */
61
122
  this.stopPropagation = (e) => {
62
123
  e.stopPropagation();
63
124
  };
@@ -70,6 +131,84 @@ export class CoModal {
70
131
  else if (ev === 'after-close')
71
132
  this.coAfterClose.emit();
72
133
  };
134
+ // ── Arrastre por el header (Task D1) ──────────────────────────────────
135
+ /** Gesto en curso: pinta el cursor `grabbing` (única razón para re-render). */
136
+ this.dragging = false;
137
+ /** Desplazamiento YA confirmado. El gesto siguiente arranca desde acá. */
138
+ this.committedOffset = { x: 0, y: 0 };
139
+ /** Desplazamiento en vivo (= el confirmado mientras no hay gesto). */
140
+ this.liveOffset = { x: 0, y: 0 };
141
+ this.handleDragDown = (e) => {
142
+ var _a;
143
+ // Solo el botón primario; un segundo puntero no roba el gesto en curso.
144
+ if (!this.movable || this.dragging || e.button !== 0)
145
+ return;
146
+ // El ✕ (y cualquier control que el header llegue a tener) no arrastra.
147
+ if (isInteractiveDragTarget(e, this.headerEl))
148
+ return;
149
+ const rect = (_a = this.modalEl) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
150
+ if (!rect)
151
+ return;
152
+ // Evita seleccionar el título al arrastrar. El foco NO se toca: el header
153
+ // no es un control, no entra al tab-order ni cambia el aria-labelledby.
154
+ e.preventDefault();
155
+ this.dragging = true;
156
+ this.dragPointerId = e.pointerId;
157
+ this.dragStart = { x: e.clientX, y: e.clientY };
158
+ // Caja SIN trasladar: `getBoundingClientRect` la devuelve con el
159
+ // desplazamiento ya aplicado, pero el offset que se acota es absoluto
160
+ // desde el origen sin trasladar (`committedOffset + delta`). Mezclarlos
161
+ // corría el rango permitido exactamente `committedOffset` px en cada
162
+ // gesto nuevo, y del segundo en adelante el panel se iba de pantalla.
163
+ this.dragRect = {
164
+ left: rect.left - this.committedOffset.x,
165
+ top: rect.top - this.committedOffset.y,
166
+ width: rect.width,
167
+ height: rect.height,
168
+ };
169
+ this.dragViewport = { width: window.innerWidth, height: window.innerHeight };
170
+ this.capturePointer(e);
171
+ // El listener del blur vive solo mientras dura el gesto: sin `movable` (o
172
+ // sin arrastre en curso) el componente no engancha nada en `window`.
173
+ window.addEventListener('blur', this.handleWindowBlur);
174
+ };
175
+ this.handleDragMove = (e) => {
176
+ if (!this.isActiveDragPointer(e))
177
+ return;
178
+ if (!this.dragStart || !this.dragRect || !this.dragViewport)
179
+ return;
180
+ const raw = dragOffsetOf(this.committedOffset, this.dragStart, { x: e.clientX, y: e.clientY });
181
+ this.writeOffset(clampDragOffset(raw, this.dragRect, this.dragViewport));
182
+ };
183
+ /** Soltar CONFIRMA la posición alcanzada. */
184
+ this.handleDragUp = (e) => {
185
+ if (!this.isActiveDragPointer(e))
186
+ return;
187
+ this.committedOffset = this.liveOffset;
188
+ this.releasePointer(e);
189
+ this.endDrag();
190
+ };
191
+ /** `pointercancel` CANCELA: el panel vuelve a la última posición confirmada. */
192
+ this.handleDragCancel = (e) => {
193
+ if (!this.isActiveDragPointer(e))
194
+ return;
195
+ this.releasePointer(e);
196
+ this.writeOffset(this.committedOffset);
197
+ this.endDrag();
198
+ };
199
+ /** Perder el foco de la ventana (alt-tab, un iframe que se lo lleva) cancela igual que `pointercancel`. */
200
+ this.handleWindowBlur = () => {
201
+ if (!this.dragging)
202
+ return;
203
+ this.writeOffset(this.committedOffset);
204
+ this.endDrag();
205
+ };
206
+ }
207
+ /** Verdadero cuando NO corresponde montar `<co-overlay>` — ver doc de
208
+ * `backdrop` e `inline` arriba: ambas comparten el mismo mecanismo porque
209
+ * co-overlay es la única superficie dueña del scrim Y del top layer. */
210
+ get usesOverlay() {
211
+ return this.backdrop !== 'none' && !this.inline;
73
212
  }
74
213
  handleKeydown(e) {
75
214
  if (!this.open || !this.closeOnEscape)
@@ -77,18 +216,122 @@ export class CoModal {
77
216
  if (e.key === 'Escape')
78
217
  this.coClose.emit();
79
218
  }
219
+ /**
220
+ * La posición no se persiste: cada APERTURA arranca desde la posición por
221
+ * defecto. El reset va al abrir y no al cerrar a propósito — reseteando al
222
+ * cerrar, el panel se teletransportaba al centro mientras corría su
223
+ * animación de salida (un consumidor que lo deja montado y solo apaga
224
+ * `open` lo veía saltar).
225
+ */
226
+ resetPositionOnOpen(open) {
227
+ this.endDrag();
228
+ if (!open)
229
+ return;
230
+ this.committedOffset = { x: 0, y: 0 };
231
+ this.writeOffset({ x: 0, y: 0 });
232
+ }
233
+ disconnectedCallback() {
234
+ // Desmontarse en pleno gesto no debe dejar el listener colgado.
235
+ window.removeEventListener('blur', this.handleWindowBlur);
236
+ }
237
+ endDrag() {
238
+ window.removeEventListener('blur', this.handleWindowBlur);
239
+ this.dragging = false;
240
+ this.dragPointerId = undefined;
241
+ this.dragStart = undefined;
242
+ this.dragRect = undefined;
243
+ this.dragViewport = undefined;
244
+ }
245
+ /** `==`: en jsdom los MouseEvent traen `pointerId` undefined y deben seguir pasando. */
246
+ isActiveDragPointer(e) {
247
+ // eslint-disable-next-line eqeqeq
248
+ return this.dragging && e.pointerId == this.dragPointerId;
249
+ }
250
+ /** `setPointerCapture` sigue el gesto fuera del header (y garantiza el `pointercancel`). */
251
+ capturePointer(e) {
252
+ const el = this.headerEl;
253
+ if (!el || typeof el.setPointerCapture !== 'function' || e.pointerId == null)
254
+ return;
255
+ try {
256
+ el.setPointerCapture(e.pointerId);
257
+ }
258
+ catch (_a) {
259
+ /* pointerId inactivo (evento sintético): sin captura, el gesto vive dentro del header */
260
+ }
261
+ }
262
+ releasePointer(e) {
263
+ const el = this.headerEl;
264
+ if (!el || typeof el.releasePointerCapture !== 'function' || e.pointerId == null)
265
+ return;
266
+ try {
267
+ el.releasePointerCapture(e.pointerId);
268
+ }
269
+ catch (_a) {
270
+ /* ya liberado */
271
+ }
272
+ }
273
+ /**
274
+ * Escribe el desplazamiento como custom property en el panel; la regla que la
275
+ * consume vive en `.co-modal--movable` (co-modal.css).
276
+ *
277
+ * Va por el DOM y no por el `style` del vdom a propósito: el `transform` del
278
+ * panel es la animación de apertura (`scale`), así que el desplazamiento usa
279
+ * la propiedad independiente `translate` — se compone con ese transform, no
280
+ * dispara layout, y al no declararla el vdom ningún re-render la pisa.
281
+ */
282
+ writeOffset(offset) {
283
+ this.liveOffset = offset;
284
+ const el = this.modalEl;
285
+ if (!el)
286
+ return;
287
+ if (offset.x === 0 && offset.y === 0)
288
+ el.style.removeProperty('--co-modal-translate');
289
+ else
290
+ el.style.setProperty('--co-modal-translate', `${offset.x}px ${offset.y}px`);
291
+ }
80
292
  render() {
81
- return (h("co-overlay", { key: '9b796364a697af4d4a0ede50e5dd5516ccaa299f', open: this.open, onCoClose: this.handleOverlayClick }, h("div", { key: 'bea863aedb405cdc492277add25e2c08ea7ef258', class: "co-modal__frame co-sq-elevation-fallback" }, h("div", { key: '05f9e86f7a813243913f60c6a042fb93ed65a463', class: {
293
+ // `panel` (Task C12) y `dialog` (Task M1) no usan la receta squircle:
294
+ // superficies planas con radio/borde/sombra propios declarados en
295
+ // co-modal.css. (Las dos comparaciones van literales: el guard
296
+ // squircle-surface-guard.test.ts las busca por texto.)
297
+ const squircle = this.appearance !== 'panel' && this.appearance !== 'dialog';
298
+ const flat = !squircle;
299
+ const closeIconSize = flat ? 18 : 20;
300
+ // Receta squircle: global/squircle-surface.css. El frame lleva el
301
+ // drop-shadow SOLO en el fallback (.co-sq-elevation-fallback); el panel
302
+ // lleva recorte + box-shadow (Chromium) y conserva la animación de
303
+ // open/close + onTransitionEnd sin cambios.
304
+ const frame = (h("div", { class: {
305
+ 'co-modal__frame': true,
306
+ 'co-sq-elevation-fallback': squircle,
307
+ // Ver doc de `backdrop`/`inline` en los @Prop: sin <co-overlay> el
308
+ // frame se posiciona y apila solo (position:fixed + z-index).
309
+ 'co-modal__frame--standalone': !this.usesOverlay,
310
+ } }, h("div", { class: {
82
311
  'co-modal': true,
83
- 'co-sq-clip': true,
84
- 'co-sq-elevation': true,
312
+ 'co-sq-clip': squircle,
313
+ 'co-sq-elevation': squircle,
85
314
  'co-modal--open': this.open,
315
+ 'co-modal--xs': this.size === 'xs',
86
316
  'co-modal--sm': this.size === 'sm',
87
317
  'co-modal--lg': this.size === 'lg',
88
318
  'co-modal--full': this.size === 'full',
89
319
  'co-modal--no-dividers': this.noDividers,
90
320
  'co-modal--no-header-divider': !this.headerDivider,
91
- }, part: "modal", ref: (el) => (this.modalEl = el), role: "dialog", "aria-modal": "true", "aria-labelledby": this.heading ? 'modal-heading' : undefined, onClick: this.stopPropagation, onTransitionEnd: this.handleTransitionEnd }, h("div", { key: '8ecd9f7f4413339e484710e2abef1c21fc7f25d0', class: "co-modal__header", part: "header" }, h("slot", { key: '09df61b3aac8a26e0eb85a6a6aa48f9a7f547dbf', name: "header-leading" }), h("div", { key: '8e9a55561a1b5615f77eb3eb96284ddc68eddbc3', class: "co-modal__header-text", part: "header-text" }, h("h2", { key: '65c083247543448d9f527592cd8614a4c713cf4c', class: "co-modal__heading", part: "heading", id: "modal-heading" }, this.heading), this.description && (h("p", { key: 'c871aa6549cf56265a02048ca18f736d92d1a482', class: "co-modal__description", part: "description" }, this.description))), h("slot", { key: '106a5be71c8c03736313c1084c61d3b836ebb495', name: "header-actions" }), this.closable && (h("button", { key: 'a0df67cd09e5f414c58f9f67f6a92c58b9f4773b', class: "co-modal__close", type: "button", "aria-label": "Close", onClick: this.handleCloseClick }, h("co-icon", { key: 'e766981fff30de0c79599756dde74c5981d5c9fd', name: "x", size: 20 })))), !this.noDividers && (h("div", { key: '355e455c19cbc4a0783c0e0c2689265e6f599484', class: "co-modal__body", part: "body" }, h("slot", { key: 'fa6d3310464ff33de17618561182736bc6cef0e5' }))), h("div", { key: '43b89751fac3fd1b707a284d260e91dd7d7ea8a6', class: { 'co-modal__footer': true, 'co-modal__footer--empty': !this.hasFooter }, part: "footer" }, h("slot", { key: 'e9821b0712a6903c923f9bb50393e4b85545c211', name: "footer", onSlotchange: this.handleFooterSlotChange }))))));
321
+ 'co-modal--panel': this.appearance === 'panel',
322
+ 'co-modal--dialog': this.appearance === 'dialog',
323
+ 'co-modal--movable': this.movable,
324
+ }, part: "modal", ref: (el) => (this.modalEl = el), role: "dialog", "aria-modal": "true", "aria-labelledby": this.heading ? 'modal-heading' : undefined,
325
+ // Sin <co-overlay> el clic sigue su curso (los onClick delegados del
326
+ // consumidor lo necesitan); con overlay, el freno de siempre.
327
+ onClick: this.usesOverlay ? this.stopPropagation : undefined, onTransitionEnd: this.handleTransitionEnd }, h("div", { class: {
328
+ 'co-modal__header': true,
329
+ 'co-modal__header--movable': this.movable,
330
+ 'co-modal__header--dragging': this.dragging,
331
+ }, part: "header", ref: (el) => (this.headerEl = el), onPointerDown: this.movable ? this.handleDragDown : undefined, onPointerMove: this.movable ? this.handleDragMove : undefined, onPointerUp: this.movable ? this.handleDragUp : undefined, onPointerCancel: this.movable ? this.handleDragCancel : undefined }, h("slot", { name: "header-leading" }), h("div", { class: "co-modal__header-text", part: "header-text" }, h("h2", { class: "co-modal__heading", part: "heading", id: "modal-heading" }, this.heading), this.description && (h("p", { class: "co-modal__description", part: "description" }, this.description))), h("slot", { name: "header-actions" }), this.closable && (h("button", { class: "co-modal__close", type: "button", "aria-label": "Close", onClick: this.handleCloseClick }, h("co-icon", { name: "x", size: closeIconSize })))), !this.noDividers && (h("div", { class: "co-modal__body", part: "body" }, h("slot", null))), h("div", { class: { 'co-modal__footer': true, 'co-modal__footer--empty': !this.hasFooter }, part: "footer" }, h("slot", { name: "footer", onSlotchange: this.handleFooterSlotChange })))));
332
+ if (!this.usesOverlay)
333
+ return frame;
334
+ return (h("co-overlay", { open: this.open, onCoClose: this.handleOverlayClick }, frame));
92
335
  }
93
336
  static get is() { return "co-modal"; }
94
337
  static get encapsulation() { return "shadow"; }
@@ -227,15 +470,15 @@ export class CoModal {
227
470
  "type": "string",
228
471
  "mutable": false,
229
472
  "complexType": {
230
- "original": "'sm' | 'md' | 'lg' | 'full'",
231
- "resolved": "\"full\" | \"lg\" | \"md\" | \"sm\"",
473
+ "original": "'xs' | 'sm' | 'md' | 'lg' | 'full'",
474
+ "resolved": "\"full\" | \"lg\" | \"md\" | \"sm\" | \"xs\"",
232
475
  "references": {}
233
476
  },
234
477
  "required": false,
235
478
  "optional": false,
236
479
  "docs": {
237
480
  "tags": [],
238
- "text": "Modal width: sm (400px), md (540px), lg (680px),\nfull (min(1400px, 95vw) \u00D7 92vh \u2014 media/document viewers).\n\n`full` also drops the body padding and lets the body grow, so a slotted\n<video>/<iframe> fills the panel edge-to-edge instead of sitting in a\ncontent-height box."
481
+ "text": "Modal width: xs (369px, v\u00EDa `--co-modal-width` \u2014 Task C12, paneles\nanclados como \"Tipograf\u00EDa y color\"), sm (400px), md (540px), lg (680px),\nfull (min(1400px, 95vw) \u00D7 92vh \u2014 media/document viewers).\n\n`full` also drops the body padding and lets the body grow, so a slotted\n<video>/<iframe> fills the panel edge-to-edge instead of sitting in a\ncontent-height box."
239
482
  },
240
483
  "getter": false,
241
484
  "setter": false,
@@ -282,12 +525,93 @@ export class CoModal {
282
525
  "reflect": false,
283
526
  "attribute": "header-divider",
284
527
  "defaultValue": "true"
528
+ },
529
+ "appearance": {
530
+ "type": "string",
531
+ "mutable": false,
532
+ "complexType": {
533
+ "original": "'default' | 'panel' | 'dialog'",
534
+ "resolved": "\"default\" | \"dialog\" | \"panel\"",
535
+ "references": {}
536
+ },
537
+ "required": false,
538
+ "optional": false,
539
+ "docs": {
540
+ "tags": [],
541
+ "text": "Visual treatment (Task C12). `default` = superficie squircle actual\n(radio `--co-modal-r`, sombra que sigue la silueta). `panel` = superficie\nplana (radio 12, borde `--co-semantic-border-subtle`, `--co-shadow-lg`),\nSIN m\u00E1scara squircle \u2014 look de panel anclado, no de di\u00E1logo centrado.\n\n`dialog` (Task M1) = la anatom\u00EDa del componente \"Modal\" del design system\n(Figma Prolibu UI Suite, nodo `1179:37247`): superficie plana radio 16\n(`--co-border-radius-lg`) sin borde ni sombra propios, t\u00EDtulo 22/500 y\ncuerpo 16/1.5 `text-secondary` sin divisor entre ambos, padding 32\n(`--co-spacing-3xl`), footer 16/24 con hairline `border-subtle` y botones\ncuadrados de radio 12. Sin m\u00E1scara squircle. El \u2715 (si `closable`) es el\nredondo de 32 del modo `panel`."
542
+ },
543
+ "getter": false,
544
+ "setter": false,
545
+ "reflect": true,
546
+ "attribute": "appearance",
547
+ "defaultValue": "'default'"
548
+ },
549
+ "backdrop": {
550
+ "type": "string",
551
+ "mutable": false,
552
+ "complexType": {
553
+ "original": "'default' | 'none'",
554
+ "resolved": "\"default\" | \"none\"",
555
+ "references": {}
556
+ },
557
+ "required": false,
558
+ "optional": false,
559
+ "docs": {
560
+ "tags": [],
561
+ "text": "Control del scrim (Task C12). `none` = sin fondo oscuro y sin cierre por\nclic afuera \u2014 independiente de `closeOnOverlay` (que solo aplica cuando\nS\u00CD hay scrim). `co-overlay` es quien posee el \u00FAnico `<div>` de scrim del\n\u00E1rbol, as\u00ED que `none` implica no montar `<co-overlay>` (ver `inline`)."
562
+ },
563
+ "getter": false,
564
+ "setter": false,
565
+ "reflect": true,
566
+ "attribute": "backdrop",
567
+ "defaultValue": "'default'"
568
+ },
569
+ "inline": {
570
+ "type": "boolean",
571
+ "mutable": false,
572
+ "complexType": {
573
+ "original": "boolean",
574
+ "resolved": "boolean",
575
+ "references": {}
576
+ },
577
+ "required": false,
578
+ "optional": false,
579
+ "docs": {
580
+ "tags": [],
581
+ "text": "Renderiza en `position: fixed` con su propio `--co-modal-z-index` en vez\nde promoverse al TOP LAYER del browser (Task C12). `co-overlay` promueve\nsu scrim al top layer v\u00EDa Popover API (`showPopover()`); el top layer\nSIEMPRE pinta por encima de cualquier `z-index` normal, as\u00ED que un\nportal propio del consumidor (selector de fuente/color del editor) con\nz-index alto quedar\u00EDa igual TAPADO detr\u00E1s del modal. `inline` evita eso.\n\n`co-overlay` es tambi\u00E9n quien posee la promoci\u00F3n a top layer \u2014 no hay\nforma de pedirle \"no te promuevas\" sin tocar ese componente (fuera de\nalcance de esta task), as\u00ED que, igual que `backdrop=\"none\"`, `inline`\nimplica no montar `<co-overlay>`: el panel pasa a posicionarse y apilarse\nsolo (`.co-modal__frame--standalone`, ver co-modal.css)."
582
+ },
583
+ "getter": false,
584
+ "setter": false,
585
+ "reflect": true,
586
+ "attribute": "inline",
587
+ "defaultValue": "false"
588
+ },
589
+ "movable": {
590
+ "type": "boolean",
591
+ "mutable": false,
592
+ "complexType": {
593
+ "original": "boolean",
594
+ "resolved": "boolean",
595
+ "references": {}
596
+ },
597
+ "required": false,
598
+ "optional": false,
599
+ "docs": {
600
+ "tags": [],
601
+ "text": "Opt-in: el modal se MUEVE arrastrando su header (Task D1). Default false \u2192\nlos consumidores actuales quedan byte-id\u00E9nticos (ni DOM ni CSS cambian).\n\nCon `movable`, el `part=\"header\"` entero es la zona de agarre (`cursor:\ngrab`), salvo los controles que contenga (el \u2715, y cualquier bot\u00F3n, enlace\no campo: ver `isInteractiveDragTarget`). Soltar confirma la posici\u00F3n;\n`pointercancel` o perder el foco de la ventana la CANCELAN y dejan la\nanterior. La posici\u00F3n no se persiste: cerrar y reabrir devuelve el panel a\nsu lugar por defecto.\n\nSe llama `movable` y no `draggable` a prop\u00F3sito: `draggable` es un atributo\nglobal de HTML (arrastre nativo HTML5) y una prop de React, y una prop del\nmismo nombre tapar\u00EDa `HTMLElement.draggable` con dos sem\u00E1nticas encimadas."
602
+ },
603
+ "getter": false,
604
+ "setter": false,
605
+ "reflect": true,
606
+ "attribute": "movable",
607
+ "defaultValue": "false"
285
608
  }
286
609
  };
287
610
  }
288
611
  static get states() {
289
612
  return {
290
- "hasFooter": {}
613
+ "hasFooter": {},
614
+ "dragging": {}
291
615
  };
292
616
  }
293
617
  static get events() {
@@ -338,6 +662,12 @@ export class CoModal {
338
662
  }
339
663
  }];
340
664
  }
665
+ static get watchers() {
666
+ return [{
667
+ "propName": "open",
668
+ "methodName": "resetPositionOnOpen"
669
+ }];
670
+ }
341
671
  static get listeners() {
342
672
  return [{
343
673
  "name": "keydown",
@@ -14,12 +14,12 @@ export class CoNavbar {
14
14
  this.rounded = false;
15
15
  }
16
16
  render() {
17
- return (h("div", { key: '9899b395fdf793bf9b7e47509b81eb559aac0b56', class: {
17
+ return (h("div", { key: 'd313d8d23b4b4f2d0250fedf8762bdda47464fe2', class: {
18
18
  'co-navbar': true,
19
19
  [`co-navbar--${this.variant}`]: true,
20
20
  [`co-navbar--${this.size}`]: true,
21
21
  'co-navbar--rounded': this.rounded,
22
- }, part: "navbar", role: "toolbar" }, h("slot", { key: 'c863bcf8dc9eddab771922a81e11c1966bfe8d2e' })));
22
+ }, part: "navbar", role: "toolbar" }, h("slot", { key: '737e1bfc2c3254fed53e590cba18932dc1d04f5d' })));
23
23
  }
24
24
  static get is() { return "co-navbar"; }
25
25
  static get encapsulation() { return "shadow"; }
@@ -323,18 +323,18 @@ export class CoNumberField {
323
323
  return this.scaled && !this.isEmpty ? '%' : null;
324
324
  }
325
325
  render() {
326
- return (h("div", { key: 'de7f3ae049ac5afcdf7d8a711c566b947fa7e151', class: {
326
+ return (h("div", { key: 'cfe8c799eba592d7eab1bf8fc7dfc3a143123206', class: {
327
327
  'co-number-field': true,
328
328
  'co-number-field--disabled': this.disabled,
329
329
  'co-number-field--focused': this.focused,
330
330
  [`co-number-field--${this.size}`]: true,
331
331
  [`co-number-field--${this.status}`]: this.status !== 'default',
332
- } }, (this.label || this.secondaryLabel) && (h("div", { key: '3a6c96b2987f0502334a23048f8693745589e965', class: "co-number-field__labels" }, this.label && h("label", { key: '7e0c9c08e93f10f6e18143d038ea8810a0f156b8', class: "co-number-field__label" }, this.label, h(RequiredMark, { key: '88b110f3d59908c27d182533100220ff8a65bb66', required: this.required })), this.secondaryLabel && h("span", { key: '5dd9219f995fc59ce557c8ba2b5dfea2d7cb56ef', class: "co-number-field__secondary-label" }, this.secondaryLabel))), h("div", { key: 'e2079dd9e28daf904057106167cd368de906daba', class: "co-number-field__row", part: "row" }, !this.hideControls && (h("button", { key: '7ff22639f594e7a008f02962ed7782b84654b78e', class: "co-number-field__btn co-number-field__btn--minus", type: "button", tabIndex: -1, disabled: !this.canDecrement, onClick: this.handleDecrement, "aria-label": "Decrease" }, h("co-icon", { key: '61aafdc7c083ea39b9b65b87d267df63b91cb8d4', name: "minus", size: 16 }))), h("input", { key: 'e088482da6c9fe1e02abe5bcae2611f157be83ed', ref: el => (this.inputEl = el), class: "co-number-field__input", type: "text", inputMode: "decimal",
332
+ } }, (this.label || this.secondaryLabel) && (h("div", { key: 'b15f9ddc1de6c026d92ee4776dc9209359d9a33b', class: "co-number-field__labels" }, this.label && h("label", { key: '449cb18609fa0aafe53cfd8eea7f2ea30e1b822c', class: "co-number-field__label" }, this.label, h(RequiredMark, { key: '87e3da885243de08bce2e63c6d94eaf0b5ec374c', required: this.required })), this.secondaryLabel && h("span", { key: 'eccc1dba84e28783d2c15f442ec7713e24b0a4e2', class: "co-number-field__secondary-label" }, this.secondaryLabel))), h("div", { key: '6afdf37dd4e52fe7ec168bea6cb84a15f7f67414', class: "co-number-field__row", part: "row" }, !this.hideControls && (h("button", { key: 'b858fc8ae0c6cfcf4e4ee7c30e11d967a0aa2e0e', class: "co-number-field__btn co-number-field__btn--minus", type: "button", tabIndex: -1, disabled: !this.canDecrement, onClick: this.handleDecrement, "aria-label": "Decrease" }, h("co-icon", { key: '37e7b6b9ddeb72ed33f9131ee010149e64cdf509', name: "minus", size: 16 }))), h("input", { key: 'a9656744984f93fe8955fb46afd28735a31b439a', ref: el => (this.inputEl = el), class: "co-number-field__input", type: "text", inputMode: "decimal",
333
333
  // Mismo guard `focused` que el @Watch: mientras el usuario edita, su
334
334
  // texto manda. Sin esto, el re-render que dispara emitValue repinta
335
335
  // el input desde el NÚMERO y se come el texto en construcción
336
336
  // ("34,640.00" pegado quedaba "34,640"; un "12." perdería el punto).
337
- value: this.focused && this.inputEl ? this.inputEl.value : this.displayValue, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onPaste: this.handlePaste, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, part: "input" }), this.affixText && (h("span", { key: '2a7bc2f465844ccb9db7017c1b3782625e784c05', class: "co-number-field__affix", "aria-hidden": "true" }, this.affixText)), this.clearable && !this.isEmpty && !this.disabled && (h("button", { key: '06e40ddc080297db49823f17eeeaba313f68fafd', class: "co-number-field__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: 'f69d2f6bf5cb4cd6731d55f873fd03d21eb0f42e', name: "x-circle", size: 16, weight: "fill" }))), h("slot", { key: 'd16df6468bf0f514ce183e36d555b5e8f97ff969', name: "suffix" }), !this.hideControls && (h("button", { key: '523f5cbda86bbe3b69d08aedc9eb678d6b218cb7', class: "co-number-field__btn co-number-field__btn--plus", type: "button", tabIndex: -1, disabled: !this.canIncrement, onClick: this.handleIncrement, "aria-label": "Increase" }, h("co-icon", { key: '7f546fa2885ebecc3f16129bdc815a1cea57f53f', name: "plus", size: 16 })))), this.helperText && (h("div", { key: 'e807bbe38823ee148e227baaac1feafd85f93c49', class: `co-number-field__helper co-number-field__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: 'e8bc48908cb9e53952e0bffeb898d0a4b0d2fef3', name: this.statusIcon, size: 14, weight: "fill", class: "co-number-field__helper-icon" }), h("span", { key: 'c00dc9f3bd966988f6a2546a360ede337de383e4', class: "co-number-field__helper-text" }, this.helperText)))));
337
+ value: this.focused && this.inputEl ? this.inputEl.value : this.displayValue, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onPaste: this.handlePaste, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, part: "input" }), this.affixText && (h("span", { key: 'a2a7a46bc8e2ad04a4577d0ab32444deab4f4948', class: "co-number-field__affix", "aria-hidden": "true" }, this.affixText)), this.clearable && !this.isEmpty && !this.disabled && (h("button", { key: '4123b22bb2412768a68daaedf02585209f605998', class: "co-number-field__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: '103adae6937baaa8b9ce6abb8c5b4a262b18a237', name: "x-circle", size: 16, weight: "fill" }))), h("slot", { key: 'e55d3dc0bbe1fc1cb4a46356c6851f508d04e73b', name: "suffix" }), !this.hideControls && (h("button", { key: '37c01ae815d19c01dfb977175cea070486964670', class: "co-number-field__btn co-number-field__btn--plus", type: "button", tabIndex: -1, disabled: !this.canIncrement, onClick: this.handleIncrement, "aria-label": "Increase" }, h("co-icon", { key: '02d8b9b44d3a3193d8036e7ce46be922bc1304e3', name: "plus", size: 16 })))), this.helperText && (h("div", { key: '2f72a4dcdfb96e186534c7ada315dad9dbd8b874', class: `co-number-field__helper co-number-field__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: 'a7ad565fedf3799847b884f187ec8c9992ce4c0a', name: this.statusIcon, size: 14, weight: "fill", class: "co-number-field__helper-icon" }), h("span", { key: '122017cba05350b34dfbf2f9f6f7d14c41550904', class: "co-number-field__helper-text" }, this.helperText)))));
338
338
  }
339
339
  static get is() { return "co-number-field"; }
340
340
  static get encapsulation() { return "shadow"; }
@@ -698,22 +698,30 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
698
698
 
699
699
  /* ── Search ──────────────────────────────────────────────── */
700
700
  /* Caja 32px: icono lupa centrado en un box de 24px (16px + 4px por lado),
701
- * gap 6px al texto — offsets exactos del Figma (icono en x=8, texto en x=34). */
701
+ * gap 6px al texto — offsets exactos del Figma (icono en x=8, texto en x=34).
702
+ * Overridables por host (paletas con el buscador en la fila de cabecera, sin
703
+ * caja, o campo relleno suave): `--co-option-list-search-height` (32px),
704
+ * `-search-margin` (12px 12px 0), `-search-padding` (0 8px 0 4px),
705
+ * `-search-border` (1px solid border-subtle), `-search-border-focus`
706
+ * (border-focus), `-search-bg` (transparent), `-search-bg-focus` (= bg),
707
+ * `-search-radius` (radius-xs) y `-search-caret` (auto). Defaults = Figma. */
702
708
  .co-option-list__search {
703
709
  display: flex;
704
710
  align-items: center;
705
711
  gap: var(--co-spacing-sm, 6px);
706
- height: 32px;
712
+ height: var(--co-option-list-search-height, 32px);
707
713
  box-sizing: border-box;
708
- margin: var(--co-spacing-md, 12px) var(--co-spacing-md, 12px) 0;
709
- padding: 0 var(--co-spacing-sm2, 8px) 0 var(--co-spacing-xs, 4px);
710
- border: 1px solid var(--co-semantic-border-subtle, rgba(31, 28, 27, 0.08));
711
- border-radius: var(--co-border-radius-xs, 8px);
714
+ margin: var(--co-option-list-search-margin, var(--co-spacing-md, 12px) var(--co-spacing-md, 12px) 0);
715
+ padding: var(--co-option-list-search-padding, 0 var(--co-spacing-sm2, 8px) 0 var(--co-spacing-xs, 4px));
716
+ border: var(--co-option-list-search-border, 1px solid var(--co-semantic-border-subtle, rgba(31, 28, 27, 0.08)));
717
+ border-radius: var(--co-option-list-search-radius, var(--co-border-radius-xs, 8px));
718
+ background: var(--co-option-list-search-bg, transparent);
712
719
  color: var(--co-semantic-text-muted, #888888);
713
720
  }
714
721
 
715
722
  .co-option-list__search:focus-within {
716
- border-color: var(--co-semantic-border-focus, rgba(31, 28, 27, 0.25));
723
+ border-color: var(--co-option-list-search-border-focus, var(--co-semantic-border-focus, rgba(31, 28, 27, 0.25)));
724
+ background: var(--co-option-list-search-bg-focus, var(--co-option-list-search-bg, transparent));
717
725
  }
718
726
 
719
727
  .co-option-list__search co-icon {
@@ -738,6 +746,7 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
738
746
  letter-spacing: var(--co-font-letter-spacing-body, -0.03em);
739
747
  line-height: 1;
740
748
  color: var(--co-semantic-text-default, #1f1c1b);
749
+ caret-color: var(--co-option-list-search-caret, auto);
741
750
  }
742
751
 
743
752
  .co-option-list__search-input::placeholder {
@@ -752,13 +761,16 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
752
761
  max-height: var(--co-option-list-max-height, 280px);
753
762
  overflow-y: auto;
754
763
  overflow-x: hidden;
755
- padding: var(--co-spacing-md, 12px);
764
+ /* Overridable: `--co-option-list-options-padding` (default 12px) — paletas con cabecera propia que acercan la
765
+ primera sección al filtro de arriba. */
766
+ padding: var(--co-option-list-options-padding, var(--co-spacing-md, 12px));
756
767
  }
757
768
 
758
769
  .co-option-list__inner {
759
770
  display: flex;
760
771
  flex-direction: column;
761
- gap: var(--co-spacing-xxs, 2px);
772
+ /* Overridable: `--co-option-list-gap` (default 2px) — paletas con filas-tarjeta separadas. */
773
+ gap: var(--co-option-list-gap, var(--co-spacing-xxs, 2px));
762
774
  min-width: 0;
763
775
  }
764
776
 
@@ -781,14 +793,22 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
781
793
  .co-option-list__option {
782
794
  display: flex;
783
795
  align-items: center;
784
- gap: var(--co-spacing-sm2, 8px);
796
+ /* Overridable: `--co-option-list-item-gap` (default 8px) — gap entre el leading (tile/icono/avatar) y el texto;
797
+ paletas con tile tintado lo acercan (Attio: ~5px del tile al rótulo). */
798
+ gap: var(--co-option-list-item-gap, var(--co-spacing-sm2, 8px));
785
799
  min-width: 0;
786
800
  min-height: var(--co-option-list-item-min-height, 32px);
787
801
  box-sizing: border-box;
788
802
  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);
789
- border-radius: var(--co-border-radius-xs, 8px);
803
+ /* Overridables (paletas con filas-tarjeta, Attio): `--co-option-list-item-radius` (default 8px) y
804
+ `--co-option-list-item-font-size` (default 14px). */
805
+ border-radius: var(--co-option-list-item-radius, var(--co-border-radius-xs, 8px));
806
+ /* Reposo overridable (paletas con filas-tarjeta, Attio): `--co-option-list-item-bg` (default transparent) y
807
+ `--co-option-list-item-ring` (default none). La activa/seleccionada los pisa. */
808
+ background: var(--co-option-list-item-bg, transparent);
809
+ box-shadow: var(--co-option-list-item-ring, none);
790
810
  cursor: pointer;
791
- font-size: var(--co-font-size-14, 14px);
811
+ font-size: var(--co-option-list-item-font-size, var(--co-font-size-14, 14px));
792
812
  letter-spacing: var(--co-font-letter-spacing-body, -0.03em);
793
813
  color: var(--co-semantic-text-default, #1f1c1b);
794
814
  transition:
@@ -804,7 +824,8 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
804
824
  }
805
825
 
806
826
  .co-option-list__option--active {
807
- background: var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04));
827
+ background: var(--co-option-list-active-bg, var(--co-semantic-surface-hover, rgba(31, 28, 27, 0.04)));
828
+ box-shadow: var(--co-option-list-active-ring, none);
808
829
  }
809
830
 
810
831
  /* Seleccionado = mismo gris-100 del Figma; el affordance (X/check) distingue. */
@@ -828,6 +849,24 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
828
849
  margin: 0 var(--co-spacing-xs, 4px);
829
850
  }
830
851
 
852
+ /* Tile tintado (item.iconTint): 22px, mismo lenguaje que los tiles de categoría de los hosts.
853
+ * Overridables (paletas con tiles más presentes, Attio): `--co-option-list-icon-tile-size` (22px),
854
+ * `--co-option-list-icon-tile-radius` (4px), `--co-option-list-icon-tile-mix` (% del tinte en el fondo, 12%) y
855
+ * `--co-option-list-icon-tile-ring-mix` (% del tinte en el hairline interior, 0% = sin hairline). */
856
+ .co-option-list__icon-tile {
857
+ flex-shrink: 0;
858
+ display: inline-flex;
859
+ align-items: center;
860
+ justify-content: center;
861
+ width: var(--co-option-list-icon-tile-size, 22px);
862
+ height: var(--co-option-list-icon-tile-size, 22px);
863
+ margin: 0 var(--co-spacing-xxs, 2px);
864
+ border-radius: var(--co-option-list-icon-tile-radius, var(--co-border-radius-xxs, 4px));
865
+ background: color-mix(in srgb, var(--co-option-list-icon-tint) var(--co-option-list-icon-tile-mix, 12%), transparent);
866
+ box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--co-option-list-icon-tint) var(--co-option-list-icon-tile-ring-mix, 0%), transparent);
867
+ color: var(--co-option-list-icon-tint);
868
+ }
869
+
831
870
  .co-option-list__dot {
832
871
  flex-shrink: 0;
833
872
  width: 10px;
@@ -852,7 +891,8 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
852
891
  }
853
892
 
854
893
  .co-option-list__label {
855
- font-weight: 400;
894
+ /* Overridable: `--co-option-list-label-weight` (default 400) — paletas de título solo con rótulo medium. */
895
+ font-weight: var(--co-option-list-label-weight, 400);
856
896
  line-height: 1;
857
897
  overflow: hidden;
858
898
  text-overflow: ellipsis;
@@ -984,14 +1024,17 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
984
1024
  /* ── Group headers ───────────────────────────────────────── */
985
1025
  /* Figma: Geist Mono 10px uppercase, tracking 0.8px, color default. */
986
1026
  .co-option-list__group {
987
- padding: var(--co-spacing-sm2, 8px) var(--co-spacing-xs, 4px) var(--co-spacing-xs, 4px);
988
- font-family: var(--co-font-family-mono, 'Geist Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace);
989
- font-size: var(--co-font-size-10, 10px);
990
- font-weight: 400;
991
- text-transform: uppercase;
992
- letter-spacing: var(--co-font-letter-spacing-overline, 0.08em);
1027
+ /* Overridables: `--co-option-list-group-padding-top` / `-bottom` (paletas con secciones aireadas: 16/6). */
1028
+ padding: var(--co-option-list-group-padding-top, var(--co-spacing-sm2, 8px)) var(--co-spacing-xs, 4px) var(--co-option-list-group-padding-bottom, var(--co-spacing-xs, 4px));
1029
+ /* Overridables de tipografía (paletas con rótulos en sentence case): `--co-option-list-group-font-family`,
1030
+ `-font-size`, `-font-weight`, `-text-transform`, `-letter-spacing`, `-color`. Default = Figma. */
1031
+ font-family: var(--co-option-list-group-font-family, var(--co-font-family-mono, 'Geist Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace));
1032
+ font-size: var(--co-option-list-group-font-size, var(--co-font-size-10, 10px));
1033
+ font-weight: var(--co-option-list-group-font-weight, 400);
1034
+ text-transform: var(--co-option-list-group-text-transform, uppercase);
1035
+ letter-spacing: var(--co-option-list-group-letter-spacing, var(--co-font-letter-spacing-overline, 0.08em));
993
1036
  line-height: 1.1;
994
- color: var(--co-semantic-text-default, #1f1c1b);
1037
+ color: var(--co-option-list-group-color, var(--co-semantic-text-default, #1f1c1b));
995
1038
  }
996
1039
 
997
1040
  /* ── Clear row ───────────────────────────────────────────── */