@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
@@ -2,12 +2,19 @@ import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import { type ColorPreset } from './presets';
3
3
  /**
4
4
  * Color picker with preset swatches. Shows a trigger with the current color
5
- * swatch + hex value, and opens a popover panel with a grid of preset colors.
5
+ * swatch + hex value, and opens a popover panel with a saturation/brightness
6
+ * area, a hue slider, a grid of preset colors and an editable hex field.
6
7
  *
7
- * The hex value is read-only (no manual editing) — a copy button lets the user
8
- * copy the value to clipboard.
8
+ * The hex field previews while typing (`coInput`) and commits on gesture end
9
+ * — blur, Enter or panel close — like every other control in the panel. A
10
+ * pasted CSS color commits immediately; a copy button copies the current value.
9
11
  *
10
- * @event coChange - Emits the selected hex string (e.g. "#0066FF").
12
+ * @event coInput - Live hex while a gesture is in flight — dragging the area or
13
+ * the hue slider, and typing a valid hex in the field (preview only, never a
14
+ * commit).
15
+ * @event coChange - Emits the committed hex string (e.g. "#0066FF"): pointer
16
+ * release, arrow key, swatch click, paste, and the end of a hex-field edit
17
+ * (blur, Enter or panel close).
11
18
  */
12
19
  export declare class CoColorPicker {
13
20
  el: HTMLElement;
@@ -46,11 +53,180 @@ export declare class CoColorPicker {
46
53
  * or plain hex strings. When set programmatically, accepts an actual array.
47
54
  */
48
55
  presets: string | ColorPreset[] | string[];
56
+ /** Idioma de los textos accesibles. Misma prop que co-file-field/co-date-picker. */
57
+ locale: string;
49
58
  /** Emits the selected hex color on change. */
50
59
  coChange: EventEmitter<string>;
60
+ /**
61
+ * Hex en vivo mientras se arrastra el área o el matiz. El host lo usa para
62
+ * previsualizar si quiere.
63
+ *
64
+ * La partición con `coChange` es el contrato nuevo y existe por una razón
65
+ * concreta: un arrastre produce ~60 valores por segundo, y emitirlos todos
66
+ * como `coChange` ensucia la sesión del formulario en cada frame (un
67
+ * "cambios sin guardar" por píxel movido). `coChange` sigue significando
68
+ * exactamente lo que significaba —commit—, así que los consumidores actuales
69
+ * no cambian una línea.
70
+ */
71
+ coInput: EventEmitter<string>;
51
72
  private isOpen;
52
73
  private copied;
74
+ /**
75
+ * El estado AUTORITATIVO del color mientras el picker está vivo: HSV en punto
76
+ * flotante. El hex es una derivación de presentación, no la fuente.
77
+ *
78
+ * ⛔ No redondear: el redondeo a entero rompe el round-trip (#02A270 vuelve
79
+ * como #02A370) y ése es el temblor del cursor al arrastrar. El redondeo va
80
+ * sólo en el borde (el `value` de los range y los aria-valuetext).
81
+ */
82
+ private hsv;
83
+ /**
84
+ * El TEXTO del campo hex (sin `#`), que mientras se tipea puede no ser un
85
+ * color: `12` es un hex a medio escribir, no un error. El valor real sigue
86
+ * siendo `value`; esto es sólo lo que se ve en el campo.
87
+ */
88
+ private hexDraft;
89
+ /**
90
+ * Si el usuario está tipeando en el campo hex. Mientras lo esté, el campo NO
91
+ * se re-espeja desde `value`: como el commit es en vivo, tipear `F00` emite
92
+ * `#FF0000` y espejarlo le reescribiría el texto bajo el cursor (react-colorful
93
+ * hace lo mismo, pero mirándole el foco al input; acá es un flag explícito
94
+ * porque el foco dentro de un shadow root no sale por `document.activeElement`
95
+ * y porque un flag es observable desde los tests).
96
+ *
97
+ * Se apaga en el blur y al reabrir el panel: un texto a medias abandonado por
98
+ * una vía que no entrega blur (Escape desmonta el panel entero) no puede
99
+ * dejar el espejo roto para siempre.
100
+ */
101
+ private hexEditing;
102
+ /**
103
+ * Cuál de los dos ejes del área tiene el tab stop. El otro sale del tab order
104
+ * (`tabindex=-1`) y del árbol de accesibilidad (`aria-hidden`), así que el
105
+ * formulario lista UN control por campo y el lector anuncia uno solo — pero
106
+ * los dos siguen operables, porque la flecha del eje oculto le mueve el foco
107
+ * por código. Es @State porque de él dependen atributos pintados.
108
+ */
109
+ private areaAxis;
110
+ /**
111
+ * Último hex que escribimos en `value`. Es el anti-drift de la capa de estado:
112
+ * si el host nos devuelve el mismo hex que acabamos de emitir, NO se
113
+ * re-convierte a HSV — un redondeo distinto movería el cursor solo.
114
+ * (El otro anti-drift está en color.ts: Hsv es float, nunca entero.)
115
+ *
116
+ * Guardaba también el HSV que produjo ese hex, y nadie lo leía nunca: los
117
+ * cuatro puntos que sellan el caché lo hacen inmediatamente después de
118
+ * asignar `this.hsv`, así que la copia era `this.hsv` por otro nombre —
119
+ * imposible de desincronizar y, por lo mismo, imposible de aprovechar. Un
120
+ * campo muerto dentro de un anti-drift es una invitación a "usarlo" y
121
+ * reintroducir justo el drift que esto evita.
122
+ */
123
+ private emitted;
124
+ /**
125
+ * El último hex realmente COMMITEADO (`coChange`), que es cosa distinta de
126
+ * `emitted`: ése lo sella también cada frame de preview, así que no puede
127
+ * decir a qué color volver cuando un gesto termina sin commitear.
128
+ *
129
+ * Es la línea de base del deshacer: a él vuelve un texto que quedó a medias
130
+ * y —el agujero que esto además tapa— un arrastre abortado, que hoy dejaba
131
+ * `value` en el color previsualizado sin que el host se hubiera enterado
132
+ * nunca por `coChange`.
133
+ */
134
+ private committed;
135
+ /**
136
+ * Índice del swatch enfocado, para la navegación por flechas (roving tabindex).
137
+ * Es @State y no un campo suelto porque el `tabIndex` de cada opción se pinta
138
+ * a partir de él: sin reactividad, las flechas moverían el foco pero el DOM
139
+ * quedaría con el tabbable original y salir/volver con Tab caería en el
140
+ * swatch equivocado.
141
+ */
142
+ private focusedIndex;
143
+ private gridEl?;
144
+ private areaEl?;
145
+ /**
146
+ * Si hay un arrastre ABIERTO sobre el área (hubo `pointerdown` acá que sí
147
+ * pudo traducir el punto). Sin esto, cualquier `pointerup` que aterrice sobre
148
+ * el área commitea: un arrastre iniciado en otra parte del panel y soltado
149
+ * encima emitía un `coChange` que el usuario nunca pidió — y en suite-v2
150
+ * commit significa formulario sucio.
151
+ */
152
+ private areaDragging;
153
+ private satEl?;
154
+ private valEl?;
155
+ /**
156
+ * Un valor entrante que YA es el que acabamos de emitir se descarta.
157
+ *
158
+ * Sin esto, un host controlado (el que guarda lo emitido y lo devuelve por la
159
+ * prop) reinyecta el hex derivado, que se re-convierte a HSV con otro
160
+ * redondeo y mueve el cursor solo en pleno arrastre. La comparación es
161
+ * case-insensitive porque el host normaliza el string —guardar en minúsculas
162
+ * es lo habitual— y el mismo color escrito distinto no es un cambio.
163
+ */
164
+ syncFromValue(next: string): void;
165
+ /**
166
+ * Siembra del estado. Es OBLIGATORIA acá, no basta el initializer del campo:
167
+ * - los @Watch no corren para el valor inicial de la prop;
168
+ * - el initializer de un miembro DECORADO no sobrevive en el entorno de spec
169
+ * (@stencil/vitest define el accessor encima del campo ya inicializado, así
170
+ * que `this.hsv` llega `undefined` al primer render y el destructuring de
171
+ * `renderArea` tira). Los otros @State del componente lo toleraban porque
172
+ * `undefined` es falsy justo donde se usan.
173
+ * Sin hex válido el estado arranca en `EMPTY_HSV` —rojo puro, el vértice
174
+ * VIVO—, no en negro: ver su docstring, que explica por qué el vértice negro
175
+ * dejaría dos de los tres controles sin poder producir color. Es un seed de
176
+ * display; `value` sigue vacío y el trigger sigue mostrando el placeholder.
177
+ */
178
+ componentWillLoad(): void;
179
+ /**
180
+ * Movimiento en vivo: actualiza la UI y avisa, sin commitear.
181
+ *
182
+ * ⚠️ El caché se sella ANTES de tocar `this.value`: el setter de una @Prop
183
+ * corre sus @Watch de forma SÍNCRONA, así que con el caché todavía en el
184
+ * color anterior `syncFromValue` vería un color "nuevo", re-parsearía el hex
185
+ * y pisaría este HSV flotante con el redondeado — el temblor, en el mismo
186
+ * frame y sin que el host haya hecho nada. Guard: area.spec.
187
+ */
188
+ private previewHsv;
189
+ /**
190
+ * Lo mismo, pero entrando por un hex ENTERO en vez de por un eje: es lo que
191
+ * produce el campo de texto, donde el color no llega como "más saturación"
192
+ * sino como un color completo. Comparte el sellado con `previewHsv` para que
193
+ * el orden crítico (sellar → asignar → avisar) exista en UN solo lugar.
194
+ */
195
+ private previewHex;
196
+ private emitPreview;
197
+ /**
198
+ * Commit: lo que los consumidores ya escuchan hoy (soltar el arrastre,
199
+ * clickear un swatch).
200
+ *
201
+ * El HSV se re-deriva SÓLO si el hex viene de afuera —un swatch, un hex
202
+ * tipeado—, y eso se detecta preguntándole al propio estado si ese hex es el
203
+ * que produce. Re-derivar siempre tiene dos daños:
204
+ *
205
+ * 1. 🔴 En un color ACROMÁTICO el hex no lleva matiz: `#000000` es negro y
206
+ * punto, así que `hexToHsv` devuelve h=0 (rojo) y le BORRA al usuario el
207
+ * matiz que acababa de elegir. Con el campo vacío —el estado inicial de
208
+ * tres consumidores de suite-v2— el área se ponía azul al arrastrar el
209
+ * matiz y volvía a roja al soltar.
210
+ * 2. En un color cromático no lo borra pero lo REDONDEA (200 → 199.875):
211
+ * el estado interno pasando por la grilla del hex es justo lo que esta
212
+ * task existe para evitar.
213
+ */
214
+ private commit;
215
+ private get strings();
53
216
  private get parsedPresets();
217
+ /**
218
+ * Los grupos EN EL ORDEN EN QUE SE RENDERIZAN, cada uno con el índice plano
219
+ * de su primer swatch (`from`). La navegación por flechas se indexa contra
220
+ * este aplanado, no contra `parsedPresets`: si el orden del render y el del
221
+ * array divergieran, una flecha movería el foco a otro swatch.
222
+ *
223
+ * La frontera neutros/marca sale de `NEUTRAL_PRESET_KEYS` — la única fuente
224
+ * de la paleta. Nada de `slice(0, 5)`: ese `5` ya estaba duplicado en tres
225
+ * lugares y es lo que la task anterior vino a eliminar.
226
+ */
227
+ private get presetGroups();
228
+ /** Los swatches aplanados en orden de render: la lista que recorren las flechas. */
229
+ private get flatPresets();
54
230
  private handlePopoverOpen;
55
231
  private handlePopoverClose;
56
232
  private handleTriggerKeyDown;
@@ -59,7 +235,187 @@ export declare class CoColorPicker {
59
235
  * otro elemento — en ese caso no robarlo. */
60
236
  private restoreTriggerFocus;
61
237
  private handleSwatchClick;
238
+ /**
239
+ * Coordenadas del puntero → saturación/brillo.
240
+ *
241
+ * ⚠️ Un `rect` degenerado NO se convierte en un color: con `rect.width === 0`
242
+ * (área todavía sin layout, o con `display:none`) la división da **Infinity**
243
+ * —no NaN: NaN sólo sale si el numerador es exactamente 0— y el clamp lo
244
+ * lleva a 1, así que un pointerdown escribiría `s=100, v=0`, o sea NEGRO, y
245
+ * lo emitiría como si el usuario lo hubiera elegido. Guard: area.spec.
246
+ */
247
+ private pointerToHsv;
248
+ private handleAreaPointerDown;
249
+ private handleAreaPointerMove;
250
+ /**
251
+ * Un arrastre ABORTADO cierra el gesto sin commitear. Sin esto, el flag queda
252
+ * en `true` para siempre en esa instancia y el próximo `pointerup` suelto
253
+ * commitea — el mismo bug del gesto sin `pointerdown`, por otra puerta.
254
+ */
255
+ private handleAreaPointerCancel;
256
+ private handleAreaPointerUp;
257
+ /**
258
+ * Qué eje mueve cada flecha DENTRO del área, y en qué sentido. Un range
259
+ * horizontal nativo también responde a ↑/↓ moviendo SU eje, así que sin esta
260
+ * tabla (y su `preventDefault`) la flecha de arriba subía la saturación.
261
+ */
262
+ private static readonly AREA_KEYS;
263
+ /**
264
+ * Teclado del área: la flecha decide el eje, y ese eje pasa a ser el
265
+ * enfocado. El foco programático entra igual en el input con `tabindex=-1`
266
+ * —por eso el par tabindex-1 + aria-hidden no deja ningún eje inalcanzable—.
267
+ * SLDS: flecha = 1, Shift+flecha = 10.
268
+ */
269
+ private handleAreaKeyDown;
270
+ /** Mueve el tab stop del área (y el foco) al eje pedido. */
271
+ private focusAxis;
272
+ /**
273
+ * El matiz es un slider 1D suelto: las cuatro flechas son SU eje, así que el
274
+ * range nativo ya resuelve el paso de 1 y acá sólo se intercepta Shift.
275
+ */
276
+ private handleHueKeyDown;
277
+ private optionEls;
278
+ /**
279
+ * Vecino de arriba/abajo EN PANTALLA.
280
+ *
281
+ * La grilla no es una matriz única: son N grillas de 6 columnas apiladas, una
282
+ * por grupo, y la de neutros tiene 5 celdas. Por eso un stride plano de ±6
283
+ * sobre el índice global se corre una columna al cruzar la frontera (Black,
284
+ * columna 0, caía en Olive, columna 1). Fila y columna se calculan DENTRO del
285
+ * grupo; al cruzar al grupo vecino se conserva la columna, que es lo que
286
+ * "fila anterior / siguiente" significa visualmente.
287
+ *
288
+ * En el borde de la grilla el foco NO se mueve: colapsarlo al extremo mandaba
289
+ * cualquier neutro de la primera fila a Black.
290
+ *
291
+ * Asimetría DELIBERADA con las flechas horizontales, que sí wrappean (0↔16):
292
+ * el wrap cíclico en un eje y el tope duro en el otro es lo que hace APG para
293
+ * grillas, y es lo que deja claro dónde termina la paleta.
294
+ */
295
+ private verticalNeighbor;
296
+ private handleGridKeyDown;
297
+ /**
298
+ * El área saturación×brillo.
299
+ *
300
+ * Es un `role="group"` con UN `<input type="range">` invisible por eje —el
301
+ * modelo de React Aria—, en vez de un `role="slider"` 2D a mano: así el eje
302
+ * lo maneja un control nativo (teclado, repetición de tecla, anuncio del
303
+ * lector de pantalla) y sólo el arrastre queda de nuestro lado.
304
+ *
305
+ * El matiz viaja al CSS por custom property: el gradiente es CSS puro, sin
306
+ * canvas y sin un hex literal en la hoja de estilos.
307
+ */
308
+ private renderArea;
309
+ private renderHue;
310
+ private renderSwatches;
62
311
  private get statusIcon();
312
+ /**
313
+ * Lo que se puede TIPEAR en el campo: dígitos hex, hasta 6. El 7º caracter y
314
+ * el `#` no entran, y con 8 dígitos (hex con alpha) se queda con los 6 de
315
+ * color — este picker no maneja alpha.
316
+ */
317
+ private escapeHex;
318
+ /** `F00` → `#FF0000`: lo emitido es SIEMPRE de 6 dígitos. */
319
+ private expandHex;
320
+ /**
321
+ * Siembra el campo desde el valor REAL y cierra cualquier edición abierta.
322
+ *
323
+ * Con `value` vacío queda vacío: el estado interno arranca en EMPTY_HSV (rojo
324
+ * puro) para que el área tenga de dónde partir, pero eso es un seed de
325
+ * DISPLAY del área — espejarlo pondría `FF0000` escrito en un campo que el
326
+ * usuario nunca tocó, anunciando un color que nadie eligió.
327
+ */
328
+ private resetHexDraft;
329
+ /**
330
+ * Espeja el valor real en el campo, salvo mientras el usuario lo está
331
+ * tipeando.
332
+ *
333
+ * Sólo espeja lo que YA es un color (o el vacío, que limpia). `escapeHex`
334
+ * sobre cualquier otra cosa fabrica un hex verosímil: un host que pase
335
+ * `rebeccapurple` o `var(--co-color-primary-verde)` vería el campo mostrando
336
+ * `EBECCA` / `ACCAED`. Es exactamente la falla que el pegado cancela unas
337
+ * líneas más abajo, y entraba igual por la puerta de la prop. Los frames de
338
+ * arrastre siempre escriben un hex de 6, así que no se pierde nada legítimo.
339
+ */
340
+ private syncHexDraft;
341
+ /**
342
+ * Tipear PREVISUALIZA (`coInput`), no commitea.
343
+ *
344
+ * El campo es el único control del panel donde el gesto se estira en el
345
+ * tiempo, y tratarlo como commit por caracter tiene un costo que no se ve
346
+ * hasta que se mira de cerca: corregir un typo de `0263EB` a `026` emitiría
347
+ * `coChange('#002266')` — el usuario está BORRANDO y el componente commitea
348
+ * un color nuevo. Con el preview, el campo queda igual que sus tres hermanos
349
+ * (área, matiz, swatches): en vivo mientras dura el gesto, commit al
350
+ * soltarlo. El `#002266` que pinta al pasar por `026` es un frame intermedio
351
+ * de preview, ni más ni menos que cualquier frame de arrastre.
352
+ */
353
+ private handleHexInput;
354
+ /**
355
+ * Fin del gesto del campo: blur, Enter, o el cierre del panel.
356
+ *
357
+ * Commitea SIEMPRE que haya un color tipeado, sin comparar contra `value`
358
+ * —que a esta altura ya vale el color previsualizado, así que "commitear si
359
+ * cambió" no dispararía nunca—. Es el precedente del `pointerup` del área: el
360
+ * fin de gesto commitea, y si el usuario retipeó el mismo color, el `coChange`
361
+ * redundante es el precio.
362
+ *
363
+ * ⚠️ Consecuencia documentada de esa regla: tipear un hex válido y después
364
+ * clickear un swatch emite DOS `coChange` — el blur commitea el color
365
+ * tipeado, y el swatch el suyo. Es el precio explícito de que el fin de gesto
366
+ * no adivine intenciones, no un bug.
367
+ *
368
+ * Y si no hay nada que commitear, se DESHACE el preview vivo. Eso cubre dos
369
+ * casos con el mismo movimiento: el texto que quedó a medias (`12`), y el
370
+ * arrastre abortado —que emitía `coInput`, escribía `value` y no commiteaba
371
+ * nunca, dejando al picker mostrando un color que el host jamás recibió—.
372
+ */
373
+ private finishHexEdit;
374
+ /** Vuelve al último color commiteado y retira el preview que quedó colgado. */
375
+ private revertToCommitted;
376
+ private handleHexBlur;
377
+ /** Enter cierra el gesto sin salir del campo (y no submitea ningún form). */
378
+ private handleHexKeyDown;
379
+ /**
380
+ * Sin interceptar el pegado, el escape convierte `rgb(2, 99, 235)` en
381
+ * `299235` — basura silenciosa que ADEMÁS commitea sola, porque el `input` que
382
+ * sigue al pegado nativo ve 6 dígitos válidos.
383
+ *
384
+ * `parseCssColor` no cubre nombres CSS (ver color.ts): `rebeccapurple` escapa
385
+ * a `EBECCA`, un hex perfectamente válido que nadie eligió. Por eso lo que no
386
+ * es un color se CANCELA en vez de dejarse caer al escape; lo único que pasa
387
+ * de largo es un hex o el principio de uno, para poder pegar `02` y seguir
388
+ * tipeando.
389
+ */
390
+ private handleHexPaste;
391
+ /**
392
+ * Chrome/Edge 95+ solamente (MDN, 2026-09-02): Firefox, Safari y Chrome
393
+ * Android no la tienen. Se resuelve en el render, no en una prop: si no está,
394
+ * el botón no existe. Un control deshabilitado sin explicar es peor que su
395
+ * ausencia — y una prop obligaría a cada host a repetir la detección.
396
+ *
397
+ * El `typeof window` es por el build de hydrate, donde no hay `window` y el
398
+ * `in` tiraría.
399
+ */
400
+ private get hasEyeDropper();
401
+ /**
402
+ * El cuentagotas entrega un color COMPLETO en un acto atómico, igual que un
403
+ * swatch o un pegado: entra por `commit` —no se duplica ni la asignación ni
404
+ * el emit— y se normaliza con `parseCssColor`, porque la API devuelve el hex
405
+ * en minúscula (`#ff0000`) y el resto del picker trabaja en mayúscula.
406
+ *
407
+ * ⚠️ `finishHexEdit` va PRIMERO y SÍNCRONO, antes del `await`: clickear otro
408
+ * control del panel es el fin del gesto del campo hex, y ese gesto puede
409
+ * durar lo que el usuario tarde en recorrer la pantalla. Sin esto, un texto a
410
+ * medias (`12`) se queda escrito y `hexEditing` colgado durante todo el
411
+ * cuentagotas, y si el usuario CANCELA nadie lo deshace: el preview vivo
412
+ * sobrevive a un gesto que no commiteó nada. Es el mismo cierre que hace el
413
+ * pegado, por la misma razón. Correrlo dos veces es inocuo (el blur real del
414
+ * navegador lo dispara también): la segunda pasada ve `hexEditing` en false y
415
+ * `value === committed`, y sale sin emitir.
416
+ */
417
+ private handleEyeDropper;
418
+ private renderHexRow;
63
419
  private handleCopy;
64
420
  render(): any;
65
421
  }
@@ -1,10 +1,113 @@
1
+ /**
2
+ * Lo que acepta el HOST por la prop `presets`.
3
+ *
4
+ * `key` es OPCIONAL a propósito: este tipo es **superficie pública** — se
5
+ * re-exporta desde `components.d.ts` y tipa la prop `presets` del componente.
6
+ * Volverla requerida rompe la compilación de todo consumidor que hoy pasa
7
+ * `[{ name, value }]`, que es un breaking change de tipo fuera del spec.
8
+ */
1
9
  export interface ColorPreset {
10
+ /** Clave estable para traducir el nombre en el host (form-vue traduce por acá). */
11
+ key?: string;
12
+ name: string;
13
+ value: string;
14
+ }
15
+ /**
16
+ * Lo que circula puertas adentro, ya normalizado: acá la `key` SÍ está
17
+ * garantizada. `resolvePreset` la rellena cuando el host no la trae.
18
+ *
19
+ * Tipo INTERNO: no aparece en `components.d.ts`, así que agregarle campos no
20
+ * es un breaking change para ningún host (el público es `ColorPreset`).
21
+ */
22
+ export interface ResolvedColorPreset {
23
+ key: string;
2
24
  name: string;
3
25
  value: string;
26
+ /**
27
+ * `true` cuando la `key` NO la declaró el host y se la inventamos nosotros.
28
+ *
29
+ * Es la diferencia entre "este host usa nuestra paleta" y "este host escribió
30
+ * colores sueltos". Importa porque DOCE de las diecisiete keys son nombres de
31
+ * color CSS (`black`, `green`, `red`…): sin la marca, un host que pasa
32
+ * `['black','green','red']` —la forma más fácil de escribir presets a mano—
33
+ * quedaría con dos grupos rotulados "Neutros"/"Colores de marca" para una
34
+ * paleta que no es la nuestra, o sea una frontera inventada para el lector de
35
+ * pantalla. Ausente (no `false`) cuando la key vino declarada, así que los
36
+ * literales de `DEFAULT_PRESETS` no tienen que repetirla.
37
+ */
38
+ synthesizedKey?: true;
39
+ }
40
+ /**
41
+ * Normaliza lo que llega por la prop `presets` a la forma interna, dejando
42
+ * anotado si la `key` vino declarada o se sintetizó.
43
+ *
44
+ * `ColorPreset.key` es OPCIONAL porque el tipo es superficie pública (lo
45
+ * re-exporta `components.d.ts`): exigirla rompería a todo host que hoy pasa
46
+ * `[{ name, value }]`. Puertas adentro la damos por garantizada, así que se
47
+ * rellena acá. Un hex suelto no tiene identidad traducible: su propio hex
48
+ * ES su identidad.
49
+ *
50
+ * Vive acá y no en el componente porque es el ÚNICO lugar que sintetiza keys, y
51
+ * `splitPaletteGroups` —su consumidor— depende de esa marca: separarlos deja el
52
+ * invariante a un import de distancia de romperse en silencio.
53
+ */
54
+ export declare const resolvePreset: (p: ColorPreset | string) => ResolvedColorPreset;
55
+ /**
56
+ * Paleta por default: 5 neutros + los 12 de marca (base.json).
57
+ * Los nombres vienen en inglés; el consumidor los traduce POR `key` — nunca
58
+ * duplicando la lista de valores, que fue lo que hizo derivar a FieldColor.vue.
59
+ *
60
+ * Sin blanco puro a propósito (spec §2): una etiqueta blanca desaparece sobre
61
+ * el fondo blanco. Los encabezados de documento lo pasan por la prop `presets`.
62
+ *
63
+ * Los hex son literales porque son DATA del picker, no estilo.
64
+ */
65
+ export declare const DEFAULT_PRESETS: ResolvedColorPreset[];
66
+ /**
67
+ * Los 5 primeros son neutros. Frontera ÚNICA: la grilla agrupa por acá y el
68
+ * seed sortea del resto. No repetir el `5` a mano en ningún otro lado.
69
+ */
70
+ export declare const NEUTRAL_PRESET_KEYS: readonly ["black", "gray", "silver", "smoke", "bone"];
71
+ /**
72
+ * Sólo las de marca, derivadas de la frontera. El seed aleatorio al CREAR un
73
+ * registro sortea de acá: nacer con una etiqueta gris es peor que el estado
74
+ * anterior.
75
+ */
76
+ export declare const BRAND_PRESET_KEYS: string[];
77
+ /** Los dos lados de la paleta, en el orden en que se renderizan. */
78
+ export interface PaletteSplit {
79
+ neutrals: ResolvedColorPreset[];
80
+ brand: ResolvedColorPreset[];
4
81
  }
5
82
  /**
6
- * Default color presets derived from Cobalt design tokens (base.json).
7
- * Uses primary colors + secondary-100 (full saturation, best contrast).
8
- * Names are English by default — consumers can override with translated presets.
83
+ * Parte una lista de presets en [neutros, marca], o devuelve `null` si no hay
84
+ * una partición que signifique algo.
85
+ *
86
+ * Se decide por MEMBRESÍA de `key`, nunca por identidad de referencia contra
87
+ * `DEFAULT_PRESETS`. La identidad es frágil por definición —dos arrays con el
88
+ * mismo contenido se comportan distinto— y ya costó un bug real: `FieldColor.vue`
89
+ * re-serializa la paleta para colgarle los nombres traducidos, así que llegaba
90
+ * como un array nuevo, caía en la rama "custom" y los `role="group"` +
91
+ * `aria-label` del spec §4 no se renderizaban NUNCA en la aplicación. La a11y
92
+ * existía sólo en los tests, que sí pasaban la paleta por identidad.
93
+ *
94
+ * Devuelve `null` en tres casos, y los tres terminan en un grupo único SIN
95
+ * rótulo:
96
+ * - alguna `key` la sintetizamos nosotros (`synthesizedKey`): el host no declaró
97
+ * nuestra paleta, y como doce de las keys son nombres de color CSS, mirar sólo
98
+ * el texto haría pasar por paleta nuestra a unos strings sueltos;
99
+ * - alguna `key` declarada es desconocida (paleta custom del host): no hay nada
100
+ * semántico que declarar;
101
+ * - falta alguno de los dos lados: un grupo solo no particiona nada, así que
102
+ * rotularlo anunciaría al lector de pantalla una frontera que no existe.
103
+ *
104
+ * ORDEN (decisión explícita): cuando la paleta se reconoce, se re-emite en orden
105
+ * canónico —neutros primero, marca después—, conservando el orden relativo del
106
+ * host DENTRO de cada lado. No es evitable: dos grupos contiguos no se pueden
107
+ * renderizar respetando un orden intercalado. Entre perder la agrupación
108
+ * semántica (spec §4) y perder un orden que el host no pudo curar sin adoptar
109
+ * antes nuestro vocabulario de keys, gana la agrupación. `flatPresets` y
110
+ * `focusedIndex` derivan de `presetGroups`, así que las flechas recorren el
111
+ * orden RENDERIZADO y no se desincronizan.
9
112
  */
10
- export declare const DEFAULT_PRESETS: ColorPreset[];
113
+ export declare function splitPaletteGroups(presets: ResolvedColorPreset[]): PaletteSplit | null;
@@ -107,6 +107,15 @@ export declare class CoDataTable {
107
107
  parsedFilteredFields: string[];
108
108
  parsedIndirectFields: string[];
109
109
  columnWidths: Map<string, number>;
110
+ /** field → ¿el label del header está cortado por el ellipsis? Alimenta el
111
+ * `disabled` del co-tooltip de cada header (tooltip SOLO cuando trunca). */
112
+ truncatedHeaders: Record<string, boolean>;
113
+ /** Nodos `.co-data-table__th-label` por field (DOM: Map no reactivo). */
114
+ private headerLabelEls;
115
+ private headerResizeObserver?;
116
+ /** Columnas cambiadas → re-medir tras el render (un cambio de texto con el
117
+ * mismo ancho no dispara el ResizeObserver). */
118
+ private headerMeasurePending;
110
119
  resizingColumn: string | null;
111
120
  resizeStartX: number;
112
121
  resizeStartWidth: number;
@@ -121,6 +130,8 @@ export declare class CoDataTable {
121
130
  parseFilteredFields(): void;
122
131
  parseIndirectFields(): void;
123
132
  componentWillLoad(): void;
133
+ componentDidLoad(): void;
134
+ disconnectedCallback(): void;
124
135
  componentDidRender(): void;
125
136
  private handleSort;
126
137
  private isAllSelected;
@@ -130,6 +141,10 @@ export declare class CoDataTable {
130
141
  private handleResizeStart;
131
142
  private handleRowClick;
132
143
  private handleRowDblClick;
144
+ /** Escritura guardada: misma referencia = sin re-render de la tabla. */
145
+ private measureHeaderTruncation;
146
+ /** ref del label: registra/observa al montar, limpia al desmontar (ref null). */
147
+ private registerHeaderLabel;
133
148
  private handleColumnPin;
134
149
  private handleColumnFilter;
135
150
  private formatCellValue;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Lógica pura del tooltip de header truncado (sin DOM real: testeable en vitest).
3
+ * Misma regla que co-list-item y `useEllipsisTooltip` de suite-v2: +1px de
4
+ * tolerancia porque el navegador redondea a enteros y 1px de más NO es corte.
5
+ */
6
+ export declare function isEllipsisTruncated(node: {
7
+ scrollWidth: number;
8
+ clientWidth: number;
9
+ } | null | undefined): boolean;
10
+ /**
11
+ * Próximo mapa field → truncado. Devuelve el MISMO objeto si nada cambió (un
12
+ * @State de Stencil se compara por referencia: escribir siempre re-renderiza la
13
+ * tabla entera en cada hover de header).
14
+ */
15
+ export declare function nextTruncatedHeaders(prev: Record<string, boolean>, field: string, truncated: boolean): Record<string, boolean>;
16
+ /**
17
+ * Mide TODOS los labels registrados (field → nodo) en una pasada y devuelve el
18
+ * próximo mapa; la MISMA referencia si ningún field cambió. Un field que ya no
19
+ * está registrado (columna quitada) desaparece del mapa.
20
+ */
21
+ export declare function measureTruncatedHeaders(prev: Record<string, boolean>, labels: Map<string, {
22
+ scrollWidth: number;
23
+ clientWidth: number;
24
+ }>): Record<string, boolean>;