@prolibu-suite/cobalt-core 0.9.6 → 0.10.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 (635) hide show
  1. package/custom-elements.json +1125 -89
  2. package/dist/cjs/co-accordion.cjs.entry.js +5 -5
  3. package/dist/cjs/co-action-bar.cjs.entry.js +2 -2
  4. package/dist/cjs/co-app-shell.cjs.entry.js +4 -4
  5. package/dist/cjs/co-audio-player.cjs.entry.js +83 -13
  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 +72 -0
  9. package/dist/cjs/co-badge.cjs.entry.js +11 -3
  10. package/dist/cjs/co-bottom-sheet.cjs.entry.js +1 -1
  11. package/dist/cjs/co-breadcrumb-item.cjs.entry.js +1 -1
  12. package/dist/cjs/co-breadcrumb.cjs.entry.js +1 -1
  13. package/dist/cjs/co-button-group.cjs.entry.js +1 -1
  14. package/dist/cjs/co-button.cjs.entry.js +2 -2
  15. package/dist/cjs/co-calendar-month_2.cjs.entry.js +55 -20
  16. package/dist/cjs/co-calendar_3.cjs.entry.js +27 -15
  17. package/dist/cjs/co-card.cjs.entry.js +1 -1
  18. package/dist/cjs/co-carousel-item.cjs.entry.js +1 -1
  19. package/dist/cjs/co-carousel.cjs.entry.js +2 -2
  20. package/dist/cjs/co-checkbox-group.cjs.entry.js +2 -2
  21. package/dist/cjs/co-checkbox.cjs.entry.js +6 -6
  22. package/dist/cjs/co-chip_2.cjs.entry.js +68 -13
  23. package/dist/cjs/co-color-picker.cjs.entry.js +1078 -27
  24. package/dist/cjs/co-column-picker.cjs.entry.js +3 -3
  25. package/dist/cjs/co-combobox.cjs.entry.js +2 -2
  26. package/dist/cjs/co-command-search.cjs.entry.js +1 -1
  27. package/dist/cjs/co-data-table-pagination.cjs.entry.js +5 -5
  28. package/dist/cjs/co-data-table.cjs.entry.js +83 -5
  29. package/dist/cjs/co-date-picker.cjs.entry.js +3 -3
  30. package/dist/cjs/co-date-range-picker.cjs.entry.js +3 -3
  31. package/dist/cjs/co-date-range.cjs.entry.js +2 -2
  32. package/dist/cjs/co-date-time-picker.cjs.entry.js +101 -130
  33. package/dist/cjs/co-drive-card.cjs.entry.js +2 -2
  34. package/dist/cjs/co-drop-zone.cjs.entry.js +2 -2
  35. package/dist/cjs/co-emoji-picker.cjs.entry.js +4 -4
  36. package/dist/cjs/co-empty-state.cjs.entry.js +4 -4
  37. package/dist/cjs/co-event-calendar.cjs.entry.js +4 -4
  38. package/dist/cjs/co-event-popover.cjs.entry.js +3 -3
  39. package/dist/cjs/co-fab.cjs.entry.js +3 -3
  40. package/dist/cjs/co-file-field.cjs.entry.js +102 -106
  41. package/dist/cjs/co-file-type-tile.cjs.entry.js +3 -3
  42. package/dist/cjs/co-helper-text.cjs.entry.js +3 -3
  43. package/dist/cjs/co-icon-button.cjs.entry.js +6 -6
  44. package/dist/cjs/co-icon.cjs.entry.js +3 -3
  45. package/dist/cjs/co-input.cjs.entry.js +32 -6
  46. package/dist/cjs/co-json-field.cjs.entry.js +5 -5
  47. package/dist/cjs/co-lightbox.cjs.entry.js +204 -21
  48. package/dist/cjs/co-list-footer.cjs.entry.js +2 -2
  49. package/dist/cjs/co-list-item.cjs.entry.js +5 -5
  50. package/dist/cjs/co-loader.cjs.entry.js +1 -1
  51. package/dist/cjs/co-media-thumb.cjs.entry.js +3 -3
  52. package/dist/cjs/co-menu-divider.cjs.entry.js +2 -2
  53. package/dist/cjs/co-menu-item.cjs.entry.js +85 -4
  54. package/dist/cjs/co-menu.cjs.entry.js +2 -2
  55. package/dist/cjs/co-modal.cjs.entry.js +10 -4
  56. package/dist/cjs/co-navbar.cjs.entry.js +4 -4
  57. package/dist/cjs/co-number-field.cjs.entry.js +272 -9
  58. package/dist/cjs/co-overlay.cjs.entry.js +6 -4
  59. package/dist/cjs/co-page-header.cjs.entry.js +2 -2
  60. package/dist/cjs/co-phone-field.cjs.entry.js +3 -3
  61. package/dist/cjs/co-popover.cjs.entry.js +58 -21
  62. package/dist/cjs/co-progress-bar.cjs.entry.js +3 -3
  63. package/dist/cjs/co-progress-circle.cjs.entry.js +3 -3
  64. package/dist/cjs/co-provider-logo_2.cjs.entry.js +47 -3
  65. package/dist/cjs/co-radio-group.cjs.entry.js +1 -1
  66. package/dist/cjs/co-radio.cjs.entry.js +4 -4
  67. package/dist/cjs/co-rating.cjs.entry.js +4 -4
  68. package/dist/cjs/co-ref-field.cjs.entry.js +104 -13
  69. package/dist/cjs/co-rich-text-editor.cjs.entry.js +11 -8
  70. package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +7 -3
  71. package/dist/cjs/co-rich-text-viewer.cjs.entry.js +4 -3
  72. package/dist/cjs/co-row.cjs.entry.js +3 -3
  73. package/dist/cjs/co-segmented-bar.cjs.entry.js +1 -1
  74. package/dist/cjs/co-select.cjs.entry.js +6 -6
  75. package/dist/cjs/co-separator.cjs.entry.js +2 -2
  76. package/dist/cjs/co-sidebar-nav.cjs.entry.js +2 -2
  77. package/dist/cjs/co-sidebar.cjs.entry.js +3 -3
  78. package/dist/cjs/co-slider.cjs.entry.js +3 -3
  79. package/dist/cjs/co-switch.cjs.entry.js +6 -6
  80. package/dist/cjs/co-tab-group.cjs.entry.js +3 -3
  81. package/dist/cjs/co-tab.cjs.entry.js +3 -3
  82. package/dist/cjs/co-tags-field.cjs.entry.js +8 -8
  83. package/dist/cjs/co-textarea.cjs.entry.js +6 -6
  84. package/dist/cjs/co-time-field.cjs.entry.js +325 -0
  85. package/dist/cjs/co-toast.cjs.entry.js +2 -2
  86. package/dist/cjs/co-toggle-button-group.cjs.entry.js +4 -4
  87. package/dist/cjs/co-toggle-button.cjs.entry.js +4 -4
  88. package/dist/cjs/{co-avatar_2.cjs.entry.js → co-tooltip.cjs.entry.js} +48 -84
  89. package/dist/cjs/co-transfer-list.cjs.entry.js +1 -1
  90. package/dist/cjs/co-video.cjs.entry.js +32 -7
  91. package/dist/cjs/cobalt.cjs.js +2 -2
  92. package/dist/cjs/color-CML2Cfdh.js +142 -0
  93. package/dist/cjs/{dateI18n-wblvKRq_.js → dateI18n-BK2qHqoC.js} +36 -0
  94. package/dist/cjs/{fieldChip-BLzo9MEV.js → fieldChip-B6YIGU1V.js} +1 -1
  95. package/dist/cjs/fileI18n-6sdbKvo6.js +88 -0
  96. package/dist/cjs/{index-DFZ5YhIT.js → index-BYwrR87Z.js} +28 -10
  97. package/dist/cjs/{index-DK-2Lzmf.js → index-MDAnKsze.js} +35 -27
  98. package/dist/cjs/loader.cjs.js +2 -2
  99. package/dist/cjs/{positioning-DCj_AJ2T.js → positioning-CyatXeT_.js} +32 -13
  100. package/dist/cjs/{requiredMark-C1xcrzSZ.js → requiredMark-D-t-IPN0.js} +1 -1
  101. package/dist/cjs/{toolbar-config-BQfWTW6P.js → toolbar-config-BSGas-Wl.js} +10 -0
  102. package/dist/cobalt/cobalt.css +1 -1
  103. package/dist/cobalt/cobalt.esm.js +1 -1
  104. package/dist/cobalt/{p-bfc2a849.entry.js → p-000a15b8.entry.js} +1 -1
  105. package/dist/cobalt/{p-f83b48fd.entry.js → p-011dc80b.entry.js} +1 -1
  106. package/dist/cobalt/{p-316c62c0.entry.js → p-0678c797.entry.js} +1 -1
  107. package/dist/cobalt/{p-43bd298d.entry.js → p-08e42e00.entry.js} +1 -1
  108. package/dist/cobalt/{p-0e91e5c4.entry.js → p-148d4aa6.entry.js} +1 -1
  109. package/dist/cobalt/{p-07d570a6.entry.js → p-16954cea.entry.js} +1 -1
  110. package/dist/cobalt/{p-d40a465f.entry.js → p-16f8cee6.entry.js} +1 -1
  111. package/dist/cobalt/{p-85a61e28.entry.js → p-17244412.entry.js} +1 -1
  112. package/dist/cobalt/{p-da546d08.entry.js → p-1dc55e43.entry.js} +1 -1
  113. package/dist/cobalt/p-239c5c5f.entry.js +1 -0
  114. package/dist/cobalt/{p-4c7e3984.entry.js → p-23ab0cc5.entry.js} +1 -1
  115. package/dist/cobalt/{p-fabe5fb2.entry.js → p-2636b7eb.entry.js} +1 -1
  116. package/dist/cobalt/{p-88a0659f.entry.js → p-27a7e549.entry.js} +1 -1
  117. package/dist/cobalt/{p-dca4cd5f.entry.js → p-28764b8e.entry.js} +1 -1
  118. package/dist/cobalt/{p-18d34b01.entry.js → p-290066ef.entry.js} +1 -1
  119. package/dist/cobalt/p-2a30c143.entry.js +1 -0
  120. package/dist/cobalt/p-2f0f3bb1.entry.js +1 -0
  121. package/dist/cobalt/{p-89e38c5e.entry.js → p-2f9cbbd5.entry.js} +1 -1
  122. package/dist/cobalt/p-2fba312b.entry.js +1 -0
  123. package/dist/cobalt/p-354d5089.entry.js +1 -0
  124. package/dist/cobalt/{p-60cb66f5.entry.js → p-37f5036b.entry.js} +1 -1
  125. package/dist/cobalt/{p-ac91259e.entry.js → p-383a998e.entry.js} +1 -1
  126. package/dist/cobalt/{p-ef5e1167.entry.js → p-3c4f7026.entry.js} +1 -1
  127. package/dist/cobalt/p-410bee4d.entry.js +1 -0
  128. package/dist/cobalt/p-416795f5.entry.js +1 -0
  129. package/dist/cobalt/{p-6795a258.entry.js → p-44c4e4a3.entry.js} +1 -1
  130. package/dist/cobalt/{p-4b083da4.entry.js → p-44ea675f.entry.js} +1 -1
  131. package/dist/cobalt/{p-2828ecf6.entry.js → p-4592ca00.entry.js} +1 -1
  132. package/dist/cobalt/{p-342e1da4.entry.js → p-4d65e713.entry.js} +1 -1
  133. package/dist/cobalt/p-56551580.entry.js +1 -0
  134. package/dist/cobalt/p-58137c9e.entry.js +1 -0
  135. package/dist/cobalt/{p-4f754c9a.entry.js → p-58d9b650.entry.js} +1 -1
  136. package/dist/cobalt/p-59963937.entry.js +1 -0
  137. package/dist/cobalt/p-5a3e4c81.entry.js +1 -0
  138. package/dist/cobalt/p-5adf117c.entry.js +1 -0
  139. package/dist/cobalt/{p-23b3ff3f.entry.js → p-5ca394b1.entry.js} +1 -1
  140. package/dist/cobalt/p-5e4973a6.entry.js +1 -0
  141. package/dist/cobalt/{p-2d329ac8.entry.js → p-623cc195.entry.js} +1 -1
  142. package/dist/cobalt/{p-8e667eb6.entry.js → p-66b11b38.entry.js} +1 -1
  143. package/dist/cobalt/{p-7e53e9c8.entry.js → p-6c82a892.entry.js} +1 -1
  144. package/dist/cobalt/{p-a6357340.entry.js → p-76249983.entry.js} +1 -1
  145. package/dist/cobalt/{p-568cfe8d.entry.js → p-789c4b3e.entry.js} +1 -1
  146. package/dist/cobalt/p-7e8e6907.entry.js +1 -0
  147. package/dist/cobalt/{p-a9b29cc2.entry.js → p-826ee074.entry.js} +1 -1
  148. package/dist/cobalt/{p-1c68bc41.entry.js → p-8471abe2.entry.js} +1 -1
  149. package/dist/cobalt/p-8f2199ff.entry.js +1 -0
  150. package/dist/cobalt/{p-c8dba82f.entry.js → p-91e73a92.entry.js} +1 -1
  151. package/dist/cobalt/p-9246e09c.entry.js +1 -0
  152. package/dist/cobalt/{p-c1e7fb32.entry.js → p-93fe45fd.entry.js} +1 -1
  153. package/dist/cobalt/{p-8f38e24d.entry.js → p-95cfcb34.entry.js} +1 -1
  154. package/dist/cobalt/{p-36197363.entry.js → p-996f4e38.entry.js} +1 -1
  155. package/dist/cobalt/{p-c5684c79.entry.js → p-9cf738ed.entry.js} +1 -1
  156. package/dist/cobalt/p-BRbgGqLw.js +1 -0
  157. package/dist/cobalt/{p-BL0sCfMH.js → p-Bryf3-Js.js} +1 -1
  158. package/dist/cobalt/p-DFHRS9cJ.js +1 -0
  159. package/dist/cobalt/{p-CrtiywTB.js → p-DH5lfRNj.js} +1 -1
  160. package/dist/{components/p-WeuPA9Rw.js → cobalt/p-DOL2zACE.js} +1 -1
  161. package/dist/cobalt/p-D_zA1Pv4.js +1 -0
  162. package/dist/cobalt/p-a2462d7a.entry.js +1 -0
  163. package/dist/cobalt/p-a325ea0c.entry.js +1 -0
  164. package/dist/cobalt/{p-fef5db54.entry.js → p-a32b20eb.entry.js} +1 -1
  165. package/dist/cobalt/p-aa9400bf.entry.js +1 -0
  166. package/dist/cobalt/{p-8eb485c8.entry.js → p-aaca6dab.entry.js} +1 -1
  167. package/dist/cobalt/p-b0c4fc71.entry.js +1 -0
  168. package/dist/cobalt/p-b5bba7fe.entry.js +1 -0
  169. package/dist/cobalt/{p-fb3a095b.entry.js → p-b821d9de.entry.js} +1 -1
  170. package/dist/cobalt/{p-b0319a2d.entry.js → p-b90d41e4.entry.js} +1 -1
  171. package/dist/cobalt/{p-ac466658.entry.js → p-be34e447.entry.js} +1 -1
  172. package/dist/cobalt/{p-1ddbc48b.entry.js → p-c124e82b.entry.js} +1 -1
  173. package/dist/cobalt/{p-95efe661.entry.js → p-c2ebf0ec.entry.js} +1 -1
  174. package/dist/cobalt/{p-54ae807d.entry.js → p-c465d619.entry.js} +1 -1
  175. package/dist/cobalt/p-c7d7d7f7.entry.js +1 -0
  176. package/dist/cobalt/{p-ab45d9bd.entry.js → p-c91d4fc6.entry.js} +1 -1
  177. package/dist/cobalt/{p-e5495539.entry.js → p-d0b2c418.entry.js} +1 -1
  178. package/dist/cobalt/{p-ce35c898.entry.js → p-d29bb0fa.entry.js} +1 -1
  179. package/dist/cobalt/{p-33ea4a90.entry.js → p-d3344187.entry.js} +1 -1
  180. package/dist/cobalt/p-d375014b.entry.js +1 -0
  181. package/dist/cobalt/p-d9d9e8ae.entry.js +1 -0
  182. package/dist/cobalt/{p-7c5e846a.entry.js → p-db805569.entry.js} +1 -1
  183. package/dist/cobalt/p-e371ec7a.entry.js +1 -0
  184. package/dist/cobalt/p-e3aae282.entry.js +1 -0
  185. package/dist/cobalt/{p-d15d3a97.entry.js → p-e4264532.entry.js} +1 -1
  186. package/dist/cobalt/{p-3f0eed59.entry.js → p-e49a564c.entry.js} +1 -1
  187. package/dist/cobalt/p-e8a2f993.entry.js +1 -0
  188. package/dist/cobalt/p-eadfd661.entry.js +1 -0
  189. package/dist/cobalt/p-eb82358d.entry.js +1 -0
  190. package/dist/cobalt/{p-2114c036.entry.js → p-eb8691f2.entry.js} +1 -1
  191. package/dist/cobalt/{p-e8878cf9.entry.js → p-ee2023da.entry.js} +1 -1
  192. package/dist/cobalt/p-ee9a623d.entry.js +1 -0
  193. package/dist/cobalt/p-ef301976.entry.js +1 -0
  194. package/dist/cobalt/p-f4e1c3c3.entry.js +1 -0
  195. package/dist/cobalt/{p-e364b8a5.entry.js → p-f57dffca.entry.js} +1 -1
  196. package/dist/cobalt/p-f6691108.entry.js +1 -0
  197. package/dist/cobalt/p-fMqVDypp.js +1 -0
  198. package/dist/cobalt/p-fb2d1144.entry.js +1 -0
  199. package/dist/cobalt/{p-0c463d9a.entry.js → p-fd150cc6.entry.js} +1 -1
  200. package/dist/cobalt/p-gKnOhsd2.js +1 -0
  201. package/dist/cobalt/p-jYd9gu_c.js +1 -0
  202. package/dist/collection/collection-manifest.json +1 -0
  203. package/dist/collection/components/co-accordion/co-accordion.css +2 -2
  204. package/dist/collection/components/co-accordion/co-accordion.js +4 -4
  205. package/dist/collection/components/co-action-bar/co-action-bar.css +9 -2
  206. package/dist/collection/components/co-app-shell/co-app-shell.css +107 -41
  207. package/dist/collection/components/co-app-shell/co-app-shell.js +2 -2
  208. package/dist/collection/components/co-audio-player/co-audio-player.js +138 -12
  209. package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
  210. package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
  211. package/dist/collection/components/co-badge/co-badge.css +18 -0
  212. package/dist/collection/components/co-badge/co-badge.js +29 -1
  213. package/dist/collection/components/co-button/co-button.css +10 -7
  214. package/dist/collection/components/co-checkbox/co-checkbox.css +12 -3
  215. package/dist/collection/components/co-checkbox/co-checkbox.js +25 -6
  216. package/dist/collection/components/co-checkbox-group/co-checkbox-group.css +1 -3
  217. package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
  218. package/dist/collection/components/co-color-picker/co-color-picker.css +252 -5
  219. package/dist/collection/components/co-color-picker/co-color-picker.js +962 -15
  220. package/dist/collection/components/co-color-picker/presets.js +113 -15
  221. package/dist/collection/components/co-column-picker/co-column-picker.js +2 -2
  222. package/dist/collection/components/co-combobox/co-combobox.js +1 -1
  223. package/dist/collection/components/co-command-search/co-command-search.js +1 -1
  224. package/dist/collection/components/co-data-table/co-data-table.css +63 -2
  225. package/dist/collection/components/co-data-table/co-data-table.js +59 -4
  226. package/dist/collection/components/co-data-table/headerTruncationLogic.js +34 -0
  227. package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.js +4 -4
  228. package/dist/collection/components/co-date-field/co-date-field.js +4 -4
  229. package/dist/collection/components/co-date-range/co-date-range.js +1 -1
  230. package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +2 -2
  231. package/dist/collection/components/co-date-time-picker/co-date-time-picker.css +128 -32
  232. package/dist/collection/components/co-date-time-picker/co-date-time-picker.js +142 -138
  233. package/dist/collection/components/co-drawer/co-drawer.css +99 -36
  234. package/dist/collection/components/co-drawer/co-drawer.js +19 -7
  235. package/dist/collection/components/co-drive-card/co-drive-card.js +1 -1
  236. package/dist/collection/components/co-drop-zone/co-drop-zone.js +1 -1
  237. package/dist/collection/components/co-emoji-picker/co-emoji-picker.js +2 -2
  238. package/dist/collection/components/co-empty-state/co-empty-state.css +28 -0
  239. package/dist/collection/components/co-empty-state/co-empty-state.js +2 -2
  240. package/dist/collection/components/co-event-calendar/co-event-calendar.js +2 -2
  241. package/dist/collection/components/co-event-popover/co-event-popover.js +1 -1
  242. package/dist/collection/components/co-fab/co-fab.js +2 -2
  243. package/dist/collection/components/co-file-field/co-file-field.css +55 -2
  244. package/dist/collection/components/co-file-field/co-file-field.js +41 -13
  245. package/dist/collection/components/co-file-field/co-file-field.utils.js +51 -4
  246. package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +2 -2
  247. package/dist/collection/components/co-helper-text/co-helper-text.js +2 -2
  248. package/dist/collection/components/co-icon/co-icon.js +2 -2
  249. package/dist/collection/components/co-icon-button/co-icon-button.css +40 -2
  250. package/dist/collection/components/co-icon-button/co-icon-button.js +43 -4
  251. package/dist/collection/components/co-input/co-input.css +33 -0
  252. package/dist/collection/components/co-input/co-input.js +42 -7
  253. package/dist/collection/components/co-json-field/co-json-field.js +3 -3
  254. package/dist/collection/components/co-lightbox/co-lightbox.css +23 -0
  255. package/dist/collection/components/co-lightbox/co-lightbox.js +209 -20
  256. package/dist/collection/components/co-list-footer/co-list-footer.js +1 -1
  257. package/dist/collection/components/co-list-item/co-list-item.js +4 -4
  258. package/dist/collection/components/co-media-thumb/co-media-thumb.js +2 -2
  259. package/dist/collection/components/co-menu/co-menu.js +1 -1
  260. package/dist/collection/components/co-menu-divider/co-menu-divider.js +1 -1
  261. package/dist/collection/components/co-menu-item/co-menu-item.css +9 -0
  262. package/dist/collection/components/co-menu-item/co-menu-item.js +67 -3
  263. package/dist/collection/components/co-modal/co-modal.css +112 -37
  264. package/dist/collection/components/co-modal/co-modal.js +35 -2
  265. package/dist/collection/components/co-navbar/co-navbar.css +4 -2
  266. package/dist/collection/components/co-navbar/co-navbar.js +2 -2
  267. package/dist/collection/components/co-number-field/co-number-field.css +22 -0
  268. package/dist/collection/components/co-number-field/co-number-field.js +216 -9
  269. package/dist/collection/components/co-option-list/co-option-list.css +25 -4
  270. package/dist/collection/components/co-option-list/co-option-list.js +56 -4
  271. package/dist/collection/components/co-option-list/optionListLogic.js +31 -8
  272. package/dist/collection/components/co-overlay/co-overlay.js +5 -3
  273. package/dist/collection/components/co-page-header/co-page-header.js +1 -1
  274. package/dist/collection/components/co-phone-field/co-phone-field.js +1 -1
  275. package/dist/collection/components/co-popover/co-popover.css +18 -3
  276. package/dist/collection/components/co-popover/co-popover.js +83 -20
  277. package/dist/collection/components/co-progress-bar/co-progress-bar.js +2 -2
  278. package/dist/collection/components/co-progress-circle/co-progress-circle.js +2 -2
  279. package/dist/collection/components/co-radio/co-radio.js +3 -3
  280. package/dist/collection/components/co-radio-group/co-radio-group.js +1 -1
  281. package/dist/collection/components/co-rating/co-rating.js +3 -3
  282. package/dist/collection/components/co-ref-field/co-ref-field.css +40 -0
  283. package/dist/collection/components/co-ref-field/co-ref-field.js +207 -11
  284. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.css +14 -1
  285. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +9 -6
  286. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +7 -3
  287. package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.js +3 -2
  288. package/dist/collection/components/co-row/co-row.js +2 -2
  289. package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +1 -1
  290. package/dist/collection/components/co-select/co-select.js +24 -5
  291. package/dist/collection/components/co-separator/co-separator.js +1 -1
  292. package/dist/collection/components/co-sidebar/co-sidebar.js +2 -2
  293. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.css +2 -2
  294. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +1 -1
  295. package/dist/collection/components/co-skeleton/co-skeleton.css +18 -0
  296. package/dist/collection/components/co-skeleton/co-skeleton.js +83 -1
  297. package/dist/collection/components/co-slider/co-slider.js +2 -2
  298. package/dist/collection/components/co-switch/co-switch.css +3 -3
  299. package/dist/collection/components/co-switch/co-switch.js +3 -3
  300. package/dist/collection/components/co-tab/co-tab.js +2 -2
  301. package/dist/collection/components/co-tab-group/co-tab-group.js +2 -2
  302. package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
  303. package/dist/collection/components/co-textarea/co-textarea.js +4 -4
  304. package/dist/collection/components/co-time-field/co-time-field.css +111 -0
  305. package/dist/collection/components/co-time-field/co-time-field.js +536 -0
  306. package/dist/collection/components/co-toast/co-toast.css +13 -7
  307. package/dist/collection/components/co-toast/co-toast.js +2 -2
  308. package/dist/collection/components/co-toggle-button/co-toggle-button.css +20 -14
  309. package/dist/collection/components/co-toggle-button/co-toggle-button.js +2 -2
  310. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.css +14 -4
  311. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +2 -2
  312. package/dist/collection/components/co-tooltip/co-tooltip.css +12 -1
  313. package/dist/collection/components/co-tooltip/co-tooltip.js +49 -16
  314. package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
  315. package/dist/collection/components/co-video/co-video.js +34 -9
  316. package/dist/collection/utils/amountText.js +95 -0
  317. package/dist/collection/utils/color.js +109 -3
  318. package/dist/collection/utils/colorPickerI18n.js +55 -0
  319. package/dist/collection/utils/dateI18n.js +36 -0
  320. package/dist/collection/utils/fileI18n.js +3 -0
  321. package/dist/collection/utils/positioning.js +37 -4
  322. package/dist/collection/utils/submenu.js +35 -0
  323. package/dist/components/co-accordion.js +1 -1
  324. package/dist/components/co-action-bar.js +1 -1
  325. package/dist/components/co-app-shell.js +1 -1
  326. package/dist/components/co-audio-player.js +1 -1
  327. package/dist/components/co-autocomplete.js +1 -1
  328. package/dist/components/co-avatar-group.js +1 -1
  329. package/dist/components/co-avatar.js +1 -1
  330. package/dist/components/co-badge.js +1 -1
  331. package/dist/components/co-breadcrumb-item.js +1 -1
  332. package/dist/components/co-breadcrumb.js +1 -1
  333. package/dist/components/co-button.js +1 -1
  334. package/dist/components/co-calendar-month.js +1 -1
  335. package/dist/components/co-calendar-timegrid.js +1 -1
  336. package/dist/components/co-calendar.js +1 -1
  337. package/dist/components/co-carousel.js +1 -1
  338. package/dist/components/co-checkbox-group.js +1 -1
  339. package/dist/components/co-checkbox.js +1 -1
  340. package/dist/components/co-chip.js +1 -1
  341. package/dist/components/co-color-picker.js +1 -1
  342. package/dist/components/co-column-picker.js +1 -1
  343. package/dist/components/co-combobox.js +1 -1
  344. package/dist/components/co-command-search.js +1 -1
  345. package/dist/components/co-data-table-pagination.js +1 -1
  346. package/dist/components/co-data-table.js +1 -1
  347. package/dist/components/co-date-field.js +1 -1
  348. package/dist/components/co-date-picker.js +1 -1
  349. package/dist/components/co-date-range-picker.js +1 -1
  350. package/dist/components/co-date-range.js +1 -1
  351. package/dist/components/co-date-time-picker.js +1 -1
  352. package/dist/components/co-drawer.js +1 -1
  353. package/dist/components/co-drive-card.js +1 -1
  354. package/dist/components/co-drop-zone.js +1 -1
  355. package/dist/components/co-emoji-picker.js +1 -1
  356. package/dist/components/co-empty-state.js +1 -1
  357. package/dist/components/co-event-calendar.js +1 -1
  358. package/dist/components/co-event-popover.js +1 -1
  359. package/dist/components/co-fab.js +1 -1
  360. package/dist/components/co-file-field.js +1 -1
  361. package/dist/components/co-file-type-tile.js +1 -1
  362. package/dist/components/co-helper-text.js +1 -1
  363. package/dist/components/co-icon-button.js +1 -1
  364. package/dist/components/co-icon.js +1 -1
  365. package/dist/components/co-input.js +1 -1
  366. package/dist/components/co-json-field.js +1 -1
  367. package/dist/components/co-lightbox.js +1 -1
  368. package/dist/components/co-list-footer.js +1 -1
  369. package/dist/components/co-list-item.js +1 -1
  370. package/dist/components/co-media-thumb.js +1 -1
  371. package/dist/components/co-menu-divider.js +1 -1
  372. package/dist/components/co-menu-item.js +1 -1
  373. package/dist/components/co-menu.js +1 -1
  374. package/dist/components/co-modal.js +1 -1
  375. package/dist/components/co-navbar.js +1 -1
  376. package/dist/components/co-number-field.js +1 -1
  377. package/dist/components/co-option-list.js +1 -1
  378. package/dist/components/co-overlay.js +1 -1
  379. package/dist/components/co-page-header.js +1 -1
  380. package/dist/components/co-phone-field.js +1 -1
  381. package/dist/components/co-popover.js +1 -1
  382. package/dist/components/co-progress-bar.js +1 -1
  383. package/dist/components/co-progress-circle.js +1 -1
  384. package/dist/components/co-radio-group.js +1 -1
  385. package/dist/components/co-radio.js +1 -1
  386. package/dist/components/co-rating.js +1 -1
  387. package/dist/components/co-ref-field.js +1 -1
  388. package/dist/components/co-rich-text-editor.js +1 -1
  389. package/dist/components/co-rich-text-toolbar.js +1 -1
  390. package/dist/components/co-rich-text-viewer.js +1 -1
  391. package/dist/components/co-row.js +1 -1
  392. package/dist/components/co-select.js +1 -1
  393. package/dist/components/co-separator.js +1 -1
  394. package/dist/components/co-sidebar-nav.js +1 -1
  395. package/dist/components/co-sidebar.js +1 -1
  396. package/dist/components/co-skeleton.js +1 -1
  397. package/dist/components/co-slider.js +1 -1
  398. package/dist/components/co-switch.js +1 -1
  399. package/dist/components/co-tab-group.js +1 -1
  400. package/dist/components/co-tab.js +1 -1
  401. package/dist/components/co-tags-field.js +1 -1
  402. package/dist/components/co-textarea.js +1 -1
  403. package/dist/components/co-time-field.d.ts +11 -0
  404. package/dist/components/co-time-field.js +1 -0
  405. package/dist/components/co-toast.js +1 -1
  406. package/dist/components/co-toggle-button-group.js +1 -1
  407. package/dist/components/co-toggle-button.js +1 -1
  408. package/dist/components/co-tooltip.js +1 -1
  409. package/dist/components/co-transfer-list.js +1 -1
  410. package/dist/components/co-video.js +1 -1
  411. package/dist/components/index.js +1 -1
  412. package/dist/components/p-7TncUlLN.js +1 -0
  413. package/dist/components/p-B4NCaKrR.js +1 -0
  414. package/dist/components/p-B9xitpGU.js +1 -0
  415. package/dist/components/{p-Dabi98BI.js → p-BGDqldEg.js} +1 -1
  416. package/dist/components/p-BRbgGqLw.js +1 -0
  417. package/dist/components/{p-BL0sCfMH.js → p-Bryf3-Js.js} +1 -1
  418. package/dist/components/{p-D6OUW6oW.js → p-CBTGN490.js} +1 -1
  419. package/dist/components/{p-P8wvwhM2.js → p-CFFDmGPS.js} +1 -1
  420. package/dist/components/p-CLsAo0-A.js +1 -0
  421. package/dist/components/{p-CA_JAK9s.js → p-CT2enQ6h.js} +1 -1
  422. package/dist/components/p-D2ldYZo1.js +1 -0
  423. package/dist/components/{p-CuZXTvDM.js → p-D3mVYO-G.js} +1 -1
  424. package/dist/components/p-DDV_bRcU.js +1 -0
  425. package/dist/components/p-DFHRS9cJ.js +1 -0
  426. package/dist/components/{p-Dj1EZ5qD.js → p-DNJAIVfI.js} +1 -1
  427. package/dist/{cobalt/p-WeuPA9Rw.js → components/p-DOL2zACE.js} +1 -1
  428. package/dist/components/p-DRP8D9ro.js +1 -0
  429. package/dist/components/p-DSnJWzQw.js +1 -0
  430. package/dist/components/p-DTi2O4O8.js +1 -0
  431. package/dist/components/p-De7w9k6_.js +1 -0
  432. package/dist/components/{p-D5EdMieb.js → p-DoHLTC0n.js} +1 -1
  433. package/dist/components/{p-Bxk96Zgc.js → p-Du_CgT5E.js} +1 -1
  434. package/dist/components/p-DxtNejr2.js +1 -0
  435. package/dist/components/{p-BHYtxTzM.js → p-HxVRXXXC.js} +1 -1
  436. package/dist/components/{p-B0Dc-I_C.js → p-NNxjElcX.js} +1 -1
  437. package/dist/components/p-gKnOhsd2.js +1 -0
  438. package/dist/components/p-jYd9gu_c.js +1 -0
  439. package/dist/components/{p-D4qzGifz.js → p-vby0ITbe.js} +1 -1
  440. package/dist/components/p-wjt4IAGZ.js +1 -0
  441. package/dist/components/p-zuhal3IZ.js +1 -0
  442. package/dist/esm/co-accordion.entry.js +5 -5
  443. package/dist/esm/co-action-bar.entry.js +2 -2
  444. package/dist/esm/co-app-shell.entry.js +4 -4
  445. package/dist/esm/co-audio-player.entry.js +83 -13
  446. package/dist/esm/co-autocomplete.entry.js +2 -2
  447. package/dist/esm/co-avatar-group.entry.js +1 -1
  448. package/dist/esm/co-avatar.entry.js +70 -0
  449. package/dist/esm/co-badge.entry.js +11 -3
  450. package/dist/esm/co-bottom-sheet.entry.js +1 -1
  451. package/dist/esm/co-breadcrumb-item.entry.js +1 -1
  452. package/dist/esm/co-breadcrumb.entry.js +1 -1
  453. package/dist/esm/co-button-group.entry.js +1 -1
  454. package/dist/esm/co-button.entry.js +2 -2
  455. package/dist/esm/co-calendar-month_2.entry.js +37 -2
  456. package/dist/esm/co-calendar_3.entry.js +27 -15
  457. package/dist/esm/co-card.entry.js +1 -1
  458. package/dist/esm/co-carousel-item.entry.js +1 -1
  459. package/dist/esm/co-carousel.entry.js +2 -2
  460. package/dist/esm/co-checkbox-group.entry.js +2 -2
  461. package/dist/esm/co-checkbox.entry.js +6 -6
  462. package/dist/esm/co-chip_2.entry.js +68 -13
  463. package/dist/esm/co-color-picker.entry.js +1078 -27
  464. package/dist/esm/co-column-picker.entry.js +3 -3
  465. package/dist/esm/co-combobox.entry.js +2 -2
  466. package/dist/esm/co-command-search.entry.js +1 -1
  467. package/dist/esm/co-data-table-pagination.entry.js +5 -5
  468. package/dist/esm/co-data-table.entry.js +83 -5
  469. package/dist/esm/co-date-picker.entry.js +3 -3
  470. package/dist/esm/co-date-range-picker.entry.js +3 -3
  471. package/dist/esm/co-date-range.entry.js +2 -2
  472. package/dist/esm/co-date-time-picker.entry.js +101 -130
  473. package/dist/esm/co-drive-card.entry.js +2 -2
  474. package/dist/esm/co-drop-zone.entry.js +2 -2
  475. package/dist/esm/co-emoji-picker.entry.js +4 -4
  476. package/dist/esm/co-empty-state.entry.js +4 -4
  477. package/dist/esm/co-event-calendar.entry.js +4 -4
  478. package/dist/esm/co-event-popover.entry.js +3 -3
  479. package/dist/esm/co-fab.entry.js +3 -3
  480. package/dist/esm/co-file-field.entry.js +95 -99
  481. package/dist/esm/co-file-type-tile.entry.js +3 -3
  482. package/dist/esm/co-helper-text.entry.js +3 -3
  483. package/dist/esm/co-icon-button.entry.js +6 -6
  484. package/dist/esm/co-icon.entry.js +3 -3
  485. package/dist/esm/co-input.entry.js +32 -6
  486. package/dist/esm/co-json-field.entry.js +5 -5
  487. package/dist/esm/co-lightbox.entry.js +204 -21
  488. package/dist/esm/co-list-footer.entry.js +2 -2
  489. package/dist/esm/co-list-item.entry.js +5 -5
  490. package/dist/esm/co-loader.entry.js +1 -1
  491. package/dist/esm/co-media-thumb.entry.js +3 -3
  492. package/dist/esm/co-menu-divider.entry.js +2 -2
  493. package/dist/esm/co-menu-item.entry.js +85 -4
  494. package/dist/esm/co-menu.entry.js +2 -2
  495. package/dist/esm/co-modal.entry.js +10 -4
  496. package/dist/esm/co-navbar.entry.js +4 -4
  497. package/dist/esm/co-number-field.entry.js +272 -9
  498. package/dist/esm/co-overlay.entry.js +6 -4
  499. package/dist/esm/co-page-header.entry.js +2 -2
  500. package/dist/esm/co-phone-field.entry.js +3 -3
  501. package/dist/esm/co-popover.entry.js +58 -21
  502. package/dist/esm/co-progress-bar.entry.js +3 -3
  503. package/dist/esm/co-progress-circle.entry.js +3 -3
  504. package/dist/esm/co-provider-logo_2.entry.js +47 -3
  505. package/dist/esm/co-radio-group.entry.js +1 -1
  506. package/dist/esm/co-radio.entry.js +4 -4
  507. package/dist/esm/co-rating.entry.js +4 -4
  508. package/dist/esm/co-ref-field.entry.js +104 -13
  509. package/dist/esm/co-rich-text-editor.entry.js +11 -8
  510. package/dist/esm/co-rich-text-toolbar.entry.js +7 -3
  511. package/dist/esm/co-rich-text-viewer.entry.js +4 -3
  512. package/dist/esm/co-row.entry.js +3 -3
  513. package/dist/esm/co-segmented-bar.entry.js +1 -1
  514. package/dist/esm/co-select.entry.js +6 -6
  515. package/dist/esm/co-separator.entry.js +2 -2
  516. package/dist/esm/co-sidebar-nav.entry.js +2 -2
  517. package/dist/esm/co-sidebar.entry.js +3 -3
  518. package/dist/esm/co-slider.entry.js +3 -3
  519. package/dist/esm/co-switch.entry.js +6 -6
  520. package/dist/esm/co-tab-group.entry.js +3 -3
  521. package/dist/esm/co-tab.entry.js +3 -3
  522. package/dist/esm/co-tags-field.entry.js +8 -8
  523. package/dist/esm/co-textarea.entry.js +6 -6
  524. package/dist/esm/co-time-field.entry.js +323 -0
  525. package/dist/esm/co-toast.entry.js +2 -2
  526. package/dist/esm/co-toggle-button-group.entry.js +4 -4
  527. package/dist/esm/co-toggle-button.entry.js +4 -4
  528. package/dist/esm/{co-avatar_2.entry.js → co-tooltip.entry.js} +49 -84
  529. package/dist/esm/co-transfer-list.entry.js +1 -1
  530. package/dist/esm/co-video.entry.js +32 -7
  531. package/dist/esm/cobalt.js +3 -3
  532. package/dist/esm/color-BRbgGqLw.js +136 -0
  533. package/dist/esm/{dateI18n-CnNpoKwg.js → dateI18n-jYd9gu_c.js} +36 -0
  534. package/dist/esm/{fieldChip-DsAfq1e0.js → fieldChip-uyggU8VV.js} +1 -1
  535. package/dist/esm/fileI18n-gKnOhsd2.js +84 -0
  536. package/dist/esm/{index-RuXxdKzC.js → index-68iUQp5j.js} +28 -10
  537. package/dist/esm/{index-CrtiywTB.js → index-DH5lfRNj.js} +35 -27
  538. package/dist/esm/loader.js +3 -3
  539. package/dist/esm/{positioning-BMdapAL8.js → positioning-DFHRS9cJ.js} +32 -13
  540. package/dist/esm/{requiredMark-DCD-ZA51.js → requiredMark-BCJUuZvC.js} +1 -1
  541. package/dist/esm/{toolbar-config-WeuPA9Rw.js → toolbar-config-DOL2zACE.js} +10 -0
  542. package/dist/types/components/co-accordion/co-accordion.d.ts +6 -0
  543. package/dist/types/components/co-audio-player/co-audio-player.d.ts +25 -0
  544. package/dist/types/components/co-badge/co-badge.d.ts +7 -0
  545. package/dist/types/components/co-checkbox/co-checkbox.d.ts +5 -1
  546. package/dist/types/components/co-color-picker/co-color-picker.d.ts +360 -4
  547. package/dist/types/components/co-color-picker/presets.d.ts +107 -4
  548. package/dist/types/components/co-data-table/co-data-table.d.ts +15 -0
  549. package/dist/types/components/co-data-table/headerTruncationLogic.d.ts +24 -0
  550. package/dist/types/components/co-date-time-picker/co-date-time-picker.d.ts +43 -21
  551. package/dist/types/components/co-drawer/co-drawer.d.ts +4 -3
  552. package/dist/types/components/co-file-field/co-file-field.d.ts +14 -0
  553. package/dist/types/components/co-file-field/co-file-field.utils.d.ts +18 -1
  554. package/dist/types/components/co-icon-button/co-icon-button.d.ts +9 -0
  555. package/dist/types/components/co-input/co-input.d.ts +9 -1
  556. package/dist/types/components/co-lightbox/co-lightbox.d.ts +60 -4
  557. package/dist/types/components/co-menu-item/co-menu-item.d.ts +16 -0
  558. package/dist/types/components/co-modal/co-modal.d.ts +10 -0
  559. package/dist/types/components/co-number-field/co-number-field.d.ts +42 -1
  560. package/dist/types/components/co-option-list/co-option-list.d.ts +16 -0
  561. package/dist/types/components/co-option-list/optionListLogic.d.ts +23 -6
  562. package/dist/types/components/co-overlay/co-overlay.d.ts +4 -2
  563. package/dist/types/components/co-popover/co-popover.d.ts +16 -0
  564. package/dist/types/components/co-ref-field/co-ref-field.d.ts +38 -0
  565. package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +1 -1
  566. package/dist/types/components/co-select/co-select.d.ts +6 -0
  567. package/dist/types/components/co-skeleton/co-skeleton.d.ts +13 -0
  568. package/dist/types/components/co-time-field/co-time-field.d.ts +60 -0
  569. package/dist/types/components/co-tooltip/co-tooltip.d.ts +5 -0
  570. package/dist/types/components/co-video/co-video.d.ts +4 -0
  571. package/dist/types/components.d.ts +530 -90
  572. package/dist/types/utils/amountText.d.ts +34 -0
  573. package/dist/types/utils/color.d.ts +44 -1
  574. package/dist/types/utils/colorPickerI18n.d.ts +26 -0
  575. package/dist/types/utils/dateI18n.d.ts +12 -0
  576. package/dist/types/utils/fileI18n.d.ts +1 -0
  577. package/dist/types/utils/positioning.d.ts +10 -0
  578. package/dist/types/utils/submenu.d.ts +44 -0
  579. package/package.json +3 -3
  580. package/dist/cjs/color-YhUkm10t.js +0 -32
  581. package/dist/cjs/time-LBHtzLHe.js +0 -42
  582. package/dist/cobalt/p-07904986.entry.js +0 -1
  583. package/dist/cobalt/p-09799193.entry.js +0 -1
  584. package/dist/cobalt/p-17ae943c.entry.js +0 -1
  585. package/dist/cobalt/p-23a103a0.entry.js +0 -1
  586. package/dist/cobalt/p-2f88d151.entry.js +0 -1
  587. package/dist/cobalt/p-3495fda1.entry.js +0 -1
  588. package/dist/cobalt/p-409f28bb.entry.js +0 -1
  589. package/dist/cobalt/p-682b3313.entry.js +0 -1
  590. package/dist/cobalt/p-6bf814f9.entry.js +0 -1
  591. package/dist/cobalt/p-7532c739.entry.js +0 -1
  592. package/dist/cobalt/p-76420ac1.entry.js +0 -1
  593. package/dist/cobalt/p-7c88163e.entry.js +0 -1
  594. package/dist/cobalt/p-7cf4b4ae.entry.js +0 -1
  595. package/dist/cobalt/p-7ea87b75.entry.js +0 -1
  596. package/dist/cobalt/p-8183f56f.entry.js +0 -1
  597. package/dist/cobalt/p-8345b25f.entry.js +0 -1
  598. package/dist/cobalt/p-93c68029.entry.js +0 -1
  599. package/dist/cobalt/p-983af614.entry.js +0 -1
  600. package/dist/cobalt/p-BG4WRR22.js +0 -1
  601. package/dist/cobalt/p-BMdapAL8.js +0 -1
  602. package/dist/cobalt/p-CF8OB_TM.js +0 -1
  603. package/dist/cobalt/p-CnNpoKwg.js +0 -1
  604. package/dist/cobalt/p-T4la7ly_.js +0 -1
  605. package/dist/cobalt/p-a2d31248.entry.js +0 -1
  606. package/dist/cobalt/p-a6b5cadd.entry.js +0 -1
  607. package/dist/cobalt/p-a8c64cc3.entry.js +0 -1
  608. package/dist/cobalt/p-b8581787.entry.js +0 -1
  609. package/dist/cobalt/p-bcedbd73.entry.js +0 -1
  610. package/dist/cobalt/p-da18b5f4.entry.js +0 -1
  611. package/dist/cobalt/p-dea43204.entry.js +0 -1
  612. package/dist/cobalt/p-dfcf667d.entry.js +0 -1
  613. package/dist/cobalt/p-dfd25f1d.entry.js +0 -1
  614. package/dist/cobalt/p-e6882ddd.entry.js +0 -1
  615. package/dist/cobalt/p-e84eda2e.entry.js +0 -1
  616. package/dist/cobalt/p-f25967fb.entry.js +0 -1
  617. package/dist/cobalt/p-f5f1b463.entry.js +0 -1
  618. package/dist/cobalt/p-fd39f410.entry.js +0 -1
  619. package/dist/cobalt/p-mAGnZXRn.js +0 -1
  620. package/dist/components/p-BMdapAL8.js +0 -1
  621. package/dist/components/p-BTQEg3UO.js +0 -1
  622. package/dist/components/p-Bbny3WUc.js +0 -1
  623. package/dist/components/p-Bz0QZqnB.js +0 -1
  624. package/dist/components/p-CF8OB_TM.js +0 -1
  625. package/dist/components/p-CR0izsJC.js +0 -1
  626. package/dist/components/p-CnNpoKwg.js +0 -1
  627. package/dist/components/p-DI1ek0EB.js +0 -1
  628. package/dist/components/p-DP0bbhfN.js +0 -1
  629. package/dist/components/p-D_9BRkj6.js +0 -1
  630. package/dist/components/p-DbipMAyT.js +0 -1
  631. package/dist/components/p-DgUBcJIS.js +0 -1
  632. package/dist/components/p-DolCkNsL.js +0 -1
  633. package/dist/components/p-hfGFsvaD.js +0 -1
  634. package/dist/esm/color-BG4WRR22.js +0 -30
  635. package/dist/esm/time-CF8OB_TM.js +0 -37
@@ -681,7 +681,15 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
681
681
  * Figma original, 2026-07-29: a 12px el texto quedaba ilegible en paneles
682
682
  * densos como el picker de campos del filtro avanzado).
683
683
  * Todos los var() llevan fallback literal: el host puede tener un build de
684
- * tokens viejo sin los tokens nuevos (font-size-12, spacing-sm2, mono…). */
684
+ * tokens viejo sin los tokens nuevos (font-size-12, spacing-sm2, mono…).
685
+ * Overridables por host (además de `--co-option-list-max-height`, documentada
686
+ * junto a `.co-option-list__options`): `--co-option-list-item-min-height`
687
+ * (default 32px, fila más alta — p.ej. filas de dos líneas con precio),
688
+ * `--co-option-list-item-padding-y` (default `--co-spacing-xs`, padding
689
+ * vertical de la fila) y `--co-option-list-text-gap` (default
690
+ * `--co-spacing-xxs`, gap entre título y descripción). Ninguna afecta el
691
+ * pitch fijo 34 de `.co-option-list__spacer .co-option-list__option`
692
+ * (virtualización — ver comentario en esa regla). */
685
693
  .co-option-list {
686
694
  display: flex;
687
695
  flex-direction: column;
@@ -775,9 +783,9 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
775
783
  align-items: center;
776
784
  gap: var(--co-spacing-sm2, 8px);
777
785
  min-width: 0;
778
- min-height: 32px;
786
+ min-height: var(--co-option-list-item-min-height, 32px);
779
787
  box-sizing: border-box;
780
- padding: var(--co-spacing-xs, 4px) var(--co-spacing-sm2, 8px) var(--co-spacing-xs, 4px) var(--co-spacing-xs, 4px);
788
+ 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);
781
789
  border-radius: var(--co-border-radius-xs, 8px);
782
790
  cursor: pointer;
783
791
  font-size: var(--co-font-size-14, 14px);
@@ -831,7 +839,7 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
831
839
  .co-option-list__text {
832
840
  display: flex;
833
841
  flex-direction: column;
834
- gap: var(--co-spacing-xxs, 2px);
842
+ gap: var(--co-option-list-text-gap, var(--co-spacing-xxs, 2px));
835
843
  flex: 1;
836
844
  min-width: 0;
837
845
  }
@@ -859,6 +867,19 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
859
867
  flex-shrink: 1;
860
868
  }
861
869
 
870
+ /* suffixAlign="end": el suffix sale del título y pinta como columna a la
871
+ * derecha de la fila (precio/meta) — sin el guion inline, alineado y con
872
+ * cifras tabulares para que varias filas apiladas no "bailen". */
873
+ .co-option-list__suffix--end {
874
+ flex-shrink: 0;
875
+ margin-left: auto;
876
+ text-align: right;
877
+ white-space: nowrap;
878
+ font-size: var(--co-font-size-13, 13px);
879
+ color: var(--co-semantic-text-default, #1f1c1b);
880
+ font-variant-numeric: tabular-nums;
881
+ }
882
+
862
883
  .co-option-list__badge {
863
884
  flex-shrink: 0;
864
885
  padding: 0 var(--co-spacing-xs, 4px);
@@ -1,7 +1,7 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { highlightMatch } from "../../utils/normalizeText";
3
3
  import { initOverlayScroll } from "../../utils/overlayScroll";
4
- import { buildRows, deriveMore, listReorderIds, liveSelectedOrder, nextActiveIndex, orderItems, parseItems, parseValue, selectedActiveIndex, virtualSlice, VIRTUAL_ITEM_HEIGHT, VIRTUAL_VIEWPORT_ITEMS, } from "./optionListLogic";
4
+ import { buildRows, deriveMore, listReorderIds, liveSelectedOrder, nextActiveIndex, orderItems, parseItems, parseValue, selectedActiveIndex, shouldResnapshotOnTerm, virtualSlice, VIRTUAL_ITEM_HEIGHT, VIRTUAL_VIEWPORT_ITEMS, } from "./optionListLogic";
5
5
  /**
6
6
  * Núcleo de lista de opciones — la única fuente del look & behavior de los
7
7
  * dropdowns Cobalt (co-ref-field, co-combobox, co-autocomplete,
@@ -60,6 +60,9 @@ export class CoOptionList {
60
60
  /** Término externo para highlight (input en el host, p.ej. ⌘K). */
61
61
  this.highlightTerm = '';
62
62
  this.avatarShape = 'circle';
63
+ /** `end` pinta el suffix como columna a la derecha de la fila (precio/meta),
64
+ * sin el guion; `inline` = junto al label (default). */
65
+ this.suffixAlign = 'inline';
63
66
  // ── Navegación ─────────────────────────────────────────────
64
67
  /** Auto-resalta la primera fila navegable al montar y en cada cambio de
65
68
  * items (paridad command-palette: tipear + Enter = primer resultado).
@@ -103,10 +106,15 @@ export class CoOptionList {
103
106
  };
104
107
  this.onSearchInput = (e) => {
105
108
  const v = e.target.value;
109
+ // Al volver a la lista completa el bloque selected-first se rearma con lo que
110
+ // se seleccionó durante la sesión del panel (ver shouldResnapshotOnTerm).
111
+ const resnapshot = shouldResnapshotOnTerm(this.term, v);
106
112
  this.term = v;
107
113
  this.activeIndex = -1;
108
114
  // Resultset nuevo: re-habilita fillViewport aunque venga del mismo largo.
109
115
  this.lastFillLen = -1;
116
+ if (resnapshot)
117
+ this.takeSnapshot();
110
118
  if (this.debounceTimer)
111
119
  clearTimeout(this.debounceTimer);
112
120
  this.debounceTimer = setTimeout(() => this.coSearch.emit(v), this.searchDebounce);
@@ -277,6 +285,27 @@ export class CoOptionList {
277
285
  this.scrollTop = maxScrollTop;
278
286
  }
279
287
  }
288
+ /**
289
+ * Selected-first VIVO (decisión de producto 2026-09-14, campo Colaboradores):
290
+ * la partición sigue a `value` — marcar un ítem lo sube al bloque de
291
+ * seleccionados al instante y desmarcarlo lo devuelve a su lugar del orden del
292
+ * server. Reemplaza el snapshot congelado al abrir (evitaba saltos, pero se
293
+ * leía como "no pasó nada" al elegir). El reacomodo se anima con el mismo FLIP
294
+ * del reorder: tops capturados ANTES de re-particionar, runFlip corre en
295
+ * componentDidRender. El highlight de teclado se queda sobre el MISMO ítem
296
+ * (Enter sobre una fila la mueve; el índice viejo apuntaría a otra fila).
297
+ * Tras un drop del reorder el host manda el value en el orden del preview:
298
+ * mismo orden → deltas 0 → no-op visual.
299
+ */
300
+ onValueChange() {
301
+ var _a;
302
+ if (!this.selectedFirst)
303
+ return;
304
+ const activeId = this.activeIndex >= 0 ? (_a = this.orderedItems[this.activeIndex]) === null || _a === void 0 ? void 0 : _a._id : undefined;
305
+ this.pendingFlip = { tops: this.captureRowTops(), movedId: '', spring: false };
306
+ this.takeSnapshot();
307
+ this.activeIndex = activeId ? this.orderedItems.findIndex((i) => i._id === activeId) : -1;
308
+ }
280
309
  // ── Métodos públicos ───────────────────────────────────────
281
310
  /** Re-toma el snapshot selected-first. El host la llama al abrir su panel. */
282
311
  async snapshotOrder() {
@@ -699,7 +728,7 @@ export class CoOptionList {
699
728
  'co-option-list__option--lifted': !this.listDragActive && this.dragKey === item._id,
700
729
  'co-option-list__option--drop-before': this.listDragActive && this.overKey === item._id && !this.dropAfter,
701
730
  'co-option-list__option--drop-after': this.listDragActive && this.overKey === item._id && this.dropAfter,
702
- }, key: item._id, id: `co-optlist-${index}`, "data-id": item._id, role: "option", "aria-selected": isSelected ? 'true' : 'false', "aria-disabled": item.disabled ? 'true' : 'false', draggable: listDragRow && this.armedKey === item._id, onClick: () => !item.disabled && this.pick(item), onMouseEnter: () => { this.activeIndex = index; }, onDragStart: listDragRow ? (e) => this.handleRowDragStart(e, item._id) : undefined, onDragOver: listDragRow ? (e) => this.handleRowDragOver(e, item._id) : undefined, onDrop: listDragRow ? (e) => this.handleRowDrop(e, item._id) : undefined, onDragEnd: listDragRow ? this.handleRowDragEnd : undefined, onDragLeave: listDragRow ? (e) => this.handleRowDragLeave(e, item._id) : undefined }, (ptrDragRow || listDragRow) && (h("span", { class: "co-option-list__drag-handle", part: "drag-handle", title: "Drag to reorder", onMouseDown: listDragRow ? () => (this.armedKey = item._id) : undefined, onPointerDown: ptrDragRow ? (e) => this.startPointerDrag(e, item._id) : undefined, onClick: (e) => e.stopPropagation() }, h("co-icon", { name: "dots-six-vertical", size: 16 }))), this.renderLeading(item), h("div", { class: "co-option-list__text" }, h("span", { class: "co-option-list__title" }, h("span", { class: "co-option-list__label", style: item.labelColor ? { color: item.labelColor, fontWeight: '600' } : undefined }, this.renderLabelText(item.label)), item.suffix && h("span", { class: "co-option-list__suffix" }, "- ", item.suffix), item.badge && this.renderBadge(item.badge)), item.description && h("span", { class: "co-option-list__desc" }, item.description)), this.pinnable && (h("button", { class: { 'co-option-list__pin': true, 'co-option-list__pin--active': !!item.pinned }, type: "button", tabIndex: -1, "aria-label": item.pinned ? `Unpin ${item.label}` : `Pin ${item.label}`, "aria-pressed": item.pinned ? 'true' : 'false', onClick: (e) => { e.stopPropagation(); this.coPinToggle.emit({ item }); } }, h("co-icon", { name: "push-pin", size: 16, weight: item.pinned ? 'fill' : 'regular' }))), isSelected && this.removableItems && this.multiple && (h("button", { class: "co-option-list__row-action", type: "button", tabIndex: -1, "aria-label": `Remove ${item.label}`, onClick: (e) => { e.stopPropagation(); this.coRemoveItem.emit(item._id); } }, h("co-icon", { name: "x-circle", size: 16, weight: "fill" }))), isSelected && !this.removableItems && this.selectedAffordance === 'deselect' && (h("button", { class: "co-option-list__row-action", type: "button", tabIndex: -1, "aria-label": `Deselect ${item.label}`, onClick: (e) => { e.stopPropagation(); this.deselectItem(item); } }, h("co-icon", { name: "x-circle", size: 16, weight: "fill" }))), isSelected && !this.removableItems && this.selectedAffordance === 'check' && (h("co-icon", { name: "check", size: 16, class: "co-option-list__check" }))));
731
+ }, key: item._id, id: `co-optlist-${index}`, "data-id": item._id, role: "option", "aria-selected": isSelected ? 'true' : 'false', "aria-disabled": item.disabled ? 'true' : 'false', draggable: listDragRow && this.armedKey === item._id, onClick: () => !item.disabled && this.pick(item), onMouseEnter: () => { this.activeIndex = index; }, onDragStart: listDragRow ? (e) => this.handleRowDragStart(e, item._id) : undefined, onDragOver: listDragRow ? (e) => this.handleRowDragOver(e, item._id) : undefined, onDrop: listDragRow ? (e) => this.handleRowDrop(e, item._id) : undefined, onDragEnd: listDragRow ? this.handleRowDragEnd : undefined, onDragLeave: listDragRow ? (e) => this.handleRowDragLeave(e, item._id) : undefined }, (ptrDragRow || listDragRow) && (h("span", { class: "co-option-list__drag-handle", part: "drag-handle", title: "Drag to reorder", onMouseDown: listDragRow ? () => (this.armedKey = item._id) : undefined, onPointerDown: ptrDragRow ? (e) => this.startPointerDrag(e, item._id) : undefined, onClick: (e) => e.stopPropagation() }, h("co-icon", { name: "dots-six-vertical", size: 16 }))), this.renderLeading(item), h("div", { class: "co-option-list__text" }, h("span", { class: "co-option-list__title" }, h("span", { class: "co-option-list__label", style: item.labelColor ? { color: item.labelColor, fontWeight: '600' } : undefined }, this.renderLabelText(item.label)), item.suffix && this.suffixAlign !== 'end' && h("span", { class: "co-option-list__suffix" }, "- ", item.suffix), item.badge && this.renderBadge(item.badge)), item.description && h("span", { class: "co-option-list__desc" }, item.description)), item.suffix && this.suffixAlign === 'end' && h("span", { class: "co-option-list__suffix co-option-list__suffix--end" }, item.suffix), this.pinnable && (h("button", { class: { 'co-option-list__pin': true, 'co-option-list__pin--active': !!item.pinned }, type: "button", tabIndex: -1, "aria-label": item.pinned ? `Unpin ${item.label}` : `Pin ${item.label}`, "aria-pressed": item.pinned ? 'true' : 'false', onClick: (e) => { e.stopPropagation(); this.coPinToggle.emit({ item }); } }, h("co-icon", { name: "push-pin", size: 16, weight: item.pinned ? 'fill' : 'regular' }))), isSelected && this.removableItems && this.multiple && (h("button", { class: "co-option-list__row-action", type: "button", tabIndex: -1, "aria-label": `Remove ${item.label}`, onClick: (e) => { e.stopPropagation(); this.coRemoveItem.emit(item._id); } }, h("co-icon", { name: "x-circle", size: 16, weight: "fill" }))), isSelected && !this.removableItems && this.selectedAffordance === 'deselect' && (h("button", { class: "co-option-list__row-action", type: "button", tabIndex: -1, "aria-label": `Deselect ${item.label}`, onClick: (e) => { e.stopPropagation(); this.deselectItem(item); } }, h("co-icon", { name: "x-circle", size: 16, weight: "fill" }))), isSelected && !this.removableItems && this.selectedAffordance === 'check' && (h("co-icon", { name: "check", size: 16, class: "co-option-list__check" }))));
703
732
  }
704
733
  renderVirtual(items, selectedIds) {
705
734
  const { totalHeight, startIdx, endIdx, offsetY } = virtualSlice(this.scrollTop, items.length);
@@ -710,11 +739,11 @@ export class CoOptionList {
710
739
  const selectedIds = this.selectedIds;
711
740
  const { hasMore, remaining } = deriveMore(this.parsedItems.length, this.total, this.hasMore);
712
741
  const showClear = !!this.clearOptionLabel && selectedIds.length > 0;
713
- return (h("div", { key: 'a5754821517230b914fd9f23b024afc523e4ee9d', class: "co-option-list", onKeyDown: this.onRootKeyDown }, this.searchable && (h("div", { key: '9988f2e6834b5c8cf4c4832d609fb6665c9a46cc', class: "co-option-list__search", part: "search" }, h("co-icon", { key: '8b8f2e72fb6f9aa9b498455757aefe943627af80', name: "magnifying-glass", size: 16 }), h("input", { key: 'e434b657655cb855ef77611671db90a7e8f78850', class: "co-option-list__search-input", type: "text", placeholder: this.searchPlaceholder, value: this.term, onInput: this.onSearchInput, ref: (el) => (this.searchInputEl = el), role: "combobox", "aria-expanded": "true", "aria-autocomplete": "list" }))), h("div", { key: '9e3c8ff1cb005274b74cf50b1c8db469958bbfc0', class: "co-option-list__options", part: "options", role: "listbox", "aria-multiselectable": this.multiple ? 'true' : 'false', ref: (el) => (this.optionsEl = el), onScroll: this.onNativeScroll }, h("div", { key: '8087c3de1d857b562918a358f98a7a195cbe66d7', class: "co-option-list__inner" }, showClear && (h("button", { key: 'b067aedd7e0dbb29db12c35d0d217147359bc5f7', class: "co-option-list__clear-row", type: "button", onClick: () => this.coClearSelection.emit() }, h("co-icon", { key: '406e84a7bcc5d8509383527caa0f49d5f93fda53', name: "x-circle", size: 14 }), h("span", { key: '9347b010b58d51363a68aab65781cae7de31cca1' }, this.clearOptionLabel))), this.loading && items.length === 0 && (h("div", { key: '774fcb348a3553a945b70de822621ee24e410808', class: "co-option-list__loading" }, h("co-loader", { key: 'f760bf3ec0b27cfd0c57e2a56a613b8390faa935', size: "sm" }))), !this.loading && items.length === 0 && (h("div", { key: 'f018550513d4057bdbddaf64846ba7d4cd016a45', class: "co-option-list__empty" }, h("co-icon", { key: '7925a8b7c385389b1d59548d5d550a0d7f0d163e', name: "magnifying-glass", size: 20 }), h("span", { key: 'b31e52eef274434599db7ff217a9bfc634ebdf7f' }, this.emptyMessage))), items.length > 0 && this.virtual
742
+ return (h("div", { key: '3d1df259b90836a6a125627e850ff2d2e1556d4c', class: "co-option-list", onKeyDown: this.onRootKeyDown }, this.searchable && (h("div", { key: '181a0c89ff38821301c0728f4eb5edb9c4e11b2d', class: "co-option-list__search", part: "search" }, h("co-icon", { key: 'cac54346c457d884fbbc1257b00dbe932e5419ca', name: "magnifying-glass", size: 16 }), h("input", { key: 'bbc27b7821651189718cf763e689dd08e6fa0050', class: "co-option-list__search-input", type: "text", placeholder: this.searchPlaceholder, value: this.term, onInput: this.onSearchInput, ref: (el) => (this.searchInputEl = el), role: "combobox", "aria-expanded": "true", "aria-autocomplete": "list" }))), h("div", { key: '993c2308c9d6e1958f8f3ddc73b08e9ebc0bd409', class: "co-option-list__options", part: "options", role: "listbox", "aria-multiselectable": this.multiple ? 'true' : 'false', ref: (el) => (this.optionsEl = el), onScroll: this.onNativeScroll }, h("div", { key: '458e04427d5dd6a4e74537483b18d8e4ba9c71a5', class: "co-option-list__inner" }, showClear && (h("button", { key: '03d067e6a79dfb51f39aa52ad8b7b6464aa2f37d', class: "co-option-list__clear-row", type: "button", onClick: () => this.coClearSelection.emit() }, h("co-icon", { key: '394b7c318f942d74cb7d68859aa54fce5ed2dc58', name: "x-circle", size: 14 }), h("span", { key: '3dd47de0ed422bb5dd3a3c63ac7dc3936578fdaa' }, this.clearOptionLabel))), this.loading && items.length === 0 && (h("div", { key: '02dae3b4322ce67325617870c090fd3f3946f8c1', class: "co-option-list__loading" }, h("co-loader", { key: 'aaa67b4cf0f37be7364cbd00f2b156bed4018c13', size: "sm" }))), !this.loading && items.length === 0 && (h("div", { key: 'caa5a5b33817577084b9e82a40f97632972e5068', class: "co-option-list__empty" }, h("co-icon", { key: '0cd622efe4ea8bc4483322b4a81c5e3a254f08ab', name: "magnifying-glass", size: 20 }), h("span", { key: 'ca1fb6cf98eacba682f308f610befe6f9da9edd2' }, this.emptyMessage))), items.length > 0 && this.virtual
714
743
  ? this.renderVirtual(items, selectedIds)
715
744
  : buildRows(items).map((row) => row.kind === 'header'
716
745
  ? h("div", { class: "co-option-list__group", role: "presentation" }, row.label)
717
- : this.renderRow(row.item, row.index, selectedIds)), this.loading && items.length > 0 && (h("div", { key: '7de231a83a96a2aca0cb240a68c3c9e6ab9b475c', class: "co-option-list__loading-more" }, h("co-loader", { key: '087234fb45c3cbea3bd3f2888957d3b2751753ad', size: "sm" }))), !this.loading && hasMore && remaining > 0 && (h("div", { key: '456bc75bb53a3f0d01f7fd850ca4b8227baf326d', class: "co-option-list__more" }, remaining, " more results")))), h("slot", { key: '2935b1dd65ec2409c18c3f72e0200d5ed1c19323', name: "footer" })));
746
+ : this.renderRow(row.item, row.index, selectedIds)), this.loading && items.length > 0 && (h("div", { key: '7e9ce17adba91610cf8c2b4c7c1d544db4879122', class: "co-option-list__loading-more" }, h("co-loader", { key: '974bc5404e175c89f6a1972900f2e3b8e2d95373', size: "sm" }))), !this.loading && hasMore && remaining > 0 && (h("div", { key: '34261e4bf8349cd4973a642d7137e72f80c2a867', class: "co-option-list__more" }, remaining, " more results")))), h("slot", { key: 'e350a3a8e731f6d2bb609c84cd0e601e93e6b063', name: "footer" })));
718
747
  }
719
748
  static get is() { return "co-option-list"; }
720
749
  static get encapsulation() { return "shadow"; }
@@ -1204,6 +1233,26 @@ export class CoOptionList {
1204
1233
  "attribute": "avatar-shape",
1205
1234
  "defaultValue": "'circle'"
1206
1235
  },
1236
+ "suffixAlign": {
1237
+ "type": "string",
1238
+ "mutable": false,
1239
+ "complexType": {
1240
+ "original": "'inline' | 'end'",
1241
+ "resolved": "\"end\" | \"inline\"",
1242
+ "references": {}
1243
+ },
1244
+ "required": false,
1245
+ "optional": false,
1246
+ "docs": {
1247
+ "tags": [],
1248
+ "text": "`end` pinta el suffix como columna a la derecha de la fila (precio/meta),\nsin el guion; `inline` = junto al label (default)."
1249
+ },
1250
+ "getter": false,
1251
+ "setter": false,
1252
+ "reflect": true,
1253
+ "attribute": "suffix-align",
1254
+ "defaultValue": "'inline'"
1255
+ },
1207
1256
  "autoHighlight": {
1208
1257
  "type": "boolean",
1209
1258
  "mutable": false,
@@ -1478,6 +1527,9 @@ export class CoOptionList {
1478
1527
  return [{
1479
1528
  "propName": "items",
1480
1529
  "methodName": "onItemsChange"
1530
+ }, {
1531
+ "propName": "value",
1532
+ "methodName": "onValueChange"
1481
1533
  }];
1482
1534
  }
1483
1535
  }
@@ -28,12 +28,13 @@ export function parseValue(raw) {
28
28
  * snapshotDisplay los que la página actual no contiene) + resto en orden de
29
29
  * server; buscando → solo resultados reales, seleccionados primero.
30
30
  *
31
- * Invariante: todo id en `snapshotIds` DEBE tener una entrada correspondiente
32
- * en `snapshotDisplay` (armado por el caller desde selectedItems ∪ items al
33
- * tomar el snapshot). Un id sin display-item asociado se cae silenciosamente
34
- * de la lista en modo idle (el `byId.get(d._id) ?? d` sintetiza desde el
35
- * display-item mismo, pero no hay nada que sintetizar si el id nunca entró a
36
- * snapshotDisplay en primer lugar).
31
+ * El bloque idle se recorre por `snapshotIds` (Set ordenado por selección, igual
32
+ * que `snapshotDisplay`) resolviendo cada id contra la página primero y contra el
33
+ * display después. Así un seleccionado AUSENTE de `snapshotDisplay` pero presente
34
+ * en `items` sigue en la lista: `rest` filtra todo id del snapshot, así que sin
35
+ * esa resolución desaparecía de la lista entera, no sólo del bloque de arriba.
36
+ * Un id que no está en ninguna de las dos fuentes no tiene nada que pintar y se
37
+ * ignora (no hay label que mostrar).
37
38
  */
38
39
  export function orderItems(items, snapshotIds, snapshotDisplay, searching) {
39
40
  var _a;
@@ -42,8 +43,12 @@ export function orderItems(items, snapshotIds, snapshotDisplay, searching) {
42
43
  const byId = new Map(items.map((i) => [i._id, i]));
43
44
  const selectedBlock = [];
44
45
  if (!searching) {
45
- for (const d of snapshotDisplay)
46
- selectedBlock.push((_a = byId.get(d._id)) !== null && _a !== void 0 ? _a : d);
46
+ const displayById = new Map(snapshotDisplay.map((d) => [d._id, d]));
47
+ for (const id of snapshotIds) {
48
+ const resolved = (_a = byId.get(id)) !== null && _a !== void 0 ? _a : displayById.get(id);
49
+ if (resolved)
50
+ selectedBlock.push(resolved);
51
+ }
47
52
  }
48
53
  else {
49
54
  for (const i of items)
@@ -53,6 +58,24 @@ export function orderItems(items, snapshotIds, snapshotDisplay, searching) {
53
58
  const rest = items.filter((i) => !snapshotIds.has(i._id));
54
59
  return [...selectedBlock, ...rest];
55
60
  }
61
+ /**
62
+ * ¿Hay que re-tomar el snapshot selected-first por el cambio del término?
63
+ *
64
+ * Sólo en el flanco "había búsqueda → ya no": volver a la lista completa es un
65
+ * contexto de listado nuevo, y ahí el bloque de arriba tiene que incluir lo que
66
+ * se seleccionó DURANTE la sesión del panel. Sin esto, un panel abierto sin nada
67
+ * seleccionado se quedaba con el snapshot VACÍO para siempre (`orderItems`
68
+ * cortocircuita en `size === 0`): lo elegido mientras se buscaba desaparecía de
69
+ * la lista al limpiar el término, porque el servidor devuelve la página 1 y esos
70
+ * registros casi nunca están ahí. Se leía como "se deselecciona solo".
71
+ *
72
+ * El re-snapshot por SELECCIÓN no pasa por acá: vive en el componente
73
+ * (`@Watch('value')`, selected-first vivo desde 2026-09-14 — marcar sube la fila
74
+ * al instante). Esta función solo decide el flanco del TÉRMINO.
75
+ */
76
+ export function shouldResnapshotOnTerm(prevTerm, nextTerm) {
77
+ return !!prevTerm && !nextTerm;
78
+ }
56
79
  /** Aplana a filas de render insertando un header cuando `group` cambia
57
80
  * (groupItems de co-command-search). `index` cuenta solo items. */
58
81
  export function buildRows(items) {
@@ -106,8 +106,10 @@ export class CoOverlay {
106
106
  }
107
107
  /**
108
108
  * Promote the scrim to the browser top layer so it covers the whole viewport
109
- * regardless of ancestor `filter`/`mask`/`transform` (which would otherwise
110
- * make `position: fixed` resolve against that ancestor, confining the scrim).
109
+ * regardless of ancestor containing blocks — `contain: layout` on the
110
+ * app-shell `.main` / `.co-drawer` / `.co-modal__frame` (which replaced the
111
+ * old ancestor `filter`/`mask`), or any `transform` — that would otherwise
112
+ * make `position: fixed` resolve against that ancestor, confining the scrim.
111
113
  * The Popover API promotes WITHOUT moving the DOM node, so slots and Stencil
112
114
  * reconciliation are untouched. No-ops gracefully where unsupported.
113
115
  */
@@ -187,7 +189,7 @@ export class CoOverlay {
187
189
  focusables[nextIndex].focus();
188
190
  }
189
191
  render() {
190
- return (h("div", { key: '686e2708db09be6fbbb35bb267e3969d240bba4f', class: { 'co-overlay': true, 'co-overlay--open': this.open }, part: "overlay", popover: "manual", tabindex: this.trapFocus ? -1 : undefined, ref: (el) => (this.overlayEl = el), onClick: this.handleClick, onTransitionEnd: this.handleTransitionEnd }, h("slot", { key: '61b7864c03339835d2373efe36804d781f770d3a' })));
192
+ return (h("div", { key: '4fafc87768eca581018ff578875b2362cf5297d2', class: { 'co-overlay': true, 'co-overlay--open': this.open }, part: "overlay", popover: "manual", tabindex: this.trapFocus ? -1 : undefined, ref: (el) => (this.overlayEl = el), onClick: this.handleClick, onTransitionEnd: this.handleTransitionEnd }, h("slot", { key: '2d18410bb6774701806101d38b6d41293b0e7ff9' })));
191
193
  }
192
194
  static get is() { return "co-overlay"; }
193
195
  static get encapsulation() { return "shadow"; }
@@ -6,7 +6,7 @@ import { h } from "@stencil/core";
6
6
  */
7
7
  export class CoPageHeader {
8
8
  render() {
9
- return (h("div", { key: 'cc4d3011b35cf0c7e409e26e81c0443d4acf7116', class: "co-page-header", part: "page-header" }, h("div", { key: 'd0d79d2a1f1e55ef178ae6deb4a4bda9a718f3f7', class: "co-page-header__left" }, this.icon && (h("span", { key: '5d6c4210d2f18a69c9f1371ec79ba63a884a586b', class: "co-page-header__icon" }, h("co-icon", { key: '3bd905fa57f3c772cd2f61cd9de1e2d60407af62', name: this.icon, size: 24 }))), h("span", { key: '9656285b6a3d91f442d00e4acf9c55a8300ca5a0', class: "co-page-header__title" }, h("slot", { key: '1b31917e3bcbacdc111d8c5f46be03a56d188548' }, this.heading))), h("div", { key: 'fa551bee2dade362de86402835532b09547bdb30', class: "co-page-header__actions" }, h("slot", { key: '8ecfd5b89dd1c1fb5d62f5d78c375e918f6abff6', name: "actions" }))));
9
+ return (h("div", { key: '0f064f7e659103d8f679f23242492a5e9a869a88', class: "co-page-header", part: "page-header" }, h("div", { key: '4ccd5682d2d6872a5fa771b2779a8f7e0ab8b6f7', class: "co-page-header__left" }, this.icon && (h("span", { key: '10bc9aa126f8b9932b1e4247d7c3c3c04d89c425', class: "co-page-header__icon" }, h("co-icon", { key: '42f2cda7ec8ee4e0e4a51069606492647d13f690', name: this.icon, size: 24 }))), h("span", { key: '368633ff1b213286d5f6bdf5716e3acb1cbe2f71', class: "co-page-header__title" }, h("slot", { key: 'c74f2dcde7cfc0c0384f6a10a9f069a9ff94f78d' }, this.heading))), h("div", { key: '6666c103a2e6e826837091658ce1e4e4b1704215', class: "co-page-header__actions" }, h("slot", { key: '7df47ea333491b960bc1faff7fd0b6431aba56e5', name: "actions" }))));
10
10
  }
11
11
  static get is() { return "co-page-header"; }
12
12
  static get encapsulation() { return "shadow"; }
@@ -159,7 +159,7 @@ export class CoPhoneField {
159
159
  render() {
160
160
  const entry = this.selectedEntry;
161
161
  const statusClass = this.status !== 'default' ? `co-phone-field--${this.status}` : '';
162
- return (h("div", { key: '39e358a001c1c0df6b6fb626f031ea2efd416e78', class: `co-phone-field co-phone-field--${this.size} ${statusClass} ${this.disabled ? 'co-phone-field--disabled' : ''}` }, this.label && (h("label", { key: '3210c553f76fafdfec97bab4f9468e2438f0c5c2', class: "co-phone-field__label" }, this.label, h(RequiredMark, { key: 'f9057119f8e7d7d37765ae758829aef9ef4b47c6', required: this.required }))), h("div", { key: '782a76b6c15bdac59b6e33964f326451ce85a5ef', class: "co-phone-field__container" }, h("button", { key: 'fc31bf1af8767f56508f9fcff28e9c50be6da447', type: "button", class: "co-phone-field__selector", disabled: this.disabled, onClick: () => this.handleToggleDropdown(), "aria-expanded": String(this.isOpen), "aria-haspopup": "listbox" }, entry ? (h("img", { class: "co-phone-field__flag", src: `https://flagcdn.com/w40/${entry.iso2.toLowerCase()}.png`, alt: entry.iso2 })) : (h("co-icon", { name: "phone", size: 16 })), h("span", { key: 'd98253ada8bbf1a905ef6eadd4b30723dd4ec4ee', class: "co-phone-field__dial-code" }, entry ? entry.dialCode : ''), h("span", { key: '746626be2b166e290af16181f5f9e9837ae8e3dc', class: "co-phone-field__chevron" }, h("co-icon", { key: 'bffa21af2ceee3dad2d045cdf07996b4da1ad0bb', name: "caret-down", size: 14 }))), h("input", { key: '51d59eb3fa78d64984f59f6096f8ca5ea013cb3d', class: "co-phone-field__input", type: "tel", placeholder: this.placeholder, value: this.numberPart, disabled: this.disabled, onInput: (e) => this.handleNumberInput(e) })), this.isOpen && (h("div", { key: 'e0b96accd38c9226812da68f811db79ae1f39e06', class: "co-phone-field__dropdown", role: "listbox" }, h("div", { key: '919556f077ab5b55fb7b72dcec7cfa43c4ae2b25', class: "co-phone-field__search" }, h("input", { key: 'f3d78c9daa4bb43f8617d06b6d9bb9efdb88dc58', class: "co-phone-field__search-input", type: "text", placeholder: "Search country...", value: this.searchQuery, onInput: (e) => this.handleSearchInput(e), autoFocus: true })), h("div", { key: 'ad53c211f9130391585e21da43435777f156bdf1', class: "co-phone-field__options" }, this.filteredCountries.map((d) => (h("button", { type: "button", key: d.iso2, class: `co-phone-field__option ${d.iso2 === this.selectedIso2 ? 'co-phone-field__option--selected' : ''}`, role: "option", "aria-selected": d.iso2 === this.selectedIso2 ? 'true' : 'false', onClick: () => this.handleCountrySelect(d) }, h("img", { class: "co-phone-field__option-flag", src: `https://flagcdn.com/w40/${d.iso2.toLowerCase()}.png`, alt: d.iso2 }), h("span", { class: "co-phone-field__option-name" }, this.renderName(d.name)), h("span", { class: "co-phone-field__option-code" }, d.dialCode))))))), this.helperText && (h("div", { key: 'a39f039fe9ae6216e84e032c9f8ef1b18791d224', class: "co-phone-field__helper" }, this.statusIcon && (h("co-icon", { key: 'fd32dedcbd326365ae80f71d58ad1a7653a0474c', name: this.statusIcon, size: 14, weight: "fill", class: "co-phone-field__helper-icon" })), h("span", { key: '369daab4e46552564be76402d739f56b3f46b669', class: "co-phone-field__helper-text" }, this.helperText)))));
162
+ return (h("div", { key: 'a9c32c0be0ebd40ed647e76522424eb7e5e9aa18', class: `co-phone-field co-phone-field--${this.size} ${statusClass} ${this.disabled ? 'co-phone-field--disabled' : ''}` }, this.label && (h("label", { key: '37178a06aab45e8254fd0a366758e5302f2eaa46', class: "co-phone-field__label" }, this.label, h(RequiredMark, { key: '03a342ae39b5f17ba154b5c41f38c68ed3b017ba', required: this.required }))), h("div", { key: '1ec715b8334d174369e2cf84c1599d98f99e0a46', class: "co-phone-field__container" }, h("button", { key: '4570d47ae1b5f29777ef83934f29238f41f39c72', type: "button", class: "co-phone-field__selector", disabled: this.disabled, onClick: () => this.handleToggleDropdown(), "aria-expanded": String(this.isOpen), "aria-haspopup": "listbox" }, entry ? (h("img", { class: "co-phone-field__flag", src: `https://flagcdn.com/w40/${entry.iso2.toLowerCase()}.png`, alt: entry.iso2 })) : (h("co-icon", { name: "phone", size: 16 })), h("span", { key: 'eeea700daa0921575451e84229f756a8b07ba2bc', class: "co-phone-field__dial-code" }, entry ? entry.dialCode : ''), h("span", { key: '8a255cbcdd177d2c3df85e70cd533977401b4331', class: "co-phone-field__chevron" }, h("co-icon", { key: 'b7b7f8ae9ff2faa4aced5387cbdcafbdca3ab850', name: "caret-down", size: 14 }))), h("input", { key: '5c22124cf3b89be951b241dc5414ecfaa914f311', class: "co-phone-field__input", type: "tel", placeholder: this.placeholder, value: this.numberPart, disabled: this.disabled, onInput: (e) => this.handleNumberInput(e) })), this.isOpen && (h("div", { key: '58a86dd712fff37ae8a15aa814ecffe68872c546', class: "co-phone-field__dropdown", role: "listbox" }, h("div", { key: '7641be732c29f0cb601b05a185ea10219fc45bae', class: "co-phone-field__search" }, h("input", { key: 'd77b2e9acb00dcf28babbc203b65692fb5b9c8e7', class: "co-phone-field__search-input", type: "text", placeholder: "Search country...", value: this.searchQuery, onInput: (e) => this.handleSearchInput(e), autoFocus: true })), h("div", { key: 'a80b7fbe6ac444f44ea802d8820b0dabff943885', class: "co-phone-field__options" }, this.filteredCountries.map((d) => (h("button", { type: "button", key: d.iso2, class: `co-phone-field__option ${d.iso2 === this.selectedIso2 ? 'co-phone-field__option--selected' : ''}`, role: "option", "aria-selected": d.iso2 === this.selectedIso2 ? 'true' : 'false', onClick: () => this.handleCountrySelect(d) }, h("img", { class: "co-phone-field__option-flag", src: `https://flagcdn.com/w40/${d.iso2.toLowerCase()}.png`, alt: d.iso2 }), h("span", { class: "co-phone-field__option-name" }, this.renderName(d.name)), h("span", { class: "co-phone-field__option-code" }, d.dialCode))))))), this.helperText && (h("div", { key: 'c24516916b7d78d89eb18d03c8b70363567db9cf', class: "co-phone-field__helper" }, this.statusIcon && (h("co-icon", { key: 'e76e608653f1b45c7904bbfe0325a2813fe6aff1', name: this.statusIcon, size: 14, weight: "fill", class: "co-phone-field__helper-icon" })), h("span", { key: 'b7f14cc4ad48df862eee0ba4b45e19fe29e26baa', class: "co-phone-field__helper-text" }, this.helperText)))));
163
163
  }
164
164
  static get is() { return "co-phone-field"; }
165
165
  static get encapsulation() { return "shadow"; }
@@ -43,7 +43,7 @@
43
43
  exactamente igual de invisible que antes — sin estado nuevo que limpiar. */
44
44
  visibility: hidden;
45
45
  opacity: 0;
46
- transform: scale(0.98);
46
+ transform: scale(0.97);
47
47
  background: var(--co-semantic-surface-page, #fff);
48
48
  border: 1px solid var(--co-semantic-border-subtle);
49
49
  border-radius: var(--co-border-radius-sm, 12px);
@@ -51,8 +51,9 @@
51
51
  overflow: visible;
52
52
  }
53
53
 
54
- /* La transición vive en --positioned (solo entrada): el cierre desmonta el nodo,
55
- no hay fase de salida que animar. */
54
+ /* Transición de entrada. La de salida vive en --closing, declarada DESPUÉS
55
+ (misma especificidad, gana por orden de cascada) — el nodo sigue montado
56
+ durante el cierre (tsx difiere el unmount hasta transitionend). */
56
57
  .co-popover__panel--positioned {
57
58
  visibility: visible;
58
59
  opacity: 1;
@@ -62,6 +63,20 @@
62
63
  transform var(--co-motion-duration-base) var(--co-motion-ease-out);
63
64
  }
64
65
 
66
+ /* Fase de salida: el nodo sigue montado (tsx difiere el unmount hasta transitionend).
67
+ Debe declararse después de --positioned: misma especificidad, gana por orden.
68
+ pointer-events: none — el panel moribundo sigue :popover-open en el top layer
69
+ ~150ms; sin esto, un click durante el exit aterriza en el menú fantasma. */
70
+ .co-popover__panel--closing {
71
+ visibility: visible;
72
+ opacity: 0;
73
+ transform: scale(0.99);
74
+ pointer-events: none;
75
+ transition:
76
+ opacity var(--co-motion-duration-fast) var(--co-motion-ease-in),
77
+ transform var(--co-motion-duration-fast) var(--co-motion-ease-in);
78
+ }
79
+
65
80
  /* Origen según el lado resuelto (post-flip) por el que abre el panel. */
66
81
  .co-popover__panel--bottom {
67
82
  transform-origin: top center;
@@ -1,5 +1,5 @@
1
1
  import { h } from "@stencil/core";
2
- import { computePosition, findNearestScrollParent, getOffsetAncestor } from "../../utils/positioning";
2
+ import { computePosition, findScrollParents, getOffsetAncestor } from "../../utils/positioning";
3
3
  import { pushLayer, removeLayer, isTopLayer } from "../../utils/popover-stack";
4
4
  /** Side classes driving the entrance `transform-origin` (see co-popover.css). */
5
5
  const SIDE_CLASSES = ['top', 'bottom', 'left', 'right'].map((s) => `co-popover__panel--${s}`);
@@ -27,6 +27,8 @@ export class CoPopover {
27
27
  this.closeOnEscape = true;
28
28
  /** Flip placement when the panel would overflow the viewport. */
29
29
  this.flip = true;
30
+ /** Fase de salida: mantiene el panel montado mientras corre la transición de cierre. */
31
+ this.closing = false;
30
32
  this.scrollParents = [];
31
33
  // Cached offset ancestor + a flag to distinguish "not computed yet" from
32
34
  // "computed and there is none". Avoids re-walking the DOM + calling
@@ -38,6 +40,20 @@ export class CoPopover {
38
40
  // had every popover instance (open or not) running capture-phase document
39
41
  // click handlers, growing O(N) with popover count in the page.
40
42
  this.docListenersBound = false;
43
+ this.finishClose = () => {
44
+ clearTimeout(this.closeFallbackTimer);
45
+ if (this.open)
46
+ return; // reabierto durante el cierre
47
+ this.closing = false;
48
+ this.panelEl = undefined;
49
+ };
50
+ this.handlePanelTransitionEnd = (e) => {
51
+ if (this.open || !this.closing)
52
+ return;
53
+ if (e.target !== this.panelEl || e.propertyName !== 'transform')
54
+ return;
55
+ this.finishClose();
56
+ };
41
57
  // ── Click outside (manual, capture phase) ──────────────────
42
58
  // Attached/detached in connectedCallback/disconnectedCallback. Using capture
43
59
  // phase so we run before any inner-element listeners that might stop
@@ -77,8 +93,8 @@ export class CoPopover {
77
93
  return;
78
94
  const triggerRect = this.triggerEl.getBoundingClientRect();
79
95
  // ⚠️ El panel arrastra el `transform: scale()` de la entrada, y
80
- // getBoundingClientRect() devuelve la caja TRANSFORMADA: 0.98× al montar y
81
- // ~0.982× en la segunda pasada del watcher (~16ms de los 180ms). Medir con
96
+ // getBoundingClientRect() devuelve la caja TRANSFORMADA: 0.97× al montar y
97
+ // ~0.972× en la segunda pasada del watcher (~16ms de los `base` 250ms). Medir con
82
98
  // ella metía el factor de escala DENTRO de la matemática de posicionamiento,
83
99
  // y ~2% del error quedaba en la posición de reposo: las alineaciones que
84
100
  // restan el tamaño del panel (`bottom-end` — el default de co-menu —, `top*`,
@@ -133,6 +149,7 @@ export class CoPopover {
133
149
  if (!this.panelEl.classList.contains(sideClass)) {
134
150
  this.panelEl.classList.remove(...SIDE_CLASSES);
135
151
  this.panelEl.classList.add(sideClass);
152
+ this.coPlacement.emit({ placement: actualPlacement });
136
153
  }
137
154
  this.panelEl.classList.add('co-popover__panel--positioned');
138
155
  }
@@ -166,10 +183,18 @@ export class CoPopover {
166
183
  removeLayer(this.el);
167
184
  this.unbindDocListeners();
168
185
  this.cleanupListeners();
186
+ clearTimeout(this.closeFallbackTimer);
187
+ // Desconectado a mitad del exit (p.ej. host removido por un v-if del
188
+ // padre mientras corre la transición de cierre): si se reconecta luego
189
+ // (:key remount, teleport) sin pasar por finishClose, `closing` quedaría
190
+ // stale en true y el panel nacería en fase de salida.
191
+ this.closing = false;
169
192
  }
170
193
  // ── Watchers ───────────────────────────────────────────────
171
194
  onOpenChange(isOpen) {
172
195
  if (isOpen) {
196
+ this.closing = false;
197
+ clearTimeout(this.closeFallbackTimer);
173
198
  pushLayer(this.el);
174
199
  this.coOpen.emit();
175
200
  this.bindDocListeners();
@@ -190,10 +215,16 @@ export class CoPopover {
190
215
  this.unbindDocListeners();
191
216
  this.cachedOffsetAncestor = null;
192
217
  this.offsetAncestorComputed = false;
193
- // The panel is removed from the DOM by the conditional render (which also
194
- // evicts it from the top layer); drop the now-detached ref so no async
195
- // updatePosition can touch a stale element before the next open re-sets it.
196
- this.panelEl = undefined;
218
+ // Panel keeps its ref/position frozen through the exit animation — the
219
+ // ref is dropped only when `finishClose` actually unmounts the node
220
+ // (transitionend, or the fallback timer). `panelEl` is intentionally
221
+ // NOT cleared here.
222
+ this.closing = true;
223
+ // Fallback por si transitionend no dispara (tab oculta, display:none ancestro).
224
+ // ⚠️ Atado al token: debe superar --co-motion-duration-fast (150ms) con margen —
225
+ // si el retune sube `fast` por encima de ~350ms, revisar esta constante.
226
+ clearTimeout(this.closeFallbackTimer);
227
+ this.closeFallbackTimer = setTimeout(() => this.finishClose(), 400);
197
228
  }
198
229
  }
199
230
  bindDocListeners() {
@@ -242,19 +273,24 @@ export class CoPopover {
242
273
  }
243
274
  }
244
275
  // ── Scroll/resize listeners ────────────────────────────────
245
- // Listen to window resize/scroll (covers most layout changes) and to the
246
- // NEAREST scrollable ancestor (covers internal-scroll containers like a
247
- // datatable body or co-drawer). Previously walked the entire ancestor chain,
248
- // attaching N listeners per popover open — for deep trees, that was 5-10
249
- // extra listeners per popover × per-scroll-tick getBoundingClientRect calls.
276
+ // Listen to window resize/scroll and to every ancestor that ACTUALLY scrolls
277
+ // (co-drawer/co-modal body, datatable body…).
278
+ //
279
+ // El listener de window NO alcanza por sí solo: los eventos `scroll` no son
280
+ // `composed`, así que el de un scroller que vive dentro de un shadow root
281
+ // —el caso de `.co-drawer__body`— nunca cruza el límite y el capture de
282
+ // window no lo ve. Por eso hay que engancharse al scroller mismo.
283
+ //
284
+ // Se recorre la cadena entera y no solo el ancestro más cercano porque los
285
+ // scrollers se anidan; `findScrollParents` ya filtra por `overflow` real, así
286
+ // que la lista queda en 1-2 elementos y no en los 5-10 que motivaron acotar
287
+ // esto a uno solo en su momento.
250
288
  addScrollListeners() {
251
289
  window.addEventListener('resize', this.scheduleUpdate, { passive: true });
252
290
  window.addEventListener('scroll', this.scheduleUpdate, { passive: true, capture: true });
253
- this.scrollParents = [];
254
- const scrollAncestor = findNearestScrollParent(this.el);
255
- if (scrollAncestor) {
256
- scrollAncestor.addEventListener('scroll', this.scheduleUpdate, { passive: true });
257
- this.scrollParents.push(scrollAncestor);
291
+ this.scrollParents = findScrollParents(this.el);
292
+ for (const parent of this.scrollParents) {
293
+ parent.addEventListener('scroll', this.scheduleUpdate, { passive: true });
258
294
  }
259
295
  }
260
296
  cleanupListeners() {
@@ -271,13 +307,13 @@ export class CoPopover {
271
307
  }
272
308
  // ── Render ─────────────────────────────────────────────────
273
309
  render() {
274
- return (h("div", { key: '8a4ccad04a131824d9990759a41905e4772fd56c', class: "co-popover" }, h("div", { key: 'b71344c25aa5f785dbcb65425931f25403877173', class: "co-popover__trigger", ref: (el) => (this.triggerEl = el), onClick: this.handleTriggerClick }, h("slot", { key: '3a2ad77fbf1d79f917f9c7278faef8ecb65a364e', name: "trigger" })), this.open && (h("div", { key: 'dd6d65a867b15ad3d6fe18658d1f3fdd89be8806', class: "co-popover__panel", popover: "manual", ref: (el) => {
310
+ return (h("div", { key: 'f8460e212fabe8828f1e33f08304d7e680a7cab0', class: "co-popover" }, h("div", { key: 'c9caad8ae7f16c82173e4b30ad5cc053dc73b6da', class: "co-popover__trigger", ref: (el) => (this.triggerEl = el), onClick: this.handleTriggerClick }, h("slot", { key: 'afa0443ba85607cf24f517e8c7fe0cee689df024', name: "trigger" })), (this.open || this.closing) && (h("div", { key: 'd2a081f8923f53ac456edd6e5eb7422dc5ab7daa', class: { 'co-popover__panel': true, 'co-popover__panel--closing': this.closing }, popover: "manual", onTransitionEnd: this.handlePanelTransitionEnd, ref: (el) => {
275
311
  if (el && el !== this.panelEl) {
276
312
  this.panelEl = el;
277
313
  this.promotePanel();
278
314
  this.scheduleUpdate();
279
315
  }
280
- } }, h("slot", { key: '3082d046fc973bd5f571b4f9b845844be6e6bf9c' })))));
316
+ } }, h("slot", { key: '8466f617bd6b8a497e2040d3275b384156de126c' })))));
281
317
  }
282
318
  static get is() { return "co-popover"; }
283
319
  static get encapsulation() { return "shadow"; }
@@ -322,7 +358,7 @@ export class CoPopover {
322
358
  "references": {
323
359
  "PopoverPlacement": {
324
360
  "location": "local",
325
- "path": "/Users/agox/worktrees/cobalt-rel-20260827-tooltip/packages/core/src/components/co-popover/co-popover.tsx",
361
+ "path": "/Users/agox/worktrees/cobalt-release/packages/core/src/components/co-popover/co-popover.tsx",
326
362
  "id": "src/components/co-popover/co-popover.tsx::PopoverPlacement"
327
363
  }
328
364
  }
@@ -441,6 +477,11 @@ export class CoPopover {
441
477
  }
442
478
  };
443
479
  }
480
+ static get states() {
481
+ return {
482
+ "closing": {}
483
+ };
484
+ }
444
485
  static get events() {
445
486
  return [{
446
487
  "method": "coOpen",
@@ -472,6 +513,28 @@ export class CoPopover {
472
513
  "resolved": "void",
473
514
  "references": {}
474
515
  }
516
+ }, {
517
+ "method": "coPlacement",
518
+ "name": "coPlacement",
519
+ "bubbles": false,
520
+ "cancelable": true,
521
+ "composed": true,
522
+ "docs": {
523
+ "tags": [],
524
+ "text": "El placement REAL con el que qued\u00F3 el panel, ya pasado por el flip \u2014 que\npuede no ser el de la prop `placement`. Lo consume `co-menu-item` para que\nuna cadena de submen\u00FAs herede la direcci\u00F3n (ver utils/submenu.ts): sin\nesto, un submen\u00FA anidado vuelve a abrir hacia la derecha y se dibuja\nencima del men\u00FA padre del que sali\u00F3.\n\nSe emite SOLO cuando el lado cambia (mismo guard que la clase del panel),\nas\u00ED el path de scroll/resize no dispara un evento por tick."
525
+ },
526
+ "complexType": {
527
+ "original": "{ placement: Placement }",
528
+ "resolved": "{ placement: Placement; }",
529
+ "references": {
530
+ "Placement": {
531
+ "location": "import",
532
+ "path": "../../utils/positioning",
533
+ "id": "src/utils/positioning.ts::Placement",
534
+ "referenceLocation": "Placement"
535
+ }
536
+ }
537
+ }
475
538
  }];
476
539
  }
477
540
  static get methods() {
@@ -18,12 +18,12 @@ export class CoProgressBar {
18
18
  render() {
19
19
  const clamped = Math.max(0, Math.min(100, this.value));
20
20
  const indeterminate = this.indeterminate;
21
- return (h("div", { key: 'ec9ad8aa5fec0758148920a219a9ad38bbb2d26a', class: {
21
+ return (h("div", { key: 'bcf5e566cfa6726eac8578288797d1004e4003fb', class: {
22
22
  'co-progress-bar': true,
23
23
  [`co-progress-bar--${this.status}`]: true,
24
24
  [`co-progress-bar--${this.variant}`]: true,
25
25
  'co-progress-bar--indeterminate': indeterminate,
26
- }, role: "progressbar", "aria-valuenow": indeterminate ? undefined : clamped, "aria-valuemin": 0, "aria-valuemax": 100, part: "bar", style: { height: `${this.thickness}px` } }, h("div", { key: '18185890f38b6fba049d914a98644c655d0f5cbe', class: "co-progress-bar__fill", style: indeterminate ? undefined : { width: `${clamped}%` } })));
26
+ }, role: "progressbar", "aria-valuenow": indeterminate ? undefined : clamped, "aria-valuemin": 0, "aria-valuemax": 100, part: "bar", style: { height: `${this.thickness}px` } }, h("div", { key: '932537ab1521b2d7fcd0e1bb57c027a276dacaf3', class: "co-progress-bar__fill", style: indeterminate ? undefined : { width: `${clamped}%` } })));
27
27
  }
28
28
  static get is() { return "co-progress-bar"; }
29
29
  static get encapsulation() { return "shadow"; }
@@ -19,7 +19,7 @@ export class CoProgressCircle {
19
19
  const clamped = Math.max(0, Math.min(100, this.value));
20
20
  const angle = (clamped / 100) * 360;
21
21
  const safeStroke = Math.min(this.strokeWidth, this.size / 2);
22
- return (h("div", { key: '54589f277b5c2b8b0d79ee514d96c58fc82f7f55', class: {
22
+ return (h("div", { key: 'bc100ca3ef731aab3168a247098102b8e9ab9537', class: {
23
23
  'co-progress-circle': true,
24
24
  [`co-progress-circle--${this.status}`]: true,
25
25
  }, role: "progressbar", "aria-valuenow": clamped, "aria-valuemin": 0, "aria-valuemax": 100, part: "circle", style: {
@@ -27,7 +27,7 @@ export class CoProgressCircle {
27
27
  height: `${this.size}px`,
28
28
  '--co-pc-angle': `${angle}deg`,
29
29
  '--co-pc-stroke': `${safeStroke}px`,
30
- } }, h("div", { key: '531012a9eb019c39b11037e0ab6748ece8c946f1', class: "co-progress-circle__track" }), this.showLabel && (h("span", { key: '6ca9aff7a1069d59ad8cc65e5fb8c913084c6aa2', class: "co-progress-circle__label" }, clamped, "%"))));
30
+ } }, h("div", { key: '48862f1f57c0bb8cd6e03c2f0a84a1ae324d3ec1', class: "co-progress-circle__track" }), this.showLabel && (h("span", { key: '0ff2c6995740504e1df9b11dfa10e0a9f9d368c5', class: "co-progress-circle__label" }, clamped, "%"))));
31
31
  }
32
32
  static get is() { return "co-progress-circle"; }
33
33
  static get encapsulation() { return "shadow"; }
@@ -17,15 +17,15 @@ export class CoRadio {
17
17
  };
18
18
  }
19
19
  render() {
20
- return (h("div", { key: '1726b4dd23985c0cae5ce04d795924e069511ccb', class: {
20
+ return (h("div", { key: '59335ec237efb379852efc4fabcb7cbb37632a1e', class: {
21
21
  'co-radio-row': true,
22
22
  'co-radio-row--disabled': this.disabled,
23
- }, onClick: this.handleClick }, h("button", { key: '2164e458b160a853127a50af15560c6ff94bb3e5', role: "radio", "aria-checked": String(this.checked), "aria-label": this.label || '', class: {
23
+ }, onClick: this.handleClick }, h("button", { key: 'dc726deac041e9df4cb34f60a473350426ed2cbc', role: "radio", "aria-checked": String(this.checked), "aria-label": this.label || '', class: {
24
24
  'co-radio': true,
25
25
  [`co-radio--${this.size}`]: true,
26
26
  'co-radio--checked': this.checked,
27
27
  'co-radio--disabled': this.disabled,
28
- }, disabled: this.disabled, part: "circle" }), this.label && (h("span", { key: 'ac519d76a29d186bcbfa8b5e100272f3ccb305ef', class: "co-radio__label", part: "label" }, this.label))));
28
+ }, disabled: this.disabled, part: "circle" }), this.label && (h("span", { key: 'bf2602521d20f806283884ba3ebbab4ff4ef0c70', class: "co-radio__label", part: "label" }, this.label))));
29
29
  }
30
30
  static get is() { return "co-radio"; }
31
31
  static get encapsulation() { return "shadow"; }