@prolibu-suite/cobalt-core 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (515) hide show
  1. package/custom-elements.json +8266 -5138
  2. package/dist/cjs/co-action-bar.cjs.entry.js +89 -0
  3. package/dist/cjs/co-app-shell.cjs.entry.js +2 -2
  4. package/dist/cjs/co-audio-player.cjs.entry.js +279 -0
  5. package/dist/cjs/co-avatar_2.cjs.entry.js +3 -3
  6. package/dist/cjs/co-badge.cjs.entry.js +1 -1
  7. package/dist/cjs/co-bottom-sheet.cjs.entry.js +3 -3
  8. package/dist/cjs/co-breadcrumb-item.cjs.entry.js +2 -2
  9. package/dist/cjs/co-breadcrumb.cjs.entry.js +1 -1
  10. package/dist/cjs/co-button-group.cjs.entry.js +2 -2
  11. package/dist/cjs/co-button.cjs.entry.js +12 -5
  12. package/dist/cjs/co-calendar-month_2.cjs.entry.js +1601 -0
  13. package/dist/cjs/co-calendar_3.cjs.entry.js +9 -9
  14. package/dist/cjs/co-card.cjs.entry.js +2 -2
  15. package/dist/cjs/co-carousel-item.cjs.entry.js +1 -1
  16. package/dist/cjs/co-carousel.cjs.entry.js +3 -3
  17. package/dist/cjs/co-checkbox.cjs.entry.js +4 -4
  18. package/dist/cjs/co-chip_2.cjs.entry.js +95 -6
  19. package/dist/cjs/co-color-picker.cjs.entry.js +2 -2
  20. package/dist/cjs/co-column-picker.cjs.entry.js +2 -2
  21. package/dist/cjs/co-data-table-pagination.cjs.entry.js +4 -4
  22. package/dist/cjs/co-data-table.cjs.entry.js +1 -1
  23. package/dist/cjs/co-date-picker.cjs.entry.js +1 -1
  24. package/dist/cjs/co-date-range-picker.cjs.entry.js +2 -2
  25. package/dist/cjs/co-date-range.cjs.entry.js +1 -1
  26. package/dist/cjs/co-date-time-picker.cjs.entry.js +409 -0
  27. package/dist/cjs/co-drive-card.cjs.entry.js +1 -1
  28. package/dist/cjs/co-drop-zone.cjs.entry.js +1 -1
  29. package/dist/cjs/co-empty-state.cjs.entry.js +2 -2
  30. package/dist/cjs/co-event-calendar.cjs.entry.js +118 -17
  31. package/dist/cjs/co-event-popover.cjs.entry.js +132 -0
  32. package/dist/cjs/co-fab.cjs.entry.js +2 -2
  33. package/dist/cjs/co-file-field.cjs.entry.js +5 -5
  34. package/dist/cjs/co-file-type-tile.cjs.entry.js +2 -2
  35. package/dist/cjs/co-helper-text.cjs.entry.js +2 -2
  36. package/dist/cjs/co-icon-button.cjs.entry.js +1 -1
  37. package/dist/cjs/co-icon.cjs.entry.js +2 -2
  38. package/dist/cjs/co-json-field.cjs.entry.js +3 -3
  39. package/dist/cjs/co-lightbox.cjs.entry.js +5 -5
  40. package/dist/cjs/co-list-footer.cjs.entry.js +1 -1
  41. package/dist/cjs/co-list-item.cjs.entry.js +4 -4
  42. package/dist/cjs/co-media-thumb.cjs.entry.js +2 -2
  43. package/dist/cjs/co-menu-divider.cjs.entry.js +1 -1
  44. package/dist/cjs/co-menu-item.cjs.entry.js +2 -2
  45. package/dist/cjs/co-menu.cjs.entry.js +1 -1
  46. package/dist/cjs/co-modal.cjs.entry.js +2 -2
  47. package/dist/cjs/co-navbar.cjs.entry.js +2 -2
  48. package/dist/cjs/co-number-field.cjs.entry.js +2 -2
  49. package/dist/cjs/co-overlay.cjs.entry.js +1 -1
  50. package/dist/cjs/co-page-header.cjs.entry.js +1 -1
  51. package/dist/cjs/co-phone-field.cjs.entry.js +1 -1
  52. package/dist/cjs/co-popover.cjs.entry.js +1 -1
  53. package/dist/cjs/co-progress-bar.cjs.entry.js +2 -2
  54. package/dist/cjs/co-progress-circle.cjs.entry.js +2 -2
  55. package/dist/cjs/co-provider-logo_2.cjs.entry.js +72 -0
  56. package/dist/cjs/co-radio.cjs.entry.js +3 -3
  57. package/dist/cjs/co-rating.cjs.entry.js +3 -3
  58. package/dist/cjs/co-ref-field.cjs.entry.js +6 -2
  59. package/dist/cjs/co-rich-text-editor.cjs.entry.js +4 -4
  60. package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +1 -1
  61. package/dist/cjs/co-row.cjs.entry.js +2 -2
  62. package/dist/cjs/co-select.cjs.entry.js +1 -1
  63. package/dist/cjs/co-separator.cjs.entry.js +1 -1
  64. package/dist/cjs/co-sidebar-nav.cjs.entry.js +12 -2
  65. package/dist/cjs/co-sidebar.cjs.entry.js +2 -2
  66. package/dist/cjs/co-slider.cjs.entry.js +2 -2
  67. package/dist/cjs/co-switch.cjs.entry.js +3 -3
  68. package/dist/cjs/co-tab-group.cjs.entry.js +19 -3
  69. package/dist/cjs/co-tab.cjs.entry.js +2 -2
  70. package/dist/cjs/co-tags-field.cjs.entry.js +5 -5
  71. package/dist/cjs/co-textarea.cjs.entry.js +4 -4
  72. package/dist/cjs/co-toggle-button-group.cjs.entry.js +2 -2
  73. package/dist/cjs/co-toggle-button.cjs.entry.js +2 -2
  74. package/dist/cjs/co-video.cjs.entry.js +2 -2
  75. package/dist/cjs/cobalt.cjs.js +1 -1
  76. package/dist/cjs/{dateI18n-BdiNAl0_.js → dateI18n-wblvKRq_.js} +21 -0
  77. package/dist/cjs/{dates-D8D-aS5d.js → dates-TQLHlFd2.js} +64 -13
  78. package/dist/cjs/index-kBiXCEE7.js +28 -12
  79. package/dist/cjs/loader.cjs.js +1 -1
  80. package/dist/cjs/{positioning-DwHW399W.js → positioning-DCj_AJ2T.js} +10 -0
  81. package/dist/cjs/time-LBHtzLHe.js +42 -0
  82. package/dist/cobalt/cobalt.esm.js +1 -1
  83. package/dist/cobalt/{p-616e4286.entry.js → p-00830b8c.entry.js} +1 -1
  84. package/dist/cobalt/{p-9994fcd8.entry.js → p-0769eee9.entry.js} +1 -1
  85. package/dist/cobalt/{p-9bf42bf4.entry.js → p-0f18c4d2.entry.js} +1 -1
  86. package/dist/cobalt/{p-cdedaa82.entry.js → p-0fc1edca.entry.js} +1 -1
  87. package/dist/cobalt/p-15852fec.entry.js +1 -0
  88. package/dist/cobalt/{p-eec1c44c.entry.js → p-195c67ee.entry.js} +1 -1
  89. package/dist/cobalt/{p-B6JZk8fL.js → p-1EK-COrb.js} +1 -1
  90. package/dist/cobalt/{p-2da09948.entry.js → p-1e9c9d46.entry.js} +1 -1
  91. package/dist/cobalt/{p-e1b468c1.entry.js → p-20bd3702.entry.js} +1 -1
  92. package/dist/cobalt/p-25f59046.entry.js +1 -0
  93. package/dist/cobalt/{p-b06af5c6.entry.js → p-260196cb.entry.js} +1 -1
  94. package/dist/cobalt/p-2bf44b2b.entry.js +1 -0
  95. package/dist/cobalt/{p-8155d781.entry.js → p-2c100914.entry.js} +1 -1
  96. package/dist/cobalt/p-2e1d930f.entry.js +1 -0
  97. package/dist/cobalt/{p-080f62e4.entry.js → p-35518aee.entry.js} +1 -1
  98. package/dist/cobalt/{p-28ab9cef.entry.js → p-38ae8bff.entry.js} +1 -1
  99. package/dist/cobalt/{p-f0a98453.entry.js → p-38cf47b6.entry.js} +1 -1
  100. package/dist/cobalt/p-39dea0c0.entry.js +1 -0
  101. package/dist/cobalt/{p-3c681e3a.entry.js → p-3a746267.entry.js} +1 -1
  102. package/dist/cobalt/p-3ae69426.entry.js +1 -0
  103. package/dist/cobalt/{p-9211e794.entry.js → p-3d4e697e.entry.js} +1 -1
  104. package/dist/cobalt/{p-264508ae.entry.js → p-445acc4c.entry.js} +1 -1
  105. package/dist/cobalt/p-4de9232a.entry.js +1 -0
  106. package/dist/cobalt/{p-7f78e45c.entry.js → p-50bbfad8.entry.js} +1 -1
  107. package/dist/cobalt/{p-54f8c68c.entry.js → p-51a1ad38.entry.js} +1 -1
  108. package/dist/cobalt/{p-75515a8e.entry.js → p-523aca9f.entry.js} +1 -1
  109. package/dist/cobalt/{p-2f6c7eb5.entry.js → p-52af222b.entry.js} +1 -1
  110. package/dist/cobalt/{p-0b7359bb.entry.js → p-59f7d44b.entry.js} +1 -1
  111. package/dist/cobalt/{p-4f615cbd.entry.js → p-5b984323.entry.js} +1 -1
  112. package/dist/cobalt/{p-8fe5b07e.entry.js → p-5bfaca70.entry.js} +1 -1
  113. package/dist/cobalt/p-5c1328ff.entry.js +1 -0
  114. package/dist/cobalt/p-5e21ca17.entry.js +1 -0
  115. package/dist/cobalt/p-61d5ca3c.entry.js +1 -0
  116. package/dist/cobalt/{p-64115d66.entry.js → p-6357d9dd.entry.js} +1 -1
  117. package/dist/cobalt/{p-0a294205.entry.js → p-6985a964.entry.js} +1 -1
  118. package/dist/cobalt/p-69b8d98e.entry.js +1 -0
  119. package/dist/cobalt/{p-532baca4.entry.js → p-6b089060.entry.js} +1 -1
  120. package/dist/cobalt/{p-ceb85838.entry.js → p-6b256d01.entry.js} +1 -1
  121. package/dist/cobalt/{p-c9528a5f.entry.js → p-7c6b3175.entry.js} +1 -1
  122. package/dist/cobalt/{p-431cec34.entry.js → p-7d077a7c.entry.js} +1 -1
  123. package/dist/cobalt/{p-cbac0a11.entry.js → p-7f4bf341.entry.js} +1 -1
  124. package/dist/cobalt/p-869c338a.entry.js +1 -0
  125. package/dist/cobalt/p-890296f9.entry.js +1 -0
  126. package/dist/cobalt/{p-7178113f.entry.js → p-8fe08257.entry.js} +1 -1
  127. package/dist/cobalt/p-913b2a14.entry.js +1 -0
  128. package/dist/cobalt/{p-5b84cf37.entry.js → p-959556f4.entry.js} +1 -1
  129. package/dist/cobalt/{p-331a0108.entry.js → p-99c1ff0f.entry.js} +1 -1
  130. package/dist/cobalt/p-BMdapAL8.js +1 -0
  131. package/dist/cobalt/p-BU7SQCje.js +1 -0
  132. package/dist/cobalt/p-CF8OB_TM.js +1 -0
  133. package/dist/cobalt/p-CnNpoKwg.js +1 -0
  134. package/dist/cobalt/{p-ba5c6aa7.entry.js → p-a04feb70.entry.js} +1 -1
  135. package/dist/cobalt/p-a4f39ba2.entry.js +1 -0
  136. package/dist/cobalt/{p-d3a1a604.entry.js → p-a7c23027.entry.js} +1 -1
  137. package/dist/cobalt/p-ab8e150e.entry.js +1 -0
  138. package/dist/cobalt/{p-69ce2269.entry.js → p-acdb68a7.entry.js} +1 -1
  139. package/dist/cobalt/{p-3b9be8a8.entry.js → p-afd957c0.entry.js} +1 -1
  140. package/dist/cobalt/{p-c3004e1c.entry.js → p-b45ea918.entry.js} +1 -1
  141. package/dist/cobalt/{p-eeed80ac.entry.js → p-bad7ce84.entry.js} +1 -1
  142. package/dist/cobalt/{p-bcd38114.entry.js → p-bebacee2.entry.js} +1 -1
  143. package/dist/cobalt/{p-ec9dd3a3.entry.js → p-c32949a5.entry.js} +1 -1
  144. package/dist/cobalt/p-cd5555d2.entry.js +1 -0
  145. package/dist/cobalt/p-cd96aabf.entry.js +1 -0
  146. package/dist/cobalt/{p-2661557c.entry.js → p-ce961fba.entry.js} +1 -1
  147. package/dist/cobalt/p-d56b8a1f.entry.js +1 -0
  148. package/dist/cobalt/{p-c7d9ff39.entry.js → p-d6fff135.entry.js} +1 -1
  149. package/dist/cobalt/{p-6b38e8fb.entry.js → p-d71b87d3.entry.js} +1 -1
  150. package/dist/cobalt/{p-ff581807.entry.js → p-d83e5189.entry.js} +1 -1
  151. package/dist/cobalt/{p-741cf623.entry.js → p-dc269096.entry.js} +1 -1
  152. package/dist/cobalt/{p-e4555fda.entry.js → p-dc8e88f4.entry.js} +1 -1
  153. package/dist/cobalt/p-de5a05fc.entry.js +1 -0
  154. package/dist/cobalt/{p-0110108f.entry.js → p-df63f23c.entry.js} +1 -1
  155. package/dist/cobalt/{p-9fab9c1f.entry.js → p-e2188319.entry.js} +1 -1
  156. package/dist/cobalt/p-f0c589ad.entry.js +1 -0
  157. package/dist/cobalt/p-f4370423.entry.js +1 -0
  158. package/dist/cobalt/{p-b87a2e7a.entry.js → p-f4e4bebf.entry.js} +1 -1
  159. package/dist/cobalt/p-f53b9536.entry.js +1 -0
  160. package/dist/cobalt/{p-bb00ae4a.entry.js → p-f7ae0228.entry.js} +1 -1
  161. package/dist/collection/collection-manifest.json +6 -0
  162. package/dist/collection/components/co-action-bar/co-action-bar.css +148 -0
  163. package/dist/collection/components/co-action-bar/co-action-bar.js +247 -0
  164. package/dist/collection/components/co-app-shell/co-app-shell.js +2 -2
  165. package/dist/collection/components/co-audio-player/co-audio-player.css +58 -0
  166. package/dist/collection/components/co-audio-player/co-audio-player.js +453 -0
  167. package/dist/collection/components/co-audio-player/co-audio-player.utils.js +44 -0
  168. package/dist/collection/components/co-badge/co-badge.js +1 -1
  169. package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.js +3 -3
  170. package/dist/collection/components/co-breadcrumb/co-breadcrumb.js +1 -1
  171. package/dist/collection/components/co-breadcrumb-item/co-breadcrumb-item.js +2 -2
  172. package/dist/collection/components/co-button/co-button.css +19 -0
  173. package/dist/collection/components/co-button/co-button.js +31 -5
  174. package/dist/collection/components/co-button-group/co-button-group.js +2 -2
  175. package/dist/collection/components/co-calendar/co-calendar.js +1 -1
  176. package/dist/collection/components/co-calendar-month/co-calendar-month.css +52 -3
  177. package/dist/collection/components/co-calendar-month/co-calendar-month.js +238 -55
  178. package/dist/collection/components/co-calendar-timegrid/co-calendar-timegrid.css +265 -0
  179. package/dist/collection/components/co-calendar-timegrid/co-calendar-timegrid.js +1305 -0
  180. package/dist/collection/components/co-card/co-card.js +2 -2
  181. package/dist/collection/components/co-carousel/co-carousel.js +2 -2
  182. package/dist/collection/components/co-carousel-item/co-carousel-item.js +1 -1
  183. package/dist/collection/components/co-checkbox/co-checkbox.css +1 -1
  184. package/dist/collection/components/co-checkbox/co-checkbox.js +3 -3
  185. package/dist/collection/components/co-chip/co-chip.js +2 -2
  186. package/dist/collection/components/co-color-picker/co-color-picker.js +2 -2
  187. package/dist/collection/components/co-column-picker/co-column-picker.js +2 -2
  188. package/dist/collection/components/co-data-table/co-data-table.css +4 -4
  189. package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.js +4 -4
  190. package/dist/collection/components/co-date-field/co-date-field.js +4 -4
  191. package/dist/collection/components/co-date-range/co-date-range.js +1 -1
  192. package/dist/collection/components/co-date-time-picker/co-date-time-picker.css +325 -0
  193. package/dist/collection/components/co-date-time-picker/co-date-time-picker.js +1079 -0
  194. package/dist/collection/components/co-drawer/co-drawer.css +46 -0
  195. package/dist/collection/components/co-drawer/co-drawer.js +1 -1
  196. package/dist/collection/components/co-drive-card/co-drive-card.js +1 -1
  197. package/dist/collection/components/co-drop-zone/co-drop-zone.js +1 -1
  198. package/dist/collection/components/co-empty-state/co-empty-state.js +2 -2
  199. package/dist/collection/components/co-event-calendar/co-event-calendar.css +19 -7
  200. package/dist/collection/components/co-event-calendar/co-event-calendar.js +342 -39
  201. package/dist/collection/components/co-event-popover/co-event-popover.css +26 -0
  202. package/dist/collection/components/co-event-popover/co-event-popover.js +326 -0
  203. package/dist/collection/components/co-fab/co-fab.js +2 -2
  204. package/dist/collection/components/co-file-field/co-file-field.js +5 -5
  205. package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +2 -2
  206. package/dist/collection/components/co-helper-text/co-helper-text.js +2 -2
  207. package/dist/collection/components/co-icon/co-icon.js +2 -2
  208. package/dist/collection/components/co-icon-button/co-icon-button.js +1 -1
  209. package/dist/collection/components/co-json-field/co-json-field.js +3 -3
  210. package/dist/collection/components/co-lightbox/co-lightbox.js +4 -4
  211. package/dist/collection/components/co-list-footer/co-list-footer.js +1 -1
  212. package/dist/collection/components/co-list-item/co-list-item.js +4 -4
  213. package/dist/collection/components/co-media-thumb/co-media-thumb.js +2 -2
  214. package/dist/collection/components/co-menu/co-menu.js +1 -1
  215. package/dist/collection/components/co-menu-divider/co-menu-divider.js +1 -1
  216. package/dist/collection/components/co-menu-item/co-menu-item.css +21 -0
  217. package/dist/collection/components/co-menu-item/co-menu-item.js +20 -1
  218. package/dist/collection/components/co-modal/co-modal.js +2 -2
  219. package/dist/collection/components/co-navbar/co-navbar.js +2 -2
  220. package/dist/collection/components/co-number-field/co-number-field.js +2 -2
  221. package/dist/collection/components/co-option-list/co-option-list.css +18 -0
  222. package/dist/collection/components/co-option-list/co-option-list.js +127 -5
  223. package/dist/collection/components/co-option-list/optionListLogic.js +13 -0
  224. package/dist/collection/components/co-overlay/co-overlay.js +1 -1
  225. package/dist/collection/components/co-page-header/co-page-header.js +1 -1
  226. package/dist/collection/components/co-phone-field/co-phone-field.js +1 -1
  227. package/dist/collection/components/co-progress-bar/co-progress-bar.js +2 -2
  228. package/dist/collection/components/co-progress-circle/co-progress-circle.js +2 -2
  229. package/dist/collection/components/co-provider-logo/co-provider-logo.css +23 -0
  230. package/dist/collection/components/co-provider-logo/co-provider-logo.js +124 -0
  231. package/dist/collection/components/co-radio/co-radio.js +3 -3
  232. package/dist/collection/components/co-rating/co-rating.js +3 -3
  233. package/dist/collection/components/co-ref-field/co-ref-field.js +6 -2
  234. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.css +11 -0
  235. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +3 -3
  236. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.css +8 -0
  237. package/dist/collection/components/co-row/co-row.js +2 -2
  238. package/dist/collection/components/co-select/co-select.js +1 -1
  239. package/dist/collection/components/co-separator/co-separator.js +1 -1
  240. package/dist/collection/components/co-sidebar/co-sidebar.js +2 -2
  241. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +12 -2
  242. package/dist/collection/components/co-skeleton/co-skeleton.js +1 -1
  243. package/dist/collection/components/co-slider/co-slider.js +2 -2
  244. package/dist/collection/components/co-switch/co-switch.js +3 -3
  245. package/dist/collection/components/co-tab/co-tab.js +2 -2
  246. package/dist/collection/components/co-tab-group/co-tab-group.css +25 -0
  247. package/dist/collection/components/co-tab-group/co-tab-group.js +18 -2
  248. package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
  249. package/dist/collection/components/co-textarea/co-textarea.js +4 -4
  250. package/dist/collection/components/co-toggle-button/co-toggle-button.js +2 -2
  251. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +2 -2
  252. package/dist/collection/components/co-tooltip/co-tooltip.js +2 -2
  253. package/dist/collection/components/co-video/co-video.js +2 -2
  254. package/dist/collection/utils/dateI18n.js +21 -0
  255. package/dist/collection/utils/eventColor.js +52 -0
  256. package/dist/collection/utils/positioning.js +10 -0
  257. package/dist/components/co-accordion.js +1 -1
  258. package/dist/components/co-action-bar.d.ts +11 -0
  259. package/dist/components/co-action-bar.js +1 -0
  260. package/dist/components/co-app-shell.js +1 -1
  261. package/dist/components/co-audio-player.d.ts +11 -0
  262. package/dist/components/co-audio-player.js +1 -0
  263. package/dist/components/co-autocomplete.js +1 -1
  264. package/dist/components/co-avatar-group.js +1 -1
  265. package/dist/components/co-avatar.js +1 -1
  266. package/dist/components/co-badge.js +1 -1
  267. package/dist/components/co-bottom-sheet.js +1 -1
  268. package/dist/components/co-breadcrumb-item.js +1 -1
  269. package/dist/components/co-breadcrumb.js +1 -1
  270. package/dist/components/co-button-group.js +1 -1
  271. package/dist/components/co-button.js +1 -1
  272. package/dist/components/co-calendar-month.js +1 -1
  273. package/dist/components/co-calendar-timegrid.d.ts +11 -0
  274. package/dist/components/co-calendar-timegrid.js +1 -0
  275. package/dist/components/co-calendar.js +1 -1
  276. package/dist/components/co-card.js +1 -1
  277. package/dist/components/co-carousel-item.js +1 -1
  278. package/dist/components/co-carousel.js +1 -1
  279. package/dist/components/co-checkbox-group.js +1 -1
  280. package/dist/components/co-checkbox.js +1 -1
  281. package/dist/components/co-chip.js +1 -1
  282. package/dist/components/co-color-picker.js +1 -1
  283. package/dist/components/co-column-picker.js +1 -1
  284. package/dist/components/co-combobox.js +1 -1
  285. package/dist/components/co-command-search.js +1 -1
  286. package/dist/components/co-data-table-pagination.js +1 -1
  287. package/dist/components/co-data-table.js +1 -1
  288. package/dist/components/co-date-field.js +1 -1
  289. package/dist/components/co-date-picker.js +1 -1
  290. package/dist/components/co-date-range-picker.js +1 -1
  291. package/dist/components/co-date-range.js +1 -1
  292. package/dist/components/co-date-time-picker.d.ts +11 -0
  293. package/dist/components/co-date-time-picker.js +1 -0
  294. package/dist/components/co-drawer.js +1 -1
  295. package/dist/components/co-drive-card.js +1 -1
  296. package/dist/components/co-drop-zone.js +1 -1
  297. package/dist/components/co-empty-state.js +1 -1
  298. package/dist/components/co-event-calendar.js +1 -1
  299. package/dist/components/co-event-popover.d.ts +11 -0
  300. package/dist/components/co-event-popover.js +1 -0
  301. package/dist/components/co-fab.js +1 -1
  302. package/dist/components/co-file-field.js +1 -1
  303. package/dist/components/co-file-type-tile.js +1 -1
  304. package/dist/components/co-helper-text.js +1 -1
  305. package/dist/components/co-icon-button.js +1 -1
  306. package/dist/components/co-icon.js +1 -1
  307. package/dist/components/co-input.js +1 -1
  308. package/dist/components/co-json-field.js +1 -1
  309. package/dist/components/co-lightbox.js +1 -1
  310. package/dist/components/co-list-footer.js +1 -1
  311. package/dist/components/co-list-item.js +1 -1
  312. package/dist/components/co-media-thumb.js +1 -1
  313. package/dist/components/co-menu-divider.js +1 -1
  314. package/dist/components/co-menu-item.js +1 -1
  315. package/dist/components/co-menu.js +1 -1
  316. package/dist/components/co-modal.js +1 -1
  317. package/dist/components/co-navbar.js +1 -1
  318. package/dist/components/co-number-field.js +1 -1
  319. package/dist/components/co-option-list.js +1 -1
  320. package/dist/components/co-overlay.js +1 -1
  321. package/dist/components/co-page-header.js +1 -1
  322. package/dist/components/co-phone-field.js +1 -1
  323. package/dist/components/co-popover.js +1 -1
  324. package/dist/components/co-progress-bar.js +1 -1
  325. package/dist/components/co-progress-circle.js +1 -1
  326. package/dist/components/co-provider-logo.d.ts +11 -0
  327. package/dist/components/co-provider-logo.js +1 -0
  328. package/dist/components/co-radio-group.js +1 -1
  329. package/dist/components/co-radio.js +1 -1
  330. package/dist/components/co-rating.js +1 -1
  331. package/dist/components/co-ref-field.js +1 -1
  332. package/dist/components/co-rich-text-editor.js +1 -1
  333. package/dist/components/co-rich-text-toolbar.js +1 -1
  334. package/dist/components/co-row.js +1 -1
  335. package/dist/components/co-select.js +1 -1
  336. package/dist/components/co-separator.js +1 -1
  337. package/dist/components/co-sidebar-nav.js +1 -1
  338. package/dist/components/co-sidebar.js +1 -1
  339. package/dist/components/co-skeleton.js +1 -1
  340. package/dist/components/co-slider.js +1 -1
  341. package/dist/components/co-switch.js +1 -1
  342. package/dist/components/co-tab-group.js +1 -1
  343. package/dist/components/co-tab.js +1 -1
  344. package/dist/components/co-tags-field.js +1 -1
  345. package/dist/components/co-textarea.js +1 -1
  346. package/dist/components/co-toast.js +1 -1
  347. package/dist/components/co-toggle-button-group.js +1 -1
  348. package/dist/components/co-toggle-button.js +1 -1
  349. package/dist/components/co-tooltip.js +1 -1
  350. package/dist/components/co-transfer-list.js +1 -1
  351. package/dist/components/co-video.js +1 -1
  352. package/dist/components/p-B21rOC2Y.js +1 -0
  353. package/dist/components/{p-Cd3inFSL.js → p-BC6sxVVr.js} +1 -1
  354. package/dist/components/p-BMdapAL8.js +1 -0
  355. package/dist/components/p-BQFperIX.js +1 -0
  356. package/dist/components/{p-CQ-8domm.js → p-BXtiFFM2.js} +1 -1
  357. package/dist/components/{p-CmCsm4L-.js → p-BdArvV6T.js} +1 -1
  358. package/dist/components/p-BnkGlFYy.js +1 -0
  359. package/dist/components/p-C-5cLeKr.js +1 -0
  360. package/dist/components/p-CDWXNRpo.js +1 -0
  361. package/dist/components/p-CF8OB_TM.js +1 -0
  362. package/dist/components/{p-oV_1MoAN.js → p-CIWoKlGj.js} +1 -1
  363. package/dist/components/{p-Bul6EdDX.js → p-CVCEiwOS.js} +1 -1
  364. package/dist/components/{p-B0b9Etx4.js → p-CfeNhAHW.js} +1 -1
  365. package/dist/components/p-Ch837Ggl.js +1 -0
  366. package/dist/components/p-ChLib-si.js +1 -0
  367. package/dist/components/{p-DfpOEXHC.js → p-ChPooamL.js} +1 -1
  368. package/dist/components/p-CnNpoKwg.js +1 -0
  369. package/dist/components/{p-B7Yv00g9.js → p-D-3BTFRs.js} +1 -1
  370. package/dist/components/p-D0wrmRH8.js +1 -0
  371. package/dist/components/p-DZX7cEqP.js +1 -0
  372. package/dist/components/{p-B3U63yZw.js → p-DbISGXT_.js} +1 -1
  373. package/dist/components/p-Dxa7c4Ap.js +1 -0
  374. package/dist/components/p-T0MdU7sb.js +1 -0
  375. package/dist/components/{p-DwwxS5bY.js → p-W8Y8ZuPs.js} +1 -1
  376. package/dist/components/{p-9aNhJfTT.js → p-cteJszd-.js} +1 -1
  377. package/dist/components/p-e5KibEs8.js +1 -0
  378. package/dist/components/{p-Bzg5FPSA.js → p-mUoTCiYa.js} +1 -1
  379. package/dist/components/p-uZ2D6ESV.js +1 -0
  380. package/dist/components/{p-BtpRnpaF.js → p-ySi6UG0O.js} +1 -1
  381. package/dist/esm/co-action-bar.entry.js +87 -0
  382. package/dist/esm/co-app-shell.entry.js +2 -2
  383. package/dist/esm/co-audio-player.entry.js +277 -0
  384. package/dist/esm/co-avatar_2.entry.js +3 -3
  385. package/dist/esm/co-badge.entry.js +1 -1
  386. package/dist/esm/co-bottom-sheet.entry.js +3 -3
  387. package/dist/esm/co-breadcrumb-item.entry.js +2 -2
  388. package/dist/esm/co-breadcrumb.entry.js +1 -1
  389. package/dist/esm/co-button-group.entry.js +2 -2
  390. package/dist/esm/co-button.entry.js +12 -5
  391. package/dist/esm/co-calendar-month_2.entry.js +1598 -0
  392. package/dist/esm/co-calendar_3.entry.js +9 -9
  393. package/dist/esm/co-card.entry.js +2 -2
  394. package/dist/esm/co-carousel-item.entry.js +1 -1
  395. package/dist/esm/co-carousel.entry.js +3 -3
  396. package/dist/esm/co-checkbox.entry.js +4 -4
  397. package/dist/esm/co-chip_2.entry.js +95 -6
  398. package/dist/esm/co-color-picker.entry.js +2 -2
  399. package/dist/esm/co-column-picker.entry.js +2 -2
  400. package/dist/esm/co-data-table-pagination.entry.js +4 -4
  401. package/dist/esm/co-data-table.entry.js +1 -1
  402. package/dist/esm/co-date-picker.entry.js +1 -1
  403. package/dist/esm/co-date-range-picker.entry.js +2 -2
  404. package/dist/esm/co-date-range.entry.js +1 -1
  405. package/dist/esm/co-date-time-picker.entry.js +407 -0
  406. package/dist/esm/co-drive-card.entry.js +1 -1
  407. package/dist/esm/co-drop-zone.entry.js +1 -1
  408. package/dist/esm/co-empty-state.entry.js +2 -2
  409. package/dist/esm/co-event-calendar.entry.js +120 -19
  410. package/dist/esm/co-event-popover.entry.js +130 -0
  411. package/dist/esm/co-fab.entry.js +2 -2
  412. package/dist/esm/co-file-field.entry.js +5 -5
  413. package/dist/esm/co-file-type-tile.entry.js +2 -2
  414. package/dist/esm/co-helper-text.entry.js +2 -2
  415. package/dist/esm/co-icon-button.entry.js +1 -1
  416. package/dist/esm/co-icon.entry.js +2 -2
  417. package/dist/esm/co-json-field.entry.js +3 -3
  418. package/dist/esm/co-lightbox.entry.js +5 -5
  419. package/dist/esm/co-list-footer.entry.js +1 -1
  420. package/dist/esm/co-list-item.entry.js +4 -4
  421. package/dist/esm/co-media-thumb.entry.js +2 -2
  422. package/dist/esm/co-menu-divider.entry.js +1 -1
  423. package/dist/esm/co-menu-item.entry.js +2 -2
  424. package/dist/esm/co-menu.entry.js +1 -1
  425. package/dist/esm/co-modal.entry.js +2 -2
  426. package/dist/esm/co-navbar.entry.js +2 -2
  427. package/dist/esm/co-number-field.entry.js +2 -2
  428. package/dist/esm/co-overlay.entry.js +1 -1
  429. package/dist/esm/co-page-header.entry.js +1 -1
  430. package/dist/esm/co-phone-field.entry.js +1 -1
  431. package/dist/esm/co-popover.entry.js +1 -1
  432. package/dist/esm/co-progress-bar.entry.js +2 -2
  433. package/dist/esm/co-progress-circle.entry.js +2 -2
  434. package/dist/esm/co-provider-logo_2.entry.js +69 -0
  435. package/dist/esm/co-radio.entry.js +3 -3
  436. package/dist/esm/co-rating.entry.js +3 -3
  437. package/dist/esm/co-ref-field.entry.js +6 -2
  438. package/dist/esm/co-rich-text-editor.entry.js +4 -4
  439. package/dist/esm/co-rich-text-toolbar.entry.js +1 -1
  440. package/dist/esm/co-row.entry.js +2 -2
  441. package/dist/esm/co-select.entry.js +1 -1
  442. package/dist/esm/co-separator.entry.js +1 -1
  443. package/dist/esm/co-sidebar-nav.entry.js +12 -2
  444. package/dist/esm/co-sidebar.entry.js +2 -2
  445. package/dist/esm/co-slider.entry.js +2 -2
  446. package/dist/esm/co-switch.entry.js +3 -3
  447. package/dist/esm/co-tab-group.entry.js +19 -3
  448. package/dist/esm/co-tab.entry.js +2 -2
  449. package/dist/esm/co-tags-field.entry.js +5 -5
  450. package/dist/esm/co-textarea.entry.js +4 -4
  451. package/dist/esm/co-toggle-button-group.entry.js +2 -2
  452. package/dist/esm/co-toggle-button.entry.js +2 -2
  453. package/dist/esm/co-video.entry.js +2 -2
  454. package/dist/esm/cobalt.js +1 -1
  455. package/dist/esm/{dateI18n-C1DCLOEl.js → dateI18n-CnNpoKwg.js} +21 -0
  456. package/dist/esm/{dates-tPYikBRJ.js → dates-BU7SQCje.js} +64 -13
  457. package/dist/esm/index-BCEz3S-z.js +28 -12
  458. package/dist/esm/loader.js +1 -1
  459. package/dist/esm/{positioning-C2mZ7x_Y.js → positioning-BMdapAL8.js} +10 -0
  460. package/dist/esm/time-CF8OB_TM.js +37 -0
  461. package/dist/esm/{tz-B6JZk8fL.js → tz-1EK-COrb.js} +1 -1
  462. package/dist/types/components/co-action-bar/co-action-bar.d.ts +66 -0
  463. package/dist/types/components/co-audio-player/co-audio-player.d.ts +62 -0
  464. package/dist/types/components/co-audio-player/co-audio-player.utils.d.ts +11 -0
  465. package/dist/types/components/co-button/co-button.d.ts +18 -1
  466. package/dist/types/components/co-calendar-month/co-calendar-month.d.ts +33 -1
  467. package/dist/types/components/co-calendar-timegrid/co-calendar-timegrid.d.ts +178 -0
  468. package/dist/types/components/co-date-time-picker/co-date-time-picker.d.ts +131 -0
  469. package/dist/types/components/co-event-calendar/co-event-calendar.d.ts +61 -8
  470. package/dist/types/components/co-event-popover/co-event-popover.d.ts +45 -0
  471. package/dist/types/components/co-menu-item/co-menu-item.d.ts +3 -0
  472. package/dist/types/components/co-option-list/co-option-list.d.ts +23 -0
  473. package/dist/types/components/co-option-list/optionListLogic.d.ts +3 -0
  474. package/dist/types/components/co-provider-logo/co-provider-logo.d.ts +17 -0
  475. package/dist/types/components/co-ref-field/co-ref-field.d.ts +1 -0
  476. package/dist/types/components/co-tab-group/co-tab-group.d.ts +5 -0
  477. package/dist/types/components.d.ts +1245 -76
  478. package/dist/types/utils/dateI18n.d.ts +7 -0
  479. package/dist/types/utils/eventColor.d.ts +20 -0
  480. package/package.json +2 -2
  481. package/dist/cjs/co-calendar-month.cjs.entry.js +0 -381
  482. package/dist/cjs/co-skeleton.cjs.entry.js +0 -26
  483. package/dist/cobalt/p-037cc571.entry.js +0 -1
  484. package/dist/cobalt/p-0b92167a.entry.js +0 -1
  485. package/dist/cobalt/p-0bc5a962.entry.js +0 -1
  486. package/dist/cobalt/p-30c80e3a.entry.js +0 -1
  487. package/dist/cobalt/p-36ad3a96.entry.js +0 -1
  488. package/dist/cobalt/p-3ecbbe93.entry.js +0 -1
  489. package/dist/cobalt/p-3f1030fb.entry.js +0 -1
  490. package/dist/cobalt/p-3f7215e7.entry.js +0 -1
  491. package/dist/cobalt/p-54857f78.entry.js +0 -1
  492. package/dist/cobalt/p-585c132d.entry.js +0 -1
  493. package/dist/cobalt/p-59b114ab.entry.js +0 -1
  494. package/dist/cobalt/p-5d0510a5.entry.js +0 -1
  495. package/dist/cobalt/p-5e246304.entry.js +0 -1
  496. package/dist/cobalt/p-C1DCLOEl.js +0 -1
  497. package/dist/cobalt/p-C2mZ7x_Y.js +0 -1
  498. package/dist/cobalt/p-c589ae25.entry.js +0 -1
  499. package/dist/cobalt/p-c635417b.entry.js +0 -1
  500. package/dist/cobalt/p-cd28aa6d.entry.js +0 -1
  501. package/dist/cobalt/p-d71b800a.entry.js +0 -1
  502. package/dist/cobalt/p-df752f6e.entry.js +0 -1
  503. package/dist/cobalt/p-fffeb610.entry.js +0 -1
  504. package/dist/cobalt/p-tPYikBRJ.js +0 -1
  505. package/dist/components/p-BTa6ss5i.js +0 -1
  506. package/dist/components/p-C1DCLOEl.js +0 -1
  507. package/dist/components/p-C2mZ7x_Y.js +0 -1
  508. package/dist/components/p-CVeEoHr7.js +0 -1
  509. package/dist/components/p-CYi6V_Ss.js +0 -1
  510. package/dist/components/p-CuQjKAf5.js +0 -1
  511. package/dist/components/p-CyYF8IJE.js +0 -1
  512. package/dist/components/p-DKvTqEaf.js +0 -1
  513. package/dist/components/p-T0UfY6rA.js +0 -1
  514. package/dist/esm/co-calendar-month.entry.js +0 -379
  515. package/dist/esm/co-skeleton.entry.js +0 -24
@@ -0,0 +1,89 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-kBiXCEE7.js');
4
+
5
+ const coActionBarCss = () => `:host{display:inline-flex;font-family:var(--co-font-family-primary);pointer-events:none}:host([position='bottom-center']){position:fixed;left:50%;transform:translateX(-50%);bottom:var(--co-action-bar-offset, 24px);z-index:var(--co-action-bar-z, 1000);max-width:calc(100vw - 2 * var(--co-action-bar-inline-margin, 24px))}.co-action-bar{position:relative;display:flex;align-items:center;box-sizing:border-box;max-width:100%;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md) var(--co-spacing-sm2) var(--co-spacing-lg);border-radius:var(--co-border-radius-lg);background:var(--co-semantic-surface-primary);color:var(--co-semantic-text-inverse);box-shadow:var(--co-shadow-lg);opacity:0;transform:translateY(8px);pointer-events:none;visibility:hidden}.co-action-bar--open{opacity:1;transform:translateY(0);pointer-events:auto;visibility:visible}.co-action-bar--animated{transition:opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms}.co-action-bar--animated.co-action-bar--open{transition:opacity 180ms ease, transform 180ms ease, visibility 0s}@media (prefers-reduced-motion: reduce){.co-action-bar{transform:none}.co-action-bar--animated{transition:opacity 180ms ease, visibility 0s linear 180ms}.co-action-bar--animated.co-action-bar--open{transition:opacity 180ms ease, visibility 0s}}.co-action-bar__label{font-size:var(--co-font-size-14);font-weight:500;letter-spacing:var(--co-font-letter-spacing-body);line-height:1;white-space:nowrap;flex-shrink:0;padding-right:var(--co-spacing-xs)}.co-action-bar__actions{display:flex;align-items:center;gap:var(--co-spacing-xs);min-width:0}::slotted(hr){width:1px;height:24px;flex-shrink:0;align-self:center;margin:0 var(--co-spacing-xs);border:none;padding:0;background:color-mix(in srgb, var(--co-color-base-blanco, #fff) 28%, transparent)}.co-action-bar__dismiss{flex-shrink:0}.co-action-bar__live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap}`;
6
+
7
+ const CoActionBar = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ this.coDismiss = index.createEvent(this, "coDismiss", 7);
11
+ /** Visibilidad. El DOM persiste; open solo togglea la clase --open. */
12
+ this.open = false;
13
+ /** Muestra la X de descarte (emite coDismiss). */
14
+ this.dismissible = true;
15
+ /**
16
+ * Anclaje opt-in: 'bottom-center' aplica fixed+centrado en el HOST vía
17
+ * :host([position='bottom-center']) — por eso la prop se REFLEJA a
18
+ * atributo. 'none' deja el flujo normal (consumidores draggable/absolute
19
+ * posicionan ellos, como co-fab).
20
+ */
21
+ this.position = 'none';
22
+ /**
23
+ * Texto del nodo aria-live sr-only. Se muta DIFERIDO (coalescing ~600ms):
24
+ * seleccionar filas rápido produce una ráfaga de labels, y un live region
25
+ * que muta por cada una spamea al lector de pantalla. El timer difiere la
26
+ * mutación del nodo de texto y solo el último valor de la ráfaga se anuncia.
27
+ */
28
+ this.liveText = '';
29
+ /** Transiciones apagadas hasta después del primer paint (ver componentDidLoad). */
30
+ this.animated = false;
31
+ this.handleDismiss = () => {
32
+ this.coDismiss.emit();
33
+ };
34
+ }
35
+ onLabelChange(newLabel) {
36
+ if (this.liveTimer !== undefined)
37
+ clearTimeout(this.liveTimer);
38
+ this.liveTimer = setTimeout(() => {
39
+ this.liveTimer = undefined;
40
+ this.liveText = newLabel !== null && newLabel !== void 0 ? newLabel : '';
41
+ }, 600);
42
+ }
43
+ componentWillLoad() {
44
+ var _a;
45
+ // Valor inicial SIN timer: montar no es un cambio que anunciar (los live
46
+ // regions solo anuncian mutaciones posteriores) y Stencil NO dispara
47
+ // @Watch para el valor inicial (gotcha, ver co-popover.tsx:67-74).
48
+ this.liveText = (_a = this.label) !== null && _a !== void 0 ? _a : '';
49
+ }
50
+ componentDidLoad() {
51
+ // Estado inicial SIN transición: la clase --open ya salió del primer
52
+ // render derivada de la prop (@Watch no corre para el valor inicial —
53
+ // mismo gotcha) y las transiciones se habilitan recién DESPUÉS del primer
54
+ // paint. Así un mount con open=true aparece en su lugar sin animar desde
55
+ // translateY(8px)+opacity:0.
56
+ const enable = () => (this.animated = true);
57
+ if (typeof requestAnimationFrame === 'function') {
58
+ this.rafId = requestAnimationFrame(enable);
59
+ }
60
+ else {
61
+ enable();
62
+ }
63
+ }
64
+ disconnectedCallback() {
65
+ if (this.liveTimer !== undefined) {
66
+ clearTimeout(this.liveTimer);
67
+ this.liveTimer = undefined;
68
+ }
69
+ if (this.rafId !== undefined && typeof cancelAnimationFrame === 'function') {
70
+ cancelAnimationFrame(this.rafId);
71
+ this.rafId = undefined;
72
+ }
73
+ }
74
+ render() {
75
+ return (index.h("div", { key: 'c350ea38a12157a5cefe26f303ef7100938d55c9', class: {
76
+ 'co-action-bar': true,
77
+ 'co-action-bar--open': this.open,
78
+ 'co-action-bar--animated': this.animated,
79
+ }, part: "bar", role: "group", "aria-label": this.ariaLabelText || this.label, "aria-hidden": this.open ? null : 'true' }, index.h("span", { key: '9f2d3d5729fd150e5aa0c487067c7c8ad6cd8b59', class: "co-action-bar__live", "aria-live": "polite" }, this.liveText), index.h("span", { key: 'd2617507df8f2b48a743c1bb20482d9cc2e227df', class: "co-action-bar__label", part: "label" }, index.h("slot", { key: 'aad415247f017bd8ea38e38f84a0cd768a2f6f38', name: "label" }, this.label)), index.h("div", { key: '8999cd574e430246824effda0bfa531d62a3530a', class: "co-action-bar__actions", part: "actions" }, index.h("slot", { key: 'f06636fd076da38bc07982637f7def5d75df733e' })), this.dismissible !== false && (index.h("co-icon-button", { key: '4227fa464073430c67190ac4afc6c6534b627934', class: "co-action-bar__dismiss", part: "dismiss", icon: "x", variant: "ghost", surface: "dark", size: "xs", label: "Dismiss", onClick: this.handleDismiss }))));
80
+ }
81
+ static get watchers() { return {
82
+ "label": [{
83
+ "onLabelChange": 0
84
+ }]
85
+ }; }
86
+ };
87
+ CoActionBar.style = coActionBarCss();
88
+
89
+ exports.co_action_bar = CoActionBar;
@@ -14,10 +14,10 @@ const CoAppShell = class {
14
14
  this.contentCard = true;
15
15
  }
16
16
  render() {
17
- return (index.h(index.Host, { key: 'eba2c0de5107ee99f46dd0f58e93c7957b635fc6' }, index.h("aside", { key: 'd70fd877fb8b0341f1a93d0c96f7e94ccc67a5bc', class: "sidebar", part: "sidebar" }, index.h("div", { key: '712d562d0137d49073264464a4656efa13505080', class: "sidebar__header", part: "sidebar-header" }, index.h("slot", { key: '3414826e8939d2cd01f1fcdca7dadf1ec6c6921e', name: "sidebar-header" })), index.h("div", { key: '2f9ec77ce51b77048130c042a7c275b8f1169b68', class: "sidebar__body", part: "sidebar-body" }, index.h("slot", { key: '6291e33cce9afcfb59fac200629f899206d667eb', name: "sidebar" })), index.h("div", { key: 'e3314bda8652362d2570960a0ee65fb843d6e07f', class: "sidebar__footer", part: "sidebar-footer" }, index.h("slot", { key: 'e2b09d7a7435e0c29f3ac43b9a4200763964d52e', name: "sidebar-footer" }))), index.h("div", { key: '73081c14cf2f04ad4b0062007287edea09bb3a88', class: "main", part: "main" }, index.h("div", { key: '5e3dbe0b27716f815972ea39dda4479b2072872c', class: "main__card", part: "card" }, index.h("header", { key: '3df713d4c3a015ba14366433770cfba66e9b8bbc', class: "main__header", part: "header" }, index.h("slot", { key: '8e36000c6195f22fb7abe54d1adfb026374d9248', name: "navbar" })), index.h("main", { key: '63cda7e07239d551fb950e12cce998e2fe9271c7', class: {
17
+ return (index.h(index.Host, { key: '7a45ab21e3ad256e25f05df33ad827931532c34a' }, index.h("aside", { key: '5ca5469a35e630b4ab01be23cae46efc43cb1519', class: "sidebar", part: "sidebar" }, index.h("div", { key: 'f4243197b46e67b4d632aa8abad803b07f471bb2', class: "sidebar__header", part: "sidebar-header" }, index.h("slot", { key: 'b609c8272c05f7e4cbb2c8ae1ab0c24430541f84', name: "sidebar-header" })), index.h("div", { key: '72ca1118e1eeb6b5f3467c16c82dac60c4dc4042', class: "sidebar__body", part: "sidebar-body" }, index.h("slot", { key: '48c65d150a4836996cf7406f32142bcb86e545df', name: "sidebar" })), index.h("div", { key: 'be09567b81d7abae1738decfd30b9b7b6edb47f2', class: "sidebar__footer", part: "sidebar-footer" }, index.h("slot", { key: 'd202466aa14916d7fd3be163a615ce1156151150', name: "sidebar-footer" }))), index.h("div", { key: 'd8b6f0cfdf0c4123b413d5d8bad78813fb7ba1a9', class: "main", part: "main" }, index.h("div", { key: '0efa85801eaa0cd339875ff4a1fd9cedcd715751', class: "main__card", part: "card" }, index.h("header", { key: 'befa647b3822ed055166c3e2da9aca9fb54c1204', class: "main__header", part: "header" }, index.h("slot", { key: 'b08034b07963d178f3b8e9cee16d3975f97a7b90', name: "navbar" })), index.h("main", { key: '3b0adfc33dd08b08fb2edf84a5f098c0ff7d1003', class: {
18
18
  'main__content': true,
19
19
  'main__content--card': this.contentCard,
20
- }, part: "content" }, index.h("slot", { key: '7ccab85592e8e9efdc2802f0147ad8b5ad749899' }))))));
20
+ }, part: "content" }, index.h("slot", { key: '4c38a0a04548bc6cd2cc04d9b3fb095f5548fdde' }))))));
21
21
  }
22
22
  };
23
23
  CoAppShell.style = coAppShellCss();
@@ -0,0 +1,279 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-kBiXCEE7.js');
4
+
5
+ /** Seconds → "m:ss" (floors; 0 for NaN/negative). */
6
+ function formatTime(seconds) {
7
+ const s = Math.max(0, Math.floor(seconds || 0));
8
+ const m = Math.floor(s / 60);
9
+ const sec = s % 60;
10
+ return `${m}:${sec.toString().padStart(2, '0')}`;
11
+ }
12
+ /** Downsample raw PCM to `bars` peak heights, each normalized to a 0..1 fraction. */
13
+ function resamplePeaks(channelData, bars) {
14
+ const len = channelData.length;
15
+ if (!len || bars <= 0)
16
+ return [];
17
+ const step = Math.max(1, Math.floor(len / bars));
18
+ const peaks = [];
19
+ for (let i = 0; i < bars; i++) {
20
+ let max = 0;
21
+ const start = i * step;
22
+ for (let j = start; j < start + step && j < len; j++) {
23
+ const abs = Math.abs(channelData[j]);
24
+ if (abs > max)
25
+ max = abs;
26
+ }
27
+ peaks.push(0.12 + max * 0.88); // floor of 0.12 so silent buckets still show a sliver
28
+ }
29
+ return peaks;
30
+ }
31
+ /** Deterministic pseudo-waveform (stable render + testable — no Math.random). */
32
+ function fallbackPeaks(bars) {
33
+ if (bars <= 0)
34
+ return [];
35
+ const peaks = [];
36
+ for (let i = 0; i < bars; i++) {
37
+ const envelope = Math.sin((i / Math.max(1, bars)) * Math.PI) * 0.6 + 0.3;
38
+ const wobble = 0.75 + 0.25 * Math.abs(Math.sin(i * 1.7));
39
+ peaks.push(0.12 + envelope * wobble * 0.88);
40
+ }
41
+ return peaks;
42
+ }
43
+ /** Clamped 0..1 position of a click within a track rect. */
44
+ function scrubFraction(clientX, rect) {
45
+ if (!rect.width)
46
+ return 0;
47
+ return Math.max(0, Math.min(1, (clientX - rect.left) / rect.width));
48
+ }
49
+
50
+ const coAudioPlayerCss = () => `: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 .15s}.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}@media (prefers-reduced-motion: reduce){.co-audio-player__bar{transition:none}}`;
51
+
52
+ const CoAudioPlayer = class {
53
+ constructor(hostRef) {
54
+ index.registerInstance(this, hostRef);
55
+ this.coPlay = index.createEvent(this, "coPlay", 7);
56
+ this.coPause = index.createEvent(this, "coPause", 7);
57
+ this.coEnded = index.createEvent(this, "coEnded", 7);
58
+ this.coError = index.createEvent(this, "coError", 7);
59
+ /** Compact variant: narrower, hides the download button. */
60
+ this.compact = false;
61
+ /** Fallback bar count used before the container width is measured. Once
62
+ * measured, the real bar count is derived from the width via `barDensity`
63
+ * (V1 parity: a dense, detail-rich waveform rather than a fixed count). */
64
+ this.bars = 64;
65
+ /** Pixels per waveform bar (bar + gap). Lower = denser/more detailed, like V1
66
+ * (`SkAudioPlayer` used 3). The measured bar count = floor(width / barDensity). */
67
+ this.barDensity = 3;
68
+ /** Passthrough to the underlying <audio> preload. */
69
+ this.preload = 'metadata';
70
+ /** Filename for the download button. */
71
+ this.downloadFilename = 'audio';
72
+ /** Hide the download button even in full mode. */
73
+ this.noDownload = false;
74
+ this.isPlaying = false;
75
+ this.isLoading = false;
76
+ this.hasError = false;
77
+ this.currentTime = 0;
78
+ this.duration = 0;
79
+ this.peaks = [];
80
+ /** Measured wave width (px); 0 until the ResizeObserver reports it. */
81
+ this.containerWidth = 0;
82
+ /** Current playback rate; the speed control cycles through `SPEEDS`. */
83
+ this.playbackRate = 1;
84
+ // Decoded mono PCM, kept so bars can be re-resampled on resize without re-fetching.
85
+ this.rawChannelData = null;
86
+ this.onMeta = () => { var _a; this.duration = ((_a = this.audio) === null || _a === void 0 ? void 0 : _a.duration) || 0; };
87
+ this.onCanPlay = () => { this.isLoading = false; };
88
+ this.onWaiting = () => { this.isLoading = true; };
89
+ this.onTime = () => { var _a; this.currentTime = ((_a = this.audio) === null || _a === void 0 ? void 0 : _a.currentTime) || 0; };
90
+ this.onEnded = () => { this.isPlaying = false; this.currentTime = 0; this.coEnded.emit(); };
91
+ this.onErr = (e) => { this.isLoading = false; this.hasError = true; this.coError.emit(e); };
92
+ this.toggle = () => {
93
+ if (!this.audio || this.hasError)
94
+ return;
95
+ if (this.isPlaying) {
96
+ this.audio.pause();
97
+ this.isPlaying = false;
98
+ this.coPause.emit();
99
+ }
100
+ else {
101
+ this.audio.play().then(() => { this.isPlaying = true; this.coPlay.emit(); }).catch(() => { });
102
+ }
103
+ };
104
+ // Playback-speed cycle (V1 SkAudioPlayer parity): the label shows the current
105
+ // rate and clicking it advances to the next.
106
+ this.SPEEDS = [1, 1.5, 2, 0.5];
107
+ this.cycleSpeed = () => {
108
+ const i = this.SPEEDS.indexOf(this.playbackRate);
109
+ this.playbackRate = this.SPEEDS[(i + 1) % this.SPEEDS.length];
110
+ if (this.audio)
111
+ this.audio.playbackRate = this.playbackRate;
112
+ };
113
+ this.seekAt = (clientX) => {
114
+ if (!this.audio || !this.waveEl || !this.duration)
115
+ return;
116
+ const frac = scrubFraction(clientX, this.waveEl.getBoundingClientRect());
117
+ this.audio.currentTime = frac * this.duration;
118
+ this.currentTime = this.audio.currentTime;
119
+ };
120
+ this.onWaveKey = (e) => {
121
+ if (e.key === ' ' || e.key === 'Enter') {
122
+ e.preventDefault();
123
+ this.toggle();
124
+ return;
125
+ }
126
+ if (!this.audio || !this.duration)
127
+ return;
128
+ if (e.key === 'ArrowRight')
129
+ this.audio.currentTime = Math.min(this.duration, this.audio.currentTime + 5);
130
+ else if (e.key === 'ArrowLeft')
131
+ this.audio.currentTime = Math.max(0, this.audio.currentTime - 5);
132
+ else
133
+ return;
134
+ this.currentTime = this.audio.currentTime;
135
+ };
136
+ }
137
+ /** Bar count: derived from the measured width (V1-style density) once known,
138
+ * else the `bars` fallback. Floored at 24 so a narrow player still reads as a wave. */
139
+ get effectiveBars() {
140
+ return this.containerWidth > 0
141
+ ? Math.max(24, Math.floor(this.containerWidth / this.barDensity))
142
+ : this.bars;
143
+ }
144
+ // componentWillLoad (not componentDidLoad) so `init()` seeds @State before the
145
+ // FIRST render pass. Under @stencil/vitest's test-bundle transform, class-field
146
+ // defaults for @Prop/@State are not seeded on the element ahead of render (see
147
+ // the co-tab-group.spec.tsx comment on this repo's harness gap) — running before
148
+ // the first render, not after, is what keeps this.peaks/duration/etc. defined.
149
+ componentWillLoad() { this.init(); }
150
+ // Measure the wave width so the bar count tracks it (V1 density). The wave
151
+ // element exists only after the first render, hence componentDidLoad.
152
+ componentDidLoad() {
153
+ if (typeof ResizeObserver === 'undefined' || !this.waveEl)
154
+ return;
155
+ this.resizeObserver = new ResizeObserver((entries) => {
156
+ var _a;
157
+ for (const entry of entries) {
158
+ const w = ((_a = entry.contentRect) === null || _a === void 0 ? void 0 : _a.width) || entry.target.clientWidth || 0;
159
+ if (w > 2 && Math.abs(w - this.containerWidth) > 2) {
160
+ this.containerWidth = w;
161
+ this.rebuildBars();
162
+ }
163
+ }
164
+ });
165
+ this.resizeObserver.observe(this.waveEl);
166
+ const w0 = this.waveEl.clientWidth || 0;
167
+ if (w0 > 2) {
168
+ this.containerWidth = w0;
169
+ this.rebuildBars();
170
+ }
171
+ }
172
+ disconnectedCallback() {
173
+ var _a;
174
+ this.teardown();
175
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
176
+ this.resizeObserver = undefined;
177
+ }
178
+ onSrcChange() { this.init(); }
179
+ // Re-derive bars for the current width: from cached PCM if decoded, else the
180
+ // deterministic fallback shape. Reassign the array so Stencil re-renders.
181
+ rebuildBars() {
182
+ this.peaks = this.rawChannelData
183
+ ? resamplePeaks(this.rawChannelData, this.effectiveBars)
184
+ : fallbackPeaks(this.effectiveBars);
185
+ }
186
+ init() {
187
+ this.teardown();
188
+ this.rawChannelData = null;
189
+ this.peaks = fallbackPeaks(this.effectiveBars); // draw immediately; refine with real peaks
190
+ this.currentTime = 0;
191
+ this.duration = 0;
192
+ this.playbackRate = 1; // a fresh source starts at 1x (new <audio> defaults to 1)
193
+ this.hasError = false;
194
+ if (!this.src)
195
+ return;
196
+ this.isLoading = true;
197
+ this.extractPeaks(this.src);
198
+ if (typeof Audio === 'undefined')
199
+ return; // test/SSR guard
200
+ const el = new Audio();
201
+ el.preload = this.preload;
202
+ el.crossOrigin = 'anonymous';
203
+ el.src = this.src;
204
+ el.addEventListener('loadedmetadata', this.onMeta);
205
+ el.addEventListener('timeupdate', this.onTime);
206
+ el.addEventListener('ended', this.onEnded);
207
+ el.addEventListener('error', this.onErr);
208
+ el.addEventListener('canplay', this.onCanPlay);
209
+ el.addEventListener('waiting', this.onWaiting);
210
+ this.audio = el;
211
+ }
212
+ teardown() {
213
+ if (this.audio) {
214
+ this.audio.pause();
215
+ this.audio.removeEventListener('loadedmetadata', this.onMeta);
216
+ this.audio.removeEventListener('timeupdate', this.onTime);
217
+ this.audio.removeEventListener('ended', this.onEnded);
218
+ this.audio.removeEventListener('error', this.onErr);
219
+ this.audio.removeEventListener('canplay', this.onCanPlay);
220
+ this.audio.removeEventListener('waiting', this.onWaiting);
221
+ this.audio.src = '';
222
+ this.audio = undefined;
223
+ }
224
+ this.isPlaying = false;
225
+ }
226
+ async extractPeaks(url) {
227
+ try {
228
+ const Ctx = window.AudioContext || window.webkitAudioContext;
229
+ if (!Ctx || typeof fetch === 'undefined')
230
+ return; // keep fallback
231
+ const ctx = new Ctx();
232
+ const buf = await (await fetch(url)).arrayBuffer();
233
+ const audioBuf = await ctx.decodeAudioData(buf);
234
+ this.rawChannelData = audioBuf.getChannelData(0);
235
+ this.peaks = resamplePeaks(this.rawChannelData, this.effectiveBars);
236
+ ctx.close();
237
+ }
238
+ catch (_a) {
239
+ this.rawChannelData = null;
240
+ this.peaks = fallbackPeaks(this.effectiveBars); // stays functional
241
+ }
242
+ }
243
+ async download() {
244
+ if (!this.src || typeof fetch === 'undefined')
245
+ return;
246
+ try {
247
+ const blob = await (await fetch(this.src)).blob();
248
+ const url = URL.createObjectURL(blob);
249
+ const a = document.createElement('a');
250
+ a.href = url;
251
+ a.download = this.downloadFilename;
252
+ document.body.appendChild(a);
253
+ a.click();
254
+ a.remove();
255
+ URL.revokeObjectURL(url);
256
+ }
257
+ catch ( /* ignore */_a) { /* ignore */ }
258
+ }
259
+ render() {
260
+ const H = 40, UNIT = 3, W = 1.8, R = 0.6;
261
+ const vbW = Math.max(1, this.peaks.length * UNIT);
262
+ const pct = this.duration ? (this.currentTime / this.duration) * 100 : 0;
263
+ const bar = (hFrac, i, played = false) => (index.h("rect", { key: 'ffe5ce97626e52c12e60b953b62d237f14acb582', 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 } }));
264
+ return (index.h("div", { key: '012710aded6ca183e80d7fde087cb0fdf413249b', class: {
265
+ 'co-audio-player': true,
266
+ 'co-audio-player--compact': this.compact,
267
+ 'co-audio-player--error': this.hasError,
268
+ 'co-audio-player--playing': this.isPlaying,
269
+ }, part: "player" }, index.h("button", { key: '2505b88e97e73fd39aa31e3dad5e7fe0c1b94c80', 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 }, index.h("co-icon", { key: 'e0e0d2dd5f6e0578ba80a3c235e5c221a6e8fe21', name: this.hasError ? 'warning-circle' : this.isPlaying ? 'pause' : 'play', weight: "fill", size: this.compact ? 12 : 14 })), index.h("div", { key: 'd2b32119c69c64d2f68d469fe4ae056780446322', class: "co-audio-player__wave", part: "wave", role: "slider", tabindex: "0", "aria-label": "Progreso de reproducci\u00F3n", "aria-valuemin": 0, "aria-valuemax": Math.floor(this.duration), "aria-valuenow": Math.floor(this.currentTime), ref: (el) => (this.waveEl = el), onClick: (e) => this.seekAt(e.clientX), onKeyDown: this.onWaveKey }, index.h("svg", { key: 'fb9643df152d2d0b119580954f639cb3a9c2cd66', class: "co-audio-player__svg", viewBox: `0 0 ${vbW} ${H}`, preserveAspectRatio: "none", "aria-hidden": "true" }, this.peaks.map((hFrac, i) => bar(hFrac, i)), index.h("clipPath", { key: 'c2901cfe7c7e910bd53c8c92894b2d2395cde270', id: "co-ap-clip" }, index.h("rect", { key: '8129a85201e09ba6646b08ed0075798b0a0b0dfc', x: "0", y: "0", width: (pct / 100) * vbW, height: H })), index.h("g", { key: '69bc1780122d48f1a545d1c59bf7ed6536285ed2', "clip-path": "url(#co-ap-clip)" }, this.peaks.map((hFrac, i) => bar(hFrac, i, true))))), index.h("span", { key: '3747622619bd81545f85e7eb2f9c19b1aca6e7c2', class: "co-audio-player__time", part: "time" }, formatTime(this.currentTime), " / ", formatTime(this.duration)), !this.compact && (index.h("button", { key: '84341856fb2e0b6a094c673a727370b148190e30', 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 && (index.h("button", { key: 'd6767d185317f20299b40c4050a806d88165682f', type: "button", class: "co-audio-player__dl", part: "download", "aria-label": "Descargar", onClick: () => this.download() }, index.h("co-icon", { key: 'a0f0a09cdf705ecf15e0156cf93011f89f41ffa5', name: "download-simple", size: 14 })))));
270
+ }
271
+ static get watchers() { return {
272
+ "src": [{
273
+ "onSrcChange": 0
274
+ }]
275
+ }; }
276
+ };
277
+ CoAudioPlayer.style = coAudioPlayerCss();
278
+
279
+ exports.co_audio_player = CoAudioPlayer;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-kBiXCEE7.js');
4
- var positioning = require('./positioning-DwHW399W.js');
4
+ var positioning = require('./positioning-DCj_AJ2T.js');
5
5
 
6
6
  /**
7
7
  * Shared color utilities for Cobalt components.
@@ -311,7 +311,7 @@ const CoTooltip = class {
311
311
  // ── Render ─────────────────────────────────────────────────
312
312
  render() {
313
313
  const side = this.actualPlacement.split('-')[0];
314
- return (index.h("div", { key: 'e51e866b88dc6b36ef797c4ea8694bd5ba1ca352', class: "co-tooltip" }, index.h("div", { key: '711f7b0804b4fe283b2ce8eb45846d00c9d51022', class: "co-tooltip__trigger", ref: (el) => (this.triggerEl = el), onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocusin: this.handleFocusIn, onFocusout: this.handleFocusOut, onKeyDown: this.handleKeyDown, "aria-describedby": this.visible ? 'tooltip-panel' : undefined }, index.h("slot", { key: '655c2ccfbab1ab99ed91e93bae26782ead9b2e17' })), this.visible && this.content && (index.h("div", { key: '7ce0ad2c565285aaf25810151ecfea1f74657c5a', id: "tooltip-panel", class: {
314
+ return (index.h("div", { key: '8ab4d7116108f417bbab303c915ddb3c043f6a17', class: "co-tooltip" }, index.h("div", { key: '8706169462a807aacfb9c3ec102e51d35749ac4a', class: "co-tooltip__trigger", ref: (el) => (this.triggerEl = el), onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocusin: this.handleFocusIn, onFocusout: this.handleFocusOut, onKeyDown: this.handleKeyDown, "aria-describedby": this.visible ? 'tooltip-panel' : undefined }, index.h("slot", { key: 'd24dca7da5d8d25e6bb153fd224f3a2dbe15c2bd' })), this.visible && this.content && (index.h("div", { key: '7b1b9e5629d57f54345889f6b79f0cd40957d916', id: "tooltip-panel", class: {
315
315
  'co-tooltip__panel': true,
316
316
  [`co-tooltip__panel--${side}`]: true,
317
317
  }, role: "tooltip", popover: "manual", ref: (el) => {
@@ -320,7 +320,7 @@ const CoTooltip = class {
320
320
  this.promotePanel();
321
321
  this.scheduleUpdate();
322
322
  }
323
- }, style: { maxWidth: this.maxWidth } }, this.arrow && index.h("div", { key: 'd752ed1a61541a006b24142219b9e296a9c8b062', class: `co-tooltip__arrow co-tooltip__arrow--${side}` }), index.h("span", { key: 'b073b093fae892708c9d5a1dfb84cf9071b3cc5c', class: "co-tooltip__content" }, this.content)))));
323
+ }, style: { maxWidth: this.maxWidth } }, this.arrow && index.h("div", { key: 'a2bb874fff12aba894ae13fb3cfddb6e5c2558c5', class: `co-tooltip__arrow co-tooltip__arrow--${side}` }), index.h("span", { key: '429590eda59470e35fc9dd005a97fb53af39c9e2', class: "co-tooltip__content" }, this.content)))));
324
324
  }
325
325
  get el() { return index.getElement(this); }
326
326
  static get watchers() { return {
@@ -16,7 +16,7 @@ const CoBadge = class {
16
16
  this.color = 'default';
17
17
  }
18
18
  render() {
19
- return (index.h("span", { key: '7c3421c8ace895670435fc85850877a5b38771de', class: {
19
+ return (index.h("span", { key: 'f0a6e6e5bd63a5ce3ffac291312880ab7baad1be', class: {
20
20
  'co-badge': true,
21
21
  [`co-badge--${this.size}`]: true,
22
22
  [`co-badge--${this.color}`]: true,
@@ -305,13 +305,13 @@ const CoBottomSheet = class {
305
305
  (_a = this.bodyEl) === null || _a === void 0 ? void 0 : _a.removeEventListener('touchmove', this.touchBlocker);
306
306
  }
307
307
  render() {
308
- return (index.h("div", { key: 'ccd802fd80f14dfa7b2e3998d1ae1936db0a03b1', class: { 'co-bottom-sheet-root': true, 'co-bottom-sheet-root--open': this.open } }, index.h("div", { key: '6838b998e719fc99ab35f87fa250986d1eeb60a1', class: "co-bottom-sheet__backdrop", part: "backdrop", onClick: this.handleBackdropClick, ref: (el) => (this.backdropEl = el) }), index.h("section", { key: 'd621eac2f34e19a6a2c0fc91e13b17ea832b5c83', class: { 'co-bottom-sheet': true, 'co-bottom-sheet--open': this.open }, part: "sheet", role: "dialog", "aria-modal": "true", "aria-labelledby": this.heading ? 'co-bottom-sheet-heading' : undefined, style: { '--co-bottom-sheet-max-height': this.maxHeight }, onTransitionEnd: this.handleTransitionEnd, ref: (el) => (this.sheetEl = el) }, index.h("div", { key: '2c304cb9f8ed0672327dcc6d638b2d849d6774c6', class: "co-bottom-sheet__grip", onPointerDown: this.handleGripPointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerCancel }, this.showHandle && (index.h("div", { key: '0210a476819c8938bb8c075305a27744b87f0ef9', class: "co-bottom-sheet__handle", part: "handle", "aria-hidden": "true" })), index.h("header", { key: '6daf41852652d8edd478c22a24444d3b040e8799', class: {
308
+ return (index.h("div", { key: 'ba3db3d99801b70af3d5adc93c83868e2b2df3e2', class: { 'co-bottom-sheet-root': true, 'co-bottom-sheet-root--open': this.open } }, index.h("div", { key: '1003cdf6554d5594a3cd6ce51850cf767e76f5e2', class: "co-bottom-sheet__backdrop", part: "backdrop", onClick: this.handleBackdropClick, ref: (el) => (this.backdropEl = el) }), index.h("section", { key: '8474a75c0b2bcf05e91f56274bbeef93e471b28f', class: { 'co-bottom-sheet': true, 'co-bottom-sheet--open': this.open }, part: "sheet", role: "dialog", "aria-modal": "true", "aria-labelledby": this.heading ? 'co-bottom-sheet-heading' : undefined, style: { '--co-bottom-sheet-max-height': this.maxHeight }, onTransitionEnd: this.handleTransitionEnd, ref: (el) => (this.sheetEl = el) }, index.h("div", { key: 'a0c45bd9389353b7c28a85cf02002e417e9295cd', class: "co-bottom-sheet__grip", onPointerDown: this.handleGripPointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerCancel }, this.showHandle && (index.h("div", { key: '36251f7b8031cb20ac95b9b8f674d094a5240789', class: "co-bottom-sheet__handle", part: "handle", "aria-hidden": "true" })), index.h("header", { key: 'f6533a7ed9bf8985cf3712f6587fd129557aed75', class: {
309
309
  'co-bottom-sheet__header': true,
310
310
  'co-bottom-sheet__header--show': this.hasHeaderSlot || !!this.heading,
311
- }, part: "header" }, index.h("slot", { key: 'a94f197b04d719b5a7b1a542872f0dd2bed5dfea', name: "header", onSlotchange: this.handleHeaderSlotChange }, this.heading && (index.h("h2", { key: '800ffa106c145984ff78871a74f92156df05976c', class: "co-bottom-sheet__heading", id: "co-bottom-sheet-heading" }, this.heading))))), index.h("div", { key: '36642b98971f32641b72066689f0f773854e2fcc', class: "co-bottom-sheet__body", part: "body", onPointerDown: this.handleBodyPointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerCancel, ref: (el) => (this.bodyEl = el) }, index.h("slot", { key: '8a4977dc85e78cd9d27ff6a2ce40841267592341' })), index.h("footer", { key: '70217d27c09544adc56e751163033e25d5d72e69', class: {
311
+ }, part: "header" }, index.h("slot", { key: 'b7061e6c4d48b1a221805962ab55153e06edecf7', name: "header", onSlotchange: this.handleHeaderSlotChange }, this.heading && (index.h("h2", { key: '8180cb9cc8e1c234475cc02d7fdab3bc94fa7f31', class: "co-bottom-sheet__heading", id: "co-bottom-sheet-heading" }, this.heading))))), index.h("div", { key: 'e8094b7c7c0919b0cc724404b2c97c4c18b031c9', class: "co-bottom-sheet__body", part: "body", onPointerDown: this.handleBodyPointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerCancel, ref: (el) => (this.bodyEl = el) }, index.h("slot", { key: '0b9271b2ad92c1a8f7bcfde66955ceb026b0fffd' })), index.h("footer", { key: '016e2c9974dc2a1c88aacfd0d5a7a6b6e10f1033', class: {
312
312
  'co-bottom-sheet__footer': true,
313
313
  'co-bottom-sheet__footer--show': this.hasFooter,
314
- }, part: "footer" }, index.h("slot", { key: '6aa16a159e2161c491015ae0c88c542506f632a2', name: "footer", onSlotchange: this.handleFooterSlotChange })))));
314
+ }, part: "footer" }, index.h("slot", { key: '5d571808b9b49eca346b7ce30525cab841b3ff4a', name: "footer", onSlotchange: this.handleFooterSlotChange })))));
315
315
  }
316
316
  get el() { return index.getElement(this); }
317
317
  static get watchers() { return {
@@ -25,10 +25,10 @@ const CoBreadcrumbItem = class {
25
25
  };
26
26
  }
27
27
  render() {
28
- return (index.h(index.Host, { key: 'e7eea637e057de29afed6c742df7c2576781391d', part: "breadcrumb-item", class: {
28
+ return (index.h(index.Host, { key: '16deecfc675429362263d3afb7257025e9170b26', part: "breadcrumb-item", class: {
29
29
  'co-breadcrumb-item': true,
30
30
  'co-breadcrumb-item--current': this.current,
31
- } }, index.h("span", { key: '241fe723b758d9daabfd53f676998e0d2abceac8', class: "co-breadcrumb-item__sep", "aria-hidden": "true" }, index.h("co-icon", { key: 'a6e4c54dfecbb25f6e1b1377d3a9b10fb7abdd73', name: this.separator, size: 13 })), index.h("span", { key: 'a8c960f9e45681520f2e6ad9c80343701219211d', class: "co-breadcrumb-item__content", part: "content", role: "link", tabindex: "0", "aria-current": this.current ? 'page' : undefined, onClick: this.handleClick, onKeyDown: this.handleKeydown }, this.icon && (index.h("span", { key: '8f585b1d2c212c5820aad49deee512fcf11fb7f2', class: "co-breadcrumb-item__icon" }, index.h("co-icon", { key: '8c3b5eae1e0459fe9184973e1fb097f849ebd2eb', name: this.icon, size: 16 }))), index.h("span", { key: '30892098c3b834213fbab6fa49ce2a87a24a0096', class: "co-breadcrumb-item__label" }, this.label, index.h("slot", { key: 'fa8d5d15b3773fcc085eeb932b6dcc154aed5829' })))));
31
+ } }, index.h("span", { key: '795723b3d89d48356ffe8f9a35df63d9d5dea836', class: "co-breadcrumb-item__sep", "aria-hidden": "true" }, index.h("co-icon", { key: 'a1bc3a756d0b2ead8a9f150f60688ae19f46cae0', name: this.separator, size: 13 })), index.h("span", { key: '6dada7bc4a556af7f3b9dc63d2b2d001c13e173e', class: "co-breadcrumb-item__content", part: "content", role: "link", tabindex: "0", "aria-current": this.current ? 'page' : undefined, onClick: this.handleClick, onKeyDown: this.handleKeydown }, this.icon && (index.h("span", { key: '63424dc201114b2a589559ee10324ee4cc9cc305', class: "co-breadcrumb-item__icon" }, index.h("co-icon", { key: 'be25f19369d9f6d0459acd255793782c1580256e', name: this.icon, size: 16 }))), index.h("span", { key: 'e8f0919b4ab1ba60ae632ccd21e3f353b04deac7', class: "co-breadcrumb-item__label" }, this.label, index.h("slot", { key: '0ac8d7d59e7828f939f637ef73ab7787a5c820d8' })))));
32
32
  }
33
33
  get el() { return index.getElement(this); }
34
34
  };
@@ -39,7 +39,7 @@ const CoBreadcrumb = class {
39
39
  }
40
40
  render() {
41
41
  const data = this.parseItems();
42
- return (index.h(index.Host, { key: 'a673dfd80990deed0263168a4dc9cac5029e4956', part: "breadcrumb", role: "navigation", "aria-label": "Breadcrumb" }, data
42
+ return (index.h(index.Host, { key: '8ab383589f78948c7f11d38d4e25fa5509a56dbc', part: "breadcrumb", role: "navigation", "aria-label": "Breadcrumb" }, data
43
43
  ? data.map((it, i) => (index.h("co-breadcrumb-item", { key: i, label: it.label, value: it.value, icon: it.icon, separator: this.separator, current: i === data.length - 1 })))
44
44
  : index.h("slot", { onSlotchange: this.handleSlotChange })));
45
45
  }
@@ -16,12 +16,12 @@ const CoButtonGroup = class {
16
16
  this.disabled = false;
17
17
  }
18
18
  render() {
19
- return (index.h("div", { key: '420d7fa2d9322ef3ec77e87343367f05a0de3d17', class: {
19
+ return (index.h("div", { key: 'fe4b05941d1bf86586c7e4f2c93fe9644ea027d3', class: {
20
20
  'co-button-group': true,
21
21
  [`co-button-group--${this.direction}`]: true,
22
22
  [`co-button-group--${this.variant}`]: true,
23
23
  'co-button-group--disabled': this.disabled,
24
- }, role: "group" }, index.h("slot", { key: 'ede5ab0f16e003619e2aa51945c748bbe7414523' })));
24
+ }, role: "group" }, index.h("slot", { key: 'c583ee5dd23aceea08c3178b93b6f1227101e96e' })));
25
25
  }
26
26
  };
27
27
  CoButtonGroup.style = coButtonGroupCss();
@@ -2,7 +2,7 @@
2
2
 
3
3
  var index = require('./index-kBiXCEE7.js');
4
4
 
5
- const coButtonCss = () => `:host{display:inline-flex}.co-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid transparent;outline:none;font-family:var(--co-font-family-primary);font-weight:400;line-height:1;letter-spacing:var(--co-font-letter-spacing-body);white-space:nowrap;-webkit-font-smoothing:antialiased;transition:opacity 0.15s ease, background 0.15s ease;box-sizing:border-box;-webkit-backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate))}.co-button--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary);border-color:color-mix(in srgb, var(--co-semantic-on-primary) 28%, transparent)}.co-button--secondary{background:color-mix(in srgb, var(--co-semantic-surface-secondary) 55%, transparent);color:var(--co-semantic-on-secondary);border-color:var(--co-semantic-border-subtle)}.co-button--stroke{background:color-mix(in srgb, var(--co-semantic-surface-secondary) 25%, transparent);color:var(--co-semantic-text-default);border-color:var(--co-semantic-border-default)}.co-button--ghost{background:transparent;color:var(--co-semantic-text-default);border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.co-button--danger{background:var(--co-semantic-status-error);color:var(--co-color-base-blanco);border-color:transparent}.co-button--success{background:var(--co-semantic-status-success);color:var(--co-color-base-blanco);border-color:transparent}.co-button--rounded.co-button--l{padding:var(--co-spacing-xl) var(--co-spacing-2xl);gap:var(--co-spacing-md);font-size:var(--co-font-size-18);border-radius:var(--co-button-radius, var(--co-border-radius-full))}.co-button--rounded.co-button--m{padding:var(--co-spacing-lg) var(--co-spacing-xl);gap:var(--co-spacing-md);font-size:var(--co-font-size-16);border-radius:var(--co-button-radius, var(--co-border-radius-full))}.co-button--rounded.co-button--s{padding:var(--co-spacing-md) var(--co-spacing-lg);gap:var(--co-spacing-sm2);font-size:var(--co-font-size-14);border-radius:var(--co-button-radius, var(--co-border-radius-full))}.co-button--rounded.co-button--xs{padding:var(--co-spacing-md) var(--co-spacing-lg);gap:var(--co-spacing-sm2);font-size:var(--co-font-size-12);border-radius:var(--co-button-radius, var(--co-border-radius-full))}.co-button--square.co-button--l{padding:var(--co-spacing-lg) var(--co-spacing-xl);gap:var(--co-spacing-md);font-size:var(--co-font-size-18);border-radius:var(--co-border-radius-lg)}.co-button--square.co-button--m{padding:var(--co-spacing-md) var(--co-spacing-lg);gap:var(--co-spacing-sm2);font-size:var(--co-font-size-16);border-radius:var(--co-border-radius-sm)}.co-button--square.co-button--s{padding:var(--co-spacing-sm2) var(--co-spacing-md);gap:var(--co-spacing-sm);font-size:var(--co-font-size-14);border-radius:var(--co-border-radius-xs)}.co-button--square.co-button--xs{padding:var(--co-spacing-sm) var(--co-spacing-sm2);gap:var(--co-spacing-xs);font-size:var(--co-font-size-12);border-radius:var(--co-spacing-sm)}.co-button--disabled,.co-button:disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.co-button--primary:hover:not(:disabled){opacity:0.88}.co-button--secondary:hover:not(:disabled),.co-button--stroke:hover:not(:disabled){background:var(--co-semantic-surface-hover)}.co-button--ghost:hover:not(:disabled){background:color-mix(in srgb, var(--co-semantic-surface-hover) 60%, transparent);-webkit-backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate))}.co-button--danger:hover:not(:disabled),.co-button--success:hover:not(:disabled){opacity:0.88}.co-button--secondary.co-button--elevated{box-shadow:var(--co-shadow-sm, 0 1px 2px 0 rgba(26, 26, 26, 0.04)), inset 0 0 0 1px var(--co-color-opacity-negro-8)}.co-button--ghost.co-button--surface-dark,.co-button--stroke.co-button--surface-dark{color:var(--co-color-base-blanco, #fff)}.co-button--ghost.co-button--surface-dark:hover:not(:disabled),.co-button--stroke.co-button--surface-dark:hover:not(:disabled){background:var(--co-color-opacity-blanco-16);-webkit-backdrop-filter:none;backdrop-filter:none}::slotted([slot="icon-left"]),::slotted([slot="icon-right"]){display:inline-flex;flex-shrink:0}@supports not (background: color-mix(in srgb, red, transparent)){.co-button--primary{background:var(--co-semantic-surface-primary)}.co-button--secondary{background:var(--co-semantic-surface-secondary)}.co-button--stroke{background:transparent}}`;
5
+ const coButtonCss = () => `:host{display:inline-flex}.co-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid transparent;outline:none;font-family:var(--co-font-family-primary);font-weight:400;line-height:1;letter-spacing:var(--co-font-letter-spacing-body);white-space:nowrap;-webkit-font-smoothing:antialiased;transition:opacity 0.15s ease, background 0.15s ease;box-sizing:border-box;-webkit-backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate))}.co-button--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary);border-color:color-mix(in srgb, var(--co-semantic-on-primary) 28%, transparent)}.co-button--secondary{background:color-mix(in srgb, var(--co-semantic-surface-secondary) 55%, transparent);color:var(--co-semantic-on-secondary);border-color:var(--co-semantic-border-subtle)}.co-button--stroke{background:color-mix(in srgb, var(--co-semantic-surface-secondary) 25%, transparent);color:var(--co-semantic-text-default);border-color:var(--co-semantic-border-default)}.co-button--ghost{background:transparent;color:var(--co-semantic-text-default);border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.co-button--danger{background:var(--co-semantic-status-error);color:var(--co-color-base-blanco);border-color:transparent}.co-button--success{background:var(--co-semantic-status-success);color:var(--co-color-base-blanco);border-color:transparent}.co-button--rounded.co-button--l{padding:var(--co-spacing-xl) var(--co-spacing-2xl);gap:var(--co-spacing-md);font-size:var(--co-font-size-18);border-radius:var(--co-button-radius, var(--co-border-radius-full))}.co-button--rounded.co-button--m{padding:var(--co-spacing-lg) var(--co-spacing-xl);gap:var(--co-spacing-md);font-size:var(--co-font-size-16);border-radius:var(--co-button-radius, var(--co-border-radius-full))}.co-button--rounded.co-button--s{padding:var(--co-spacing-md) var(--co-spacing-lg);gap:var(--co-spacing-sm2);font-size:var(--co-font-size-14);border-radius:var(--co-button-radius, var(--co-border-radius-full))}.co-button--rounded.co-button--xs{padding:var(--co-spacing-md) var(--co-spacing-lg);gap:var(--co-spacing-sm2);font-size:var(--co-font-size-12);border-radius:var(--co-button-radius, var(--co-border-radius-full))}.co-button--square.co-button--l{padding:var(--co-spacing-lg) var(--co-spacing-xl);gap:var(--co-spacing-md);font-size:var(--co-font-size-18);border-radius:var(--co-border-radius-lg)}.co-button--square.co-button--m{padding:var(--co-spacing-md) var(--co-spacing-lg);gap:var(--co-spacing-sm2);font-size:var(--co-font-size-16);border-radius:var(--co-border-radius-sm)}.co-button--square.co-button--s{padding:var(--co-spacing-sm2) var(--co-spacing-md);gap:var(--co-spacing-sm);font-size:var(--co-font-size-14);border-radius:var(--co-border-radius-xs)}.co-button--square.co-button--xs{padding:var(--co-spacing-sm) var(--co-spacing-sm2);gap:var(--co-spacing-xs);font-size:var(--co-font-size-12);border-radius:var(--co-spacing-sm)}.co-button--disabled,.co-button:disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.co-button--primary:hover:not(:disabled){opacity:0.88}.co-button--secondary:hover:not(:disabled),.co-button--stroke:hover:not(:disabled){background:var(--co-semantic-surface-hover)}.co-button--ghost:hover:not(:disabled){background:color-mix(in srgb, var(--co-semantic-surface-hover) 60%, transparent);-webkit-backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate))}.co-button--danger:hover:not(:disabled),.co-button--success:hover:not(:disabled){opacity:0.88}.co-button--secondary.co-button--elevated{box-shadow:var(--co-shadow-sm, 0 1px 2px 0 rgba(26, 26, 26, 0.04)), inset 0 0 0 1px var(--co-color-opacity-negro-8)}.co-button--ghost.co-button--surface-dark,.co-button--stroke.co-button--surface-dark{color:var(--co-color-base-blanco, #fff)}.co-button--ghost.co-button--surface-dark:hover:not(:disabled),.co-button--stroke.co-button--surface-dark:hover:not(:disabled){background:var(--co-color-opacity-blanco-16);-webkit-backdrop-filter:none;backdrop-filter:none}.co-button--danger.co-button--surface-dark:hover:not(:disabled){opacity:1;background:color-mix(in srgb, var(--co-semantic-status-error) 84%, var(--co-color-base-blanco, #fff))}.co-button--danger.co-button--surface-dark:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--co-color-base-blanco, #fff) 45%, transparent)}::slotted([slot="icon-left"]),::slotted([slot="icon-right"]){display:inline-flex;flex-shrink:0}@supports not (background: color-mix(in srgb, red, transparent)){.co-button--primary{background:var(--co-semantic-surface-primary)}.co-button--secondary{background:var(--co-semantic-surface-secondary)}.co-button--stroke{background:transparent}}`;
6
6
 
7
7
  const ICON_SIZE = { l: 20, m: 18, s: 16, xs: 14 };
8
8
  const CoButton = class {
@@ -16,7 +16,14 @@ const CoButton = class {
16
16
  this.size = 'm';
17
17
  /** Raised elevation — with variant="secondary" renders a white raised button (shadow-sm + inset hairline). */
18
18
  this.elevated = false;
19
- /** Surface the button sits on. On "dark", ghost/stroke variants switch to white ink + blanco-16 hover. */
19
+ /**
20
+ * Surface the button sits on. On "dark", ghost/stroke variants switch to
21
+ * white ink + blanco-16 hover; danger keeps its solid error fill but swaps
22
+ * the fade-hover for a lighten-hover + white focus ring (dark bars dim a
23
+ * faded red). Receta oficial de acciones de barra (co-action-bar):
24
+ * `variant="ghost"|"stroke" surface="dark"`; Eliminar =
25
+ * `variant="danger" surface="dark"`.
26
+ */
20
27
  this.surface = 'light';
21
28
  /** Disabled state */
22
29
  this.disabled = false;
@@ -49,7 +56,7 @@ const CoButton = class {
49
56
  customStyle.background = this.color;
50
57
  if (this.textColor)
51
58
  customStyle.color = this.textColor;
52
- return (index.h("button", { key: '97c11bee8f9bb11bb6585439c3c12698b0d95ecb', class: {
59
+ return (index.h("button", { key: 'e765a1fcb3b4efcc7c43e155015b3c178a536d3c', class: {
53
60
  'co-button': true,
54
61
  [`co-button--${this.variant}`]: true,
55
62
  [`co-button--${this.shape}`]: true,
@@ -57,9 +64,9 @@ const CoButton = class {
57
64
  [`co-button--surface-${this.surface}`]: true,
58
65
  'co-button--elevated': this.elevated,
59
66
  'co-button--disabled': this.disabled,
60
- }, style: Object.keys(customStyle).length ? customStyle : undefined, type: this.type, disabled: this.disabled, onClick: this.handleClick, part: "button" }, this.iconLeft
67
+ }, style: Object.keys(customStyle).length ? customStyle : undefined, type: this.type, disabled: this.disabled, "aria-label": this.ariaLabelText || undefined, onClick: this.handleClick, part: "button" }, this.iconLeft
61
68
  ? index.h("co-icon", { name: this.iconLeft, weight: this.iconWeight, size: iconSize })
62
- : null, index.h("slot", { key: '092f58acb6dfa810ce4f5bcdc19ab15dff69104a' }, this.label), this.iconRight
69
+ : null, index.h("slot", { key: '8dd3e816276a67ba6072eeed1ad34a982b60389e' }, this.label), this.iconRight
63
70
  ? index.h("co-icon", { name: this.iconRight, weight: this.iconWeight, size: iconSize })
64
71
  : null));
65
72
  }