@prolibu-suite/cobalt-core 0.5.0 → 0.7.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 (533) hide show
  1. package/custom-elements.json +1090 -41
  2. package/dist/cjs/co-accordion.cjs.entry.js +1 -1
  3. package/dist/cjs/co-app-shell.cjs.entry.js +1 -1
  4. package/dist/cjs/co-autocomplete.cjs.entry.js +3 -3
  5. package/dist/cjs/co-avatar-group.cjs.entry.js +3 -3
  6. package/dist/cjs/{co-tooltip.cjs.entry.js → co-avatar_2.cjs.entry.js} +95 -3
  7. package/dist/cjs/co-badge.cjs.entry.js +2 -2
  8. package/dist/cjs/co-bottom-sheet.cjs.entry.js +4 -4
  9. package/dist/cjs/co-breadcrumb-item.cjs.entry.js +3 -3
  10. package/dist/cjs/co-breadcrumb.cjs.entry.js +2 -2
  11. package/dist/cjs/co-button-group.cjs.entry.js +3 -3
  12. package/dist/cjs/co-button.cjs.entry.js +4 -4
  13. package/dist/cjs/co-calendar-month.cjs.entry.js +2 -2
  14. package/dist/cjs/co-calendar_3.cjs.entry.js +8 -8
  15. package/dist/cjs/co-card.cjs.entry.js +3 -3
  16. package/dist/cjs/co-carousel-item.cjs.entry.js +17 -0
  17. package/dist/cjs/co-carousel.cjs.entry.js +368 -0
  18. package/dist/cjs/co-checkbox-group.cjs.entry.js +1 -1
  19. package/dist/cjs/co-checkbox.cjs.entry.js +4 -4
  20. package/dist/cjs/co-chip_2.cjs.entry.js +5 -5
  21. package/dist/cjs/co-color-picker.cjs.entry.js +5 -5
  22. package/dist/cjs/co-column-picker.cjs.entry.js +3 -3
  23. package/dist/cjs/co-combobox.cjs.entry.js +3 -3
  24. package/dist/cjs/co-command-search.cjs.entry.js +1 -1
  25. package/dist/cjs/co-data-table-pagination.cjs.entry.js +5 -5
  26. package/dist/cjs/co-data-table.cjs.entry.js +2 -2
  27. package/dist/cjs/co-date-picker.cjs.entry.js +11 -4
  28. package/dist/cjs/co-date-range-picker.cjs.entry.js +9 -3
  29. package/dist/cjs/co-date-range.cjs.entry.js +2 -2
  30. package/dist/cjs/co-drive-card.cjs.entry.js +2 -2
  31. package/dist/cjs/co-drop-zone.cjs.entry.js +2 -2
  32. package/dist/cjs/co-empty-state.cjs.entry.js +3 -3
  33. package/dist/cjs/co-event-calendar.cjs.entry.js +3 -3
  34. package/dist/cjs/co-fab.cjs.entry.js +21 -6
  35. package/dist/cjs/co-file-field.cjs.entry.js +8 -8
  36. package/dist/cjs/co-file-type-tile.cjs.entry.js +3 -3
  37. package/dist/cjs/co-helper-text.cjs.entry.js +3 -3
  38. package/dist/cjs/co-icon-button.cjs.entry.js +2 -2
  39. package/dist/cjs/co-icon.cjs.entry.js +3 -3
  40. package/dist/cjs/co-input.cjs.entry.js +25 -3
  41. package/dist/cjs/co-json-field.cjs.entry.js +6 -6
  42. package/dist/cjs/co-lightbox.cjs.entry.js +33 -6
  43. package/dist/cjs/co-list-footer.cjs.entry.js +2 -2
  44. package/dist/cjs/co-list-item.cjs.entry.js +5 -5
  45. package/dist/cjs/co-loader.cjs.entry.js +1 -1
  46. package/dist/cjs/co-media-thumb.cjs.entry.js +3 -3
  47. package/dist/cjs/co-menu-divider.cjs.entry.js +2 -2
  48. package/dist/cjs/co-menu-item.cjs.entry.js +1 -1
  49. package/dist/cjs/co-menu.cjs.entry.js +2 -2
  50. package/dist/cjs/co-modal.cjs.entry.js +3 -3
  51. package/dist/cjs/co-navbar.cjs.entry.js +3 -3
  52. package/dist/cjs/co-number-field.cjs.entry.js +5 -5
  53. package/dist/cjs/co-overlay.cjs.entry.js +2 -2
  54. package/dist/cjs/co-page-header.cjs.entry.js +2 -2
  55. package/dist/cjs/co-phone-field.cjs.entry.js +4 -4
  56. package/dist/cjs/co-popover.cjs.entry.js +1 -1
  57. package/dist/cjs/co-progress-bar.cjs.entry.js +3 -3
  58. package/dist/cjs/co-progress-circle.cjs.entry.js +3 -3
  59. package/dist/cjs/co-radio-group.cjs.entry.js +1 -1
  60. package/dist/cjs/co-radio.cjs.entry.js +4 -4
  61. package/dist/cjs/co-rating.cjs.entry.js +4 -4
  62. package/dist/cjs/co-ref-field.cjs.entry.js +11 -5
  63. package/dist/cjs/co-rich-text-editor.cjs.entry.js +22 -7
  64. package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +36 -4
  65. package/dist/cjs/co-rich-text-viewer.cjs.entry.js +36 -6
  66. package/dist/cjs/co-row.cjs.entry.js +3 -3
  67. package/dist/cjs/co-segmented-bar.cjs.entry.js +1 -1
  68. package/dist/cjs/co-select.cjs.entry.js +13 -7
  69. package/dist/cjs/co-separator.cjs.entry.js +2 -2
  70. package/dist/cjs/co-sidebar-nav.cjs.entry.js +1 -1
  71. package/dist/cjs/co-sidebar.cjs.entry.js +3 -3
  72. package/dist/cjs/co-skeleton.cjs.entry.js +2 -2
  73. package/dist/cjs/co-slider.cjs.entry.js +3 -3
  74. package/dist/cjs/co-switch.cjs.entry.js +5 -5
  75. package/dist/cjs/co-tab-group.cjs.entry.js +4 -4
  76. package/dist/cjs/co-tab.cjs.entry.js +3 -3
  77. package/dist/cjs/co-tags-field.cjs.entry.js +9 -9
  78. package/dist/cjs/co-textarea.cjs.entry.js +13 -7
  79. package/dist/cjs/co-toast.cjs.entry.js +1 -1
  80. package/dist/cjs/co-toggle-button-group.cjs.entry.js +3 -3
  81. package/dist/cjs/co-toggle-button.cjs.entry.js +3 -3
  82. package/dist/cjs/co-transfer-list.cjs.entry.js +1 -1
  83. package/dist/cjs/co-video.cjs.entry.js +3 -3
  84. package/dist/cjs/cobalt.cjs.js +2 -2
  85. package/dist/cjs/{fieldChip-D8YJCyQF.js → fieldChip-B_npd9rL.js} +1 -1
  86. package/dist/cjs/{index-4y1Dm145.js → index-DFZ5YhIT.js} +171 -11
  87. package/dist/cjs/{index-DxEFsH_t.js → index-kBiXCEE7.js} +13 -9
  88. package/dist/cjs/loader.cjs.js +2 -2
  89. package/dist/cjs/{requiredMark-B3pKyqYI.js → requiredMark-DuMIcKtt.js} +1 -1
  90. package/dist/cjs/{richTextI18n-B7ktXg3M.js → richTextI18n-B28uAhh4.js} +3 -0
  91. package/dist/cjs/{toolbar-config-3PlT-3zm.js → toolbar-config-BQfWTW6P.js} +2 -0
  92. package/dist/cobalt/cobalt.css +1 -1
  93. package/dist/cobalt/cobalt.esm.js +1 -1
  94. package/dist/cobalt/{p-86e60cfa.entry.js → p-0110108f.entry.js} +1 -1
  95. package/dist/cobalt/p-037cc571.entry.js +1 -0
  96. package/dist/cobalt/{p-47a2dd67.entry.js → p-080f62e4.entry.js} +1 -1
  97. package/dist/cobalt/{p-8128e84a.entry.js → p-0a294205.entry.js} +1 -1
  98. package/dist/cobalt/{p-a9afbaa6.entry.js → p-0b7359bb.entry.js} +1 -1
  99. package/dist/cobalt/p-0b92167a.entry.js +1 -0
  100. package/dist/cobalt/p-0bc5a962.entry.js +1 -0
  101. package/dist/cobalt/{p-02c5a9a9.entry.js → p-202eadfc.entry.js} +1 -1
  102. package/dist/cobalt/{p-1681ce1d.entry.js → p-264508ae.entry.js} +1 -1
  103. package/dist/cobalt/{p-b8ec0cc1.entry.js → p-2661557c.entry.js} +1 -1
  104. package/dist/cobalt/{p-771bc8fe.entry.js → p-27dce0ac.entry.js} +1 -1
  105. package/dist/cobalt/{p-c3462def.entry.js → p-28ab9cef.entry.js} +1 -1
  106. package/dist/cobalt/{p-d9608046.entry.js → p-2da09948.entry.js} +1 -1
  107. package/dist/cobalt/p-2f6c7eb5.entry.js +1 -0
  108. package/dist/cobalt/{p-002e5beb.entry.js → p-30c80e3a.entry.js} +1 -1
  109. package/dist/cobalt/p-331a0108.entry.js +1 -0
  110. package/dist/cobalt/{p-c0f39ddd.entry.js → p-36ad3a96.entry.js} +1 -1
  111. package/dist/cobalt/{p-8dfb6886.entry.js → p-3af74ab8.entry.js} +1 -1
  112. package/dist/cobalt/{p-c6fedc59.entry.js → p-3b9be8a8.entry.js} +1 -1
  113. package/dist/cobalt/p-3c681e3a.entry.js +1 -0
  114. package/dist/cobalt/{p-14d4c5c7.entry.js → p-3ecbbe93.entry.js} +1 -1
  115. package/dist/cobalt/{p-9c873a6a.entry.js → p-3f1030fb.entry.js} +1 -1
  116. package/dist/cobalt/p-3f7215e7.entry.js +1 -0
  117. package/dist/cobalt/p-431cec34.entry.js +1 -0
  118. package/dist/cobalt/p-48fbf051.entry.js +1 -0
  119. package/dist/cobalt/{p-e420d5c9.entry.js → p-4f615cbd.entry.js} +1 -1
  120. package/dist/cobalt/{p-81cfd951.entry.js → p-5319ac3f.entry.js} +1 -1
  121. package/dist/cobalt/p-532baca4.entry.js +1 -0
  122. package/dist/cobalt/{p-ba66584f.entry.js → p-53a276a8.entry.js} +1 -1
  123. package/dist/cobalt/{p-f0de4415.entry.js → p-543cc00d.entry.js} +1 -1
  124. package/dist/cobalt/{p-f073b467.entry.js → p-54857f78.entry.js} +1 -1
  125. package/dist/cobalt/{p-85eed52c.entry.js → p-54f8c68c.entry.js} +1 -1
  126. package/dist/cobalt/{p-9c6ca902.entry.js → p-585c132d.entry.js} +1 -1
  127. package/dist/cobalt/p-59b114ab.entry.js +1 -0
  128. package/dist/cobalt/{p-2d1cbd7f.entry.js → p-5b84cf37.entry.js} +1 -1
  129. package/dist/cobalt/{p-0d7536a8.entry.js → p-5c250889.entry.js} +1 -1
  130. package/dist/cobalt/{p-e33853fa.entry.js → p-5d0510a5.entry.js} +1 -1
  131. package/dist/cobalt/{p-f86ccb38.entry.js → p-5e246304.entry.js} +1 -1
  132. package/dist/cobalt/{p-075eed3d.entry.js → p-616e4286.entry.js} +1 -1
  133. package/dist/cobalt/{p-8e823c15.entry.js → p-64115d66.entry.js} +1 -1
  134. package/dist/cobalt/{p-495c9b99.entry.js → p-69723cc1.entry.js} +1 -1
  135. package/dist/cobalt/{p-6ad1625a.entry.js → p-69ce2269.entry.js} +1 -1
  136. package/dist/cobalt/{p-b1197c08.entry.js → p-6b38e8fb.entry.js} +1 -1
  137. package/dist/cobalt/{p-5c43d30e.entry.js → p-7178113f.entry.js} +1 -1
  138. package/dist/cobalt/p-741cf623.entry.js +1 -0
  139. package/dist/cobalt/{p-1726ce07.entry.js → p-75515a8e.entry.js} +1 -1
  140. package/dist/cobalt/{p-fd27c2bd.entry.js → p-7f78e45c.entry.js} +1 -1
  141. package/dist/cobalt/{p-3f06d373.entry.js → p-8155d781.entry.js} +1 -1
  142. package/dist/cobalt/{p-e710b9ea.entry.js → p-8fe5b07e.entry.js} +1 -1
  143. package/dist/cobalt/{p-9a587867.entry.js → p-9211e794.entry.js} +1 -1
  144. package/dist/cobalt/p-97875bde.entry.js +1 -0
  145. package/dist/cobalt/p-9824c478.entry.js +1 -0
  146. package/dist/cobalt/{p-cc0a4617.entry.js → p-9994fcd8.entry.js} +1 -1
  147. package/dist/cobalt/p-9bf42bf4.entry.js +1 -0
  148. package/dist/cobalt/{p-f6ac5301.entry.js → p-9fab9c1f.entry.js} +1 -1
  149. package/dist/cobalt/p-BCEz3S-z.js +2 -0
  150. package/dist/cobalt/{p-Bgxofdfb.js → p-BL0sCfMH.js} +1 -1
  151. package/dist/cobalt/p-BYKAgwq3.js +1 -0
  152. package/dist/cobalt/p-C-d15gih.js +1 -0
  153. package/dist/cobalt/p-D5gr2ent.js +1 -0
  154. package/dist/cobalt/p-WeuPA9Rw.js +1 -0
  155. package/dist/cobalt/{p-77d01b39.entry.js → p-a252f8c5.entry.js} +1 -1
  156. package/dist/cobalt/{p-809015dd.entry.js → p-b06af5c6.entry.js} +1 -1
  157. package/dist/cobalt/p-b87a2e7a.entry.js +1 -0
  158. package/dist/cobalt/{p-fb251497.entry.js → p-ba5c6aa7.entry.js} +1 -1
  159. package/dist/cobalt/{p-373cd08e.entry.js → p-bb00ae4a.entry.js} +1 -1
  160. package/dist/cobalt/{p-5edd0d3f.entry.js → p-bcd38114.entry.js} +1 -1
  161. package/dist/cobalt/{p-bb534985.entry.js → p-c237add6.entry.js} +1 -1
  162. package/dist/cobalt/{p-c750b2d2.entry.js → p-c3004e1c.entry.js} +1 -1
  163. package/dist/cobalt/p-c589ae25.entry.js +1 -0
  164. package/dist/cobalt/p-c635417b.entry.js +1 -0
  165. package/dist/cobalt/p-c7d9ff39.entry.js +1 -0
  166. package/dist/cobalt/{p-c1e53e4c.entry.js → p-c9528a5f.entry.js} +1 -1
  167. package/dist/cobalt/{p-20ba59a2.entry.js → p-cbac0a11.entry.js} +1 -1
  168. package/dist/cobalt/p-cd28aa6d.entry.js +1 -0
  169. package/dist/cobalt/{p-5c3101b5.entry.js → p-cdedaa82.entry.js} +1 -1
  170. package/dist/cobalt/{p-627d2d1a.entry.js → p-ceb85838.entry.js} +1 -1
  171. package/dist/cobalt/{p-5e9a9caf.entry.js → p-d3a1a604.entry.js} +1 -1
  172. package/dist/cobalt/{p-a6900010.entry.js → p-d71b800a.entry.js} +1 -1
  173. package/dist/cobalt/p-df752f6e.entry.js +1 -0
  174. package/dist/cobalt/{p-b4bed98b.entry.js → p-e1b468c1.entry.js} +1 -1
  175. package/dist/cobalt/{p-0d6a562d.entry.js → p-e4555fda.entry.js} +1 -1
  176. package/dist/cobalt/p-ec9dd3a3.entry.js +1 -0
  177. package/dist/cobalt/p-eec1c44c.entry.js +1 -0
  178. package/dist/cobalt/p-eeed80ac.entry.js +1 -0
  179. package/dist/cobalt/p-f0a98453.entry.js +1 -0
  180. package/dist/cobalt/{p-af4cb263.entry.js → p-ff581807.entry.js} +1 -1
  181. package/dist/cobalt/p-fffeb610.entry.js +1 -0
  182. package/dist/collection/collection-manifest.json +2 -0
  183. package/dist/collection/components/co-autocomplete/co-autocomplete.css +1 -1
  184. package/dist/collection/components/co-avatar/co-avatar.css +23 -0
  185. package/dist/collection/components/co-avatar/co-avatar.js +24 -1
  186. package/dist/collection/components/co-avatar-group/co-avatar-group.css +9 -5
  187. package/dist/collection/components/co-avatar-group/co-avatar-group.js +2 -2
  188. package/dist/collection/components/co-badge/co-badge.js +1 -1
  189. package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.js +3 -3
  190. package/dist/collection/components/co-breadcrumb/co-breadcrumb.js +1 -1
  191. package/dist/collection/components/co-breadcrumb-item/co-breadcrumb-item.js +2 -2
  192. package/dist/collection/components/co-button/co-button.css +5 -1
  193. package/dist/collection/components/co-button/co-button.js +2 -2
  194. package/dist/collection/components/co-button-group/co-button-group.js +2 -2
  195. package/dist/collection/components/co-calendar/co-calendar.js +1 -1
  196. package/dist/collection/components/co-calendar-month/co-calendar-month.js +1 -1
  197. package/dist/collection/components/co-card/co-card.js +2 -2
  198. package/dist/collection/components/co-carousel/co-carousel.css +152 -0
  199. package/dist/collection/components/co-carousel/co-carousel.js +633 -0
  200. package/dist/collection/components/co-carousel-item/co-carousel-item.css +6 -0
  201. package/dist/collection/components/co-carousel-item/co-carousel-item.js +25 -0
  202. package/dist/collection/components/co-checkbox/co-checkbox.js +3 -3
  203. package/dist/collection/components/co-chip/co-chip.js +2 -2
  204. package/dist/collection/components/co-color-picker/co-color-picker.css +11 -10
  205. package/dist/collection/components/co-color-picker/co-color-picker.js +2 -2
  206. package/dist/collection/components/co-column-picker/co-column-picker.js +2 -2
  207. package/dist/collection/components/co-combobox/co-combobox.css +6 -8
  208. package/dist/collection/components/co-data-table/co-data-table.css +19 -4
  209. package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.js +4 -4
  210. package/dist/collection/components/co-date-field/co-date-field.css +6 -7
  211. package/dist/collection/components/co-date-field/co-date-field.js +4 -4
  212. package/dist/collection/components/co-date-picker/co-date-picker.css +16 -0
  213. package/dist/collection/components/co-date-picker/co-date-picker.js +28 -1
  214. package/dist/collection/components/co-date-range/co-date-range.js +1 -1
  215. package/dist/collection/components/co-date-range-picker/co-date-range-picker.css +13 -1
  216. package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +26 -0
  217. package/dist/collection/components/co-drive-card/co-drive-card.js +1 -1
  218. package/dist/collection/components/co-drop-zone/co-drop-zone.js +1 -1
  219. package/dist/collection/components/co-empty-state/co-empty-state.js +2 -2
  220. package/dist/collection/components/co-event-calendar/co-event-calendar.js +2 -2
  221. package/dist/collection/components/co-fab/co-fab.css +70 -10
  222. package/dist/collection/components/co-fab/co-fab.js +39 -4
  223. package/dist/collection/components/co-file-field/co-file-field.css +2 -2
  224. package/dist/collection/components/co-file-field/co-file-field.js +5 -5
  225. package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +2 -2
  226. package/dist/collection/components/co-helper-text/co-helper-text.js +2 -2
  227. package/dist/collection/components/co-icon/co-icon.js +2 -2
  228. package/dist/collection/components/co-icon-button/co-icon-button.js +1 -1
  229. package/dist/collection/components/co-input/co-input.css +13 -1
  230. package/dist/collection/components/co-input/co-input.js +83 -0
  231. package/dist/collection/components/co-json-field/co-json-field.css +4 -8
  232. package/dist/collection/components/co-json-field/co-json-field.js +3 -3
  233. package/dist/collection/components/co-lightbox/co-lightbox.css +12 -1
  234. package/dist/collection/components/co-lightbox/co-lightbox.js +31 -4
  235. package/dist/collection/components/co-list-footer/co-list-footer.js +1 -1
  236. package/dist/collection/components/co-list-item/co-list-item.js +4 -4
  237. package/dist/collection/components/co-media-thumb/co-media-thumb.js +2 -2
  238. package/dist/collection/components/co-menu/co-menu.js +1 -1
  239. package/dist/collection/components/co-menu-divider/co-menu-divider.js +1 -1
  240. package/dist/collection/components/co-modal/co-modal.js +2 -2
  241. package/dist/collection/components/co-navbar/co-navbar.js +2 -2
  242. package/dist/collection/components/co-number-field/co-number-field.css +1 -1
  243. package/dist/collection/components/co-number-field/co-number-field.js +2 -2
  244. package/dist/collection/components/co-option-list/co-option-list.js +2 -2
  245. package/dist/collection/components/co-overlay/co-overlay.js +1 -1
  246. package/dist/collection/components/co-page-header/co-page-header.js +1 -1
  247. package/dist/collection/components/co-phone-field/co-phone-field.css +2 -2
  248. package/dist/collection/components/co-phone-field/co-phone-field.js +1 -1
  249. package/dist/collection/components/co-progress-bar/co-progress-bar.js +2 -2
  250. package/dist/collection/components/co-progress-circle/co-progress-circle.js +2 -2
  251. package/dist/collection/components/co-radio/co-radio.js +3 -3
  252. package/dist/collection/components/co-rating/co-rating.js +3 -3
  253. package/dist/collection/components/co-ref-field/co-ref-field.css +17 -1
  254. package/dist/collection/components/co-ref-field/co-ref-field.js +27 -1
  255. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.css +21 -3
  256. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +97 -4
  257. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +93 -3
  258. package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.css +19 -0
  259. package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.js +53 -4
  260. package/dist/collection/components/co-row/co-row.js +2 -2
  261. package/dist/collection/components/co-select/co-select.css +12 -1
  262. package/dist/collection/components/co-select/co-select.js +30 -4
  263. package/dist/collection/components/co-separator/co-separator.js +1 -1
  264. package/dist/collection/components/co-sidebar/co-sidebar.js +2 -2
  265. package/dist/collection/components/co-skeleton/co-skeleton.js +1 -1
  266. package/dist/collection/components/co-slider/co-slider.js +2 -2
  267. package/dist/collection/components/co-switch/co-switch.js +3 -3
  268. package/dist/collection/components/co-tab/co-tab.js +2 -2
  269. package/dist/collection/components/co-tab-group/co-tab-group.css +7 -4
  270. package/dist/collection/components/co-tab-group/co-tab-group.js +2 -2
  271. package/dist/collection/components/co-tags-field/co-tags-field.css +12 -21
  272. package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
  273. package/dist/collection/components/co-textarea/co-textarea.css +18 -8
  274. package/dist/collection/components/co-textarea/co-textarea.js +30 -4
  275. package/dist/collection/components/co-toggle-button/co-toggle-button.js +2 -2
  276. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +2 -2
  277. package/dist/collection/components/co-tooltip/co-tooltip.js +2 -2
  278. package/dist/collection/components/co-video/co-video.js +2 -2
  279. package/dist/collection/utils/carouselI18n.js +36 -0
  280. package/dist/collection/utils/richTextI18n.js +3 -0
  281. package/dist/components/co-accordion.js +1 -1
  282. package/dist/components/co-autocomplete.js +1 -1
  283. package/dist/components/co-avatar-group.js +1 -1
  284. package/dist/components/co-avatar.js +1 -1
  285. package/dist/components/co-badge.js +1 -1
  286. package/dist/components/co-bottom-sheet.js +1 -1
  287. package/dist/components/co-breadcrumb-item.js +1 -1
  288. package/dist/components/co-breadcrumb.js +1 -1
  289. package/dist/components/co-button-group.js +1 -1
  290. package/dist/components/co-button.js +1 -1
  291. package/dist/components/co-calendar-month.js +1 -1
  292. package/dist/components/co-calendar.js +1 -1
  293. package/dist/components/co-card.js +1 -1
  294. package/dist/components/co-carousel-item.d.ts +11 -0
  295. package/dist/components/co-carousel-item.js +1 -0
  296. package/dist/components/co-carousel.d.ts +11 -0
  297. package/dist/components/co-carousel.js +1 -0
  298. package/dist/components/co-checkbox-group.js +1 -1
  299. package/dist/components/co-checkbox.js +1 -1
  300. package/dist/components/co-chip.js +1 -1
  301. package/dist/components/co-color-picker.js +1 -1
  302. package/dist/components/co-column-picker.js +1 -1
  303. package/dist/components/co-combobox.js +1 -1
  304. package/dist/components/co-command-search.js +1 -1
  305. package/dist/components/co-data-table-pagination.js +1 -1
  306. package/dist/components/co-data-table.js +1 -1
  307. package/dist/components/co-date-field.js +1 -1
  308. package/dist/components/co-date-picker.js +1 -1
  309. package/dist/components/co-date-range-picker.js +1 -1
  310. package/dist/components/co-date-range.js +1 -1
  311. package/dist/components/co-drawer.js +1 -1
  312. package/dist/components/co-drive-card.js +1 -1
  313. package/dist/components/co-drop-zone.js +1 -1
  314. package/dist/components/co-empty-state.js +1 -1
  315. package/dist/components/co-event-calendar.js +1 -1
  316. package/dist/components/co-fab.js +1 -1
  317. package/dist/components/co-file-field.js +1 -1
  318. package/dist/components/co-file-type-tile.js +1 -1
  319. package/dist/components/co-helper-text.js +1 -1
  320. package/dist/components/co-icon-button.js +1 -1
  321. package/dist/components/co-icon.js +1 -1
  322. package/dist/components/co-input.js +1 -1
  323. package/dist/components/co-json-field.js +1 -1
  324. package/dist/components/co-lightbox.js +1 -1
  325. package/dist/components/co-list-footer.js +1 -1
  326. package/dist/components/co-list-item.js +1 -1
  327. package/dist/components/co-media-thumb.js +1 -1
  328. package/dist/components/co-menu-divider.js +1 -1
  329. package/dist/components/co-menu-item.js +1 -1
  330. package/dist/components/co-menu.js +1 -1
  331. package/dist/components/co-modal.js +1 -1
  332. package/dist/components/co-navbar.js +1 -1
  333. package/dist/components/co-number-field.js +1 -1
  334. package/dist/components/co-option-list.js +1 -1
  335. package/dist/components/co-overlay.js +1 -1
  336. package/dist/components/co-page-header.js +1 -1
  337. package/dist/components/co-phone-field.js +1 -1
  338. package/dist/components/co-progress-bar.js +1 -1
  339. package/dist/components/co-progress-circle.js +1 -1
  340. package/dist/components/co-radio-group.js +1 -1
  341. package/dist/components/co-radio.js +1 -1
  342. package/dist/components/co-rating.js +1 -1
  343. package/dist/components/co-ref-field.js +1 -1
  344. package/dist/components/co-rich-text-editor.js +1 -1
  345. package/dist/components/co-rich-text-toolbar.js +1 -1
  346. package/dist/components/co-rich-text-viewer.js +1 -1
  347. package/dist/components/co-row.js +1 -1
  348. package/dist/components/co-select.js +1 -1
  349. package/dist/components/co-separator.js +1 -1
  350. package/dist/components/co-sidebar-nav.js +1 -1
  351. package/dist/components/co-sidebar.js +1 -1
  352. package/dist/components/co-skeleton.js +1 -1
  353. package/dist/components/co-slider.js +1 -1
  354. package/dist/components/co-switch.js +1 -1
  355. package/dist/components/co-tab-group.js +1 -1
  356. package/dist/components/co-tab.js +1 -1
  357. package/dist/components/co-tags-field.js +1 -1
  358. package/dist/components/co-textarea.js +1 -1
  359. package/dist/components/co-toast.js +1 -1
  360. package/dist/components/co-toggle-button-group.js +1 -1
  361. package/dist/components/co-toggle-button.js +1 -1
  362. package/dist/components/co-tooltip.js +1 -1
  363. package/dist/components/co-transfer-list.js +1 -1
  364. package/dist/components/co-video.js +1 -1
  365. package/dist/components/index.js +1 -1
  366. package/dist/components/{p-CNIs9j-h.js → p-9aNhJfTT.js} +1 -1
  367. package/dist/components/{p-QWi9AmnD.js → p-B0b9Etx4.js} +1 -1
  368. package/dist/components/{p-D4SOCy8I.js → p-B3U63yZw.js} +1 -1
  369. package/dist/components/p-B7Yv00g9.js +1 -0
  370. package/dist/components/{p-Bgxofdfb.js → p-BL0sCfMH.js} +1 -1
  371. package/dist/components/{p-DrQh1Cb8.js → p-BTa6ss5i.js} +1 -1
  372. package/dist/components/p-BtpRnpaF.js +1 -0
  373. package/dist/components/{p-lus32JrB.js → p-Bul6EdDX.js} +1 -1
  374. package/dist/components/{p-COb8X_fE.js → p-Bzg5FPSA.js} +1 -1
  375. package/dist/components/{p-Cam92sWP.js → p-CQ-8domm.js} +1 -1
  376. package/dist/components/p-CVeEoHr7.js +1 -0
  377. package/dist/components/p-CYi6V_Ss.js +1 -0
  378. package/dist/components/{p-DvL2TcDG.js → p-Cd3inFSL.js} +1 -1
  379. package/dist/components/{p-OKwHt2i9.js → p-CuQjKAf5.js} +1 -1
  380. package/dist/components/{p-Ba5lW0pA.js → p-DKvTqEaf.js} +1 -1
  381. package/dist/components/p-DfpOEXHC.js +1 -0
  382. package/dist/components/p-DwwxS5bY.js +1 -0
  383. package/dist/components/p-T0UfY6rA.js +1 -0
  384. package/dist/components/p-WeuPA9Rw.js +1 -0
  385. package/dist/components/{p-_k-j03K-.js → p-oV_1MoAN.js} +1 -1
  386. package/dist/esm/co-accordion.entry.js +1 -1
  387. package/dist/esm/co-app-shell.entry.js +1 -1
  388. package/dist/esm/co-autocomplete.entry.js +3 -3
  389. package/dist/esm/co-avatar-group.entry.js +3 -3
  390. package/dist/esm/{co-tooltip.entry.js → co-avatar_2.entry.js} +95 -4
  391. package/dist/esm/co-badge.entry.js +2 -2
  392. package/dist/esm/co-bottom-sheet.entry.js +4 -4
  393. package/dist/esm/co-breadcrumb-item.entry.js +3 -3
  394. package/dist/esm/co-breadcrumb.entry.js +2 -2
  395. package/dist/esm/co-button-group.entry.js +3 -3
  396. package/dist/esm/co-button.entry.js +4 -4
  397. package/dist/esm/co-calendar-month.entry.js +2 -2
  398. package/dist/esm/co-calendar_3.entry.js +8 -8
  399. package/dist/esm/co-card.entry.js +3 -3
  400. package/dist/esm/co-carousel-item.entry.js +15 -0
  401. package/dist/esm/co-carousel.entry.js +366 -0
  402. package/dist/esm/co-checkbox-group.entry.js +1 -1
  403. package/dist/esm/co-checkbox.entry.js +4 -4
  404. package/dist/esm/co-chip_2.entry.js +5 -5
  405. package/dist/esm/co-color-picker.entry.js +5 -5
  406. package/dist/esm/co-column-picker.entry.js +3 -3
  407. package/dist/esm/co-combobox.entry.js +3 -3
  408. package/dist/esm/co-command-search.entry.js +1 -1
  409. package/dist/esm/co-data-table-pagination.entry.js +5 -5
  410. package/dist/esm/co-data-table.entry.js +2 -2
  411. package/dist/esm/co-date-picker.entry.js +11 -4
  412. package/dist/esm/co-date-range-picker.entry.js +9 -3
  413. package/dist/esm/co-date-range.entry.js +2 -2
  414. package/dist/esm/co-drive-card.entry.js +2 -2
  415. package/dist/esm/co-drop-zone.entry.js +2 -2
  416. package/dist/esm/co-empty-state.entry.js +3 -3
  417. package/dist/esm/co-event-calendar.entry.js +3 -3
  418. package/dist/esm/co-fab.entry.js +21 -6
  419. package/dist/esm/co-file-field.entry.js +8 -8
  420. package/dist/esm/co-file-type-tile.entry.js +3 -3
  421. package/dist/esm/co-helper-text.entry.js +3 -3
  422. package/dist/esm/co-icon-button.entry.js +2 -2
  423. package/dist/esm/co-icon.entry.js +3 -3
  424. package/dist/esm/co-input.entry.js +25 -3
  425. package/dist/esm/co-json-field.entry.js +6 -6
  426. package/dist/esm/co-lightbox.entry.js +33 -6
  427. package/dist/esm/co-list-footer.entry.js +2 -2
  428. package/dist/esm/co-list-item.entry.js +5 -5
  429. package/dist/esm/co-loader.entry.js +1 -1
  430. package/dist/esm/co-media-thumb.entry.js +3 -3
  431. package/dist/esm/co-menu-divider.entry.js +2 -2
  432. package/dist/esm/co-menu-item.entry.js +1 -1
  433. package/dist/esm/co-menu.entry.js +2 -2
  434. package/dist/esm/co-modal.entry.js +3 -3
  435. package/dist/esm/co-navbar.entry.js +3 -3
  436. package/dist/esm/co-number-field.entry.js +5 -5
  437. package/dist/esm/co-overlay.entry.js +2 -2
  438. package/dist/esm/co-page-header.entry.js +2 -2
  439. package/dist/esm/co-phone-field.entry.js +4 -4
  440. package/dist/esm/co-popover.entry.js +1 -1
  441. package/dist/esm/co-progress-bar.entry.js +3 -3
  442. package/dist/esm/co-progress-circle.entry.js +3 -3
  443. package/dist/esm/co-radio-group.entry.js +1 -1
  444. package/dist/esm/co-radio.entry.js +4 -4
  445. package/dist/esm/co-rating.entry.js +4 -4
  446. package/dist/esm/co-ref-field.entry.js +11 -5
  447. package/dist/esm/co-rich-text-editor.entry.js +22 -7
  448. package/dist/esm/co-rich-text-toolbar.entry.js +36 -4
  449. package/dist/esm/co-rich-text-viewer.entry.js +36 -6
  450. package/dist/esm/co-row.entry.js +3 -3
  451. package/dist/esm/co-segmented-bar.entry.js +1 -1
  452. package/dist/esm/co-select.entry.js +13 -7
  453. package/dist/esm/co-separator.entry.js +2 -2
  454. package/dist/esm/co-sidebar-nav.entry.js +1 -1
  455. package/dist/esm/co-sidebar.entry.js +3 -3
  456. package/dist/esm/co-skeleton.entry.js +2 -2
  457. package/dist/esm/co-slider.entry.js +3 -3
  458. package/dist/esm/co-switch.entry.js +5 -5
  459. package/dist/esm/co-tab-group.entry.js +4 -4
  460. package/dist/esm/co-tab.entry.js +3 -3
  461. package/dist/esm/co-tags-field.entry.js +9 -9
  462. package/dist/esm/co-textarea.entry.js +13 -7
  463. package/dist/esm/co-toast.entry.js +1 -1
  464. package/dist/esm/co-toggle-button-group.entry.js +3 -3
  465. package/dist/esm/co-toggle-button.entry.js +3 -3
  466. package/dist/esm/co-transfer-list.entry.js +1 -1
  467. package/dist/esm/co-video.entry.js +3 -3
  468. package/dist/esm/cobalt.js +3 -3
  469. package/dist/esm/{fieldChip-ChXW__C5.js → fieldChip-Bb8YIN0J.js} +1 -1
  470. package/dist/esm/{index-tT-aZV0-.js → index-BCEz3S-z.js} +13 -9
  471. package/dist/esm/{index-Cyrxk8Qq.js → index-RuXxdKzC.js} +171 -11
  472. package/dist/esm/loader.js +3 -3
  473. package/dist/esm/{requiredMark-C7-_2UhB.js → requiredMark-D7kAMXHM.js} +1 -1
  474. package/dist/esm/{richTextI18n-B-ckjCUA.js → richTextI18n-BYKAgwq3.js} +3 -0
  475. package/dist/esm/{toolbar-config-ChibIpZv.js → toolbar-config-WeuPA9Rw.js} +2 -0
  476. package/dist/types/components/co-avatar/co-avatar.d.ts +5 -0
  477. package/dist/types/components/co-carousel/co-carousel.d.ts +85 -0
  478. package/dist/types/components/co-carousel-item/co-carousel-item.d.ts +10 -0
  479. package/dist/types/components/co-date-picker/co-date-picker.d.ts +7 -0
  480. package/dist/types/components/co-date-range-picker/co-date-range-picker.d.ts +5 -0
  481. package/dist/types/components/co-fab/co-fab.d.ts +6 -0
  482. package/dist/types/components/co-input/co-input.d.ts +14 -0
  483. package/dist/types/components/co-lightbox/co-lightbox.d.ts +7 -0
  484. package/dist/types/components/co-ref-field/co-ref-field.d.ts +5 -0
  485. package/dist/types/components/co-rich-text-editor/co-rich-text-editor.d.ts +17 -0
  486. package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +12 -1
  487. package/dist/types/components/co-rich-text-viewer/co-rich-text-viewer.d.ts +10 -0
  488. package/dist/types/components/co-select/co-select.d.ts +5 -0
  489. package/dist/types/components/co-textarea/co-textarea.d.ts +5 -0
  490. package/dist/types/components.d.ts +378 -3
  491. package/dist/types/utils/carouselI18n.d.ts +10 -0
  492. package/dist/types/utils/richTextI18n.d.ts +1 -0
  493. package/package.json +2 -2
  494. package/dist/cjs/co-avatar.cjs.entry.js +0 -92
  495. package/dist/cobalt/p-0c0621a7.entry.js +0 -1
  496. package/dist/cobalt/p-13fc9c8a.entry.js +0 -1
  497. package/dist/cobalt/p-3f68fd2e.entry.js +0 -1
  498. package/dist/cobalt/p-4a075257.entry.js +0 -1
  499. package/dist/cobalt/p-5647ca9d.entry.js +0 -1
  500. package/dist/cobalt/p-5b31d45b.entry.js +0 -1
  501. package/dist/cobalt/p-6911a034.entry.js +0 -1
  502. package/dist/cobalt/p-70f70e02.entry.js +0 -1
  503. package/dist/cobalt/p-73b30ebb.entry.js +0 -1
  504. package/dist/cobalt/p-7780ddb5.entry.js +0 -1
  505. package/dist/cobalt/p-7FZXeBK4.js +0 -1
  506. package/dist/cobalt/p-7a3fb93b.entry.js +0 -1
  507. package/dist/cobalt/p-82ce1178.entry.js +0 -1
  508. package/dist/cobalt/p-86d4e016.entry.js +0 -1
  509. package/dist/cobalt/p-8a9ed2da.entry.js +0 -1
  510. package/dist/cobalt/p-B-ckjCUA.js +0 -1
  511. package/dist/cobalt/p-BAA4ln31.js +0 -1
  512. package/dist/cobalt/p-ChibIpZv.js +0 -1
  513. package/dist/cobalt/p-aa20ffca.entry.js +0 -1
  514. package/dist/cobalt/p-ac5df270.entry.js +0 -1
  515. package/dist/cobalt/p-c2e2eee9.entry.js +0 -1
  516. package/dist/cobalt/p-cc8e2f16.entry.js +0 -1
  517. package/dist/cobalt/p-e1957078.entry.js +0 -1
  518. package/dist/cobalt/p-e2762263.entry.js +0 -1
  519. package/dist/cobalt/p-e4a539da.entry.js +0 -1
  520. package/dist/cobalt/p-e7085f08.entry.js +0 -1
  521. package/dist/cobalt/p-e9aaeaf7.entry.js +0 -1
  522. package/dist/cobalt/p-f36e461f.entry.js +0 -1
  523. package/dist/cobalt/p-f6b0c4a0.entry.js +0 -1
  524. package/dist/cobalt/p-tT-aZV0-.js +0 -2
  525. package/dist/components/p-BHqdcGDh.js +0 -1
  526. package/dist/components/p-BJTMFYax.js +0 -1
  527. package/dist/components/p-ChibIpZv.js +0 -1
  528. package/dist/components/p-D3ts7oo9.js +0 -1
  529. package/dist/components/p-Dh-h40mY.js +0 -1
  530. package/dist/components/p-Xwo2HQmt.js +0 -1
  531. package/dist/components/p-eSq2ze8W.js +0 -1
  532. package/dist/components/p-ivjj-BP8.js +0 -1
  533. package/dist/esm/co-avatar.entry.js +0 -90
@@ -0,0 +1,633 @@
1
+ import { Host, h } from "@stencil/core";
2
+ import { getCarouselStrings } from "../../utils/carouselI18n";
3
+ /**
4
+ * A generic slide carousel. Coordinates light-DOM `co-carousel-item`
5
+ * children (same pattern as co-tab-group): the parent stamps aria and
6
+ * inertness on each item and translates a flex track to the active index.
7
+ *
8
+ * No v-model in the Vue wrappers — consume with `:value` + `@coSlideChange`.
9
+ *
10
+ * @slot - co-carousel-item elements
11
+ */
12
+ export class CoCarousel {
13
+ constructor() {
14
+ /** Active slide index */
15
+ this.value = 0;
16
+ /** Auto-advance slides */
17
+ this.autoplay = false;
18
+ /** Autoplay interval in milliseconds (floored at 1000) */
19
+ this.interval = 6000;
20
+ /** Wrap around at the ends */
21
+ this.loop = true;
22
+ /** Show prev/next arrows */
23
+ this.arrows = true;
24
+ /** Show dot indicators */
25
+ this.dots = true;
26
+ /** Pause autoplay while hovered */
27
+ this.pauseOnHover = true;
28
+ /** Enable pointer swipe navigation */
29
+ this.swipe = true;
30
+ /** Container aspect ratio */
31
+ this.aspectRatio = 'auto';
32
+ /** Language for aria labels (es/en/pt, accepts full locales) */
33
+ this.locale = 'es';
34
+ this.itemCount = 0;
35
+ this.dragDx = 0;
36
+ this.dragging = false;
37
+ /** True while the autoplay interval is actually running (drives aria-live). */
38
+ this.rotating = false;
39
+ this.hovering = false;
40
+ this.focusWithin = false;
41
+ this.reducedMotion = false;
42
+ this.pointerStartX = 0;
43
+ this.pointerStartY = 0;
44
+ this.pointerId = -1;
45
+ this.suppressClick = false;
46
+ this.handleSlotChange = () => {
47
+ // Vue renders slides async: re-count on every slot mutation.
48
+ this.refreshItems();
49
+ };
50
+ this.handleVisibilityChange = () => {
51
+ if (document.hidden) {
52
+ this.stopAutoplay();
53
+ }
54
+ else {
55
+ this.restartAutoplay();
56
+ }
57
+ };
58
+ this.handleMotionChange = (e) => {
59
+ this.reducedMotion = e.matches;
60
+ this.restartAutoplay();
61
+ };
62
+ this.handleMouseEnter = () => {
63
+ this.hovering = true;
64
+ if (this.pauseOnHover)
65
+ this.stopAutoplay();
66
+ };
67
+ this.handleMouseLeave = () => {
68
+ this.hovering = false;
69
+ this.restartAutoplay();
70
+ };
71
+ // Keyboard users get the same pause treatment as hover: rotation stops
72
+ // while focus is anywhere inside the carousel (focusin/focusout bubble,
73
+ // including from slotted light-DOM content).
74
+ this.handleFocusIn = () => {
75
+ this.focusWithin = true;
76
+ this.stopAutoplay();
77
+ };
78
+ this.handleFocusOut = (e) => {
79
+ if (e.relatedTarget && this.el.contains(e.relatedTarget))
80
+ return;
81
+ this.focusWithin = false;
82
+ this.restartAutoplay();
83
+ };
84
+ // ── Swipe (umbral de drag para no romper clicks de CTA) ──
85
+ this.handlePointerDown = (e) => {
86
+ // While a captured drag is in flight, a second touch must not hijack the
87
+ // gesture tracking (it would jump the track and swallow the active drag).
88
+ if (this.dragging)
89
+ return;
90
+ if (!this.swipe || this.itemCount <= 1 || (e.pointerType === 'mouse' && e.button !== 0))
91
+ return;
92
+ // New gesture starts clean: a stale flag from a swipe whose trailing click
93
+ // never fired must not poison this gesture's tap.
94
+ this.suppressClick = false;
95
+ this.pointerId = e.pointerId;
96
+ this.pointerStartX = e.clientX;
97
+ this.pointerStartY = e.clientY;
98
+ this.dragDx = 0;
99
+ };
100
+ this.handlePointerMove = (e) => {
101
+ var _a;
102
+ if (e.pointerId !== this.pointerId)
103
+ return;
104
+ const dx = e.clientX - this.pointerStartX;
105
+ const dy = e.clientY - this.pointerStartY;
106
+ if (!this.dragging) {
107
+ // Slop: ignore until clearly horizontal, so taps and vertical scroll win.
108
+ if (Math.abs(dx) < CoCarousel.DRAG_SLOP || Math.abs(dx) < Math.abs(dy))
109
+ return;
110
+ this.dragging = true;
111
+ (_a = this.viewportEl) === null || _a === void 0 ? void 0 : _a.setPointerCapture(e.pointerId);
112
+ }
113
+ this.dragDx = dx;
114
+ };
115
+ this.handlePointerUp = (e) => {
116
+ var _a;
117
+ if (e.pointerId !== this.pointerId)
118
+ return;
119
+ this.pointerId = -1;
120
+ if (!this.dragging)
121
+ return;
122
+ const dx = this.dragDx;
123
+ this.dragging = false;
124
+ this.dragDx = 0;
125
+ this.suppressClick = true;
126
+ (_a = this.viewportEl) === null || _a === void 0 ? void 0 : _a.releasePointerCapture(e.pointerId);
127
+ if (dx <= -CoCarousel.SWIPE_THRESHOLD) {
128
+ this.advance(1);
129
+ }
130
+ else if (dx >= CoCarousel.SWIPE_THRESHOLD) {
131
+ this.advance(-1);
132
+ }
133
+ this.restartAutoplay();
134
+ };
135
+ this.handlePointerCancel = (e) => {
136
+ if (e.pointerId !== this.pointerId)
137
+ return;
138
+ this.pointerId = -1;
139
+ this.dragging = false;
140
+ this.dragDx = 0;
141
+ this.suppressClick = false;
142
+ };
143
+ this.handleClickCapture = (e) => {
144
+ // Swallow the click that follows a drag so CTAs inside slides
145
+ // don't fire after a swipe.
146
+ if (this.suppressClick) {
147
+ this.suppressClick = false;
148
+ e.preventDefault();
149
+ e.stopPropagation();
150
+ }
151
+ };
152
+ // ── Keyboard ────────────────────────────────────
153
+ this.handleKeyDown = (e) => {
154
+ if (e.key === 'ArrowRight') {
155
+ e.preventDefault();
156
+ this.advance(1);
157
+ }
158
+ else if (e.key === 'ArrowLeft') {
159
+ e.preventDefault();
160
+ this.advance(-1);
161
+ }
162
+ };
163
+ }
164
+ // ── Lifecycle ───────────────────────────────────
165
+ componentWillLoad() {
166
+ var _a, _b;
167
+ if (typeof window !== 'undefined' && window.matchMedia) {
168
+ this.motionQuery = window.matchMedia('(prefers-reduced-motion: reduce)');
169
+ this.reducedMotion = this.motionQuery.matches;
170
+ (_b = (_a = this.motionQuery).addEventListener) === null || _b === void 0 ? void 0 : _b.call(_a, 'change', this.handleMotionChange);
171
+ }
172
+ }
173
+ componentDidLoad() {
174
+ this.refreshItems();
175
+ document.addEventListener('visibilitychange', this.handleVisibilityChange);
176
+ this.restartAutoplay();
177
+ }
178
+ disconnectedCallback() {
179
+ var _a, _b;
180
+ this.stopAutoplay();
181
+ document.removeEventListener('visibilitychange', this.handleVisibilityChange);
182
+ (_b = (_a = this.motionQuery) === null || _a === void 0 ? void 0 : _a.removeEventListener) === null || _b === void 0 ? void 0 : _b.call(_a, 'change', this.handleMotionChange);
183
+ }
184
+ // ── Watchers ────────────────────────────────────
185
+ watchValue() {
186
+ const clamped = this.clampIndex(this.value);
187
+ if (clamped !== this.value) {
188
+ this.value = clamped;
189
+ return;
190
+ }
191
+ this.syncItems();
192
+ }
193
+ watchLocale() {
194
+ this.syncItems();
195
+ }
196
+ watchAutoplay() {
197
+ this.restartAutoplay();
198
+ }
199
+ // ── Public methods ──────────────────────────────
200
+ async next() {
201
+ this.advance(1);
202
+ }
203
+ async prev() {
204
+ this.advance(-1);
205
+ }
206
+ async goTo(index) {
207
+ this.setActive(this.clampIndex(index));
208
+ }
209
+ // ── Items (light DOM, patrón co-tab-group) ─────
210
+ getItems() {
211
+ // :scope > : solo hijos directos — un carrusel anidado dentro de un slide
212
+ // no debe aportar sus items al conteo/aria del padre.
213
+ return Array.from(this.el.querySelectorAll(':scope > co-carousel-item'));
214
+ }
215
+ refreshItems() {
216
+ const items = this.getItems();
217
+ this.itemCount = items.length;
218
+ if (this.value > 0 && this.value >= this.itemCount) {
219
+ this.value = Math.max(0, this.itemCount - 1);
220
+ }
221
+ this.syncItems();
222
+ this.restartAutoplay();
223
+ }
224
+ syncItems() {
225
+ const items = this.getItems();
226
+ const n = items.length;
227
+ const s = getCarouselStrings(this.locale);
228
+ items.forEach((item, i) => {
229
+ const active = i === this.value;
230
+ item.setAttribute('aria-label', s.slideLabel.replace('{i}', String(i + 1)).replace('{n}', String(n)));
231
+ item.setAttribute('aria-hidden', active ? 'false' : 'true');
232
+ item.toggleAttribute('inert', !active);
233
+ });
234
+ }
235
+ // ── Navigation ──────────────────────────────────
236
+ clampIndex(i) {
237
+ if (this.itemCount === 0)
238
+ return 0;
239
+ return Math.max(0, Math.min(this.itemCount - 1, i));
240
+ }
241
+ setActive(index) {
242
+ if (index === this.value || index < 0 || index >= this.itemCount)
243
+ return;
244
+ this.value = index;
245
+ this.coSlideChange.emit(index);
246
+ }
247
+ advance(dir) {
248
+ if (this.itemCount <= 1)
249
+ return;
250
+ let next = this.value + dir;
251
+ if (next >= this.itemCount) {
252
+ if (!this.loop)
253
+ return;
254
+ next = 0;
255
+ }
256
+ else if (next < 0) {
257
+ if (!this.loop)
258
+ return;
259
+ next = this.itemCount - 1;
260
+ }
261
+ this.setActive(next);
262
+ }
263
+ // ── Autoplay ────────────────────────────────────
264
+ restartAutoplay() {
265
+ this.stopAutoplay();
266
+ if (!this.autoplay || this.itemCount <= 1 || this.reducedMotion)
267
+ return;
268
+ if (this.pauseOnHover && this.hovering)
269
+ return;
270
+ if (this.focusWithin)
271
+ return;
272
+ if (typeof document !== 'undefined' && document.hidden)
273
+ return;
274
+ this.timer = setInterval(() => {
275
+ if (this.dragging)
276
+ return;
277
+ if (!this.loop && this.value >= this.itemCount - 1) {
278
+ this.stopAutoplay();
279
+ return;
280
+ }
281
+ this.advance(1);
282
+ }, Math.max(1000, this.interval));
283
+ this.rotating = true;
284
+ }
285
+ stopAutoplay() {
286
+ if (this.timer) {
287
+ clearInterval(this.timer);
288
+ this.timer = undefined;
289
+ }
290
+ this.rotating = false;
291
+ }
292
+ // ── Render ──────────────────────────────────────
293
+ render() {
294
+ const s = getCarouselStrings(this.locale);
295
+ const multi = this.itemCount > 1;
296
+ const canPrev = this.loop || this.value > 0;
297
+ const canNext = this.loop || this.value < this.itemCount - 1;
298
+ const aspectClass = `co-carousel--${this.aspectRatio.replace(':', '-')}`;
299
+ const trackStyle = {
300
+ transform: this.dragging
301
+ ? `translateX(calc(${-this.value * 100}% + ${this.dragDx}px))`
302
+ : `translateX(${-this.value * 100}%)`,
303
+ };
304
+ if (this.dragging)
305
+ trackStyle.transition = 'none';
306
+ return (h(Host, { key: '29c8bdeb6a2c402aa46e6a1b3a442abbb8f9967c' }, h("div", { key: '5a57b4b999cdac0def308039ba0a4edcfba9adf5', class: { 'co-carousel': true, [aspectClass]: true }, part: "container", role: "region", "aria-roledescription": "carousel", "aria-label": s.carouselLabel, tabindex: 0, onKeyDown: this.handleKeyDown, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocusin: this.handleFocusIn, onFocusout: this.handleFocusOut }, h("div", { key: 'a20cec4e9d8144868ac4f53f72d536272def9119', class: "co-carousel__viewport", part: "viewport", ref: el => (this.viewportEl = el), onPointerDown: this.handlePointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerCancel, onClickCapture: this.handleClickCapture }, h("div", { key: '98755bee7cd2d8da45a8ffb2abcd048f0de440ad', class: "co-carousel__track", part: "track", style: trackStyle, "aria-live": this.rotating ? 'off' : 'polite' }, h("slot", { key: 'a3e9a2bffb93be5ebb60ba61130ab362f3793ccb', onSlotchange: this.handleSlotChange }))), this.arrows && multi && (h("button", { key: '516649b789c44ba235991f6fe3c6aab2a6a2fcf7', class: { 'co-carousel__arrow': true, 'co-carousel__arrow--prev': true, 'co-carousel__arrow--disabled': !canPrev }, part: "arrow-prev", type: "button", "aria-label": s.prevSlide, disabled: !canPrev, onClick: () => this.advance(-1) }, h("co-icon", { key: 'ffcddd1e02ce1d699052290e8df6ab2463b27a20', name: "caret-left", size: 18, weight: "bold" }))), this.arrows && multi && (h("button", { key: 'a7d6989b1c18d3598dc6c7c9e6606b2cf31fc026', class: { 'co-carousel__arrow': true, 'co-carousel__arrow--next': true, 'co-carousel__arrow--disabled': !canNext }, part: "arrow-next", type: "button", "aria-label": s.nextSlide, disabled: !canNext, onClick: () => this.advance(1) }, h("co-icon", { key: '9e26adf68047395cd0cb265cfeaba3b4af6b950e', name: "caret-right", size: 18, weight: "bold" }))), this.dots && multi && (
307
+ // APG grouped-carousel picker pattern: plain always-tabbable
308
+ // buttons in a labelled group (tablist/tab would demand
309
+ // aria-controls + roving tabindex we don't implement).
310
+ h("div", { key: 'd64ee6b57da49e5025c6f5a6faa3f58ba6855f49', class: "co-carousel__dots", part: "dots", role: "group", "aria-label": s.pickSlide }, Array.from({ length: this.itemCount }, (_, i) => (h("button", { class: { 'co-carousel__dot': true, 'co-carousel__dot--active': i === this.value }, part: "dot", type: "button", "aria-current": i === this.value ? 'true' : undefined, "aria-label": s.goToSlide.replace('{i}', String(i + 1)), onClick: () => this.setActive(i) }))))))));
311
+ }
312
+ static get is() { return "co-carousel"; }
313
+ static get encapsulation() { return "shadow"; }
314
+ static get originalStyleUrls() {
315
+ return {
316
+ "$": ["co-carousel.css"]
317
+ };
318
+ }
319
+ static get styleUrls() {
320
+ return {
321
+ "$": ["co-carousel.css"]
322
+ };
323
+ }
324
+ static get properties() {
325
+ return {
326
+ "value": {
327
+ "type": "number",
328
+ "mutable": true,
329
+ "complexType": {
330
+ "original": "number",
331
+ "resolved": "number",
332
+ "references": {}
333
+ },
334
+ "required": false,
335
+ "optional": false,
336
+ "docs": {
337
+ "tags": [],
338
+ "text": "Active slide index"
339
+ },
340
+ "getter": false,
341
+ "setter": false,
342
+ "reflect": true,
343
+ "attribute": "value",
344
+ "defaultValue": "0"
345
+ },
346
+ "autoplay": {
347
+ "type": "boolean",
348
+ "mutable": false,
349
+ "complexType": {
350
+ "original": "boolean",
351
+ "resolved": "boolean",
352
+ "references": {}
353
+ },
354
+ "required": false,
355
+ "optional": false,
356
+ "docs": {
357
+ "tags": [],
358
+ "text": "Auto-advance slides"
359
+ },
360
+ "getter": false,
361
+ "setter": false,
362
+ "reflect": false,
363
+ "attribute": "autoplay",
364
+ "defaultValue": "false"
365
+ },
366
+ "interval": {
367
+ "type": "number",
368
+ "mutable": false,
369
+ "complexType": {
370
+ "original": "number",
371
+ "resolved": "number",
372
+ "references": {}
373
+ },
374
+ "required": false,
375
+ "optional": false,
376
+ "docs": {
377
+ "tags": [],
378
+ "text": "Autoplay interval in milliseconds (floored at 1000)"
379
+ },
380
+ "getter": false,
381
+ "setter": false,
382
+ "reflect": false,
383
+ "attribute": "interval",
384
+ "defaultValue": "6000"
385
+ },
386
+ "loop": {
387
+ "type": "boolean",
388
+ "mutable": false,
389
+ "complexType": {
390
+ "original": "boolean",
391
+ "resolved": "boolean",
392
+ "references": {}
393
+ },
394
+ "required": false,
395
+ "optional": false,
396
+ "docs": {
397
+ "tags": [],
398
+ "text": "Wrap around at the ends"
399
+ },
400
+ "getter": false,
401
+ "setter": false,
402
+ "reflect": false,
403
+ "attribute": "loop",
404
+ "defaultValue": "true"
405
+ },
406
+ "arrows": {
407
+ "type": "boolean",
408
+ "mutable": false,
409
+ "complexType": {
410
+ "original": "boolean",
411
+ "resolved": "boolean",
412
+ "references": {}
413
+ },
414
+ "required": false,
415
+ "optional": false,
416
+ "docs": {
417
+ "tags": [],
418
+ "text": "Show prev/next arrows"
419
+ },
420
+ "getter": false,
421
+ "setter": false,
422
+ "reflect": false,
423
+ "attribute": "arrows",
424
+ "defaultValue": "true"
425
+ },
426
+ "dots": {
427
+ "type": "boolean",
428
+ "mutable": false,
429
+ "complexType": {
430
+ "original": "boolean",
431
+ "resolved": "boolean",
432
+ "references": {}
433
+ },
434
+ "required": false,
435
+ "optional": false,
436
+ "docs": {
437
+ "tags": [],
438
+ "text": "Show dot indicators"
439
+ },
440
+ "getter": false,
441
+ "setter": false,
442
+ "reflect": false,
443
+ "attribute": "dots",
444
+ "defaultValue": "true"
445
+ },
446
+ "pauseOnHover": {
447
+ "type": "boolean",
448
+ "mutable": false,
449
+ "complexType": {
450
+ "original": "boolean",
451
+ "resolved": "boolean",
452
+ "references": {}
453
+ },
454
+ "required": false,
455
+ "optional": false,
456
+ "docs": {
457
+ "tags": [],
458
+ "text": "Pause autoplay while hovered"
459
+ },
460
+ "getter": false,
461
+ "setter": false,
462
+ "reflect": false,
463
+ "attribute": "pause-on-hover",
464
+ "defaultValue": "true"
465
+ },
466
+ "swipe": {
467
+ "type": "boolean",
468
+ "mutable": false,
469
+ "complexType": {
470
+ "original": "boolean",
471
+ "resolved": "boolean",
472
+ "references": {}
473
+ },
474
+ "required": false,
475
+ "optional": false,
476
+ "docs": {
477
+ "tags": [],
478
+ "text": "Enable pointer swipe navigation"
479
+ },
480
+ "getter": false,
481
+ "setter": false,
482
+ "reflect": false,
483
+ "attribute": "swipe",
484
+ "defaultValue": "true"
485
+ },
486
+ "aspectRatio": {
487
+ "type": "string",
488
+ "mutable": false,
489
+ "complexType": {
490
+ "original": "'16:9' | '4:3' | '1:1' | '21:9' | 'auto'",
491
+ "resolved": "\"16:9\" | \"1:1\" | \"21:9\" | \"4:3\" | \"auto\"",
492
+ "references": {}
493
+ },
494
+ "required": false,
495
+ "optional": false,
496
+ "docs": {
497
+ "tags": [],
498
+ "text": "Container aspect ratio"
499
+ },
500
+ "getter": false,
501
+ "setter": false,
502
+ "reflect": false,
503
+ "attribute": "aspect-ratio",
504
+ "defaultValue": "'auto'"
505
+ },
506
+ "locale": {
507
+ "type": "string",
508
+ "mutable": false,
509
+ "complexType": {
510
+ "original": "string",
511
+ "resolved": "string",
512
+ "references": {}
513
+ },
514
+ "required": false,
515
+ "optional": false,
516
+ "docs": {
517
+ "tags": [],
518
+ "text": "Language for aria labels (es/en/pt, accepts full locales)"
519
+ },
520
+ "getter": false,
521
+ "setter": false,
522
+ "reflect": false,
523
+ "attribute": "locale",
524
+ "defaultValue": "'es'"
525
+ }
526
+ };
527
+ }
528
+ static get states() {
529
+ return {
530
+ "itemCount": {},
531
+ "dragDx": {},
532
+ "dragging": {},
533
+ "rotating": {}
534
+ };
535
+ }
536
+ static get events() {
537
+ return [{
538
+ "method": "coSlideChange",
539
+ "name": "coSlideChange",
540
+ "bubbles": true,
541
+ "cancelable": true,
542
+ "composed": true,
543
+ "docs": {
544
+ "tags": [],
545
+ "text": "Emitted when the active slide changes (user, autoplay or method)"
546
+ },
547
+ "complexType": {
548
+ "original": "number",
549
+ "resolved": "number",
550
+ "references": {}
551
+ }
552
+ }];
553
+ }
554
+ static get methods() {
555
+ return {
556
+ "next": {
557
+ "complexType": {
558
+ "signature": "() => Promise<void>",
559
+ "parameters": [],
560
+ "references": {
561
+ "Promise": {
562
+ "location": "global",
563
+ "id": "global::Promise"
564
+ }
565
+ },
566
+ "return": "Promise<void>"
567
+ },
568
+ "docs": {
569
+ "text": "",
570
+ "tags": []
571
+ }
572
+ },
573
+ "prev": {
574
+ "complexType": {
575
+ "signature": "() => Promise<void>",
576
+ "parameters": [],
577
+ "references": {
578
+ "Promise": {
579
+ "location": "global",
580
+ "id": "global::Promise"
581
+ }
582
+ },
583
+ "return": "Promise<void>"
584
+ },
585
+ "docs": {
586
+ "text": "",
587
+ "tags": []
588
+ }
589
+ },
590
+ "goTo": {
591
+ "complexType": {
592
+ "signature": "(index: number) => Promise<void>",
593
+ "parameters": [{
594
+ "name": "index",
595
+ "type": "number",
596
+ "docs": ""
597
+ }],
598
+ "references": {
599
+ "Promise": {
600
+ "location": "global",
601
+ "id": "global::Promise"
602
+ }
603
+ },
604
+ "return": "Promise<void>"
605
+ },
606
+ "docs": {
607
+ "text": "",
608
+ "tags": []
609
+ }
610
+ }
611
+ };
612
+ }
613
+ static get elementRef() { return "el"; }
614
+ static get watchers() {
615
+ return [{
616
+ "propName": "value",
617
+ "methodName": "watchValue"
618
+ }, {
619
+ "propName": "locale",
620
+ "methodName": "watchLocale"
621
+ }, {
622
+ "propName": "autoplay",
623
+ "methodName": "watchAutoplay"
624
+ }, {
625
+ "propName": "interval",
626
+ "methodName": "watchAutoplay"
627
+ }];
628
+ }
629
+ }
630
+ /** Minimum horizontal travel (px) before a pointer gesture counts as a drag. */
631
+ CoCarousel.DRAG_SLOP = 8;
632
+ /** Horizontal travel (px) needed to change slide on release. */
633
+ CoCarousel.SWIPE_THRESHOLD = 40;
@@ -0,0 +1,6 @@
1
+ :host {
2
+ display: block;
3
+ flex: 0 0 100%;
4
+ min-width: 100%;
5
+ box-sizing: border-box;
6
+ }
@@ -0,0 +1,25 @@
1
+ import { Host, h } from "@stencil/core";
2
+ /**
3
+ * A single slide inside a co-carousel. The parent carousel stamps
4
+ * aria-label / aria-hidden / inert on each item (same light-DOM
5
+ * coordination pattern as co-tab-group ↔ co-tab).
6
+ *
7
+ * @slot - Slide content
8
+ */
9
+ export class CoCarouselItem {
10
+ render() {
11
+ return (h(Host, { key: '70a79bb97b8a0dd47b48c1df02e58a63d9a0f712', role: "group", "aria-roledescription": "slide" }, h("slot", { key: '9b639772cf96b15aa38ff4b2821ef9ca2a7faa53' })));
12
+ }
13
+ static get is() { return "co-carousel-item"; }
14
+ static get encapsulation() { return "shadow"; }
15
+ static get originalStyleUrls() {
16
+ return {
17
+ "$": ["co-carousel-item.css"]
18
+ };
19
+ }
20
+ static get styleUrls() {
21
+ return {
22
+ "$": ["co-carousel-item.css"]
23
+ };
24
+ }
25
+ }