@prolibu-suite/cobalt-core 0.10.0 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/custom-elements.json +481 -35
  2. package/dist/cjs/co-accordion.cjs.entry.js +33 -4
  3. package/dist/cjs/co-action-bar.cjs.entry.js +1 -1
  4. package/dist/cjs/co-audio-player.cjs.entry.js +82 -12
  5. package/dist/cjs/co-avatar.cjs.entry.js +72 -0
  6. package/dist/cjs/co-button.cjs.entry.js +1 -1
  7. package/dist/cjs/co-calendar_3.cjs.entry.js +7 -3
  8. package/dist/cjs/co-checkbox.cjs.entry.js +3 -3
  9. package/dist/cjs/co-chip_2.cjs.entry.js +68 -14
  10. package/dist/cjs/co-color-picker.cjs.entry.js +40 -10
  11. package/dist/cjs/co-column-picker.cjs.entry.js +1 -1
  12. package/dist/cjs/co-combobox.cjs.entry.js +1 -1
  13. package/dist/cjs/co-command-search.cjs.entry.js +1 -1
  14. package/dist/cjs/co-data-table.cjs.entry.js +82 -4
  15. package/dist/cjs/co-date-range-picker.cjs.entry.js +3 -1
  16. package/dist/cjs/co-emoji-picker.cjs.entry.js +1 -1
  17. package/dist/cjs/co-file-type-tile.cjs.entry.js +23 -7
  18. package/dist/cjs/co-input.cjs.entry.js +6 -2
  19. package/dist/cjs/co-menu-item.cjs.entry.js +1 -1
  20. package/dist/cjs/co-modal.cjs.entry.js +7 -3
  21. package/dist/cjs/co-navbar.cjs.entry.js +2 -2
  22. package/dist/cjs/co-number-field.cjs.entry.js +3 -3
  23. package/dist/cjs/co-overlay.cjs.entry.js +1 -1
  24. package/dist/cjs/co-page-header.cjs.entry.js +1 -1
  25. package/dist/cjs/co-phone-field.cjs.entry.js +5 -5
  26. package/dist/cjs/co-progress-bar.cjs.entry.js +2 -2
  27. package/dist/cjs/co-progress-circle.cjs.entry.js +2 -2
  28. package/dist/cjs/co-provider-logo_2.cjs.entry.js +1 -1
  29. package/dist/cjs/co-radio.cjs.entry.js +3 -3
  30. package/dist/cjs/co-rating.cjs.entry.js +3 -3
  31. package/dist/cjs/co-ref-field.cjs.entry.js +100 -9
  32. package/dist/cjs/co-rich-text-editor.cjs.entry.js +30 -10
  33. package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +5 -2
  34. package/dist/cjs/co-rich-text-viewer.cjs.entry.js +19 -3
  35. package/dist/cjs/co-row.cjs.entry.js +2 -2
  36. package/dist/cjs/co-select.cjs.entry.js +8 -8
  37. package/dist/cjs/co-separator.cjs.entry.js +1 -1
  38. package/dist/cjs/co-sidebar-nav.cjs.entry.js +1 -1
  39. package/dist/cjs/co-sidebar.cjs.entry.js +2 -2
  40. package/dist/cjs/co-slider.cjs.entry.js +2 -2
  41. package/dist/cjs/co-switch.cjs.entry.js +3 -3
  42. package/dist/cjs/co-tab-group.cjs.entry.js +2 -2
  43. package/dist/cjs/co-tab.cjs.entry.js +2 -2
  44. package/dist/cjs/co-tags-field.cjs.entry.js +5 -5
  45. package/dist/cjs/co-textarea.cjs.entry.js +4 -4
  46. package/dist/cjs/co-time-field.cjs.entry.js +1 -1
  47. package/dist/cjs/co-toggle-button-group.cjs.entry.js +3 -3
  48. package/dist/cjs/co-toggle-button.cjs.entry.js +3 -3
  49. package/dist/cjs/{co-avatar_2.cjs.entry.js → co-tooltip.cjs.entry.js} +2 -70
  50. package/dist/cjs/co-video.cjs.entry.js +2 -2
  51. package/dist/cjs/cobalt.cjs.js +1 -1
  52. package/dist/cjs/{index-BYwrR87Z.js → index-2kMmd5-a.js} +6717 -6654
  53. package/dist/cjs/index-MDAnKsze.js +16 -12
  54. package/dist/cjs/loader.cjs.js +1 -1
  55. package/dist/cjs/{normalizeText-B-v-XPKf.js → normalizeText-D9rlJWZa.js} +29 -18
  56. package/dist/cjs/{toolbar-config-BSGas-Wl.js → toolbar-config-CYACt9hh.js} +13 -1
  57. package/dist/cobalt/cobalt.esm.js +1 -1
  58. package/dist/cobalt/{p-82266f11.entry.js → p-000a15b8.entry.js} +1 -1
  59. package/dist/cobalt/{p-e01f9b9a.entry.js → p-0c004735.entry.js} +1 -1
  60. package/dist/cobalt/{p-16954cea.entry.js → p-11c5ce78.entry.js} +1 -1
  61. package/dist/cobalt/{p-c465d619.entry.js → p-1861fe41.entry.js} +1 -1
  62. package/dist/cobalt/p-1cc818ca.entry.js +1 -0
  63. package/dist/cobalt/p-216a63ee.entry.js +1 -0
  64. package/dist/cobalt/p-24196410.entry.js +1 -0
  65. package/dist/cobalt/{p-4d897896.entry.js → p-28764b8e.entry.js} +1 -1
  66. package/dist/cobalt/{p-1a589c8e.entry.js → p-292b0389.entry.js} +1 -1
  67. package/dist/cobalt/{p-73c6d735.entry.js → p-2a30c143.entry.js} +1 -1
  68. package/dist/cobalt/{p-e8a4e6b0.entry.js → p-2c9dba2f.entry.js} +1 -1
  69. package/dist/cobalt/{p-83ea631d.entry.js → p-39a50e7f.entry.js} +1 -1
  70. package/dist/cobalt/p-39dc4ec8.entry.js +1 -0
  71. package/dist/cobalt/{p-325b91b6.entry.js → p-3d31c575.entry.js} +1 -1
  72. package/dist/cobalt/p-416795f5.entry.js +1 -0
  73. package/dist/cobalt/{p-37f5036b.entry.js → p-49834b8e.entry.js} +1 -1
  74. package/dist/cobalt/{p-54c987d7.entry.js → p-5a3e4c81.entry.js} +1 -1
  75. package/dist/cobalt/p-5c756787.entry.js +1 -0
  76. package/dist/cobalt/{p-27a7e549.entry.js → p-67f3b9d6.entry.js} +1 -1
  77. package/dist/cobalt/{p-bd683db3.entry.js → p-6a4f3179.entry.js} +1 -1
  78. package/dist/cobalt/{p-b565104d.entry.js → p-6dd220e0.entry.js} +1 -1
  79. package/dist/cobalt/{p-eb063cc0.entry.js → p-71cbc53c.entry.js} +1 -1
  80. package/dist/cobalt/p-72e52af7.entry.js +1 -0
  81. package/dist/cobalt/{p-50bcc76f.entry.js → p-7b5c555c.entry.js} +1 -1
  82. package/dist/cobalt/{p-10b82207.entry.js → p-8471abe2.entry.js} +1 -1
  83. package/dist/cobalt/{p-fe7e8813.entry.js → p-8530ad16.entry.js} +1 -1
  84. package/dist/cobalt/p-8a74bf7d.entry.js +1 -0
  85. package/dist/cobalt/{p-ea20f048.entry.js → p-8ebc0c12.entry.js} +1 -1
  86. package/dist/cobalt/p-8f2199ff.entry.js +1 -0
  87. package/dist/cobalt/p-9246e09c.entry.js +1 -0
  88. package/dist/cobalt/p-99a655f6.entry.js +1 -0
  89. package/dist/cobalt/{p-DOL2zACE.js → p-BAYo-RBt.js} +1 -1
  90. package/dist/cobalt/p-Ba_v-MzM.js +1 -0
  91. package/dist/cobalt/{p-Bryf3-Js.js → p-CJW9H3Gi.js} +1 -1
  92. package/dist/cobalt/p-a1b422ca.entry.js +1 -0
  93. package/dist/cobalt/p-a2462d7a.entry.js +1 -0
  94. package/dist/cobalt/p-ade07307.entry.js +1 -0
  95. package/dist/cobalt/{p-5298c030.entry.js → p-b437eff6.entry.js} +1 -1
  96. package/dist/cobalt/p-b698188c.entry.js +1 -0
  97. package/dist/cobalt/{p-6bf6bc3e.entry.js → p-b821d9de.entry.js} +1 -1
  98. package/dist/cobalt/p-bde32f8b.entry.js +1 -0
  99. package/dist/cobalt/{p-92b092db.entry.js → p-be34e447.entry.js} +1 -1
  100. package/dist/cobalt/{p-ad33c40e.entry.js → p-c30b4cb5.entry.js} +1 -1
  101. package/dist/cobalt/p-c7d7d7f7.entry.js +1 -0
  102. package/dist/cobalt/{p-aae86f96.entry.js → p-d0b2c418.entry.js} +1 -1
  103. package/dist/cobalt/p-d375014b.entry.js +1 -0
  104. package/dist/cobalt/p-eadfd661.entry.js +1 -0
  105. package/dist/cobalt/p-ee149fd2.entry.js +1 -0
  106. package/dist/cobalt/p-ef301976.entry.js +1 -0
  107. package/dist/cobalt/{p-fd150cc6.entry.js → p-f7eb1a40.entry.js} +1 -1
  108. package/dist/cobalt/p-f9a7b7c6.entry.js +1 -0
  109. package/dist/cobalt/{p-f68dd124.entry.js → p-fb2d1144.entry.js} +1 -1
  110. package/dist/collection/components/co-accordion/co-accordion.css +11 -4
  111. package/dist/collection/components/co-accordion/co-accordion.js +37 -6
  112. package/dist/collection/components/co-action-bar/co-action-bar.css +9 -2
  113. package/dist/collection/components/co-audio-player/co-audio-player.js +138 -12
  114. package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
  115. package/dist/collection/components/co-avatar/co-avatar.css +22 -1
  116. package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
  117. package/dist/collection/components/co-button/co-button.css +15 -3
  118. package/dist/collection/components/co-calendar/co-calendar.css +10 -4
  119. package/dist/collection/components/co-calendar/co-calendar.js +6 -2
  120. package/dist/collection/components/co-checkbox/co-checkbox.js +22 -3
  121. package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
  122. package/dist/collection/components/co-color-picker/co-color-picker.js +40 -10
  123. package/dist/collection/components/co-combobox/co-combobox.js +1 -1
  124. package/dist/collection/components/co-command-search/co-command-search.js +1 -1
  125. package/dist/collection/components/co-data-table/co-data-table.css +63 -2
  126. package/dist/collection/components/co-data-table/co-data-table.js +59 -4
  127. package/dist/collection/components/co-data-table/headerTruncationLogic.js +34 -0
  128. package/dist/collection/components/co-date-range-picker/co-date-range-picker.css +13 -0
  129. package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +4 -2
  130. package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +4 -43
  131. package/dist/collection/components/co-file-type-tile/co-file-type-tile.utils.js +55 -0
  132. package/dist/collection/components/co-input/co-input.js +17 -5
  133. package/dist/collection/components/co-menu-item/co-menu-item.css +9 -0
  134. package/dist/collection/components/co-modal/co-modal.css +6 -0
  135. package/dist/collection/components/co-modal/co-modal.js +33 -2
  136. package/dist/collection/components/co-navbar/co-navbar.js +2 -2
  137. package/dist/collection/components/co-number-field/co-number-field.js +3 -3
  138. package/dist/collection/components/co-option-list/co-option-list.js +38 -7
  139. package/dist/collection/components/co-option-list/optionListLogic.js +31 -8
  140. package/dist/collection/components/co-overlay/co-overlay.js +1 -1
  141. package/dist/collection/components/co-page-header/co-page-header.js +1 -1
  142. package/dist/collection/components/co-phone-field/co-phone-field.js +5 -5
  143. package/dist/collection/components/co-popover/co-popover.js +1 -1
  144. package/dist/collection/components/co-progress-bar/co-progress-bar.js +2 -2
  145. package/dist/collection/components/co-progress-circle/co-progress-circle.js +2 -2
  146. package/dist/collection/components/co-radio/co-radio.js +3 -3
  147. package/dist/collection/components/co-radio-group/co-radio-group.js +1 -1
  148. package/dist/collection/components/co-rating/co-rating.js +3 -3
  149. package/dist/collection/components/co-ref-field/co-ref-field.css +40 -0
  150. package/dist/collection/components/co-ref-field/co-ref-field.js +207 -11
  151. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.css +22 -0
  152. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +48 -8
  153. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.css +52 -0
  154. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +25 -2
  155. package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.css +5 -0
  156. package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.js +17 -1
  157. package/dist/collection/components/co-row/co-row.js +2 -2
  158. package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +1 -1
  159. package/dist/collection/components/co-select/co-select.js +28 -9
  160. package/dist/collection/components/co-separator/co-separator.js +1 -1
  161. package/dist/collection/components/co-sidebar/co-sidebar.js +2 -2
  162. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +1 -1
  163. package/dist/collection/components/co-skeleton/co-skeleton.js +1 -1
  164. package/dist/collection/components/co-slider/co-slider.js +2 -2
  165. package/dist/collection/components/co-switch/co-switch.js +3 -3
  166. package/dist/collection/components/co-tab/co-tab.js +2 -2
  167. package/dist/collection/components/co-tab-group/co-tab-group.js +2 -2
  168. package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
  169. package/dist/collection/components/co-textarea/co-textarea.js +4 -4
  170. package/dist/collection/components/co-time-field/co-time-field.js +1 -1
  171. package/dist/collection/components/co-toast/co-toast.js +2 -2
  172. package/dist/collection/components/co-toggle-button/co-toggle-button.css +6 -5
  173. package/dist/collection/components/co-toggle-button/co-toggle-button.js +2 -2
  174. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.css +9 -5
  175. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +2 -2
  176. package/dist/collection/components/co-tooltip/co-tooltip.js +2 -2
  177. package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
  178. package/dist/collection/components/co-video/co-video.js +2 -2
  179. package/dist/collection/utils/normalizeText.js +43 -0
  180. package/dist/components/co-accordion.js +1 -1
  181. package/dist/components/co-action-bar.js +1 -1
  182. package/dist/components/co-audio-player.js +1 -1
  183. package/dist/components/co-autocomplete.js +1 -1
  184. package/dist/components/co-avatar-group.js +1 -1
  185. package/dist/components/co-avatar.js +1 -1
  186. package/dist/components/co-button.js +1 -1
  187. package/dist/components/co-calendar-month.js +1 -1
  188. package/dist/components/co-calendar-timegrid.js +1 -1
  189. package/dist/components/co-calendar.js +1 -1
  190. package/dist/components/co-checkbox.js +1 -1
  191. package/dist/components/co-color-picker.js +1 -1
  192. package/dist/components/co-column-picker.js +1 -1
  193. package/dist/components/co-combobox.js +1 -1
  194. package/dist/components/co-command-search.js +1 -1
  195. package/dist/components/co-data-table.js +1 -1
  196. package/dist/components/co-date-picker.js +1 -1
  197. package/dist/components/co-date-range-picker.js +1 -1
  198. package/dist/components/co-date-range.js +1 -1
  199. package/dist/components/co-date-time-picker.js +1 -1
  200. package/dist/components/co-drawer.js +1 -1
  201. package/dist/components/co-drive-card.js +1 -1
  202. package/dist/components/co-emoji-picker.js +1 -1
  203. package/dist/components/co-event-calendar.js +1 -1
  204. package/dist/components/co-file-field.js +1 -1
  205. package/dist/components/co-file-type-tile.js +1 -1
  206. package/dist/components/co-input.js +1 -1
  207. package/dist/components/co-lightbox.js +1 -1
  208. package/dist/components/co-list-item.js +1 -1
  209. package/dist/components/co-menu-item.js +1 -1
  210. package/dist/components/co-modal.js +1 -1
  211. package/dist/components/co-navbar.js +1 -1
  212. package/dist/components/co-number-field.js +1 -1
  213. package/dist/components/co-option-list.js +1 -1
  214. package/dist/components/co-overlay.js +1 -1
  215. package/dist/components/co-page-header.js +1 -1
  216. package/dist/components/co-phone-field.js +1 -1
  217. package/dist/components/co-progress-bar.js +1 -1
  218. package/dist/components/co-progress-circle.js +1 -1
  219. package/dist/components/co-radio.js +1 -1
  220. package/dist/components/co-rating.js +1 -1
  221. package/dist/components/co-ref-field.js +1 -1
  222. package/dist/components/co-rich-text-editor.js +1 -1
  223. package/dist/components/co-rich-text-toolbar.js +1 -1
  224. package/dist/components/co-rich-text-viewer.js +1 -1
  225. package/dist/components/co-row.js +1 -1
  226. package/dist/components/co-select.js +1 -1
  227. package/dist/components/co-separator.js +1 -1
  228. package/dist/components/co-sidebar-nav.js +1 -1
  229. package/dist/components/co-sidebar.js +1 -1
  230. package/dist/components/co-skeleton.js +1 -1
  231. package/dist/components/co-slider.js +1 -1
  232. package/dist/components/co-switch.js +1 -1
  233. package/dist/components/co-tab-group.js +1 -1
  234. package/dist/components/co-tab.js +1 -1
  235. package/dist/components/co-tags-field.js +1 -1
  236. package/dist/components/co-textarea.js +1 -1
  237. package/dist/components/co-time-field.js +1 -1
  238. package/dist/components/co-toggle-button-group.js +1 -1
  239. package/dist/components/co-toggle-button.js +1 -1
  240. package/dist/components/co-tooltip.js +1 -1
  241. package/dist/components/co-video.js +1 -1
  242. package/dist/components/{p-CXPRaTuo.js → p-2EOI1nrz.js} +1 -1
  243. package/dist/components/p-7TncUlLN.js +1 -0
  244. package/dist/components/{p-DOL2zACE.js → p-BAYo-RBt.js} +1 -1
  245. package/dist/components/p-Ba_v-MzM.js +1 -0
  246. package/dist/components/p-BhCVadcA.js +1 -0
  247. package/dist/components/p-BrAFTkAn.js +1 -0
  248. package/dist/components/{p-DIo66nBr.js → p-Bsh0JMGf.js} +1 -1
  249. package/dist/components/{p-x4grh-eZ.js → p-CBTGN490.js} +1 -1
  250. package/dist/components/{p-Bryf3-Js.js → p-CJW9H3Gi.js} +1 -1
  251. package/dist/components/p-CWCYYQrF.js +1 -0
  252. package/dist/components/p-D7Lhxz7L.js +1 -0
  253. package/dist/components/{p-BxP8OBw6.js → p-DFlJMEJ-.js} +1 -1
  254. package/dist/components/p-DTPYZwaZ.js +1 -0
  255. package/dist/components/{p-Be_kyNRE.js → p-Dc_Kbari.js} +1 -1
  256. package/dist/components/{p-B1QFLcY9.js → p-Dcg4krSX.js} +1 -1
  257. package/dist/components/p-DrTRB8Ev.js +1 -0
  258. package/dist/components/{p-BBP5__CY.js → p-DvR45CLa.js} +1 -1
  259. package/dist/components/{p-CnX3L8aF.js → p-DxtNejr2.js} +1 -1
  260. package/dist/components/{p-DkDTmHCg.js → p-Nt4JJxbL.js} +1 -1
  261. package/dist/components/{p-Bv6U5y3d.js → p-uxdXViMV.js} +1 -1
  262. package/dist/esm/co-accordion.entry.js +33 -4
  263. package/dist/esm/co-action-bar.entry.js +1 -1
  264. package/dist/esm/co-audio-player.entry.js +82 -12
  265. package/dist/esm/co-avatar.entry.js +70 -0
  266. package/dist/esm/co-button.entry.js +1 -1
  267. package/dist/esm/co-calendar_3.entry.js +7 -3
  268. package/dist/esm/co-checkbox.entry.js +3 -3
  269. package/dist/esm/co-chip_2.entry.js +68 -14
  270. package/dist/esm/co-color-picker.entry.js +40 -10
  271. package/dist/esm/co-column-picker.entry.js +1 -1
  272. package/dist/esm/co-combobox.entry.js +1 -1
  273. package/dist/esm/co-command-search.entry.js +1 -1
  274. package/dist/esm/co-data-table.entry.js +82 -4
  275. package/dist/esm/co-date-range-picker.entry.js +3 -1
  276. package/dist/esm/co-emoji-picker.entry.js +1 -1
  277. package/dist/esm/co-file-type-tile.entry.js +23 -7
  278. package/dist/esm/co-input.entry.js +6 -2
  279. package/dist/esm/co-menu-item.entry.js +1 -1
  280. package/dist/esm/co-modal.entry.js +7 -3
  281. package/dist/esm/co-navbar.entry.js +2 -2
  282. package/dist/esm/co-number-field.entry.js +3 -3
  283. package/dist/esm/co-overlay.entry.js +1 -1
  284. package/dist/esm/co-page-header.entry.js +1 -1
  285. package/dist/esm/co-phone-field.entry.js +5 -5
  286. package/dist/esm/co-progress-bar.entry.js +2 -2
  287. package/dist/esm/co-progress-circle.entry.js +2 -2
  288. package/dist/esm/co-provider-logo_2.entry.js +1 -1
  289. package/dist/esm/co-radio.entry.js +3 -3
  290. package/dist/esm/co-rating.entry.js +3 -3
  291. package/dist/esm/co-ref-field.entry.js +100 -9
  292. package/dist/esm/co-rich-text-editor.entry.js +30 -10
  293. package/dist/esm/co-rich-text-toolbar.entry.js +5 -2
  294. package/dist/esm/co-rich-text-viewer.entry.js +19 -3
  295. package/dist/esm/co-row.entry.js +2 -2
  296. package/dist/esm/co-select.entry.js +8 -8
  297. package/dist/esm/co-separator.entry.js +1 -1
  298. package/dist/esm/co-sidebar-nav.entry.js +1 -1
  299. package/dist/esm/co-sidebar.entry.js +2 -2
  300. package/dist/esm/co-slider.entry.js +2 -2
  301. package/dist/esm/co-switch.entry.js +3 -3
  302. package/dist/esm/co-tab-group.entry.js +2 -2
  303. package/dist/esm/co-tab.entry.js +2 -2
  304. package/dist/esm/co-tags-field.entry.js +5 -5
  305. package/dist/esm/co-textarea.entry.js +4 -4
  306. package/dist/esm/co-time-field.entry.js +1 -1
  307. package/dist/esm/co-toggle-button-group.entry.js +3 -3
  308. package/dist/esm/co-toggle-button.entry.js +3 -3
  309. package/dist/esm/{co-avatar_2.entry.js → co-tooltip.entry.js} +3 -70
  310. package/dist/esm/co-video.entry.js +2 -2
  311. package/dist/esm/cobalt.js +1 -1
  312. package/dist/esm/{index-68iUQp5j.js → index-BBIYyvq-.js} +6717 -6654
  313. package/dist/esm/index-DH5lfRNj.js +16 -12
  314. package/dist/esm/loader.js +1 -1
  315. package/dist/esm/{normalizeText-CQY6Ul7q.js → normalizeText-Ba_v-MzM.js} +29 -18
  316. package/dist/esm/{toolbar-config-DOL2zACE.js → toolbar-config-BAYo-RBt.js} +13 -1
  317. package/dist/types/components/co-accordion/co-accordion.d.ts +17 -2
  318. package/dist/types/components/co-audio-player/co-audio-player.d.ts +25 -0
  319. package/dist/types/components/co-checkbox/co-checkbox.d.ts +4 -0
  320. package/dist/types/components/co-color-picker/co-color-picker.d.ts +4 -2
  321. package/dist/types/components/co-data-table/co-data-table.d.ts +15 -0
  322. package/dist/types/components/co-data-table/headerTruncationLogic.d.ts +24 -0
  323. package/dist/types/components/co-file-type-tile/co-file-type-tile.utils.d.ts +12 -0
  324. package/dist/types/components/co-input/co-input.d.ts +5 -1
  325. package/dist/types/components/co-modal/co-modal.d.ts +10 -0
  326. package/dist/types/components/co-option-list/co-option-list.d.ts +13 -0
  327. package/dist/types/components/co-option-list/optionListLogic.d.ts +23 -6
  328. package/dist/types/components/co-ref-field/co-ref-field.d.ts +38 -0
  329. package/dist/types/components/co-rich-text-editor/co-rich-text-editor.d.ts +7 -0
  330. package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +4 -1
  331. package/dist/types/components/co-select/co-select.d.ts +6 -0
  332. package/dist/types/components.d.ts +120 -14
  333. package/dist/types/utils/normalizeText.d.ts +13 -0
  334. package/package.json +2 -2
  335. package/dist/cobalt/p-15d59169.entry.js +0 -1
  336. package/dist/cobalt/p-1788aab5.entry.js +0 -1
  337. package/dist/cobalt/p-20a39218.entry.js +0 -1
  338. package/dist/cobalt/p-3cc3ff93.entry.js +0 -1
  339. package/dist/cobalt/p-4908f33f.entry.js +0 -1
  340. package/dist/cobalt/p-63825d7f.entry.js +0 -1
  341. package/dist/cobalt/p-66b11b38.entry.js +0 -1
  342. package/dist/cobalt/p-6f700f0d.entry.js +0 -1
  343. package/dist/cobalt/p-83a9a05a.entry.js +0 -1
  344. package/dist/cobalt/p-85501c6a.entry.js +0 -1
  345. package/dist/cobalt/p-88195a63.entry.js +0 -1
  346. package/dist/cobalt/p-8fa5dc4a.entry.js +0 -1
  347. package/dist/cobalt/p-CQY6Ul7q.js +0 -1
  348. package/dist/cobalt/p-b0c4fc71.entry.js +0 -1
  349. package/dist/cobalt/p-b1e8d69e.entry.js +0 -1
  350. package/dist/cobalt/p-b48917c9.entry.js +0 -1
  351. package/dist/cobalt/p-c124e82b.entry.js +0 -1
  352. package/dist/cobalt/p-c32c176a.entry.js +0 -1
  353. package/dist/cobalt/p-e48f4e45.entry.js +0 -1
  354. package/dist/cobalt/p-e8a2f993.entry.js +0 -1
  355. package/dist/cobalt/p-eb8691f2.entry.js +0 -1
  356. package/dist/cobalt/p-ef5ca521.entry.js +0 -1
  357. package/dist/components/p-9ceBPSd1.js +0 -1
  358. package/dist/components/p-B2IsXte7.js +0 -1
  359. package/dist/components/p-BsTO1uUA.js +0 -1
  360. package/dist/components/p-CFFDmGPS.js +0 -1
  361. package/dist/components/p-CQY6Ul7q.js +0 -1
  362. package/dist/components/p-Cl3AdEQJ.js +0 -1
  363. package/dist/components/p-HxVRXXXC.js +0 -1
  364. package/dist/components/p-vby0ITbe.js +0 -1
@@ -0,0 +1 @@
1
+ import{r as t,c as i,h as a}from"./p-DH5lfRNj.js";function s(t){if(!Number.isFinite(t)||t<0)return"--:--";const i=Math.floor(t);return`${Math.floor(i/60)}:${(i%60).toString().padStart(2,"0")}`}function e(t,i){const a=t.length;if(!a||i<=0)return[];const s=Math.max(1,Math.floor(a/i)),e=[];for(let o=0;o<i;o++){let i=0;const r=o*s;for(let e=r;e<r+s&&e<a;e++){const a=Math.abs(t[e]);a>i&&(i=a)}e.push(.12+.88*i)}return e}function o(t){if(t<=0)return[];const i=[];for(let a=0;a<t;a++){const s=.6*Math.sin(a/Math.max(1,t)*Math.PI)+.3,e=.75+.25*Math.abs(Math.sin(1.7*a));i.push(.12+s*e*.88)}return i}const r=class{constructor(a){t(this,a),this.coPlay=i(this,"coPlay",7),this.coPause=i(this,"coPause",7),this.coEnded=i(this,"coEnded",7),this.coError=i(this,"coError",7),this.coTimeUpdate=i(this,"coTimeUpdate",3),this.compact=!1,this.bars=64,this.barDensity=3,this.preload="metadata",this.downloadFilename="audio",this.noDownload=!1,this.isPlaying=!1,this.isLoading=!1,this.hasError=!1,this.currentTime=0,this.duration=NaN,this.peaks=[],this.containerWidth=0,this.playbackRate=1,this.rawChannelData=null,this.decodedDuration=NaN,this.loadToken=0,this.onMeta=()=>{this.syncDuration(),this.applyPendingSeek()},this.pendingSeek=null,this.onCanPlay=()=>{this.isLoading=!1,this.applyPendingSeek()},this.onWaiting=()=>{this.isLoading=!0},this.onTime=()=>{var t;this.currentTime=(null===(t=this.audio)||void 0===t?void 0:t.currentTime)||0,this.coTimeUpdate.emit({currentTime:this.currentTime,duration:this.knownDuration})},this.onEnded=()=>{this.isPlaying=!1,this.currentTime=0,this.coEnded.emit()},this.onErr=t=>{this.isLoading=!1,this.hasError=!0,this.coError.emit(t)},this.toggle=()=>{this.audio&&!this.hasError&&(this.isPlaying?(this.audio.pause(),this.isPlaying=!1,this.coPause.emit()):this.audio.play().then((()=>{this.isPlaying=!0,this.coPlay.emit()})).catch((()=>{})))},this.SPEEDS=[1,1.5,2,.5],this.cycleSpeed=()=>{const t=this.SPEEDS.indexOf(this.playbackRate);this.playbackRate=this.SPEEDS[(t+1)%this.SPEEDS.length],this.audio&&(this.audio.playbackRate=this.playbackRate)},this.seekAt=t=>{const i=this.knownDuration;if(!this.audio||!this.waveEl||!i)return;const a=function(t,i){return i.width?Math.max(0,Math.min(1,(t-i.left)/i.width)):0}(t,this.waveEl.getBoundingClientRect());this.audio.currentTime=a*i,this.currentTime=this.audio.currentTime},this.onWaveKey=t=>{if(" "===t.key||"Enter"===t.key)return t.preventDefault(),void this.toggle();if(!this.audio)return;const i=this.knownDuration,a=this.audio.currentTime;if("ArrowRight"===t.key)this.audio.currentTime=i?Math.min(i,a+5):a+5;else{if("ArrowLeft"!==t.key)return;this.audio.currentTime=Math.max(0,a-5)}this.currentTime=this.audio.currentTime}}get knownDuration(){return Number.isFinite(this.duration)&&this.duration>0?this.duration:0}get effectiveBars(){return this.containerWidth>0?Math.max(24,Math.floor(this.containerWidth/this.barDensity)):this.bars}componentWillLoad(){this.init()}componentDidLoad(){if("undefined"==typeof ResizeObserver||!this.waveEl)return;this.resizeObserver=new ResizeObserver((t=>{var i;for(const a of t){const t=(null===(i=a.contentRect)||void 0===i?void 0:i.width)||a.target.clientWidth||0;t>2&&Math.abs(t-this.containerWidth)>2&&(this.containerWidth=t,this.rebuildBars())}})),this.resizeObserver.observe(this.waveEl);const t=this.waveEl.clientWidth||0;t>2&&(this.containerWidth=t,this.rebuildBars())}disconnectedCallback(){var t;this.loadToken++,this.teardown(),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),this.resizeObserver=void 0}onSrcChange(){this.init()}rebuildBars(){this.peaks=this.rawChannelData?e(this.rawChannelData,this.effectiveBars):o(this.effectiveBars)}init(){this.teardown();const t=++this.loadToken;if(this.rawChannelData=null,this.decodedDuration=NaN,this.peaks=o(this.effectiveBars),this.currentTime=0,this.duration=NaN,this.playbackRate=1,this.hasError=!1,!this.src)return;if(this.isLoading=!0,this.extractPeaks(this.src,t),"undefined"==typeof Audio)return;const i=new Audio;i.preload=this.preload,i.crossOrigin="anonymous",i.src=this.src,i.addEventListener("loadedmetadata",this.onMeta),i.addEventListener("timeupdate",this.onTime),i.addEventListener("ended",this.onEnded),i.addEventListener("error",this.onErr),i.addEventListener("canplay",this.onCanPlay),i.addEventListener("waiting",this.onWaiting),this.audio=i}teardown(){this.audio&&(this.audio.pause(),this.audio.removeEventListener("loadedmetadata",this.onMeta),this.audio.removeEventListener("timeupdate",this.onTime),this.audio.removeEventListener("ended",this.onEnded),this.audio.removeEventListener("error",this.onErr),this.audio.removeEventListener("canplay",this.onCanPlay),this.audio.removeEventListener("waiting",this.onWaiting),this.audio.src="",this.audio=void 0),this.isPlaying=!1}async extractPeaks(t,i){var a;let s;try{const a=window.OfflineAudioContext||window.webkitOfflineAudioContext,o=window.AudioContext||window.webkitAudioContext;if(!a&&!o||"undefined"==typeof fetch)return;s=a?new a(1,1,44100):new o;const r=await(await fetch(t)).arrayBuffer(),h=await s.decodeAudioData(r);if(i!==this.loadToken)return;this.rawChannelData=h.getChannelData(0),this.decodedDuration=h.duration,this.peaks=e(this.rawChannelData,this.effectiveBars)}catch(t){if(i!==this.loadToken)return;this.rawChannelData=null,this.decodedDuration=NaN,this.peaks=o(this.effectiveBars)}finally{try{await(null===(a=null==s?void 0:s.close)||void 0===a?void 0:a.call(s))}catch(t){}}i===this.loadToken&&this.syncDuration()}syncDuration(){var t,i;const a=(s=null!==(i=null===(t=this.audio)||void 0===t?void 0:t.duration)&&void 0!==i?i:NaN,e=this.decodedDuration,Number.isFinite(s)&&s>0?s:Number.isFinite(e)&&e>0?e:NaN);var s,e;Object.is(a,this.duration)||(this.duration=a)}applyPendingSeek(){if(null==this.pendingSeek||!this.audio)return;const t=this.pendingSeek;this.pendingSeek=null,this.audio.currentTime=t,this.currentTime=this.audio.currentTime,this.coTimeUpdate.emit({currentTime:this.currentTime,duration:this.knownDuration})}async seek(t){var i;if(!this.audio||!Number.isFinite(t))return;const a=this.knownDuration,s=a?Math.max(0,Math.min(a,t)):Math.max(0,t);this.audio.currentTime=s,Math.abs((null!==(i=this.audio.currentTime)&&void 0!==i?i:0)-s)>.05&&(this.pendingSeek=s),this.currentTime=s,this.coTimeUpdate.emit({currentTime:this.currentTime,duration:a})}async play(){if(this.audio&&!this.isPlaying&&!this.hasError)try{await this.audio.play(),this.isPlaying=!0,this.coPlay.emit()}catch(t){}}async download(){if(this.src&&"undefined"!=typeof fetch)try{const t=await(await fetch(this.src)).blob(),i=URL.createObjectURL(t),a=document.createElement("a");a.href=i,a.download=this.downloadFilename,document.body.appendChild(a),a.click(),a.remove(),URL.revokeObjectURL(i)}catch(t){}}render(){const t=Math.max(1,3*this.peaks.length),i=this.knownDuration,e=i?this.currentTime/i*100:0,o=i?Math.floor(i):void 0,r=(t,i,s=!1)=>a("rect",{key:"7cbeb92ef52ffc865077340d72bae11139ced551",x:3*i,y:20-40*t/2,width:1.8,height:Math.max(40*t,2),rx:.6,class:{"co-audio-player__bar":!0,"co-audio-player__bar--played":s}});return a("div",{key:"34078ed0540dc72c87644c3ae830b3a2ff43a99e",class:{"co-audio-player":!0,"co-audio-player--compact":this.compact,"co-audio-player--error":this.hasError,"co-audio-player--playing":this.isPlaying},part:"player"},a("button",{key:"7f692d951704a6e101f77512967d4b206f985e18",type:"button",class:"co-audio-player__play",part:"play","aria-label":this.hasError?"Audio no disponible":this.isPlaying?"Pausar":"Reproducir","aria-busy":this.isLoading?"true":"false",disabled:this.hasError||!this.src,onClick:this.toggle},a("co-icon",{key:"fdc0a0a0703189efe10bbc1b1182572d1120a347",name:this.hasError?"warning-circle":this.isPlaying?"pause":"play",weight:"fill",size:this.compact?12:14})),a("div",{key:"6842ce24993895bf70461a28eb837a0558d277d7",class:"co-audio-player__wave",part:"wave",role:"slider",tabindex:"0","aria-label":"Progreso de reproducción","aria-valuemin":0,"aria-valuemax":o,"aria-valuenow":Math.floor(this.currentTime),ref:t=>this.waveEl=t,onClick:t=>this.seekAt(t.clientX),onKeyDown:this.onWaveKey},a("svg",{key:"e75c5e1f78633194608758f43a47987bc28c2081",class:"co-audio-player__svg",viewBox:`0 0 ${t} 40`,preserveAspectRatio:"none","aria-hidden":"true"},this.peaks.map(((t,i)=>r(t,i))),a("clipPath",{key:"c4136dddad555e8b5ef09a81c38433cd2bf39d7c",id:"co-ap-clip"},a("rect",{key:"edb79083fbc7d225bd5668443fb6541fe77c8f9d",x:"0",y:"0",width:e/100*t,height:40})),a("g",{key:"c91b8b285f53b9dc4f6110f9cb73b7f3f892fad6","clip-path":"url(#co-ap-clip)"},this.peaks.map(((t,i)=>r(t,i,!0)))))),a("span",{key:"26af75ef91f36d432add06bb636c4d3194902b0a",class:"co-audio-player__time",part:"time"},s(this.currentTime)," / ",s(this.duration)),!this.compact&&a("button",{key:"a2093fc2d9c9a9c120e97e59f5e8b91467e1c20c",type:"button",class:"co-audio-player__speed",part:"speed","aria-label":`Velocidad de reproducción ${this.playbackRate}x`,onClick:this.cycleSpeed},this.playbackRate,"x"),!this.compact&&!this.noDownload&&a("button",{key:"327336de6ad09adac5f8cba6e048b58bbef0008e",type:"button",class:"co-audio-player__dl",part:"download","aria-label":"Descargar",onClick:()=>this.download()},a("co-icon",{key:"787738fea40ab74531c943f876e20acf6ceb54df",name:"download-simple",size:14})))}static get watchers(){return{src:[{onSrcChange:0}]}}};r.style=":host{display:block;font-family:var(--co-font-family-primary)}.co-audio-player{display:flex;align-items:center;gap:var(--co-spacing-md);padding:var(--co-spacing-sm) var(--co-spacing-md);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs);background:var(--co-semantic-surface-secondary);min-width:180px}.co-audio-player--compact{gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-sm);min-width:140px}.co-audio-player__play{flex:0 0 auto;width:28px;height:28px;border:none;border-radius:50%;cursor:pointer;background:var(--co-semantic-surface-primary);color:var(--co-semantic-text-inverse);display:inline-flex;align-items:center;justify-content:center}.co-audio-player--compact .co-audio-player__play{width:24px;height:24px}.co-audio-player__play:disabled{opacity:.5;cursor:not-allowed}.co-audio-player__play:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:2px}.co-audio-player__wave{flex:1;height:40px;min-width:0;cursor:pointer;display:flex;align-items:center}.co-audio-player__wave:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:2px;border-radius:var(--co-border-radius-xxs)}.co-audio-player__svg{width:100%;height:100%;display:block}.co-audio-player__bar{fill:var(--co-semantic-border-field);transition:fill var(--co-motion-duration-fast)}.co-audio-player__wave:hover .co-audio-player__bar{fill:var(--co-semantic-text-muted)}.co-audio-player__bar--played{fill:var(--co-semantic-surface-primary)}.co-audio-player__time{flex:0 0 auto;font-size:var(--co-font-size-12);color:var(--co-semantic-text-muted);font-variant-numeric:tabular-nums;min-width:62px;text-align:right}.co-audio-player__speed{flex:0 0 auto;border:none;background:transparent;cursor:pointer;padding:2px 4px;color:var(--co-semantic-text-muted);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);font-variant-numeric:tabular-nums;min-width:34px;text-align:center}.co-audio-player__speed:hover{color:var(--co-semantic-text-default)}.co-audio-player__speed:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:2px;border-radius:var(--co-border-radius-xxs)}.co-audio-player__dl{flex:0 0 auto;border:none;background:transparent;cursor:pointer;padding:2px;color:var(--co-semantic-text-muted);display:inline-flex}.co-audio-player__dl:hover{color:var(--co-semantic-text-default)}.co-audio-player__dl:focus-visible{outline:2px solid var(--co-semantic-border-focus);outline-offset:2px}.co-audio-player--error .co-audio-player__wave{opacity:.5}.co-audio-player--error .co-audio-player__play{background:var(--co-color-status-error);color:var(--co-semantic-text-inverse);opacity:1}";export{r as co_audio_player}
@@ -0,0 +1 @@
1
+ import{r as e,c as t,h as i,a}from"./p-DH5lfRNj.js";import{R as r}from"./p-fMqVDypp.js";import{g as o}from"./p-jYd9gu_c.js";import{i as s,t as c,p as n,c as l,a as d,b as h,s as p,d as g,f as u}from"./p-BU7SQCje.js";const m=class{constructor(i){e(this,i),this.coRangeStartChange=t(this,"coRangeStartChange",7),this.coRangeEndChange=t(this,"coRangeEndChange",7),this.coRangeChange=t(this,"coRangeChange",7),this.coApply=t(this,"coApply",7),this.coCancel=t(this,"coCancel",7),this.coClear=t(this,"coClear",7),this.coOpen=t(this,"coOpen",3),this.coClose=t(this,"coClose",3),this.value="",this.locale="es-CO",this.displayFormat="d MMM yyyy",this.firstDayOfWeek=1,this.presets=!0,this.allowSameDay=!0,this.clearable=!0,this.applyOnSelect=!1,this.disabled=!1,this.readonly=!1,this.invalid=!1,this.required=!1,this.layout="vertical",this.size="md",this.variant="default",this.placement="bottom-start",this.open=!1,this.mobileBreakpoint=600,this.draftFrom=null,this.draftTo=null,this.isMobile=!1,this.mqlHandler=e=>{this.isMobile=e.matches},this.onPopoverOpen=()=>{this.open||(this.open=!0,this.coOpen.emit()),this.syncDraftFromValue()},this.onPopoverClose=()=>{this.open&&(this.open=!1,this.coClose.emit()),this.syncDraftFromValue()},this.onRootKeyDown=e=>{"Escape"===e.key&&this.open&&(e.stopPropagation(),this.handleCancel())},this.onCalendarRange=e=>{this.updateDraft(e.detail.start,e.detail.end)},this.onFromChange=e=>{this.updateDraft(e.detail,this.draftTo)},this.onToChange=e=>{this.updateDraft(this.draftFrom,e.detail)},this.openSheet=()=>{this.disabled||this.open||(this.syncDraftFromValue(),this.open=!0,this.coOpen.emit())},this.handleApply=()=>{this.canApply&&(this.value=JSON.stringify({from:this.draftFrom,to:this.draftTo}),this.coApply.emit({from:this.draftFrom,to:this.draftTo}),this.open=!1)},this.handleCancel=()=>{this.coCancel.emit(),this.syncDraftFromValue(),this.open=!1},this.handleClear=()=>{this.value="",this.draftFrom=null,this.draftTo=null,this.coClear.emit(),this.coRangeChange.emit({from:null,to:null}),this.open=!1}}componentWillLoad(){const e=this.parseValue();this.draftFrom=e.from,this.draftTo=e.to}connectedCallback(){this.mql=window.matchMedia(`(max-width: ${this.mobileBreakpoint}px)`),this.isMobile=this.mql.matches,this.mql.addEventListener("change",this.mqlHandler)}disconnectedCallback(){var e;null===(e=this.mql)||void 0===e||e.removeEventListener("change",this.mqlHandler)}onValueChange(){const e=this.parseValue();this.draftFrom=e.from,this.draftTo=e.to}parseValue(){if(!this.value)return{from:null,to:null};try{const e=JSON.parse(this.value);return{from:s(e.from)?e.from:null,to:s(e.to)?e.to:null}}catch(e){return{from:null,to:null}}}get committed(){return this.parseValue()}inclusiveDays(e,t){const i=c(n(t)).getTime()-c(n(e)).getTime();return Math.round(i/864e5)+1}get canApply(){const e=this.draftFrom,t=this.draftTo;if(!e||!t)return!1;if(l(e,t)>0)return!1;if(!this.allowSameDay&&0===l(e,t))return!1;const i=this.inclusiveDays(e,t);return!(this.minRangeDays&&i<this.minRangeDays||this.maxRangeDays&&i>this.maxRangeDays)}syncDraftFromValue(){const e=this.parseValue();this.draftFrom=e.from,this.draftTo=e.to}updateDraft(e,t){const i=this.draftFrom,a=this.draftTo;this.draftFrom=e,this.draftTo=t,e!==i&&this.coRangeStartChange.emit(e),t!==a&&this.coRangeEndChange.emit(t),this.coRangeChange.emit({from:e,to:t}),this.applyOnSelect&&this.canApply&&this.scheduleApply()}scheduleApply(){clearTimeout(this.applyTimer),this.applyTimer=setTimeout((()=>{this.canApply&&this.handleApply()}),250)}applyPreset(e){const t=d();let i=null,a=null;switch(e){case"today":i=t,a=t;break;case"yesterday":i=g(t,-1),a=i;break;case"last7Days":a=t,i=g(t,-6);break;case"last14Days":a=t,i=g(t,-13);break;case"last30Days":a=t,i=g(t,-29);break;case"last90Days":a=t,i=g(t,-89);break;case"thisWeek":i=function(e,t){const i=n(e);if(!i)return e;const a=c(i).getDay();return g(e,-(a-t+7)%7)}(t,this.firstDayOfWeek),a=g(i,6);break;case"thisMonth":i=p(t),a=_(t);break;case"lastMonth":{const e=h(t,-1);i=p(e),a=_(e);break}case"thisYear":{const e=n(t).year;i=`${e}-01-01`,a=`${e}-12-31`;break}case"lastYear":{const e=n(t).year-1;i=`${e}-01-01`,a=`${e}-12-31`;break}case"custom":i=null,a=null}this.updateDraft(i,a)}get hasCommitted(){const e=this.committed;return!(!e.from&&!e.to)}triggerText(e){const t=this.committed,i=t.from?u(t.from,this.displayFormat,this.locale):null,a=t.to?u(t.to,this.displayFormat,this.locale):null;return i&&a?`${i} → ${a}`:i?`${i} → …`:a?`… → ${a}`:this.placeholder||e.setDate}presetItems(e){const t=function(e){if(Array.isArray(e))return e;if("string"==typeof e&&e.trim()){const t=e.trim();try{const e=JSON.parse(t);if(Array.isArray(e))return e.map(String)}catch(e){}return t.split(",").map((e=>e.trim())).filter(Boolean)}return[]}(this.presetIds);return(t.length?t:["today","yesterday","last7Days","last30Days","thisWeek","thisMonth","lastMonth","custom"]).map((t=>{var i;return{id:t,label:null!==(i=e[t])&&void 0!==i?i:t}}))}renderTriggerChildren(e,t){var a;return[i("co-icon",{name:"calendar",size:16,class:"co-date-range-picker__icon"}),i("span",{class:{"co-date-range-picker__trigger-text":!0,"co-date-range-picker__trigger-text--placeholder":!this.hasCommitted}},this.triggerText(e)),t&&i("button",{class:"co-date-range-picker__clear",type:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:e=>{e.stopPropagation(),this.handleClear()},"aria-label":null!==(a=this.clearLabel)&&void 0!==a?a:e.clear},i("co-icon",{name:"x-circle",size:16,weight:"fill"})),i("co-icon",{name:"caret-down",size:14,class:"co-date-range-picker__caret"})]}renderPanel(e,t){var a,r,o,s,c,n;return i("div",{class:"co-date-range-picker__panel"},i("div",{class:"co-date-range-picker__fields"},i("co-date-field",{class:"co-date-range-picker__field",label:null!==(a=this.fromLabel)&&void 0!==a?a:e.from,value:this.draftFrom,min:this.min,max:null!==(r=this.draftTo)&&void 0!==r?r:this.max,locale:this.locale,displayFormat:this.displayFormat,clearable:!1,onCoChange:this.onFromChange}),i("co-date-field",{class:"co-date-range-picker__field",label:null!==(o=this.toLabel)&&void 0!==o?o:e.to,value:this.draftTo,min:null!==(s=this.draftFrom)&&void 0!==s?s:this.min,max:this.max,locale:this.locale,displayFormat:this.displayFormat,clearable:!1,onCoChange:this.onToChange})),i("div",{class:{"co-date-range-picker__body":!0,"co-date-range-picker__body--touch":t}},this.presets&&i("div",{class:"co-date-range-picker__presets"},this.presetItems(e).map((e=>i("button",{key:e.id,type:"button",class:"co-date-range-picker__preset",onClick:()=>this.applyPreset(e.id)},e.label)))),i("co-calendar",{mode:"range","data-touch":t?"":void 0,rangeStart:this.draftFrom,rangeEnd:this.draftTo,min:this.min,max:this.max,locale:this.locale,firstDayOfWeek:this.firstDayOfWeek,onCoRangeSelect:this.onCalendarRange})),i("div",{class:"co-date-range-picker__footer"},i("button",{type:"button",class:"co-date-range-picker__btn co-date-range-picker__btn--ghost",onClick:this.handleCancel},null!==(c=this.cancelLabel)&&void 0!==c?c:e.cancel),i("button",{type:"button",class:"co-date-range-picker__btn co-date-range-picker__btn--primary",disabled:!this.canApply,onClick:this.handleApply},null!==(n=this.applyLabel)&&void 0!==n?n:e.apply)))}renderHelper(e,t){return t?i("div",{class:{"co-date-range-picker__helper":!0,"co-date-range-picker__helper--error":e},part:"helper"},e&&i("co-icon",{name:"warning-circle",size:14}),i("span",null,t)):null}render(){const e=o(this.locale),t=this.invalid,a=t?this.errorMessage:this.helperText,s=this.clearable&&this.hasCommitted&&!this.disabled&&!this.readonly,c={"co-date-range-picker__trigger":!0,"co-date-range-picker__trigger--open":this.open,"co-date-range-picker__trigger--disabled":this.disabled,"co-date-range-picker__trigger--flat":"flat"===this.variant};return this.isMobile?i("div",{class:{"co-date-range-picker":!0,"co-date-range-picker--invalid":t,[`co-date-range-picker--${this.size}`]:!0},onKeyDown:this.onRootKeyDown},this.label&&i("label",{class:"co-date-range-picker__label",part:"label"},this.label,i(r,{required:this.required})),i("div",{class:c,part:"trigger",role:"button",tabIndex:this.disabled?-1:0,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false",onClick:this.openSheet},this.renderTriggerChildren(e,s)),i("co-drawer",{position:"bottom",open:this.open,heading:e.selectDate,onCoClose:this.handleCancel},this.renderPanel(e,!0)),this.renderHelper(t,a)):i("div",{class:{"co-date-range-picker":!0,"co-date-range-picker--invalid":t,[`co-date-range-picker--${this.size}`]:!0},onKeyDown:this.onRootKeyDown},this.label&&i("label",{class:"co-date-range-picker__label",part:"label"},this.label,i(r,{required:this.required})),i("co-popover",{open:this.open,placement:this.placement,offset:4,closeOnEscape:!1,onCoOpen:this.onPopoverOpen,onCoClose:this.onPopoverClose},i("div",{slot:"trigger",class:c,part:"trigger",role:"button",tabIndex:this.disabled?-1:0,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false"},this.renderTriggerChildren(e,s)),this.open&&this.renderPanel(e,!1)),this.renderHelper(t,a))}get el(){return a(this)}static get watchers(){return{value:[{onValueChange:0}]}}};function _(e){return g(p(h(e,1)),-1)}m.style=":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14)}.co-date-range-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-date-range-picker__label{font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-secondary);line-height:1;padding:0 var(--co-spacing-xs)}.co-date-range-picker co-popover{display:block;width:100%}.co-date-range-picker--s .co-date-range-picker__trigger{min-height:28px;padding:0 var(--co-spacing-sm)}.co-date-range-picker--sm .co-date-range-picker__trigger{min-height:32px;padding:0 var(--co-spacing-sm)}.co-date-range-picker--lg .co-date-range-picker__trigger{min-height:48px;padding:0 var(--co-spacing-lg)}.co-date-range-picker__trigger{display:inline-flex;align-items:center;gap:var(--co-spacing-sm2);width:100%;min-height:40px;padding:0 var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);cursor:pointer;color:var(--co-semantic-text-default);box-sizing:border-box;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-range-picker__trigger--flat{background:transparent;border-color:transparent}.co-date-range-picker__trigger--open{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-date-range-picker__trigger--disabled{opacity:0.5;cursor:not-allowed}.co-date-range-picker--invalid .co-date-range-picker__trigger{border-color:var(--co-semantic-status-error)}.co-date-range-picker__icon,.co-date-range-picker__caret{color:var(--co-semantic-text-muted);flex-shrink:0}.co-date-range-picker__trigger-text{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-date-range-picker__trigger-text--placeholder{color:var(--co-semantic-text-muted)}.co-date-range-picker__clear{background:none;border:0;padding:0;cursor:pointer;color:var(--co-semantic-text-muted);display:inline-flex;align-items:center;flex-shrink:0}.co-date-range-picker__clear:hover{color:var(--co-semantic-text-default)}.co-date-range-picker__panel{display:flex;flex-direction:column;gap:var(--co-spacing-md);padding:var(--co-spacing-md);min-width:280px}.co-date-range-picker__fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--co-spacing-sm)}.co-date-range-picker__body{display:flex;gap:var(--co-spacing-md);align-items:flex-start}.co-date-range-picker__body:not(.co-date-range-picker__body--touch) co-calendar{flex:1;min-width:0;--co-calendar-width:100%;--co-calendar-col:minmax(var(--co-calendar-day-size), 1fr);--co-calendar-day-width:100%}.co-date-range-picker__body--touch{flex-direction:column;align-items:stretch}.co-date-range-picker__body--touch .co-date-range-picker__presets{flex-direction:row;flex-wrap:wrap;min-width:0;border-right:0;padding-right:0;border-bottom:1px solid var(--co-semantic-border-subtle);padding-bottom:var(--co-spacing-sm)}.co-date-range-picker__body--touch co-calendar{align-self:center}.co-date-range-picker__presets{display:flex;flex-direction:column;gap:var(--co-spacing-xxs);min-width:120px;border-right:1px solid var(--co-semantic-border-subtle);padding-right:var(--co-spacing-md)}.co-date-range-picker__preset{text-align:left;background:none;border:0;padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);font-size:var(--co-font-size-14);font-family:inherit;color:var(--co-semantic-text-default);cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-range-picker__preset:hover{background:var(--co-semantic-surface-hover)}.co-date-range-picker__footer{display:flex;justify-content:flex-end;gap:var(--co-spacing-sm);padding-top:var(--co-spacing-sm);border-top:1px solid var(--co-semantic-border-subtle)}.co-date-range-picker__btn{padding:var(--co-spacing-xs) var(--co-spacing-md);border-radius:var(--co-border-radius-xs);font-size:var(--co-font-size-14);font-family:inherit;font-weight:500;cursor:pointer;border:0}.co-date-range-picker__btn--ghost{background:transparent;color:var(--co-semantic-text-default)}.co-date-range-picker__btn--ghost:hover{background:var(--co-semantic-surface-hover)}.co-date-range-picker__btn--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary)}.co-date-range-picker__btn--primary:hover:not(:disabled){opacity:0.88}.co-date-range-picker__btn--primary:disabled{opacity:0.5;cursor:not-allowed}.co-date-range-picker__helper{display:inline-flex;align-items:center;gap:var(--co-spacing-xs);font-size:var(--co-font-size-14);color:var(--co-semantic-text-muted);padding:0 var(--co-spacing-xs)}.co-date-range-picker__helper--error{color:var(--co-semantic-status-error)}:host([layout='horizontal']) .co-date-range-picker{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-date-range-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-date-range-picker__label{white-space:normal}:host([layout='horizontal']) .co-date-range-picker>:not(.co-date-range-picker__label){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}";export{m as co_date_range_picker}
@@ -0,0 +1 @@
1
+ import{r as e,h as a}from"./p-DH5lfRNj.js";const c=class{constructor(a){e(this,a)}render(){return a("div",{key:"0f064f7e659103d8f679f23242492a5e9a869a88",class:"co-page-header",part:"page-header"},a("div",{key:"4ccd5682d2d6872a5fa771b2779a8f7e0ab8b6f7",class:"co-page-header__left"},this.icon&&a("span",{key:"10bc9aa126f8b9932b1e4247d7c3c3c04d89c425",class:"co-page-header__icon"},a("co-icon",{key:"42f2cda7ec8ee4e0e4a51069606492647d13f690",name:this.icon,size:24})),a("span",{key:"368633ff1b213286d5f6bdf5716e3acb1cbe2f71",class:"co-page-header__title"},a("slot",{key:"c74f2dcde7cfc0c0384f6a10a9f069a9ff94f78d"},this.heading))),a("div",{key:"6666c103a2e6e826837091658ce1e4e4b1704215",class:"co-page-header__actions"},a("slot",{key:"7df47ea333491b960bc1faff7fd0b6431aba56e5",name:"actions"})))}};c.style=":host{display:block}.co-page-header{display:flex;align-items:center;justify-content:space-between;padding:var(--co-spacing-lg) var(--co-spacing-xl);font-family:var(--co-font-family-primary);border-bottom:1px solid var(--co-semantic-border-subtle);background:var(--co-semantic-surface-page);min-height:72px;box-sizing:border-box}.co-page-header__left{display:flex;align-items:center;gap:var(--co-spacing-md)}.co-page-header__icon{display:flex;color:var(--co-semantic-text-muted)}.co-page-header__title{font-size:var(--co-font-size-18);font-weight:600;color:var(--co-semantic-text-default)}.co-page-header__actions{display:flex;align-items:center;gap:var(--co-spacing-md)}.co-page-header__actions:empty{display:none}";export{c as co_page_header}
@@ -1 +1 @@
1
- import{r as o,c as e,h as t,a as i}from"./p-DH5lfRNj.js";import{R as c}from"./p-fMqVDypp.js";import{r as s}from"./p-CQY6Ul7q.js";const r=class{constructor(t){o(this,t),this.coChange=e(this,"coChange",7),this.coOpen=e(this,"coOpen",3),this.coClose=e(this,"coClose",3),this.coClear=e(this,"coClear",7),this.coFooterPrimary=e(this,"coFooterPrimary",7),this.coFooterSecondary=e(this,"coFooterSecondary",7),this.required=!1,this.placeholder="",this.disabled=!1,this.clearable=!0,this.searchable=!1,this.searchPlaceholder="Search",this.showFooter=!1,this.footerPrimaryLabel="Ok",this.footerSecondaryLabel="New Tags",this.options="[]",this.emptyMessage="No results found",this.value="[]",this.multiple=!0,this.size="md",this.status="default",this.layout="vertical",this.isOpen=!1,this.searchQuery="",this.overflowCount=0,this.pendingFocus=!1,this.handleTriggerClick=o=>{this.disabled&&o.stopPropagation()},this.handleTriggerKeyDown=o=>{this.disabled||o.target===this.triggerEl&&("Enter"===o.key||" "===o.key?(o.preventDefault(),this.isOpen=!this.isOpen):"ArrowDown"!==o.key||this.isOpen||(o.preventDefault(),this.isOpen=!0))},this.handlePopoverOpen=()=>{console.log("[co-combobox] handlePopoverOpen called"),this.isOpen=!0},this.handlePopoverClose=()=>{console.log("[co-combobox] handlePopoverClose called"),this.isOpen=!1},this.handleClear=o=>{o.stopPropagation(),this.value="[]",this.coClear.emit(),this.coChange.emit({value:this.multiple?[]:"",item:null})},this.handleListChange=o=>{if(null==o.value)return this.value="[]",this.isOpen=!1,void this.coChange.emit({value:null,item:null});if(this.multiple){const e=o.value;this.value=JSON.stringify(e),this.coChange.emit({value:e,item:o.item})}else{const e=o.value;this.value=JSON.stringify([e]),this.isOpen=!1,this.coChange.emit({value:e,item:o.item})}},this.handleListRemove=o=>{const e=this.selectedValues.filter((e=>e!==o));this.value=JSON.stringify(e),this.coChange.emit({value:e,item:{_id:o,label:o}})},this.handleFooterPrimary=()=>{this.coFooterPrimary.emit(),this.isOpen=!1},this.handleFooterSecondary=()=>{this.coFooterSecondary.emit()}}normalizeOptions(o){return o.map((o=>"string"==typeof o?{label:o,value:o}:o))}get parsedOptions(){if("string"==typeof this.options)try{return this.normalizeOptions(JSON.parse(this.options))}catch(o){return[]}return this.normalizeOptions(this.options)}get selectedValues(){if("string"==typeof this.value)try{return JSON.parse(this.value)}catch(o){return[]}return this.value}get filteredOptions(){return this.searchQuery?s(this.parsedOptions,this.searchQuery,(o=>o.label)):this.parsedOptions}get listItemsJson(){return JSON.stringify(this.filteredOptions.map((o=>({_id:o.value,label:o.label,icon:o.icon}))))}get displayText(){const o=this.selectedValues;if(0===o.length)return"";const e=this.parsedOptions.find((e=>e.value===o[0]));return e?e.label:o[0]}get selectedOptions(){return this.selectedValues.map((o=>this.parsedOptions.find((e=>e.value===o)))).filter((o=>!!o))}get hasValue(){return this.selectedValues.length>0}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning",info:"info"}[this.status]||null}onOpenChange(o){o?(this.searchQuery="",this.pendingFocus=!0,this.coOpen.emit()):(this.coClose.emit(),this.restoreTriggerFocus())}onValueChange(){}connectedCallback(){this.resizeObserver=new ResizeObserver((()=>{this.calcOverflow()}))}disconnectedCallback(){var o;null===(o=this.resizeObserver)||void 0===o||o.disconnect()}componentDidRender(){var o,e,t;this.chipContainerEl&&(null===(o=this.resizeObserver)||void 0===o||o.disconnect(),null===(e=this.resizeObserver)||void 0===e||e.observe(this.chipContainerEl)),this.calcOverflow(),this.pendingFocus&&(null===(t=this.optionListEl)||void 0===t?void 0:t.isConnected)&&(this.pendingFocus=!1,this.optionListEl.focusSearch())}calcOverflow(){if(!this.multiple||!this.chipContainerEl)return;const o=this.chipContainerEl,e=Array.from(o.querySelectorAll("co-chip"));if(0===e.length)return void(0!==this.overflowCount&&(this.overflowCount=0));const t=o.getBoundingClientRect().right;let i=0;for(let o=e.length-1;o>=0&&e[o].getBoundingClientRect().right>t+1;o--)i++;i!==this.overflowCount&&(this.overflowCount=i)}restoreTriggerFocus(){var o;const e=document.activeElement;(e===this.el||this.el.contains(e))&&(null===(o=this.triggerEl)||void 0===o||o.focus())}render(){return t("div",{key:"37a1a6c5d14a61e45a522024b1aecf9ef3421cb5",class:{"co-combobox":!0,"co-combobox--open":this.isOpen,"co-combobox--disabled":this.disabled,[`co-combobox--${this.size}`]:!0},part:"wrapper"},(this.label||this.secondaryLabel)&&t("div",{key:"4db14a62bbdbd01088df7279939cce69eb30f9a3",class:"co-combobox__labels"},this.label&&t("label",{key:"294744758ea6e99f1c68c3b612269aa5fb38e838",class:"co-combobox__label",part:"label"},this.label,t(c,{key:"17c9fd9fe7cac0abd1f6b8bee4f31a9e536758fb",required:this.required})),this.secondaryLabel&&t("span",{key:"457e35ca2dd250a7ecd5c36980ced045fb46f319",class:"co-combobox__secondary-label",part:"secondary-label"},this.secondaryLabel)),t("co-popover",{key:"54fdc55762dcf268d1522c345968d39f26fc768e",open:this.isOpen,placement:"bottom-start",matchWidth:!0,offset:4,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},t("div",{key:"0bb104f5e51e7ea5b36d7325e178c7c7eadde05c",slot:"trigger",class:"co-combobox__trigger",part:"trigger",role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-label":this.label||void 0,"aria-disabled":this.disabled?"true":void 0,"aria-controls":this.isOpen?r.LIST_ID:void 0,tabIndex:this.disabled?-1:0,ref:o=>this.triggerEl=o,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.iconLeft&&t("co-icon",{key:"ebdfa267be7257aaa2b187fc867cb5d334d91319",name:this.iconLeft,size:16,class:"co-combobox__icon"}),t("div",{key:"77671cfffe0d593242c776316292dec69af64ed6",class:"co-combobox__input-wrapper",ref:o=>this.chipContainerEl=o},this.multiple&&this.hasValue?this.selectedOptions.map((o=>t("co-chip",{size:"small","icon-mode":"both",label:o.label},t("co-icon",{slot:"icon-left",name:o.icon||"circle",size:10}),t("co-icon",{slot:"icon-right",name:"x-circle",size:10,weight:"fill",onClick:e=>{e.stopPropagation(),this.handleListRemove(o.value)}})))):t("span",{class:{"co-combobox__text":!0,"co-combobox__text--placeholder":!this.hasValue}},this.hasValue?this.displayText:this.placeholder)),this.multiple&&this.overflowCount>0&&t("span",{key:"c230748247efc705f21f299254c24b717d7f5af7",class:"co-combobox__overflow-badge"},this.overflowCount),this.clearable&&this.hasValue&&!this.disabled&&t("button",{key:"b8acd2eeeb17ec672912886e7dfa67abd1026927",class:"co-combobox__clear",type:"button",tabIndex:-1,onClick:this.handleClear,"aria-label":"Clear selection",part:"clear"},t("co-icon",{key:"d21e7dec49db82e5514a1562b60596d51ee69094",name:"x-circle",size:16,weight:"fill"})),t("co-icon",{key:"51becab683f82d56d93599e701025a640822127c",name:this.isOpen?"caret-up":"caret-down",size:16,class:"co-combobox__caret"})),t("div",{key:"8d21ea81c9c5ca9500359f7cedadf12328e4c5eb",class:"co-combobox__dropdown",part:"dropdown"},this.isOpen&&t("co-option-list",{key:"066a18d85a356c238ff9ced3721c1d3280bce4c8",id:r.LIST_ID,ref:o=>this.optionListEl=o,items:this.listItemsJson,value:this.multiple?JSON.stringify(this.selectedValues):this.selectedValues[0]||"",multiple:this.multiple,selectedAffordance:"check",removableItems:this.multiple,virtual:!0,searchable:this.searchable,searchPlaceholder:this.searchPlaceholder,searchDebounce:0,highlightMatches:!0,emptyMessage:this.emptyMessage,onCoSearch:o=>{this.searchQuery=o.detail},onCoChange:o=>this.handleListChange(o.detail),onCoRemoveItem:o=>this.handleListRemove(o.detail)},this.showFooter&&t("co-list-footer",{key:"11d5f3fd067ac246e2068bc33a7ef938efef8829",slot:"footer",secondaryLabel:this.footerSecondaryLabel,primaryLabel:this.footerPrimaryLabel,onCoSecondary:this.handleFooterSecondary,onCoPrimary:this.handleFooterPrimary})))),this.helperText&&t("div",{key:"aea733779599bf85e1060062b9664821bcd1f003",class:`co-combobox__helper co-combobox__helper--${this.status}`,part:"helper"},this.statusIcon&&t("co-icon",{key:"629698daf7e0005c8849062777daf8b329fe969c",name:this.statusIcon,size:14,weight:"fill",class:"co-combobox__helper-icon"}),t("span",{key:"d91bd4fdadedb2eebbe4a2a3c5d033978cb8db76",class:"co-combobox__helper-text"},this.helperText)))}get el(){return i(this)}static get watchers(){return{isOpen:[{onOpenChange:0}],value:[{onValueChange:0}]}}};r.LIST_ID="co-combobox-list",r.style=":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;position:relative}.co-combobox{display:flex;flex-direction:column;gap:var(--co-spacing-sm2);position:relative}.co-combobox__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-combobox__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-combobox__secondary-label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;text-align:right}.co-combobox__trigger{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);min-height:40px;box-sizing:border-box;cursor:pointer;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out);overflow:hidden}.co-combobox--s .co-combobox__trigger{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-combobox--sm .co-combobox__trigger{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-14)}.co-combobox--lg .co-combobox__trigger{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-combobox--open .co-combobox__trigger{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-combobox__trigger:focus-visible{outline:none;border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-combobox--disabled .co-combobox__trigger{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-combobox__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-combobox--disabled .co-combobox__icon{color:var(--co-semantic-text-disabled)}.co-combobox__input-wrapper{flex:1;display:flex;align-items:center;flex-wrap:nowrap;gap:4px;min-width:0;min-height:22px;padding:0;overflow:hidden}.co-combobox__input-wrapper co-chip{--co-chip-max-width:120px;--co-chip-bg:var(--co-semantic-surface-muted);--co-chip-color:var(--co-semantic-text-default);--co-chip-border:1px solid var(--co-semantic-border-subtle);flex-shrink:0}.co-combobox__overflow-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-status-info, #2d6cc5);color:var(--co-color-base-blanco, #fff);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-10);font-weight:600;line-height:1;white-space:nowrap}.co-combobox__text{color:var(--co-semantic-text-default);font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:inherit;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-combobox__text--placeholder{color:var(--co-semantic-text-muted)}.co-combobox--disabled .co-combobox__text{color:var(--co-semantic-text-disabled)}.co-combobox__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-combobox__clear:hover{color:var(--co-semantic-text-default)}.co-combobox__caret{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-combobox--disabled .co-combobox__caret{color:var(--co-semantic-text-disabled)}.co-combobox__dropdown{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-combobox__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-combobox__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-combobox__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-combobox__helper--error .co-combobox__helper-icon,.co-combobox__helper--error .co-combobox__helper-text{color:var(--co-semantic-status-error)}.co-combobox__helper--success .co-combobox__helper-icon,.co-combobox__helper--success .co-combobox__helper-text{color:var(--co-semantic-status-success)}.co-combobox__helper--warning .co-combobox__helper-icon,.co-combobox__helper--warning .co-combobox__helper-text{color:var(--co-color-status-review)}.co-combobox__helper--info .co-combobox__helper-icon,.co-combobox__helper--info .co-combobox__helper-text{color:var(--co-semantic-status-info)}:host([layout='horizontal']) .co-combobox{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-combobox__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-combobox__label{white-space:normal}:host([layout='horizontal']) .co-combobox>:not(.co-combobox__labels){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}";export{r as co_combobox}
1
+ import{r as o,c as e,h as t,a as i}from"./p-DH5lfRNj.js";import{R as c}from"./p-fMqVDypp.js";import{r as s}from"./p-Ba_v-MzM.js";const a=class{constructor(t){o(this,t),this.coChange=e(this,"coChange",7),this.coOpen=e(this,"coOpen",3),this.coClose=e(this,"coClose",3),this.coClear=e(this,"coClear",7),this.coFooterPrimary=e(this,"coFooterPrimary",7),this.coFooterSecondary=e(this,"coFooterSecondary",7),this.required=!1,this.placeholder="",this.disabled=!1,this.clearable=!0,this.searchable=!1,this.searchPlaceholder="Search",this.showFooter=!1,this.footerPrimaryLabel="Ok",this.footerSecondaryLabel="New Tags",this.options="[]",this.emptyMessage="No results found",this.value="[]",this.multiple=!0,this.size="md",this.status="default",this.layout="vertical",this.isOpen=!1,this.searchQuery="",this.overflowCount=0,this.pendingFocus=!1,this.handleTriggerClick=o=>{this.disabled&&o.stopPropagation()},this.handleTriggerKeyDown=o=>{this.disabled||o.target===this.triggerEl&&("Enter"===o.key||" "===o.key?(o.preventDefault(),this.isOpen=!this.isOpen):"ArrowDown"!==o.key||this.isOpen||(o.preventDefault(),this.isOpen=!0))},this.handlePopoverOpen=()=>{console.log("[co-combobox] handlePopoverOpen called"),this.isOpen=!0},this.handlePopoverClose=()=>{console.log("[co-combobox] handlePopoverClose called"),this.isOpen=!1},this.handleClear=o=>{o.stopPropagation(),this.value="[]",this.coClear.emit(),this.coChange.emit({value:this.multiple?[]:"",item:null})},this.handleListChange=o=>{if(null==o.value)return this.value="[]",this.isOpen=!1,void this.coChange.emit({value:null,item:null});if(this.multiple){const e=o.value;this.value=JSON.stringify(e),this.coChange.emit({value:e,item:o.item})}else{const e=o.value;this.value=JSON.stringify([e]),this.isOpen=!1,this.coChange.emit({value:e,item:o.item})}},this.handleListRemove=o=>{const e=this.selectedValues.filter((e=>e!==o));this.value=JSON.stringify(e),this.coChange.emit({value:e,item:{_id:o,label:o}})},this.handleFooterPrimary=()=>{this.coFooterPrimary.emit(),this.isOpen=!1},this.handleFooterSecondary=()=>{this.coFooterSecondary.emit()}}normalizeOptions(o){return o.map((o=>"string"==typeof o?{label:o,value:o}:o))}get parsedOptions(){if("string"==typeof this.options)try{return this.normalizeOptions(JSON.parse(this.options))}catch(o){return[]}return this.normalizeOptions(this.options)}get selectedValues(){if("string"==typeof this.value)try{return JSON.parse(this.value)}catch(o){return[]}return this.value}get filteredOptions(){return this.searchQuery?s(this.parsedOptions,this.searchQuery,(o=>o.label)):this.parsedOptions}get listItemsJson(){return JSON.stringify(this.filteredOptions.map((o=>({_id:o.value,label:o.label,icon:o.icon}))))}get displayText(){const o=this.selectedValues;if(0===o.length)return"";const e=this.parsedOptions.find((e=>e.value===o[0]));return e?e.label:o[0]}get selectedOptions(){return this.selectedValues.map((o=>this.parsedOptions.find((e=>e.value===o)))).filter((o=>!!o))}get hasValue(){return this.selectedValues.length>0}get statusIcon(){return{error:"warning-circle",success:"check-circle",warning:"warning",info:"info"}[this.status]||null}onOpenChange(o){o?(this.searchQuery="",this.pendingFocus=!0,this.coOpen.emit()):(this.coClose.emit(),this.restoreTriggerFocus())}onValueChange(){}connectedCallback(){this.resizeObserver=new ResizeObserver((()=>{this.calcOverflow()}))}disconnectedCallback(){var o;null===(o=this.resizeObserver)||void 0===o||o.disconnect()}componentDidRender(){var o,e,t;this.chipContainerEl&&(null===(o=this.resizeObserver)||void 0===o||o.disconnect(),null===(e=this.resizeObserver)||void 0===e||e.observe(this.chipContainerEl)),this.calcOverflow(),this.pendingFocus&&(null===(t=this.optionListEl)||void 0===t?void 0:t.isConnected)&&(this.pendingFocus=!1,this.optionListEl.focusSearch())}calcOverflow(){if(!this.multiple||!this.chipContainerEl)return;const o=this.chipContainerEl,e=Array.from(o.querySelectorAll("co-chip"));if(0===e.length)return void(0!==this.overflowCount&&(this.overflowCount=0));const t=o.getBoundingClientRect().right;let i=0;for(let o=e.length-1;o>=0&&e[o].getBoundingClientRect().right>t+1;o--)i++;i!==this.overflowCount&&(this.overflowCount=i)}restoreTriggerFocus(){var o;const e=document.activeElement;(e===this.el||this.el.contains(e))&&(null===(o=this.triggerEl)||void 0===o||o.focus())}render(){return t("div",{key:"37a1a6c5d14a61e45a522024b1aecf9ef3421cb5",class:{"co-combobox":!0,"co-combobox--open":this.isOpen,"co-combobox--disabled":this.disabled,[`co-combobox--${this.size}`]:!0},part:"wrapper"},(this.label||this.secondaryLabel)&&t("div",{key:"4db14a62bbdbd01088df7279939cce69eb30f9a3",class:"co-combobox__labels"},this.label&&t("label",{key:"294744758ea6e99f1c68c3b612269aa5fb38e838",class:"co-combobox__label",part:"label"},this.label,t(c,{key:"17c9fd9fe7cac0abd1f6b8bee4f31a9e536758fb",required:this.required})),this.secondaryLabel&&t("span",{key:"457e35ca2dd250a7ecd5c36980ced045fb46f319",class:"co-combobox__secondary-label",part:"secondary-label"},this.secondaryLabel)),t("co-popover",{key:"54fdc55762dcf268d1522c345968d39f26fc768e",open:this.isOpen,placement:"bottom-start",matchWidth:!0,offset:4,onCoOpen:this.handlePopoverOpen,onCoClose:this.handlePopoverClose},t("div",{key:"0bb104f5e51e7ea5b36d7325e178c7c7eadde05c",slot:"trigger",class:"co-combobox__trigger",part:"trigger",role:"combobox","aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-label":this.label||void 0,"aria-disabled":this.disabled?"true":void 0,"aria-controls":this.isOpen?a.LIST_ID:void 0,tabIndex:this.disabled?-1:0,ref:o=>this.triggerEl=o,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.iconLeft&&t("co-icon",{key:"ebdfa267be7257aaa2b187fc867cb5d334d91319",name:this.iconLeft,size:16,class:"co-combobox__icon"}),t("div",{key:"77671cfffe0d593242c776316292dec69af64ed6",class:"co-combobox__input-wrapper",ref:o=>this.chipContainerEl=o},this.multiple&&this.hasValue?this.selectedOptions.map((o=>t("co-chip",{size:"small","icon-mode":"both",label:o.label},t("co-icon",{slot:"icon-left",name:o.icon||"circle",size:10}),t("co-icon",{slot:"icon-right",name:"x-circle",size:10,weight:"fill",onClick:e=>{e.stopPropagation(),this.handleListRemove(o.value)}})))):t("span",{class:{"co-combobox__text":!0,"co-combobox__text--placeholder":!this.hasValue}},this.hasValue?this.displayText:this.placeholder)),this.multiple&&this.overflowCount>0&&t("span",{key:"c230748247efc705f21f299254c24b717d7f5af7",class:"co-combobox__overflow-badge"},this.overflowCount),this.clearable&&this.hasValue&&!this.disabled&&t("button",{key:"b8acd2eeeb17ec672912886e7dfa67abd1026927",class:"co-combobox__clear",type:"button",tabIndex:-1,onClick:this.handleClear,"aria-label":"Clear selection",part:"clear"},t("co-icon",{key:"d21e7dec49db82e5514a1562b60596d51ee69094",name:"x-circle",size:16,weight:"fill"})),t("co-icon",{key:"51becab683f82d56d93599e701025a640822127c",name:this.isOpen?"caret-up":"caret-down",size:16,class:"co-combobox__caret"})),t("div",{key:"8d21ea81c9c5ca9500359f7cedadf12328e4c5eb",class:"co-combobox__dropdown",part:"dropdown"},this.isOpen&&t("co-option-list",{key:"066a18d85a356c238ff9ced3721c1d3280bce4c8",id:a.LIST_ID,ref:o=>this.optionListEl=o,items:this.listItemsJson,value:this.multiple?JSON.stringify(this.selectedValues):this.selectedValues[0]||"",multiple:this.multiple,selectedAffordance:"check",removableItems:this.multiple,virtual:!0,searchable:this.searchable,searchPlaceholder:this.searchPlaceholder,searchDebounce:0,highlightMatches:!0,emptyMessage:this.emptyMessage,onCoSearch:o=>{this.searchQuery=o.detail},onCoChange:o=>this.handleListChange(o.detail),onCoRemoveItem:o=>this.handleListRemove(o.detail)},this.showFooter&&t("co-list-footer",{key:"11d5f3fd067ac246e2068bc33a7ef938efef8829",slot:"footer",secondaryLabel:this.footerSecondaryLabel,primaryLabel:this.footerPrimaryLabel,onCoSecondary:this.handleFooterSecondary,onCoPrimary:this.handleFooterPrimary})))),this.helperText&&t("div",{key:"aea733779599bf85e1060062b9664821bcd1f003",class:`co-combobox__helper co-combobox__helper--${this.status}`,part:"helper"},this.statusIcon&&t("co-icon",{key:"629698daf7e0005c8849062777daf8b329fe969c",name:this.statusIcon,size:14,weight:"fill",class:"co-combobox__helper-icon"}),t("span",{key:"d91bd4fdadedb2eebbe4a2a3c5d033978cb8db76",class:"co-combobox__helper-text"},this.helperText)))}get el(){return i(this)}static get watchers(){return{isOpen:[{onOpenChange:0}],value:[{onValueChange:0}]}}};a.LIST_ID="co-combobox-list",a.style=":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;position:relative}.co-combobox{display:flex;flex-direction:column;gap:var(--co-spacing-sm2);position:relative}.co-combobox__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-combobox__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;cursor:default}.co-combobox__secondary-label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;text-align:right}.co-combobox__trigger{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);min-height:40px;box-sizing:border-box;cursor:pointer;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out);overflow:hidden}.co-combobox--s .co-combobox__trigger{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-combobox--sm .co-combobox__trigger{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-14)}.co-combobox--lg .co-combobox__trigger{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-combobox--open .co-combobox__trigger{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-combobox__trigger:focus-visible{outline:none;border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-combobox--disabled .co-combobox__trigger{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-combobox__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-combobox--disabled .co-combobox__icon{color:var(--co-semantic-text-disabled)}.co-combobox__input-wrapper{flex:1;display:flex;align-items:center;flex-wrap:nowrap;gap:4px;min-width:0;min-height:22px;padding:0;overflow:hidden}.co-combobox__input-wrapper co-chip{--co-chip-max-width:120px;--co-chip-bg:var(--co-semantic-surface-muted);--co-chip-color:var(--co-semantic-text-default);--co-chip-border:1px solid var(--co-semantic-border-subtle);flex-shrink:0}.co-combobox__overflow-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border-radius:var(--co-border-radius-full);background:var(--co-semantic-status-info, #2d6cc5);color:var(--co-color-base-blanco, #fff);font-family:var(--co-font-family-primary);font-size:var(--co-font-size-10);font-weight:600;line-height:1;white-space:nowrap}.co-combobox__text{color:var(--co-semantic-text-default);font-family:inherit;font-size:inherit;font-weight:400;letter-spacing:inherit;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-combobox__text--placeholder{color:var(--co-semantic-text-muted)}.co-combobox--disabled .co-combobox__text{color:var(--co-semantic-text-disabled)}.co-combobox__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-combobox__clear:hover{color:var(--co-semantic-text-default)}.co-combobox__caret{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-combobox--disabled .co-combobox__caret{color:var(--co-semantic-text-disabled)}.co-combobox__dropdown{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-combobox__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-combobox__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-combobox__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-combobox__helper--error .co-combobox__helper-icon,.co-combobox__helper--error .co-combobox__helper-text{color:var(--co-semantic-status-error)}.co-combobox__helper--success .co-combobox__helper-icon,.co-combobox__helper--success .co-combobox__helper-text{color:var(--co-semantic-status-success)}.co-combobox__helper--warning .co-combobox__helper-icon,.co-combobox__helper--warning .co-combobox__helper-text{color:var(--co-color-status-review)}.co-combobox__helper--info .co-combobox__helper-icon,.co-combobox__helper--info .co-combobox__helper-text{color:var(--co-semantic-status-info)}:host([layout='horizontal']) .co-combobox{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-combobox__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-combobox__label{white-space:normal}:host([layout='horizontal']) .co-combobox>:not(.co-combobox__labels){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}";export{a as co_combobox}
@@ -0,0 +1 @@
1
+ import{r as a,c as e,h as o}from"./p-DH5lfRNj.js";const d=class{constructor(o){a(this,o),this.coModeChange=e(this,"coModeChange",7),this.mode="full"}render(){return o("nav",{key:"3d14a99c008dd92798182b04d7049c1a9fb4a00c",class:{"co-sidebar":!0,[`co-sidebar--${this.mode}`]:!0},part:"sidebar"},o("div",{key:"1bf5b8ebe9eb9836c01ac8c7b651aac8af2ebf3c",class:"co-sidebar__header",part:"header"},o("slot",{key:"ba0d88bf62955a61b3e2d297261b260845cbd98f",name:"header"})),o("div",{key:"793248e8020bd38e3da64e35ca8610cb85b17d4a",class:"co-sidebar__body",part:"body"},o("slot",{key:"a76928e89d8425846ad0859339ab35b465bf917e"})),o("div",{key:"4182d50c61913447ae78c670bba1ca1821cc763d",class:"co-sidebar__footer",part:"footer"},o("slot",{key:"bb20795e0acc8e1865f8b5d8568768eb5c5097ee",name:"footer"})))}};d.style=":host{display:flex;height:100%}.co-sidebar{display:flex;flex-direction:column;background:var(--co-semantic-surface-page);border-right:1px solid var(--co-semantic-border-subtle);font-family:var(--co-font-family-primary);box-sizing:border-box;overflow:hidden;transition:width var(--co-motion-duration-base) var(--co-motion-ease-out)}.co-sidebar--full{width:256px}.co-sidebar--min{width:58px;align-items:center}.co-sidebar__header{padding:var(--co-spacing-lg);flex-shrink:0}.co-sidebar--min .co-sidebar__header{padding:var(--co-spacing-md)}.co-sidebar__body{flex:1;overflow-y:auto;padding:var(--co-spacing-sm2) var(--co-spacing-md)}.co-sidebar--min .co-sidebar__body{padding:var(--co-spacing-sm2)}.co-sidebar__footer{padding:var(--co-spacing-md) var(--co-spacing-lg);flex-shrink:0}.co-sidebar--min .co-sidebar__footer{padding:var(--co-spacing-md)}.co-sidebar__header:empty,.co-sidebar__footer:empty{display:none}";export{d as co_sidebar}
@@ -1 +1 @@
1
- import{r as a,h as o}from"./p-DH5lfRNj.js";const r=class{constructor(o){a(this,o),this.variant="default",this.size="md",this.rounded=!1}render(){return o("div",{key:"2bfd8f245fd8e93a2d085c5cecbe729a32f10754",class:{"co-navbar":!0,[`co-navbar--${this.variant}`]:!0,[`co-navbar--${this.size}`]:!0,"co-navbar--rounded":this.rounded},part:"navbar",role:"toolbar"},o("slot",{key:"a07380f56382e9b96b335ab9169a16c8ed9e042e"}))}};r.style=":host{display:block}.co-navbar{display:flex;align-items:center;justify-content:space-between;width:100%;font-family:var(--co-font-family-primary);box-sizing:border-box;background:var(--co-navbar-bg);color:var(--co-navbar-color)}.co-navbar--default{--co-navbar-bg:transparent}.co-navbar--filled{--co-navbar-bg:var(--co-semantic-surface-primary, #1f1c1b);--co-navbar-color:var(--co-semantic-on-primary, #fff)}.co-navbar--bordered{--co-navbar-bg:var(--co-semantic-surface-page, #fff);--co-navbar-color:inherit;border-bottom:1px solid var(--co-semantic-border-subtle, rgba(31,28,27,0.08))}.co-navbar--dark{--co-navbar-bg:var(--co-theme-navbar-bg, var(--co-color-base-negro, #1F1C1B));--co-navbar-color:var(--co-theme-on-navbar, #fff);--co-icon-button-bg:var(--co-theme-on-navbar-surface, var(--co-color-opacity-blanco-16, rgba(255,255,255,0.16)));--co-icon-button-color:var(--co-theme-on-navbar, #fff);--co-icon-button-border:transparent}.co-navbar--rounded{border-radius:var(--co-border-radius-sm, 12px);overflow:hidden}.co-navbar--sm{min-height:40px;padding:0 var(--co-navbar-padding-x, var(--co-spacing-md, 12px));gap:var(--co-spacing-sm2, 8px);font-size:var(--co-font-size-12, 12px)}.co-navbar--md{min-height:48px;padding:0 var(--co-navbar-padding-x, var(--co-spacing-lg, 16px));gap:var(--co-spacing-md, 12px);font-size:var(--co-font-size-14, 14px)}.co-navbar--lg{min-height:56px;padding:0 var(--co-navbar-padding-x-end, var(--co-spacing-2xl, 24px)) 0 var(--co-navbar-padding-x-start, var(--co-spacing-md, 12px));gap:var(--co-spacing-sm2, 8px);font-size:var(--co-font-size-14, 14px)}::slotted([slot-spacer]),::slotted(.co-spacer){flex:1}";export{r as co_navbar}
1
+ import{r as a,h as o}from"./p-DH5lfRNj.js";const r=class{constructor(o){a(this,o),this.variant="default",this.size="md",this.rounded=!1}render(){return o("div",{key:"9899b395fdf793bf9b7e47509b81eb559aac0b56",class:{"co-navbar":!0,[`co-navbar--${this.variant}`]:!0,[`co-navbar--${this.size}`]:!0,"co-navbar--rounded":this.rounded},part:"navbar",role:"toolbar"},o("slot",{key:"c863bcf8dc9eddab771922a81e11c1966bfe8d2e"}))}};r.style=":host{display:block}.co-navbar{display:flex;align-items:center;justify-content:space-between;width:100%;font-family:var(--co-font-family-primary);box-sizing:border-box;background:var(--co-navbar-bg);color:var(--co-navbar-color)}.co-navbar--default{--co-navbar-bg:transparent}.co-navbar--filled{--co-navbar-bg:var(--co-semantic-surface-primary, #1f1c1b);--co-navbar-color:var(--co-semantic-on-primary, #fff)}.co-navbar--bordered{--co-navbar-bg:var(--co-semantic-surface-page, #fff);--co-navbar-color:inherit;border-bottom:1px solid var(--co-semantic-border-subtle, rgba(31,28,27,0.08))}.co-navbar--dark{--co-navbar-bg:var(--co-theme-navbar-bg, var(--co-color-base-negro, #1F1C1B));--co-navbar-color:var(--co-theme-on-navbar, #fff);--co-icon-button-bg:var(--co-theme-on-navbar-surface, var(--co-color-opacity-blanco-16, rgba(255,255,255,0.16)));--co-icon-button-color:var(--co-theme-on-navbar, #fff);--co-icon-button-border:transparent}.co-navbar--rounded{border-radius:var(--co-border-radius-sm, 12px);overflow:hidden}.co-navbar--sm{min-height:40px;padding:0 var(--co-navbar-padding-x, var(--co-spacing-md, 12px));gap:var(--co-spacing-sm2, 8px);font-size:var(--co-font-size-12, 12px)}.co-navbar--md{min-height:48px;padding:0 var(--co-navbar-padding-x, var(--co-spacing-lg, 16px));gap:var(--co-spacing-md, 12px);font-size:var(--co-font-size-14, 14px)}.co-navbar--lg{min-height:56px;padding:0 var(--co-navbar-padding-x-end, var(--co-spacing-2xl, 24px)) 0 var(--co-navbar-padding-x-start, var(--co-spacing-md, 12px));gap:var(--co-spacing-sm2, 8px);font-size:var(--co-font-size-14, 14px)}::slotted([slot-spacer]),::slotted(.co-spacer){flex:1}";export{r as co_navbar}
@@ -25,6 +25,8 @@
25
25
  display: flex;
26
26
  flex-direction: column;
27
27
  gap: var(--co-spacing-xxs, 2px);
28
+ /* The heading text toggles too (the caret stays the accessible trigger). */
29
+ cursor: pointer;
28
30
  }
29
31
 
30
32
  .co-accordion__heading {
@@ -48,8 +50,9 @@
48
50
  white-space: nowrap;
49
51
  }
50
52
 
51
- /* The caret is the ONLY toggle trigger (the header text is not interactive).
52
- Sized as a 32px ghost icon-button so the hit target stays comfortable. */
53
+ /* The caret is the accessible toggle (keyboard + aria-expanded); the heading text
54
+ toggles on click as a convenience. Sized as a 32px ghost icon-button so the hit
55
+ target stays comfortable. */
53
56
  .co-accordion__caret {
54
57
  flex-shrink: 0;
55
58
  display: inline-flex;
@@ -89,9 +92,9 @@
89
92
  .co-accordion__body-inner {
90
93
  min-height: 0;
91
94
  overflow: hidden;
92
- padding-top: var(--co-spacing-2xl); /* 24px breathing under header */
95
+ padding-top: var(--co-spacing-md); /* 12px breathing under header */
93
96
  /* El 0fr comprime el CONTENIDO pero NO el padding: sin colapsarlo aparte,
94
- todo acordeón cerrado dejaba una franja fantasma de 24px bajo el header.
97
+ todo acordeón cerrado dejaba una franja fantasma de 12px bajo el header.
95
98
  Se transiciona junto con la altura para que respire al abrir/cerrar. */
96
99
  transition: padding-top var(--co-motion-duration-slow) var(--co-motion-ease-out);
97
100
  }
@@ -129,3 +132,7 @@
129
132
  .co-accordion--disabled .co-accordion__caret {
130
133
  cursor: not-allowed;
131
134
  }
135
+
136
+ .co-accordion--disabled .co-accordion__heading-group {
137
+ cursor: default;
138
+ }
@@ -1,7 +1,20 @@
1
1
  import { h } from "@stencil/core";
2
+ /** Native controls, ARIA widgets and Cobalt fields: a click on them is theirs, not a toggle. */
3
+ const INTERACTIVE_SELECTOR = [
4
+ 'a[href]', 'button', 'input', 'select', 'textarea', 'label', 'summary', '[contenteditable="true"]',
5
+ '[role="button"]', '[role="link"]', '[role="checkbox"]', '[role="switch"]', '[role="menuitem"]', '[role="tab"]',
6
+ 'co-button', 'co-icon-button', 'co-switch', 'co-checkbox', 'co-radio', 'co-chip', 'co-input', 'co-select',
7
+ 'co-combobox', 'co-autocomplete', 'co-ref-field', 'co-number-field', 'co-toggle-button', 'co-menu',
8
+ ].join(',');
9
+ function isInteractive(node) {
10
+ const el = node;
11
+ return typeof el.matches === 'function' && el.matches(INTERACTIVE_SELECTOR);
12
+ }
2
13
  /**
3
- * Collapsible section. The caret button is the ONLY toggle trigger — clicking
4
- * the header text does nothing (it may contain interactive content).
14
+ * Collapsible section. The caret button is the accessible toggle (keyboard,
15
+ * `aria-expanded`); clicking the heading/subheading text toggles too (2026-09-17),
16
+ * EXCEPT when the click lands on interactive content slotted into the header
17
+ * (a button, link or field) — that content keeps its own behaviour.
5
18
  *
6
19
  * @slot header - Optional override for the heading content (replaces `heading` prop).
7
20
  * @slot subheading - Optional secondary line under the heading (replaces `subheading` prop).
@@ -26,6 +39,24 @@ export class CoAccordion {
26
39
  this.open = !this.open;
27
40
  this.coToggle.emit(this.open);
28
41
  };
42
+ /**
43
+ * The heading group is a convenience trigger: a click on its text toggles, a
44
+ * click that started on interactive content slotted into `header`/`subheading`
45
+ * does not. Walks the composed path (slotted light DOM included) up to the
46
+ * heading group looking for anything focusable/actionable.
47
+ */
48
+ this.handleHeadingClick = (ev) => {
49
+ if (this.disabled)
50
+ return;
51
+ const group = ev.currentTarget;
52
+ for (const node of ev.composedPath()) {
53
+ if (node === group)
54
+ break;
55
+ if (isInteractive(node))
56
+ return;
57
+ }
58
+ this.handleToggle();
59
+ };
29
60
  }
30
61
  componentWillLoad() {
31
62
  this.hasSubheadingSlot = !!this.el.querySelector('[slot="subheading"]');
@@ -38,11 +69,11 @@ export class CoAccordion {
38
69
  return !!(this.subheading && this.subheading.trim()) || this.hasSubheadingSlot;
39
70
  }
40
71
  render() {
41
- return (h("div", { key: '4e2089349432ce39bb797397aacaebd022fcbcee', class: {
72
+ return (h("div", { key: '5b02028e29aae87aa6377833042b2fa3d24bd9b6', class: {
42
73
  'co-accordion': true,
43
74
  'co-accordion--open': this.open,
44
75
  'co-accordion--disabled': this.disabled,
45
- }, part: "accordion" }, h("div", { key: '4337878858bd31822201a925010f3150568fa056', class: "co-accordion__header", part: "header" }, h("span", { key: 'cf69c69cc786981ca6bd54bd0f6a6c38a3baa0b6', class: "co-accordion__heading-group" }, h("span", { key: '0e7efd52e6d48c35ce0270485e8ce6099c6a3302', class: "co-accordion__heading", part: "heading" }, h("slot", { key: 'b575ce7ae5611007490724f430819f083781f84d', name: "header" }, this.heading)), this.showSubheading && (h("span", { key: '996a58f3f3b5cd656849b413b0f998675452cc2f', class: "co-accordion__subheading", part: "subheading" }, h("slot", { key: 'a9029aa67f51162ad54c010d23bf20545883ef45', name: "subheading" }, this.subheading)))), h("button", { key: '757286aaf2914fe7d32fc14ab0f5de57ffeab48c', class: "co-accordion__caret", type: "button", "aria-expanded": this.open ? 'true' : 'false', "aria-label": this.heading || 'Toggle section', disabled: this.disabled, onClick: this.handleToggle, part: "caret" }, h("co-icon", { key: 'b4c3c96489a30607727a44955dbff2d504ef2b6e', name: "caret-up", size: 20 }))), h("div", { key: 'bd56b12cbd7484f61fec140740312800536d7b18', class: "co-accordion__body", part: "body" }, h("div", { key: '1f2ff56e7bd7a49f8484c988ecdf434d108ef4ed', class: "co-accordion__body-inner", part: "body-inner" }, h("slot", { key: '25ef25609ccece786a05709d90a32e7e135fec72' })))));
76
+ }, part: "accordion" }, h("div", { key: '7d27e1b5cce6eefa1adc68dc7f7b34f9888dc484', class: "co-accordion__header", part: "header" }, h("span", { key: '1cfc8da7316afb37b0a2d2b79266646339842029', class: "co-accordion__heading-group", onClick: this.handleHeadingClick }, h("span", { key: 'ec95bf00c0f34b9fdd03b2ec399eba72cc7d9099', class: "co-accordion__heading", part: "heading" }, h("slot", { key: 'c90344072032603e2103272001b8918cba7b65a8', name: "header" }, this.heading)), this.showSubheading && (h("span", { key: 'bb5dc096a23144a38bf02abd71143400683d6c77', class: "co-accordion__subheading", part: "subheading" }, h("slot", { key: 'a257179892145204541c54bab5734173128ebd54', name: "subheading" }, this.subheading)))), h("button", { key: 'fd7415281a4da11657549260cdabec47c2d91ecf', class: "co-accordion__caret", type: "button", "aria-expanded": this.open ? 'true' : 'false', "aria-label": this.heading || 'Toggle section', disabled: this.disabled, onClick: this.handleToggle, part: "caret" }, h("co-icon", { key: '6bf641e38529c66da0559642821bdf11dba92429', name: "caret-up", size: 20 }))), h("div", { key: 'bcabf0d1a18939a388a482832a3746d3480a19d7', class: "co-accordion__body", part: "body" }, h("div", { key: '2b701a3f007ad5bb34b2da5ddc69dd7e2b74a289', class: "co-accordion__body-inner", part: "body-inner" }, h("slot", { key: 'd721a0a49b2a9fc47c69de8f995ec7d440db284b' })))));
46
77
  }
47
78
  static get is() { return "co-accordion"; }
48
79
  static get encapsulation() { return "shadow"; }
@@ -149,12 +180,12 @@ export class CoAccordion {
149
180
  return [{
150
181
  "method": "coToggle",
151
182
  "name": "coToggle",
152
- "bubbles": true,
183
+ "bubbles": false,
153
184
  "cancelable": true,
154
185
  "composed": true,
155
186
  "docs": {
156
187
  "tags": [],
157
- "text": "Emitted when the user toggles the section."
188
+ "text": "Nuevo estado tras el click en el caret. `bubbles: false`: es un evento de\nESTADO del propio acorde\u00F3n y todo consumidor lo escucha en su host \u2014 si\nburbujeara, colapsar un fieldset anidado (FieldObject dentro de otra\nsecci\u00F3n) colapsaba tambi\u00E9n al padre, cuyo handler hace `open = e.detail`."
158
189
  },
159
190
  "complexType": {
160
191
  "original": "boolean",
@@ -28,14 +28,21 @@
28
28
  perdía 2×92px=184px de ancho disponible sin querer, y la barra desbordaba
29
29
  con varias acciones. Ahora el offset vertical solo mueve `bottom`; el
30
30
  margen horizontal se configura aparte (mismo default 24px si el consumidor
31
- no lo toca). */
31
+ no lo toca).
32
+
33
+ `100%` y NO `100vw`: un fixed se ancla al ancestro más cercano con
34
+ contain/transform/filter (el `div.main` del co-app-shell lleva
35
+ `contain: layout`), y ahí el viewport miente — con `100vw` el pill
36
+ desbordaba el card y la última acción quedaba recortada. Un porcentaje en
37
+ un fixed resuelve contra SU bloque contenedor: viewport si nadie lo ancla,
38
+ el card si el shell lo ancla. */
32
39
  :host([position='bottom-center']) {
33
40
  position: fixed;
34
41
  left: 50%;
35
42
  transform: translateX(-50%);
36
43
  bottom: var(--co-action-bar-offset, 24px);
37
44
  z-index: var(--co-action-bar-z, 1000);
38
- max-width: calc(100vw - 2 * var(--co-action-bar-inline-margin, 24px));
45
+ max-width: calc(100% - 2 * var(--co-action-bar-inline-margin, 24px));
39
46
  }
40
47
 
41
48
  /* ── Pill ───────────────────────────────────────────────────── */
@@ -38,10 +38,22 @@ export class CoAudioPlayer {
38
38
  // Bumped by every init(); an in-flight extractPeaks whose token no longer matches
39
39
  // belongs to a superseded `src` and must not write peaks/duration.
40
40
  this.loadToken = 0;
41
- this.onMeta = () => { this.syncDuration(); };
42
- this.onCanPlay = () => { this.isLoading = false; };
41
+ this.onMeta = () => { this.syncDuration(); this.applyPendingSeek(); };
42
+ /**
43
+ * A seek asked for before the media had data. `<audio>` DROPS a `currentTime`
44
+ * write while `readyState` is HAVE_NOTHING, silently: with `preload="metadata"`
45
+ * and a clip never played, the very first jump (clicking a transcript line on
46
+ * a recording nobody opened yet) went nowhere. Kept here and applied as soon
47
+ * as the element can take it.
48
+ */
49
+ this.pendingSeek = null;
50
+ this.onCanPlay = () => { this.isLoading = false; this.applyPendingSeek(); };
43
51
  this.onWaiting = () => { this.isLoading = true; };
44
- this.onTime = () => { var _a; this.currentTime = ((_a = this.audio) === null || _a === void 0 ? void 0 : _a.currentTime) || 0; };
52
+ this.onTime = () => {
53
+ var _a;
54
+ this.currentTime = ((_a = this.audio) === null || _a === void 0 ? void 0 : _a.currentTime) || 0;
55
+ this.coTimeUpdate.emit({ currentTime: this.currentTime, duration: this.knownDuration });
56
+ };
45
57
  this.onEnded = () => { this.isPlaying = false; this.currentTime = 0; this.coEnded.emit(); };
46
58
  this.onErr = (e) => { this.isLoading = false; this.hasError = true; this.coError.emit(e); };
47
59
  this.toggle = () => {
@@ -198,12 +210,26 @@ export class CoAudioPlayer {
198
210
  this.isPlaying = false;
199
211
  }
200
212
  async extractPeaks(url, token) {
213
+ var _a;
201
214
  let ctx;
202
215
  try {
216
+ /**
217
+ * `OfflineAudioContext` FIRST, and a live `AudioContext` only as the
218
+ * fallback: decoding a waveform needs no audio OUTPUT, and a live context
219
+ * created before the user has interacted trips the browser's autoplay
220
+ * policy — "The AudioContext was not allowed to start. It must be resumed
221
+ * (or created) after a user gesture on the page", once per player. A page
222
+ * with 15 recordings logged it 15 times. The offline one has no output
223
+ * device, so the policy does not apply to it.
224
+ *
225
+ * Its arguments are placeholders: nothing is ever rendered through this
226
+ * context, it is only the host for `decodeAudioData`.
227
+ */
228
+ const OfflineCtx = window.OfflineAudioContext || window.webkitOfflineAudioContext;
203
229
  const Ctx = window.AudioContext || window.webkitAudioContext;
204
- if (!Ctx || typeof fetch === 'undefined')
230
+ if ((!OfflineCtx && !Ctx) || typeof fetch === 'undefined')
205
231
  return; // keep fallback
206
- ctx = new Ctx();
232
+ ctx = OfflineCtx ? new OfflineCtx(1, 1, 44100) : new Ctx();
207
233
  const buf = await (await fetch(url)).arrayBuffer();
208
234
  const audioBuf = await ctx.decodeAudioData(buf);
209
235
  if (token !== this.loadToken)
@@ -212,7 +238,7 @@ export class CoAudioPlayer {
212
238
  this.decodedDuration = audioBuf.duration;
213
239
  this.peaks = resamplePeaks(this.rawChannelData, this.effectiveBars);
214
240
  }
215
- catch (_a) {
241
+ catch (_b) {
216
242
  if (token !== this.loadToken)
217
243
  return;
218
244
  // Undecodable (codec WebAudio can't handle, CORS, network): keep the
@@ -225,11 +251,13 @@ export class CoAudioPlayer {
225
251
  finally {
226
252
  // Always release the context. Chrome caps concurrent AudioContexts per
227
253
  // document, so leaking one per failed decode would eventually stop every
228
- // later player on the page from decoding at all.
254
+ // later player on the page from decoding at all. `close()` lives on
255
+ // AudioContext, not on every BaseAudioContext (an OfflineAudioContext
256
+ // needs no closing and may not implement it): optional call, not a cast.
229
257
  try {
230
- await (ctx === null || ctx === void 0 ? void 0 : ctx.close());
258
+ await ((_a = ctx === null || ctx === void 0 ? void 0 : ctx.close) === null || _a === void 0 ? void 0 : _a.call(ctx));
231
259
  }
232
- catch ( /* already closed */_b) { /* already closed */ }
260
+ catch ( /* already closed */_c) { /* already closed */ }
233
261
  }
234
262
  if (token === this.loadToken)
235
263
  this.syncDuration();
@@ -244,6 +272,47 @@ export class CoAudioPlayer {
244
272
  if (!Object.is(next, this.duration))
245
273
  this.duration = next;
246
274
  }
275
+ applyPendingSeek() {
276
+ if (this.pendingSeek == null || !this.audio)
277
+ return;
278
+ const target = this.pendingSeek;
279
+ this.pendingSeek = null;
280
+ this.audio.currentTime = target;
281
+ this.currentTime = this.audio.currentTime;
282
+ this.coTimeUpdate.emit({ currentTime: this.currentTime, duration: this.knownDuration });
283
+ }
284
+ /**
285
+ * Move the playhead. Clamped to `[0, duration]`: `audio.currentTime` takes a
286
+ * restricted double and THROWS on a non-finite value, and a duration that is
287
+ * not known yet reads as 0 (see `knownDuration`).
288
+ */
289
+ async seek(seconds) {
290
+ var _a;
291
+ if (!this.audio || !Number.isFinite(seconds))
292
+ return;
293
+ const total = this.knownDuration;
294
+ const target = total ? Math.max(0, Math.min(total, seconds)) : Math.max(0, seconds);
295
+ this.audio.currentTime = target;
296
+ // The element could not take it yet (no data): keep it for `loadedmetadata`.
297
+ // The readback is the only way to tell — the write throws nothing.
298
+ if (Math.abs(((_a = this.audio.currentTime) !== null && _a !== void 0 ? _a : 0) - target) > 0.05)
299
+ this.pendingSeek = target;
300
+ // Optimistic either way: the UI shows where playback is GOING, and the
301
+ // pending write lands on its own.
302
+ this.currentTime = target;
303
+ this.coTimeUpdate.emit({ currentTime: this.currentTime, duration: total });
304
+ }
305
+ /** Start playback if it is not already running (no-op on a failed load). */
306
+ async play() {
307
+ if (!this.audio || this.isPlaying || this.hasError)
308
+ return;
309
+ try {
310
+ await this.audio.play();
311
+ this.isPlaying = true;
312
+ this.coPlay.emit();
313
+ }
314
+ catch ( /* autoplay blocked or source not ready: the button still works */_a) { /* autoplay blocked or source not ready: the button still works */ }
315
+ }
247
316
  async download() {
248
317
  if (!this.src || typeof fetch === 'undefined')
249
318
  return;
@@ -270,13 +339,13 @@ export class CoAudioPlayer {
270
339
  // below `aria-valuenow` the moment playback advances. ARIA 1.2 makes valuemax
271
340
  // optional for `slider`, so leaving it off while unknown is well-formed.
272
341
  const ariaMax = total ? Math.floor(total) : undefined;
273
- const bar = (hFrac, i, played = false) => (h("rect", { key: '997dcefc32f5188c41afa0a7b5135c70cceeed1d', x: i * UNIT, y: H / 2 - (hFrac * H) / 2, width: W, height: Math.max(hFrac * H, 2), rx: R, class: { 'co-audio-player__bar': true, 'co-audio-player__bar--played': played } }));
274
- return (h("div", { key: '8ac91ab3f8eb417df5e7cf4d1e016d6ca7eb45a3', class: {
342
+ const bar = (hFrac, i, played = false) => (h("rect", { key: '7cbeb92ef52ffc865077340d72bae11139ced551', x: i * UNIT, y: H / 2 - (hFrac * H) / 2, width: W, height: Math.max(hFrac * H, 2), rx: R, class: { 'co-audio-player__bar': true, 'co-audio-player__bar--played': played } }));
343
+ return (h("div", { key: '34078ed0540dc72c87644c3ae830b3a2ff43a99e', class: {
275
344
  'co-audio-player': true,
276
345
  'co-audio-player--compact': this.compact,
277
346
  'co-audio-player--error': this.hasError,
278
347
  'co-audio-player--playing': this.isPlaying,
279
- }, part: "player" }, h("button", { key: '0e5897dc64c91ee67432f17d7b0d57a27f44cd0e', type: "button", class: "co-audio-player__play", part: "play", "aria-label": this.hasError ? 'Audio no disponible' : this.isPlaying ? 'Pausar' : 'Reproducir', "aria-busy": this.isLoading ? 'true' : 'false', disabled: this.hasError || !this.src, onClick: this.toggle }, h("co-icon", { key: '4843751a2a3709942a49ae03ff9ba0eb08ab7d97', name: this.hasError ? 'warning-circle' : this.isPlaying ? 'pause' : 'play', weight: "fill", size: this.compact ? 12 : 14 })), h("div", { key: 'b7aebd0e0c5197b0dec6257bbec7c9dd8dd55d6f', class: "co-audio-player__wave", part: "wave", role: "slider", tabindex: "0", "aria-label": "Progreso de reproducci\u00F3n", "aria-valuemin": 0, "aria-valuemax": ariaMax, "aria-valuenow": Math.floor(this.currentTime), ref: (el) => (this.waveEl = el), onClick: (e) => this.seekAt(e.clientX), onKeyDown: this.onWaveKey }, h("svg", { key: 'a504d058a27bb33dd57733ec32db306eb0ed87e9', class: "co-audio-player__svg", viewBox: `0 0 ${vbW} ${H}`, preserveAspectRatio: "none", "aria-hidden": "true" }, this.peaks.map((hFrac, i) => bar(hFrac, i)), h("clipPath", { key: '9cfa69ba28801893baf62c8f66b18a31319fdebe', id: "co-ap-clip" }, h("rect", { key: '6e5cb34baeb2b7dddd6ef7e94f8585ef912e0315', x: "0", y: "0", width: (pct / 100) * vbW, height: H })), h("g", { key: '4b78a29dde762cabc85d7921aacbcd261d8fa6b5', "clip-path": "url(#co-ap-clip)" }, this.peaks.map((hFrac, i) => bar(hFrac, i, true))))), h("span", { key: '9067d22b0e2994e46ef49c60356292ec59f61a21', class: "co-audio-player__time", part: "time" }, formatTime(this.currentTime), " / ", formatTime(this.duration)), !this.compact && (h("button", { key: 'f6149a9996e6ce15230221c2f6fcec95fec5f485', type: "button", class: "co-audio-player__speed", part: "speed", "aria-label": `Velocidad de reproducción ${this.playbackRate}x`, onClick: this.cycleSpeed }, this.playbackRate, "x")), !this.compact && !this.noDownload && (h("button", { key: '73d291d31d92bcb0e18e230fe0ac35d3ab4077b2', type: "button", class: "co-audio-player__dl", part: "download", "aria-label": "Descargar", onClick: () => this.download() }, h("co-icon", { key: '9ab09f5d6b975f4f5544019f70bd2ca1ee521068', name: "download-simple", size: 14 })))));
348
+ }, part: "player" }, h("button", { key: '7f692d951704a6e101f77512967d4b206f985e18', type: "button", class: "co-audio-player__play", part: "play", "aria-label": this.hasError ? 'Audio no disponible' : this.isPlaying ? 'Pausar' : 'Reproducir', "aria-busy": this.isLoading ? 'true' : 'false', disabled: this.hasError || !this.src, onClick: this.toggle }, h("co-icon", { key: 'fdc0a0a0703189efe10bbc1b1182572d1120a347', name: this.hasError ? 'warning-circle' : this.isPlaying ? 'pause' : 'play', weight: "fill", size: this.compact ? 12 : 14 })), h("div", { key: '6842ce24993895bf70461a28eb837a0558d277d7', class: "co-audio-player__wave", part: "wave", role: "slider", tabindex: "0", "aria-label": "Progreso de reproducci\u00F3n", "aria-valuemin": 0, "aria-valuemax": ariaMax, "aria-valuenow": Math.floor(this.currentTime), ref: (el) => (this.waveEl = el), onClick: (e) => this.seekAt(e.clientX), onKeyDown: this.onWaveKey }, h("svg", { key: 'e75c5e1f78633194608758f43a47987bc28c2081', class: "co-audio-player__svg", viewBox: `0 0 ${vbW} ${H}`, preserveAspectRatio: "none", "aria-hidden": "true" }, this.peaks.map((hFrac, i) => bar(hFrac, i)), h("clipPath", { key: 'c4136dddad555e8b5ef09a81c38433cd2bf39d7c', id: "co-ap-clip" }, h("rect", { key: 'edb79083fbc7d225bd5668443fb6541fe77c8f9d', x: "0", y: "0", width: (pct / 100) * vbW, height: H })), h("g", { key: 'c91b8b285f53b9dc4f6110f9cb73b7f3f892fad6', "clip-path": "url(#co-ap-clip)" }, this.peaks.map((hFrac, i) => bar(hFrac, i, true))))), h("span", { key: '26af75ef91f36d432add06bb636c4d3194902b0a', class: "co-audio-player__time", part: "time" }, formatTime(this.currentTime), " / ", formatTime(this.duration)), !this.compact && (h("button", { key: 'a2093fc2d9c9a9c120e97e59f5e8b91467e1c20c', type: "button", class: "co-audio-player__speed", part: "speed", "aria-label": `Velocidad de reproducción ${this.playbackRate}x`, onClick: this.cycleSpeed }, this.playbackRate, "x")), !this.compact && !this.noDownload && (h("button", { key: '327336de6ad09adac5f8cba6e048b58bbef0008e', type: "button", class: "co-audio-player__dl", part: "download", "aria-label": "Descargar", onClick: () => this.download() }, h("co-icon", { key: '787738fea40ab74531c943f876e20acf6ceb54df', name: "download-simple", size: 14 })))));
280
349
  }
281
350
  static get is() { return "co-audio-player"; }
282
351
  static get encapsulation() { return "shadow"; }
@@ -506,8 +575,65 @@ export class CoAudioPlayer {
506
575
  "resolved": "unknown",
507
576
  "references": {}
508
577
  }
578
+ }, {
579
+ "method": "coTimeUpdate",
580
+ "name": "coTimeUpdate",
581
+ "bubbles": false,
582
+ "cancelable": true,
583
+ "composed": true,
584
+ "docs": {
585
+ "tags": [],
586
+ "text": "Playback position, on the `<audio>` element's own `timeupdate` cadence\n(~4\u00D7/s while playing, plus every seek). Exists so a host can follow the\nplayhead \u2014 a transcript highlighting the line being spoken, for one \u2014\nwithout reaching into this component's shadow DOM for its `<audio>`."
587
+ },
588
+ "complexType": {
589
+ "original": "{ currentTime: number; duration: number }",
590
+ "resolved": "{ currentTime: number; duration: number; }",
591
+ "references": {}
592
+ }
509
593
  }];
510
594
  }
595
+ static get methods() {
596
+ return {
597
+ "seek": {
598
+ "complexType": {
599
+ "signature": "(seconds: number) => Promise<void>",
600
+ "parameters": [{
601
+ "name": "seconds",
602
+ "type": "number",
603
+ "docs": ""
604
+ }],
605
+ "references": {
606
+ "Promise": {
607
+ "location": "global",
608
+ "id": "global::Promise"
609
+ }
610
+ },
611
+ "return": "Promise<void>"
612
+ },
613
+ "docs": {
614
+ "text": "Move the playhead. Clamped to `[0, duration]`: `audio.currentTime` takes a\nrestricted double and THROWS on a non-finite value, and a duration that is\nnot known yet reads as 0 (see `knownDuration`).",
615
+ "tags": []
616
+ }
617
+ },
618
+ "play": {
619
+ "complexType": {
620
+ "signature": "() => Promise<void>",
621
+ "parameters": [],
622
+ "references": {
623
+ "Promise": {
624
+ "location": "global",
625
+ "id": "global::Promise"
626
+ }
627
+ },
628
+ "return": "Promise<void>"
629
+ },
630
+ "docs": {
631
+ "text": "Start playback if it is not already running (no-op on a failed load).",
632
+ "tags": []
633
+ }
634
+ }
635
+ };
636
+ }
511
637
  static get watchers() {
512
638
  return [{
513
639
  "propName": "src",
@@ -418,7 +418,7 @@ export class CoAutocomplete {
418
418
  "references": {
419
419
  "AutocompleteOption": {
420
420
  "location": "local",
421
- "path": "/Users/agox/Documents/Prolibu/prolibu-cobalt/packages/core/src/components/co-autocomplete/co-autocomplete.tsx",
421
+ "path": "/Users/agox/worktrees/cobalt-release-2026-09-18/packages/core/src/components/co-autocomplete/co-autocomplete.tsx",
422
422
  "id": "src/components/co-autocomplete/co-autocomplete.tsx::AutocompleteOption"
423
423
  }
424
424
  }
@@ -15,7 +15,10 @@
15
15
  background: var(--co-semantic-surface-primary);
16
16
  color: var(--co-semantic-on-primary);
17
17
  font-family: var(--co-font-family-primary);
18
- font-weight: 600;
18
+ /* Figma «Avatars» (Geist Medium, 500; p. ej. 4515:158897 / 1135:103818): las
19
+ iniciales van en Medium, no SemiBold — a 10-12px el 600 empasta la panza de
20
+ la R y se lee «sucio» (2026-09-17). */
21
+ font-weight: 500;
19
22
  line-height: 1;
20
23
  letter-spacing: var(--co-font-letter-spacing-body);
21
24
  overflow: hidden;
@@ -40,6 +43,24 @@
40
43
  text-transform: uppercase;
41
44
  }
42
45
 
46
+ /* Centrado óptico vertical de las iniciales (medido 2026-09-17, Chrome, Geist).
47
+ Geist es simétrica para mayúsculas ((ascent − descent)/2 = capHeight/2 = 0.355em),
48
+ así que el centro geométrico del line box SERÍA el centro de las mayúsculas —
49
+ pero Blink redondea ascent/descent a píxeles enteros y reparte el leading
50
+ negativo de `line-height: 1` con floor/ceil, y encima pinta la baseline en
51
+ píxel CSS entero: las mayúsculas quedan ALTAS por un fijo por tamaño (xxs
52
+ −0.55, xs −0.26, sm −0.68, md −0.39; lg +0.19 y xl −0.23 ya están dentro del
53
+ cuarto de píxel). Un transform sí respeta el subpíxel (a dpr 2 es un píxel
54
+ de dispositivo exacto; a dpr 1 redondea a 1px, mismo error con signo
55
+ opuesto), así que los cuatro tamaños chicos bajan medio píxel. Sin
56
+ `line-height`/`padding` alternativos: todos caen en el mismo redondeo. */
57
+ .co-avatar--xxs .co-avatar__text,
58
+ .co-avatar--xs .co-avatar__text,
59
+ .co-avatar--sm .co-avatar__text,
60
+ .co-avatar--md .co-avatar__text {
61
+ transform: translateY(0.5px);
62
+ }
63
+
43
64
  .co-avatar__img {
44
65
  width: 100%;
45
66
  height: 100%;
@@ -87,7 +87,7 @@ export class CoAvatarGroup {
87
87
  "references": {
88
88
  "CoAvatarGroupItem": {
89
89
  "location": "local",
90
- "path": "/Users/agox/Documents/Prolibu/prolibu-cobalt/packages/core/src/components/co-avatar-group/co-avatar-group.tsx",
90
+ "path": "/Users/agox/worktrees/cobalt-release-2026-09-18/packages/core/src/components/co-avatar-group/co-avatar-group.tsx",
91
91
  "id": "src/components/co-avatar-group/co-avatar-group.tsx::CoAvatarGroupItem"
92
92
  }
93
93
  }