@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
@@ -22,6 +22,14 @@ export class CoRichTextEditor {
22
22
  this.preset = 'task';
23
23
  this.placeholder = '';
24
24
  this.status = 'default';
25
+ /** Visual style. `flat` strips the frame's border and background so it
26
+ * reads as plain content instead of a boxed control — padding, label,
27
+ * focus ring, disabled and status states are unaffected. The toolbar keeps
28
+ * its own background + bottom border (a subtle, token-driven separator),
29
+ * which is what keeps toolbar and editable area legible/separated once the
30
+ * outer box is gone. `default` (the standard bordered box) renders
31
+ * identically to before this prop existed. */
32
+ this.variant = 'default';
25
33
  this.disabled = false;
26
34
  this.readonly = false;
27
35
  this.required = false;
@@ -29,6 +37,8 @@ export class CoRichTextEditor {
29
37
  this.autofocus = false;
30
38
  /** Toolbar layout. `auto` uses the preset default. */
31
39
  this.toolbar = 'auto';
40
+ /** Passthrough: shows the toolbar attachment button (host owns the files). */
41
+ this.attachmentsEnabled = false;
32
42
  /** BCP-47 locale for UI strings (e.g. 'en', 'es-CO', 'pt-BR'). Default English. */
33
43
  this.locale = 'en';
34
44
  this.ready = false;
@@ -2021,14 +2031,18 @@ export class CoRichTextEditor {
2021
2031
  render() {
2022
2032
  const showToolbar = this.resolvedToolbar !== 'none' && !this.readonly && !this.disabled;
2023
2033
  const showCount = this.showCharacterCount || this.maxLength != null;
2024
- return (h("div", { key: 'a863f70f90bd46ee2306d175d55a519e7e659693', class: {
2034
+ return (h("div", { key: '68960896d888331319dc82779e73988d66dc57de', class: {
2025
2035
  'co-rich-text-editor': true,
2026
2036
  'co-rich-text-editor--focused': this.hasFocus,
2027
2037
  'co-rich-text-editor--disabled': this.disabled,
2028
2038
  'co-rich-text-editor--readonly': this.readonly,
2029
2039
  'co-rich-text-editor--loading': !this.ready,
2030
2040
  [`co-rich-text-editor--${this.status}`]: this.status !== 'default',
2031
- }, part: "wrapper" }, (this.label || this.secondaryLabel) && (h("div", { key: '7e17033f81cbb694f2010d709f82b5e9889a3c01', class: "co-rich-text-editor__labels" }, this.label && h("label", { key: '9e2950cee1b79964f8628a6731bf5b779aaab325', class: "co-rich-text-editor__label", part: "label" }, this.label), this.secondaryLabel && (h("span", { key: 'e9fbd5143e20e61509691f86c53aabff6c3bc7a4', class: "co-rich-text-editor__secondary-label" }, this.secondaryLabel)))), h("div", { key: 'd8909018c066c1572c2fd28a8c1d5a658f342c02', class: "co-rich-text-editor__frame" }, showToolbar && (h("co-rich-text-toolbar", { key: '06907acfc9c6187864f79bed5364aae5cb0fb5d8', class: "co-rich-text-editor__toolbar", part: "toolbar", variant: this.resolvedToolbar, disabled: this.disabled || this.readonly, locale: this.locale, ref: (el) => (this.toolbarEl = el) })), h("div", { key: 'c173744e164a4c2591baf2a13076c253aeadab64', class: "co-rich-text-editor__box" }, h("div", { key: '62d96e73d679a9dda50dfba670ae42bf4a2cde96', class: "co-rte-content", part: "content", role: "textbox", "aria-multiline": "true", "aria-label": this.label, "aria-required": this.required ? 'true' : undefined, "aria-invalid": this.status === 'error' ? 'true' : undefined, ref: (el) => (this.contentEl = el) }))), h("div", { key: 'c0175bc7b0259c5d583d64394bb217f7cdc9b412', class: "co-rich-text-editor__footer" }, this.helperText && (h("div", { key: '909b30e6b36cfda26573d5b3c653158904d3c0c2', class: `co-rich-text-editor__helper co-rich-text-editor__helper--${this.status}`, part: "helper" }, h("co-icon", { key: 'e6c5c07ca23c2aee967bad06ce91c442cdee4d9b', name: this.helperIcon, size: 14 }), h("span", { key: 'e4e74012dea722d0aa31d79e4a444d8c5b004c7c' }, this.helperText))), showCount && (h("span", { key: 'ce85002412ace110ea9cf0191d4e5e072a21af72', class: "co-rich-text-editor__count", ref: (el) => (this.charCountEl = el) }, this.charCount, this.maxLength != null ? ` / ${this.maxLength}` : '')))));
2041
+ 'co-rich-text-editor--flat': this.variant === 'flat',
2042
+ }, part: "wrapper" }, (this.label || this.secondaryLabel) && (h("div", { key: 'b62f26479fb2483bdbbe91102890b34d17a2a0e2', class: "co-rich-text-editor__labels" }, this.label && h("label", { key: '8f9938f7db575672bc7828a9631fbfd414e9f56b', class: "co-rich-text-editor__label", part: "label" }, this.label), this.secondaryLabel && (h("span", { key: '1011143f44b19a00c7eb5b4da92f876355fa512c', class: "co-rich-text-editor__secondary-label" }, this.secondaryLabel)))), h("div", { key: '4e9f178ac73859fc451d744af890611344f1356b', class: "co-rich-text-editor__frame" }, showToolbar && (h("co-rich-text-toolbar", { key: 'b26c97a093c7ec8f32a2103af0d932ee7a67c4c4', class: "co-rich-text-editor__toolbar", part: "toolbar", variant: this.resolvedToolbar, disabled: this.disabled || this.readonly, locale: this.locale, attachmentsEnabled: this.attachmentsEnabled, attachmentAccept: this.attachmentAccept, onCoAttachmentsSelected: (e) => {
2043
+ e.stopPropagation();
2044
+ this.coAttachmentsSelected.emit(e.detail);
2045
+ }, ref: (el) => (this.toolbarEl = el) })), h("div", { key: 'afcea2bd72ff458960dc8392042a5b40be198c60', class: "co-rich-text-editor__box" }, h("div", { key: '63909643a4f31c88bf4a1f8dbf912f802c9b4445', class: "co-rte-content", part: "content", role: "textbox", "aria-multiline": "true", "aria-label": this.label, "aria-required": this.required ? 'true' : undefined, "aria-invalid": this.status === 'error' ? 'true' : undefined, ref: (el) => (this.contentEl = el) }))), h("div", { key: '1ae75fba2960ca8b51b1b07fe1c7547d8519be06', class: "co-rich-text-editor__footer" }, this.helperText && (h("div", { key: '4785f2a71c576901c0fb8fba7be0a7caaf744338', class: `co-rich-text-editor__helper co-rich-text-editor__helper--${this.status}`, part: "helper" }, h("co-icon", { key: '8a8f5299c523630c7f83499f9e5a3322a5f977dd', name: this.helperIcon, size: 14 }), h("span", { key: '0d19604ce80786b32ab83b48ddf12948012b8e16' }, this.helperText))), showCount && (h("span", { key: 'a668807c60d0e00452dd88582c8bd1cb8f4fed20', class: "co-rich-text-editor__count", ref: (el) => (this.charCountEl = el) }, this.charCount, this.maxLength != null ? ` / ${this.maxLength}` : '')))));
2032
2046
  }
2033
2047
  static get is() { return "co-rich-text-editor"; }
2034
2048
  static get originalStyleUrls() {
@@ -2068,7 +2082,7 @@ export class CoRichTextEditor {
2068
2082
  "mutable": false,
2069
2083
  "complexType": {
2070
2084
  "original": "RichTextPreset",
2071
- "resolved": "\"comment\" | \"document\" | \"email\" | \"task\"",
2085
+ "resolved": "\"block-email\" | \"comment\" | \"document\" | \"email\" | \"task\"",
2072
2086
  "references": {
2073
2087
  "RichTextPreset": {
2074
2088
  "location": "import",
@@ -2187,6 +2201,26 @@ export class CoRichTextEditor {
2187
2201
  "attribute": "status",
2188
2202
  "defaultValue": "'default'"
2189
2203
  },
2204
+ "variant": {
2205
+ "type": "string",
2206
+ "mutable": false,
2207
+ "complexType": {
2208
+ "original": "'default' | 'flat'",
2209
+ "resolved": "\"default\" | \"flat\"",
2210
+ "references": {}
2211
+ },
2212
+ "required": false,
2213
+ "optional": false,
2214
+ "docs": {
2215
+ "tags": [],
2216
+ "text": "Visual style. `flat` strips the frame's border and background so it\nreads as plain content instead of a boxed control \u2014 padding, label,\nfocus ring, disabled and status states are unaffected. The toolbar keeps\nits own background + bottom border (a subtle, token-driven separator),\nwhich is what keeps toolbar and editable area legible/separated once the\nouter box is gone. `default` (the standard bordered box) renders\nidentically to before this prop existed."
2217
+ },
2218
+ "getter": false,
2219
+ "setter": false,
2220
+ "reflect": true,
2221
+ "attribute": "variant",
2222
+ "defaultValue": "'default'"
2223
+ },
2190
2224
  "disabled": {
2191
2225
  "type": "boolean",
2192
2226
  "mutable": false,
@@ -2311,7 +2345,7 @@ export class CoRichTextEditor {
2311
2345
  "mutable": false,
2312
2346
  "complexType": {
2313
2347
  "original": "ToolbarVariant",
2314
- "resolved": "\"auto\" | \"basic\" | \"compact\" | \"full\" | \"none\"",
2348
+ "resolved": "\"auto\" | \"basic\" | \"compact\" | \"compact-assets\" | \"full\" | \"none\"",
2315
2349
  "references": {
2316
2350
  "ToolbarVariant": {
2317
2351
  "location": "import",
@@ -2395,6 +2429,45 @@ export class CoRichTextEditor {
2395
2429
  "getter": false,
2396
2430
  "setter": false
2397
2431
  },
2432
+ "attachmentsEnabled": {
2433
+ "type": "boolean",
2434
+ "mutable": false,
2435
+ "complexType": {
2436
+ "original": "boolean",
2437
+ "resolved": "boolean",
2438
+ "references": {}
2439
+ },
2440
+ "required": false,
2441
+ "optional": false,
2442
+ "docs": {
2443
+ "tags": [],
2444
+ "text": "Passthrough: shows the toolbar attachment button (host owns the files)."
2445
+ },
2446
+ "getter": false,
2447
+ "setter": false,
2448
+ "reflect": false,
2449
+ "attribute": "attachments-enabled",
2450
+ "defaultValue": "false"
2451
+ },
2452
+ "attachmentAccept": {
2453
+ "type": "string",
2454
+ "mutable": false,
2455
+ "complexType": {
2456
+ "original": "string",
2457
+ "resolved": "string | undefined",
2458
+ "references": {}
2459
+ },
2460
+ "required": false,
2461
+ "optional": true,
2462
+ "docs": {
2463
+ "tags": [],
2464
+ "text": "Passthrough: `accept` for the toolbar attachment picker."
2465
+ },
2466
+ "getter": false,
2467
+ "setter": false,
2468
+ "reflect": false,
2469
+ "attribute": "attachment-accept"
2470
+ },
2398
2471
  "fontFamilies": {
2399
2472
  "type": "string",
2400
2473
  "mutable": false,
@@ -2637,6 +2710,26 @@ export class CoRichTextEditor {
2637
2710
  "resolved": "void",
2638
2711
  "references": {}
2639
2712
  }
2713
+ }, {
2714
+ "method": "coAttachmentsSelected",
2715
+ "name": "coAttachmentsSelected",
2716
+ "bubbles": true,
2717
+ "cancelable": true,
2718
+ "composed": true,
2719
+ "docs": {
2720
+ "tags": [],
2721
+ "text": "Re-emitted from the inner toolbar: files picked via the attach button.\nDeclared here so hosts can bind on the editor (the toolbar is internal)."
2722
+ },
2723
+ "complexType": {
2724
+ "original": "{ files: File[] }",
2725
+ "resolved": "{ files: File[]; }",
2726
+ "references": {
2727
+ "File": {
2728
+ "location": "global",
2729
+ "id": "global::File"
2730
+ }
2731
+ }
2732
+ }
2640
2733
  }];
2641
2734
  }
2642
2735
  static get methods() {
@@ -17,6 +17,9 @@ export class CoRichTextToolbar {
17
17
  this.disabled = false;
18
18
  /** BCP-47 locale for UI strings (e.g. 'en', 'es-CO', 'pt-BR'). Default English. */
19
19
  this.locale = 'en';
20
+ /** Shows the attachment button (compact-assets variant). The editor never
21
+ * owns the attachment list — it only emits the picked files. */
22
+ this.attachmentsEnabled = false;
20
23
  this.items = [];
21
24
  /** Bumped on every editor transaction to refresh active state. */
22
25
  this.tick = 0;
@@ -170,6 +173,9 @@ export class CoRichTextToolbar {
170
173
  chain.outdent().run();
171
174
  }
172
175
  break;
176
+ case 'attachment':
177
+ this.triggerAttachmentFileUpload();
178
+ return; // no editor command — the host owns the files
173
179
  case 'link':
174
180
  case 'image':
175
181
  case 'youtube':
@@ -206,6 +212,7 @@ export class CoRichTextToolbar {
206
212
  blockquote: s.quote, codeBlock: s.codeBlock,
207
213
  horizontalRule: s.horizontalRule,
208
214
  link: s.link, image: s.image, youtube: s.youtubeVideo, iframe: s.iframeEmbed,
215
+ attachment: s.attachFiles,
209
216
  table: s.table, textColor: s.textColor, highlight: s.highlight,
210
217
  alignment: s.alignment, lineSpacing: s.lineSpacing,
211
218
  letterSpacing: s.letterSpacing,
@@ -277,6 +284,9 @@ export class CoRichTextToolbar {
277
284
  onVariantChange(v) {
278
285
  this.items = this.resolveItems(v);
279
286
  }
287
+ onAttachmentsEnabledChange() {
288
+ this.items = this.resolveItems(this.variant);
289
+ }
280
290
  onEditorChange(next, prev) {
281
291
  prev === null || prev === void 0 ? void 0 : prev.off('transaction', this.onTransaction);
282
292
  next === null || next === void 0 ? void 0 : next.on('transaction', this.onTransaction);
@@ -309,7 +319,11 @@ export class CoRichTextToolbar {
309
319
  const kept = base.filter((entry) => {
310
320
  if (this.isSeparator(entry))
311
321
  return true;
312
- const cmd = CoRichTextToolbar.ITEM_COMMAND[entry.action];
322
+ const action = entry.action;
323
+ // attachment has no editor command — visibility is host opt-in.
324
+ if (action === 'attachment')
325
+ return this.attachmentsEnabled;
326
+ const cmd = CoRichTextToolbar.ITEM_COMMAND[action];
313
327
  return cmd ? available(cmd) : true;
314
328
  });
315
329
  // Drop separators that ended up leading, trailing, or doubled-up.
@@ -788,6 +802,20 @@ export class CoRichTextToolbar {
788
802
  }
789
803
  return (h("div", { class: "co-rich-text-toolbar__popover", onMouseDown: (e) => { e.preventDefault(); e.stopPropagation(); } }, h("button", { type: "button", class: "co-rich-text-toolbar__popover-option", onMouseDown: (e) => e.preventDefault(), onClick: () => this.triggerImageFileUpload() }, h("co-icon", { name: "upload-simple", size: 16 }), h("span", null, this.s.uploadFromComputer)), h("button", { type: "button", class: "co-rich-text-toolbar__popover-option", onMouseDown: (e) => e.preventDefault(), onClick: () => { this.imagePopoverMode = 'url'; } }, h("co-icon", { name: "link", size: 16 }), h("span", null, this.s.viaUrl))));
790
804
  }
805
+ triggerAttachmentFileUpload() {
806
+ const input = document.createElement('input');
807
+ input.type = 'file';
808
+ input.multiple = true;
809
+ if (this.attachmentAccept)
810
+ input.accept = this.attachmentAccept;
811
+ input.onchange = () => {
812
+ var _a;
813
+ const files = Array.from((_a = input.files) !== null && _a !== void 0 ? _a : []);
814
+ if (files.length)
815
+ this.coAttachmentsSelected.emit({ files });
816
+ };
817
+ input.click();
818
+ }
791
819
  triggerImageFileUpload() {
792
820
  const input = document.createElement('input');
793
821
  input.type = 'file';
@@ -1111,8 +1139,8 @@ export class CoRichTextToolbar {
1111
1139
  "type": "string",
1112
1140
  "mutable": false,
1113
1141
  "complexType": {
1114
- "original": "'none' | 'compact' | 'basic' | 'full'",
1115
- "resolved": "\"basic\" | \"compact\" | \"full\" | \"none\"",
1142
+ "original": "'none' | 'compact' | 'compact-assets' | 'basic' | 'full'",
1143
+ "resolved": "\"basic\" | \"compact\" | \"compact-assets\" | \"full\" | \"none\"",
1116
1144
  "references": {}
1117
1145
  },
1118
1146
  "required": false,
@@ -1192,6 +1220,45 @@ export class CoRichTextToolbar {
1192
1220
  },
1193
1221
  "getter": false,
1194
1222
  "setter": false
1223
+ },
1224
+ "attachmentsEnabled": {
1225
+ "type": "boolean",
1226
+ "mutable": false,
1227
+ "complexType": {
1228
+ "original": "boolean",
1229
+ "resolved": "boolean",
1230
+ "references": {}
1231
+ },
1232
+ "required": false,
1233
+ "optional": false,
1234
+ "docs": {
1235
+ "tags": [],
1236
+ "text": "Shows the attachment button (compact-assets variant). The editor never\nowns the attachment list \u2014 it only emits the picked files."
1237
+ },
1238
+ "getter": false,
1239
+ "setter": false,
1240
+ "reflect": false,
1241
+ "attribute": "attachments-enabled",
1242
+ "defaultValue": "false"
1243
+ },
1244
+ "attachmentAccept": {
1245
+ "type": "string",
1246
+ "mutable": false,
1247
+ "complexType": {
1248
+ "original": "string",
1249
+ "resolved": "string | undefined",
1250
+ "references": {}
1251
+ },
1252
+ "required": false,
1253
+ "optional": true,
1254
+ "docs": {
1255
+ "tags": [],
1256
+ "text": "`accept` attr for the attachment file picker (e.g. '.pdf,.png')."
1257
+ },
1258
+ "getter": false,
1259
+ "setter": false,
1260
+ "reflect": false,
1261
+ "attribute": "attachment-accept"
1195
1262
  }
1196
1263
  };
1197
1264
  }
@@ -1245,6 +1312,26 @@ export class CoRichTextToolbar {
1245
1312
  "resolved": "{ open: boolean; }",
1246
1313
  "references": {}
1247
1314
  }
1315
+ }, {
1316
+ "method": "coAttachmentsSelected",
1317
+ "name": "coAttachmentsSelected",
1318
+ "bubbles": true,
1319
+ "cancelable": true,
1320
+ "composed": true,
1321
+ "docs": {
1322
+ "tags": [],
1323
+ "text": "Files picked from the toolbar attachment button. The host owns them."
1324
+ },
1325
+ "complexType": {
1326
+ "original": "{ files: File[] }",
1327
+ "resolved": "{ files: File[]; }",
1328
+ "references": {
1329
+ "File": {
1330
+ "location": "global",
1331
+ "id": "global::File"
1332
+ }
1333
+ }
1334
+ }
1248
1335
  }];
1249
1336
  }
1250
1337
  static get elementRef() { return "el"; }
@@ -1252,6 +1339,9 @@ export class CoRichTextToolbar {
1252
1339
  return [{
1253
1340
  "propName": "variant",
1254
1341
  "methodName": "onVariantChange"
1342
+ }, {
1343
+ "propName": "attachmentsEnabled",
1344
+ "methodName": "onAttachmentsEnabledChange"
1255
1345
  }, {
1256
1346
  "propName": "editor",
1257
1347
  "methodName": "onEditorChange"
@@ -137,6 +137,25 @@
137
137
  font-size: 0.9em;
138
138
  }
139
139
 
140
+ /* Menciones: markup nuevo (data-mention-id) y V1 (quill: data-id +
141
+ data-denotation-char). Mismo chip que el editor (.co-rte-mention). */
142
+ .co-rich-text-viewer [data-mention-id],
143
+ .co-rich-text-viewer [data-denotation-char='@'][data-id] {
144
+ display: inline-block;
145
+ padding: 0.05em 0.4em;
146
+ border-radius: var(--co-border-radius-xxs);
147
+ /* Highlight pastel azul — mismo look que el chip del editor (.co-rte-mention). */
148
+ background: var(--co-color-azul-200);
149
+ color: var(--co-color-azul-800);
150
+ font-size: 0.9em;
151
+ white-space: nowrap;
152
+ }
153
+
154
+ /* El tracker oculto del contrato V1 jamás debe pintar en lectura. */
155
+ .co-rich-text-viewer #userMentionsTracker {
156
+ display: none;
157
+ }
158
+
140
159
  /* ============================================================
141
160
  Fluid content width (document / "site" preset)
142
161
 
@@ -16,6 +16,7 @@ const ALLOWED_TAGS = {
16
16
  task: ['p', 'br', 'strong', 'em', 'a', 'span', 'u', 's', 'code', 'ul', 'ol', 'li', 'blockquote'],
17
17
  email: ['p', 'br', 'strong', 'em', 'a', 'span', 'u', 's', 'code', 'ul', 'ol', 'li', 'blockquote', 'h2', 'h3', 'div', 'img'],
18
18
  document: ['p', 'br', 'strong', 'em', 'a', 'span', 'u', 's', 'code', 'ul', 'ol', 'li', 'blockquote', 'h1', 'h2', 'h3', 'h4', 'hr', 'div', 'mark', 'img', 'table', 'thead', 'tbody', 'tr', 'th', 'td', 'iframe'],
19
+ 'block-email': ['p', 'br', 'strong', 'em', 'a', 'span', 'u', 's', 'code', 'ul', 'ol', 'li', 'blockquote', 'h2', 'h3', 'div', 'img'],
19
20
  };
20
21
  /** iframes are permitted only with an https: source (blocks javascript:/data:/http:). */
21
22
  const SAFE_IFRAME_SRC_RE = /^https:\/\/[^\s"'<>]+$/i;
@@ -37,8 +38,22 @@ export class CoRichTextViewer {
37
38
  watchInputs() {
38
39
  return this.compute();
39
40
  }
41
+ /** Parse `features` (JSON string via HTML attr, or object via JS property). */
42
+ get parsedFeatures() {
43
+ if (!this.features)
44
+ return undefined;
45
+ if (typeof this.features === 'string') {
46
+ try {
47
+ return JSON.parse(this.features);
48
+ }
49
+ catch (_a) {
50
+ return undefined;
51
+ }
52
+ }
53
+ return this.features;
54
+ }
40
55
  sanitizeHtml(html) {
41
- var _a;
56
+ var _a, _b;
42
57
  DOMPurify.addHook('uponSanitizeElement', (node, data) => {
43
58
  var _a, _b;
44
59
  // Only allow <input type="checkbox"> (task list checkboxes); strip others.
@@ -52,10 +67,22 @@ export class CoRichTextViewer {
52
67
  (_b = node.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(node);
53
68
  }
54
69
  });
70
+ // Feature overrides only WIDEN the whitelist (mirrors the rich-text
71
+ // package's `configFor`). `mentions` re-admits the V1 quill markup attrs so
72
+ // the mention chip keeps its style hook in read mode — the new markup
73
+ // (data-mention-id/label) is always allowed. image/variables attrs are
74
+ // already in the base list below.
75
+ const allowedAttr = ['href', 'target', 'rel', 'data-variable', 'data-mention-id', 'data-mention-label', 'style', 'colspan', 'rowspan', 'src', 'alt', 'width', 'height', 'allowfullscreen', 'frameborder', 'allow', 'loading', 'data-youtube-video', 'data-iframe', 'data-image-layout', 'data-file-id', 'type', 'checked', 'disabled'];
76
+ if ((_a = this.parsedFeatures) === null || _a === void 0 ? void 0 : _a.mentions) {
77
+ for (const a of ['data-id', 'data-value', 'data-denotation-char', 'data-index']) {
78
+ if (!allowedAttr.includes(a))
79
+ allowedAttr.push(a);
80
+ }
81
+ }
55
82
  try {
56
83
  const clean = DOMPurify.sanitize(html, {
57
- ALLOWED_TAGS: (_a = ALLOWED_TAGS[this.preset]) !== null && _a !== void 0 ? _a : ALLOWED_TAGS.document,
58
- ALLOWED_ATTR: ['href', 'target', 'rel', 'data-variable', 'data-mention-id', 'data-mention-label', 'style', 'colspan', 'rowspan', 'src', 'alt', 'width', 'height', 'allowfullscreen', 'frameborder', 'allow', 'loading', 'data-youtube-video', 'data-iframe', 'data-image-layout', 'data-file-id', 'type', 'checked', 'disabled'],
84
+ ALLOWED_TAGS: (_b = ALLOWED_TAGS[this.preset]) !== null && _b !== void 0 ? _b : ALLOWED_TAGS.document,
85
+ ALLOWED_ATTR: allowedAttr,
59
86
  ALLOW_DATA_ATTR: false,
60
87
  FORBID_TAGS: ['script', 'object', 'embed', 'form', 'textarea', 'style'],
61
88
  ADD_ATTR: ['allowfullscreen', 'frameborder', 'allow', 'loading'],
@@ -154,7 +181,7 @@ export class CoRichTextViewer {
154
181
  "mutable": false,
155
182
  "complexType": {
156
183
  "original": "RichTextPreset",
157
- "resolved": "\"comment\" | \"document\" | \"email\" | \"task\"",
184
+ "resolved": "\"block-email\" | \"comment\" | \"document\" | \"email\" | \"task\"",
158
185
  "references": {
159
186
  "RichTextPreset": {
160
187
  "location": "import",
@@ -214,6 +241,25 @@ export class CoRichTextViewer {
214
241
  "reflect": false,
215
242
  "attribute": "compact",
216
243
  "defaultValue": "false"
244
+ },
245
+ "features": {
246
+ "type": "string",
247
+ "mutable": false,
248
+ "complexType": {
249
+ "original": "string | object",
250
+ "resolved": "object | string | undefined",
251
+ "references": {}
252
+ },
253
+ "required": false,
254
+ "optional": true,
255
+ "docs": {
256
+ "tags": [],
257
+ "text": "Feature overrides (JSON string for HTML attr, or object via JS property) \u2014\nmirror the editor's `features`. They only WIDEN the whitelist: e.g.\n`mentions` keeps the V1 quill markup attrs (`data-id`,\n`data-denotation-char`, \u2026) so the mention chip keeps its style hook in\nread mode. Without it the preset profile strips them."
258
+ },
259
+ "getter": false,
260
+ "setter": false,
261
+ "reflect": false,
262
+ "attribute": "features"
217
263
  }
218
264
  };
219
265
  }
@@ -232,6 +278,9 @@ export class CoRichTextViewer {
232
278
  }, {
233
279
  "propName": "preset",
234
280
  "methodName": "watchInputs"
281
+ }, {
282
+ "propName": "features",
283
+ "methodName": "watchInputs"
235
284
  }];
236
285
  }
237
286
  }
@@ -13,11 +13,11 @@ export class CoRow {
13
13
  this.size = 'sm';
14
14
  }
15
15
  render() {
16
- return (h("div", { key: '3b77dcfd8a0d6fccdb5932e2dd316ab1166e13e9', class: {
16
+ return (h("div", { key: 'acd6c8b2a2c0331dcad0b0308f407a999e52f049', class: {
17
17
  'co-row': true,
18
18
  [`co-row--${this.position}`]: true,
19
19
  [`co-row--${this.size}`]: true,
20
- }, part: "row" }, h("div", { key: '0f0112ad8cf977587af1cc756ec822ca5d8c81fc', class: "co-row__prefix" }, h("slot", { key: 'd6ac18b41dca0597dba80f5d49554471832b6c4f', name: "prefix" })), h("div", { key: '8c1de305f4268cc8d10f6ba1203750bd96061dc3', class: "co-row__content" }, h("slot", { key: 'fe882bbb96faae81377c4613024a74762f84c113' })), h("div", { key: '0bb2646c6f0d4f52573021b76e3a950ddca11056', class: "co-row__suffix" }, h("slot", { key: '3518a826a39d3491a24067a9be3a5284e6a184d4', name: "suffix" }))));
20
+ }, part: "row" }, h("div", { key: '3680dafc73ecf8c394a7dcbbd77fb89d73862c76', class: "co-row__prefix" }, h("slot", { key: '9b6629d967b4a88264481a25cd042c3ab01fa173', name: "prefix" })), h("div", { key: '7796ddafded2b51672f9ff4bcea3432faa855427', class: "co-row__content" }, h("slot", { key: 'fa09c61de348af277be8c5538bc95eb4b30faf07' })), h("div", { key: '1881efe091915d3f45a5ef8035970cebeb27def0', class: "co-row__suffix" }, h("slot", { key: '580c7f8d19a886f5d0efed9c8fdfcbb60daa0630', name: "suffix" }))));
21
21
  }
22
22
  static get is() { return "co-row"; }
23
23
  static get encapsulation() { return "shadow"; }
@@ -730,7 +730,7 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
730
730
  /* Figma Text Field parity (same box as co-input): solid page surface +
731
731
  Negro 25% border — tinted glass didn't read as editable on white. */
732
732
  background: var(--co-semantic-surface-page);
733
- border: 1px solid var(--co-color-opacity-negro-25, rgba(31, 28, 27, 0.25));
733
+ border: 1px solid var(--co-semantic-border-field);
734
734
  border-radius: var(--co-border-radius-xs);
735
735
  min-height: 40px;
736
736
  box-sizing: border-box;
@@ -738,6 +738,17 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
738
738
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
739
739
  }
740
740
 
741
+ /* ── Variant: flat (no border/background — reads as content) ──────────
742
+ Border-width/radius are left untouched (only the color goes transparent),
743
+ so padding/box size never shift between default and flat. Placed here
744
+ (before size variants and ahead of open/disabled/status below) so the
745
+ equal-specificity (0,2,0) state selectors win their cascade tie by
746
+ source order and keep showing through on top of flat, same as today. */
747
+ .co-select--flat .co-select__trigger {
748
+ background: transparent;
749
+ border-color: transparent;
750
+ }
751
+
741
752
  /* ── Multiple: selected values as removable chips (mirror co-ref-field) ── */
742
753
  .co-select__chips {
743
754
  flex: 1;
@@ -16,6 +16,11 @@ export class CoSelect {
16
16
  this.value = '';
17
17
  this.multiple = false;
18
18
  this.size = 'md';
19
+ /** Visual style. `flat` strips the trigger's border and background so it
20
+ * reads as plain content instead of a boxed control — padding, label,
21
+ * focus ring, disabled and status states are unaffected. `default` (the
22
+ * standard bordered box) renders identically to before this prop existed. */
23
+ this.variant = 'default';
19
24
  /** Show a search box inside the dropdown to filter options client-side. */
20
25
  this.searchable = false;
21
26
  this.searchPlaceholder = 'Search…';
@@ -208,19 +213,20 @@ export class CoSelect {
208
213
  var _a;
209
214
  const selected = this.selectedValues;
210
215
  const options = this.filteredOptions;
211
- return (h("div", { key: 'e52ada6dab00c28435576237271547db70c66b7a', class: {
216
+ return (h("div", { key: 'dda1b5f2f72939374a748224137586c8cc67cfcb', class: {
212
217
  'co-select': true,
213
218
  'co-select--open': this.isOpen,
214
219
  'co-select--disabled': this.disabled,
215
220
  [`co-select--${this.size}`]: true,
216
221
  [`co-select--${this.status}`]: this.status !== 'default',
217
- } }, (this.label || this.secondaryLabel) && (h("div", { key: '45c9c037da6523f7ffaea58f22363f239e1537d3', class: "co-select__labels" }, this.label && h("label", { key: '611dec09fd4637c09ca45e8fbb9a930bafaf8e15', class: "co-select__label" }, this.label, h(RequiredMark, { key: '75f302013790f9cf73da4db38a1c8635d8132a2e', required: this.required })), this.secondaryLabel && h("span", { key: '49404c2801028303e2bb825f1eb5e0d1854cf72a', class: "co-select__secondary-label" }, this.secondaryLabel))), h("co-popover", { key: '2169518b1ed1944b4b483e19a72507865762764a', open: this.isOpen, placement: "bottom-start", matchWidth: true, offset: 4, onCoOpen: this.handlePopoverOpen, onCoClose: this.handlePopoverClose }, h("div", { key: '6d4984781b7b59ba09c77b24677e4911a3f0827b', slot: "trigger", class: "co-select__trigger", onClick: this.handleTriggerClick }, this.iconLeft && h("co-icon", { key: '8aa3d88126db4f7840b8080c46fe00a1e498dc7f', name: this.iconLeft, size: 16, class: "co-select__icon" }), ((_a = this.selectedOption) === null || _a === void 0 ? void 0 : _a.image) && (h("img", { key: '6cf713b9dbbd2923d6543a9903e998ee83185010', class: "co-select__flag", src: this.selectedOption.image, alt: "" })), this.multiple && this.hasValue ? (h("div", { class: "co-select__chips" }, this.selectedValues.map((v) => {
222
+ 'co-select--flat': this.variant === 'flat',
223
+ } }, (this.label || this.secondaryLabel) && (h("div", { key: '5947cfc99c31904238dd3c86c4da4e42e7d94ba3', class: "co-select__labels" }, this.label && h("label", { key: 'fac1de54916c5b0701c10b3b618c41f8319c3a50', class: "co-select__label" }, this.label, h(RequiredMark, { key: '12f175c2dc67ef19c949fd517e38cd2c32b55084', required: this.required })), this.secondaryLabel && h("span", { key: 'a1a0fa82fc220952e4c8225e13fa8bbb2cbbe310', class: "co-select__secondary-label" }, this.secondaryLabel))), h("co-popover", { key: '126cb2923ea3a5e3646697fd514050258c82bcaa', open: this.isOpen, placement: "bottom-start", matchWidth: true, offset: 4, onCoOpen: this.handlePopoverOpen, onCoClose: this.handlePopoverClose }, h("div", { key: '0b3dd75a9d0bb427bc8e5c8f17fe5c297855a899', slot: "trigger", class: "co-select__trigger", onClick: this.handleTriggerClick }, this.iconLeft && h("co-icon", { key: 'ad2fa6c5a6798314097d8e0715cddff8ce349586', name: this.iconLeft, size: 16, class: "co-select__icon" }), ((_a = this.selectedOption) === null || _a === void 0 ? void 0 : _a.image) && (h("img", { key: '36e7407bf782a1adb15cd41432bc4f36d5605094', class: "co-select__flag", src: this.selectedOption.image, alt: "" })), this.multiple && this.hasValue ? (h("div", { class: "co-select__chips" }, this.selectedValues.map((v) => {
218
224
  const opt = this.parsedOptions.find((o) => o.value === v);
219
225
  return (h("span", { class: "co-select__chip", key: v }, h("span", { class: "co-select__chip-label" }, opt ? opt.label : v), h("button", { class: "co-select__chip-remove", type: "button", tabIndex: -1, "aria-label": "Remove", onClick: (e) => {
220
226
  e.stopPropagation();
221
227
  this.handleOptionClick(v);
222
228
  } }, h("co-icon", { name: "x", size: 12 }))));
223
- }))) : (h("span", { class: { 'co-select__text': true, 'co-select__text--placeholder': !this.hasValue } }, this.hasValue ? this.displayText : this.placeholder)), this.clearable && this.hasValue && !this.disabled && (h("button", { key: 'b2e65bbec3c9f4eade2f250b8f446fc7719ac87f', class: "co-select__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: 'ec6bef7248b519d032c831208a89d8fdabdd5e85', name: "x-circle", size: 16, weight: "fill" }))), h("co-icon", { key: '9e43c223117d1a30b3b24f1e64a4bf1ca2e003db', name: this.isOpen ? 'caret-up' : 'caret-down', size: 16, class: "co-select__caret" })), h("div", { key: 'c622ad50ad8667ffa1094d9f53a467588963a720', class: "co-select__dropdown" }, this.isOpen && this.searchable && (h("div", { key: 'a20bb6f186b6c740da4f7f22392dd5369dd1cd15', class: "co-select__search" }, h("co-icon", { key: '02a8fbbcdc31b6924bc69255c692cb9c89210321', name: "magnifying-glass", size: 16, class: "co-select__search-icon" }), h("input", { key: '5323a3037c9deb9855d65ec1d3246ba80b0811e2', class: "co-select__search-input", type: "text", placeholder: this.searchPlaceholder, value: this.searchText, onInput: this.handleSearchInput, ref: (el) => (this.searchInputEl = el) }))), this.isOpen && this.searchable && options.length === 0 && (h("div", { key: 'b9d8a5f12e278bf5b8ff813b22e43f7e8ffee0fb', class: "co-select__empty" }, this.emptyText)), h("div", { key: '7f84a589795e9333e18926854ead79dc0fa3c6e1', class: "co-select__options", ref: (el) => (this.optionsContainerEl = el) }, this.isOpen && (() => {
229
+ }))) : (h("span", { class: { 'co-select__text': true, 'co-select__text--placeholder': !this.hasValue } }, this.hasValue ? this.displayText : this.placeholder)), this.clearable && this.hasValue && !this.disabled && (h("button", { key: '3e97e8239b922280a21cd0fa53d37cbb15f313ba', class: "co-select__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: 'da2171535417fed8e6a3422120c13f4f860354e3', name: "x-circle", size: 16, weight: "fill" }))), h("co-icon", { key: 'e262edfb38a2bcd9771082c78af22ae3816a4472', name: this.isOpen ? 'caret-up' : 'caret-down', size: 16, class: "co-select__caret" })), h("div", { key: 'd557662d3722a7a60e7b499fea0c47a11bb86737', class: "co-select__dropdown" }, this.isOpen && this.searchable && (h("div", { key: '7248c5417c929016e43eba3754ef74cb68e21d76', class: "co-select__search" }, h("co-icon", { key: 'a88c9f7da98cb112d33a7bc6f970f503d7fbfcdc', name: "magnifying-glass", size: 16, class: "co-select__search-icon" }), h("input", { key: 'ed90bd495b6d92941af5f585d24ad9a4986757d9', class: "co-select__search-input", type: "text", placeholder: this.searchPlaceholder, value: this.searchText, onInput: this.handleSearchInput, ref: (el) => (this.searchInputEl = el) }))), this.isOpen && this.searchable && options.length === 0 && (h("div", { key: '0b9a0a98cb298dd25f2f869f7c6d01ced4c030a8', class: "co-select__empty" }, this.emptyText)), h("div", { key: '4c0aa1f9e0f0f3fcede94decb037217466c80ca5', class: "co-select__options", ref: (el) => (this.optionsContainerEl = el) }, this.isOpen && (() => {
224
230
  const { totalHeight, startIdx, endIdx, offsetY } = this.getVirtualSlice(options);
225
231
  return (h("div", { class: "co-select__virtual-spacer", style: { height: `${totalHeight}px`, position: 'relative' } }, h("div", { style: { position: 'absolute', top: `${offsetY}px`, left: '0', right: '0' } }, options.slice(startIdx, endIdx).map(opt => {
226
232
  const isSelected = selected.includes(opt.value);
@@ -231,7 +237,7 @@ export class CoSelect {
231
237
  'co-select__option--disabled': isDisabled,
232
238
  }, onClick: () => !isDisabled && this.handleOptionClick(opt.value) }, opt.image ? (h("img", { class: "co-select__option-flag", src: opt.image, alt: "", loading: "lazy" })) : opt.icon ? (h("co-icon", { name: opt.icon, size: 20, class: "co-select__option-icon" })) : null, h("span", { class: "co-select__option-label" }, this.renderLabel(opt.label)), isSelected && h("co-icon", { name: "check", size: 16, class: "co-select__option-check" })));
233
239
  }))));
234
- })()))), this.helperText && (h("div", { key: '2d65962fc0025c8bf2b3950328e0187a15c92cf8', class: `co-select__helper co-select__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: 'c64d2b35fb10dbe5e25a9db78c7155f9cfdde33c', name: this.statusIcon, size: 14, weight: "fill", class: "co-select__helper-icon" }), h("span", { key: 'e49697063342fd79a85e101a821f944e781c9ef5', class: "co-select__helper-text" }, this.helperText)))));
240
+ })()))), this.helperText && (h("div", { key: 'b7f14d7e02dd3fe15be6c0f82b13df14edc0db60', class: `co-select__helper co-select__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: '384f8ecbf6b20da23a7ff6e0b8e1745058e624ef', name: this.statusIcon, size: 14, weight: "fill", class: "co-select__helper-icon" }), h("span", { key: '26d47cad143f8d66819d497d4618893599665aff', class: "co-select__helper-text" }, this.helperText)))));
235
241
  }
236
242
  static get is() { return "co-select"; }
237
243
  static get encapsulation() { return "shadow"; }
@@ -529,6 +535,26 @@ export class CoSelect {
529
535
  "attribute": "size",
530
536
  "defaultValue": "'md'"
531
537
  },
538
+ "variant": {
539
+ "type": "string",
540
+ "mutable": false,
541
+ "complexType": {
542
+ "original": "'default' | 'flat'",
543
+ "resolved": "\"default\" | \"flat\"",
544
+ "references": {}
545
+ },
546
+ "required": false,
547
+ "optional": false,
548
+ "docs": {
549
+ "tags": [],
550
+ "text": "Visual style. `flat` strips the trigger's border and background so it\nreads as plain content instead of a boxed control \u2014 padding, label,\nfocus ring, disabled and status states are unaffected. `default` (the\nstandard bordered box) renders identically to before this prop existed."
551
+ },
552
+ "getter": false,
553
+ "setter": false,
554
+ "reflect": true,
555
+ "attribute": "variant",
556
+ "defaultValue": "'default'"
557
+ },
532
558
  "searchable": {
533
559
  "type": "boolean",
534
560
  "mutable": false,
@@ -57,7 +57,7 @@ export class CoSeparator {
57
57
  style['--co-separator-inset-end'] = '0px';
58
58
  }
59
59
  }
60
- return (h("hr", { key: '79a2dd5c7bc7d37d1b9d77b03e72b6014228532b', class: {
60
+ return (h("hr", { key: 'ef9b9d7c11ca50e1042ddb613ee3bbaaf7802972', class: {
61
61
  'co-separator': true,
62
62
  'co-separator--vertical': this.vertical,
63
63
  'co-separator--dark': this.dark,
@@ -10,10 +10,10 @@ export class CoSidebar {
10
10
  this.mode = 'full';
11
11
  }
12
12
  render() {
13
- return (h("nav", { key: 'ea33fc3e60a0b3e7f5d5ad37569524aa46b1cb76', class: {
13
+ return (h("nav", { key: '1bc3acd9fa28f05c9665d9fe0ab78b9bf701b56e', class: {
14
14
  'co-sidebar': true,
15
15
  [`co-sidebar--${this.mode}`]: true,
16
- }, part: "sidebar" }, h("div", { key: '7feaf48ba91059cf5b046579b68adfbfb896850d', class: "co-sidebar__header", part: "header" }, h("slot", { key: '869fd6af70b09829ef05f15b2fdab554a978f1f8', name: "header" })), h("div", { key: '1bc044d4c70854b748e473041fea378ca1e3bd4f', class: "co-sidebar__body", part: "body" }, h("slot", { key: '0c0033d1af7a9dd902a61da6e97811e75214e9c5' })), h("div", { key: 'ef37cc7709b4d6afc420f1e3aaba13b6db2997e6', class: "co-sidebar__footer", part: "footer" }, h("slot", { key: 'df1b6a08c313ed1818fcfd93a89f9c1cd709bccd', name: "footer" }))));
16
+ }, part: "sidebar" }, h("div", { key: 'a69b8746d524053a6caac9d8c5c8764f414cb599', class: "co-sidebar__header", part: "header" }, h("slot", { key: '6f4fe0997327537261663c3177c29bd59aba2f3f', name: "header" })), h("div", { key: 'f1c5d4fd6d11c5c872591706ab0c84d238bdf09b', class: "co-sidebar__body", part: "body" }, h("slot", { key: '06b3192da38333283cf1a2c7e2c4922bce2d4b56' })), h("div", { key: 'fb16f4a10d90cbbb82afbad3c531f5e807039cb8', class: "co-sidebar__footer", part: "footer" }, h("slot", { key: '916b98484c92cb8c9e24f7b0e2facbd926bc8f68', name: "footer" }))));
17
17
  }
18
18
  static get is() { return "co-sidebar"; }
19
19
  static get encapsulation() { return "shadow"; }
@@ -16,7 +16,7 @@ export class CoSkeleton {
16
16
  const style = { width: this.width };
17
17
  if (this.height)
18
18
  style.height = this.height;
19
- return (h("div", { key: 'e62aec4781b1ef8b7b4fa2ba423cf9e94184646a', class: { 'co-skeleton': true, [`co-skeleton--${this.variant}`]: true }, part: "skeleton", style: style, "aria-hidden": "true" }));
19
+ return (h("div", { key: '62e14646999122acf4190e503bc89ba1a75a16a0', class: { 'co-skeleton': true, [`co-skeleton--${this.variant}`]: true }, part: "skeleton", style: style, "aria-hidden": "true" }));
20
20
  }
21
21
  static get is() { return "co-skeleton"; }
22
22
  static get encapsulation() { return "shadow"; }