@prolibu-suite/cobalt-core 0.4.0 → 0.6.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 (523) hide show
  1. package/README.md +3 -3
  2. package/custom-elements.json +370 -154
  3. package/dist/cjs/co-accordion.cjs.entry.js +4 -4
  4. package/dist/cjs/co-app-shell.cjs.entry.js +3 -3
  5. package/dist/cjs/co-autocomplete.cjs.entry.js +38 -73
  6. package/dist/cjs/co-avatar-group.cjs.entry.js +3 -3
  7. package/dist/cjs/co-avatar.cjs.entry.js +2 -2
  8. package/dist/cjs/co-badge.cjs.entry.js +2 -2
  9. package/dist/cjs/co-bottom-sheet.cjs.entry.js +4 -4
  10. package/dist/cjs/co-breadcrumb-item.cjs.entry.js +3 -3
  11. package/dist/cjs/co-breadcrumb.cjs.entry.js +2 -2
  12. package/dist/cjs/co-button-group.cjs.entry.js +3 -3
  13. package/dist/cjs/co-button.cjs.entry.js +4 -4
  14. package/dist/cjs/co-calendar-month.cjs.entry.js +2 -2
  15. package/dist/cjs/co-calendar_3.cjs.entry.js +19 -14
  16. package/dist/cjs/co-card.cjs.entry.js +3 -3
  17. package/dist/cjs/co-checkbox-group.cjs.entry.js +4 -4
  18. package/dist/cjs/co-checkbox.cjs.entry.js +4 -4
  19. package/dist/cjs/co-chip_2.cjs.entry.js +485 -0
  20. package/dist/cjs/co-color-picker.cjs.entry.js +4 -4
  21. package/dist/cjs/co-column-picker.cjs.entry.js +3 -3
  22. package/dist/cjs/co-combobox.cjs.entry.js +51 -82
  23. package/dist/cjs/co-command-search.cjs.entry.js +20 -59
  24. package/dist/cjs/co-data-table-pagination.cjs.entry.js +5 -5
  25. package/dist/cjs/co-data-table.cjs.entry.js +54 -5
  26. package/dist/cjs/co-date-picker.cjs.entry.js +2 -2
  27. package/dist/cjs/co-date-range-picker.cjs.entry.js +3 -3
  28. package/dist/cjs/co-date-range.cjs.entry.js +2 -2
  29. package/dist/cjs/co-drive-card.cjs.entry.js +2 -2
  30. package/dist/cjs/co-drop-zone.cjs.entry.js +2 -2
  31. package/dist/cjs/co-empty-state.cjs.entry.js +4 -4
  32. package/dist/cjs/co-event-calendar.cjs.entry.js +3 -3
  33. package/dist/cjs/co-fab.cjs.entry.js +5 -5
  34. package/dist/cjs/co-file-field.cjs.entry.js +7 -7
  35. package/dist/cjs/co-file-type-tile.cjs.entry.js +3 -3
  36. package/dist/cjs/co-helper-text.cjs.entry.js +3 -3
  37. package/dist/cjs/co-icon-button.cjs.entry.js +2 -2
  38. package/dist/cjs/co-icon.cjs.entry.js +3 -3
  39. package/dist/cjs/co-input.cjs.entry.js +19 -3
  40. package/dist/cjs/co-json-field.cjs.entry.js +5 -5
  41. package/dist/cjs/co-lightbox.cjs.entry.js +6 -6
  42. package/dist/cjs/co-list-footer.cjs.entry.js +2 -2
  43. package/dist/cjs/co-list-item.cjs.entry.js +5 -5
  44. package/dist/cjs/co-loader.cjs.entry.js +1 -1
  45. package/dist/cjs/co-media-thumb.cjs.entry.js +3 -3
  46. package/dist/cjs/co-menu-divider.cjs.entry.js +2 -2
  47. package/dist/cjs/co-menu-item.cjs.entry.js +2 -2
  48. package/dist/cjs/co-menu.cjs.entry.js +2 -2
  49. package/dist/cjs/co-modal.cjs.entry.js +3 -3
  50. package/dist/cjs/co-navbar.cjs.entry.js +3 -3
  51. package/dist/cjs/co-number-field.cjs.entry.js +5 -5
  52. package/dist/cjs/co-overlay.cjs.entry.js +2 -2
  53. package/dist/cjs/co-page-header.cjs.entry.js +2 -2
  54. package/dist/cjs/co-phone-field.cjs.entry.js +4 -4
  55. package/dist/cjs/co-popover.cjs.entry.js +12 -3
  56. package/dist/cjs/co-progress-bar.cjs.entry.js +4 -4
  57. package/dist/cjs/co-progress-circle.cjs.entry.js +3 -3
  58. package/dist/cjs/co-radio-group.cjs.entry.js +4 -4
  59. package/dist/cjs/co-radio.cjs.entry.js +4 -4
  60. package/dist/cjs/co-rating.cjs.entry.js +4 -4
  61. package/dist/cjs/co-ref-field.cjs.entry.js +31 -135
  62. package/dist/cjs/co-rich-text-editor.cjs.entry.js +4 -4
  63. package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +1 -1
  64. package/dist/cjs/co-rich-text-viewer.cjs.entry.js +1 -1
  65. package/dist/cjs/co-row.cjs.entry.js +3 -3
  66. package/dist/cjs/co-segmented-bar.cjs.entry.js +3 -3
  67. package/dist/cjs/co-select.cjs.entry.js +7 -7
  68. package/dist/cjs/co-separator.cjs.entry.js +2 -2
  69. package/dist/cjs/co-sidebar-nav.cjs.entry.js +10 -8
  70. package/dist/cjs/co-sidebar.cjs.entry.js +3 -3
  71. package/dist/cjs/co-skeleton.cjs.entry.js +2 -2
  72. package/dist/cjs/co-slider.cjs.entry.js +3 -3
  73. package/dist/cjs/co-switch.cjs.entry.js +6 -6
  74. package/dist/cjs/co-tab-group.cjs.entry.js +10 -4
  75. package/dist/cjs/co-tab.cjs.entry.js +5 -5
  76. package/dist/cjs/co-tags-field.cjs.entry.js +8 -8
  77. package/dist/cjs/co-textarea.cjs.entry.js +6 -6
  78. package/dist/cjs/co-toast.cjs.entry.js +3 -3
  79. package/dist/cjs/co-toggle-button-group.cjs.entry.js +3 -3
  80. package/dist/cjs/co-toggle-button.cjs.entry.js +3 -3
  81. package/dist/cjs/co-tooltip.cjs.entry.js +3 -3
  82. package/dist/cjs/co-transfer-list.cjs.entry.js +3 -3
  83. package/dist/cjs/co-video.cjs.entry.js +4 -4
  84. package/dist/cjs/cobalt.cjs.js +2 -2
  85. package/dist/cjs/{fieldChip-DtYUP0VZ.js → fieldChip-D8YJCyQF.js} +1 -1
  86. package/dist/cjs/{index-NNvye1ul.js → index-DxEFsH_t.js} +9 -13
  87. package/dist/cjs/loader.cjs.js +2 -2
  88. package/dist/cjs/{requiredMark-DyjZzUCd.js → requiredMark-B3pKyqYI.js} +1 -1
  89. package/dist/cobalt/cobalt.css +1 -1
  90. package/dist/cobalt/cobalt.esm.js +1 -1
  91. package/dist/cobalt/{p-69289e82.entry.js → p-002e5beb.entry.js} +1 -1
  92. package/dist/cobalt/{p-c23a2ff6.entry.js → p-02c5a9a9.entry.js} +1 -1
  93. package/dist/cobalt/{p-9310739f.entry.js → p-075eed3d.entry.js} +1 -1
  94. package/dist/cobalt/p-0c0621a7.entry.js +1 -0
  95. package/dist/cobalt/{p-20c68308.entry.js → p-0d6a562d.entry.js} +1 -1
  96. package/dist/cobalt/p-0d7536a8.entry.js +1 -0
  97. package/dist/cobalt/{p-f72f0e38.entry.js → p-13fc9c8a.entry.js} +1 -1
  98. package/dist/cobalt/{p-39a29bbb.entry.js → p-14d4c5c7.entry.js} +1 -1
  99. package/dist/cobalt/{p-96baec0e.entry.js → p-1681ce1d.entry.js} +1 -1
  100. package/dist/cobalt/{p-593fd213.entry.js → p-1726ce07.entry.js} +1 -1
  101. package/dist/cobalt/{p-7d9f2021.entry.js → p-20ba59a2.entry.js} +1 -1
  102. package/dist/cobalt/{p-35c63fdc.entry.js → p-2d1cbd7f.entry.js} +1 -1
  103. package/dist/cobalt/{p-7040e4c5.entry.js → p-373cd08e.entry.js} +1 -1
  104. package/dist/cobalt/{p-4aeefe3f.entry.js → p-3f06d373.entry.js} +1 -1
  105. package/dist/cobalt/{p-8fdf2163.entry.js → p-3f68fd2e.entry.js} +1 -1
  106. package/dist/cobalt/{p-ca108c6d.entry.js → p-47a2dd67.entry.js} +1 -1
  107. package/dist/cobalt/{p-328f0470.entry.js → p-495c9b99.entry.js} +1 -1
  108. package/dist/cobalt/p-4a075257.entry.js +1 -0
  109. package/dist/cobalt/{p-aa1ad9fa.entry.js → p-5647ca9d.entry.js} +1 -1
  110. package/dist/cobalt/{p-3d07e4a9.entry.js → p-5b31d45b.entry.js} +1 -1
  111. package/dist/cobalt/p-5c3101b5.entry.js +1 -0
  112. package/dist/cobalt/{p-0e1afdea.entry.js → p-5c43d30e.entry.js} +1 -1
  113. package/dist/cobalt/{p-c85a6a9e.entry.js → p-5e9a9caf.entry.js} +1 -1
  114. package/dist/cobalt/{p-b4dcc260.entry.js → p-5edd0d3f.entry.js} +1 -1
  115. package/dist/cobalt/{p-d7c9cf93.entry.js → p-627d2d1a.entry.js} +1 -1
  116. package/dist/cobalt/{p-e8e752f9.entry.js → p-6911a034.entry.js} +1 -1
  117. package/dist/cobalt/{p-1388eac6.entry.js → p-6ad1625a.entry.js} +1 -1
  118. package/dist/cobalt/{p-c682453a.entry.js → p-70f70e02.entry.js} +1 -1
  119. package/dist/cobalt/p-73b30ebb.entry.js +1 -0
  120. package/dist/cobalt/p-75dcaeb0.entry.js +1 -0
  121. package/dist/cobalt/p-771bc8fe.entry.js +1 -0
  122. package/dist/cobalt/p-7780ddb5.entry.js +1 -0
  123. package/dist/cobalt/{p-e55fb916.entry.js → p-77d01b39.entry.js} +1 -1
  124. package/dist/cobalt/p-7FZXeBK4.js +1 -0
  125. package/dist/cobalt/{p-860a685f.entry.js → p-809015dd.entry.js} +1 -1
  126. package/dist/cobalt/{p-d403d9c4.entry.js → p-8128e84a.entry.js} +1 -1
  127. package/dist/cobalt/p-81cfd951.entry.js +1 -0
  128. package/dist/cobalt/{p-dd03c00b.entry.js → p-85eed52c.entry.js} +1 -1
  129. package/dist/cobalt/p-86d4e016.entry.js +1 -0
  130. package/dist/cobalt/{p-3dd6b57b.entry.js → p-86e60cfa.entry.js} +1 -1
  131. package/dist/cobalt/p-8a9ed2da.entry.js +1 -0
  132. package/dist/cobalt/{p-fb86cdb9.entry.js → p-8dfb6886.entry.js} +1 -1
  133. package/dist/cobalt/{p-d4086c34.entry.js → p-8e823c15.entry.js} +1 -1
  134. package/dist/cobalt/p-8f194753.entry.js +1 -0
  135. package/dist/cobalt/{p-08519a7c.entry.js → p-9a587867.entry.js} +1 -1
  136. package/dist/cobalt/{p-376c43b8.entry.js → p-9c6ca902.entry.js} +1 -1
  137. package/dist/cobalt/{p-bae82095.entry.js → p-9c873a6a.entry.js} +1 -1
  138. package/dist/cobalt/{p-BxzuCRMr.js → p-BAA4ln31.js} +1 -1
  139. package/dist/cobalt/{p-b8200f7f.entry.js → p-a6900010.entry.js} +1 -1
  140. package/dist/cobalt/p-a9afbaa6.entry.js +1 -0
  141. package/dist/cobalt/{p-2d4e1ca8.entry.js → p-aa20ffca.entry.js} +1 -1
  142. package/dist/cobalt/{p-e93644cb.entry.js → p-ac5df270.entry.js} +1 -1
  143. package/dist/cobalt/{p-8ae5da0c.entry.js → p-af4cb263.entry.js} +1 -1
  144. package/dist/cobalt/p-b1197c08.entry.js +1 -0
  145. package/dist/cobalt/p-b4bed98b.entry.js +1 -0
  146. package/dist/cobalt/{p-1cecb9e1.entry.js → p-b8ec0cc1.entry.js} +1 -1
  147. package/dist/cobalt/p-ba66584f.entry.js +1 -0
  148. package/dist/cobalt/{p-ff6be242.entry.js → p-bb534985.entry.js} +1 -1
  149. package/dist/cobalt/{p-6f12e721.entry.js → p-c0f39ddd.entry.js} +1 -1
  150. package/dist/cobalt/{p-804d025f.entry.js → p-c1e53e4c.entry.js} +1 -1
  151. package/dist/cobalt/p-c2e2eee9.entry.js +1 -0
  152. package/dist/cobalt/{p-af0495d8.entry.js → p-c3462def.entry.js} +1 -1
  153. package/dist/cobalt/p-c6fedc59.entry.js +1 -0
  154. package/dist/cobalt/{p-f6b93f17.entry.js → p-c750b2d2.entry.js} +1 -1
  155. package/dist/cobalt/{p-363a5262.entry.js → p-cc0a4617.entry.js} +1 -1
  156. package/dist/cobalt/{p-1af6ef83.entry.js → p-cc8e2f16.entry.js} +1 -1
  157. package/dist/cobalt/{p-c857b9ff.entry.js → p-d9608046.entry.js} +1 -1
  158. package/dist/cobalt/{p-be3e61f4.entry.js → p-e1957078.entry.js} +1 -1
  159. package/dist/cobalt/{p-a0749d7b.entry.js → p-e2762263.entry.js} +1 -1
  160. package/dist/cobalt/{p-21916f82.entry.js → p-e33853fa.entry.js} +1 -1
  161. package/dist/cobalt/p-e420d5c9.entry.js +1 -0
  162. package/dist/cobalt/{p-304c3be1.entry.js → p-e4a539da.entry.js} +1 -1
  163. package/dist/cobalt/{p-0be124d5.entry.js → p-e7085f08.entry.js} +1 -1
  164. package/dist/cobalt/p-e710b9ea.entry.js +1 -0
  165. package/dist/cobalt/p-e9aaeaf7.entry.js +1 -0
  166. package/dist/cobalt/{p-79e49749.entry.js → p-f073b467.entry.js} +1 -1
  167. package/dist/cobalt/p-f0de4415.entry.js +1 -0
  168. package/dist/cobalt/p-f36e461f.entry.js +1 -0
  169. package/dist/cobalt/p-f6ac5301.entry.js +1 -0
  170. package/dist/cobalt/{p-58aed8d6.entry.js → p-f6b0c4a0.entry.js} +1 -1
  171. package/dist/cobalt/p-f86ccb38.entry.js +1 -0
  172. package/dist/cobalt/{p-d7cbb4c7.entry.js → p-fb251497.entry.js} +1 -1
  173. package/dist/cobalt/p-fd27c2bd.entry.js +1 -0
  174. package/dist/cobalt/p-tT-aZV0-.js +2 -0
  175. package/dist/collection/collection-manifest.json +1 -1
  176. package/dist/collection/components/co-accordion/co-accordion.css +20 -8
  177. package/dist/collection/components/co-accordion/co-accordion.js +5 -2
  178. package/dist/collection/components/co-app-shell/co-app-shell.js +2 -2
  179. package/dist/collection/components/co-autocomplete/co-autocomplete.css +4 -751
  180. package/dist/collection/components/co-autocomplete/co-autocomplete.js +41 -76
  181. package/dist/collection/components/co-avatar/co-avatar.js +1 -1
  182. package/dist/collection/components/co-avatar-group/co-avatar-group.js +2 -2
  183. package/dist/collection/components/co-badge/co-badge.js +1 -1
  184. package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.js +3 -3
  185. package/dist/collection/components/co-breadcrumb/co-breadcrumb.js +1 -1
  186. package/dist/collection/components/co-breadcrumb-item/co-breadcrumb-item.js +2 -2
  187. package/dist/collection/components/co-button/co-button.css +5 -1
  188. package/dist/collection/components/co-button/co-button.js +2 -2
  189. package/dist/collection/components/co-button-group/co-button-group.js +2 -2
  190. package/dist/collection/components/co-calendar/co-calendar.css +12 -12
  191. package/dist/collection/components/co-calendar/co-calendar.js +1 -1
  192. package/dist/collection/components/co-calendar-month/co-calendar-month.js +1 -1
  193. package/dist/collection/components/co-card/co-card.js +2 -2
  194. package/dist/collection/components/co-checkbox/co-checkbox.js +3 -3
  195. package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +3 -3
  196. package/dist/collection/components/co-chip/co-chip.js +2 -2
  197. package/dist/collection/components/co-color-picker/co-color-picker.js +2 -2
  198. package/dist/collection/components/co-column-picker/co-column-picker.js +2 -2
  199. package/dist/collection/components/co-combobox/co-combobox.css +6 -830
  200. package/dist/collection/components/co-combobox/co-combobox.js +73 -84
  201. package/dist/collection/components/co-command-search/co-command-search.css +2 -60
  202. package/dist/collection/components/co-command-search/co-command-search.js +23 -48
  203. package/dist/collection/components/co-data-table/co-data-table.css +42 -7
  204. package/dist/collection/components/co-data-table/co-data-table.js +108 -3
  205. package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.js +4 -4
  206. package/dist/collection/components/co-date-field/co-date-field.css +4 -7
  207. package/dist/collection/components/co-date-field/co-date-field.js +4 -4
  208. package/dist/collection/components/co-date-range/co-date-range.js +1 -1
  209. package/dist/collection/components/co-date-range-picker/co-date-range-picker.css +9 -9
  210. package/dist/collection/components/co-drawer/co-drawer.css +49 -13
  211. package/dist/collection/components/co-drawer/co-drawer.js +9 -4
  212. package/dist/collection/components/co-drive-card/co-drive-card.js +1 -1
  213. package/dist/collection/components/co-drop-zone/co-drop-zone.js +1 -1
  214. package/dist/collection/components/co-empty-state/co-empty-state.css +1 -1
  215. package/dist/collection/components/co-empty-state/co-empty-state.js +2 -2
  216. package/dist/collection/components/co-event-calendar/co-event-calendar.js +2 -2
  217. package/dist/collection/components/co-fab/co-fab.css +8 -1
  218. package/dist/collection/components/co-fab/co-fab.js +24 -5
  219. package/dist/collection/components/co-file-field/co-file-field.js +5 -5
  220. package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +2 -2
  221. package/dist/collection/components/co-helper-text/co-helper-text.js +2 -2
  222. package/dist/collection/components/co-icon/co-icon.js +2 -2
  223. package/dist/collection/components/co-icon-button/co-icon-button.js +1 -1
  224. package/dist/collection/components/co-input/co-input.css +9 -6
  225. package/dist/collection/components/co-input/co-input.js +57 -0
  226. package/dist/collection/components/co-json-field/co-json-field.js +3 -3
  227. package/dist/collection/components/co-lightbox/co-lightbox.css +2 -2
  228. package/dist/collection/components/co-lightbox/co-lightbox.js +4 -4
  229. package/dist/collection/components/co-list-footer/co-list-footer.js +1 -1
  230. package/dist/collection/components/co-list-item/co-list-item.js +4 -4
  231. package/dist/collection/components/co-media-thumb/co-media-thumb.js +2 -2
  232. package/dist/collection/components/co-menu/co-menu.js +1 -1
  233. package/dist/collection/components/co-menu-divider/co-menu-divider.js +1 -1
  234. package/dist/collection/components/co-menu-item/co-menu-item.css +1 -1
  235. package/dist/collection/components/co-modal/co-modal.js +2 -2
  236. package/dist/collection/components/co-navbar/co-navbar.js +2 -2
  237. package/dist/collection/components/co-number-field/co-number-field.css +10 -11
  238. package/dist/collection/components/co-number-field/co-number-field.js +2 -2
  239. package/dist/collection/components/co-option-list/co-option-list.css +796 -58
  240. package/dist/collection/components/co-option-list/co-option-list.js +45 -6
  241. package/dist/collection/components/co-overlay/co-overlay.js +1 -1
  242. package/dist/collection/components/co-page-header/co-page-header.js +1 -1
  243. package/dist/collection/components/co-phone-field/co-phone-field.css +4 -7
  244. package/dist/collection/components/co-phone-field/co-phone-field.js +1 -1
  245. package/dist/collection/components/co-popover/co-popover.js +11 -2
  246. package/dist/collection/components/co-progress-bar/co-progress-bar.css +1 -1
  247. package/dist/collection/components/co-progress-bar/co-progress-bar.js +2 -2
  248. package/dist/collection/components/co-progress-circle/co-progress-circle.js +2 -2
  249. package/dist/collection/components/co-radio/co-radio.js +3 -3
  250. package/dist/collection/components/co-radio-group/co-radio-group.js +3 -3
  251. package/dist/collection/components/co-rating/co-rating.js +3 -3
  252. package/dist/collection/components/co-ref-field/co-ref-field.css +6 -897
  253. package/dist/collection/components/co-ref-field/co-ref-field.js +0 -0
  254. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.css +1 -1
  255. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +2 -2
  256. package/dist/collection/components/co-row/co-row.js +2 -2
  257. package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +2 -2
  258. package/dist/collection/components/co-select/co-select.css +4 -7
  259. package/dist/collection/components/co-select/co-select.js +4 -4
  260. package/dist/collection/components/co-separator/co-separator.js +1 -1
  261. package/dist/collection/components/co-sidebar/co-sidebar.js +2 -2
  262. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.css +8 -6
  263. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +8 -6
  264. package/dist/collection/components/co-skeleton/co-skeleton.js +1 -1
  265. package/dist/collection/components/co-slider/co-slider.js +2 -2
  266. package/dist/collection/components/co-switch/co-switch.css +3 -1
  267. package/dist/collection/components/co-switch/co-switch.js +3 -3
  268. package/dist/collection/components/co-tab/co-tab.css +39 -4
  269. package/dist/collection/components/co-tab/co-tab.js +6 -6
  270. package/dist/collection/components/co-tab-group/co-tab-group.css +11 -0
  271. package/dist/collection/components/co-tab-group/co-tab-group.js +10 -4
  272. package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
  273. package/dist/collection/components/co-textarea/co-textarea.js +4 -4
  274. package/dist/collection/components/co-toast/co-toast.js +2 -2
  275. package/dist/collection/components/co-toggle-button/co-toggle-button.js +2 -2
  276. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +2 -2
  277. package/dist/collection/components/co-tooltip/co-tooltip.js +2 -2
  278. package/dist/collection/components/co-transfer-list/co-transfer-list.js +2 -2
  279. package/dist/collection/components/co-video/co-video.css +2 -2
  280. package/dist/collection/components/co-video/co-video.js +2 -2
  281. package/dist/components/co-accordion.js +1 -1
  282. package/dist/components/co-app-shell.js +1 -1
  283. package/dist/components/co-autocomplete.js +1 -1
  284. package/dist/components/co-avatar-group.js +1 -1
  285. package/dist/components/co-avatar.js +1 -1
  286. package/dist/components/co-badge.js +1 -1
  287. package/dist/components/co-bottom-sheet.js +1 -1
  288. package/dist/components/co-breadcrumb-item.js +1 -1
  289. package/dist/components/co-breadcrumb.js +1 -1
  290. package/dist/components/co-button-group.js +1 -1
  291. package/dist/components/co-button.js +1 -1
  292. package/dist/components/co-calendar-month.js +1 -1
  293. package/dist/components/co-calendar.js +1 -1
  294. package/dist/components/co-card.js +1 -1
  295. package/dist/components/co-checkbox-group.js +1 -1
  296. package/dist/components/co-checkbox.js +1 -1
  297. package/dist/components/co-chip.js +1 -1
  298. package/dist/components/co-color-picker.js +1 -1
  299. package/dist/components/co-column-picker.js +1 -1
  300. package/dist/components/co-combobox.js +1 -1
  301. package/dist/components/co-command-search.js +1 -1
  302. package/dist/components/co-data-table-pagination.js +1 -1
  303. package/dist/components/co-data-table.js +1 -1
  304. package/dist/components/co-date-field.js +1 -1
  305. package/dist/components/co-date-picker.js +1 -1
  306. package/dist/components/co-date-range-picker.js +1 -1
  307. package/dist/components/co-date-range.js +1 -1
  308. package/dist/components/co-drawer.js +1 -1
  309. package/dist/components/co-drive-card.js +1 -1
  310. package/dist/components/co-drop-zone.js +1 -1
  311. package/dist/components/co-empty-state.js +1 -1
  312. package/dist/components/co-event-calendar.js +1 -1
  313. package/dist/components/co-fab.js +1 -1
  314. package/dist/components/co-file-field.js +1 -1
  315. package/dist/components/co-file-type-tile.js +1 -1
  316. package/dist/components/co-helper-text.js +1 -1
  317. package/dist/components/co-icon-button.js +1 -1
  318. package/dist/components/co-icon.js +1 -1
  319. package/dist/components/co-input.js +1 -1
  320. package/dist/components/co-json-field.js +1 -1
  321. package/dist/components/co-lightbox.js +1 -1
  322. package/dist/components/co-list-footer.js +1 -1
  323. package/dist/components/co-list-item.js +1 -1
  324. package/dist/components/co-media-thumb.js +1 -1
  325. package/dist/components/co-menu-divider.js +1 -1
  326. package/dist/components/co-menu-item.js +1 -1
  327. package/dist/components/co-menu.js +1 -1
  328. package/dist/components/co-modal.js +1 -1
  329. package/dist/components/co-navbar.js +1 -1
  330. package/dist/components/co-number-field.js +1 -1
  331. package/dist/components/co-option-list.js +1 -1
  332. package/dist/components/co-overlay.js +1 -1
  333. package/dist/components/co-page-header.js +1 -1
  334. package/dist/components/co-phone-field.js +1 -1
  335. package/dist/components/co-popover.js +1 -1
  336. package/dist/components/co-progress-bar.js +1 -1
  337. package/dist/components/co-progress-circle.js +1 -1
  338. package/dist/components/co-radio-group.js +1 -1
  339. package/dist/components/co-radio.js +1 -1
  340. package/dist/components/co-rating.js +1 -1
  341. package/dist/components/co-ref-field.js +1 -1
  342. package/dist/components/co-rich-text-editor.js +1 -1
  343. package/dist/components/co-rich-text-toolbar.js +1 -1
  344. package/dist/components/co-row.js +1 -1
  345. package/dist/components/co-segmented-bar.js +1 -1
  346. package/dist/components/co-select.js +1 -1
  347. package/dist/components/co-separator.js +1 -1
  348. package/dist/components/co-sidebar-nav.js +1 -1
  349. package/dist/components/co-sidebar.js +1 -1
  350. package/dist/components/co-skeleton.js +1 -1
  351. package/dist/components/co-slider.js +1 -1
  352. package/dist/components/co-switch.js +1 -1
  353. package/dist/components/co-tab-group.js +1 -1
  354. package/dist/components/co-tab.js +1 -1
  355. package/dist/components/co-tags-field.js +1 -1
  356. package/dist/components/co-textarea.js +1 -1
  357. package/dist/components/co-toast.js +1 -1
  358. package/dist/components/co-toggle-button-group.js +1 -1
  359. package/dist/components/co-toggle-button.js +1 -1
  360. package/dist/components/co-tooltip.js +1 -1
  361. package/dist/components/co-transfer-list.js +1 -1
  362. package/dist/components/co-video.js +1 -1
  363. package/dist/components/index.js +1 -1
  364. package/dist/components/p-BHqdcGDh.js +1 -0
  365. package/dist/components/{p-B0buzt_E.js → p-BJTMFYax.js} +1 -1
  366. package/dist/components/{p-vLFwJ77w.js → p-Ba5lW0pA.js} +1 -1
  367. package/dist/components/p-Bsq90mo4.js +1 -0
  368. package/dist/components/{p-CybHxq25.js → p-CNIs9j-h.js} +1 -1
  369. package/dist/components/{p-Bx1OwdIV.js → p-COb8X_fE.js} +1 -1
  370. package/dist/components/{p-CzkeIavk.js → p-Cam92sWP.js} +1 -1
  371. package/dist/components/p-CmCsm4L-.js +1 -0
  372. package/dist/components/p-D3ts7oo9.js +1 -0
  373. package/dist/components/{p-CUvAZhuM.js → p-D4SOCy8I.js} +1 -1
  374. package/dist/components/{p-BnTTeIFH.js → p-Dh-h40mY.js} +1 -1
  375. package/dist/components/p-DrQh1Cb8.js +1 -0
  376. package/dist/components/{p-D7dk2gM7.js → p-DvL2TcDG.js} +1 -1
  377. package/dist/components/{p-BxiKVtk4.js → p-OKwHt2i9.js} +1 -1
  378. package/dist/components/{p-CBzpUqwG.js → p-QWi9AmnD.js} +1 -1
  379. package/dist/components/{p-B3igDRut.js → p-Xwo2HQmt.js} +1 -1
  380. package/dist/components/{p-DTS-dgEe.js → p-_k-j03K-.js} +1 -1
  381. package/dist/components/{p-HXlAaApx.js → p-eSq2ze8W.js} +1 -1
  382. package/dist/components/{p-C7tPadNy.js → p-lus32JrB.js} +1 -1
  383. package/dist/esm/co-accordion.entry.js +4 -4
  384. package/dist/esm/co-app-shell.entry.js +3 -3
  385. package/dist/esm/co-autocomplete.entry.js +38 -73
  386. package/dist/esm/co-avatar-group.entry.js +3 -3
  387. package/dist/esm/co-avatar.entry.js +2 -2
  388. package/dist/esm/co-badge.entry.js +2 -2
  389. package/dist/esm/co-bottom-sheet.entry.js +4 -4
  390. package/dist/esm/co-breadcrumb-item.entry.js +3 -3
  391. package/dist/esm/co-breadcrumb.entry.js +2 -2
  392. package/dist/esm/co-button-group.entry.js +3 -3
  393. package/dist/esm/co-button.entry.js +4 -4
  394. package/dist/esm/co-calendar-month.entry.js +2 -2
  395. package/dist/esm/co-calendar_3.entry.js +19 -14
  396. package/dist/esm/co-card.entry.js +3 -3
  397. package/dist/esm/co-checkbox-group.entry.js +4 -4
  398. package/dist/esm/co-checkbox.entry.js +4 -4
  399. package/dist/esm/co-chip_2.entry.js +482 -0
  400. package/dist/esm/co-color-picker.entry.js +4 -4
  401. package/dist/esm/co-column-picker.entry.js +3 -3
  402. package/dist/esm/co-combobox.entry.js +52 -83
  403. package/dist/esm/co-command-search.entry.js +21 -60
  404. package/dist/esm/co-data-table-pagination.entry.js +5 -5
  405. package/dist/esm/co-data-table.entry.js +54 -5
  406. package/dist/esm/co-date-picker.entry.js +2 -2
  407. package/dist/esm/co-date-range-picker.entry.js +3 -3
  408. package/dist/esm/co-date-range.entry.js +2 -2
  409. package/dist/esm/co-drive-card.entry.js +2 -2
  410. package/dist/esm/co-drop-zone.entry.js +2 -2
  411. package/dist/esm/co-empty-state.entry.js +4 -4
  412. package/dist/esm/co-event-calendar.entry.js +3 -3
  413. package/dist/esm/co-fab.entry.js +5 -5
  414. package/dist/esm/co-file-field.entry.js +7 -7
  415. package/dist/esm/co-file-type-tile.entry.js +3 -3
  416. package/dist/esm/co-helper-text.entry.js +3 -3
  417. package/dist/esm/co-icon-button.entry.js +2 -2
  418. package/dist/esm/co-icon.entry.js +3 -3
  419. package/dist/esm/co-input.entry.js +19 -3
  420. package/dist/esm/co-json-field.entry.js +5 -5
  421. package/dist/esm/co-lightbox.entry.js +6 -6
  422. package/dist/esm/co-list-footer.entry.js +2 -2
  423. package/dist/esm/co-list-item.entry.js +5 -5
  424. package/dist/esm/co-loader.entry.js +1 -1
  425. package/dist/esm/co-media-thumb.entry.js +3 -3
  426. package/dist/esm/co-menu-divider.entry.js +2 -2
  427. package/dist/esm/co-menu-item.entry.js +2 -2
  428. package/dist/esm/co-menu.entry.js +2 -2
  429. package/dist/esm/co-modal.entry.js +3 -3
  430. package/dist/esm/co-navbar.entry.js +3 -3
  431. package/dist/esm/co-number-field.entry.js +5 -5
  432. package/dist/esm/co-overlay.entry.js +2 -2
  433. package/dist/esm/co-page-header.entry.js +2 -2
  434. package/dist/esm/co-phone-field.entry.js +4 -4
  435. package/dist/esm/co-popover.entry.js +12 -3
  436. package/dist/esm/co-progress-bar.entry.js +4 -4
  437. package/dist/esm/co-progress-circle.entry.js +3 -3
  438. package/dist/esm/co-radio-group.entry.js +4 -4
  439. package/dist/esm/co-radio.entry.js +4 -4
  440. package/dist/esm/co-rating.entry.js +4 -4
  441. package/dist/esm/co-ref-field.entry.js +31 -135
  442. package/dist/esm/co-rich-text-editor.entry.js +4 -4
  443. package/dist/esm/co-rich-text-toolbar.entry.js +1 -1
  444. package/dist/esm/co-rich-text-viewer.entry.js +1 -1
  445. package/dist/esm/co-row.entry.js +3 -3
  446. package/dist/esm/co-segmented-bar.entry.js +3 -3
  447. package/dist/esm/co-select.entry.js +7 -7
  448. package/dist/esm/co-separator.entry.js +2 -2
  449. package/dist/esm/co-sidebar-nav.entry.js +10 -8
  450. package/dist/esm/co-sidebar.entry.js +3 -3
  451. package/dist/esm/co-skeleton.entry.js +2 -2
  452. package/dist/esm/co-slider.entry.js +3 -3
  453. package/dist/esm/co-switch.entry.js +6 -6
  454. package/dist/esm/co-tab-group.entry.js +10 -4
  455. package/dist/esm/co-tab.entry.js +5 -5
  456. package/dist/esm/co-tags-field.entry.js +8 -8
  457. package/dist/esm/co-textarea.entry.js +6 -6
  458. package/dist/esm/co-toast.entry.js +3 -3
  459. package/dist/esm/co-toggle-button-group.entry.js +3 -3
  460. package/dist/esm/co-toggle-button.entry.js +3 -3
  461. package/dist/esm/co-tooltip.entry.js +3 -3
  462. package/dist/esm/co-transfer-list.entry.js +3 -3
  463. package/dist/esm/co-video.entry.js +4 -4
  464. package/dist/esm/cobalt.js +3 -3
  465. package/dist/esm/{fieldChip-BBu4ukje.js → fieldChip-ChXW__C5.js} +1 -1
  466. package/dist/esm/{index-Es9IUmmt.js → index-tT-aZV0-.js} +9 -13
  467. package/dist/esm/loader.js +3 -3
  468. package/dist/esm/{requiredMark-Bg25QWFn.js → requiredMark-C7-_2UhB.js} +1 -1
  469. package/dist/types/components/co-accordion/co-accordion.d.ts +3 -0
  470. package/dist/types/components/co-autocomplete/co-autocomplete.d.ts +12 -14
  471. package/dist/types/components/co-combobox/co-combobox.d.ts +29 -15
  472. package/dist/types/components/co-command-search/co-command-search.d.ts +13 -5
  473. package/dist/types/components/co-command-search/commandSearchLogic.d.ts +1 -1
  474. package/dist/types/components/co-data-table/co-data-table.d.ts +22 -0
  475. package/dist/types/components/co-fab/co-fab.d.ts +3 -1
  476. package/dist/types/components/co-input/co-input.d.ts +9 -0
  477. package/dist/types/components/co-option-list/co-option-list.d.ts +4 -0
  478. package/dist/types/components/co-popover/co-popover.d.ts +1 -0
  479. package/dist/types/components/co-ref-field/co-ref-field.d.ts +8 -30
  480. package/dist/types/components/co-sidebar-nav/co-sidebar-nav.d.ts +2 -0
  481. package/dist/types/components/co-tab/co-tab.d.ts +2 -2
  482. package/dist/types/components/co-tab-group/co-tab-group.d.ts +5 -1
  483. package/dist/types/components.d.ts +123 -45
  484. package/package.json +4 -4
  485. package/dist/cjs/co-chip.cjs.entry.js +0 -91
  486. package/dist/cjs/co-option-list.cjs.entry.js +0 -379
  487. package/dist/cobalt/p-06c27cc5.entry.js +0 -1
  488. package/dist/cobalt/p-075f6ca4.entry.js +0 -1
  489. package/dist/cobalt/p-0810ee1e.entry.js +0 -1
  490. package/dist/cobalt/p-0b41e76e.entry.js +0 -1
  491. package/dist/cobalt/p-19f7ee64.entry.js +0 -1
  492. package/dist/cobalt/p-23c9208a.entry.js +0 -1
  493. package/dist/cobalt/p-311118cb.entry.js +0 -1
  494. package/dist/cobalt/p-48c5f311.entry.js +0 -1
  495. package/dist/cobalt/p-523cfd98.entry.js +0 -1
  496. package/dist/cobalt/p-5eecea26.entry.js +0 -1
  497. package/dist/cobalt/p-64a0b656.entry.js +0 -1
  498. package/dist/cobalt/p-6a3ed174.entry.js +0 -1
  499. package/dist/cobalt/p-755ecee1.entry.js +0 -1
  500. package/dist/cobalt/p-76b46336.entry.js +0 -1
  501. package/dist/cobalt/p-7b5dec05.entry.js +0 -1
  502. package/dist/cobalt/p-87289d32.entry.js +0 -1
  503. package/dist/cobalt/p-BUgUTjOB.js +0 -1
  504. package/dist/cobalt/p-Es9IUmmt.js +0 -2
  505. package/dist/cobalt/p-a71fd4f1.entry.js +0 -1
  506. package/dist/cobalt/p-b045d680.entry.js +0 -1
  507. package/dist/cobalt/p-b3c8fc9a.entry.js +0 -1
  508. package/dist/cobalt/p-b8f36f12.entry.js +0 -1
  509. package/dist/cobalt/p-ba6f0f90.entry.js +0 -1
  510. package/dist/cobalt/p-c1abc74b.entry.js +0 -1
  511. package/dist/cobalt/p-cf239452.entry.js +0 -1
  512. package/dist/cobalt/p-d2507f04.entry.js +0 -1
  513. package/dist/cobalt/p-d55652f2.entry.js +0 -1
  514. package/dist/cobalt/p-da211abf.entry.js +0 -1
  515. package/dist/cobalt/p-dcc7fc95.entry.js +0 -1
  516. package/dist/collection/components/co-command-search/commandSearchGroup.js +0 -17
  517. package/dist/components/p-BhSJcOUS.js +0 -1
  518. package/dist/components/p-CZKHHCdL.js +0 -1
  519. package/dist/components/p-K6LC1Hz4.js +0 -1
  520. package/dist/components/p-LAxCvyJl.js +0 -1
  521. package/dist/esm/co-chip.entry.js +0 -89
  522. package/dist/esm/co-option-list.entry.js +0 -377
  523. package/dist/types/components/co-command-search/commandSearchGroup.d.ts +0 -20
@@ -29,6 +29,11 @@ export class CoDataTable {
29
29
  this.sortField = '';
30
30
  /** Current sort direction */
31
31
  this.sortOrder = '';
32
+ /* ─── COLUMN FILTERS ────────────────────────────────────── */
33
+ /** Fields with an active column filter (funnel filled + always visible). JSON string or array. */
34
+ this.filteredFields = '[]';
35
+ /** Fields filtered by OTHER filter layers (funnel dimmed hint). JSON string or array. */
36
+ this.indirectFilteredFields = '[]';
32
37
  /* ─── SELECTION ─────────────────────────────────────────── */
33
38
  /** Enable row selection with checkboxes */
34
39
  this.selectable = false;
@@ -41,6 +46,8 @@ export class CoDataTable {
41
46
  this.parsedColumns = [];
42
47
  this.parsedRows = [];
43
48
  this.parsedSelectedKeys = new Set();
49
+ this.parsedFilteredFields = [];
50
+ this.parsedIndirectFields = [];
44
51
  this.columnWidths = new Map();
45
52
  this.resizingColumn = null;
46
53
  this.resizeStartX = 0;
@@ -83,10 +90,28 @@ export class CoDataTable {
83
90
  this.parsedSelectedKeys = new Set();
84
91
  }
85
92
  }
93
+ parseFilteredFields() {
94
+ try {
95
+ this.parsedFilteredFields = typeof this.filteredFields === 'string' ? JSON.parse(this.filteredFields) : (this.filteredFields || []);
96
+ }
97
+ catch (_a) {
98
+ this.parsedFilteredFields = [];
99
+ }
100
+ }
101
+ parseIndirectFields() {
102
+ try {
103
+ this.parsedIndirectFields = typeof this.indirectFilteredFields === 'string' ? JSON.parse(this.indirectFilteredFields) : (this.indirectFilteredFields || []);
104
+ }
105
+ catch (_a) {
106
+ this.parsedIndirectFields = [];
107
+ }
108
+ }
86
109
  componentWillLoad() {
87
110
  this.parseColumns();
88
111
  this.parseRows();
89
112
  this.parseSelectedKeys();
113
+ this.parseFilteredFields();
114
+ this.parseIndirectFields();
90
115
  }
91
116
  /* ─── SORT HANDLERS ─────────────────────────────────────── */
92
117
  handleSort(field) {
@@ -174,6 +199,15 @@ export class CoDataTable {
174
199
  e.stopPropagation();
175
200
  this.coColumnPin.emit({ field });
176
201
  }
202
+ handleColumnFilter(field, e) {
203
+ e.stopPropagation();
204
+ const el = e.currentTarget;
205
+ const r = el.getBoundingClientRect();
206
+ this.coHeaderFilter.emit({
207
+ field,
208
+ rect: { top: r.top, left: r.left, bottom: r.bottom, right: r.right, width: r.width, height: r.height },
209
+ });
210
+ }
177
211
  /* ─── HELPERS ───────────────────────────────────────────── */
178
212
  formatCellValue(value) {
179
213
  if (value == null)
@@ -270,7 +304,15 @@ export class CoDataTable {
270
304
  : undefined }, h("span", { class: "co-data-table__th-content" }, h("span", { class: {
271
305
  'co-data-table__pin-icon': true,
272
306
  'co-data-table__pin-icon--active': !!col.sticky,
273
- }, title: col.sticky ? 'Unpin column' : 'Pin column', onClick: (e) => this.handleColumnPin(col.field, e) }, h("co-icon", { name: "push-pin", size: 14, weight: col.sticky ? 'fill' : 'regular' })), col.sortable ? (h("button", { type: "button", class: "co-data-table__sort-button", "aria-label": `Sort by ${col.label}`, onClick: () => this.handleSort(col.field) }, h("span", { class: "co-data-table__th-label" }, col.label), this.renderSortIcon(col))) : (h("span", { class: "co-data-table__th-label" }, col.label))), this.resizable && i < this.parsedColumns.length - 1 && (h("span", { class: {
307
+ }, title: col.sticky ? 'Unpin column' : 'Pin column', onClick: (e) => this.handleColumnPin(col.field, e) }, h("co-icon", { name: "push-pin", size: 14, weight: col.sticky ? 'fill' : 'regular' })), col.sortable ? (h("button", { type: "button", class: "co-data-table__sort-button", "aria-label": `Sort by ${col.label}`, onClick: () => this.handleSort(col.field) }, h("span", { class: "co-data-table__th-label" }, col.label), this.renderSortIcon(col))) : (h("span", { class: "co-data-table__th-label" }, col.label)), col.filterable && (h("span", { class: {
308
+ 'co-data-table__filter-icon': true,
309
+ 'co-data-table__filter-icon--active': this.parsedFilteredFields.includes(col.field),
310
+ 'co-data-table__filter-icon--indirect': !this.parsedFilteredFields.includes(col.field) && this.parsedIndirectFields.includes(col.field),
311
+ }, title: this.parsedFilteredFields.includes(col.field)
312
+ ? 'Edit column filter'
313
+ : this.parsedIndirectFields.includes(col.field)
314
+ ? 'Filtered by other filters'
315
+ : 'Filter column', onClick: (e) => this.handleColumnFilter(col.field, e) }, h("co-icon", { name: "funnel", size: 14, weight: this.parsedFilteredFields.includes(col.field) ? 'fill' : 'regular' })))), this.resizable && i < this.parsedColumns.length - 1 && (h("span", { class: {
274
316
  'co-data-table__resize-handle': true,
275
317
  'co-data-table__resize-handle--active': this.resizingColumn === col.field,
276
318
  }, onMouseDown: (e) => this.handleResizeStart(col.field, e), onClick: (e) => e.stopPropagation() }))))))));
@@ -297,12 +339,12 @@ export class CoDataTable {
297
339
  : h("slot", { name: "empty-action" }))));
298
340
  }
299
341
  render() {
300
- return (h("div", { key: '0ca5b4b0a0a31c1ea7488a7ca22b64683a9d35e1', class: {
342
+ return (h("div", { key: 'baf9a797b25e76d4b054513b3e4c90aacce24a80', class: {
301
343
  'co-data-table': true,
302
344
  'co-data-table--resizing': this.resizingColumn !== null,
303
345
  'co-data-table--loading': this.loading,
304
346
  'co-data-table--empty': !this.loading && this.parsedRows.length === 0,
305
- } }, h("div", { key: 'b2155d0ad52836223b65bb396775bfe726f25966', class: "co-data-table__scroll" }, h("table", { key: 'f950dc3e38660fd1d80f6883bb58384f6e03ef07', class: "co-data-table__table", style: { width: `${this.getTableWidth()}px`, minWidth: '100%' } }, this.renderColgroup(), this.renderHeader(), h("slot", { key: '33751ea8dfef38c5c285b8a08dc763845f509bb7' }), this.loading ? this.renderSkeletonBody() : null)), this.renderEmpty()));
347
+ } }, h("div", { key: '132100357cb7fed5d27054e2e3a66c218dddad9d', class: "co-data-table__scroll" }, h("table", { key: '0e183744b6f1c7c44ec8dd741eb8cdbbbdf5b638', class: "co-data-table__table", style: { width: `${this.getTableWidth()}px`, minWidth: '100%' } }, this.renderColgroup(), this.renderHeader(), h("slot", { key: 'c3c58515f63fdfdfa760ba483f00c686863ddb20' }), this.loading ? this.renderSkeletonBody() : null)), this.renderEmpty()));
306
348
  }
307
349
  static get is() { return "co-data-table"; }
308
350
  static get originalStyleUrls() {
@@ -581,6 +623,46 @@ export class CoDataTable {
581
623
  "attribute": "sort-order",
582
624
  "defaultValue": "''"
583
625
  },
626
+ "filteredFields": {
627
+ "type": "string",
628
+ "mutable": false,
629
+ "complexType": {
630
+ "original": "string | string[]",
631
+ "resolved": "string | string[]",
632
+ "references": {}
633
+ },
634
+ "required": false,
635
+ "optional": false,
636
+ "docs": {
637
+ "tags": [],
638
+ "text": "Fields with an active column filter (funnel filled + always visible). JSON string or array."
639
+ },
640
+ "getter": false,
641
+ "setter": false,
642
+ "reflect": true,
643
+ "attribute": "filtered-fields",
644
+ "defaultValue": "'[]'"
645
+ },
646
+ "indirectFilteredFields": {
647
+ "type": "string",
648
+ "mutable": false,
649
+ "complexType": {
650
+ "original": "string | string[]",
651
+ "resolved": "string | string[]",
652
+ "references": {}
653
+ },
654
+ "required": false,
655
+ "optional": false,
656
+ "docs": {
657
+ "tags": [],
658
+ "text": "Fields filtered by OTHER filter layers (funnel dimmed hint). JSON string or array."
659
+ },
660
+ "getter": false,
661
+ "setter": false,
662
+ "reflect": true,
663
+ "attribute": "indirect-filtered-fields",
664
+ "defaultValue": "'[]'"
665
+ },
584
666
  "selectable": {
585
667
  "type": "boolean",
586
668
  "mutable": false,
@@ -648,6 +730,8 @@ export class CoDataTable {
648
730
  "parsedColumns": {},
649
731
  "parsedRows": {},
650
732
  "parsedSelectedKeys": {},
733
+ "parsedFilteredFields": {},
734
+ "parsedIndirectFields": {},
651
735
  "columnWidths": {},
652
736
  "resizingColumn": {},
653
737
  "resizeStartX": {},
@@ -730,6 +814,21 @@ export class CoDataTable {
730
814
  "resolved": "{ field: string; }",
731
815
  "references": {}
732
816
  }
817
+ }, {
818
+ "method": "coHeaderFilter",
819
+ "name": "coHeaderFilter",
820
+ "bubbles": true,
821
+ "cancelable": true,
822
+ "composed": true,
823
+ "docs": {
824
+ "tags": [],
825
+ "text": "Emitted when a column's filter icon is clicked (rect = icon bounding box for anchoring)."
826
+ },
827
+ "complexType": {
828
+ "original": "{ field: string; rect: { top: number; left: number; bottom: number; right: number; width: number; height: number } }",
829
+ "resolved": "{ field: string; rect: { top: number; left: number; bottom: number; right: number; width: number; height: number; }; }",
830
+ "references": {}
831
+ }
733
832
  }, {
734
833
  "method": "coRowDblClick",
735
834
  "name": "coRowDblClick",
@@ -788,6 +887,12 @@ export class CoDataTable {
788
887
  }, {
789
888
  "propName": "selectedKeys",
790
889
  "methodName": "parseSelectedKeys"
890
+ }, {
891
+ "propName": "filteredFields",
892
+ "methodName": "parseFilteredFields"
893
+ }, {
894
+ "propName": "indirectFilteredFields",
895
+ "methodName": "parseIndirectFields"
791
896
  }];
792
897
  }
793
898
  }
@@ -84,17 +84,17 @@ export class CoDataTablePagination {
84
84
  }
85
85
  render() {
86
86
  const pages = this.getVisiblePages();
87
- return (h("div", { key: '58fdc57923ac061b83b248ad47bfc898b66fb512', class: "co-pagination", part: "pagination" }, h("div", { key: '918fdaecef593fdde7095353be9d28a19b1a89c4', class: "co-pagination__section" }, h("span", { key: '4b962d74a9655b6fd6a6ec670df4139b28bd49c1', class: "co-pagination__label" }, this.jumpToPageLabel), h("input", { key: 'c4db59aea2a672f6b103ec1b3183af94c10168b2', type: "text", class: "co-pagination__jump-input", value: this.jumpToValue || String(this.page), onInput: (e) => {
87
+ return (h("div", { key: 'a0634afed71b18005f42921052b2bb41b5710818', class: "co-pagination", part: "pagination" }, h("div", { key: '08afef194748764e581c9c0e173af57bd7484e6a', class: "co-pagination__section" }, h("span", { key: '8bf238dd11b3c322becb18e07afbe087584ce3e0', class: "co-pagination__label" }, this.jumpToPageLabel), h("input", { key: '109f501ce7a1dc4ee2c109d75f7fcbc81aa3bfcc', type: "text", class: "co-pagination__jump-input", value: this.jumpToValue || String(this.page), onInput: (e) => {
88
88
  this.jumpToValue = e.target.value;
89
89
  }, onKeyDown: (e) => this.handleJumpToPage(e), onFocus: (e) => {
90
90
  e.target.select();
91
- }, part: "jump-input" })), h("div", { key: '76de3483638cab4fbd2161c3ecd0331d8ce479c9', class: "co-pagination__section co-pagination__section--page-size" }, h("div", { key: '816fce2951c214419670d7bc060476beb1d3dda3', class: "co-pagination__page-size-trigger", onClick: () => { this.showPageSizeDropdown = !this.showPageSizeDropdown; } }, h("span", { key: 'c65b889eb1c7287559c40e7449e4053e3ffafa87', class: "co-pagination__page-size-value" }, this.pageSize), h("span", { key: '72191c99bb24055f6a239aeb301452240ad954b3', class: "co-pagination__label" }, this.perPageLabel), h("co-icon", { key: 'f9688b7b17af70c9348b837bdacc2cf879a50e71', name: "caret-down", size: 14 })), this.showPageSizeDropdown && (h("div", { key: '47273c123ecdcfd8aee50d6d67d27bddcd78efcb', class: "co-pagination__page-size-dropdown", part: "dropdown" }, this.parsedPageSizes.map(size => (h("button", { class: {
91
+ }, part: "jump-input" })), h("div", { key: '706f537a7165004e18a4cf9f3b172392cbc25657', class: "co-pagination__section co-pagination__section--page-size" }, h("div", { key: '15102e983f876658cf56c2aba8d94d29d132fa47', class: "co-pagination__page-size-trigger", onClick: () => { this.showPageSizeDropdown = !this.showPageSizeDropdown; } }, h("span", { key: '5eb114f934a1f694c45ae4165d3dc32e120fd7c9', class: "co-pagination__page-size-value" }, this.pageSize), h("span", { key: 'f767df618ae0f1193dd107d8b8ab66434ab3da92', class: "co-pagination__label" }, this.perPageLabel), h("co-icon", { key: '013df9bfa151cbc9c266c10e94e18823edd48050', name: "caret-down", size: 14 })), this.showPageSizeDropdown && (h("div", { key: '634d6cdb5ceaaf6e0ffee6ee3533d568765d8868', class: "co-pagination__page-size-dropdown", part: "dropdown" }, this.parsedPageSizes.map(size => (h("button", { class: {
92
92
  'co-pagination__page-size-option': true,
93
93
  'co-pagination__page-size-option--active': size === this.pageSize,
94
- }, onClick: () => this.changePageSize(size) }, size)))))), h("div", { key: '38fa750720d8df2087b6579d287f79681c6b0ff8', class: "co-pagination__spacer" }), h("div", { key: '17f1557e704f2f466efe06babc9ba4d065d67c7f', class: "co-pagination__section" }, h("span", { key: '376d1c381f7efc92ee1afafa664e665ab80f6b17', class: "co-pagination__count" }, this.totalCount.toLocaleString(), " ", this.recordsLabel)), h("div", { key: 'cea4fe162d5610c6fd847be228f672fc3ae088cb', class: "co-pagination__section co-pagination__nav" }, h("button", { key: '64b7983f49a768631265f82af2904b15b6b927ef', class: "co-pagination__nav-btn", disabled: this.page <= 1, onClick: () => this.goToPage(this.page - 1), part: "prev-btn" }, this.previousLabel), pages.map(p => p === '...' ? (h("span", { class: "co-pagination__ellipsis" }, "\u2026")) : (h("button", { class: {
94
+ }, onClick: () => this.changePageSize(size) }, size)))))), h("div", { key: '9cd537ceee590fdf03fb71f1e703c468e88881c5', class: "co-pagination__spacer" }), h("div", { key: '4f958f5ce6d1d5bb77a232d49dcf0375cadd8bff', class: "co-pagination__section" }, h("span", { key: '50717cd14f6dd64a47c31d64c6b98064316c5363', class: "co-pagination__count" }, this.totalCount.toLocaleString(), " ", this.recordsLabel)), h("div", { key: 'd133196b3970aed10f5e80fe8edc16576d3ef723', class: "co-pagination__section co-pagination__nav" }, h("button", { key: '497d2dec11447e6426810770a38ff09564796336', class: "co-pagination__nav-btn", disabled: this.page <= 1, onClick: () => this.goToPage(this.page - 1), part: "prev-btn" }, this.previousLabel), pages.map(p => p === '...' ? (h("span", { class: "co-pagination__ellipsis" }, "\u2026")) : (h("button", { class: {
95
95
  'co-pagination__page-btn': true,
96
96
  'co-pagination__page-btn--active': p === this.page,
97
- }, onClick: () => this.goToPage(p) }, p))), h("button", { key: 'efd6ec713cb22bdb9eb6774e094f8fbc12cb4811', class: "co-pagination__nav-btn", disabled: this.page >= this.totalPages, onClick: () => this.goToPage(this.page + 1), part: "next-btn" }, this.nextLabel))));
97
+ }, onClick: () => this.goToPage(p) }, p))), h("button", { key: '86ef170b109112e82cc2b7e53932a1ce1594e3cf', class: "co-pagination__nav-btn", disabled: this.page >= this.totalPages, onClick: () => this.goToPage(this.page + 1), part: "next-btn" }, this.nextLabel))));
98
98
  }
99
99
  static get is() { return "co-data-table-pagination"; }
100
100
  static get encapsulation() { return "shadow"; }
@@ -56,10 +56,10 @@
56
56
  align-items: center;
57
57
  gap: var(--co-spacing-sm2);
58
58
  padding: var(--co-spacing-sm2) var(--co-spacing-md);
59
- background: color-mix(in srgb, var(--co-semantic-surface-secondary) 55%, transparent);
60
- -webkit-backdrop-filter: blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));
61
- backdrop-filter: blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));
62
- border: 1px solid var(--co-semantic-border-subtle);
59
+ /* Figma Text Field parity (same box as co-input): solid page surface +
60
+ Negro 25% border — tinted glass didn't read as editable on white. */
61
+ background: var(--co-semantic-surface-page);
62
+ border: 1px solid var(--co-color-opacity-negro-25, rgba(31, 28, 27, 0.25));
63
63
  border-radius: var(--co-border-radius-xs);
64
64
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
65
65
  min-height: 40px;
@@ -240,6 +240,3 @@
240
240
  content: var(--co-field-required-text, ' (required)');
241
241
  }
242
242
 
243
- @supports not (background: color-mix(in srgb, red, transparent)) {
244
- .co-date-field__field { background: var(--co-semantic-surface-secondary); }
245
- }
@@ -162,20 +162,20 @@ export class CoDateField {
162
162
  // should still fall back to the localized default placeholder.
163
163
  const placeholder = this.placeholder || t.setDate;
164
164
  const helper = this.isInvalid ? this.errorMessage : this.helperText;
165
- return (h("div", { key: '5ac31e35bf25f081826ab545e81905a584a4d4a7', class: {
165
+ return (h("div", { key: '7c7de06d53bf9ab7dab40906d533bfaf1874e41e', class: {
166
166
  'co-date-field': true,
167
167
  'co-date-field--disabled': this.disabled,
168
168
  'co-date-field--focused': this.hasFocus,
169
169
  'co-date-field--filled': this.hasValue,
170
170
  'co-date-field--invalid': this.isInvalid,
171
171
  [`co-date-field--${this.size}`]: true,
172
- }, part: "wrapper" }, this.label && (h("div", { key: 'bdae8bdc967b23279ec74d529a37364ec337f95b', class: "co-date-field__labels" }, h("label", { key: '0b12b042cebc4b0eb63db437e42e04aedfb53464', class: "co-date-field__label", part: "label" }, this.label, h(RequiredMark, { key: 'd75f215b97944fa284f5fd7551ea9064b6178680', required: this.required })))), h("div", { key: '46e3bf5add9a72130008e3b5813fed3ecbbaca95', class: "co-date-field__field-row" }, h("div", { key: 'ee34b6d0a3cb8e61fc04b6c4f1758ca8d64d793f', class: "co-date-field__field", part: "field" }, h("co-icon", { key: '00fb0a1eda9a4fc85f859fce9382c1ff11e7589c', name: "calendar", size: 16, class: "co-date-field__icon" }), h("div", { key: '8c57abb7af49e3779886b48d84fcc9c8e779588b', class: "co-date-field__input-wrapper" }, h("input", { key: 'c6cd280e83d99f3fdae60f52632d0ebeeebf6ca6', ref: (el) => (this.inputEl = el), class: "co-date-field__native", type: "text", inputMode: "numeric", autocomplete: "off", value: this.draft, placeholder: placeholder, disabled: this.disabled, readOnly: this.readonly, required: this.required, "aria-invalid": this.isInvalid ? 'true' : 'false', "aria-label": !this.label ? t.dateLabel : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, part: "input" })), this.clearable && (h("button", { key: '9fdf9250b8d15d25a3589c3439b76b5280146037', class: {
172
+ }, part: "wrapper" }, this.label && (h("div", { key: '30828a7b19aae5f304a26ec5025dba14039060d2', class: "co-date-field__labels" }, h("label", { key: '0b004de41209191ee0a03cf8436eb4dba96bb99c', class: "co-date-field__label", part: "label" }, this.label, h(RequiredMark, { key: '810008c09dbc2fd5e889adc71230a546ab4e78df', required: this.required })))), h("div", { key: '8e488bd0ceb0b011fc4a903d66f3dd17a668cea3', class: "co-date-field__field-row" }, h("div", { key: '9a7fb685c5fc65ee9f731dba6c34a527044a1388', class: "co-date-field__field", part: "field" }, h("co-icon", { key: '81aa74d44ff1b524c253e278345c8add4fb3fe9f', name: "calendar", size: 16, class: "co-date-field__icon" }), h("div", { key: '4dc0d25d37fb8d099860566af1c2ac59d5111e4a', class: "co-date-field__input-wrapper" }, h("input", { key: '1aedac94aff9df44316509d9062e41f86a405a33', ref: (el) => (this.inputEl = el), class: "co-date-field__native", type: "text", inputMode: "numeric", autocomplete: "off", value: this.draft, placeholder: placeholder, disabled: this.disabled, readOnly: this.readonly, required: this.required, "aria-invalid": this.isInvalid ? 'true' : 'false', "aria-label": !this.label ? t.dateLabel : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, part: "input" })), this.clearable && (h("button", { key: '0e91b71755c341971064186ee1371d59353cdd1c', class: {
173
173
  'co-date-field__clear': true,
174
174
  'co-date-field__clear--hidden': !showClear,
175
- }, type: "button", tabIndex: -1, onMouseDown: (e) => e.preventDefault() /* keep input focus */, onClick: this.handleClear, "aria-label": (_a = this.clearLabel) !== null && _a !== void 0 ? _a : t.clearDate, part: "clear" }, h("co-icon", { key: '7ada74a22ec6a2256335e0ddf6da6afaa0b7a352', name: "x-circle", size: 16, weight: "fill" }))))), this.name && h("input", { key: 'e7d9c399df18fcc9853e39a2098ba69e0da134f6', type: "hidden", name: this.name, value: (_b = this.value) !== null && _b !== void 0 ? _b : '' }), helper && (h("div", { key: '7548567c188927716305d008e29a6d374445a240', class: {
175
+ }, type: "button", tabIndex: -1, onMouseDown: (e) => e.preventDefault() /* keep input focus */, onClick: this.handleClear, "aria-label": (_a = this.clearLabel) !== null && _a !== void 0 ? _a : t.clearDate, part: "clear" }, h("co-icon", { key: 'c4714d0444f27adf4c85f9303d0a510cb63af406', name: "x-circle", size: 16, weight: "fill" }))))), this.name && h("input", { key: '257a873a76fdf65494778b1d514717ae2627f4ef', type: "hidden", name: this.name, value: (_b = this.value) !== null && _b !== void 0 ? _b : '' }), helper && (h("div", { key: '345fe8ad6fd0c5c512c038249f7d8f95ff286838', class: {
176
176
  'co-date-field__helper': true,
177
177
  'co-date-field__helper--error': this.isInvalid,
178
- }, part: "helper" }, this.isInvalid && (h("co-icon", { key: '1f333eb340a795d57eb10994a2df16b5c791aa16', name: "warning-circle", size: 14, class: "co-date-field__helper-icon" })), h("span", { key: '26e3c105607810fcfdedf864f5c182fc6d882d86', class: "co-date-field__helper-text" }, helper)))));
178
+ }, part: "helper" }, this.isInvalid && (h("co-icon", { key: '32b6d53b1f8d78fdff90c960c039ac109c80c137', name: "warning-circle", size: 14, class: "co-date-field__helper-icon" })), h("span", { key: '6f9ad478ddb4401d314ad7ef4fb98b21230b5ef1', class: "co-date-field__helper-text" }, helper)))));
179
179
  }
180
180
  static get is() { return "co-date-field"; }
181
181
  static get encapsulation() { return "shadow"; }
@@ -33,7 +33,7 @@ export class CoDateRange {
33
33
  }
34
34
  }
35
35
  render() {
36
- return (h("co-date-range-picker", { key: 'a366a10a7980292014ac8a9f48a97077cac09299', value: this.value, label: this.label, placeholder: this.placeholder, disabled: this.disabled, clearable: this.clearable, presets: this.presets, helperText: this.helperText, locale: this.locale, applyLabel: this.applyLabel, clearLabel: this.clearLabel, onCoApply: this.handleApply, onCoClear: () => this.coClear.emit() }));
36
+ return (h("co-date-range-picker", { key: '4982a84de425fdf533128dc3ce3665b51d8c885d', value: this.value, label: this.label, placeholder: this.placeholder, disabled: this.disabled, clearable: this.clearable, presets: this.presets, helperText: this.helperText, locale: this.locale, applyLabel: this.applyLabel, clearLabel: this.clearLabel, onCoApply: this.handleApply, onCoClear: () => this.coClear.emit() }));
37
37
  }
38
38
  static get is() { return "co-date-range"; }
39
39
  static get encapsulation() { return "shadow"; }
@@ -38,10 +38,10 @@
38
38
  width: 100%;
39
39
  min-height: 40px;
40
40
  padding: 0 var(--co-spacing-md);
41
- background: color-mix(in srgb, var(--co-semantic-surface-secondary) 55%, transparent);
42
- -webkit-backdrop-filter: blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));
43
- backdrop-filter: blur(var(--co-glass-blur)) saturate(var(--co-glass-saturate));
44
- border: 1px solid var(--co-semantic-border-subtle);
41
+ /* Figma Text Field parity (same box as co-input): solid page surface +
42
+ Negro 25% border — tinted glass didn't read as editable on white. */
43
+ background: var(--co-semantic-surface-page);
44
+ border: 1px solid var(--co-color-opacity-negro-25, rgba(31, 28, 27, 0.25));
45
45
  border-radius: var(--co-border-radius-xs);
46
46
  cursor: pointer;
47
47
  color: var(--co-semantic-text-default);
@@ -189,8 +189,11 @@
189
189
  }
190
190
 
191
191
  .co-date-range-picker__btn--primary {
192
- background: var(--co-color-primary-azul);
193
- color: var(--co-color-base-blanco, #fff);
192
+ background: var(--co-semantic-surface-primary);
193
+ color: var(--co-semantic-on-primary);
194
+ }
195
+ .co-date-range-picker__btn--primary:hover:not(:disabled) {
196
+ opacity: 0.88;
194
197
  }
195
198
  .co-date-range-picker__btn--primary:disabled {
196
199
  opacity: 0.5;
@@ -252,6 +255,3 @@
252
255
  content: var(--co-field-required-text, ' (required)');
253
256
  }
254
257
 
255
- @supports not (background: color-mix(in srgb, red, transparent)) {
256
- .co-date-range-picker__trigger { background: var(--co-semantic-surface-secondary); }
257
- }
@@ -4,14 +4,26 @@
4
4
 
5
5
  .co-drawer {
6
6
  position: fixed;
7
- background: var(--co-semantic-surface-page);
8
7
  display: flex;
9
8
  flex-direction: column;
10
9
  font-family: var(--co-font-family-primary);
11
10
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
12
- overflow: hidden;
13
11
  will-change: transform;
14
12
  z-index: 1;
13
+ /* Elevation: a layered soft drop-shadow that follows the squircle silhouette
14
+ of the inner card (drop-shadow respects the child mask; a box-shadow here
15
+ would be rectangular and the inner mask would clip it away). Same recipe
16
+ as co-app-shell .main / co-modal .co-modal__frame. */
17
+ filter:
18
+ drop-shadow(0 1px 2px rgba(31, 28, 27, 0.06))
19
+ drop-shadow(0 10px 28px rgba(31, 28, 27, 0.12));
20
+ /* Squircle geometry — shared with .co-drawer__card. Match the app-shell
21
+ surface radius (same knob co-app-shell uses). */
22
+ --co-drawer-r: var(--co-shell-r, var(--co-border-radius-md));
23
+ --co-sq-tl: url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M100 0L97.5 0L95 0L92.5 0L90 0L87.5 0.01L85 0.01L82.5 0.02L80 0.04L77.5 0.06L75 0.1L72.5 0.14L70 0.2L67.5 0.28L65 0.38L62.5 0.5L60 0.65L57.5 0.83L55 1.04L52.5 1.3L50 1.6L47.5 1.96L45 2.37L42.5 2.85L40 3.41L37.5 4.05L35 4.8L32.5 5.65L30 6.63L27.5 7.77L25 9.07L22.5 10.58L20 12.34L17.5 14.41L15 16.85L12.5 19.79L10 23.42L7.5 28.06L5 34.37L2.5 44.29L0 100L100 100Z%27 fill=%27%23fff%27/></svg>");
24
+ --co-sq-tr: url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M0 0L2.5 0L5 0L7.5 0L10 0L12.5 0.01L15 0.01L17.5 0.02L20 0.04L22.5 0.06L25 0.1L27.5 0.14L30 0.2L32.5 0.28L35 0.38L37.5 0.5L40 0.65L42.5 0.83L45 1.04L47.5 1.3L50 1.6L52.5 1.96L55 2.37L57.5 2.85L60 3.41L62.5 4.05L65 4.8L67.5 5.65L70 6.63L72.5 7.77L75 9.07L77.5 10.58L80 12.34L82.5 14.41L85 16.85L87.5 19.79L90 23.42L92.5 28.06L95 34.37L97.5 44.29L100 100L0 100Z%27 fill=%27%23fff%27/></svg>");
25
+ --co-sq-bl: url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M0 0L2.5 55.71L5 65.63L7.5 71.94L10 76.58L12.5 80.21L15 83.15L17.5 85.59L20 87.66L22.5 89.42L25 90.93L27.5 92.23L30 93.37L32.5 94.35L35 95.2L37.5 95.95L40 96.59L42.5 97.15L45 97.63L47.5 98.04L50 98.4L52.5 98.7L55 98.96L57.5 99.17L60 99.35L62.5 99.5L65 99.62L67.5 99.72L70 99.8L72.5 99.86L75 99.9L77.5 99.94L80 99.96L82.5 99.98L85 99.99L87.5 99.99L90 100L92.5 100L95 100L97.5 100L100 100L100 0Z%27 fill=%27%23fff%27/></svg>");
26
+ --co-sq-br: url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 100 100%27 preserveAspectRatio=%27none%27><path d=%27M100 0L97.5 55.71L95 65.63L92.5 71.94L90 76.58L87.5 80.21L85 83.15L82.5 85.59L80 87.66L77.5 89.42L75 90.93L72.5 92.23L70 93.37L67.5 94.35L65 95.2L62.5 95.95L60 96.59L57.5 97.15L55 97.63L52.5 98.04L50 98.4L47.5 98.7L45 98.96L42.5 99.17L40 99.35L37.5 99.5L35 99.62L32.5 99.72L30 99.8L27.5 99.86L25 99.9L22.5 99.94L20 99.96L17.5 99.98L15 99.99L12.5 99.99L10 100L7.5 100L5 100L2.5 100L0 100L0 0Z%27 fill=%27%23fff%27/></svg>");
15
27
  }
16
28
 
17
29
  /* ─── Position: right (default) ───────────────────────────── */
@@ -26,10 +38,7 @@
26
38
  margin: 6px;
27
39
  height: 100vh;
28
40
  height: -webkit-fill-available;
29
- /* Match the app-shell surface radius (same knob co-app-shell uses). */
30
- border-radius: var(--co-shell-r, var(--co-border-radius-md));
31
41
  transform: translateX(calc(100% + 12px));
32
- box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
33
42
  }
34
43
  .co-drawer--right.co-drawer--open { transform: translateX(0); }
35
44
 
@@ -40,10 +49,7 @@
40
49
  margin: 6px;
41
50
  height: 100vh;
42
51
  height: -webkit-fill-available;
43
- /* Match the app-shell surface radius (same knob co-app-shell uses). */
44
- border-radius: var(--co-shell-r, var(--co-border-radius-md));
45
52
  transform: translateX(calc(-100% - 12px));
46
- box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
47
53
  }
48
54
  .co-drawer--left.co-drawer--open { transform: translateX(0); }
49
55
 
@@ -55,9 +61,6 @@
55
61
  margin: 6px;
56
62
  width: auto;
57
63
  transform: translateY(calc(100% + 12px));
58
- box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.12);
59
- /* Match the app-shell surface radius (same knob co-app-shell uses). */
60
- border-radius: var(--co-shell-r, var(--co-border-radius-md));
61
64
  }
62
65
  .co-drawer--bottom.co-drawer--open { transform: translateY(0); }
63
66
 
@@ -67,7 +70,7 @@
67
70
  .co-drawer--right.co-drawer--md,
68
71
  .co-drawer--left.co-drawer--md { width: 520px; max-width: 100vw; }
69
72
  .co-drawer--right.co-drawer--lg,
70
- .co-drawer--left.co-drawer--lg { width: 720px; max-width: 100vw; }
73
+ .co-drawer--left.co-drawer--lg { width: 672px; max-width: 100vw; } /* Figma drawer */
71
74
  .co-drawer--right.co-drawer--xl,
72
75
  .co-drawer--left.co-drawer--xl { width: 960px; max-width: 100vw; }
73
76
  .co-drawer--right.co-drawer--full,
@@ -80,6 +83,36 @@
80
83
  .co-drawer--bottom.co-drawer--xl { height: 95vh; }
81
84
  .co-drawer--bottom.co-drawer--full { height: 100vh; }
82
85
 
86
+ /* The visible card: smooth (squircle) corners, background + clip live here
87
+ (not on .co-drawer) so .co-drawer's drop-shadow isn't clipped by the mask. */
88
+ .co-drawer__card {
89
+ flex: 1;
90
+ min-height: 0;
91
+ display: flex;
92
+ flex-direction: column;
93
+ overflow: hidden;
94
+ background: var(--co-semantic-surface-page);
95
+ border-radius: 0; /* the mask defines the (smooth) shape */
96
+ /* Squircle via 4 corner pieces + a cross of 2 bars (H full-width, V full-height).
97
+ The bars are sized `calc(... + 2px)` so they OVERLAP each corner by ~1px on
98
+ every side — same anti-seam trick as co-app-shell .main__card / co-modal
99
+ .co-modal (prevents a sub-pixel transparent seam that flickers with zoom). */
100
+ -webkit-mask:
101
+ var(--co-sq-tl) top left / var(--co-drawer-r) var(--co-drawer-r) no-repeat,
102
+ var(--co-sq-tr) top right / var(--co-drawer-r) var(--co-drawer-r) no-repeat,
103
+ var(--co-sq-bl) bottom left / var(--co-drawer-r) var(--co-drawer-r) no-repeat,
104
+ var(--co-sq-br) bottom right / var(--co-drawer-r) var(--co-drawer-r) no-repeat,
105
+ linear-gradient(#fff 0 0) center / 100% calc(100% - 2 * var(--co-drawer-r) + 2px) no-repeat,
106
+ linear-gradient(#fff 0 0) center / calc(100% - 2 * var(--co-drawer-r) + 2px) 100% no-repeat;
107
+ mask:
108
+ var(--co-sq-tl) top left / var(--co-drawer-r) var(--co-drawer-r) no-repeat,
109
+ var(--co-sq-tr) top right / var(--co-drawer-r) var(--co-drawer-r) no-repeat,
110
+ var(--co-sq-bl) bottom left / var(--co-drawer-r) var(--co-drawer-r) no-repeat,
111
+ var(--co-sq-br) bottom right / var(--co-drawer-r) var(--co-drawer-r) no-repeat,
112
+ linear-gradient(#fff 0 0) center / 100% calc(100% - 2 * var(--co-drawer-r) + 2px) no-repeat,
113
+ linear-gradient(#fff 0 0) center / calc(100% - 2 * var(--co-drawer-r) + 2px) 100% no-repeat;
114
+ }
115
+
83
116
  /* ─── Header ──────────────────────────────────────────────── */
84
117
  .co-drawer__header {
85
118
  display: flex;
@@ -116,7 +149,7 @@
116
149
 
117
150
  .co-drawer__description {
118
151
  margin: var(--co-spacing-xs) 0 0;
119
- font-size: var(--co-font-size-13);
152
+ font-size: var(--co-font-size-13, 13px);
120
153
  font-weight: 400;
121
154
  color: var(--co-semantic-text-muted);
122
155
  line-height: 1.4;
@@ -189,6 +222,9 @@
189
222
  z-index: 1000;
190
223
  border: 0;
191
224
  padding: 0;
225
+ /* UA [popover] pinta background: Canvas en el aside — sin esto, un rect
226
+ blanco cuadrado asoma detrás de las esquinas squircle del card. */
227
+ background: transparent;
192
228
  }
193
229
  .co-drawer--modeless.co-drawer--right { left: auto; bottom: auto; }
194
230
  .co-drawer--modeless.co-drawer--left { right: auto; bottom: auto; }
@@ -74,9 +74,14 @@ export class CoDrawer {
74
74
  this.coOpen.emit();
75
75
  }
76
76
  handleKey(e) {
77
- if (this.open && this.closeOnEscape && e.key === 'Escape') {
78
- this.coClose.emit();
79
- }
77
+ if (!this.open || !this.closeOnEscape || e.key !== 'Escape')
78
+ return;
79
+ // A modeless drawer yields Escape while a MODAL surface is open on top
80
+ // (record/filter drawers, modals) — one Esc must not close both layers.
81
+ // Hosts are light-DOM with reflected props, so a document query works.
82
+ if (this.modeless && document.querySelector('co-drawer[open]:not([modeless]), co-modal[open]'))
83
+ return;
84
+ this.coClose.emit();
80
85
  }
81
86
  componentDidLoad() {
82
87
  this.promoteModeless();
@@ -88,7 +93,7 @@ export class CoDrawer {
88
93
  'co-drawer--modeless': this.modeless,
89
94
  [`co-drawer--${this.position}`]: true,
90
95
  [`co-drawer--${this.size}`]: true,
91
- }, popover: this.modeless ? 'manual' : undefined, ref: this.modeless ? this.promoteModeless : undefined, part: "drawer", role: "dialog", "aria-modal": this.modeless ? 'false' : 'true', "aria-labelledby": "co-drawer-heading", onClick: this.stopPropagation, onTransitionEnd: this.handleTransitionEnd }, h("header", { class: "co-drawer__header", part: "header" }, h("div", { class: "co-drawer__header-content" }, h("slot", { name: "header" }, h("div", { class: "co-drawer__heading-row" }, this.icon && h("co-icon", { name: this.icon, size: 20, class: "co-drawer__icon" }), h("h2", { class: "co-drawer__heading", id: "co-drawer-heading" }, this.heading)), this.description && h("p", { class: "co-drawer__description" }, this.description))), this.closable && (h("button", { class: "co-drawer__close", type: "button", "aria-label": "Close", onClick: this.handleCloseClick }, h("co-icon", { name: "x", size: 20 })))), h("div", { class: "co-drawer__tabs", part: "tabs" }, h("slot", { name: "tabs" })), h("div", { class: "co-drawer__body", part: "body" }, h("slot", null), h("co-loader", { overlay: true, visible: this.loading, part: "loader" })), h("footer", { class: "co-drawer__footer", part: "footer" }, h("slot", { name: "footer" }))));
96
+ }, popover: this.modeless ? 'manual' : undefined, ref: this.modeless ? this.promoteModeless : undefined, part: "drawer", role: "dialog", "aria-modal": this.modeless ? 'false' : 'true', "aria-labelledby": "co-drawer-heading", onClick: this.stopPropagation, onTransitionEnd: this.handleTransitionEnd }, h("div", { class: "co-drawer__card" }, h("header", { class: "co-drawer__header", part: "header" }, h("div", { class: "co-drawer__header-content" }, h("slot", { name: "header" }, h("div", { class: "co-drawer__heading-row" }, this.icon && h("co-icon", { name: this.icon, size: 20, class: "co-drawer__icon" }), h("h2", { class: "co-drawer__heading", id: "co-drawer-heading" }, this.heading)), this.description && h("p", { class: "co-drawer__description" }, this.description))), this.closable && (h("button", { class: "co-drawer__close", type: "button", "aria-label": "Close", onClick: this.handleCloseClick }, h("co-icon", { name: "x", size: 20 })))), h("div", { class: "co-drawer__tabs", part: "tabs" }, h("slot", { name: "tabs" })), h("div", { class: "co-drawer__body", part: "body" }, h("slot", null), h("co-loader", { overlay: true, visible: this.loading, part: "loader" })), h("footer", { class: "co-drawer__footer", part: "footer" }, h("slot", { name: "footer" })))));
92
97
  if (this.modeless)
93
98
  return aside;
94
99
  return (h("co-overlay", { open: this.open, onCoClose: this.handleOverlayClose }, aside));
@@ -74,7 +74,7 @@ export class CoDriveCard {
74
74
  }
75
75
  render() {
76
76
  const isFile = this.variant === 'file';
77
- return (h("div", { key: 'f9e2b706825032260ad30201232bd9cf0d04d1ac', class: {
77
+ return (h("div", { key: '8f843886a6953476f075dcec86567da6d6160d51', class: {
78
78
  'co-drive-card': true,
79
79
  [`co-drive-card--${this.variant}`]: true,
80
80
  [`co-drive-card--${this.density}`]: true,
@@ -58,7 +58,7 @@ export class CoDropZone {
58
58
  this.coDragStateChange.emit(next);
59
59
  }
60
60
  render() {
61
- return (h(Host, { key: 'd226ecd72105f1d7123224a73cbd97815278d92a', class: { 'co-drop-zone': true, 'co-drop-zone--active': this.active }, part: "host", style: { '--co-drop-zone-accent': this.accent }, onDragEnter: this.handleDragEnter, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave, onDrop: this.handleDrop }, h("slot", { key: 'bd89c2a02c19a463bbd1123b359a1c96f4652454' }), this.active && (h("div", { key: '7293c928999e6be658f79f653d2a886933250a8b', class: "co-drop-zone__overlay", part: "overlay" }, h("div", { key: 'd30b7f79f026830e838a4814cd0c6e37f0fea5d5', class: "co-drop-zone__badge", part: "badge" }, h("co-icon", { key: 'e9e7276fb71e4b7af92f4408342ac0da95ab349b', name: this.icon, size: 34 })), h("span", { key: 'd7384806639985414c1178d4b239e1a52d7af87f', class: "co-drop-zone__label", part: "label" }, this.label)))));
61
+ return (h(Host, { key: '015443db8a6c29e05a99dfd947c9dbc258a244a2', class: { 'co-drop-zone': true, 'co-drop-zone--active': this.active }, part: "host", style: { '--co-drop-zone-accent': this.accent }, onDragEnter: this.handleDragEnter, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave, onDrop: this.handleDrop }, h("slot", { key: '5d1756f75bf122e538842f146635ed7d6181b376' }), this.active && (h("div", { key: '1f52982512900c61cfbfa38f2fcf05db785c656e', class: "co-drop-zone__overlay", part: "overlay" }, h("div", { key: '32a754269cb02d8010403545ab351eaa870e42e7', class: "co-drop-zone__badge", part: "badge" }, h("co-icon", { key: 'fa72d2e3802970233742faf1ce48b16594fd1d25', name: this.icon, size: 34 })), h("span", { key: '92d2d4b8daa9d1cb3eb1d79c1fe0a59ac290c9aa', class: "co-drop-zone__label", part: "label" }, this.label)))));
62
62
  }
63
63
  static get is() { return "co-drop-zone"; }
64
64
  static get encapsulation() { return "shadow"; }
@@ -20,7 +20,7 @@
20
20
  width: 72px;
21
21
  height: 72px;
22
22
  border-radius: 50%;
23
- background: var(--co-semantic-surface-subtle);
23
+ background: var(--co-color-gray-100, #f6f6f6);
24
24
  color: var(--co-semantic-text-muted);
25
25
  margin-bottom: var(--co-spacing-xl);
26
26
  }
@@ -13,11 +13,11 @@ export class CoEmptyState {
13
13
  render() {
14
14
  var _a;
15
15
  const iconWeight = (_a = this.iconWeight) !== null && _a !== void 0 ? _a : (this.variant === 'card' ? 'regular' : 'light');
16
- return (h("div", { key: 'c7336e586fbce927c39b6f7e8d852849e0312e83', class: {
16
+ return (h("div", { key: '4cf85c1fd72560c3fde039901adbac86a4fc147f', class: {
17
17
  'co-empty-state': true,
18
18
  [`co-empty-state--${this.variant}`]: true,
19
19
  [`co-empty-state--${this.size}`]: true,
20
- }, part: "empty-state" }, this.icon && (h("div", { key: 'f58b6073926822e44fa22862ea907b664a61395e', class: "co-empty-state__icon" }, h("co-icon", { key: 'a4269c6f9926407f22dd1200b75186c0f37f7af1', name: this.icon, size: 40, weight: iconWeight }))), this.heading && (h("div", { key: '94f7bc1e6c270253ab80c7dc54b2c3b080826d2f', class: "co-empty-state__heading" }, this.heading)), this.description && (h("div", { key: 'fa263779ebe981cdbe4944883337a9daf8eaef2f', class: "co-empty-state__description" }, this.description)), h("div", { key: 'e41f7fa89d2ee5d99793dedc377c50c0f983e8ab', class: "co-empty-state__actions" }, h("slot", { key: 'f81de2fc06cd14a6793fc1e5613d73f499482df3' }))));
20
+ }, part: "empty-state" }, this.icon && (h("div", { key: '4f8e8922631a5b88a9e158c2a6235515e8d09022', class: "co-empty-state__icon" }, h("co-icon", { key: '66fe90f142047bd3c03f901443e91b9a654e2bfa', name: this.icon, size: 40, weight: iconWeight }))), this.heading && (h("div", { key: 'fba5fe8abb82a90902e069d2f06730a3240b3cff', class: "co-empty-state__heading" }, this.heading)), this.description && (h("div", { key: '82bb5115feb16737e9a6658a508ba6faa1ab1e24', class: "co-empty-state__description" }, this.description)), h("div", { key: '048fb44e84e107232753f0d203f512dba556338b', class: "co-empty-state__actions" }, h("slot", { key: 'd7b1111baa84f9eeda18606f18b721865678bfd5' }))));
21
21
  }
22
22
  static get is() { return "co-empty-state"; }
23
23
  static get encapsulation() { return "shadow"; }
@@ -146,10 +146,10 @@ export class CoEventCalendar {
146
146
  const t = getDateStrings(this.locale);
147
147
  const views = this.viewsList;
148
148
  const a = parseISO(this.anchor);
149
- return (h("div", { key: '0c5af4d184497f5fc8c04cc62d66f572db2a7a01', class: "cal" }, h("div", { key: 'c75f5290fd13d52d82eb639d6aff951c13e40ed3', class: "cal__toolbar", part: "toolbar" }, h("div", { key: 'eca46b8aa1cd485dbeacf235a868065af736aee3', class: "cal__nav-group" }, h("button", { key: 'e9f1e03c8c94698d66aea9ee7a292e82c132d603', type: "button", class: "cal__btn", onClick: this.goToday }, (_a = t.today) !== null && _a !== void 0 ? _a : 'Today'), h("button", { key: '017d7b8a2f19cfe4785213d5d77f90ee895fbad5', type: "button", class: "cal__icon-btn", "aria-label": t.prevMonth, onClick: this.goPrev }, h("co-icon", { key: '296bdcdf30e130a085cc859a84eb3d590b9ef5b7', name: "caret-left", size: 16 })), h("button", { key: '53baaddc224a924fc06a5555cb297e05ee8785d9', type: "button", class: "cal__icon-btn", "aria-label": t.nextMonth, onClick: this.goNext }, h("co-icon", { key: '736ae81e00e458fd1c71414ad8dcf309a13faee0', name: "caret-right", size: 16 }))), h("h2", { key: '87261ba9a5b7d7dd0ba3c3641c21d15ce37eebed', class: "cal__title", "aria-live": "polite" }, this.title()), views.length > 1 ? (h("div", { class: "cal__views", role: "tablist" }, views.map((v) => {
149
+ return (h("div", { key: 'dce81390ee349de59285e31506ec397aead8c1c5', class: "cal" }, h("div", { key: '58f3acb8a74558505aab88e95fbea15bc65cce2f', class: "cal__toolbar", part: "toolbar" }, h("div", { key: '9249edf79de99180871667f813aa40e288f130b7', class: "cal__nav-group" }, h("button", { key: '2cb250065f64860466b141b6dcaffeef60158dcc', type: "button", class: "cal__btn", onClick: this.goToday }, (_a = t.today) !== null && _a !== void 0 ? _a : 'Today'), h("button", { key: '15ebc01c5be71b48042735ee6247ad16a957493b', type: "button", class: "cal__icon-btn", "aria-label": t.prevMonth, onClick: this.goPrev }, h("co-icon", { key: 'dc74fc8780144c952c7012cf0e984998650e96a7', name: "caret-left", size: 16 })), h("button", { key: 'e4d2ee75a2c8fa818d327a9d82fa23051ec8a24c', type: "button", class: "cal__icon-btn", "aria-label": t.nextMonth, onClick: this.goNext }, h("co-icon", { key: 'd489365423552d000655898ac267fdbfddd216c0', name: "caret-right", size: 16 }))), h("h2", { key: '370e61c61a12860d36b4a04cdbc5dee447fdfe46', class: "cal__title", "aria-live": "polite" }, this.title()), views.length > 1 ? (h("div", { class: "cal__views", role: "tablist" }, views.map((v) => {
150
150
  var _a;
151
151
  return (h("button", { type: "button", role: "tab", "aria-selected": this.view === v ? 'true' : 'false', class: { 'cal__view-btn': true, 'cal__view-btn--active': this.view === v }, onClick: () => this.switchView(v) }, (_a = t[v]) !== null && _a !== void 0 ? _a : v));
152
- }))) : (h("span", { class: "cal__views-spacer" }))), h("div", { key: 'f0962c6de9446110ef52455839a7cf5cb570cee0', class: "cal__body", part: "body" }, this.view === 'month' ? (h("co-calendar-month", { events: this.normalized, year: a.year, month: a.month, locale: this.locale, firstDayOfWeek: this.firstDayOfWeek, timeZone: this.tz, minDate: this.minDate, maxDate: this.maxDate, editable: this.editable, selectable: this.selectable, maxLanes: this.dayMaxEvents, onCoDaySelect: this.handleDaySelect, onCoEventClick: this.handleEventClick, onCoEventDrop: this.handleEventDrop, onCoMoreClick: this.handleMoreClick })) : (h("div", { class: "cal__placeholder" }, h("co-icon", { name: "calendar-dots", size: 32 }), h("p", null, `${this.view} view — coming soon`))))));
152
+ }))) : (h("span", { class: "cal__views-spacer" }))), h("div", { key: '26677d79d63d957315c09df9b18597009c9681cc', class: "cal__body", part: "body" }, this.view === 'month' ? (h("co-calendar-month", { events: this.normalized, year: a.year, month: a.month, locale: this.locale, firstDayOfWeek: this.firstDayOfWeek, timeZone: this.tz, minDate: this.minDate, maxDate: this.maxDate, editable: this.editable, selectable: this.selectable, maxLanes: this.dayMaxEvents, onCoDaySelect: this.handleDaySelect, onCoEventClick: this.handleEventClick, onCoEventDrop: this.handleEventDrop, onCoMoreClick: this.handleMoreClick })) : (h("div", { class: "cal__placeholder" }, h("co-icon", { name: "calendar-dots", size: 32 }), h("p", null, `${this.view} view — coming soon`))))));
153
153
  }
154
154
  static get is() { return "co-event-calendar"; }
155
155
  static get encapsulation() { return "shadow"; }
@@ -23,6 +23,7 @@
23
23
  }
24
24
 
25
25
  /* ── Sizes ──────────────────────────────────────────────────── */
26
+ .co-fab--xl { width: 64px; height: 64px; font-size: var(--co-font-size-16); } /* Figma FAB */
26
27
  .co-fab--l { width: 56px; height: 56px; font-size: var(--co-font-size-16); }
27
28
  .co-fab--m { width: 48px; height: 48px; font-size: var(--co-font-size-14); }
28
29
  .co-fab--s { width: 40px; height: 40px; font-size: var(--co-font-size-14); }
@@ -32,14 +33,20 @@
32
33
  border-radius: var(--co-border-radius-lg);
33
34
  }
34
35
 
36
+ .co-fab--extended.co-fab--xl { padding: 0 var(--co-spacing-xl); }
35
37
  .co-fab--extended.co-fab--l { padding: 0 var(--co-spacing-xl); }
36
38
  .co-fab--extended.co-fab--m { padding: 0 var(--co-spacing-lg); }
37
39
  .co-fab--extended.co-fab--s { padding: 0 var(--co-spacing-md); }
38
40
 
39
41
  /* ── Variants ───────────────────────────────────────────────── */
40
42
  .co-fab--primary {
41
- background: var(--co-semantic-surface-primary);
43
+ /* Figma FAB: Negro 80% + Blur_1 — vidrio oscuro. El backdrop-filter vive en
44
+ .co-fab (tiene border-radius propio) para que el esmerilado quede clipeado
45
+ a las esquinas redondeadas. */
46
+ background: var(--co-fab-bg, var(--co-color-opacity-negro-80, rgba(31, 28, 27, 0.8)));
42
47
  color: var(--co-semantic-on-primary);
48
+ -webkit-backdrop-filter: blur(40px);
49
+ backdrop-filter: blur(40px);
43
50
  }
44
51
 
45
52
  .co-fab--primary:hover:not(:disabled) {