@prolibu-suite/cobalt-core 0.1.2 → 0.3.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 (682) hide show
  1. package/custom-elements.json +21351 -7087
  2. package/dist/cjs/co-accordion.cjs.entry.js +19 -4
  3. package/dist/cjs/co-app-shell.cjs.entry.js +4 -4
  4. package/dist/cjs/co-autocomplete.cjs.entry.js +54 -6
  5. package/dist/cjs/co-avatar-group.cjs.entry.js +77 -0
  6. package/dist/cjs/co-avatar.cjs.entry.js +42 -7
  7. package/dist/cjs/co-badge.cjs.entry.js +2 -2
  8. package/dist/cjs/co-bottom-sheet.cjs.entry.js +325 -0
  9. package/dist/cjs/co-button-group.cjs.entry.js +3 -3
  10. package/dist/cjs/co-button.cjs.entry.js +12 -7
  11. package/dist/cjs/co-calendar-month.cjs.entry.js +381 -0
  12. package/dist/cjs/co-calendar_3.cjs.entry.js +692 -0
  13. package/dist/cjs/co-card.cjs.entry.js +21 -4
  14. package/dist/cjs/co-checkbox-group.cjs.entry.js +7 -5
  15. package/dist/cjs/co-checkbox.cjs.entry.js +5 -5
  16. package/dist/cjs/co-chip.cjs.entry.js +11 -8
  17. package/dist/cjs/co-color-picker.cjs.entry.js +111 -0
  18. package/dist/cjs/co-column-picker.cjs.entry.js +443 -0
  19. package/dist/cjs/co-combobox.cjs.entry.js +51 -15
  20. package/dist/cjs/co-command-search.cjs.entry.js +159 -13
  21. package/dist/cjs/co-data-table-pagination.cjs.entry.js +5 -5
  22. package/dist/cjs/co-data-table.cjs.entry.js +38 -12
  23. package/dist/cjs/co-date-picker.cjs.entry.js +177 -0
  24. package/dist/cjs/co-date-range-picker.cjs.entry.js +378 -0
  25. package/dist/cjs/co-date-range.cjs.entry.js +13 -259
  26. package/dist/cjs/co-empty-state.cjs.entry.js +2 -2
  27. package/dist/cjs/co-event-calendar.cjs.entry.js +318 -0
  28. package/dist/cjs/co-fab.cjs.entry.js +3 -3
  29. package/dist/cjs/co-file-field.cjs.entry.js +498 -0
  30. package/dist/cjs/co-helper-text.cjs.entry.js +3 -3
  31. package/dist/cjs/co-icon-button.cjs.entry.js +6 -6
  32. package/dist/cjs/co-icon.cjs.entry.js +36 -25
  33. package/dist/cjs/co-input.cjs.entry.js +13 -8
  34. package/dist/cjs/co-json-field.cjs.entry.js +113 -0
  35. package/dist/cjs/co-lightbox.cjs.entry.js +344 -0
  36. package/dist/cjs/co-list-footer.cjs.entry.js +25 -0
  37. package/dist/cjs/co-list-item.cjs.entry.js +70 -4
  38. package/dist/cjs/co-loader_2.cjs.entry.js +293 -0
  39. package/dist/cjs/co-menu-divider.cjs.entry.js +2 -2
  40. package/dist/cjs/co-menu-item.cjs.entry.js +17 -10
  41. package/dist/cjs/co-menu.cjs.entry.js +2 -2
  42. package/dist/cjs/co-modal.cjs.entry.js +25 -3
  43. package/dist/cjs/co-navbar.cjs.entry.js +4 -4
  44. package/dist/cjs/co-number-field.cjs.entry.js +60 -12
  45. package/dist/cjs/co-page-header.cjs.entry.js +2 -2
  46. package/dist/cjs/co-phone-field.cjs.entry.js +378 -0
  47. package/dist/cjs/co-popover.cjs.entry.js +46 -15
  48. package/dist/cjs/co-progress-bar.cjs.entry.js +8 -4
  49. package/dist/cjs/co-progress-circle.cjs.entry.js +38 -0
  50. package/dist/cjs/co-radio-group.cjs.entry.js +7 -5
  51. package/dist/cjs/co-radio.cjs.entry.js +4 -4
  52. package/dist/cjs/co-rating.cjs.entry.js +4 -4
  53. package/dist/cjs/co-ref-field.cjs.entry.js +214 -21
  54. package/dist/cjs/co-rich-text-editor.cjs.entry.js +2081 -0
  55. package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +1108 -0
  56. package/dist/cjs/co-rich-text-viewer.cjs.entry.js +118 -0
  57. package/dist/cjs/co-row.cjs.entry.js +3 -3
  58. package/dist/cjs/co-select.cjs.entry.js +119 -18
  59. package/dist/cjs/co-separator.cjs.entry.js +2 -2
  60. package/dist/cjs/co-sidebar-nav.cjs.entry.js +55 -10
  61. package/dist/cjs/co-sidebar.cjs.entry.js +3 -3
  62. package/dist/cjs/co-skeleton.cjs.entry.js +26 -0
  63. package/dist/cjs/co-slider.cjs.entry.js +3 -3
  64. package/dist/cjs/co-switch.cjs.entry.js +9 -6
  65. package/dist/cjs/co-tab-group.cjs.entry.js +2 -2
  66. package/dist/cjs/co-tab.cjs.entry.js +3 -3
  67. package/dist/cjs/co-tags-field.cjs.entry.js +211 -0
  68. package/dist/cjs/co-textarea.cjs.entry.js +96 -0
  69. package/dist/cjs/co-toast.cjs.entry.js +2 -2
  70. package/dist/cjs/co-toggle-button-group.cjs.entry.js +7 -4
  71. package/dist/cjs/co-toggle-button.cjs.entry.js +4 -4
  72. package/dist/cjs/co-tooltip.cjs.entry.js +56 -15
  73. package/dist/cjs/co-transfer-list.cjs.entry.js +20 -6
  74. package/dist/cjs/co-video.cjs.entry.js +839 -0
  75. package/dist/cjs/cobalt.cjs.js +2 -2
  76. package/dist/cjs/dateI18n-BdiNAl0_.js +106 -0
  77. package/dist/cjs/dates-D8D-aS5d.js +432 -0
  78. package/dist/cjs/fieldChip-CDIMz_Y6.js +7 -0
  79. package/dist/cjs/index-5NdsiFjZ.js +35405 -0
  80. package/dist/cjs/{index-BEovErzl.js → index-BumlM92r.js} +115 -23
  81. package/dist/cjs/loader.cjs.js +2 -2
  82. package/dist/cjs/normalizeText-B-v-XPKf.js +96 -0
  83. package/dist/cjs/overlayAfterClose-BdeXrhVY.js +12 -0
  84. package/dist/cjs/overlayScroll-ifzDNeyb.js +25 -0
  85. package/dist/cjs/overlayscrollbars-BlBHo2Xx.js +2842 -0
  86. package/dist/cjs/{positioning-DozpXyBd.js → positioning-DwHW399W.js} +40 -25
  87. package/dist/cjs/purify.es-DX41ZWS2.js +1776 -0
  88. package/dist/cjs/requiredMark-CqMGt1H1.js +16 -0
  89. package/dist/cjs/richTextI18n-B7ktXg3M.js +382 -0
  90. package/dist/cjs/toolbar-config-3PlT-3zm.js +216 -0
  91. package/dist/cjs/tz-Dgom0W69.js +127 -0
  92. package/dist/cobalt/cobalt.css +1 -1
  93. package/dist/cobalt/cobalt.esm.js +1 -1
  94. package/dist/cobalt/p-0a506c9d.entry.js +1 -0
  95. package/dist/cobalt/p-0bb55163.entry.js +1 -0
  96. package/dist/cobalt/{p-fb047df8.entry.js → p-0e8c0d87.entry.js} +1 -1
  97. package/dist/cobalt/p-12e2c2c4.entry.js +1 -0
  98. package/dist/cobalt/p-136ad468.entry.js +1 -0
  99. package/dist/cobalt/p-14b59277.entry.js +1 -0
  100. package/dist/cobalt/p-1531d3c9.entry.js +1 -0
  101. package/dist/cobalt/p-1774d211.entry.js +1 -0
  102. package/dist/cobalt/{p-c7517f86.entry.js → p-180e1106.entry.js} +1 -1
  103. package/dist/cobalt/p-1a07c23c.entry.js +1 -0
  104. package/dist/cobalt/p-1dc9c49e.entry.js +1 -0
  105. package/dist/cobalt/p-1f747e45.entry.js +1 -0
  106. package/dist/cobalt/{p-d29c77cb.entry.js → p-201eaf35.entry.js} +1 -1
  107. package/dist/cobalt/p-260101ab.entry.js +1 -0
  108. package/dist/cobalt/p-279bf91c.entry.js +1 -0
  109. package/dist/cobalt/p-29be61a9.entry.js +1 -0
  110. package/dist/cobalt/p-2d2ce434.entry.js +1 -0
  111. package/dist/cobalt/{p-416bb5ae.entry.js → p-2f86e1e0.entry.js} +1 -1
  112. package/dist/cobalt/{p-4cf6d1f4.entry.js → p-31ab9a46.entry.js} +1 -1
  113. package/dist/cobalt/{p-319937c3.entry.js → p-37595103.entry.js} +1 -1
  114. package/dist/cobalt/p-377c2ccc.entry.js +1 -0
  115. package/dist/cobalt/p-3863ea91.entry.js +1 -0
  116. package/dist/cobalt/p-3a257cb0.entry.js +1 -0
  117. package/dist/cobalt/p-3e187456.entry.js +1 -0
  118. package/dist/cobalt/p-4431faac.entry.js +1 -0
  119. package/dist/cobalt/{p-4d8ff00a.entry.js → p-4504f7b0.entry.js} +1 -1
  120. package/dist/cobalt/p-456fa86f.entry.js +1 -0
  121. package/dist/cobalt/p-4871690e.entry.js +1 -0
  122. package/dist/cobalt/p-4c01d984.entry.js +1 -0
  123. package/dist/cobalt/p-51a53177.entry.js +1 -0
  124. package/dist/cobalt/p-52de17da.entry.js +1 -0
  125. package/dist/cobalt/p-5890e4d1.entry.js +1 -0
  126. package/dist/cobalt/{p-e50c4c6f.entry.js → p-58a53421.entry.js} +1 -1
  127. package/dist/cobalt/p-62274eba.entry.js +1 -0
  128. package/dist/cobalt/p-635b03d5.entry.js +1 -0
  129. package/dist/cobalt/p-64ddee92.entry.js +1 -0
  130. package/dist/cobalt/p-65af5017.entry.js +1 -0
  131. package/dist/cobalt/p-69d4c0c8.entry.js +1 -0
  132. package/dist/cobalt/p-6c480916.entry.js +1 -0
  133. package/dist/cobalt/p-6d1217c3.entry.js +1 -0
  134. package/dist/cobalt/p-6e808b3a.entry.js +1 -0
  135. package/dist/cobalt/{p-697df797.entry.js → p-70b14b05.entry.js} +1 -1
  136. package/dist/cobalt/{p-1d7da33f.entry.js → p-790d384e.entry.js} +1 -1
  137. package/dist/cobalt/p-8012e152.entry.js +1 -0
  138. package/dist/cobalt/p-80b27203.entry.js +1 -0
  139. package/dist/cobalt/p-867c1465.entry.js +1 -0
  140. package/dist/cobalt/p-86a143d7.entry.js +1 -0
  141. package/dist/cobalt/{p-3b2f7959.entry.js → p-8d59f5ad.entry.js} +1 -1
  142. package/dist/cobalt/p-8d7fdb9d.entry.js +1 -0
  143. package/dist/cobalt/p-8dc1dab8.entry.js +1 -0
  144. package/dist/cobalt/p-8e1dc062.entry.js +1 -0
  145. package/dist/cobalt/p-929e647f.entry.js +1 -0
  146. package/dist/cobalt/p-92bd9b29.entry.js +1 -0
  147. package/dist/cobalt/p-93046365.entry.js +1 -0
  148. package/dist/cobalt/p-98ab5f3f.entry.js +1 -0
  149. package/dist/cobalt/p-9a04ca90.entry.js +1 -0
  150. package/dist/cobalt/{p-ebd1555e.entry.js → p-9a088515.entry.js} +1 -1
  151. package/dist/cobalt/p-9abbd436.entry.js +1 -0
  152. package/dist/cobalt/p-9d69c067.entry.js +1 -0
  153. package/dist/cobalt/p-B-ckjCUA.js +1 -0
  154. package/dist/cobalt/p-B2QLgWrz.js +2 -0
  155. package/dist/cobalt/p-B6JZk8fL.js +1 -0
  156. package/dist/cobalt/p-BZJ7NCm5.js +1 -0
  157. package/dist/cobalt/p-C1DCLOEl.js +1 -0
  158. package/dist/cobalt/p-C2mZ7x_Y.js +1 -0
  159. package/dist/cobalt/p-CQY6Ul7q.js +1 -0
  160. package/dist/cobalt/p-CYsftTKf.js +2 -0
  161. package/dist/cobalt/p-CegCk7FL.js +1 -0
  162. package/dist/cobalt/p-Ch1jfwZ2.js +1 -0
  163. package/dist/cobalt/p-ChibIpZv.js +1 -0
  164. package/dist/cobalt/p-DqyWGweA.js +1 -0
  165. package/dist/cobalt/p-afb7e19e.entry.js +1 -0
  166. package/dist/cobalt/p-b6f20268.entry.js +1 -0
  167. package/dist/cobalt/p-ba90e871.entry.js +1 -0
  168. package/dist/cobalt/p-c10697e1.entry.js +1 -0
  169. package/dist/cobalt/p-c4f59532.entry.js +1 -0
  170. package/dist/cobalt/{p-1b5c723a.entry.js → p-cb235aa7.entry.js} +1 -1
  171. package/dist/cobalt/p-cfb36943.entry.js +1 -0
  172. package/dist/cobalt/p-d809bd44.entry.js +1 -0
  173. package/dist/cobalt/p-e53861e4.entry.js +1 -0
  174. package/dist/cobalt/p-e54dd404.entry.js +1 -0
  175. package/dist/cobalt/{p-1021f612.entry.js → p-eb18fdbf.entry.js} +1 -1
  176. package/dist/cobalt/{p-a7fa4484.entry.js → p-eb73052a.entry.js} +1 -1
  177. package/dist/cobalt/p-ef7d4ae3.entry.js +1 -0
  178. package/dist/cobalt/p-f4063c41.entry.js +1 -0
  179. package/dist/cobalt/p-oImf-7fN.js +1 -0
  180. package/dist/cobalt/p-ox7HzCZn.js +10 -0
  181. package/dist/cobalt/p-tPYikBRJ.js +1 -0
  182. package/dist/collection/collection-manifest.json +27 -4
  183. package/dist/collection/components/co-accordion/co-accordion.css +19 -1
  184. package/dist/collection/components/co-accordion/co-accordion.js +46 -4
  185. package/dist/collection/components/co-app-shell/co-app-shell.css +79 -6
  186. package/dist/collection/components/co-app-shell/co-app-shell.js +2 -2
  187. package/dist/collection/components/co-autocomplete/co-autocomplete.css +753 -8
  188. package/dist/collection/components/co-autocomplete/co-autocomplete.js +111 -4
  189. package/dist/collection/components/co-avatar/co-avatar.css +45 -1
  190. package/dist/collection/components/co-avatar/co-avatar.js +56 -6
  191. package/dist/collection/components/co-avatar-group/co-avatar-group.css +86 -0
  192. package/dist/collection/components/co-avatar-group/co-avatar-group.js +224 -0
  193. package/dist/collection/components/co-badge/co-badge.js +1 -1
  194. package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.css +136 -0
  195. package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.js +507 -0
  196. package/dist/collection/components/co-button/co-button.css +48 -12
  197. package/dist/collection/components/co-button/co-button.js +70 -8
  198. package/dist/collection/components/co-button-group/co-button-group.js +2 -2
  199. package/dist/collection/components/co-calendar/co-calendar.css +236 -0
  200. package/dist/collection/components/co-calendar/co-calendar.js +728 -0
  201. package/dist/collection/components/co-calendar-month/co-calendar-month.css +231 -0
  202. package/dist/collection/components/co-calendar-month/co-calendar-month.js +594 -0
  203. package/dist/collection/components/co-card/co-card.css +28 -5
  204. package/dist/collection/components/co-card/co-card.js +47 -4
  205. package/dist/collection/components/co-checkbox/co-checkbox.css +7 -1
  206. package/dist/collection/components/co-checkbox/co-checkbox.js +3 -3
  207. package/dist/collection/components/co-checkbox-group/co-checkbox-group.css +33 -1
  208. package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +25 -3
  209. package/dist/collection/components/co-chip/co-chip.css +27 -7
  210. package/dist/collection/components/co-chip/co-chip.js +52 -10
  211. package/dist/collection/components/co-color-picker/co-color-picker.css +258 -0
  212. package/dist/collection/components/co-color-picker/co-color-picker.js +355 -0
  213. package/dist/collection/components/co-color-picker/presets.js +19 -0
  214. package/dist/collection/components/co-column-picker/co-column-picker.css +490 -0
  215. package/dist/collection/components/co-column-picker/co-column-picker.js +675 -0
  216. package/dist/collection/components/co-column-picker/column-picker-node.js +34 -0
  217. package/dist/collection/components/co-column-picker/utils/column-picker-tree.js +221 -0
  218. package/dist/collection/components/co-combobox/co-combobox.css +778 -51
  219. package/dist/collection/components/co-combobox/co-combobox.js +130 -15
  220. package/dist/collection/components/co-command-search/co-command-search.css +167 -1
  221. package/dist/collection/components/co-command-search/co-command-search.js +362 -14
  222. package/dist/collection/components/co-command-search/commandSearchGroup.js +17 -0
  223. package/dist/collection/components/co-command-search/commandSearchLogic.js +27 -0
  224. package/dist/collection/components/co-data-table/co-data-table.css +37 -1
  225. package/dist/collection/components/co-data-table/co-data-table.js +38 -12
  226. package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.js +4 -4
  227. package/dist/collection/components/co-date-field/co-date-field.css +245 -0
  228. package/dist/collection/components/co-date-field/co-date-field.js +746 -0
  229. package/dist/collection/components/co-date-picker/co-date-picker.css +112 -0
  230. package/dist/collection/components/co-date-picker/co-date-picker.js +801 -0
  231. package/dist/collection/components/co-date-range/co-date-range.css +3 -254
  232. package/dist/collection/components/co-date-range/co-date-range.js +29 -433
  233. package/dist/collection/components/co-date-range-picker/co-date-range-picker.css +257 -0
  234. package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +1142 -0
  235. package/dist/collection/components/co-drawer/co-drawer.css +20 -0
  236. package/dist/collection/components/co-drawer/co-drawer.js +46 -2
  237. package/dist/collection/components/co-empty-state/co-empty-state.js +1 -1
  238. package/dist/collection/components/co-event-calendar/co-event-calendar.css +146 -0
  239. package/dist/collection/components/co-event-calendar/co-event-calendar.js +620 -0
  240. package/dist/collection/components/co-fab/co-fab.js +2 -2
  241. package/dist/collection/components/co-file-field/co-file-field.css +395 -0
  242. package/dist/collection/components/co-file-field/co-file-field.js +841 -0
  243. package/dist/collection/components/co-file-field/co-file-field.utils.js +47 -0
  244. package/dist/collection/components/co-helper-text/co-helper-text.js +2 -2
  245. package/dist/collection/components/co-icon/co-icon.js +7 -34
  246. package/dist/collection/components/co-icon/iconLoader.js +39 -0
  247. package/dist/collection/components/co-icon-button/co-icon-button.css +27 -6
  248. package/dist/collection/components/co-icon-button/co-icon-button.js +26 -7
  249. package/dist/collection/components/co-input/co-input.css +63 -11
  250. package/dist/collection/components/co-input/co-input.js +34 -9
  251. package/dist/collection/components/co-json-field/co-json-field.css +193 -0
  252. package/dist/collection/components/co-json-field/co-json-field.js +477 -0
  253. package/dist/collection/components/co-lightbox/co-lightbox.css +164 -0
  254. package/dist/collection/components/co-lightbox/co-lightbox.js +451 -0
  255. package/dist/collection/components/co-list-footer/co-list-footer.css +50 -0
  256. package/dist/collection/components/co-list-footer/co-list-footer.js +149 -0
  257. package/dist/collection/components/co-list-item/co-list-item.css +12 -0
  258. package/dist/collection/components/co-list-item/co-list-item.js +75 -2
  259. package/dist/collection/components/co-loader/co-loader.css +9 -0
  260. package/dist/collection/components/co-menu/co-menu.js +1 -1
  261. package/dist/collection/components/co-menu-divider/co-menu-divider.js +1 -1
  262. package/dist/collection/components/co-menu-item/co-menu-item.css +18 -0
  263. package/dist/collection/components/co-menu-item/co-menu-item.js +15 -8
  264. package/dist/collection/components/co-modal/co-modal.css +59 -5
  265. package/dist/collection/components/co-modal/co-modal.js +91 -1
  266. package/dist/collection/components/co-navbar/co-navbar.css +1 -1
  267. package/dist/collection/components/co-navbar/co-navbar.js +2 -2
  268. package/dist/collection/components/co-number-field/co-number-field.css +89 -1
  269. package/dist/collection/components/co-number-field/co-number-field.js +175 -14
  270. package/dist/collection/components/co-overlay/co-overlay.css +15 -1
  271. package/dist/collection/components/co-overlay/co-overlay.js +266 -1
  272. package/dist/collection/components/co-overlay/focusTrap.js +53 -0
  273. package/dist/collection/components/co-overlay/overlayAfterClose.js +8 -0
  274. package/dist/collection/components/co-page-header/co-page-header.js +1 -1
  275. package/dist/collection/components/co-phone-field/co-phone-field.css +293 -0
  276. package/dist/collection/components/co-phone-field/co-phone-field.js +414 -0
  277. package/dist/collection/components/co-phone-field/dial-codes.js +208 -0
  278. package/dist/collection/components/co-popover/co-popover.css +9 -0
  279. package/dist/collection/components/co-popover/co-popover.js +43 -12
  280. package/dist/collection/components/co-progress-bar/co-progress-bar.css +22 -0
  281. package/dist/collection/components/co-progress-bar/co-progress-bar.js +26 -2
  282. package/dist/collection/components/co-progress-circle/co-progress-circle.css +50 -0
  283. package/dist/collection/components/co-progress-circle/co-progress-circle.js +148 -0
  284. package/dist/collection/components/co-radio/co-radio.js +3 -3
  285. package/dist/collection/components/co-radio-group/co-radio-group.css +26 -0
  286. package/dist/collection/components/co-radio-group/co-radio-group.js +25 -3
  287. package/dist/collection/components/co-rating/co-rating.js +3 -3
  288. package/dist/collection/components/co-ref-field/co-ref-field.css +876 -56
  289. package/dist/collection/components/co-ref-field/co-ref-field.js +0 -0
  290. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.css +1322 -0
  291. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +2823 -0
  292. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.css +837 -0
  293. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.js +1289 -0
  294. package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.css +156 -0
  295. package/dist/collection/components/co-rich-text-viewer/co-rich-text-viewer.js +237 -0
  296. package/dist/collection/components/co-row/co-row.js +2 -2
  297. package/dist/collection/components/co-select/co-select.css +852 -8
  298. package/dist/collection/components/co-select/co-select.js +240 -17
  299. package/dist/collection/components/co-separator/co-separator.js +1 -1
  300. package/dist/collection/components/co-sidebar/co-sidebar.js +2 -2
  301. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.css +99 -12
  302. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +54 -9
  303. package/dist/collection/components/co-skeleton/co-skeleton.css +28 -0
  304. package/dist/collection/components/co-skeleton/co-skeleton.js +97 -0
  305. package/dist/collection/components/co-slider/co-slider.js +2 -2
  306. package/dist/collection/components/co-switch/co-switch.css +26 -1
  307. package/dist/collection/components/co-switch/co-switch.js +27 -4
  308. package/dist/collection/components/co-tab/co-tab.js +2 -2
  309. package/dist/collection/components/co-tab-group/co-tab-group.js +1 -1
  310. package/dist/collection/components/co-tags-field/co-tags-field.css +310 -0
  311. package/dist/collection/components/co-tags-field/co-tags-field.js +616 -0
  312. package/dist/collection/components/co-textarea/co-textarea.css +286 -0
  313. package/dist/collection/components/co-textarea/co-textarea.js +508 -0
  314. package/dist/collection/components/co-toast/co-toast.js +1 -1
  315. package/dist/collection/components/co-toggle-button/co-toggle-button.css +30 -6
  316. package/dist/collection/components/co-toggle-button/co-toggle-button.js +3 -3
  317. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.css +32 -12
  318. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +25 -2
  319. package/dist/collection/components/co-tooltip/co-tooltip.css +24 -0
  320. package/dist/collection/components/co-tooltip/co-tooltip.js +73 -12
  321. package/dist/collection/components/co-transfer-list/co-transfer-list.css +683 -7
  322. package/dist/collection/components/co-transfer-list/co-transfer-list.js +17 -4
  323. package/dist/collection/components/co-video/co-video.css +497 -0
  324. package/dist/collection/components/co-video/co-video.js +1772 -0
  325. package/dist/collection/utils/dateI18n.js +101 -0
  326. package/dist/collection/utils/fieldChip.js +2 -0
  327. package/dist/collection/utils/fileI18n.js +76 -0
  328. package/dist/collection/utils/icon-config.js +34 -0
  329. package/dist/collection/utils/lightboxI18n.js +42 -0
  330. package/dist/collection/utils/normalizeText.js +94 -0
  331. package/dist/collection/utils/overlayScroll.js +20 -0
  332. package/dist/collection/utils/positioning.js +40 -25
  333. package/dist/collection/utils/requiredMark.js +11 -0
  334. package/dist/collection/utils/richTextI18n.js +378 -0
  335. package/dist/collection/utils/sheetGesture.js +53 -0
  336. package/dist/components/co-accordion.js +1 -1
  337. package/dist/components/co-app-shell.js +1 -1
  338. package/dist/components/co-autocomplete.js +1 -1
  339. package/dist/components/co-avatar-group.d.ts +11 -0
  340. package/dist/components/co-avatar-group.js +1 -0
  341. package/dist/components/co-avatar.js +1 -1
  342. package/dist/components/co-badge.js +1 -1
  343. package/dist/components/co-bottom-sheet.d.ts +11 -0
  344. package/dist/components/co-bottom-sheet.js +1 -0
  345. package/dist/components/co-button-group.js +1 -1
  346. package/dist/components/co-button.js +1 -1
  347. package/dist/components/co-calendar-month.d.ts +11 -0
  348. package/dist/components/co-calendar-month.js +1 -0
  349. package/dist/components/co-calendar.d.ts +11 -0
  350. package/dist/components/co-calendar.js +1 -0
  351. package/dist/components/co-card.js +1 -1
  352. package/dist/components/co-checkbox-group.js +1 -1
  353. package/dist/components/co-checkbox.js +1 -1
  354. package/dist/components/co-chip.js +1 -1
  355. package/dist/components/co-color-picker.d.ts +11 -0
  356. package/dist/components/co-color-picker.js +1 -0
  357. package/dist/components/co-column-picker.d.ts +11 -0
  358. package/dist/components/co-column-picker.js +1 -0
  359. package/dist/components/co-combobox.js +1 -1
  360. package/dist/components/co-command-search.js +1 -1
  361. package/dist/components/co-data-table-pagination.js +1 -1
  362. package/dist/components/co-data-table.js +1 -1
  363. package/dist/components/co-date-field.d.ts +11 -0
  364. package/dist/components/co-date-field.js +1 -0
  365. package/dist/components/co-date-picker.d.ts +11 -0
  366. package/dist/components/co-date-picker.js +1 -0
  367. package/dist/components/co-date-range-picker.d.ts +11 -0
  368. package/dist/components/co-date-range-picker.js +1 -0
  369. package/dist/components/co-date-range.js +1 -1
  370. package/dist/components/co-drawer.js +1 -1
  371. package/dist/components/co-empty-state.js +1 -1
  372. package/dist/components/co-event-calendar.d.ts +11 -0
  373. package/dist/components/co-event-calendar.js +1 -0
  374. package/dist/components/co-fab.js +1 -1
  375. package/dist/components/co-file-field.d.ts +11 -0
  376. package/dist/components/co-file-field.js +1 -0
  377. package/dist/components/co-helper-text.js +1 -1
  378. package/dist/components/co-icon-button.js +1 -1
  379. package/dist/components/co-icon.js +1 -1
  380. package/dist/components/co-input.js +1 -1
  381. package/dist/components/co-json-field.d.ts +11 -0
  382. package/dist/components/co-json-field.js +1 -0
  383. package/dist/components/co-lightbox.d.ts +11 -0
  384. package/dist/components/co-lightbox.js +1 -0
  385. package/dist/components/co-list-footer.d.ts +11 -0
  386. package/dist/components/co-list-footer.js +1 -0
  387. package/dist/components/co-list-item.js +1 -1
  388. package/dist/components/co-loader.js +1 -1
  389. package/dist/components/co-menu-divider.js +1 -1
  390. package/dist/components/co-menu-item.js +1 -1
  391. package/dist/components/co-menu.js +1 -1
  392. package/dist/components/co-modal.js +1 -1
  393. package/dist/components/co-navbar.js +1 -1
  394. package/dist/components/co-number-field.js +1 -1
  395. package/dist/components/co-overlay.js +1 -1
  396. package/dist/components/co-page-header.js +1 -1
  397. package/dist/components/co-phone-field.d.ts +11 -0
  398. package/dist/components/co-phone-field.js +1 -0
  399. package/dist/components/co-popover.js +1 -1
  400. package/dist/components/co-progress-bar.js +1 -1
  401. package/dist/components/co-progress-circle.d.ts +11 -0
  402. package/dist/components/co-progress-circle.js +1 -0
  403. package/dist/components/co-radio-group.js +1 -1
  404. package/dist/components/co-radio.js +1 -1
  405. package/dist/components/co-rating.js +1 -1
  406. package/dist/components/co-ref-field.js +1 -1
  407. package/dist/components/co-rich-text-editor.d.ts +11 -0
  408. package/dist/components/co-rich-text-editor.js +1 -0
  409. package/dist/components/co-rich-text-toolbar.d.ts +11 -0
  410. package/dist/components/co-rich-text-toolbar.js +1 -0
  411. package/dist/components/co-rich-text-viewer.d.ts +11 -0
  412. package/dist/components/co-rich-text-viewer.js +1 -0
  413. package/dist/components/co-row.js +1 -1
  414. package/dist/components/co-select.js +1 -1
  415. package/dist/components/co-separator.js +1 -1
  416. package/dist/components/co-sidebar-nav.js +1 -1
  417. package/dist/components/co-sidebar.js +1 -1
  418. package/dist/components/co-skeleton.d.ts +11 -0
  419. package/dist/components/co-skeleton.js +1 -0
  420. package/dist/components/co-slider.js +1 -1
  421. package/dist/components/co-switch.js +1 -1
  422. package/dist/components/co-tab-group.js +1 -1
  423. package/dist/components/co-tab.js +1 -1
  424. package/dist/components/co-tags-field.d.ts +11 -0
  425. package/dist/components/co-tags-field.js +1 -0
  426. package/dist/components/co-textarea.d.ts +11 -0
  427. package/dist/components/co-textarea.js +1 -0
  428. package/dist/components/co-toast.js +1 -1
  429. package/dist/components/co-toggle-button-group.js +1 -1
  430. package/dist/components/co-toggle-button.js +1 -1
  431. package/dist/components/co-tooltip.js +1 -1
  432. package/dist/components/co-transfer-list.js +1 -1
  433. package/dist/components/co-video.d.ts +11 -0
  434. package/dist/components/co-video.js +1 -0
  435. package/dist/components/index.js +1 -1
  436. package/dist/components/p-B2QLgWrz.js +2 -0
  437. package/dist/components/p-B7vGYFbO.js +1 -0
  438. package/dist/components/p-BB2OaYKF.js +1 -0
  439. package/dist/components/p-BFeE_fiq.js +1 -0
  440. package/dist/components/p-BNKz39GA.js +1 -0
  441. package/dist/components/p-Ba4v1NXo.js +1 -0
  442. package/dist/components/p-C1DCLOEl.js +1 -0
  443. package/dist/components/p-C2mZ7x_Y.js +1 -0
  444. package/dist/components/p-CQY6Ul7q.js +1 -0
  445. package/dist/components/p-CWneqh4n.js +1 -0
  446. package/dist/components/p-C_ULDaks.js +1 -0
  447. package/dist/components/p-CegCk7FL.js +1 -0
  448. package/dist/components/p-ChibIpZv.js +1 -0
  449. package/dist/components/p-CyYF8IJE.js +1 -0
  450. package/dist/components/p-D3Y_ti3Q.js +1 -0
  451. package/dist/components/p-DKh8ZK4U.js +1 -0
  452. package/dist/components/p-DeZxp9vb.js +1 -0
  453. package/dist/components/p-DqyWGweA.js +1 -0
  454. package/dist/components/p-DvhR3H61.js +1 -0
  455. package/dist/components/p-DxCFMMfY.js +1 -0
  456. package/dist/components/{p-OGpfa9Yd.js → p-DzoNGEDU.js} +1 -1
  457. package/dist/components/p-EPZfLt5l.js +1 -0
  458. package/dist/components/p-FMnqPWcM.js +1 -0
  459. package/dist/components/p-Hzh9U2cM.js +1 -0
  460. package/dist/components/p-WZ06pT2Y.js +1 -0
  461. package/dist/components/p-ox7HzCZn.js +10 -0
  462. package/dist/components/p-tloAgDin.js +1 -0
  463. package/dist/esm/co-accordion.entry.js +19 -4
  464. package/dist/esm/co-app-shell.entry.js +4 -4
  465. package/dist/esm/co-autocomplete.entry.js +54 -6
  466. package/dist/esm/co-avatar-group.entry.js +75 -0
  467. package/dist/esm/co-avatar.entry.js +41 -6
  468. package/dist/esm/co-badge.entry.js +2 -2
  469. package/dist/esm/co-bottom-sheet.entry.js +323 -0
  470. package/dist/esm/co-button-group.entry.js +3 -3
  471. package/dist/esm/co-button.entry.js +12 -7
  472. package/dist/esm/co-calendar-month.entry.js +379 -0
  473. package/dist/esm/co-calendar_3.entry.js +688 -0
  474. package/dist/esm/co-card.entry.js +21 -4
  475. package/dist/esm/co-checkbox-group.entry.js +7 -5
  476. package/dist/esm/co-checkbox.entry.js +5 -5
  477. package/dist/esm/co-chip.entry.js +11 -8
  478. package/dist/esm/co-color-picker.entry.js +109 -0
  479. package/dist/esm/co-column-picker.entry.js +441 -0
  480. package/dist/esm/co-combobox.entry.js +51 -15
  481. package/dist/esm/co-command-search.entry.js +159 -13
  482. package/dist/esm/co-data-table-pagination.entry.js +5 -5
  483. package/dist/esm/co-data-table.entry.js +38 -12
  484. package/dist/esm/co-date-picker.entry.js +175 -0
  485. package/dist/esm/co-date-range-picker.entry.js +376 -0
  486. package/dist/esm/co-date-range.entry.js +13 -259
  487. package/dist/esm/co-empty-state.entry.js +2 -2
  488. package/dist/esm/co-event-calendar.entry.js +316 -0
  489. package/dist/esm/co-fab.entry.js +3 -3
  490. package/dist/esm/co-file-field.entry.js +496 -0
  491. package/dist/esm/co-helper-text.entry.js +3 -3
  492. package/dist/esm/co-icon-button.entry.js +6 -6
  493. package/dist/esm/co-icon.entry.js +36 -25
  494. package/dist/esm/co-input.entry.js +13 -8
  495. package/dist/esm/co-json-field.entry.js +111 -0
  496. package/dist/esm/co-lightbox.entry.js +342 -0
  497. package/dist/esm/co-list-footer.entry.js +23 -0
  498. package/dist/esm/co-list-item.entry.js +70 -4
  499. package/dist/esm/co-loader_2.entry.js +290 -0
  500. package/dist/esm/co-menu-divider.entry.js +2 -2
  501. package/dist/esm/co-menu-item.entry.js +17 -10
  502. package/dist/esm/co-menu.entry.js +2 -2
  503. package/dist/esm/co-modal.entry.js +25 -3
  504. package/dist/esm/co-navbar.entry.js +4 -4
  505. package/dist/esm/co-number-field.entry.js +60 -12
  506. package/dist/esm/co-page-header.entry.js +2 -2
  507. package/dist/esm/co-phone-field.entry.js +376 -0
  508. package/dist/esm/co-popover.entry.js +46 -15
  509. package/dist/esm/co-progress-bar.entry.js +8 -4
  510. package/dist/esm/co-progress-circle.entry.js +36 -0
  511. package/dist/esm/co-radio-group.entry.js +7 -5
  512. package/dist/esm/co-radio.entry.js +4 -4
  513. package/dist/esm/co-rating.entry.js +4 -4
  514. package/dist/esm/co-ref-field.entry.js +214 -21
  515. package/dist/esm/co-rich-text-editor.entry.js +2079 -0
  516. package/dist/esm/co-rich-text-toolbar.entry.js +1106 -0
  517. package/dist/esm/co-rich-text-viewer.entry.js +116 -0
  518. package/dist/esm/co-row.entry.js +3 -3
  519. package/dist/esm/co-select.entry.js +119 -18
  520. package/dist/esm/co-separator.entry.js +2 -2
  521. package/dist/esm/co-sidebar-nav.entry.js +55 -10
  522. package/dist/esm/co-sidebar.entry.js +3 -3
  523. package/dist/esm/co-skeleton.entry.js +24 -0
  524. package/dist/esm/co-slider.entry.js +3 -3
  525. package/dist/esm/co-switch.entry.js +9 -6
  526. package/dist/esm/co-tab-group.entry.js +2 -2
  527. package/dist/esm/co-tab.entry.js +3 -3
  528. package/dist/esm/co-tags-field.entry.js +209 -0
  529. package/dist/esm/co-textarea.entry.js +94 -0
  530. package/dist/esm/co-toast.entry.js +2 -2
  531. package/dist/esm/co-toggle-button-group.entry.js +7 -4
  532. package/dist/esm/co-toggle-button.entry.js +4 -4
  533. package/dist/esm/co-tooltip.entry.js +56 -15
  534. package/dist/esm/co-transfer-list.entry.js +20 -6
  535. package/dist/esm/co-video.entry.js +837 -0
  536. package/dist/esm/cobalt.js +3 -3
  537. package/dist/esm/dateI18n-C1DCLOEl.js +103 -0
  538. package/dist/esm/dates-tPYikBRJ.js +416 -0
  539. package/dist/esm/fieldChip-GPikjpYw.js +5 -0
  540. package/dist/esm/{index-B0lqrhFo.js → index-CYsftTKf.js} +115 -23
  541. package/dist/esm/index-w_Wxgclf.js +35403 -0
  542. package/dist/esm/loader.js +3 -3
  543. package/dist/esm/normalizeText-CQY6Ul7q.js +92 -0
  544. package/dist/esm/overlayAfterClose-Ch1jfwZ2.js +10 -0
  545. package/dist/esm/overlayScroll-Bpv882_z.js +23 -0
  546. package/dist/esm/overlayscrollbars-ox7HzCZn.js +2840 -0
  547. package/dist/esm/{positioning-Am-OlB8h.js → positioning-C2mZ7x_Y.js} +40 -25
  548. package/dist/esm/purify.es-B2QLgWrz.js +1774 -0
  549. package/dist/esm/requiredMark-CEbXKHcU.js +14 -0
  550. package/dist/esm/richTextI18n-B-ckjCUA.js +380 -0
  551. package/dist/esm/toolbar-config-ChibIpZv.js +212 -0
  552. package/dist/esm/tz-B6JZk8fL.js +119 -0
  553. package/dist/types/components/co-accordion/co-accordion.d.ts +12 -2
  554. package/dist/types/components/co-autocomplete/co-autocomplete.d.ts +13 -0
  555. package/dist/types/components/co-avatar/co-avatar.d.ts +8 -2
  556. package/dist/types/components/co-avatar-group/co-avatar-group.d.ts +33 -0
  557. package/dist/types/components/co-bottom-sheet/co-bottom-sheet.d.ts +81 -0
  558. package/dist/types/components/co-button/co-button.d.ts +7 -1
  559. package/dist/types/components/co-calendar/co-calendar.d.ts +108 -0
  560. package/dist/types/components/co-calendar-month/co-calendar-month.d.ts +83 -0
  561. package/dist/types/components/co-card/co-card.d.ts +10 -2
  562. package/dist/types/components/co-checkbox-group/co-checkbox-group.d.ts +2 -0
  563. package/dist/types/components/co-chip/co-chip.d.ts +7 -2
  564. package/dist/types/components/co-color-picker/co-color-picker.d.ts +50 -0
  565. package/dist/types/components/co-color-picker/presets.d.ts +10 -0
  566. package/dist/types/components/co-column-picker/co-column-picker.d.ts +60 -0
  567. package/dist/types/components/co-column-picker/column-picker-node.d.ts +18 -0
  568. package/dist/types/components/co-column-picker/utils/column-picker-tree.d.ts +37 -0
  569. package/dist/types/components/co-combobox/co-combobox.d.ts +14 -1
  570. package/dist/types/components/co-command-search/co-command-search.d.ts +41 -6
  571. package/dist/types/components/co-command-search/commandSearchGroup.d.ts +20 -0
  572. package/dist/types/components/co-command-search/commandSearchLogic.d.ts +17 -0
  573. package/dist/types/components/co-data-table/co-data-table.d.ts +3 -1
  574. package/dist/types/components/co-date-field/co-date-field.d.ts +96 -0
  575. package/dist/types/components/co-date-picker/co-date-picker.d.ts +92 -0
  576. package/dist/types/components/co-date-range/co-date-range.d.ts +12 -50
  577. package/dist/types/components/co-date-range-picker/co-date-range-picker.d.ts +112 -0
  578. package/dist/types/components/co-drawer/co-drawer.d.ts +4 -0
  579. package/dist/types/components/co-event-calendar/co-event-calendar.d.ts +110 -0
  580. package/dist/types/components/co-file-field/co-file-field.d.ts +146 -0
  581. package/dist/types/components/co-file-field/co-file-field.utils.d.ts +18 -0
  582. package/dist/types/components/co-icon/co-icon.d.ts +1 -1
  583. package/dist/types/components/co-icon/iconLoader.d.ts +6 -0
  584. package/dist/types/components/co-icon-button/co-icon-button.d.ts +3 -1
  585. package/dist/types/components/co-input/co-input.d.ts +4 -1
  586. package/dist/types/components/co-json-field/co-json-field.d.ts +69 -0
  587. package/dist/types/components/co-lightbox/co-lightbox.d.ts +95 -0
  588. package/dist/types/components/co-list-footer/co-list-footer.d.ts +26 -0
  589. package/dist/types/components/co-list-item/co-list-item.d.ts +12 -0
  590. package/dist/types/components/co-modal/co-modal.d.ts +10 -0
  591. package/dist/types/components/co-number-field/co-number-field.d.ts +29 -2
  592. package/dist/types/components/co-overlay/co-overlay.d.ts +45 -0
  593. package/dist/types/components/co-overlay/focusTrap.d.ts +20 -0
  594. package/dist/types/components/co-overlay/overlayAfterClose.d.ts +5 -0
  595. package/dist/types/components/co-phone-field/co-phone-field.d.ts +58 -0
  596. package/dist/types/components/co-phone-field/dial-codes.d.ts +14 -0
  597. package/dist/types/components/co-popover/co-popover.d.ts +9 -0
  598. package/dist/types/components/co-progress-bar/co-progress-bar.d.ts +2 -0
  599. package/dist/types/components/co-progress-circle/co-progress-circle.d.ts +16 -0
  600. package/dist/types/components/co-radio-group/co-radio-group.d.ts +2 -0
  601. package/dist/types/components/co-ref-field/co-ref-field.d.ts +69 -1
  602. package/dist/types/components/co-rich-text-editor/co-rich-text-editor.d.ts +246 -0
  603. package/dist/types/components/co-rich-text-toolbar/co-rich-text-toolbar.d.ts +148 -0
  604. package/dist/types/components/co-rich-text-viewer/co-rich-text-viewer.d.ts +19 -0
  605. package/dist/types/components/co-select/co-select.d.ts +31 -1
  606. package/dist/types/components/co-skeleton/co-skeleton.d.ts +13 -0
  607. package/dist/types/components/co-switch/co-switch.d.ts +2 -0
  608. package/dist/types/components/co-tags-field/co-tags-field.d.ts +84 -0
  609. package/dist/types/components/co-textarea/co-textarea.d.ts +68 -0
  610. package/dist/types/components/co-toggle-button-group/co-toggle-button-group.d.ts +2 -0
  611. package/dist/types/components/co-tooltip/co-tooltip.d.ts +12 -0
  612. package/dist/types/components/co-transfer-list/co-transfer-list.d.ts +4 -0
  613. package/dist/types/components/co-video/co-video.d.ts +203 -0
  614. package/dist/types/components.d.ts +5422 -391
  615. package/dist/types/utils/dateI18n.d.ts +39 -0
  616. package/dist/types/utils/fieldChip.d.ts +37 -0
  617. package/dist/types/utils/fileI18n.d.ts +34 -0
  618. package/dist/types/utils/icon-config.d.ts +31 -0
  619. package/dist/types/utils/lightboxI18n.d.ts +12 -0
  620. package/dist/types/utils/normalizeText.d.ts +41 -0
  621. package/dist/types/utils/overlayScroll.d.ts +17 -0
  622. package/dist/types/utils/positioning.d.ts +7 -14
  623. package/dist/types/utils/requiredMark.d.ts +13 -0
  624. package/dist/types/utils/richTextI18n.d.ts +130 -0
  625. package/dist/types/utils/sheetGesture.d.ts +31 -0
  626. package/package.json +10 -1
  627. package/dist/cjs/co-drawer.cjs.entry.js +0 -75
  628. package/dist/cjs/co-loader.cjs.entry.js +0 -34
  629. package/dist/cjs/co-overlay.cjs.entry.js +0 -23
  630. package/dist/cjs/color-YhUkm10t.js +0 -32
  631. package/dist/cobalt/p-08afdc51.entry.js +0 -1
  632. package/dist/cobalt/p-1b7d6808.entry.js +0 -1
  633. package/dist/cobalt/p-1d3338b6.entry.js +0 -1
  634. package/dist/cobalt/p-1d91ec93.entry.js +0 -1
  635. package/dist/cobalt/p-230a23f3.entry.js +0 -1
  636. package/dist/cobalt/p-31bc842d.entry.js +0 -1
  637. package/dist/cobalt/p-37c1f700.entry.js +0 -1
  638. package/dist/cobalt/p-4905b51d.entry.js +0 -1
  639. package/dist/cobalt/p-4dd7499c.entry.js +0 -1
  640. package/dist/cobalt/p-4e7ce8ee.entry.js +0 -1
  641. package/dist/cobalt/p-4ffba5a3.entry.js +0 -1
  642. package/dist/cobalt/p-5a13e3a0.entry.js +0 -1
  643. package/dist/cobalt/p-6793c51e.entry.js +0 -1
  644. package/dist/cobalt/p-689e38b3.entry.js +0 -1
  645. package/dist/cobalt/p-7028880b.entry.js +0 -1
  646. package/dist/cobalt/p-72113ec2.entry.js +0 -1
  647. package/dist/cobalt/p-8e54e74d.entry.js +0 -1
  648. package/dist/cobalt/p-92c39eed.entry.js +0 -1
  649. package/dist/cobalt/p-9887b828.entry.js +0 -1
  650. package/dist/cobalt/p-9a5c6600.entry.js +0 -1
  651. package/dist/cobalt/p-Am-OlB8h.js +0 -1
  652. package/dist/cobalt/p-B0lqrhFo.js +0 -2
  653. package/dist/cobalt/p-BG4WRR22.js +0 -1
  654. package/dist/cobalt/p-a1b248ad.entry.js +0 -1
  655. package/dist/cobalt/p-a470b764.entry.js +0 -1
  656. package/dist/cobalt/p-a4d55b1a.entry.js +0 -1
  657. package/dist/cobalt/p-b6840df4.entry.js +0 -1
  658. package/dist/cobalt/p-b89d54d9.entry.js +0 -1
  659. package/dist/cobalt/p-ba84631a.entry.js +0 -1
  660. package/dist/cobalt/p-c9b0e73f.entry.js +0 -1
  661. package/dist/cobalt/p-ca41eec2.entry.js +0 -1
  662. package/dist/cobalt/p-cc93ab05.entry.js +0 -1
  663. package/dist/cobalt/p-d9d8b10e.entry.js +0 -1
  664. package/dist/cobalt/p-da55678f.entry.js +0 -1
  665. package/dist/cobalt/p-dc5598d1.entry.js +0 -1
  666. package/dist/cobalt/p-e2c9cb00.entry.js +0 -1
  667. package/dist/cobalt/p-e808916c.entry.js +0 -1
  668. package/dist/cobalt/p-ebd68f56.entry.js +0 -1
  669. package/dist/cobalt/p-f051f44d.entry.js +0 -1
  670. package/dist/cobalt/p-fe1447a3.entry.js +0 -1
  671. package/dist/cobalt/p-ff6a647c.entry.js +0 -1
  672. package/dist/components/p-Am-OlB8h.js +0 -1
  673. package/dist/components/p-B18FTYLq.js +0 -1
  674. package/dist/components/p-BG4WRR22.js +0 -1
  675. package/dist/components/p-Cr8Yc0zj.js +0 -1
  676. package/dist/components/p-FBICWTuN.js +0 -1
  677. package/dist/components/p-cpdUXBiS.js +0 -1
  678. package/dist/components/p-wwWquAtm.js +0 -1
  679. package/dist/esm/co-drawer.entry.js +0 -73
  680. package/dist/esm/co-loader.entry.js +0 -32
  681. package/dist/esm/co-overlay.entry.js +0 -21
  682. package/dist/esm/color-BG4WRR22.js +0 -30
@@ -0,0 +1,116 @@
1
+ import { r as registerInstance, h } from './index-CYsftTKf.js';
2
+ import { p as purify } from './purify.es-B2QLgWrz.js';
3
+
4
+ const coRichTextViewerCss = () => `:host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);color:var(--co-semantic-text-default);line-height:1.5}.co-rich-text-viewer{padding:var(--co-spacing-md) 0}.co-rich-text-viewer--compact{padding:var(--co-spacing-sm) 0}.co-rich-text-viewer--empty{color:var(--co-semantic-text-muted);font-style:italic}.co-rich-text-viewer p{margin:0 0 var(--co-spacing-sm)}.co-rich-text-viewer p:last-child{margin-bottom:0}.co-rich-text-viewer h1,.co-rich-text-viewer h2,.co-rich-text-viewer h3,.co-rich-text-viewer h4{margin:var(--co-spacing-md) 0 var(--co-spacing-sm);font-weight:600;line-height:1.3}.co-rich-text-viewer ul,.co-rich-text-viewer ol{padding-left:var(--co-spacing-xl);margin:0 0 var(--co-spacing-sm)}.co-rich-text-viewer blockquote{border-left:3px solid var(--co-semantic-border-subtle);padding-left:var(--co-spacing-md);margin:0 0 var(--co-spacing-sm);color:var(--co-semantic-text-secondary)}.co-rich-text-viewer a{color:var(--co-color-primary-azul);text-decoration:underline}.co-rich-text-viewer img{max-width:100%;height:auto;border-radius:var(--co-border-radius-xs);margin:var(--co-spacing-sm) 0}.co-rich-text-viewer img[data-image-layout="wrap-left"]{float:left;max-width:50%;margin:4px 16px 8px 0}.co-rich-text-viewer img[data-image-layout="wrap-right"]{float:right;max-width:50%;margin:4px 0 8px 16px}.co-rich-text-viewer img[data-image-layout="center"]{display:block;margin:12px auto}.co-rich-text-viewer img[data-image-layout="full-width"]{display:block;width:100%;margin:12px 0}@media (max-width: 768px){.co-rich-text-viewer img[data-image-layout="wrap-left"],.co-rich-text-viewer img[data-image-layout="wrap-right"]{float:none;max-width:100%;display:block;margin:12px 0}}.co-rich-text-viewer img[style*="position:absolute"],.co-rich-text-viewer img[style*="position: absolute"]{position:static !important;left:auto !important;top:auto !important;z-index:auto !important}.co-rich-text-viewer iframe{width:100%;max-width:100%;aspect-ratio:16 / 9;height:auto;display:block;border:0;border-radius:var(--co-border-radius-xs);margin:0}.co-rich-text-viewer .co-rte-iframe,.co-rich-text-viewer [data-youtube-video]{display:block;max-width:100%;margin:var(--co-spacing-sm) 0}.co-rich-text-viewer code{font-family:var(--co-font-family-mono);font-size:0.9em;background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));padding:0.1em 0.3em;border-radius:var(--co-border-radius-xxs)}.co-rich-text-viewer .co-rte-variable,.co-rich-text-viewer [data-variable]{display:inline-block;padding:0.05em 0.4em;border-radius:var(--co-border-radius-xxs);background:var(--co-color-primary-azul);color:var(--co-color-base-blanco, #fff);font-size:0.9em}.co-rich-text-viewer--site{width:var(--co-rte-content-width, 80%);max-width:100%;margin:0 auto}@media (max-width: 768px){.co-rich-text-viewer--site{width:100%}}`;
5
+
6
+ /**
7
+ * Read-only renderer for rich-text content. For `format="html"` it only runs
8
+ * DOMPurify (no Tiptap import → tiny). `format="json"` lazily pulls the
9
+ * serializer to turn a ProseMirror document into sanitized HTML.
10
+ *
11
+ * The HTML path sanitizes inline (mirrors the rich-text package's whitelist)
12
+ * so the viewer never pulls the editor engine into its bundle.
13
+ *
14
+ * @part content - The rendered content container
15
+ * @part empty - The empty-state element
16
+ */
17
+ const ALLOWED_TAGS = {
18
+ comment: ['p', 'br', 'strong', 'em', 'a', 'span'],
19
+ task: ['p', 'br', 'strong', 'em', 'a', 'span', 'u', 's', 'code', 'ul', 'ol', 'li', 'blockquote'],
20
+ email: ['p', 'br', 'strong', 'em', 'a', 'span', 'u', 's', 'code', 'ul', 'ol', 'li', 'blockquote', 'h2', 'h3', 'div', 'img'],
21
+ 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'],
22
+ };
23
+ /** iframes are permitted only with an https: source (blocks javascript:/data:/http:). */
24
+ const SAFE_IFRAME_SRC_RE = /^https:\/\/[^\s"'<>]+$/i;
25
+ const CoRichTextViewer = class {
26
+ constructor(hostRef) {
27
+ registerInstance(this, hostRef);
28
+ /** HTML string (default) or ProseMirror JSON string. */
29
+ this.value = null;
30
+ /** Input format. `html` is the lightweight path. */
31
+ this.format = 'html';
32
+ /** Sanitization profile to apply. */
33
+ this.preset = 'document';
34
+ /** Reduced padding. */
35
+ this.compact = false;
36
+ this.html = '';
37
+ }
38
+ componentWillLoad() {
39
+ return this.compute();
40
+ }
41
+ watchInputs() {
42
+ return this.compute();
43
+ }
44
+ sanitizeHtml(html) {
45
+ var _a;
46
+ purify.addHook('uponSanitizeElement', (node, data) => {
47
+ var _a, _b;
48
+ // Only allow <input type="checkbox"> (task list checkboxes); strip others.
49
+ if (data.tagName === 'input' && node.type !== 'checkbox') {
50
+ (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(node);
51
+ }
52
+ // Allow only https iframes (YouTube, Vimeo, …); strip anything else.
53
+ if (data.tagName === 'iframe') {
54
+ const src = node.getAttribute('src') || '';
55
+ if (!SAFE_IFRAME_SRC_RE.test(src))
56
+ (_b = node.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(node);
57
+ }
58
+ });
59
+ try {
60
+ const clean = purify.sanitize(html, {
61
+ ALLOWED_TAGS: (_a = ALLOWED_TAGS[this.preset]) !== null && _a !== void 0 ? _a : ALLOWED_TAGS.document,
62
+ 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'],
63
+ ALLOW_DATA_ATTR: false,
64
+ FORBID_TAGS: ['script', 'object', 'embed', 'form', 'textarea', 'style'],
65
+ ADD_ATTR: ['allowfullscreen', 'frameborder', 'allow', 'loading'],
66
+ });
67
+ return clean;
68
+ }
69
+ finally {
70
+ purify.removeHook('uponSanitizeElement');
71
+ }
72
+ }
73
+ async compute() {
74
+ if (!this.value) {
75
+ this.html = '';
76
+ return;
77
+ }
78
+ if (this.format === 'html') {
79
+ this.html = this.sanitizeHtml(this.value);
80
+ return;
81
+ }
82
+ // JSON mode — lazily import the serializer (pulls Tiptap on demand only).
83
+ try {
84
+ const doc = JSON.parse(this.value);
85
+ const rt = await import('./index-w_Wxgclf.js').then(function (n) { return n.R; });
86
+ this.html = rt.jsonToHtml(doc, this.preset);
87
+ }
88
+ catch (_a) {
89
+ this.html = '';
90
+ }
91
+ }
92
+ render() {
93
+ if (!this.html) {
94
+ return (h("div", { class: "co-rich-text-viewer co-rich-text-viewer--empty", part: "empty" }, this.emptyText || ''));
95
+ }
96
+ return (h("div", { class: {
97
+ 'co-rich-text-viewer': true,
98
+ 'co-rich-text-viewer--compact': this.compact,
99
+ 'co-rich-text-viewer--site': this.preset === 'document',
100
+ }, part: "content", innerHTML: this.html }));
101
+ }
102
+ static get watchers() { return {
103
+ "value": [{
104
+ "watchInputs": 0
105
+ }],
106
+ "format": [{
107
+ "watchInputs": 0
108
+ }],
109
+ "preset": [{
110
+ "watchInputs": 0
111
+ }]
112
+ }; }
113
+ };
114
+ CoRichTextViewer.style = coRichTextViewerCss();
115
+
116
+ export { CoRichTextViewer as co_rich_text_viewer };
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-B0lqrhFo.js';
1
+ import { r as registerInstance, h } from './index-CYsftTKf.js';
2
2
 
3
3
  const coRowCss = () => `:host{display:block}.co-row{display:flex;align-items:center;gap:var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-subtle);font-family:var(--co-font-family-primary);box-sizing:border-box}.co-row--sm{padding:var(--co-spacing-sm2) var(--co-spacing-lg);min-height:40px;font-size:var(--co-font-size-14)}.co-row--lg{padding:var(--co-spacing-lg) var(--co-spacing-xl);min-height:76px;font-size:var(--co-font-size-16)}.co-row--single{border-radius:var(--co-border-radius-lg)}.co-row--top{border-radius:var(--co-border-radius-lg) var(--co-border-radius-lg) 0 0;border-bottom:none}.co-row--middle{border-radius:0;border-bottom:none}.co-row--bottom{border-radius:0 0 var(--co-border-radius-lg) var(--co-border-radius-lg)}.co-row__prefix,.co-row__suffix{display:flex;align-items:center;gap:var(--co-spacing-sm);flex-shrink:0;color:var(--co-semantic-text-muted)}.co-row__prefix:empty,.co-row__suffix:empty{display:none}.co-row__content{display:flex;flex-direction:column;flex:1;min-width:0;gap:var(--co-spacing-xs)}.co-row__suffix{margin-left:auto}`;
4
4
 
@@ -11,11 +11,11 @@ const CoRow = class {
11
11
  this.size = 'sm';
12
12
  }
13
13
  render() {
14
- return (h("div", { key: '368c70a0173c99d0b7f2b6438008998271a9bf42', class: {
14
+ return (h("div", { key: '75c5a2693135e21a3a4379d8bbb6d9be5bdf6bf5', class: {
15
15
  'co-row': true,
16
16
  [`co-row--${this.position}`]: true,
17
17
  [`co-row--${this.size}`]: true,
18
- }, part: "row" }, h("div", { key: '4766e3f0de343b06de936b61871e0c1e35703d52', class: "co-row__prefix" }, h("slot", { key: 'c705ca6d95787f4a5dd58fd82bf45eb81c1ab245', name: "prefix" })), h("div", { key: '73f07efd56ca95cf11196d87e292fb75b0f38fea', class: "co-row__content" }, h("slot", { key: '46c58feb7e058233707fc4f7aa3b8fcfe52f8e5e' })), h("div", { key: '58b87d77d70d0a0142963059cec5c36f947cb418', class: "co-row__suffix" }, h("slot", { key: '67562449f840f81bf30b611badd6e8d45858f449', name: "suffix" }))));
18
+ }, part: "row" }, h("div", { key: 'beb274682f02b428b93315b057fbfe11bf2be037', class: "co-row__prefix" }, h("slot", { key: '0c9381d277795df7230da6eb05b9a5fa46726cf2', name: "prefix" })), h("div", { key: '2753f7c221e17d9eb91a685567a16470210652de', class: "co-row__content" }, h("slot", { key: '257befca88d731c4b6c3b8545fa3f2db6c56482c' })), h("div", { key: '934ecc29de8822bf084a4d49e828aa64481dbbe3', class: "co-row__suffix" }, h("slot", { key: 'baa9de54437b45d4fe54f3e2faaf28d9b8cc8ed0', name: "suffix" }))));
19
19
  }
20
20
  };
21
21
  CoRow.style = coRowCss();
@@ -1,26 +1,51 @@
1
- import { r as registerInstance, c as createEvent, h, a as getElement } from './index-B0lqrhFo.js';
1
+ import { r as registerInstance, c as createEvent, h, a as getElement } from './index-CYsftTKf.js';
2
+ import { R as RequiredMark } from './requiredMark-CEbXKHcU.js';
3
+ import { O as OverlayScrollbars } from './overlayscrollbars-ox7HzCZn.js';
4
+ import { r as rankByMatch, h as highlightMatch } from './normalizeText-CQY6Ul7q.js';
2
5
 
3
- const coSelectCss = () => `:host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;position:relative}.co-select{display:flex;flex-direction:column;gap:var(--co-spacing-sm2);position:relative}.co-select__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-select__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-select__secondary-label{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;text-align:right}.co-select--disabled .co-select__label,.co-select--disabled .co-select__secondary-label{color:var(--co-semantic-text-disabled)}.co-select__trigger{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:var(--co-semantic-surface-secondary);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-xs);min-height:40px;box-sizing:border-box;cursor:pointer;transition:border-color 0.15s ease, box-shadow 0.15s ease}.co-select--open .co-select__trigger{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-select--disabled .co-select__trigger{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-select--error .co-select__trigger{border-color:var(--co-semantic-status-error)}.co-select--success .co-select__trigger{border-color:var(--co-semantic-status-success)}.co-select--warning .co-select__trigger{border-color:var(--co-color-status-review)}.co-select--info .co-select__trigger{border-color:var(--co-semantic-status-info)}.co-select__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-select__text{flex:1;min-width:0;color:var(--co-semantic-text-default);font-size:inherit;font-weight:400;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-select__text--placeholder{color:var(--co-semantic-text-muted)}.co-select--disabled .co-select__text{color:var(--co-semantic-text-disabled)}.co-select__clear{flex-shrink:0;display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color 0.15s ease}.co-select__clear:hover{color:var(--co-semantic-text-default)}.co-select__caret{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-select__dropdown{padding:var(--co-spacing-sm2)}.co-select__options{max-height:calc(34px * 8);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--co-semantic-border-default) transparent}.co-select__options::-webkit-scrollbar{width:6px}.co-select__options::-webkit-scrollbar-track{background:transparent}.co-select__options::-webkit-scrollbar-thumb{background:var(--co-semantic-border-default);border-radius:var(--co-border-radius-full)}.co-select__option{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);border-radius:var(--co-border-radius-xs);cursor:pointer;transition:background 0.1s ease;min-height:32px;box-sizing:border-box}.co-select__option:hover{background:var(--co-semantic-surface-hover)}.co-select__option--selected{background:var(--co-semantic-surface-muted)}.co-select__option--disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.co-select__option-icon{flex-shrink:0;color:var(--co-semantic-text-muted)}.co-select__option-label{flex:1;color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-select__option-check{flex-shrink:0;color:var(--co-semantic-text-default)}.co-select__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-select__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-select__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-select__helper--error .co-select__helper-icon,.co-select__helper--error .co-select__helper-text{color:var(--co-semantic-status-error)}.co-select__helper--success .co-select__helper-icon,.co-select__helper--success .co-select__helper-text{color:var(--co-semantic-status-success)}.co-select__helper--warning .co-select__helper-icon,.co-select__helper--warning .co-select__helper-text{color:var(--co-color-status-review)}.co-select__helper--info .co-select__helper-icon,.co-select__helper--info .co-select__helper-text{color:var(--co-semantic-status-info)}`;
6
+ const coSelectCss = () => `.os-size-observer,.os-size-observer-listener{scroll-behavior:auto !important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;top:0;right:0;bottom:0;left:0;transform:scale(0.1)}.os-size-observer::before{content:"";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(calc(1 / 0.1))}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty::before{content:"";width:100%;height:100%}.os-size-observer-listener:empty::before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{from{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0px;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}html[data-overlayscrollbars-body]{overflow:hidden}html[data-overlayscrollbars-body],html[data-overlayscrollbars-body]>body{width:100%;height:100%;margin:0}html[data-overlayscrollbars-body]>body{overflow:visible;margin:0}[data-overlayscrollbars]{position:relative}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch !important;flex-direction:row !important;flex-wrap:nowrap !important;scroll-behavior:auto !important}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){box-sizing:inherit;position:relative;flex:auto;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){--os-vaw:0;--os-vah:0;outline:none}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus{outline:none}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]::before{content:"";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:var(--os-vaw);height:var(--os-vah)}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{overflow:hidden !important}[data-overlayscrollbars~=host][data-overlayscrollbars~=noClipping],[data-overlayscrollbars-padding~=noClipping]{overflow:visible !important}[data-overlayscrollbars-viewport]{--os-viewport-overflow-x:hidden;--os-viewport-overflow-y:hidden;overflow-x:var(--os-viewport-overflow-x);overflow-y:var(--os-viewport-overflow-y)}[data-overlayscrollbars-viewport~=overflowXVisible]{--os-viewport-overflow-x:visible}[data-overlayscrollbars-viewport~=overflowXHidden]{--os-viewport-overflow-x:hidden}[data-overlayscrollbars-viewport~=overflowXScroll]{--os-viewport-overflow-x:scroll}[data-overlayscrollbars-viewport~=overflowYVisible]{--os-viewport-overflow-y:visible}[data-overlayscrollbars-viewport~=overflowYHidden]{--os-viewport-overflow-y:hidden}[data-overlayscrollbars-viewport~=overflowYScroll]{--os-viewport-overflow-y:scroll}[data-overlayscrollbars-viewport~=overflowImportant]{overflow-x:var(--os-viewport-overflow-x) !important;overflow-y:var(--os-viewport-overflow-y) !important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId){font-size:0 !important;line-height:0 !important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::before,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::after,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)>*:not(#osFakeId){display:none !important;position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border-width:0 !important}[data-overlayscrollbars-viewport~=measuring],[data-overlayscrollbars-viewport~=scrolling]{scroll-behavior:auto !important;scroll-snap-type:none !important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowXVisible]{overflow-x:hidden !important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowYVisible]{overflow-y:hidden !important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto !important;width:auto !important}@property --os-scroll-percent{syntax:"<number>";inherits:true;initial-value:0}@property --os-viewport-percent{syntax:"<number>";inherits:true;initial-value:0}.os-scrollbar{--os-viewport-percent:0;--os-scroll-percent:0;--os-scroll-direction:0;--os-scroll-percent-directional:calc( var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent)) * -1) * var(--os-scroll-direction) )}.os-scrollbar{contain:size layout;contain:size layout style;transition:opacity 0.15s, visibility 0.15s, top 0.15s, right 0.15s, bottom 0.15s, left 0.15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none !important}.os-scrollbar-track{position:relative;padding:0 !important;border:none !important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none !important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0 !important;transition:none !important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0;left:calc(var(--os-scroll-percent-directional) * 100%);transform:translateX(calc(var(--os-scroll-percent-directional) * -100%));width:calc(var(--os-viewport-percent) * 100%)}.os-scrollbar-vertical .os-scrollbar-handle{right:0;top:calc(var(--os-scroll-percent-directional) * 100%);transform:translateY(calc(var(--os-scroll-percent-directional) * -100%));height:calc(var(--os-viewport-percent) * 100%)}@supports (container-type: size){.os-scrollbar-track{container-type:size}.os-scrollbar-horizontal .os-scrollbar-handle{left:auto;transform:translateX(calc(var(--os-scroll-percent-directional) * 100cqw + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-vertical .os-scrollbar-handle{top:auto;transform:translateY(calc(var(--os-scroll-percent-directional) * 100cqh + var(--os-scroll-percent-directional) * -100%))}.os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle{right:auto;left:0}}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}@media print{.os-scrollbar{display:none}}.os-scrollbar{--os-size:0;--os-padding-perpendicular:0;--os-padding-axis:0;--os-track-border-radius:0;--os-track-bg:none;--os-track-bg-hover:none;--os-track-bg-active:none;--os-track-border:none;--os-track-border-hover:none;--os-track-border-active:none;--os-handle-border-radius:0;--os-handle-bg:none;--os-handle-bg-hover:none;--os-handle-bg-active:none;--os-handle-border:none;--os-handle-border-hover:none;--os-handle-border-active:none;--os-handle-min-size:33px;--os-handle-max-size:none;--os-handle-perpendicular-size:100%;--os-handle-perpendicular-size-hover:100%;--os-handle-perpendicular-size-active:100%;--os-handle-interactive-area-offset:0}.os-scrollbar-track{border:var(--os-track-border);border-radius:var(--os-track-border-radius);background:var(--os-track-bg);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s}.os-scrollbar-track:hover{border:var(--os-track-border-hover);background:var(--os-track-bg-hover)}.os-scrollbar-track:active{border:var(--os-track-border-active);background:var(--os-track-bg-active)}.os-scrollbar-handle{border:var(--os-handle-border);border-radius:var(--os-handle-border-radius);background:var(--os-handle-bg)}.os-scrollbar-handle:hover{border:var(--os-handle-border-hover);background:var(--os-handle-bg-hover)}.os-scrollbar-handle:active{border:var(--os-handle-border-active);background:var(--os-handle-bg-active)}.os-scrollbar-track:before,.os-scrollbar-handle:before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;display:block}.os-scrollbar-horizontal{padding:var(--os-padding-perpendicular) var(--os-padding-axis);right:var(--os-size);height:var(--os-size)}.os-scrollbar-horizontal.os-scrollbar-rtl{left:var(--os-size);right:0}.os-scrollbar-horizontal .os-scrollbar-track:before{top:calc(var(--os-padding-perpendicular) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal .os-scrollbar-handle{min-width:var(--os-handle-min-size);max-width:var(--os-handle-max-size);height:var(--os-handle-perpendicular-size);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s, height 0.15s}.os-scrollbar-horizontal .os-scrollbar-handle:before{top:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);bottom:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-horizontal:hover .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-horizontal:active .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-active)}.os-scrollbar-vertical{padding:var(--os-padding-axis) var(--os-padding-perpendicular);bottom:var(--os-size);width:var(--os-size)}.os-scrollbar-vertical .os-scrollbar-track:before{left:calc(var(--os-padding-perpendicular) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical .os-scrollbar-handle{min-height:var(--os-handle-min-size);max-height:var(--os-handle-max-size);width:var(--os-handle-perpendicular-size);transition:opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s}.os-scrollbar-vertical .os-scrollbar-handle:before{left:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);right:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before{right:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);left:calc(var(--os-padding-perpendicular) * -1)}.os-scrollbar-vertical:hover .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-vertical:active .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-active)}[data-overlayscrollbars-viewport~=measuring]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none !important}.os-theme-dark,.os-theme-light{box-sizing:border-box;--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-border-radius:10px;--os-handle-interactive-area-offset:4px;--os-handle-border-radius:10px}.os-theme-dark{--os-handle-bg:rgba(0, 0, 0, 0.44);--os-handle-bg-hover:rgba(0, 0, 0, 0.55);--os-handle-bg-active:rgba(0, 0, 0, 0.66)}.os-theme-light{--os-handle-bg:rgba(255, 255, 255, 0.44);--os-handle-bg-hover:rgba(255, 255, 255, 0.55);--os-handle-bg-active:rgba(255, 255, 255, 0.66)}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport]),[data-overlayscrollbars-viewport~=scrollbarHidden],html[data-overlayscrollbars-viewport~=scrollbarHidden]>body{scrollbar-width:none !important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar,[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar,html[data-overlayscrollbars-viewport~=scrollbarHidden]>body::-webkit-scrollbar-corner{-webkit-appearance:none !important;appearance:none !important;display:none !important;width:0 !important;height:0 !important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}:host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body);line-height:1;position:relative}.co-select{display:flex;flex-direction:column;gap:var(--co-spacing-sm2);position:relative}.co-select__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2)}.co-select__label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;cursor:default}.co-select__secondary-label{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1;white-space:nowrap;text-align:right}.co-select--disabled .co-select__label,.co-select--disabled .co-select__secondary-label{color:var(--co-semantic-text-disabled)}.co-select__trigger{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);background:color-mix(in srgb, var(--co-semantic-surface-secondary) 55%, transparent);-webkit-backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-xs);min-height:40px;box-sizing:border-box;cursor:pointer;transition:border-color 0.15s ease, box-shadow 0.15s ease}.co-select__chips{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xxs) 0}.co-select__chip{display:inline-flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xxs) var(--co-spacing-sm2);background:var(--co-color-gray-100);border-radius:var(--co-border-radius-full);font-size:var(--co-font-size-14);line-height:1;max-width:200px}.co-select__chip-label{color:var(--co-semantic-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-select__chip-remove{display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-color-gray-500);transition:color 0.1s ease;flex-shrink:0}.co-select__chip-remove:hover{color:var(--co-semantic-text-default)}.co-select--s .co-select__trigger{min-height:28px;padding:var(--co-spacing-xxs) var(--co-spacing-sm);font-size:var(--co-font-size-12)}.co-select--sm .co-select__trigger{min-height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);font-size:var(--co-font-size-14)}.co-select--lg .co-select__trigger{min-height:48px;padding:var(--co-spacing-sm) var(--co-spacing-lg);font-size:var(--co-font-size-16)}.co-select--open .co-select__trigger{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-select--disabled .co-select__trigger{background:var(--co-semantic-surface-disabled);border-color:transparent;cursor:not-allowed}.co-select--error .co-select__trigger{border-color:var(--co-semantic-status-error)}.co-select--success .co-select__trigger{border-color:var(--co-semantic-status-success)}.co-select--warning .co-select__trigger{border-color:var(--co-color-status-review)}.co-select--info .co-select__trigger{border-color:var(--co-semantic-status-info)}.co-select__flag,.co-select__option-flag{flex-shrink:0;width:20px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px var(--co-semantic-border-subtle)}.co-select__icon{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-select__text{flex:1;min-width:0;color:var(--co-semantic-text-default);font-size:inherit;font-weight:400;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-select__text--placeholder{color:var(--co-semantic-text-muted)}.co-select--disabled .co-select__text{color:var(--co-semantic-text-disabled)}.co-select__clear{flex-shrink:0;display:flex;align-items:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:var(--co-semantic-text-muted);transition:color 0.15s ease}.co-select__clear:hover{color:var(--co-semantic-text-default)}.co-select__caret{flex-shrink:0;color:var(--co-semantic-text-muted);display:flex;align-items:center}.co-select__dropdown{padding:var(--co-spacing-sm2)}.co-select__search{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs) var(--co-spacing-sm2);margin-bottom:var(--co-spacing-sm2);border:1px solid var(--co-semantic-border-subtle);border-radius:var(--co-border-radius-xs);height:32px;box-sizing:border-box;color:var(--co-semantic-text-muted)}.co-select__search-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:inherit;font-size:var(--co-font-size-14, 14px);line-height:1;color:var(--co-semantic-text-default);padding:0;margin:0}.co-select__search-input::placeholder{color:var(--co-semantic-text-muted)}.co-select__match{font-weight:700;color:var(--co-semantic-text-default)}.co-select__empty{padding:var(--co-spacing-md);text-align:center;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14, 14px)}.co-select__options{max-height:calc(34px * 8);overflow-y:auto}.os-scrollbar.os-theme-co{--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-bg:transparent;--os-handle-border-radius:var(--co-border-radius-full);--os-handle-bg:var(--co-color-opacity-negro-16);--os-handle-bg-hover:var(--co-color-opacity-negro-25);--os-handle-bg-active:var(--co-color-opacity-negro-50);--os-handle-min-size:24px}.co-select__option{display:flex;align-items:center;gap:var(--co-spacing-sm2);padding:var(--co-spacing-sm2) var(--co-spacing-md);border-radius:var(--co-border-radius-xs);cursor:pointer;transition:background 0.1s ease;min-height:32px;box-sizing:border-box}.co-select__option:hover{background:var(--co-semantic-surface-hover)}.co-select__option--selected{background:var(--co-semantic-surface-muted)}.co-select__option--disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.co-select__option-icon{flex-shrink:0;color:var(--co-semantic-text-muted)}.co-select__option-label{flex:1;color:var(--co-semantic-text-default);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-select__option-check{flex-shrink:0;color:var(--co-semantic-text-default)}.co-select__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);padding:0 var(--co-spacing-xs)}.co-select__helper-icon{flex-shrink:0;display:flex;align-items:center}.co-select__helper-text{color:var(--co-semantic-text-muted);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-select__helper--error .co-select__helper-icon,.co-select__helper--error .co-select__helper-text{color:var(--co-semantic-status-error)}.co-select__helper--success .co-select__helper-icon,.co-select__helper--success .co-select__helper-text{color:var(--co-semantic-status-success)}.co-select__helper--warning .co-select__helper-icon,.co-select__helper--warning .co-select__helper-text{color:var(--co-color-status-review)}.co-select__helper--info .co-select__helper-icon,.co-select__helper--info .co-select__helper-text{color:var(--co-semantic-status-info)}:host([layout='horizontal']) .co-select{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-select__labels{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-select__label{white-space:normal}:host([layout='horizontal']) .co-select>:not(.co-select__labels){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}@supports not (background: color-mix(in srgb, red, transparent)){.co-select__trigger{background:var(--co-semantic-surface-secondary)}}`;
4
7
 
5
8
  const CoSelect = class {
6
9
  constructor(hostRef) {
7
10
  registerInstance(this, hostRef);
8
11
  this.coChange = createEvent(this, "coChange", 7);
9
12
  this.coClear = createEvent(this, "coClear", 7);
13
+ /** Whether the field is required (renders a required marker on the label). */
14
+ this.required = false;
10
15
  this.placeholder = 'Select…';
11
16
  this.disabled = false;
12
17
  this.clearable = false;
18
+ /** Label layout: vertical (label above) or horizontal (label beside) */
19
+ this.layout = 'vertical';
13
20
  this.status = 'default';
14
21
  this.options = '[]';
15
22
  this.value = '';
16
23
  this.multiple = false;
24
+ this.size = 'md';
25
+ /** Show a search box inside the dropdown to filter options client-side. */
26
+ this.searchable = false;
27
+ this.searchPlaceholder = 'Search…';
28
+ this.emptyText = 'No results';
17
29
  this.isOpen = false;
18
30
  this.scrollTop = 0;
31
+ this.searchText = '';
32
+ // Frozen at open time so selected options render first without jumping while
33
+ // the user toggles them during the session (mirrors co-ref-field).
34
+ this.sortSnapshot = new Set();
35
+ this.lastParsedOptions = [];
36
+ this.lastRankSearch = '';
37
+ this.lastRanked = [];
38
+ this.handleSearchInput = (e) => {
39
+ this.searchText = e.target.value;
40
+ this.scrollTop = 0;
41
+ };
19
42
  this.handleTriggerClick = (e) => {
20
43
  if (this.disabled)
21
44
  e.stopPropagation();
22
45
  };
23
46
  this.handlePopoverOpen = () => {
47
+ // Freeze the selected-first ordering for this opening.
48
+ this.sortSnapshot = new Set(this.selectedValues);
24
49
  this.isOpen = true;
25
50
  };
26
51
  this.handlePopoverClose = () => {
@@ -49,23 +74,49 @@ const CoSelect = class {
49
74
  this.coChange.emit(optionValue);
50
75
  }
51
76
  };
52
- this.handleOptionsScroll = (e) => {
53
- this.scrollTop = e.target.scrollTop;
54
- };
55
77
  }
56
78
  get parsedOptions() {
57
- let raw = this.options;
58
- if (typeof raw === 'string') {
79
+ const raw = this.options;
80
+ if (raw === this.lastOptionsRaw)
81
+ return this.lastParsedOptions;
82
+ let parsed = raw;
83
+ if (typeof parsed === 'string') {
59
84
  try {
60
- raw = JSON.parse(raw);
85
+ parsed = JSON.parse(parsed);
61
86
  }
62
87
  catch (_a) {
63
- return [];
88
+ parsed = [];
64
89
  }
65
90
  }
66
- if (!Array.isArray(raw))
67
- return [];
68
- return raw.map(item => typeof item === 'string' ? { label: item, value: item } : item);
91
+ const list = Array.isArray(parsed)
92
+ ? parsed.map(item => typeof item === 'string' ? { label: item, value: item } : item)
93
+ : [];
94
+ this.lastOptionsRaw = raw;
95
+ this.lastParsedOptions = list;
96
+ return list;
97
+ }
98
+ /** Options after the in-dropdown search filter (client-side, by label), with
99
+ * the selected ones pinned first in multiple mode (frozen at open time). */
100
+ get filteredOptions() {
101
+ const all = this.parsedOptions;
102
+ let filtered;
103
+ if (!this.searchable || !this.searchText.trim()) {
104
+ filtered = all;
105
+ }
106
+ else if (all === this.lastRankInput && this.searchText === this.lastRankSearch) {
107
+ filtered = this.lastRanked;
108
+ }
109
+ else {
110
+ filtered = rankByMatch(all, this.searchText, (o) => o.label);
111
+ this.lastRankInput = all;
112
+ this.lastRankSearch = this.searchText;
113
+ this.lastRanked = filtered;
114
+ }
115
+ if (!this.multiple || this.sortSnapshot.size === 0)
116
+ return filtered;
117
+ const selectedBlock = filtered.filter((o) => this.sortSnapshot.has(o.value));
118
+ const rest = filtered.filter((o) => !this.sortSnapshot.has(o.value));
119
+ return [...selectedBlock, ...rest];
69
120
  }
70
121
  get selectedValues() {
71
122
  if (this.multiple) {
@@ -84,6 +135,13 @@ const CoSelect = class {
84
135
  get hasValue() {
85
136
  return this.selectedValues.length > 0;
86
137
  }
138
+ /** The selected option in single mode (used to show its flag/image in the trigger). */
139
+ get selectedOption() {
140
+ if (this.multiple)
141
+ return undefined;
142
+ const v = this.selectedValues[0];
143
+ return v ? this.parsedOptions.find((o) => o.value === v) : undefined;
144
+ }
87
145
  get displayText() {
88
146
  const sel = this.selectedValues;
89
147
  if (sel.length === 0)
@@ -105,8 +163,43 @@ const CoSelect = class {
105
163
  return map[this.status] || null;
106
164
  }
107
165
  onOpenChange(open) {
108
- if (open)
166
+ if (open) {
109
167
  this.scrollTop = 0;
168
+ if (this.searchable)
169
+ requestAnimationFrame(() => { var _a; return (_a = this.searchInputEl) === null || _a === void 0 ? void 0 : _a.focus(); });
170
+ }
171
+ else {
172
+ this.searchText = '';
173
+ }
174
+ }
175
+ // OverlayScrollbars: floating, auto-hide handle that overlays the content (no
176
+ // reserved gutter). It scrolls natively under the hood, so virtual scrolling
177
+ // keeps working — we just read scrollTop from its viewport instead of a native
178
+ // `scroll` event. Init when the dropdown is open, tear down when it closes.
179
+ syncOverlayScrollbars() {
180
+ const shouldInit = this.isOpen && !!this.optionsContainerEl;
181
+ if (shouldInit && !this.osInstance) {
182
+ this.osInstance = OverlayScrollbars(this.optionsContainerEl, { scrollbars: { theme: 'os-theme-co', autoHide: 'leave', autoHideDelay: 300 } }, { scroll: (instance) => { this.scrollTop = instance.elements().viewport.scrollTop; } });
183
+ }
184
+ else if (!shouldInit && this.osInstance) {
185
+ this.osInstance.destroy();
186
+ this.osInstance = undefined;
187
+ }
188
+ }
189
+ componentDidRender() {
190
+ this.syncOverlayScrollbars();
191
+ }
192
+ disconnectedCallback() {
193
+ var _a;
194
+ (_a = this.osInstance) === null || _a === void 0 ? void 0 : _a.destroy();
195
+ this.osInstance = undefined;
196
+ }
197
+ /** Option label with the matched substring wrapped for highlighting. */
198
+ renderLabel(label) {
199
+ const seg = this.searchable && this.searchText ? highlightMatch(label, this.searchText) : null;
200
+ if (!seg)
201
+ return label;
202
+ return [seg.pre, h("span", { class: "co-select__match" }, seg.match), seg.post];
110
203
  }
111
204
  getVirtualSlice(items) {
112
205
  const { ITEM_HEIGHT, VIEWPORT_ITEMS, OVERSCAN } = CoSelect;
@@ -118,14 +211,22 @@ const CoSelect = class {
118
211
  return { totalHeight, startIdx, endIdx, offsetY };
119
212
  }
120
213
  render() {
214
+ var _a;
121
215
  const selected = this.selectedValues;
122
- const options = this.parsedOptions;
123
- return (h("div", { key: '62e8257cc3b4e5f21c411fae888c2fbfb5e0966f', class: {
216
+ const options = this.filteredOptions;
217
+ return (h("div", { key: '80117c114baa7d2e41d18501f1ac6bd5bdfa20c1', class: {
124
218
  'co-select': true,
125
219
  'co-select--open': this.isOpen,
126
220
  'co-select--disabled': this.disabled,
221
+ [`co-select--${this.size}`]: true,
127
222
  [`co-select--${this.status}`]: this.status !== 'default',
128
- } }, (this.label || this.secondaryLabel) && (h("div", { key: 'b686a479a92fa78105a2d8b70544dafee562d04e', class: "co-select__labels" }, this.label && h("label", { key: '605ec7cdd6614397b18010b3c5aa7c563c5f2b5e', class: "co-select__label" }, this.label), this.secondaryLabel && h("span", { key: '808c1038a7beb82a0d8279b45161f0f2058a3f6d', class: "co-select__secondary-label" }, this.secondaryLabel))), h("co-popover", { key: 'e3c4dfb846300956a721e6d39c0bf01226945b1f', open: this.isOpen, placement: "bottom-start", matchWidth: true, offset: 4, onCoOpen: this.handlePopoverOpen, onCoClose: this.handlePopoverClose }, h("div", { key: '9b6a5847d6223317d8df65e7964e4574da426482', slot: "trigger", class: "co-select__trigger", onClick: this.handleTriggerClick }, this.iconLeft && h("co-icon", { key: 'd0f62a9e449acf5234d9f876d6e7c97fa181a42b', name: this.iconLeft, size: 16, class: "co-select__icon" }), h("span", { key: 'ec49195d6e7e15e1400e436ba39bc5dfa119ff66', 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: '14637ea81b731edf44e8d03c9dc316c9e6a5db2c', class: "co-select__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: '965c17bae724c916fdb4ce5438625801446d341e', name: "x-circle", size: 16, weight: "fill" }))), h("co-icon", { key: '706be511d092a16835d0fc7907b41ea550ba3100', name: this.isOpen ? 'caret-up' : 'caret-down', size: 16, class: "co-select__caret" })), h("div", { key: '33e5a0c3075357ca4080a4be72c579f34e3a1e94', class: "co-select__dropdown" }, h("div", { key: 'a6f857d29a52fe2969da4d8536f9d0a0bf9c06dc', class: "co-select__options", ref: (el) => (this.optionsContainerEl = el), onScroll: this.handleOptionsScroll }, (() => {
223
+ } }, (this.label || this.secondaryLabel) && (h("div", { key: '298b864956542f86934ebf2a932bd8e10df10b0c', class: "co-select__labels" }, this.label && h("label", { key: 'a0b1b123203f418d8f9c9db22bad068a17d01511', class: "co-select__label" }, this.label, h(RequiredMark, { key: 'e170c7fbde96ab31c7220d461042118664d68c3b', required: this.required })), this.secondaryLabel && h("span", { key: 'd40ed570060b416adf461284b1836520326e77e7', class: "co-select__secondary-label" }, this.secondaryLabel))), h("co-popover", { key: 'fd7d4799fecbd5170b7e88132ca3a892200190a0', open: this.isOpen, placement: "bottom-start", matchWidth: true, offset: 4, onCoOpen: this.handlePopoverOpen, onCoClose: this.handlePopoverClose }, h("div", { key: '3179abebe2e93432544a53e31cdcd17389d87be0', slot: "trigger", class: "co-select__trigger", onClick: this.handleTriggerClick }, this.iconLeft && h("co-icon", { key: 'f205a1a07564690d25988faa1f1eb943a42177d6', name: this.iconLeft, size: 16, class: "co-select__icon" }), ((_a = this.selectedOption) === null || _a === void 0 ? void 0 : _a.image) && (h("img", { key: '8f15efb686581727391617fd57a55c5636134cf0', class: "co-select__flag", src: this.selectedOption.image, alt: "" })), this.multiple && this.hasValue ? (h("div", { class: "co-select__chips" }, this.selectedValues.map((v) => {
224
+ const opt = this.parsedOptions.find((o) => o.value === v);
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) => {
226
+ e.stopPropagation();
227
+ this.handleOptionClick(v);
228
+ } }, h("co-icon", { name: "x", size: 12 }))));
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: '54f73eb25ee75cbf5bb042967c7886ef301bf9ed', class: "co-select__clear", type: "button", tabIndex: -1, onClick: this.handleClear, "aria-label": "Clear" }, h("co-icon", { key: 'db324b13e30a71dbc7d0792a6a3374350bc29216', name: "x-circle", size: 16, weight: "fill" }))), h("co-icon", { key: '4332870af3b3d5fc3dd157b7aa51d75141379423', name: this.isOpen ? 'caret-up' : 'caret-down', size: 16, class: "co-select__caret" })), h("div", { key: '4e9c33d19eb0694dee2625a87737584082a05ef9', class: "co-select__dropdown" }, this.isOpen && this.searchable && (h("div", { key: 'ba3d77e39c223193884d13ece1406c57348d9fbe', class: "co-select__search" }, h("co-icon", { key: '7b9917353b668d67e26a7f0734e3b094bcfbfba8', name: "magnifying-glass", size: 16, class: "co-select__search-icon" }), h("input", { key: '4be851a3ac33d169352b8bb8db3401e8c2fd07da', 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: '2f37b7de7a52009814189b522ed89970b88fbcd6', class: "co-select__empty" }, this.emptyText)), h("div", { key: '2de0fd19d84a409b4a196dcbe3f93ad4c4a17dac', class: "co-select__options", ref: (el) => (this.optionsContainerEl = el) }, this.isOpen && (() => {
129
230
  const { totalHeight, startIdx, endIdx, offsetY } = this.getVirtualSlice(options);
130
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 => {
131
232
  const isSelected = selected.includes(opt.value);
@@ -134,9 +235,9 @@ const CoSelect = class {
134
235
  'co-select__option': true,
135
236
  'co-select__option--selected': isSelected,
136
237
  'co-select__option--disabled': isDisabled,
137
- }, onClick: () => !isDisabled && this.handleOptionClick(opt.value) }, opt.icon && h("co-icon", { name: opt.icon, size: 20, class: "co-select__option-icon" }), h("span", { class: "co-select__option-label" }, opt.label), isSelected && h("co-icon", { name: "check", size: 16, class: "co-select__option-check" })));
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" })));
138
239
  }))));
139
- })()))), this.helperText && (h("div", { key: 'abd1a1647c257674ad54a7d8623f75c211d1ac84', class: `co-select__helper co-select__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: '1db3bfcc66e832bd5c41d2ddf6ae202a1cafa31d', name: this.statusIcon, size: 14, weight: "fill", class: "co-select__helper-icon" }), h("span", { key: 'b5b66e6ec7c098e8b98bd6f59ef8234630f8ee39', class: "co-select__helper-text" }, this.helperText)))));
240
+ })()))), this.helperText && (h("div", { key: '09eb41ec92953a06ee80cfefe120c23ad37a9d76', class: `co-select__helper co-select__helper--${this.status}` }, this.statusIcon && h("co-icon", { key: '15a47bd796ab0af375c85054cc61e7fa4fa88d03', name: this.statusIcon, size: 14, weight: "fill", class: "co-select__helper-icon" }), h("span", { key: 'e71c40ee14bbf4ac5bedad608177d5a0a61fff84', class: "co-select__helper-text" }, this.helperText)))));
140
241
  }
141
242
  get el() { return getElement(this); }
142
243
  static get watchers() { return {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-B0lqrhFo.js';
1
+ import { r as registerInstance, h } from './index-CYsftTKf.js';
2
2
 
3
3
  const coSeparatorCss = () => `:host{display:block;width:100%}:host([vertical]){display:inline-block;width:auto;height:auto;align-self:stretch}.co-separator{--co-separator-color:var(--co-semantic-border-default);--co-separator-size:1px;--co-separator-spacing:0px;--co-separator-inset-start:0px;--co-separator-inset-end:0px;border:none;margin:0;padding:0;background:var(--co-separator-color)}.co-separator:not(.co-separator--vertical){height:var(--co-separator-size);width:auto;margin-top:var(--co-separator-spacing);margin-bottom:var(--co-separator-spacing);margin-left:var(--co-separator-inset-start);margin-right:var(--co-separator-inset-end)}.co-separator--vertical{width:var(--co-separator-size);height:100%;min-height:1em;margin-left:var(--co-separator-spacing);margin-right:var(--co-separator-spacing);margin-top:var(--co-separator-inset-start);margin-bottom:var(--co-separator-inset-end)}.co-separator--dark{--co-separator-color:var(--co-color-opacity-blanco-25)}`;
4
4
 
@@ -61,7 +61,7 @@ const CoSeparator = class {
61
61
  style['--co-separator-inset-end'] = '0px';
62
62
  }
63
63
  }
64
- return (h("hr", { key: 'fa8493a09b0cb7ab8bf3cfcf1074cbb0b6a0295f', class: {
64
+ return (h("hr", { key: 'c139d79684e0f34cc732ecd8485c8fd76d85f7b6', class: {
65
65
  'co-separator': true,
66
66
  'co-separator--vertical': this.vertical,
67
67
  'co-separator--dark': this.dark,
@@ -1,6 +1,7 @@
1
- import { r as registerInstance, c as createEvent, h, a as getElement } from './index-B0lqrhFo.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-CYsftTKf.js';
2
+ import { n as normalizeText } from './normalizeText-CQY6Ul7q.js';
2
3
 
3
- const coSidebarNavCss = () => `:host{display:block;height:100%;overflow-y:auto;overflow-x:hidden;font-family:var(--co-font-family-primary);scrollbar-width:thin;scrollbar-color:transparent transparent}:host(:hover){scrollbar-color:var(--co-color-opacity-blanco-16) transparent}:host::-webkit-scrollbar{width:6px}:host::-webkit-scrollbar-track{background:transparent}:host::-webkit-scrollbar-thumb{background:transparent;border-radius:9999px}:host(:hover)::-webkit-scrollbar-thumb{background:var(--co-color-opacity-blanco-16)}:host(:hover)::-webkit-scrollbar-thumb:hover{background:var(--co-color-opacity-blanco-25)}:host(:hover)::-webkit-scrollbar-thumb:active{background:var(--co-color-opacity-blanco-50)}.co-sidebar-nav{display:flex;flex-direction:column;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs)}.co-sidebar-nav--min{align-items:center;padding:var(--co-spacing-xs) 0}.co-sidebar-nav__search{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-xs) var(--co-spacing-sm);margin:0 var(--co-spacing-xs) var(--co-spacing-xs);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs);background:var(--co-semantic-surface-secondary);height:32px}.co-sidebar-nav__search co-icon{color:var(--co-semantic-text-muted);flex-shrink:0}.co-sidebar-nav__search-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);letter-spacing:var(--co-font-letter-spacing-body);color:var(--co-semantic-text-default);min-width:0}.co-sidebar-nav__search-input::placeholder{color:var(--co-semantic-text-muted)}.co-sidebar-nav__search-clear{display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;padding:0;color:var(--co-semantic-text-muted);border-radius:var(--co-border-radius-xxs)}.co-sidebar-nav__search-clear:hover{color:var(--co-semantic-text-default)}.co-sidebar-nav__items{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-sidebar-nav--min .co-sidebar-nav__items{align-items:center}.co-sidebar-nav__category{display:flex;flex-direction:column}.co-sidebar-nav__category+.co-sidebar-nav__category{margin-top:var(--co-spacing-sm)}.co-sidebar-nav__category-label{text-transform:uppercase;font-family:var(--co-font-family-mono);font-size:var(--co-font-size-10);font-weight:400;color:var(--co-semantic-text-muted);line-height:110%;letter-spacing:0.08em;padding:var(--co-spacing-lg) var(--co-spacing-sm) var(--co-spacing-xs);user-select:none}.co-sidebar-nav__category-items{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-sidebar-nav__item{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xxs);border:none;background:none;cursor:pointer;width:100%;text-align:left;color:var(--co-semantic-text-default);transition:background 0.15s ease, color 0.15s ease;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-body);line-height:var(--co-font-line-height-normal)}.co-sidebar-nav__item:hover{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-sidebar-nav__item--active{background:var(--co-sidebar-nav-active-bg, var(--co-semantic-surface-hover));color:var(--co-sidebar-nav-active-color, var(--co-color-primary-azul));font-weight:var(--co-font-weight-semibold)}.co-sidebar-nav__item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px}.co-sidebar-nav__item-icon co-icon{color:inherit}.co-sidebar-nav__item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-sidebar-nav__custom-icon{width:18px;height:18px;object-fit:contain;border-radius:var(--co-border-radius-xxs)}.co-sidebar-nav--min .co-sidebar-nav__item{width:36px;height:36px;padding:0;justify-content:center;border-radius:var(--co-border-radius-xs)}.co-sidebar-nav--min .co-sidebar-nav__item--active{background:var(--co-sidebar-nav-active-bg-min, var(--co-color-primary-azul));color:var(--co-color-base-blanco)}.co-sidebar-nav--min .co-sidebar-nav__item--active .co-sidebar-nav__item-icon co-icon{color:var(--co-color-base-blanco)}.co-sidebar-nav__flyout-anchor{position:relative}.co-sidebar-nav__flyout{position:fixed;min-width:180px;max-width:240px;background:var(--co-color-base-blanco);border:1px solid var(--co-color-opacity-negro-8);border-radius:var(--co-border-radius-sm);box-shadow:var(--co-shadow-lg);padding:var(--co-spacing-md);display:flex;flex-direction:column;z-index:9999;animation:co-flyout-in 0.15s ease}.co-sidebar-nav__flyout-title{text-transform:uppercase;font-family:var(--co-font-family-mono);font-size:var(--co-font-size-10);font-weight:400;color:var(--co-color-gray-500);line-height:110%;letter-spacing:var(--co-font-letter-spacing-overline);padding:var(--co-spacing-xxs) var(--co-spacing-sm) var(--co-spacing-xs);user-select:none}.co-sidebar-nav__flyout .co-sidebar-nav__item{width:100%;height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);gap:var(--co-spacing-md);font-weight:var(--co-font-weight-regular);color:var(--co-color-base-negro);line-height:var(--co-font-line-height-none);justify-content:flex-start}.co-sidebar-nav__flyout .co-sidebar-nav__item:hover{background:var(--co-color-gray-100)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active{background:var(--co-color-gray-100);color:var(--co-sidebar-nav-active-color, var(--co-color-primary-azul));font-weight:var(--co-font-weight-semibold)}.co-sidebar-nav__flyout .co-sidebar-nav__item-icon{display:flex;width:24px;height:24px}.co-sidebar-nav__flyout .co-sidebar-nav__item-icon co-icon{color:var(--co-color-base-negro)}@keyframes co-flyout-in{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}.co-sidebar-nav__expansion{display:flex;flex-direction:column}.co-sidebar-nav__expansion-header{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xxs);border:none;background:none;cursor:pointer;width:100%;text-align:left;color:var(--co-semantic-text-secondary);transition:background 0.15s ease, color 0.15s ease;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-body);line-height:var(--co-font-line-height-normal)}.co-sidebar-nav__expansion-header:hover{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-sidebar-nav__expansion--active>.co-sidebar-nav__expansion-header{color:var(--co-semantic-text-default)}.co-sidebar-nav__expansion-caret{margin-left:auto;flex-shrink:0;transition:transform 0.2s ease;color:var(--co-semantic-text-muted)}.co-sidebar-nav__expansion--expanded>.co-sidebar-nav__expansion-header .co-sidebar-nav__expansion-caret{transform:rotate(90deg)}.co-sidebar-nav__expansion-body{display:flex;flex-direction:column;gap:var(--co-spacing-xxs);overflow:hidden;max-height:0;opacity:0;transition:max-height 0.25s ease, opacity 0.2s ease, padding 0.2s ease;padding-left:var(--co-spacing-xl)}.co-sidebar-nav__expansion--expanded>.co-sidebar-nav__expansion-body{max-height:1000px;opacity:1;padding-top:var(--co-spacing-xxs)}.co-sidebar-nav__highlight{all:unset;background-color:var(--co-color-primary-amarillo, #facc15);color:var(--co-color-base-negro, #000);border-radius:2px;padding:0 1px}`;
4
+ const coSidebarNavCss = () => `@property --co-sidebar-fade-top{syntax:"<length>";inherits:false;initial-value:0px}@property --co-sidebar-fade-bottom{syntax:"<length>";inherits:false;initial-value:0px}:host{display:block;height:100%;overflow-y:auto;overflow-x:hidden;font-family:var(--co-font-family-primary);scrollbar-width:thin;scrollbar-color:transparent transparent;--co-sidebar-fade-size:28px}:host(:not([mode="min"])),:host([mode="min"]:not(.flyout-open)){-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--co-sidebar-fade-top), #000 calc(100% - var(--co-sidebar-fade-bottom)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, #000 var(--co-sidebar-fade-top), #000 calc(100% - var(--co-sidebar-fade-bottom)), transparent 100%)}@supports (animation-timeline: scroll()){:host(:not([mode="min"])),:host([mode="min"]:not(.flyout-open)){animation:co-sidebar-edge-fade linear both;animation-timeline:scroll(self block)}}@keyframes co-sidebar-edge-fade{0%{--co-sidebar-fade-top:0px;--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}8%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}92%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:var(--co-sidebar-fade-size)}100%{--co-sidebar-fade-top:var(--co-sidebar-fade-size);--co-sidebar-fade-bottom:0px}}:host(:hover){scrollbar-color:var(--co-color-opacity-blanco-16) transparent}:host::-webkit-scrollbar{width:6px}:host::-webkit-scrollbar-track{background:transparent}:host::-webkit-scrollbar-thumb{background:transparent;border-radius:9999px}:host(:hover)::-webkit-scrollbar-thumb{background:var(--co-color-opacity-blanco-16)}:host(:hover)::-webkit-scrollbar-thumb:hover{background:var(--co-color-opacity-blanco-25)}:host(:hover)::-webkit-scrollbar-thumb:active{background:var(--co-color-opacity-blanco-50)}:host([mode="min"]){scrollbar-width:none !important}:host([mode="min"])::-webkit-scrollbar{width:0 !important}.co-sidebar-nav{display:flex;flex-direction:column;gap:var(--co-spacing-xs);padding:var(--co-spacing-xs)}.co-sidebar-nav--min{align-items:center;padding:var(--co-spacing-xs) 0}.co-sidebar-nav__search{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-xs) var(--co-spacing-sm);margin:0 var(--co-spacing-xs) var(--co-spacing-xs);border:1px solid var(--co-semantic-border-default);border-radius:var(--co-border-radius-xs);background:var(--co-semantic-surface-secondary);height:32px}.co-sidebar-nav__search co-icon{color:var(--co-semantic-text-muted);flex-shrink:0}.co-sidebar-nav__search-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);letter-spacing:var(--co-font-letter-spacing-body);color:var(--co-semantic-text-default);min-width:0}.co-sidebar-nav__search-input::placeholder{color:var(--co-semantic-text-muted)}.co-sidebar-nav__search-clear{display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;padding:0;color:var(--co-semantic-text-muted);border-radius:var(--co-border-radius-xxs)}.co-sidebar-nav__search-clear:hover{color:var(--co-semantic-text-default)}.co-sidebar-nav__items{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-sidebar-nav--min .co-sidebar-nav__items{align-items:center}.co-sidebar-nav__category{display:flex;flex-direction:column}.co-sidebar-nav__category+.co-sidebar-nav__category{margin-top:var(--co-spacing-sm)}.co-sidebar-nav__category-label{text-transform:uppercase;font-family:var(--co-font-family-mono);font-size:var(--co-font-size-10);font-weight:400;color:var(--co-semantic-text-muted);line-height:110%;letter-spacing:0.08em;padding:var(--co-spacing-lg) var(--co-spacing-sm) var(--co-spacing-xs);user-select:none}.co-sidebar-nav__category-items{display:flex;flex-direction:column;gap:var(--co-spacing-xxs)}.co-sidebar-nav__category--min{display:flex;flex-direction:column;align-items:center;gap:var(--co-spacing-xxs)}.co-sidebar-nav__category--min+.co-sidebar-nav__category--min{margin-top:var(--co-spacing-md)}.co-sidebar-nav__item{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);border:none;background:none;cursor:pointer;width:100%;text-align:left;color:var(--co-semantic-text-default);transition:background 0.15s ease, color 0.15s ease;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-body);line-height:var(--co-font-line-height-normal)}.co-sidebar-nav__item:hover{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-sidebar-nav__item--active{background:var(--co-sidebar-nav-active-bg, var(--co-semantic-surface-hover));color:var(--co-sidebar-nav-active-color, var(--co-color-primary-azul));font-weight:var(--co-font-weight-medium);--co-glass-blur:12px;--co-glass-saturate:1.3;-webkit-backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));backdrop-filter:blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate))}.co-sidebar-nav__item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px}.co-sidebar-nav__item-icon co-icon{color:inherit}.co-sidebar-nav__item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-sidebar-nav__custom-icon{width:18px;height:18px;object-fit:contain;border-radius:var(--co-border-radius-xxs)}.co-sidebar-nav--min .co-sidebar-nav__item{width:36px;height:36px;padding:0;justify-content:center;border-radius:var(--co-border-radius-xs)}.co-sidebar-nav__flyout-anchor{position:relative}.co-sidebar-nav__flyout{position:fixed;min-width:180px;max-width:240px;background:var(--co-color-base-blanco);border:1px solid var(--co-color-opacity-negro-8);border-radius:var(--co-border-radius-sm);box-shadow:var(--co-shadow-lg);padding:var(--co-spacing-md);display:flex;flex-direction:column;z-index:9999;animation:co-flyout-in 0.15s ease}.co-sidebar-nav__flyout-title{text-transform:uppercase;font-family:var(--co-font-family-mono);font-size:var(--co-font-size-10);font-weight:400;color:var(--co-color-gray-500);line-height:110%;letter-spacing:var(--co-font-letter-spacing-overline);padding:var(--co-spacing-xxs) var(--co-spacing-sm) var(--co-spacing-xs);user-select:none}.co-sidebar-nav__flyout .co-sidebar-nav__item{width:100%;height:32px;padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);gap:var(--co-spacing-md);font-weight:var(--co-font-weight-regular);color:var(--co-color-base-negro);line-height:var(--co-font-line-height-none);justify-content:flex-start}.co-sidebar-nav__flyout .co-sidebar-nav__item:hover{background:var(--co-color-gray-100)}.co-sidebar-nav__flyout .co-sidebar-nav__item--active{background:var(--co-color-gray-100);color:var(--co-sidebar-nav-active-color, var(--co-color-primary-azul));font-weight:var(--co-font-weight-medium)}.co-sidebar-nav__flyout .co-sidebar-nav__item-icon{display:flex;width:24px;height:24px}.co-sidebar-nav__flyout .co-sidebar-nav__item-icon co-icon{color:var(--co-color-base-negro)}@keyframes co-flyout-in{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}.co-sidebar-nav__expansion{display:flex;flex-direction:column}.co-sidebar-nav__expansion-header{display:flex;align-items:center;gap:var(--co-spacing-sm);padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);border:none;background:none;cursor:pointer;width:100%;text-align:left;color:var(--co-semantic-text-secondary);transition:background 0.15s ease, color 0.15s ease;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-12);font-weight:var(--co-font-weight-medium);letter-spacing:var(--co-font-letter-spacing-body);line-height:var(--co-font-line-height-normal)}.co-sidebar-nav__expansion-header:hover{background:var(--co-semantic-surface-hover);color:var(--co-semantic-text-default)}.co-sidebar-nav__expansion--active>.co-sidebar-nav__expansion-header{color:var(--co-semantic-text-default)}.co-sidebar-nav__expansion-caret{margin-left:auto;flex-shrink:0;transition:transform 0.2s ease;color:var(--co-semantic-text-muted)}.co-sidebar-nav__expansion--expanded>.co-sidebar-nav__expansion-header .co-sidebar-nav__expansion-caret{transform:rotate(90deg)}.co-sidebar-nav__expansion-body{display:flex;flex-direction:column;gap:var(--co-spacing-xxs);overflow:hidden;max-height:0;opacity:0;transition:max-height 0.25s ease, opacity 0.2s ease, padding 0.2s ease;padding-left:var(--co-spacing-xl)}.co-sidebar-nav__expansion--expanded>.co-sidebar-nav__expansion-body{max-height:1000px;opacity:1;padding-top:var(--co-spacing-xxs)}.co-sidebar-nav__highlight{all:unset;background-color:var(--co-color-primary-amarillo, #facc15);color:var(--co-color-base-negro, #000);border-radius:2px;padding:0 1px}`;
4
5
 
5
6
  /** Default icon mapping for common Prolibu model keys → Phosphor icon names */
6
7
  const DEFAULT_ICON_MAP = {
@@ -131,6 +132,36 @@ const DEFAULT_ICON_MAP = {
131
132
  TourStudio: 'cube',
132
133
  Docs: 'file-text',
133
134
  Setup: 'gear-six',
135
+ // Human Resources
136
+ Recruitment: 'user-plus',
137
+ Candidates: 'user-list',
138
+ // Achievements / Recognition
139
+ Recognition: 'hands-clapping',
140
+ Achievements: 'trophy',
141
+ Rewards: 'gift',
142
+ Badges: 'medal',
143
+ BadgeNominations: 'star',
144
+ Prizes: 'trophy',
145
+ RewardsBudgets: 'wallet',
146
+ RedeemedPrizes: 'crown',
147
+ // Sales / Billing extras
148
+ PaymentReceipts: 'hand-coins',
149
+ Coupons: 'seal-percent',
150
+ // Integrations
151
+ Integrations: 'plugs-connected',
152
+ Mcp: 'plug',
153
+ LifecycleHooks: 'arrows-clockwise',
154
+ PaymentProviders: 'credit-card',
155
+ Stripe: 'credit-card',
156
+ ThirdParty: 'plugs-connected',
157
+ Sendgrid: 'paper-plane-tilt',
158
+ Apollo: 'rocket-launch',
159
+ Kaspr: 'identification-card',
160
+ OpenAi: 'robot',
161
+ Ultramsg: 'whatsapp-logo',
162
+ Slack: 'slack-logo',
163
+ Telegram: 'telegram-logo',
164
+ Discord: 'discord-logo',
134
165
  };
135
166
  const CoSidebarNav = class {
136
167
  constructor(hostRef) {
@@ -238,12 +269,12 @@ const CoSidebarNav = class {
238
269
  get filteredItems() {
239
270
  if (!this.searchText)
240
271
  return this.parsedItems;
241
- return this.filterRecursive(this.parsedItems, this.searchText.toLowerCase());
272
+ return this.filterRecursive(this.parsedItems, normalizeText(this.searchText));
242
273
  }
243
274
  filterRecursive(items, query) {
244
275
  const result = [];
245
276
  for (const item of items) {
246
- const label = this.getLabel(item.key).toLowerCase();
277
+ const label = normalizeText(this.getLabel(item.key));
247
278
  if (label.includes(query)) {
248
279
  result.push(item);
249
280
  }
@@ -356,10 +387,18 @@ const CoSidebarNav = class {
356
387
  }
357
388
  renderLeafItem(item, forceLabel = false) {
358
389
  const isActive = item.key === this.activeKey;
359
- return (h("button", { class: {
390
+ const label = this.getLabel(item.key);
391
+ const showLabel = this.mode === 'full' || forceLabel;
392
+ const button = (h("button", { class: {
360
393
  'co-sidebar-nav__item': true,
361
394
  'co-sidebar-nav__item--active': isActive,
362
- }, onClick: () => this.handleLeafClick(item), title: this.getLabel(item.key) }, h("span", { class: "co-sidebar-nav__item-icon" }, this.renderIcon(item)), (this.mode === 'full' || forceLabel) && (h("span", { class: "co-sidebar-nav__item-label" }, this.renderHighlightedLabel(item.key)))));
395
+ }, onClick: () => this.handleLeafClick(item), "aria-label": showLabel ? undefined : label }, h("span", { class: "co-sidebar-nav__item-icon" }, this.renderIcon(item)), showLabel && (h("span", { class: "co-sidebar-nav__item-label" }, this.renderHighlightedLabel(item.key)))));
396
+ // Collapsed (icon-only) items get a Cobalt tooltip with the label instead of
397
+ // the native `title`. Flyout items (forceLabel) already show their label.
398
+ if (this.mode === 'min' && !forceLabel) {
399
+ return (h("co-tooltip", { content: label, placement: "right", offset: 12 }, button));
400
+ }
401
+ return button;
363
402
  }
364
403
  openFlyout(key, anchorEl, childCount = 0) {
365
404
  clearTimeout(this.flyoutTimeout);
@@ -413,8 +452,10 @@ const CoSidebarNav = class {
413
452
  }
414
453
  renderCategory(item) {
415
454
  if (this.mode === 'min') {
416
- // In mini mode, render children directly (skip category headers)
417
- return item.children.map(child => this.renderItem(child));
455
+ // In mini mode, drop the category label but keep a group wrapper so the
456
+ // sections stay visually separated by vertical spacing (mirrors the
457
+ // section gaps of full mode — the structure is still legible collapsed).
458
+ return (h("div", { class: "co-sidebar-nav__category--min" }, item.children.map(child => this.renderItem(child))));
418
459
  }
419
460
  return (h("div", { class: "co-sidebar-nav__category" }, h("span", { class: "co-sidebar-nav__category-label" }, this.renderHighlightedLabel(item.key)), h("div", { class: "co-sidebar-nav__category-items" }, item.children.map(child => this.renderItem(child)))));
420
461
  }
@@ -431,10 +472,14 @@ const CoSidebarNav = class {
431
472
  }
432
473
  render() {
433
474
  const items = this.filteredItems;
434
- return (h("nav", { key: '8734e55fec1337ceb95e2958c1b7b4574b74e37e', class: {
475
+ return (
476
+ // `flyout-open` (min mode only) lets the CSS drop the host edge-fade mask
477
+ // while a flyout is shown — a host mask would otherwise clip AND
478
+ // mis-position the fixed flyout (mask makes the host a containing block).
479
+ h(Host, { key: 'b24ca79d961f65bbe629e0289185de1751ab1fd1', class: { 'flyout-open': !!this.flyoutKey } }, h("nav", { key: 'e37ad68826bf9236c9a009a8b4355dfaca2d3a3d', class: {
435
480
  'co-sidebar-nav': true,
436
481
  'co-sidebar-nav--min': this.mode === 'min',
437
- } }, this.renderSearch(), h("div", { key: 'f7df980d36941cb411725d546df417be8172419d', class: "co-sidebar-nav__items" }, items.map(item => this.renderItem(item)))));
482
+ } }, this.renderSearch(), h("div", { key: 'ccf9c947e0fa3f4494ebd9fa55e2c726836e8c59', class: "co-sidebar-nav__items" }, items.map(item => this.renderItem(item))))));
438
483
  }
439
484
  get el() { return getElement(this); }
440
485
  static get watchers() { return {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-B0lqrhFo.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-CYsftTKf.js';
2
2
 
3
3
  const coSidebarCss = () => `:host{display:flex;height:100%}.co-sidebar{display:flex;flex-direction:column;background:var(--co-semantic-surface-page);border-right:1px solid var(--co-semantic-border-subtle);font-family:var(--co-font-family-primary);box-sizing:border-box;overflow:hidden;transition:width 0.2s ease}.co-sidebar--full{width:256px}.co-sidebar--min{width:58px;align-items:center}.co-sidebar__header{padding:var(--co-spacing-lg);flex-shrink:0}.co-sidebar--min .co-sidebar__header{padding:var(--co-spacing-md)}.co-sidebar__body{flex:1;overflow-y:auto;padding:var(--co-spacing-sm2) var(--co-spacing-md)}.co-sidebar--min .co-sidebar__body{padding:var(--co-spacing-sm2)}.co-sidebar__footer{padding:var(--co-spacing-md) var(--co-spacing-lg);flex-shrink:0}.co-sidebar--min .co-sidebar__footer{padding:var(--co-spacing-md)}.co-sidebar__header:empty,.co-sidebar__footer:empty{display:none}`;
4
4
 
@@ -10,10 +10,10 @@ const CoSidebar = class {
10
10
  this.mode = 'full';
11
11
  }
12
12
  render() {
13
- return (h("nav", { key: '23fd2d57d1641b7dd5176c086379ec55f56b3302', class: {
13
+ return (h("nav", { key: '065575ef697d72d6fde1fb35bbf0a2511d95876b', class: {
14
14
  'co-sidebar': true,
15
15
  [`co-sidebar--${this.mode}`]: true,
16
- }, part: "sidebar" }, h("div", { key: 'f138c6a9b1d766649c0470b529ce4b5d07a778e1', class: "co-sidebar__header", part: "header" }, h("slot", { key: '9530cd402dcbcbc439d5bf31619f40810fecd14c', name: "header" })), h("div", { key: '84cea4921fc6a7d24b9cb7d93525710b9258a1f3', class: "co-sidebar__body", part: "body" }, h("slot", { key: 'c4f83fc313d2ce1819c90ca930d121ce36220ddc' })), h("div", { key: 'ff4160bf0eb0c628f1185673497dcd98333e2218', class: "co-sidebar__footer", part: "footer" }, h("slot", { key: '09d3e0e84cdfceb96b77a59eacc59b30aba02c0b', name: "footer" }))));
16
+ }, part: "sidebar" }, h("div", { key: '8580c3561f196699e4c7d42bfbf55f2f60a26f10', class: "co-sidebar__header", part: "header" }, h("slot", { key: 'addef13305295557bbc5998999e489a395f1e8a5', name: "header" })), h("div", { key: '8ebd04b00553a6dd7870a4c66a5344d4ec784e80', class: "co-sidebar__body", part: "body" }, h("slot", { key: '75f73e00722e2c864c965f16d179a0a40e1907f7' })), h("div", { key: '7165390d8c38b1a77e89ca38d3998031adfbd346', class: "co-sidebar__footer", part: "footer" }, h("slot", { key: '746a7319de0db254b95537e9cc88e0d2f1eff820', name: "footer" }))));
17
17
  }
18
18
  };
19
19
  CoSidebar.style = coSidebarCss();