@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
@@ -23,10 +23,10 @@
23
23
  }
24
24
 
25
25
  /* ── Sizes ──────────────────────────────────────────────────── */
26
- .co-fab--xl { width: 64px; height: 64px; font-size: var(--co-font-size-16); } /* Figma FAB */
27
- .co-fab--l { width: 56px; height: 56px; font-size: var(--co-font-size-16); }
28
- .co-fab--m { width: 48px; height: 48px; font-size: var(--co-font-size-14); }
29
- .co-fab--s { width: 40px; height: 40px; font-size: var(--co-font-size-14); }
26
+ .co-fab--xl { --co-fab-size: 64px; width: 64px; height: 64px; font-size: var(--co-font-size-16); } /* Figma FAB */
27
+ .co-fab--l { --co-fab-size: 56px; width: 56px; height: 56px; font-size: var(--co-font-size-16); }
28
+ .co-fab--m { --co-fab-size: 48px; width: 48px; height: 48px; font-size: var(--co-font-size-14); }
29
+ .co-fab--s { --co-fab-size: 40px; width: 40px; height: 40px; font-size: var(--co-font-size-14); }
30
30
 
31
31
  .co-fab--extended {
32
32
  width: auto;
@@ -38,15 +38,75 @@
38
38
  .co-fab--extended.co-fab--m { padding: 0 var(--co-spacing-lg); }
39
39
  .co-fab--extended.co-fab--s { padding: 0 var(--co-spacing-md); }
40
40
 
41
+ /* ── Hover-expand ("liquid" morph) ──────────────────────────── */
42
+ /* Círculo en reposo → pill con rebote en hover/focus-visible. El ancho
43
+ expandido debe ser EXPLÍCITO (width:auto no anima; max-width/0fr clampean
44
+ y matan el overshoot): el componente mide el label y setea --co-fab-label-w
45
+ en pointerenter/focusin. El padding horizontal = (size − icon)/2 deja el
46
+ icono centrado en reposo con justify-content:flex-start, así no salta al
47
+ expandir. border-radius-full ya hace pill a cualquier ancho. */
48
+ .co-fab--hover-expand {
49
+ justify-content: flex-start;
50
+ overflow: hidden;
51
+ /* Colapso rápido y SIN rebote — el spring vive solo en el estado expandido. */
52
+ transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1), background 0.15s ease,
53
+ box-shadow 0.15s ease, transform 0.1s ease;
54
+ }
55
+
56
+ .co-fab--hover-expand.co-fab--xl { padding: 0 20px; }
57
+ .co-fab--hover-expand.co-fab--l { padding: 0 16px; }
58
+ .co-fab--hover-expand.co-fab--m { padding: 0 14px; }
59
+ .co-fab--hover-expand.co-fab--s { padding: 0 11px; }
60
+
61
+ .co-fab--hover-expand:hover:not(:disabled),
62
+ .co-fab--hover-expand:focus-visible {
63
+ width: calc(var(--co-fab-size) + var(--co-spacing-sm2) + var(--co-fab-label-w, 0px));
64
+ transition: width 0.38s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.15s ease,
65
+ box-shadow 0.15s ease, transform 0.1s ease;
66
+ }
67
+
68
+ .co-fab--hover-expand co-icon {
69
+ flex-shrink: 0;
70
+ transition: transform 0.38s cubic-bezier(0.34, 1.56, 0.64, 1);
71
+ }
72
+
73
+ .co-fab--hover-expand:hover:not(:disabled) co-icon,
74
+ .co-fab--hover-expand:focus-visible co-icon {
75
+ /* 90° acompaña el estiramiento y el + sigue siendo un + (45° = ✕ de cerrar). */
76
+ transform: rotate(90deg);
77
+ }
78
+
79
+ /* El label vive siempre en el flow (flex-shrink:0 + nowrap del .co-fab) y el
80
+ overflow:hidden lo clipea en reposo — así offsetWidth mide el ancho real y
81
+ el texto se REVELA sin reflow por frame durante la animación. */
82
+ .co-fab--hover-expand .co-fab__label {
83
+ flex-shrink: 0;
84
+ opacity: 0;
85
+ transform: translateX(-6px);
86
+ transition: opacity 0.12s ease, transform 0.12s ease;
87
+ }
88
+
89
+ .co-fab--hover-expand:hover:not(:disabled) .co-fab__label,
90
+ .co-fab--hover-expand:focus-visible .co-fab__label {
91
+ opacity: 1;
92
+ transform: translateX(0);
93
+ transition: opacity 0.2s ease 0.1s, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) 0.1s;
94
+ }
95
+
96
+ @media (prefers-reduced-motion: reduce) {
97
+ .co-fab--hover-expand,
98
+ .co-fab--hover-expand co-icon,
99
+ .co-fab--hover-expand .co-fab__label {
100
+ transition: none;
101
+ }
102
+ }
103
+
41
104
  /* ── Variants ───────────────────────────────────────────────── */
42
105
  .co-fab--primary {
43
- /* Figma FAB: Negro 80% + Blur_1 — vidrio oscuro. El backdrop-filter vive en
44
- .co-fab (tiene border-radius propio) para que el esmerilado quede clipeado
45
- a las esquinas redondeadas. */
46
- background: var(--co-fab-bg, var(--co-color-opacity-negro-80, rgba(31, 28, 27, 0.8)));
106
+ /* Negro sólido (pedido design 2026-07-22 — antes Negro 80% + blur, se veía
107
+ gris sobre fondos claros). --co-fab-bg sigue disponible como override. */
108
+ background: var(--co-fab-bg, var(--co-color-base-negro, #1f1c1b));
47
109
  color: var(--co-semantic-on-primary);
48
- -webkit-backdrop-filter: blur(40px);
49
- backdrop-filter: blur(40px);
50
110
  }
51
111
 
52
112
  .co-fab--primary:hover:not(:disabled) {
@@ -7,22 +7,36 @@ export class CoFab {
7
7
  this.disabled = false;
8
8
  /** Fixed position on screen */
9
9
  this.position = 'none';
10
+ /** With `label`: icon-only circle at rest that stretches into the extended
11
+ * pill on hover/focus-visible (springy "liquid" morph). */
12
+ this.expandOnHover = false;
10
13
  this.handleClick = () => {
11
14
  if (!this.disabled)
12
15
  this.coClick.emit();
13
16
  };
17
+ /* width:auto no anima — el CSS necesita el ancho expandido explícito. Se mide
18
+ el label (nowrap + flex-shrink:0 → offsetWidth = ancho completo aunque esté
19
+ clipeado) en cada entrada de hover/foco: barato y siempre fresco aunque la
20
+ fuente web cargue después del primer render. */
21
+ this.handleExpandMeasure = () => {
22
+ if (!this.expandOnHover || !this.labelEl)
23
+ return;
24
+ this.el.style.setProperty('--co-fab-label-w', `${this.labelEl.offsetWidth}px`);
25
+ };
14
26
  }
15
27
  render() {
16
28
  const iconSize = this.size === 'xl' ? 24 : this.size === 'l' ? 24 : this.size === 's' ? 18 : 20;
17
- const isExtended = !!this.label;
18
- return (h("button", { key: '508484d86d0d65218b8e5039ce81b6a1860347db', class: {
29
+ const hasLabel = !!this.label;
30
+ const hoverExpand = hasLabel && this.expandOnHover;
31
+ return (h("button", { key: 'e321a7455329a1401504cf93f1761a37d7d45eff', class: {
19
32
  'co-fab': true,
20
33
  [`co-fab--${this.variant}`]: true,
21
34
  [`co-fab--${this.size}`]: true,
22
- 'co-fab--extended': isExtended,
35
+ 'co-fab--extended': hasLabel && !this.expandOnHover,
36
+ 'co-fab--hover-expand': hoverExpand,
23
37
  'co-fab--disabled': this.disabled,
24
38
  [`co-fab--${this.position}`]: this.position !== 'none',
25
- }, type: "button", disabled: this.disabled, onClick: this.handleClick, "aria-label": this.ariaLabelText || this.label || this.icon }, h("co-icon", { key: '47e47f74b93a1cdbe706d6e0a577f4396a68507c', name: this.icon, size: iconSize }), this.label && h("span", { key: 'a4fd981b11c467261eba9de0731b37e01aae0ed2', class: "co-fab__label" }, this.label)));
39
+ }, type: "button", disabled: this.disabled, onClick: this.handleClick, onPointerEnter: this.handleExpandMeasure, onFocusin: this.handleExpandMeasure, "aria-label": this.ariaLabelText || this.label || this.icon }, h("co-icon", { key: '66a36ba9144cf10b7ad8b4bef6a821ef92257892', name: this.icon, size: iconSize }), this.label && (h("span", { key: 'c01018d61ca455a0d1952082b94ec0e5efd807b8', class: "co-fab__label", ref: (el) => (this.labelEl = el) }, this.label))));
26
40
  }
27
41
  static get is() { return "co-fab"; }
28
42
  static get encapsulation() { return "shadow"; }
@@ -175,6 +189,26 @@ export class CoFab {
175
189
  "reflect": false,
176
190
  "attribute": "position",
177
191
  "defaultValue": "'none'"
192
+ },
193
+ "expandOnHover": {
194
+ "type": "boolean",
195
+ "mutable": false,
196
+ "complexType": {
197
+ "original": "boolean",
198
+ "resolved": "boolean",
199
+ "references": {}
200
+ },
201
+ "required": false,
202
+ "optional": false,
203
+ "docs": {
204
+ "tags": [],
205
+ "text": "With `label`: icon-only circle at rest that stretches into the extended\npill on hover/focus-visible (springy \"liquid\" morph)."
206
+ },
207
+ "getter": false,
208
+ "setter": false,
209
+ "reflect": false,
210
+ "attribute": "expand-on-hover",
211
+ "defaultValue": "false"
178
212
  }
179
213
  };
180
214
  }
@@ -196,4 +230,5 @@ export class CoFab {
196
230
  }
197
231
  }];
198
232
  }
233
+ static get elementRef() { return "el"; }
199
234
  }
@@ -61,7 +61,7 @@
61
61
  background: color-mix(in srgb, var(--co-semantic-surface-hover) 55%, transparent);
62
62
  -webkit-backdrop-filter: blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));
63
63
  backdrop-filter: blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));
64
- border: 1px dashed var(--co-semantic-border-default);
64
+ border: 1px dashed var(--co-semantic-border-field);
65
65
  border-radius: var(--co-border-radius-sm);
66
66
  cursor: pointer;
67
67
  text-align: center;
@@ -286,7 +286,7 @@
286
286
  inset: 0;
287
287
  width: 40%;
288
288
  border-radius: var(--co-border-radius-full);
289
- background: var(--co-semantic-border-focus);
289
+ background: var(--co-semantic-status-info);
290
290
  transition: width 0.2s ease;
291
291
  }
292
292
 
@@ -341,12 +341,12 @@ export class CoFileField {
341
341
  const previews = items.filter((it) => isImage(it) && !this.failedPreviews.has(this.keyFor(it)));
342
342
  const canReorder = this.reorderable && this.multiple && !this.disabled && !this.readonly && items.length > 1;
343
343
  const capacity = this.capacityHint(s);
344
- return (h("div", { key: '31d820478276fee18bf2df79dd277ef1cbcf2ac2', class: {
344
+ return (h("div", { key: '6f0c0d55291904a925ddf87b444279443b123414', class: {
345
345
  'co-file-field': true,
346
346
  'co-file-field--disabled': this.disabled,
347
347
  'co-file-field--invalid': this.isInvalid,
348
348
  [statusClass]: !!statusClass,
349
- }, part: "wrapper" }, this.label && (h("div", { key: 'b7df2e7f427fb6306191c07aebd41b2a2c7303c6', class: "co-file-field__labels" }, h("label", { key: 'd3dcd5886777a09fea5d4082f4a941a24056184e', class: "co-file-field__label", part: "label" }, this.label, h(RequiredMark, { key: '6cf4505b762c9335798de30362e1eac8bc6e123c', required: this.required })))), showDropzone && (h("div", { key: 'af761f6f87b10397bc3e5ebf3ee4c43c0c815449', class: {
349
+ }, part: "wrapper" }, this.label && (h("div", { key: 'e3d624d4b904358132fcbdcf68c283a6fb1bcabb', class: "co-file-field__labels" }, h("label", { key: 'd96a9d10db3c9eaae4bf5e4d1bc3986f3f111c3c', class: "co-file-field__label", part: "label" }, this.label, h(RequiredMark, { key: '6810c17061391ead3343daf9cd06d71d3b03706c', required: this.required })))), showDropzone && (h("div", { key: 'b910dfaa918f1c6d04d4d817a67100b74b6f156f', class: {
350
350
  'co-file-field__dropzone': true,
351
351
  'co-file-field__dropzone--drag': this.dragOver,
352
352
  }, part: "dropzone", role: "button", tabIndex: this.disabled ? -1 : 0, onClick: this.handleBrowse, onKeyDown: (e) => {
@@ -354,7 +354,7 @@ export class CoFileField {
354
354
  e.preventDefault();
355
355
  this.handleBrowse();
356
356
  }
357
- }, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave, onDrop: this.handleDrop }, h("button", { key: '72ab595ccd9a7f275cd214fcb17c15972057557a', class: "co-file-field__upload-btn", part: "upload-button", type: "button", tabIndex: -1 }, h("co-icon", { key: '686287ddfba61763e98e8753f078f8bc1ac98460', name: "file-arrow-up", size: 18 }), h("span", { key: '8faab79ab89c6a2fc83069ae7bcafb4b21feb416' }, this.uploadButtonText || s.uploadButton)), h("span", { key: '761ab4b4e58490fe8e0024e6881a8d73fef5e7fd', class: "co-file-field__dropzone-text" }, this.dropText || s.dropHint), capacity && h("span", { key: 'c6a88193c0aacefa6bd1534600ad56d3577b2228', class: "co-file-field__dropzone-hint" }, capacity), h("div", { key: 'ecd504e94b4ab9a1784868a357399e766b2dd68c', class: "co-file-field__actions", part: "actions" }, h("slot", { key: '4e6572288387694e7e43cfa7fd58b4fb1952be2c', name: "actions" })), h("input", { key: '708ef841bab08935f125e6aa4338f67502b8689f', ref: (el) => (this.inputEl = el), class: "co-file-field__input", type: "file", multiple: this.multiple, accept: this.inputAccept, disabled: this.disabled, onChange: this.handleInputChange, "aria-hidden": "true", tabIndex: -1 }))), items.length > 0 && (h("div", { key: 'f7423a91e47af3fbc4eb8257569df98da889bebf', class: "co-file-field__uploaded" }, this.multiple && (h("div", { key: 'da179d8d456ac934ee0d88679cb9866f3d9af3a9', class: "co-file-field__uploaded-title", part: "uploaded-title" }, `${this.uploadedTitle || s.uploadedTitle} (${items.length})`)), previews.length > 0 && (h("div", { key: '73ffb49c6090eb21c471f9cfe145df23b8fb8592', class: "co-file-field__previews", part: "previews" }, previews.map((item) => (h("button", { class: "co-file-field__preview", part: "preview", type: "button", key: `prev-${this.keyFor(item)}`, title: item.name, "aria-label": s.openPreview, onClick: () => this.handlePreviewOpen(item) }, h("img", { src: item.thumbnail || item.url, alt: item.name, loading: "lazy", onError: () => this.handlePreviewError(item) })))))), h("ul", { key: 'ecbc35245db8e66eca656423657a0223e33a156e', class: "co-file-field__list", part: "list" }, items.map((item) => {
357
+ }, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave, onDrop: this.handleDrop }, h("button", { key: 'a2a02be018cc925718943411aa28da509a2a2a96', class: "co-file-field__upload-btn", part: "upload-button", type: "button", tabIndex: -1 }, h("co-icon", { key: 'bb1879d1397ae93c5da975cbdbe6b7c1c907c490', name: "file-arrow-up", size: 18 }), h("span", { key: 'e4ad56d293a8bfcc082b7b6579dfefd9a02846bc' }, this.uploadButtonText || s.uploadButton)), h("span", { key: 'e9c32bdcd65a3138b08b38e52aa909c82b8d2047', class: "co-file-field__dropzone-text" }, this.dropText || s.dropHint), capacity && h("span", { key: '417fa71efaf202fc7a1483e02bca170d35d4bf9f', class: "co-file-field__dropzone-hint" }, capacity), h("div", { key: '3697aa6c3ccc065ea9bf999f931bd8efb46ea26f', class: "co-file-field__actions", part: "actions" }, h("slot", { key: 'b6cfb211a32883ca0a37a775a8442f1d7a60b1d2', name: "actions" })), h("input", { key: '2c8a8a4c7a5ec3b633d78f3d2194d5457a3c1be3', ref: (el) => (this.inputEl = el), class: "co-file-field__input", type: "file", multiple: this.multiple, accept: this.inputAccept, disabled: this.disabled, onChange: this.handleInputChange, "aria-hidden": "true", tabIndex: -1 }))), items.length > 0 && (h("div", { key: '793833955268b59bb86366b578558b0a25af3faf', class: "co-file-field__uploaded" }, this.multiple && (h("div", { key: 'd4141eed0257861c6640d0c91e4599278591619b', class: "co-file-field__uploaded-title", part: "uploaded-title" }, `${this.uploadedTitle || s.uploadedTitle} (${items.length})`)), previews.length > 0 && (h("div", { key: '22e632b0c0050bab853d481366ae970db13935cf', class: "co-file-field__previews", part: "previews" }, previews.map((item) => (h("button", { class: "co-file-field__preview", part: "preview", type: "button", key: `prev-${this.keyFor(item)}`, title: item.name, "aria-label": s.openPreview, onClick: () => this.handlePreviewOpen(item) }, h("img", { src: item.thumbnail || item.url, alt: item.name, loading: "lazy", onError: () => this.handlePreviewError(item) })))))), h("ul", { key: 'f4ae0f81158f1d69ca0dbde29a2358c13f7dce20', class: "co-file-field__list", part: "list" }, items.map((item) => {
358
358
  const key = this.keyFor(item);
359
359
  const draggable = canReorder && item.status === 'done';
360
360
  return (h("li", { class: {
@@ -375,10 +375,10 @@ export class CoFileField {
375
375
  'co-file-field__action': true,
376
376
  'co-file-field__action--copied': this.copiedKey === key,
377
377
  }, type: "button", tabIndex: -1, title: this.copiedKey === key ? s.copied : s.copyUrl, "aria-label": s.copyUrl, onClick: () => this.handleCopy(item) }, h("co-icon", { name: this.copiedKey === key ? 'check' : 'copy', size: 18 }))), !this.disabled && !this.readonly && (h("button", { class: "co-file-field__action", type: "button", tabIndex: -1, title: s.removeFile, "aria-label": s.removeFile, onClick: () => this.coRemove.emit(key) }, h("co-icon", { name: "trash", size: 18 })))));
378
- })))), helper && (h("div", { key: 'e171dcd572d9b82734433eaa20f44c85c2c24735', class: {
378
+ })))), helper && (h("div", { key: '3c08efc8106a55cb9b52cca4b85a460b03284fbb', class: {
379
379
  'co-file-field__helper': true,
380
380
  'co-file-field__helper--error': this.isInvalid,
381
- }, part: "helper" }, this.isInvalid && (h("co-icon", { key: '3ba44c6324cd56a470dc4668a15b31c61b58b990', name: "warning-circle", size: 14, class: "co-file-field__helper-icon" })), h("span", { key: '24c06c19e336ddb0f6a5266d9a9b84f7fbf3b80e', class: "co-file-field__helper-text" }, helper)))));
381
+ }, part: "helper" }, this.isInvalid && (h("co-icon", { key: '3e011f947147f1af67cd21222e26cd2ac3860c4a', name: "warning-circle", size: 14, class: "co-file-field__helper-icon" })), h("span", { key: '788a4a68794a0474289798cb5c48f75403d06bac', class: "co-file-field__helper-text" }, helper)))));
382
382
  }
383
383
  static get is() { return "co-file-field"; }
384
384
  static get encapsulation() { return "shadow"; }
@@ -54,7 +54,7 @@ export class CoFileTypeTile {
54
54
  const iconSize = Math.round(this.size * 0.5);
55
55
  const background = this.colorTags ? meta.tint : 'var(--co-color-gray-100)';
56
56
  const color = this.colorTags ? meta.accent : 'var(--co-color-gray-600)';
57
- return (h("span", { key: 'e894b848be911777d8a91388050c10a678bdaa1c', class: {
57
+ return (h("span", { key: 'dbb3fd6c1a09210ee166cbe08e10f0d96cbdfedf', class: {
58
58
  'co-file-type-tile': true,
59
59
  [`co-file-type-tile--${type}`]: true,
60
60
  'co-file-type-tile--mono': !this.colorTags,
@@ -64,7 +64,7 @@ export class CoFileTypeTile {
64
64
  borderRadius: `${this.radius}px`,
65
65
  background,
66
66
  color,
67
- } }, h("co-icon", { key: 'd7dd6f61ba7155b4e2c0f38cc59a93ea647217b1', name: meta.icon, size: iconSize, weight: "fill" })));
67
+ } }, h("co-icon", { key: '787435edb87ccc8cd435e187613566779a90722a', name: meta.icon, size: iconSize, weight: "fill" })));
68
68
  }
69
69
  static get is() { return "co-file-type-tile"; }
70
70
  static get encapsulation() { return "shadow"; }
@@ -15,10 +15,10 @@ export class CoHelperText {
15
15
  };
16
16
  }
17
17
  render() {
18
- return (h("div", { key: 'edb5f0cdd150dcaa06230b90d3385d18684e2261', class: {
18
+ return (h("div", { key: 'eebe2fd2d26c909c1523e10d2fa7dfb115cc8bd6', class: {
19
19
  'co-helper-text': true,
20
20
  [`co-helper-text--${this.status}`]: true,
21
- }, part: "helper-text" }, h("co-icon", { key: '7f9cce7182cd39893e0f6abfab2d1a27c266ea17', name: this.STATUS_ICON[this.status], size: 14, weight: "fill", class: "co-helper-text__icon" }), h("span", { key: '38757c70aca1891bfd43b505d57d7455b22512b3', class: "co-helper-text__message" }, h("slot", { key: '9382e95880c71e3da4eed22ed6c14589c4890252' }, this.message))));
21
+ }, part: "helper-text" }, h("co-icon", { key: 'b70b0c859fb54e8ca45e5f236620930e1120bb2b', name: this.STATUS_ICON[this.status], size: 14, weight: "fill", class: "co-helper-text__icon" }), h("span", { key: 'fa646c0828b21706fabe21b3d20b3c38536308d5', class: "co-helper-text__message" }, h("slot", { key: '9527e9abb17fff628bdc2d5ca729d201ac7915ef' }, this.message))));
22
22
  }
23
23
  static get is() { return "co-helper-text"; }
24
24
  static get encapsulation() { return "shadow"; }
@@ -31,12 +31,12 @@ export class CoIcon {
31
31
  this.svgContent = await loadSvg(this.name, this.weight);
32
32
  }
33
33
  render() {
34
- return (h(Host, { key: 'abc90edf4c13e2de7d28f88f99b694dd8aecbdc9', "aria-hidden": "true", style: {
34
+ return (h(Host, { key: 'd4dcafabbc956f3b5e8099fa30092d0d535c5d06', "aria-hidden": "true", style: {
35
35
  display: 'inline-flex',
36
36
  width: `${this.size}px`,
37
37
  height: `${this.size}px`,
38
38
  flexShrink: '0',
39
- } }, h("span", { key: 'c0248eb38058439bbd5213df838ced7d7cc62bc0', part: "svg", innerHTML: this.svgContent })));
39
+ } }, h("span", { key: 'cd9008987f65922b0c770e1f080dc0a0764d62dd', part: "svg", innerHTML: this.svgContent })));
40
40
  }
41
41
  static get is() { return "co-icon"; }
42
42
  static get encapsulation() { return "shadow"; }
@@ -41,7 +41,7 @@ export class CoIconButton {
41
41
  : 'var(--co-border-radius-full)',
42
42
  }
43
43
  : undefined;
44
- return (h("button", { key: 'bf9aad13fe7360a7135da123ba555b64ee90cadc', class: {
44
+ return (h("button", { key: '5349ec99f898a9cc19df7a53fc01b3acb37f31f6', class: {
45
45
  'co-icon-button': true,
46
46
  [`co-icon-button--${this.variant}`]: true,
47
47
  [`co-icon-button--${this.shape}`]: true,
@@ -88,7 +88,7 @@
88
88
  /* Figma Text Field: fondo sólido de página + borde Negro 25% (los campos
89
89
  tenues negro-8 + glass no leen como editables sobre el drawer blanco). */
90
90
  background: var(--co-semantic-surface-page);
91
- border: 1px solid var(--co-color-opacity-negro-25, rgba(31, 28, 27, 0.25));
91
+ border: 1px solid var(--co-semantic-border-field);
92
92
  border-radius: var(--co-border-radius-xs);
93
93
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
94
94
  min-height: 40px;
@@ -98,6 +98,18 @@
98
98
  min-width: 0;
99
99
  }
100
100
 
101
+ /* ---- Variant: flat (no border/background — reads as content) ----
102
+ Border-width/radius are left untouched (only the color goes transparent),
103
+ so padding/box size never shift between default and flat. Placed here
104
+ (before the size variants and ahead of the States/Validation sections
105
+ below) so the equal-specificity (0,2,0) state selectors — focused/
106
+ disabled/error/success/warning/info — win their cascade tie by source
107
+ order and keep showing through on top of flat, same as they do today. */
108
+ .co-input--flat .co-input__field {
109
+ background: transparent;
110
+ border-color: transparent;
111
+ }
112
+
101
113
  /* ---- Size variants ---- */
102
114
  .co-input--s .co-input__field {
103
115
  min-height: 28px;
@@ -28,12 +28,23 @@ export class CoInput {
28
28
  this.type = 'text';
29
29
  /** Whether the field is required */
30
30
  this.required = false;
31
+ /** Focus the inner input as soon as the component finishes hydrating.
32
+ * Consumers can't reliably focus the shadow input themselves — Stencil's
33
+ * lazy hydration replaces the shadow content AFTER mount, so an early
34
+ * focus() lands on a node that gets thrown away. `componentDidLoad` runs
35
+ * after hydration, which is exactly the right moment. */
36
+ this.autoFocus = false;
31
37
  /** Validation status */
32
38
  this.status = 'default';
33
39
  /** Size variant: s (28px), sm (32px), md (40px, default), lg (48px).
34
40
  * In the filled search-pill variant (`fill`) this drives the pill height
35
41
  * instead (s ≈ 38px). */
36
42
  this.size = 'md';
43
+ /** Visual style. `flat` strips the field's border and background so it
44
+ * reads as plain content instead of a boxed input — padding, label, focus
45
+ * ring, disabled and status states are unaffected. `default` (the
46
+ * standard bordered box) renders identically to before this prop existed. */
47
+ this.variant = 'default';
37
48
  /** Filled search-pill variant. When true the field renders as a minimal gray
38
49
  * pill (background gray-100, no border/box-shadow, 10px radius) with a search
39
50
  * glyph on the left and a plain-`x` clear — the floating label, helper text and
@@ -75,6 +86,16 @@ export class CoInput {
75
86
  this.coAction.emit();
76
87
  };
77
88
  }
89
+ /** Programmatically focus the inner input (post-hydration safe). */
90
+ async setFocus() {
91
+ var _a;
92
+ (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();
93
+ }
94
+ componentDidLoad() {
95
+ var _a;
96
+ if (this.autoFocus)
97
+ (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.focus();
98
+ }
78
99
  get hasAction() {
79
100
  return !!(this.actionLabel || this.actionIcon);
80
101
  }
@@ -131,6 +152,7 @@ export class CoInput {
131
152
  'co-input--filled': this.hasValue,
132
153
  [`co-input--${this.status}`]: this.status !== 'default',
133
154
  'co-input--has-action': this.hasAction,
155
+ 'co-input--flat': this.variant === 'flat',
134
156
  }, part: "wrapper" }, (this.label || this.secondaryLabel) && (h("div", { class: "co-input__labels" }, this.label && h("label", { class: "co-input__label", part: "label" }, this.label, h(RequiredMark, { required: this.required })), this.secondaryLabel && (h("span", { class: "co-input__secondary-label", part: "secondary-label" }, this.secondaryLabel)))), h("div", { class: "co-input__field-row" }, h("div", { class: "co-input__field", part: "field" }, this.iconLeft && (h("co-icon", { name: this.iconLeft, size: 16, class: "co-input__icon co-input__icon--left" })), h("slot", { name: "chips" }), h("div", { class: "co-input__input-wrapper" }, h("input", { ref: (el) => (this.inputEl = el), class: "co-input__native", type: this.type, name: this.name, value: this.value, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, required: this.required, autoComplete: this.autocomplete, onInput: this.handleInput, onChange: this.handleChange, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, part: "input" })), this.clearable && (h("button", { class: {
135
157
  'co-input__clear': true,
136
158
  'co-input__clear--hidden': !showClear,
@@ -424,6 +446,26 @@ export class CoInput {
424
446
  "attribute": "required",
425
447
  "defaultValue": "false"
426
448
  },
449
+ "autoFocus": {
450
+ "type": "boolean",
451
+ "mutable": false,
452
+ "complexType": {
453
+ "original": "boolean",
454
+ "resolved": "boolean",
455
+ "references": {}
456
+ },
457
+ "required": false,
458
+ "optional": false,
459
+ "docs": {
460
+ "tags": [],
461
+ "text": "Focus the inner input as soon as the component finishes hydrating.\nConsumers can't reliably focus the shadow input themselves \u2014 Stencil's\nlazy hydration replaces the shadow content AFTER mount, so an early\nfocus() lands on a node that gets thrown away. `componentDidLoad` runs\nafter hydration, which is exactly the right moment."
462
+ },
463
+ "getter": false,
464
+ "setter": false,
465
+ "reflect": false,
466
+ "attribute": "auto-focus",
467
+ "defaultValue": "false"
468
+ },
427
469
  "autocomplete": {
428
470
  "type": "string",
429
471
  "mutable": false,
@@ -483,6 +525,26 @@ export class CoInput {
483
525
  "attribute": "size",
484
526
  "defaultValue": "'md'"
485
527
  },
528
+ "variant": {
529
+ "type": "string",
530
+ "mutable": false,
531
+ "complexType": {
532
+ "original": "'default' | 'flat'",
533
+ "resolved": "\"default\" | \"flat\"",
534
+ "references": {}
535
+ },
536
+ "required": false,
537
+ "optional": false,
538
+ "docs": {
539
+ "tags": [],
540
+ "text": "Visual style. `flat` strips the field's border and background so it\nreads as plain content instead of a boxed input \u2014 padding, label, focus\nring, disabled and status states are unaffected. `default` (the\nstandard bordered box) renders identically to before this prop existed."
541
+ },
542
+ "getter": false,
543
+ "setter": false,
544
+ "reflect": true,
545
+ "attribute": "variant",
546
+ "defaultValue": "'default'"
547
+ },
486
548
  "fill": {
487
549
  "type": "boolean",
488
550
  "mutable": false,
@@ -641,5 +703,26 @@ export class CoInput {
641
703
  }
642
704
  }];
643
705
  }
706
+ static get methods() {
707
+ return {
708
+ "setFocus": {
709
+ "complexType": {
710
+ "signature": "() => Promise<void>",
711
+ "parameters": [],
712
+ "references": {
713
+ "Promise": {
714
+ "location": "global",
715
+ "id": "global::Promise"
716
+ }
717
+ },
718
+ "return": "Promise<void>"
719
+ },
720
+ "docs": {
721
+ "text": "Programmatically focus the inner input (post-hydration safe).",
722
+ "tags": []
723
+ }
724
+ }
725
+ };
726
+ }
644
727
  static get elementRef() { return "el"; }
645
728
  }
@@ -55,10 +55,10 @@
55
55
  /* ---- Field ---- */
56
56
  .co-json-field__field {
57
57
  display: flex;
58
- background: color-mix(in srgb, var(--co-semantic-surface-secondary) 55%, transparent);
59
- -webkit-backdrop-filter: blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));
60
- backdrop-filter: blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));
61
- border: 1px solid var(--co-semantic-border-subtle);
58
+ /* Figma Text Field: fondo sólido de página + borde Negro 25% (los campos
59
+ tenues negro-8 + glass no leen como editables sobre el drawer blanco). */
60
+ background: var(--co-semantic-surface-page);
61
+ border: 1px solid var(--co-semantic-border-field);
62
62
  border-radius: var(--co-border-radius-xs);
63
63
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
64
64
  box-sizing: border-box;
@@ -187,7 +187,3 @@
187
187
  grid-column: 2;
188
188
  min-width: 0;
189
189
  }
190
-
191
- @supports not (background: color-mix(in srgb, red, transparent)) {
192
- .co-json-field__field { background: var(--co-semantic-surface-secondary); }
193
- }
@@ -97,17 +97,17 @@ export class CoJsonField {
97
97
  render() {
98
98
  const helper = this.internalInvalid ? this.invalidMessage : this.helperText;
99
99
  const statusClass = this.status !== 'default' ? `co-json-field--${this.status}` : '';
100
- return (h("div", { key: '6b5f24ad2f616fa1b4e9d2fcf8c6e9dddc85b5e7', class: {
100
+ return (h("div", { key: 'ce1a39e0f1489b46e9610b060ca652e8896746b9', class: {
101
101
  'co-json-field': true,
102
102
  'co-json-field--disabled': this.disabled,
103
103
  'co-json-field--focused': this.hasFocus,
104
104
  'co-json-field--invalid': this.isInvalid,
105
105
  [`co-json-field--${this.size}`]: true,
106
106
  [statusClass]: !!statusClass,
107
- }, part: "wrapper" }, this.label && (h("div", { key: 'df075fb85235c8c607580a2f2825047252998ec3', class: "co-json-field__labels" }, h("label", { key: '77f9b5da9f1667331242b601ba5941818408e866', class: "co-json-field__label", part: "label" }, this.label, h(RequiredMark, { key: '25bfbe4ecd2c97938cc8b36f915f8219396935f6', required: this.required })))), h("div", { key: 'bf06e69915f1705a310cb0c115d0ee3c8e5ee3f8', class: "co-json-field__field", part: "field" }, h("textarea", { key: 'c317495385581e32f779e4a243794a5493ebc28a', class: "co-json-field__native", rows: this.rows, spellcheck: false, autocomplete: "off", value: this.draft, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, required: this.required, "aria-invalid": this.isInvalid ? 'true' : 'false', "aria-label": !this.label ? 'JSON' : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, part: "input" })), this.name && h("input", { key: 'd68efdf098beb43710572d10517159597181b2f5', type: "hidden", name: this.name, value: this.draft }), helper && (h("div", { key: 'd5aa71be869d4731e5807f43abb47ae84c3eb0cb', class: {
107
+ }, part: "wrapper" }, this.label && (h("div", { key: 'e5ec0e7d2f454f1d671ed3929c2b5eb7dc4b8cf9', class: "co-json-field__labels" }, h("label", { key: 'd9961499b8d91c385d9278cbd856e04a44b28940', class: "co-json-field__label", part: "label" }, this.label, h(RequiredMark, { key: '8ba3b3249e0fa1cb3a1b2946ac6a1b7561d30ef1', required: this.required })))), h("div", { key: 'e6f28cf374cc9ad2714505854572504a59c7258c', class: "co-json-field__field", part: "field" }, h("textarea", { key: 'd380a4c0758152c5e39da71d61f5f81e28c22563', class: "co-json-field__native", rows: this.rows, spellcheck: false, autocomplete: "off", value: this.draft, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, required: this.required, "aria-invalid": this.isInvalid ? 'true' : 'false', "aria-label": !this.label ? 'JSON' : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, part: "input" })), this.name && h("input", { key: '97f76e4ffd9e8b3242515ca2d2d13b786cd390db', type: "hidden", name: this.name, value: this.draft }), helper && (h("div", { key: '310540578b3a2152a1c3f34b0d2f1a00677b5e76', class: {
108
108
  'co-json-field__helper': true,
109
109
  'co-json-field__helper--error': this.isInvalid,
110
- }, part: "helper" }, this.isInvalid && (h("co-icon", { key: '2612ac57f2f0593a2f7438f26a99e78cd841ed35', name: "warning-circle", size: 14, class: "co-json-field__helper-icon" })), h("span", { key: 'bdee3108962929c93b67551636f0d8514cbc2979', class: "co-json-field__helper-text" }, helper)))));
110
+ }, part: "helper" }, this.isInvalid && (h("co-icon", { key: 'e604c4e4489ace1f2c189fb532f091f26962b5ff', name: "warning-circle", size: 14, class: "co-json-field__helper-icon" })), h("span", { key: 'eb0567a78a33fd41917c090f6aaccecac49f2519', class: "co-json-field__helper-text" }, helper)))));
111
111
  }
112
112
  static get is() { return "co-json-field"; }
113
113
  static get encapsulation() { return "shadow"; }
@@ -12,7 +12,18 @@
12
12
  .co-lightbox {
13
13
  position: fixed;
14
14
  inset: 0;
15
- /* Above co-overlay (1000, hardcoded there too — no z-index tokens). */
15
+ /* Above co-overlay (1000, hardcoded there too — no z-index tokens).
16
+ NOTA: contra superficies en el TOP LAYER (co-overlay del drawer modal usa
17
+ popover) el z-index es irrelevante — por eso el root es popover="manual"
18
+ y se promueve al abrir (ver syncTopLayer). Estas reglas neutralizan la
19
+ hoja UA de [popover] en lo que .co-lightbox no pisa ya. */
20
+ margin: 0;
21
+ border: 0;
22
+ padding: 0;
23
+ width: auto;
24
+ height: auto;
25
+ overflow: visible;
26
+ color: inherit;
16
27
  z-index: 1100;
17
28
  display: flex;
18
29
  align-items: center;
@@ -44,6 +44,31 @@ export class CoLightbox {
44
44
  this.dragStart = { x: 0, y: 0, tx: 0, ty: 0 };
45
45
  /** Focus the close button on the render that follows opening. */
46
46
  this.pendingFocus = false;
47
+ this.syncTopLayer = (el) => {
48
+ if (el)
49
+ this.rootEl = el;
50
+ const root = this.rootEl;
51
+ if (!root || typeof root.showPopover !== 'function')
52
+ return;
53
+ if (this.open) {
54
+ clearTimeout(this.demoteTimer);
55
+ try {
56
+ if (!root.matches(':popover-open'))
57
+ root.showPopover();
58
+ }
59
+ catch ( /* not connected yet — the ref call retries */_a) { /* not connected yet — the ref call retries */ }
60
+ }
61
+ else if (root.matches(':popover-open')) {
62
+ // Let the opacity fade-out run before display:none kicks in.
63
+ clearTimeout(this.demoteTimer);
64
+ this.demoteTimer = setTimeout(() => {
65
+ try {
66
+ root.hidePopover();
67
+ }
68
+ catch ( /* already gone */_a) { /* already gone */ }
69
+ }, 220);
70
+ }
71
+ };
47
72
  this.handleKey = (e) => {
48
73
  if (!this.open)
49
74
  return;
@@ -147,6 +172,7 @@ export class CoLightbox {
147
172
  }
148
173
  disconnectedCallback() {
149
174
  this.detachKeyListener();
175
+ clearTimeout(this.demoteTimer);
150
176
  }
151
177
  componentDidRender() {
152
178
  var _a;
@@ -157,6 +183,7 @@ export class CoLightbox {
157
183
  }
158
184
  onOpenChange(open) {
159
185
  var _a, _b, _c;
186
+ this.syncTopLayer();
160
187
  if (open) {
161
188
  this.index = this.clampIndex(this.startIndex);
162
189
  this.resetView();
@@ -286,17 +313,17 @@ export class CoLightbox {
286
313
  const counter = s.counter
287
314
  .replace('{i}', String(this.index + 1))
288
315
  .replace('{n}', String(imgs.length));
289
- return (h("div", { key: 'd48b05f652170cd961637700458eea0d56ded15a', class: { 'co-lightbox': true, 'co-lightbox--open': this.open }, part: "overlay", role: "dialog", "aria-modal": "true", "aria-label": img === null || img === void 0 ? void 0 : img.alt, onClick: this.requestClose }, img && (h("div", { key: '0c158b9cca8743480d189ee6abb1445d6892ebc1', class: "co-lightbox__toolbar", part: "toolbar", onClick: this.stop }, h("span", { key: 'c26684772cfd9ae9dd5c2393e54bc8366d3cc470', class: "co-lightbox__caption", title: img.alt }, img.alt), h("div", { key: '393614be92d88b31cab04cd8a5f21cb021fe6cda', class: "co-lightbox__zoom" }, h("button", { key: '5e4d5a1fc24a7aaeee4d11927c0ddb208b08fe71', class: "co-lightbox__btn", type: "button", "aria-label": s.zoomOut, title: s.zoomOut, onClick: () => this.zoomAt(this.scale / WHEEL_FACTOR, 0, 0) }, h("co-icon", { key: '3caea68581b64d395d31d0ed2cd27d255ed9d402', name: "minus", size: 16 })), h("button", { key: '28df86fa8703245818fb60c4ee9e2d05dc19b1dd', class: "co-lightbox__btn co-lightbox__zoom-value", type: "button", "aria-label": s.zoomReset, title: s.zoomReset, onClick: () => this.resetView() }, Math.round(this.scale * 100), "%"), h("button", { key: '3e6307614505a720cba72214cc8e2f8c89d7be68', class: "co-lightbox__btn", type: "button", "aria-label": s.zoomIn, title: s.zoomIn, onClick: () => this.zoomAt(this.scale * WHEEL_FACTOR, 0, 0) }, h("co-icon", { key: '80f4f47e8768815d158d30e8ce29ad074d56bec6', name: "plus", size: 16 }))), h("button", { key: '97acb23668d83caae3923fde3dfaa6b2232ced0a', class: "co-lightbox__btn", type: "button", "aria-label": s.openOriginal, title: s.openOriginal, onClick: this.openOriginal }, h("co-icon", { key: 'b69d3de0a9912c71e2803272575d03d76d4d1d77', name: "arrow-square-out", size: 16 })), h("button", { key: '6a1cd64d3b5852d2707c0f01a8f16306b6cfd150', class: "co-lightbox__btn", part: "close", type: "button", "aria-label": s.close, title: s.close, ref: (el) => (this.closeBtnEl = el), onClick: this.requestClose }, h("co-icon", { key: '22b97a92c4d3651d0fadcbdbbdbda9581eee721b', name: "x", size: 16 })))), img && (h("div", { key: '41fce41bf57c1c4a0a765134f7cf4a1d57677e67', class: "co-lightbox__stage", ref: (el) => (this.stageEl = el), onWheel: this.handleWheel }, h("img", { key: '9b96e949be261813af8c44802e7a85c9892696c7', class: {
316
+ return (h("div", { key: 'f29ff8f043b148f1f47fd477e3a12628e292f780', class: { 'co-lightbox': true, 'co-lightbox--open': this.open }, part: "overlay", role: "dialog", "aria-modal": "true", "aria-label": img === null || img === void 0 ? void 0 : img.alt, popover: "manual", ref: this.syncTopLayer, onClick: this.requestClose }, img && (h("div", { key: '8d258c9fb5f5c7ac7cd17b7195f3f5589030e5fe', class: "co-lightbox__toolbar", part: "toolbar", onClick: this.stop }, h("span", { key: 'fa246addb464b12803399c22fd7ecc7d47fdf424', class: "co-lightbox__caption", title: img.alt }, img.alt), h("div", { key: '05e9748c4b561c8f7169c87ab897192427531ac4', class: "co-lightbox__zoom" }, h("button", { key: 'c87d84e63161ff23f1b514f992781ff3ccc9d375', class: "co-lightbox__btn", type: "button", "aria-label": s.zoomOut, title: s.zoomOut, onClick: () => this.zoomAt(this.scale / WHEEL_FACTOR, 0, 0) }, h("co-icon", { key: '80e9bf45f296b0c5ac16d265c19e88969511ccc6', name: "minus", size: 16 })), h("button", { key: 'aaecee75b60643d885376dee92a8773faf989a3a', class: "co-lightbox__btn co-lightbox__zoom-value", type: "button", "aria-label": s.zoomReset, title: s.zoomReset, onClick: () => this.resetView() }, Math.round(this.scale * 100), "%"), h("button", { key: '4ad7e8d83c933f0563304911facc8ef32ec88556', class: "co-lightbox__btn", type: "button", "aria-label": s.zoomIn, title: s.zoomIn, onClick: () => this.zoomAt(this.scale * WHEEL_FACTOR, 0, 0) }, h("co-icon", { key: '7f5d57def9d10437913bb25f577a475eccf41851', name: "plus", size: 16 }))), h("button", { key: '32d00a606ccdc9b2694d8da797064e4f07b997a6', class: "co-lightbox__btn", type: "button", "aria-label": s.openOriginal, title: s.openOriginal, onClick: this.openOriginal }, h("co-icon", { key: '492f83405006a9642c9f6dd22e02c04a9b871909', name: "arrow-square-out", size: 16 })), h("button", { key: '14241c12b7f3cb4a07c2c22af2f8316c360c1541', class: "co-lightbox__btn", part: "close", type: "button", "aria-label": s.close, title: s.close, ref: (el) => (this.closeBtnEl = el), onClick: this.requestClose }, h("co-icon", { key: '44a2cdbfd7d79274f06f54663840776c05a95581', name: "x", size: 16 })))), img && (h("div", { key: '20bd42e8d80e481fec492b1cfdcd3fc54ea1e10f', class: "co-lightbox__stage", ref: (el) => (this.stageEl = el), onWheel: this.handleWheel }, h("img", { key: '1ba1c0942f2cd13f7f302777f28d961660c07fa8', class: {
290
317
  'co-lightbox__img': true,
291
318
  'co-lightbox__img--zoomed': this.scale > MIN_SCALE,
292
319
  'co-lightbox__img--dragging': this.dragging,
293
- }, part: "image", ref: (el) => (this.imgEl = el), src: img.src, alt: img.alt || '', draggable: false, style: { transform: `translate(${this.tx}px, ${this.ty}px) scale(${this.scale})` }, onClick: this.stop, onDblClick: this.handleDblClick, onPointerDown: this.handlePointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerUp }))), img && multi && (h("button", { key: '605186deca28fb6455e5f72ae0d0fd1380482947', class: "co-lightbox__nav co-lightbox__nav--prev", part: "prev", type: "button", "aria-label": s.prevImage, title: s.prevImage, onClick: (e) => {
320
+ }, part: "image", ref: (el) => (this.imgEl = el), src: img.src, alt: img.alt || '', draggable: false, style: { transform: `translate(${this.tx}px, ${this.ty}px) scale(${this.scale})` }, onClick: this.stop, onDblClick: this.handleDblClick, onPointerDown: this.handlePointerDown, onPointerMove: this.handlePointerMove, onPointerUp: this.handlePointerUp, onPointerCancel: this.handlePointerUp }))), img && multi && (h("button", { key: '61decb40ac1ee12a1d81d8a4da397860fe7ee116', class: "co-lightbox__nav co-lightbox__nav--prev", part: "prev", type: "button", "aria-label": s.prevImage, title: s.prevImage, onClick: (e) => {
294
321
  e.stopPropagation();
295
322
  this.goTo(-1);
296
- } }, h("co-icon", { key: '5a782d3e4ae8578b2e3579db2a9b710f0219ce51', name: "caret-left", size: 24 }))), img && multi && (h("button", { key: '3695eb0397a9a13a48c66c3f502746ae86b1ffbe', class: "co-lightbox__nav co-lightbox__nav--next", part: "next", type: "button", "aria-label": s.nextImage, title: s.nextImage, onClick: (e) => {
323
+ } }, h("co-icon", { key: '340f39ae3b741560bc3dc0eb6296dfa701699438', name: "caret-left", size: 24 }))), img && multi && (h("button", { key: '04cec8b520c3416ce5e38aefda815a18247b79fa', class: "co-lightbox__nav co-lightbox__nav--next", part: "next", type: "button", "aria-label": s.nextImage, title: s.nextImage, onClick: (e) => {
297
324
  e.stopPropagation();
298
325
  this.goTo(1);
299
- } }, h("co-icon", { key: 'd39568adf357c46fd7445c070b9fcdcd6bbab845', name: "caret-right", size: 24 }))), img && multi && (h("div", { key: '8b1acaa692c196615f6f00641ba86c14687f6a2b', class: "co-lightbox__counter", part: "counter", onClick: this.stop }, counter))));
326
+ } }, h("co-icon", { key: '1bb15d7437610cfad3003af07849edd8618b04c2', name: "caret-right", size: 24 }))), img && multi && (h("div", { key: '786357f804681f37cc1603e926b33ec3b8b7a76c', class: "co-lightbox__counter", part: "counter", onClick: this.stop }, counter))));
300
327
  }
301
328
  static get is() { return "co-lightbox"; }
302
329
  static get encapsulation() { return "shadow"; }
@@ -17,7 +17,7 @@ export class CoListFooter {
17
17
  this.handleSecondary = () => this.coSecondary.emit();
18
18
  }
19
19
  render() {
20
- return (h("div", { key: 'f2b6a2b71a038b5a2077d5bb4cb8f4b57aa85ebb', class: "co-list-footer", part: "footer" }, this.secondaryLabel && (h("button", { key: 'cfb849d4e483b104dd0d20c7241126bf2151c1cb', class: "co-list-footer__btn co-list-footer__btn--secondary", type: "button", onClick: this.handleSecondary }, this.secondaryIcon && h("co-icon", { key: '6edb490a4a7864056b07bb18b156e3674d785dfc', name: this.secondaryIcon, size: 16 }), h("span", { key: 'ac7501438e06aa52e215e6b8aea549aaf098d0b6' }, this.secondaryLabel))), this.primaryLabel && (h("button", { key: '6589a1a226b25f8393578ae11209c3388ea637b8', class: "co-list-footer__btn co-list-footer__btn--primary", type: "button", onClick: this.handlePrimary }, this.primaryIcon && h("co-icon", { key: '6665e17ca3bb9d439ef89f05973086d0a7bd7a8d', name: this.primaryIcon, size: 16 }), h("span", { key: '205c5f6653c264881a010a3def5ae65239b5333c' }, this.primaryLabel))), h("slot", { key: '48a894d428459f179161a1eb3fcbd5463ca760a6' })));
20
+ return (h("div", { key: '6b63ecd9bc5ba3a85bb379b825c23c8eac2dcfd6', class: "co-list-footer", part: "footer" }, this.secondaryLabel && (h("button", { key: '2e73e9e4918dbe1d05a13f8cc0989a14d3228fb7', class: "co-list-footer__btn co-list-footer__btn--secondary", type: "button", onClick: this.handleSecondary }, this.secondaryIcon && h("co-icon", { key: 'a408433a6d0bcf3b732538931e3adde214127ed0', name: this.secondaryIcon, size: 16 }), h("span", { key: 'de1b3807ed56be80732eb3b2867f85287f9833ae' }, this.secondaryLabel))), this.primaryLabel && (h("button", { key: '5d88aea121289757aeee5bf30619322bdd2c3371', class: "co-list-footer__btn co-list-footer__btn--primary", type: "button", onClick: this.handlePrimary }, this.primaryIcon && h("co-icon", { key: 'b5d3ab5e406bdf097bbbfeb182753c103cde81b4', name: this.primaryIcon, size: 16 }), h("span", { key: 'a089130f639fe642d11cbc1a5c80b21de9bbd038' }, this.primaryLabel))), h("slot", { key: 'd821c3e281bd10a66a67ae714f77fba1454214c9' })));
21
21
  }
22
22
  static get is() { return "co-list-footer"; }
23
23
  static get encapsulation() { return "shadow"; }