@prolibu-suite/cobalt-core 0.3.0 → 0.4.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 (536) hide show
  1. package/custom-elements.json +6407 -3168
  2. package/dist/cjs/co-accordion.cjs.entry.js +3 -3
  3. package/dist/cjs/co-app-shell.cjs.entry.js +3 -3
  4. package/dist/cjs/co-autocomplete.cjs.entry.js +2 -2
  5. package/dist/cjs/co-avatar-group.cjs.entry.js +1 -1
  6. package/dist/cjs/co-avatar.cjs.entry.js +9 -4
  7. package/dist/cjs/co-badge.cjs.entry.js +2 -2
  8. package/dist/cjs/co-bottom-sheet.cjs.entry.js +4 -4
  9. package/dist/cjs/co-breadcrumb-item.cjs.entry.js +37 -0
  10. package/dist/cjs/co-breadcrumb.cjs.entry.js +55 -0
  11. package/dist/cjs/co-button-group.cjs.entry.js +3 -3
  12. package/dist/cjs/co-button.cjs.entry.js +10 -4
  13. package/dist/cjs/co-calendar-month.cjs.entry.js +2 -2
  14. package/dist/cjs/co-calendar_3.cjs.entry.js +40 -10
  15. package/dist/cjs/co-card.cjs.entry.js +3 -3
  16. package/dist/cjs/co-checkbox-group.cjs.entry.js +1 -1
  17. package/dist/cjs/co-checkbox.cjs.entry.js +18 -6
  18. package/dist/cjs/co-chip.cjs.entry.js +12 -7
  19. package/dist/cjs/co-color-picker.cjs.entry.js +4 -4
  20. package/dist/cjs/co-column-picker.cjs.entry.js +3 -3
  21. package/dist/cjs/co-combobox.cjs.entry.js +2 -2
  22. package/dist/cjs/co-command-search.cjs.entry.js +5 -5
  23. package/dist/cjs/co-data-table-pagination.cjs.entry.js +5 -5
  24. package/dist/cjs/co-data-table.cjs.entry.js +23 -16
  25. package/dist/cjs/co-date-picker.cjs.entry.js +2 -2
  26. package/dist/cjs/co-date-range-picker.cjs.entry.js +2 -2
  27. package/dist/cjs/co-date-range.cjs.entry.js +2 -2
  28. package/dist/cjs/co-drive-card.cjs.entry.js +81 -0
  29. package/dist/cjs/co-drop-zone.cjs.entry.js +63 -0
  30. package/dist/cjs/co-empty-state.cjs.entry.js +13 -3
  31. package/dist/cjs/co-event-calendar.cjs.entry.js +3 -3
  32. package/dist/cjs/co-fab.cjs.entry.js +3 -3
  33. package/dist/cjs/co-file-field.cjs.entry.js +7 -7
  34. package/dist/cjs/co-file-type-tile.cjs.entry.js +78 -0
  35. package/dist/cjs/co-helper-text.cjs.entry.js +3 -3
  36. package/dist/cjs/co-icon-button.cjs.entry.js +23 -7
  37. package/dist/cjs/co-icon.cjs.entry.js +3 -3
  38. package/dist/cjs/co-input.cjs.entry.js +36 -7
  39. package/dist/cjs/co-json-field.cjs.entry.js +5 -5
  40. package/dist/cjs/co-lightbox.cjs.entry.js +5 -5
  41. package/dist/cjs/co-list-footer.cjs.entry.js +2 -2
  42. package/dist/cjs/co-list-item.cjs.entry.js +5 -5
  43. package/dist/cjs/co-loader.cjs.entry.js +34 -0
  44. package/dist/cjs/co-media-thumb.cjs.entry.js +36 -0
  45. package/dist/cjs/co-menu-divider.cjs.entry.js +2 -2
  46. package/dist/cjs/co-menu-item.cjs.entry.js +11 -3
  47. package/dist/cjs/co-menu.cjs.entry.js +3 -3
  48. package/dist/cjs/co-modal.cjs.entry.js +29 -5
  49. package/dist/cjs/co-navbar.cjs.entry.js +3 -3
  50. package/dist/cjs/co-number-field.cjs.entry.js +4 -4
  51. package/dist/cjs/co-option-list.cjs.entry.js +379 -0
  52. package/dist/cjs/{co-loader_2.cjs.entry.js → co-overlay.cjs.entry.js} +2 -32
  53. package/dist/cjs/co-page-header.cjs.entry.js +2 -2
  54. package/dist/cjs/co-phone-field.cjs.entry.js +3 -3
  55. package/dist/cjs/co-popover.cjs.entry.js +3 -3
  56. package/dist/cjs/co-progress-bar.cjs.entry.js +3 -3
  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 +4 -4
  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 +2 -2
  65. package/dist/cjs/co-row.cjs.entry.js +3 -3
  66. package/dist/cjs/co-segmented-bar.cjs.entry.js +58 -0
  67. package/dist/cjs/co-select.cjs.entry.js +6 -6
  68. package/dist/cjs/co-separator.cjs.entry.js +2 -2
  69. package/dist/cjs/co-sidebar-nav.cjs.entry.js +3 -3
  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 +5 -5
  74. package/dist/cjs/co-tab-group.cjs.entry.js +15 -3
  75. package/dist/cjs/co-tab.cjs.entry.js +8 -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 +10 -4
  79. package/dist/cjs/co-toggle-button-group.cjs.entry.js +16 -4
  80. package/dist/cjs/co-toggle-button.cjs.entry.js +9 -5
  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 +3 -3
  84. package/dist/cjs/cobalt.cjs.js +2 -2
  85. package/dist/cjs/{fieldChip-CDIMz_Y6.js → fieldChip-DtYUP0VZ.js} +1 -1
  86. package/dist/cjs/{index-5NdsiFjZ.js → index-4y1Dm145.js} +64 -11
  87. package/dist/cjs/{index-BumlM92r.js → index-NNvye1ul.js} +68 -8
  88. package/dist/cjs/loader.cjs.js +2 -2
  89. package/dist/cjs/{requiredMark-CqMGt1H1.js → requiredMark-DyjZzUCd.js} +1 -1
  90. package/dist/cobalt/cobalt.esm.js +1 -1
  91. package/dist/cobalt/{p-635b03d5.entry.js → p-06c27cc5.entry.js} +1 -1
  92. package/dist/cobalt/p-075f6ca4.entry.js +1 -0
  93. package/dist/cobalt/{p-0a506c9d.entry.js → p-0810ee1e.entry.js} +1 -1
  94. package/dist/cobalt/p-08519a7c.entry.js +1 -0
  95. package/dist/cobalt/p-0b41e76e.entry.js +1 -0
  96. package/dist/cobalt/{p-d809bd44.entry.js → p-0be124d5.entry.js} +1 -1
  97. package/dist/cobalt/{p-8d59f5ad.entry.js → p-0e1afdea.entry.js} +1 -1
  98. package/dist/cobalt/{p-e53861e4.entry.js → p-1388eac6.entry.js} +1 -1
  99. package/dist/cobalt/{p-8dc1dab8.entry.js → p-19f7ee64.entry.js} +1 -1
  100. package/dist/cobalt/{p-29be61a9.entry.js → p-1af6ef83.entry.js} +1 -1
  101. package/dist/cobalt/{p-58a53421.entry.js → p-1cecb9e1.entry.js} +1 -1
  102. package/dist/cobalt/{p-ef7d4ae3.entry.js → p-20c68308.entry.js} +1 -1
  103. package/dist/cobalt/p-21916f82.entry.js +1 -0
  104. package/dist/cobalt/{p-3e187456.entry.js → p-23c9208a.entry.js} +1 -1
  105. package/dist/cobalt/{p-c10697e1.entry.js → p-2d4e1ca8.entry.js} +1 -1
  106. package/dist/cobalt/{p-377c2ccc.entry.js → p-304c3be1.entry.js} +1 -1
  107. package/dist/cobalt/{p-9abbd436.entry.js → p-311118cb.entry.js} +1 -1
  108. package/dist/cobalt/p-328f0470.entry.js +1 -0
  109. package/dist/cobalt/p-35c63fdc.entry.js +1 -0
  110. package/dist/cobalt/{p-70b14b05.entry.js → p-363a5262.entry.js} +1 -1
  111. package/dist/cobalt/p-376c43b8.entry.js +1 -0
  112. package/dist/cobalt/{p-afb7e19e.entry.js → p-39a29bbb.entry.js} +1 -1
  113. package/dist/cobalt/{p-1a07c23c.entry.js → p-3d07e4a9.entry.js} +1 -1
  114. package/dist/cobalt/{p-cb235aa7.entry.js → p-3dd6b57b.entry.js} +1 -1
  115. package/dist/cobalt/{p-9a088515.entry.js → p-48c5f311.entry.js} +1 -1
  116. package/dist/cobalt/{p-37595103.entry.js → p-4aeefe3f.entry.js} +1 -1
  117. package/dist/cobalt/p-523cfd98.entry.js +1 -0
  118. package/dist/cobalt/{p-9a04ca90.entry.js → p-58aed8d6.entry.js} +1 -1
  119. package/dist/cobalt/{p-93046365.entry.js → p-593fd213.entry.js} +1 -1
  120. package/dist/cobalt/{p-64ddee92.entry.js → p-5eecea26.entry.js} +1 -1
  121. package/dist/cobalt/p-64a0b656.entry.js +1 -0
  122. package/dist/cobalt/p-69289e82.entry.js +1 -0
  123. package/dist/cobalt/p-6a3ed174.entry.js +1 -0
  124. package/dist/cobalt/{p-1531d3c9.entry.js → p-6f12e721.entry.js} +1 -1
  125. package/dist/cobalt/{p-4871690e.entry.js → p-7040e4c5.entry.js} +1 -1
  126. package/dist/cobalt/p-755ecee1.entry.js +1 -0
  127. package/dist/cobalt/p-76b46336.entry.js +1 -0
  128. package/dist/cobalt/{p-65af5017.entry.js → p-79e49749.entry.js} +1 -1
  129. package/dist/cobalt/p-7b5dec05.entry.js +1 -0
  130. package/dist/cobalt/p-7d9f2021.entry.js +1 -0
  131. package/dist/cobalt/{p-51a53177.entry.js → p-804d025f.entry.js} +1 -1
  132. package/dist/cobalt/{p-0bb55163.entry.js → p-860a685f.entry.js} +1 -1
  133. package/dist/cobalt/p-87289d32.entry.js +1 -0
  134. package/dist/cobalt/{p-b6f20268.entry.js → p-8ae5da0c.entry.js} +1 -1
  135. package/dist/cobalt/p-8fdf2163.entry.js +1 -0
  136. package/dist/cobalt/p-9310739f.entry.js +1 -0
  137. package/dist/cobalt/{p-31ab9a46.entry.js → p-96baec0e.entry.js} +1 -1
  138. package/dist/cobalt/p-BUgUTjOB.js +1 -0
  139. package/dist/cobalt/{p-CegCk7FL.js → p-Bgxofdfb.js} +1 -1
  140. package/dist/cobalt/{p-BZJ7NCm5.js → p-BxzuCRMr.js} +1 -1
  141. package/dist/cobalt/p-Es9IUmmt.js +2 -0
  142. package/dist/cobalt/{p-8d7fdb9d.entry.js → p-a0749d7b.entry.js} +1 -1
  143. package/dist/cobalt/{p-1dc9c49e.entry.js → p-a71fd4f1.entry.js} +1 -1
  144. package/dist/cobalt/{p-52de17da.entry.js → p-aa1ad9fa.entry.js} +1 -1
  145. package/dist/cobalt/p-af0495d8.entry.js +1 -0
  146. package/dist/cobalt/{p-260101ab.entry.js → p-b045d680.entry.js} +1 -1
  147. package/dist/cobalt/{p-5890e4d1.entry.js → p-b3c8fc9a.entry.js} +1 -1
  148. package/dist/cobalt/p-b4dcc260.entry.js +1 -0
  149. package/dist/cobalt/p-b8200f7f.entry.js +1 -0
  150. package/dist/cobalt/p-b8f36f12.entry.js +1 -0
  151. package/dist/cobalt/{p-62274eba.entry.js → p-ba6f0f90.entry.js} +1 -1
  152. package/dist/cobalt/{p-279bf91c.entry.js → p-bae82095.entry.js} +1 -1
  153. package/dist/cobalt/{p-cfb36943.entry.js → p-be3e61f4.entry.js} +1 -1
  154. package/dist/cobalt/p-c1abc74b.entry.js +1 -0
  155. package/dist/cobalt/{p-ba90e871.entry.js → p-c23a2ff6.entry.js} +1 -1
  156. package/dist/cobalt/{p-f4063c41.entry.js → p-c682453a.entry.js} +1 -1
  157. package/dist/cobalt/{p-790d384e.entry.js → p-c857b9ff.entry.js} +1 -1
  158. package/dist/cobalt/{p-4504f7b0.entry.js → p-c85a6a9e.entry.js} +1 -1
  159. package/dist/cobalt/p-ca108c6d.entry.js +1 -0
  160. package/dist/cobalt/p-cf239452.entry.js +1 -0
  161. package/dist/cobalt/p-d2507f04.entry.js +1 -0
  162. package/dist/cobalt/p-d403d9c4.entry.js +1 -0
  163. package/dist/cobalt/{p-2f86e1e0.entry.js → p-d4086c34.entry.js} +1 -1
  164. package/dist/cobalt/p-d55652f2.entry.js +1 -0
  165. package/dist/cobalt/{p-12e2c2c4.entry.js → p-d7c9cf93.entry.js} +1 -1
  166. package/dist/cobalt/{p-1f747e45.entry.js → p-d7cbb4c7.entry.js} +1 -1
  167. package/dist/cobalt/p-da211abf.entry.js +1 -0
  168. package/dist/cobalt/p-dcc7fc95.entry.js +1 -0
  169. package/dist/cobalt/p-dd03c00b.entry.js +1 -0
  170. package/dist/cobalt/p-e55fb916.entry.js +1 -0
  171. package/dist/cobalt/p-e8e752f9.entry.js +1 -0
  172. package/dist/cobalt/{p-3863ea91.entry.js → p-e93644cb.entry.js} +1 -1
  173. package/dist/cobalt/{p-6e808b3a.entry.js → p-f6b93f17.entry.js} +1 -1
  174. package/dist/cobalt/{p-6d1217c3.entry.js → p-f72f0e38.entry.js} +1 -1
  175. package/dist/cobalt/{p-8e1dc062.entry.js → p-fb86cdb9.entry.js} +1 -1
  176. package/dist/cobalt/p-ff6be242.entry.js +1 -0
  177. package/dist/collection/collection-manifest.json +8 -0
  178. package/dist/collection/components/co-accordion/co-accordion.js +2 -2
  179. package/dist/collection/components/co-app-shell/co-app-shell.js +2 -2
  180. package/dist/collection/components/co-avatar/co-avatar.js +27 -3
  181. package/dist/collection/components/co-badge/co-badge.js +1 -1
  182. package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.js +3 -3
  183. package/dist/collection/components/co-breadcrumb/co-breadcrumb.css +6 -0
  184. package/dist/collection/components/co-breadcrumb/co-breadcrumb.js +111 -0
  185. package/dist/collection/components/co-breadcrumb-item/co-breadcrumb-item.css +66 -0
  186. package/dist/collection/components/co-breadcrumb-item/co-breadcrumb-item.js +169 -0
  187. package/dist/collection/components/co-button/co-button.css +23 -0
  188. package/dist/collection/components/co-button/co-button.js +48 -2
  189. package/dist/collection/components/co-button-group/co-button-group.js +2 -2
  190. package/dist/collection/components/co-calendar/co-calendar.js +1 -1
  191. package/dist/collection/components/co-calendar-month/co-calendar-month.js +1 -1
  192. package/dist/collection/components/co-card/co-card.js +2 -2
  193. package/dist/collection/components/co-checkbox/co-checkbox.css +63 -0
  194. package/dist/collection/components/co-checkbox/co-checkbox.js +58 -7
  195. package/dist/collection/components/co-chip/co-chip.css +56 -1
  196. package/dist/collection/components/co-chip/co-chip.js +52 -9
  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-command-search/co-command-search.js +4 -4
  200. package/dist/collection/components/co-data-table/co-data-table.css +5 -1
  201. package/dist/collection/components/co-data-table/co-data-table.js +93 -14
  202. package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.js +4 -4
  203. package/dist/collection/components/co-date-field/co-date-field.js +4 -4
  204. package/dist/collection/components/co-date-range/co-date-range.js +1 -1
  205. package/dist/collection/components/co-drawer/co-drawer.css +20 -3
  206. package/dist/collection/components/co-drawer/co-drawer.js +52 -2
  207. package/dist/collection/components/co-drive-card/co-drive-card.css +285 -0
  208. package/dist/collection/components/co-drive-card/co-drive-card.js +329 -0
  209. package/dist/collection/components/co-drop-zone/co-drop-zone.css +49 -0
  210. package/dist/collection/components/co-drop-zone/co-drop-zone.js +197 -0
  211. package/dist/collection/components/co-empty-state/co-empty-state.css +38 -0
  212. package/dist/collection/components/co-empty-state/co-empty-state.js +72 -1
  213. package/dist/collection/components/co-event-calendar/co-event-calendar.js +2 -2
  214. package/dist/collection/components/co-fab/co-fab.js +2 -2
  215. package/dist/collection/components/co-file-field/co-file-field.js +5 -5
  216. package/dist/collection/components/co-file-type-tile/co-file-type-tile.css +14 -0
  217. package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +164 -0
  218. package/dist/collection/components/co-helper-text/co-helper-text.js +2 -2
  219. package/dist/collection/components/co-icon/co-icon.js +2 -2
  220. package/dist/collection/components/co-icon-button/co-icon-button.css +11 -4
  221. package/dist/collection/components/co-icon-button/co-icon-button.js +80 -25
  222. package/dist/collection/components/co-input/co-input.css +58 -0
  223. package/dist/collection/components/co-input/co-input.js +54 -5
  224. package/dist/collection/components/co-json-field/co-json-field.js +3 -3
  225. package/dist/collection/components/co-lightbox/co-lightbox.js +4 -4
  226. package/dist/collection/components/co-list-footer/co-list-footer.js +1 -1
  227. package/dist/collection/components/co-list-item/co-list-item.js +4 -4
  228. package/dist/collection/components/co-media-thumb/co-media-thumb.css +43 -0
  229. package/dist/collection/components/co-media-thumb/co-media-thumb.js +148 -0
  230. package/dist/collection/components/co-menu/co-menu.css +6 -4
  231. package/dist/collection/components/co-menu/co-menu.js +20 -1
  232. package/dist/collection/components/co-menu-divider/co-menu-divider.js +1 -1
  233. package/dist/collection/components/co-menu-item/co-menu-item.css +26 -8
  234. package/dist/collection/components/co-menu-item/co-menu-item.js +69 -2
  235. package/dist/collection/components/co-modal/co-modal.css +17 -0
  236. package/dist/collection/components/co-modal/co-modal.js +59 -6
  237. package/dist/collection/components/co-navbar/co-navbar.js +2 -2
  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 +228 -0
  240. package/dist/collection/components/co-option-list/co-option-list.js +860 -0
  241. package/dist/collection/components/co-option-list/optionListLogic.js +100 -0
  242. package/dist/collection/components/co-overlay/co-overlay.js +1 -1
  243. package/dist/collection/components/co-page-header/co-page-header.js +1 -1
  244. package/dist/collection/components/co-phone-field/co-phone-field.js +1 -1
  245. package/dist/collection/components/co-popover/co-popover.js +2 -2
  246. package/dist/collection/components/co-progress-bar/co-progress-bar.js +2 -2
  247. package/dist/collection/components/co-progress-circle/co-progress-circle.js +2 -2
  248. package/dist/collection/components/co-radio/co-radio.js +3 -3
  249. package/dist/collection/components/co-radio-group/co-radio-group.js +3 -3
  250. package/dist/collection/components/co-rating/co-rating.js +3 -3
  251. package/dist/collection/components/co-ref-field/co-ref-field.js +0 -0
  252. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +2 -2
  253. package/dist/collection/components/co-row/co-row.js +2 -2
  254. package/dist/collection/components/co-segmented-bar/co-segmented-bar.css +36 -0
  255. package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +176 -0
  256. package/dist/collection/components/co-select/co-select.js +4 -4
  257. package/dist/collection/components/co-separator/co-separator.js +1 -1
  258. package/dist/collection/components/co-sidebar/co-sidebar.js +2 -2
  259. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +2 -2
  260. package/dist/collection/components/co-skeleton/co-skeleton.js +1 -1
  261. package/dist/collection/components/co-slider/co-slider.js +2 -2
  262. package/dist/collection/components/co-switch/co-switch.js +3 -3
  263. package/dist/collection/components/co-tab/co-tab.css +54 -3
  264. package/dist/collection/components/co-tab/co-tab.js +45 -3
  265. package/dist/collection/components/co-tab-group/co-tab-group.css +8 -0
  266. package/dist/collection/components/co-tab-group/co-tab-group.js +35 -1
  267. package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
  268. package/dist/collection/components/co-textarea/co-textarea.js +4 -4
  269. package/dist/collection/components/co-toast/co-toast.css +56 -2
  270. package/dist/collection/components/co-toast/co-toast.js +27 -2
  271. package/dist/collection/components/co-toggle-button/co-toggle-button.css +38 -0
  272. package/dist/collection/components/co-toggle-button/co-toggle-button.js +46 -3
  273. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.css +16 -0
  274. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +34 -2
  275. package/dist/collection/components/co-tooltip/co-tooltip.js +2 -2
  276. package/dist/collection/components/co-transfer-list/co-transfer-list.js +2 -2
  277. package/dist/collection/components/co-video/co-video.js +2 -2
  278. package/dist/components/co-accordion.js +1 -1
  279. package/dist/components/co-app-shell.js +1 -1
  280. package/dist/components/co-autocomplete.js +1 -1
  281. package/dist/components/co-avatar-group.js +1 -1
  282. package/dist/components/co-avatar.js +1 -1
  283. package/dist/components/co-badge.js +1 -1
  284. package/dist/components/co-bottom-sheet.js +1 -1
  285. package/dist/components/co-breadcrumb-item.d.ts +11 -0
  286. package/dist/components/co-breadcrumb-item.js +1 -0
  287. package/dist/components/co-breadcrumb.d.ts +11 -0
  288. package/dist/components/co-breadcrumb.js +1 -0
  289. package/dist/components/co-button-group.js +1 -1
  290. package/dist/components/co-button.js +1 -1
  291. package/dist/components/co-calendar-month.js +1 -1
  292. package/dist/components/co-calendar.js +1 -1
  293. package/dist/components/co-card.js +1 -1
  294. package/dist/components/co-checkbox-group.js +1 -1
  295. package/dist/components/co-checkbox.js +1 -1
  296. package/dist/components/co-chip.js +1 -1
  297. package/dist/components/co-color-picker.js +1 -1
  298. package/dist/components/co-column-picker.js +1 -1
  299. package/dist/components/co-combobox.js +1 -1
  300. package/dist/components/co-command-search.js +1 -1
  301. package/dist/components/co-data-table-pagination.js +1 -1
  302. package/dist/components/co-data-table.js +1 -1
  303. package/dist/components/co-date-field.js +1 -1
  304. package/dist/components/co-date-picker.js +1 -1
  305. package/dist/components/co-date-range-picker.js +1 -1
  306. package/dist/components/co-date-range.js +1 -1
  307. package/dist/components/co-drawer.js +1 -1
  308. package/dist/components/co-drive-card.d.ts +11 -0
  309. package/dist/components/co-drive-card.js +1 -0
  310. package/dist/components/co-drop-zone.d.ts +11 -0
  311. package/dist/components/co-drop-zone.js +1 -0
  312. package/dist/components/co-empty-state.js +1 -1
  313. package/dist/components/co-event-calendar.js +1 -1
  314. package/dist/components/co-fab.js +1 -1
  315. package/dist/components/co-file-field.js +1 -1
  316. package/dist/components/co-file-type-tile.d.ts +11 -0
  317. package/dist/components/co-file-type-tile.js +1 -0
  318. package/dist/components/co-helper-text.js +1 -1
  319. package/dist/components/co-icon-button.js +1 -1
  320. package/dist/components/co-icon.js +1 -1
  321. package/dist/components/co-input.js +1 -1
  322. package/dist/components/co-json-field.js +1 -1
  323. package/dist/components/co-lightbox.js +1 -1
  324. package/dist/components/co-list-footer.js +1 -1
  325. package/dist/components/co-list-item.js +1 -1
  326. package/dist/components/co-media-thumb.d.ts +11 -0
  327. package/dist/components/co-media-thumb.js +1 -0
  328. package/dist/components/co-menu-divider.js +1 -1
  329. package/dist/components/co-menu-item.js +1 -1
  330. package/dist/components/co-menu.js +1 -1
  331. package/dist/components/co-modal.js +1 -1
  332. package/dist/components/co-navbar.js +1 -1
  333. package/dist/components/co-number-field.js +1 -1
  334. package/dist/components/co-option-list.d.ts +11 -0
  335. package/dist/components/co-option-list.js +1 -0
  336. package/dist/components/co-overlay.js +1 -1
  337. package/dist/components/co-page-header.js +1 -1
  338. package/dist/components/co-phone-field.js +1 -1
  339. package/dist/components/co-popover.js +1 -1
  340. package/dist/components/co-progress-bar.js +1 -1
  341. package/dist/components/co-progress-circle.js +1 -1
  342. package/dist/components/co-radio-group.js +1 -1
  343. package/dist/components/co-radio.js +1 -1
  344. package/dist/components/co-rating.js +1 -1
  345. package/dist/components/co-ref-field.js +1 -1
  346. package/dist/components/co-rich-text-editor.js +1 -1
  347. package/dist/components/co-rich-text-toolbar.js +1 -1
  348. package/dist/components/co-rich-text-viewer.js +1 -1
  349. package/dist/components/co-row.js +1 -1
  350. package/dist/components/co-segmented-bar.d.ts +11 -0
  351. package/dist/components/co-segmented-bar.js +1 -0
  352. package/dist/components/co-select.js +1 -1
  353. package/dist/components/co-separator.js +1 -1
  354. package/dist/components/co-sidebar-nav.js +1 -1
  355. package/dist/components/co-sidebar.js +1 -1
  356. package/dist/components/co-skeleton.js +1 -1
  357. package/dist/components/co-slider.js +1 -1
  358. package/dist/components/co-switch.js +1 -1
  359. package/dist/components/co-tab-group.js +1 -1
  360. package/dist/components/co-tab.js +1 -1
  361. package/dist/components/co-tags-field.js +1 -1
  362. package/dist/components/co-textarea.js +1 -1
  363. package/dist/components/co-toast.js +1 -1
  364. package/dist/components/co-toggle-button-group.js +1 -1
  365. package/dist/components/co-toggle-button.js +1 -1
  366. package/dist/components/co-tooltip.js +1 -1
  367. package/dist/components/co-transfer-list.js +1 -1
  368. package/dist/components/co-video.js +1 -1
  369. package/dist/components/index.js +1 -1
  370. package/dist/components/{p-D3Y_ti3Q.js → p-B0buzt_E.js} +1 -1
  371. package/dist/components/p-B3igDRut.js +1 -0
  372. package/dist/components/{p-CegCk7FL.js → p-Bgxofdfb.js} +1 -1
  373. package/dist/components/p-BhSJcOUS.js +1 -0
  374. package/dist/components/{p-DKh8ZK4U.js → p-BnTTeIFH.js} +1 -1
  375. package/dist/components/{p-DeZxp9vb.js → p-Bx1OwdIV.js} +1 -1
  376. package/dist/components/{p-C_ULDaks.js → p-BxiKVtk4.js} +1 -1
  377. package/dist/components/{p-DxCFMMfY.js → p-C7tPadNy.js} +1 -1
  378. package/dist/components/p-CBzpUqwG.js +1 -0
  379. package/dist/components/{p-BNKz39GA.js → p-CUvAZhuM.js} +1 -1
  380. package/dist/components/{p-tloAgDin.js → p-CZKHHCdL.js} +1 -1
  381. package/dist/components/{p-BB2OaYKF.js → p-CybHxq25.js} +1 -1
  382. package/dist/components/{p-BFeE_fiq.js → p-CzkeIavk.js} +1 -1
  383. package/dist/components/p-D7dk2gM7.js +1 -0
  384. package/dist/components/p-DTS-dgEe.js +1 -0
  385. package/dist/components/{p-B7vGYFbO.js → p-HXlAaApx.js} +1 -1
  386. package/dist/components/p-K6LC1Hz4.js +1 -0
  387. package/dist/components/p-LAxCvyJl.js +1 -0
  388. package/dist/components/p-vLFwJ77w.js +1 -0
  389. package/dist/esm/co-accordion.entry.js +3 -3
  390. package/dist/esm/co-app-shell.entry.js +3 -3
  391. package/dist/esm/co-autocomplete.entry.js +2 -2
  392. package/dist/esm/co-avatar-group.entry.js +1 -1
  393. package/dist/esm/co-avatar.entry.js +9 -4
  394. package/dist/esm/co-badge.entry.js +2 -2
  395. package/dist/esm/co-bottom-sheet.entry.js +4 -4
  396. package/dist/esm/co-breadcrumb-item.entry.js +35 -0
  397. package/dist/esm/co-breadcrumb.entry.js +53 -0
  398. package/dist/esm/co-button-group.entry.js +3 -3
  399. package/dist/esm/co-button.entry.js +10 -4
  400. package/dist/esm/co-calendar-month.entry.js +2 -2
  401. package/dist/esm/co-calendar_3.entry.js +40 -10
  402. package/dist/esm/co-card.entry.js +3 -3
  403. package/dist/esm/co-checkbox-group.entry.js +1 -1
  404. package/dist/esm/co-checkbox.entry.js +18 -6
  405. package/dist/esm/co-chip.entry.js +12 -7
  406. package/dist/esm/co-color-picker.entry.js +4 -4
  407. package/dist/esm/co-column-picker.entry.js +3 -3
  408. package/dist/esm/co-combobox.entry.js +2 -2
  409. package/dist/esm/co-command-search.entry.js +5 -5
  410. package/dist/esm/co-data-table-pagination.entry.js +5 -5
  411. package/dist/esm/co-data-table.entry.js +23 -16
  412. package/dist/esm/co-date-picker.entry.js +2 -2
  413. package/dist/esm/co-date-range-picker.entry.js +2 -2
  414. package/dist/esm/co-date-range.entry.js +2 -2
  415. package/dist/esm/co-drive-card.entry.js +79 -0
  416. package/dist/esm/co-drop-zone.entry.js +61 -0
  417. package/dist/esm/co-empty-state.entry.js +13 -3
  418. package/dist/esm/co-event-calendar.entry.js +3 -3
  419. package/dist/esm/co-fab.entry.js +3 -3
  420. package/dist/esm/co-file-field.entry.js +7 -7
  421. package/dist/esm/co-file-type-tile.entry.js +76 -0
  422. package/dist/esm/co-helper-text.entry.js +3 -3
  423. package/dist/esm/co-icon-button.entry.js +23 -7
  424. package/dist/esm/co-icon.entry.js +3 -3
  425. package/dist/esm/co-input.entry.js +36 -7
  426. package/dist/esm/co-json-field.entry.js +5 -5
  427. package/dist/esm/co-lightbox.entry.js +5 -5
  428. package/dist/esm/co-list-footer.entry.js +2 -2
  429. package/dist/esm/co-list-item.entry.js +5 -5
  430. package/dist/esm/co-loader.entry.js +32 -0
  431. package/dist/esm/co-media-thumb.entry.js +34 -0
  432. package/dist/esm/co-menu-divider.entry.js +2 -2
  433. package/dist/esm/co-menu-item.entry.js +11 -3
  434. package/dist/esm/co-menu.entry.js +3 -3
  435. package/dist/esm/co-modal.entry.js +29 -5
  436. package/dist/esm/co-navbar.entry.js +3 -3
  437. package/dist/esm/co-number-field.entry.js +4 -4
  438. package/dist/esm/co-option-list.entry.js +377 -0
  439. package/dist/esm/{co-loader_2.entry.js → co-overlay.entry.js} +3 -32
  440. package/dist/esm/co-page-header.entry.js +2 -2
  441. package/dist/esm/co-phone-field.entry.js +3 -3
  442. package/dist/esm/co-popover.entry.js +3 -3
  443. package/dist/esm/co-progress-bar.entry.js +3 -3
  444. package/dist/esm/co-progress-circle.entry.js +3 -3
  445. package/dist/esm/co-radio-group.entry.js +4 -4
  446. package/dist/esm/co-radio.entry.js +4 -4
  447. package/dist/esm/co-rating.entry.js +4 -4
  448. package/dist/esm/co-ref-field.entry.js +4 -4
  449. package/dist/esm/co-rich-text-editor.entry.js +4 -4
  450. package/dist/esm/co-rich-text-toolbar.entry.js +1 -1
  451. package/dist/esm/co-rich-text-viewer.entry.js +2 -2
  452. package/dist/esm/co-row.entry.js +3 -3
  453. package/dist/esm/co-segmented-bar.entry.js +56 -0
  454. package/dist/esm/co-select.entry.js +6 -6
  455. package/dist/esm/co-separator.entry.js +2 -2
  456. package/dist/esm/co-sidebar-nav.entry.js +3 -3
  457. package/dist/esm/co-sidebar.entry.js +3 -3
  458. package/dist/esm/co-skeleton.entry.js +2 -2
  459. package/dist/esm/co-slider.entry.js +3 -3
  460. package/dist/esm/co-switch.entry.js +5 -5
  461. package/dist/esm/co-tab-group.entry.js +15 -3
  462. package/dist/esm/co-tab.entry.js +8 -5
  463. package/dist/esm/co-tags-field.entry.js +8 -8
  464. package/dist/esm/co-textarea.entry.js +6 -6
  465. package/dist/esm/co-toast.entry.js +10 -4
  466. package/dist/esm/co-toggle-button-group.entry.js +16 -4
  467. package/dist/esm/co-toggle-button.entry.js +9 -5
  468. package/dist/esm/co-tooltip.entry.js +3 -3
  469. package/dist/esm/co-transfer-list.entry.js +3 -3
  470. package/dist/esm/co-video.entry.js +3 -3
  471. package/dist/esm/cobalt.js +3 -3
  472. package/dist/esm/{fieldChip-GPikjpYw.js → fieldChip-BBu4ukje.js} +1 -1
  473. package/dist/esm/{index-w_Wxgclf.js → index-Cyrxk8Qq.js} +64 -11
  474. package/dist/esm/{index-CYsftTKf.js → index-Es9IUmmt.js} +68 -8
  475. package/dist/esm/loader.js +3 -3
  476. package/dist/esm/{requiredMark-CEbXKHcU.js → requiredMark-Bg25QWFn.js} +1 -1
  477. package/dist/types/components/co-avatar/co-avatar.d.ts +2 -0
  478. package/dist/types/components/co-breadcrumb/co-breadcrumb.d.ts +27 -0
  479. package/dist/types/components/co-breadcrumb-item/co-breadcrumb-item.d.ts +33 -0
  480. package/dist/types/components/co-button/co-button.d.ts +4 -0
  481. package/dist/types/components/co-checkbox/co-checkbox.d.ts +10 -2
  482. package/dist/types/components/co-chip/co-chip.d.ts +15 -3
  483. package/dist/types/components/co-data-table/co-data-table.d.ts +13 -1
  484. package/dist/types/components/co-drawer/co-drawer.d.ts +12 -0
  485. package/dist/types/components/co-drive-card/co-drive-card.d.ts +52 -0
  486. package/dist/types/components/co-drop-zone/co-drop-zone.d.ts +38 -0
  487. package/dist/types/components/co-empty-state/co-empty-state.d.ts +6 -0
  488. package/dist/types/components/co-file-type-tile/co-file-type-tile.d.ts +11 -0
  489. package/dist/types/components/co-icon-button/co-icon-button.d.ts +18 -3
  490. package/dist/types/components/co-input/co-input.d.ts +13 -1
  491. package/dist/types/components/co-media-thumb/co-media-thumb.d.ts +21 -0
  492. package/dist/types/components/co-menu/co-menu.d.ts +4 -0
  493. package/dist/types/components/co-menu-item/co-menu-item.d.ts +10 -1
  494. package/dist/types/components/co-modal/co-modal.d.ts +20 -2
  495. package/dist/types/components/co-option-list/co-option-list.d.ts +101 -0
  496. package/dist/types/components/co-option-list/optionListLogic.d.ts +69 -0
  497. package/dist/types/components/co-segmented-bar/co-segmented-bar.d.ts +32 -0
  498. package/dist/types/components/co-tab/co-tab.d.ts +4 -0
  499. package/dist/types/components/co-tab-group/co-tab-group.d.ts +3 -0
  500. package/dist/types/components/co-toast/co-toast.d.ts +7 -0
  501. package/dist/types/components/co-toggle-button/co-toggle-button.d.ts +6 -0
  502. package/dist/types/components/co-toggle-button-group/co-toggle-button-group.d.ts +5 -0
  503. package/dist/types/components.d.ts +1361 -55
  504. package/package.json +4 -4
  505. package/dist/cobalt/p-0e8c0d87.entry.js +0 -1
  506. package/dist/cobalt/p-136ad468.entry.js +0 -1
  507. package/dist/cobalt/p-14b59277.entry.js +0 -1
  508. package/dist/cobalt/p-1774d211.entry.js +0 -1
  509. package/dist/cobalt/p-180e1106.entry.js +0 -1
  510. package/dist/cobalt/p-201eaf35.entry.js +0 -1
  511. package/dist/cobalt/p-2d2ce434.entry.js +0 -1
  512. package/dist/cobalt/p-3a257cb0.entry.js +0 -1
  513. package/dist/cobalt/p-4431faac.entry.js +0 -1
  514. package/dist/cobalt/p-456fa86f.entry.js +0 -1
  515. package/dist/cobalt/p-4c01d984.entry.js +0 -1
  516. package/dist/cobalt/p-69d4c0c8.entry.js +0 -1
  517. package/dist/cobalt/p-6c480916.entry.js +0 -1
  518. package/dist/cobalt/p-8012e152.entry.js +0 -1
  519. package/dist/cobalt/p-80b27203.entry.js +0 -1
  520. package/dist/cobalt/p-867c1465.entry.js +0 -1
  521. package/dist/cobalt/p-86a143d7.entry.js +0 -1
  522. package/dist/cobalt/p-929e647f.entry.js +0 -1
  523. package/dist/cobalt/p-92bd9b29.entry.js +0 -1
  524. package/dist/cobalt/p-98ab5f3f.entry.js +0 -1
  525. package/dist/cobalt/p-9d69c067.entry.js +0 -1
  526. package/dist/cobalt/p-CYsftTKf.js +0 -2
  527. package/dist/cobalt/p-c4f59532.entry.js +0 -1
  528. package/dist/cobalt/p-e54dd404.entry.js +0 -1
  529. package/dist/cobalt/p-eb18fdbf.entry.js +0 -1
  530. package/dist/cobalt/p-eb73052a.entry.js +0 -1
  531. package/dist/cobalt/p-oImf-7fN.js +0 -1
  532. package/dist/components/p-Ba4v1NXo.js +0 -1
  533. package/dist/components/p-EPZfLt5l.js +0 -1
  534. package/dist/components/p-FMnqPWcM.js +0 -1
  535. package/dist/components/p-Hzh9U2cM.js +0 -1
  536. package/dist/components/p-WZ06pT2Y.js +0 -1
@@ -22,6 +22,8 @@ export class CoDataTable {
22
22
  this.emptyMessage = 'No records found';
23
23
  /** Empty state icon (Phosphor icon name). */
24
24
  this.emptyIcon = 'magnifying-glass';
25
+ /** Variant for the prop-driven empty-action button. */
26
+ this.emptyActionVariant = 'stroke';
25
27
  /* ─── SORT ──────────────────────────────────────────────── */
26
28
  /** Current sort field */
27
29
  this.sortField = '';
@@ -273,30 +275,34 @@ export class CoDataTable {
273
275
  'co-data-table__resize-handle--active': this.resizingColumn === col.field,
274
276
  }, onMouseDown: (e) => this.handleResizeStart(col.field, e), onClick: (e) => e.stopPropagation() }))))))));
275
277
  }
276
- renderBody() {
277
- if (this.loading) {
278
- return (h("tbody", { class: "co-data-table__body" }, Array.from({ length: this.skeletonRows }).map((_, rowIndex) => (h("tr", { class: "co-data-table__row co-data-table__row--skeleton", key: `skeleton-${rowIndex}` }, this.selectable && (h("td", { class: "co-data-table__td co-data-table__td--checkbox co-data-table__td--sticky", style: { left: '0px' } }, h("div", { class: "co-data-table__skeleton co-data-table__skeleton--checkbox" }))), this.parsedColumns.map(col => (h("td", { class: {
279
- 'co-data-table__td': true,
280
- 'co-data-table__td--sticky': !!col.sticky,
281
- }, style: Object.assign({}, this.getColumnStyle(col)) }, h("div", { class: "co-data-table__skeleton" })))))))));
282
- }
283
- // When not loading, delegate row rendering to the consumer via default slot.
284
- // This avoids Stencil's costly per-cell named-slot relocation (N rows × M cols).
285
- // The consumer (e.g. Vue) renders <tbody> directly using co-data-table CSS classes.
286
- return h("slot", null);
278
+ // Skeleton rows shown WHILE loading. Rendered as a SEPARATE <tbody> that
279
+ // co-exists with the always-mounted default <slot/> (see render()) — it never
280
+ // REPLACES it. Previously the body position was swapped between this skeleton
281
+ // and <slot/> on every `loading` toggle; that swap tore the slot down and
282
+ // orphaned the consumer's projected rows (e.g. Vue's <tbody>), so a concurrent
283
+ // consumer patch threw "insertBefore ... not a child of this node" on data/model
284
+ // switches. Row rendering itself is still delegated to the consumer via the
285
+ // default slot this avoids Stencil's costly per-cell named-slot relocation.
286
+ renderSkeletonBody() {
287
+ return (h("tbody", { class: "co-data-table__body co-data-table__body--skeleton", "aria-hidden": "true" }, Array.from({ length: this.skeletonRows }).map((_, rowIndex) => (h("tr", { class: "co-data-table__row co-data-table__row--skeleton", key: `skeleton-${rowIndex}` }, this.selectable && (h("td", { class: "co-data-table__td co-data-table__td--checkbox co-data-table__td--sticky", style: { left: '0px' } }, h("div", { class: "co-data-table__skeleton co-data-table__skeleton--checkbox" }))), this.parsedColumns.map(col => (h("td", { class: {
288
+ 'co-data-table__td': true,
289
+ 'co-data-table__td--sticky': !!col.sticky,
290
+ }, style: Object.assign({}, this.getColumnStyle(col)) }, h("div", { class: "co-data-table__skeleton" })))))))));
287
291
  }
288
292
  renderEmpty() {
289
293
  if (this.loading || this.parsedRows.length > 0)
290
294
  return null;
291
- return (h("div", { class: "co-data-table__empty", part: "empty" }, h("div", { class: "co-data-table__empty-icon" }, h("co-icon", { name: this.emptyIcon, size: 32, weight: "regular" })), this.emptyTitle && (h("h3", { class: "co-data-table__empty-title" }, this.emptyTitle)), this.emptyMessage && (h("p", { class: "co-data-table__empty-message" }, this.emptyMessage)), h("div", { class: "co-data-table__empty-action" }, h("slot", { name: "empty-action" }))));
295
+ return (h("div", { class: "co-data-table__empty", part: "empty" }, h("div", { class: "co-data-table__empty-icon" }, h("co-icon", { name: this.emptyIcon, size: 32, weight: "regular" })), this.emptyTitle && (h("h3", { class: "co-data-table__empty-title" }, this.emptyTitle)), this.emptyMessage && (h("p", { class: "co-data-table__empty-message" }, this.emptyMessage)), h("div", { class: "co-data-table__empty-action" }, this.emptyActionLabel
296
+ ? (h("co-button", { variant: this.emptyActionVariant, size: "m", label: this.emptyActionLabel, iconLeft: this.emptyActionIcon, onClick: () => this.coEmptyAction.emit() }))
297
+ : h("slot", { name: "empty-action" }))));
292
298
  }
293
299
  render() {
294
- return (h("div", { key: 'ca97ff4e2b3fb28ff64e49654c35e3081e43b036', class: {
300
+ return (h("div", { key: '0ca5b4b0a0a31c1ea7488a7ca22b64683a9d35e1', class: {
295
301
  'co-data-table': true,
296
302
  'co-data-table--resizing': this.resizingColumn !== null,
297
303
  'co-data-table--loading': this.loading,
298
304
  'co-data-table--empty': !this.loading && this.parsedRows.length === 0,
299
- } }, h("div", { key: '9ffdd459a8b46f4c019309412cf85fe7e12f803d', class: "co-data-table__scroll" }, h("table", { key: 'f621aaba41690f6fe6060b0641817908d5c3ae92', class: "co-data-table__table", style: { width: `${this.getTableWidth()}px`, minWidth: '100%' } }, this.renderColgroup(), this.renderHeader(), this.renderBody())), this.renderEmpty()));
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()));
300
306
  }
301
307
  static get is() { return "co-data-table"; }
302
308
  static get originalStyleUrls() {
@@ -477,6 +483,64 @@ export class CoDataTable {
477
483
  "attribute": "empty-icon",
478
484
  "defaultValue": "'magnifying-glass'"
479
485
  },
486
+ "emptyActionLabel": {
487
+ "type": "string",
488
+ "mutable": false,
489
+ "complexType": {
490
+ "original": "string",
491
+ "resolved": "string | undefined",
492
+ "references": {}
493
+ },
494
+ "required": false,
495
+ "optional": true,
496
+ "docs": {
497
+ "tags": [],
498
+ "text": "Empty-state action button, rendered BY the component (not via slot). Prefer\nthis over the `empty-action` slot: a non-shadow component relocates slotted\nlight-DOM nodes, so projecting togglable framework content (e.g. a Vue\n`v-if` button) corrupts that framework's virtual DOM. Leave empty to fall\nback to the `empty-action` slot."
499
+ },
500
+ "getter": false,
501
+ "setter": false,
502
+ "reflect": false,
503
+ "attribute": "empty-action-label"
504
+ },
505
+ "emptyActionVariant": {
506
+ "type": "string",
507
+ "mutable": false,
508
+ "complexType": {
509
+ "original": "'primary' | 'secondary' | 'stroke' | 'ghost' | 'danger' | 'success'",
510
+ "resolved": "\"danger\" | \"ghost\" | \"primary\" | \"secondary\" | \"stroke\" | \"success\"",
511
+ "references": {}
512
+ },
513
+ "required": false,
514
+ "optional": false,
515
+ "docs": {
516
+ "tags": [],
517
+ "text": "Variant for the prop-driven empty-action button."
518
+ },
519
+ "getter": false,
520
+ "setter": false,
521
+ "reflect": false,
522
+ "attribute": "empty-action-variant",
523
+ "defaultValue": "'stroke'"
524
+ },
525
+ "emptyActionIcon": {
526
+ "type": "string",
527
+ "mutable": false,
528
+ "complexType": {
529
+ "original": "string",
530
+ "resolved": "string | undefined",
531
+ "references": {}
532
+ },
533
+ "required": false,
534
+ "optional": true,
535
+ "docs": {
536
+ "tags": [],
537
+ "text": "Optional left icon (Phosphor name) for the prop-driven empty-action button."
538
+ },
539
+ "getter": false,
540
+ "setter": false,
541
+ "reflect": false,
542
+ "attribute": "empty-action-icon"
543
+ },
480
544
  "sortField": {
481
545
  "type": "string",
482
546
  "mutable": true,
@@ -696,6 +760,21 @@ export class CoDataTable {
696
760
  "resolved": "{ row: any; index: number; }",
697
761
  "references": {}
698
762
  }
763
+ }, {
764
+ "method": "coEmptyAction",
765
+ "name": "coEmptyAction",
766
+ "bubbles": true,
767
+ "cancelable": true,
768
+ "composed": true,
769
+ "docs": {
770
+ "tags": [],
771
+ "text": "Fired when the prop-driven empty-action button (`emptyActionLabel`) is clicked."
772
+ },
773
+ "complexType": {
774
+ "original": "void",
775
+ "resolved": "void",
776
+ "references": {}
777
+ }
699
778
  }];
700
779
  }
701
780
  static get elementRef() { return "el"; }
@@ -84,17 +84,17 @@ export class CoDataTablePagination {
84
84
  }
85
85
  render() {
86
86
  const pages = this.getVisiblePages();
87
- return (h("div", { key: 'ae314d39c78125c7a0b237d30b6d298c5c699a75', class: "co-pagination", part: "pagination" }, h("div", { key: 'eff8732e235bfcbb6578a144377736f6a5c05d91', class: "co-pagination__section" }, h("span", { key: 'e4a5b980aaae92eec46b5e090e7b87745938fe81', class: "co-pagination__label" }, this.jumpToPageLabel), h("input", { key: '012b0613c8cfce667687ca27ad434b6271845900', type: "text", class: "co-pagination__jump-input", value: this.jumpToValue || String(this.page), onInput: (e) => {
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) => {
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: '76016cea5933b9b057256e4c54717925b95396e4', class: "co-pagination__section co-pagination__section--page-size" }, h("div", { key: 'ec1ac8b20b71a01483ef6f33170ccea9dc60baf2', class: "co-pagination__page-size-trigger", onClick: () => { this.showPageSizeDropdown = !this.showPageSizeDropdown; } }, h("span", { key: '3db2891ead65d088b2a9a19868c00576fc3d212b', class: "co-pagination__page-size-value" }, this.pageSize), h("span", { key: '2be8c9861d4509df5b695b5c07e25cc346b77628', class: "co-pagination__label" }, this.perPageLabel), h("co-icon", { key: '91ba0332b4eb496b3de3fe271d78686aad429d71', name: "caret-down", size: 14 })), this.showPageSizeDropdown && (h("div", { key: '4a7f2a17c52d71762c3a9b15e8ed55aa78b894a8', class: "co-pagination__page-size-dropdown", part: "dropdown" }, this.parsedPageSizes.map(size => (h("button", { class: {
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: {
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: 'e8e81ef1186485963908cd923fab0f5974e4cbf3', class: "co-pagination__spacer" }), h("div", { key: '04fd583b0fff46d13d8abe384cb7896d2c4b8799', class: "co-pagination__section" }, h("span", { key: '69bf9e0a8fd0e9f3b5fe06c9951300323fce42bf', class: "co-pagination__count" }, this.totalCount.toLocaleString(), " ", this.recordsLabel)), h("div", { key: 'a90b8a8b5cdd5cfc945fb0fa00d50b44b4ab88b7', class: "co-pagination__section co-pagination__nav" }, h("button", { key: '6b14f2a16c691a202bf81cc1fff8f505f5ce0f29', 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: '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: {
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: '9b3cdab026b566275248734a8db218d70a81b082', 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: 'efd6ec713cb22bdb9eb6774e094f8fbc12cb4811', 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"; }
@@ -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: '88be9ead58abc8f3c417e66482aa8f05fee57337', class: {
165
+ return (h("div", { key: '5ac31e35bf25f081826ab545e81905a584a4d4a7', 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: 'c916f0e36ba63ffdcf2a6cd08ffe295c93e9aa91', class: "co-date-field__labels" }, h("label", { key: '0d84f75656c45fff7e695ecea68d9e93b5031e7e', class: "co-date-field__label", part: "label" }, this.label, h(RequiredMark, { key: '3fc035181fb79cb0879736dfa91ff979d4d6f8ab', required: this.required })))), h("div", { key: 'e423c62b5ed75b52786732944be251ec4c565692', class: "co-date-field__field-row" }, h("div", { key: '6c902beccd2d3d50166c027d755c4bd9687fa770', class: "co-date-field__field", part: "field" }, h("co-icon", { key: '87ac25c7d1816069d60f488c7d4ca0ab6902954b', name: "calendar", size: 16, class: "co-date-field__icon" }), h("div", { key: 'ac1d1ee4b641ce034a5723487bf1bfb6f1f834ff', class: "co-date-field__input-wrapper" }, h("input", { key: '54d4478118e7c02185619b07a1c44034e2d0cbe0', 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: '484bdacdb620dec400355efe868779f91ec352b7', class: {
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: {
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: '9d5ce8fa3cf07062ac62fb50cd95bfd3841a6298', name: "x-circle", size: 16, weight: "fill" }))))), this.name && h("input", { key: '6bf071d3aaa3b02542860c5cd12156df1a34d6f3', type: "hidden", name: this.name, value: (_b = this.value) !== null && _b !== void 0 ? _b : '' }), helper && (h("div", { key: '39ac15b77ff7f6c7e710b714709f42a67decb4db', 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: '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: {
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: '2c652605bf6f0a04bb08a0fa679ffaace1aaa110', name: "warning-circle", size: 14, class: "co-date-field__helper-icon" })), h("span", { key: 'c1022e560275a0f263af532304e948b78a0d4318', class: "co-date-field__helper-text" }, helper)))));
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)))));
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: '0523f38971fe7b9289838d36737fe40f43c8cadc', 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: '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() }));
37
37
  }
38
38
  static get is() { return "co-date-range"; }
39
39
  static get encapsulation() { return "shadow"; }
@@ -26,7 +26,8 @@
26
26
  margin: 6px;
27
27
  height: 100vh;
28
28
  height: -webkit-fill-available;
29
- border-radius: 24px;
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));
30
31
  transform: translateX(calc(100% + 12px));
31
32
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
32
33
  }
@@ -39,7 +40,8 @@
39
40
  margin: 6px;
40
41
  height: 100vh;
41
42
  height: -webkit-fill-available;
42
- border-radius: 24px;
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));
43
45
  transform: translateX(calc(-100% - 12px));
44
46
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
45
47
  }
@@ -54,7 +56,8 @@
54
56
  width: auto;
55
57
  transform: translateY(calc(100% + 12px));
56
58
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.12);
57
- border-radius: 24px;
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));
58
61
  }
59
62
  .co-drawer--bottom.co-drawer--open { transform: translateY(0); }
60
63
 
@@ -176,3 +179,17 @@
176
179
  width: 100vw !important;
177
180
  }
178
181
  }
182
+
183
+ /* ─── Modeless (no overlay) ───────────────────────────────────────────── */
184
+ /* The aside renders standalone with popover="manual" (top-layer). The UA
185
+ [popover] stylesheet sets inset:0/border/padding/margin:auto — neutralize
186
+ what our position rules don't already override. z-index is the fallback
187
+ layer for browsers without the Popover API. */
188
+ .co-drawer--modeless {
189
+ z-index: 1000;
190
+ border: 0;
191
+ padding: 0;
192
+ }
193
+ .co-drawer--modeless.co-drawer--right { left: auto; bottom: auto; }
194
+ .co-drawer--modeless.co-drawer--left { right: auto; bottom: auto; }
195
+ .co-drawer--modeless.co-drawer--bottom { top: auto; }
@@ -25,6 +25,12 @@ export class CoDrawer {
25
25
  this.closeOnOverlay = true;
26
26
  /** Close when pressing Escape */
27
27
  this.closeOnEscape = true;
28
+ /** Render without the modal overlay: no scrim, no body-scroll lock — the
29
+ * page behind stays fully interactive. The panel promotes itself to the
30
+ * browser top layer (Popover API) so ancestor filters/transforms can't
31
+ * clip it. Close vectors: X button, Escape, or the consumer flipping
32
+ * `open` — there is deliberately no click-outside in this mode. */
33
+ this.modeless = false;
28
34
  /** Show a loading overlay over the body */
29
35
  this.loading = false;
30
36
  this.handleOverlayClose = () => {
@@ -45,6 +51,23 @@ export class CoDrawer {
45
51
  else
46
52
  this.coAfterClose.emit();
47
53
  };
54
+ /** Modeless only: keep the aside promoted to the top layer for its whole
55
+ * lifetime (mirrors co-overlay's syncPopover; eviction on disconnect is
56
+ * automatic). */
57
+ this.promoteModeless = (el) => {
58
+ if (el)
59
+ this.asideEl = el;
60
+ const aside = this.asideEl;
61
+ if (!this.modeless || !aside || typeof aside.showPopover !== 'function')
62
+ return;
63
+ try {
64
+ if (!aside.matches(':popover-open'))
65
+ aside.showPopover();
66
+ }
67
+ catch (_a) {
68
+ /* not connected yet or already shown — safe to ignore */
69
+ }
70
+ };
48
71
  }
49
72
  onOpenChange(next, prev) {
50
73
  if (next && !prev)
@@ -55,13 +78,20 @@ export class CoDrawer {
55
78
  this.coClose.emit();
56
79
  }
57
80
  }
81
+ componentDidLoad() {
82
+ this.promoteModeless();
83
+ }
58
84
  render() {
59
- return (h("co-overlay", { key: '7c69e70718bf2085643677d37053afd37d2b6352', open: this.open, onCoClose: this.handleOverlayClose }, h("aside", { key: '01ab0f984e661aea796b7df9c04997d2bd1980e4', class: {
85
+ const aside = (h("aside", { class: {
60
86
  'co-drawer': true,
61
87
  'co-drawer--open': this.open,
88
+ 'co-drawer--modeless': this.modeless,
62
89
  [`co-drawer--${this.position}`]: true,
63
90
  [`co-drawer--${this.size}`]: true,
64
- }, part: "drawer", role: "dialog", "aria-modal": "true", "aria-labelledby": "co-drawer-heading", onClick: this.stopPropagation, onTransitionEnd: this.handleTransitionEnd }, h("header", { key: '5176fec875eeb18be424ff9c898280dd31d0e3a1', class: "co-drawer__header", part: "header" }, h("div", { key: '3b3476ccbffa5dabafcc810695993c4b0679730d', class: "co-drawer__header-content" }, h("slot", { key: '7b7b4432956e107e12ecc4c46347fb431b4fca4f', name: "header" }, h("div", { key: '786511c2d038f3ca408d094afee8966b310ee36f', class: "co-drawer__heading-row" }, this.icon && h("co-icon", { key: '1f3331f934a568d8564e968739629f01eb8b8460', name: this.icon, size: 20, class: "co-drawer__icon" }), h("h2", { key: '19f2fe27e891efdd00d9a95e2e62c858c6688cac', class: "co-drawer__heading", id: "co-drawer-heading" }, this.heading)), this.description && h("p", { key: 'cc65c4946b4a8f3add2509c412e64bd8c8389fda', class: "co-drawer__description" }, this.description))), this.closable && (h("button", { key: '4026e85eefcf7fd221c9ee61f807b8757857de1b', class: "co-drawer__close", type: "button", "aria-label": "Close", onClick: this.handleCloseClick }, h("co-icon", { key: 'bf861e28ccf9a1ecc2189415943240f1e81bf69a', name: "x", size: 20 })))), h("div", { key: '57c591df50af7d19ce2926eb7dcba6c2ab3422d5', class: "co-drawer__tabs", part: "tabs" }, h("slot", { key: 'c9e3ab57d666cfb85802d5e07dd89769434c696d', name: "tabs" })), h("div", { key: 'd7f0adf9a58f92756b9f83987c326dc208b10441', class: "co-drawer__body", part: "body" }, h("slot", { key: '6f2ad9551a80c1e957b35d8c61f6bed314dfc567' }), h("co-loader", { key: '088d8c6623b2d56e45361c06de0cb199653c1f0d', overlay: true, visible: this.loading, part: "loader" })), h("footer", { key: 'cdb32ec0e7f2dcfe971fec5b33224ad812987bdc', class: "co-drawer__footer", part: "footer" }, h("slot", { key: 'c08df3969fb871d3b313b121dd077a72769d3019', name: "footer" })))));
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" }))));
92
+ if (this.modeless)
93
+ return aside;
94
+ return (h("co-overlay", { open: this.open, onCoClose: this.handleOverlayClose }, aside));
65
95
  }
66
96
  static get is() { return "co-drawer"; }
67
97
  static get encapsulation() { return "shadow"; }
@@ -257,6 +287,26 @@ export class CoDrawer {
257
287
  "attribute": "close-on-escape",
258
288
  "defaultValue": "true"
259
289
  },
290
+ "modeless": {
291
+ "type": "boolean",
292
+ "mutable": false,
293
+ "complexType": {
294
+ "original": "boolean",
295
+ "resolved": "boolean",
296
+ "references": {}
297
+ },
298
+ "required": false,
299
+ "optional": false,
300
+ "docs": {
301
+ "tags": [],
302
+ "text": "Render without the modal overlay: no scrim, no body-scroll lock \u2014 the\npage behind stays fully interactive. The panel promotes itself to the\nbrowser top layer (Popover API) so ancestor filters/transforms can't\nclip it. Close vectors: X button, Escape, or the consumer flipping\n`open` \u2014 there is deliberately no click-outside in this mode."
303
+ },
304
+ "getter": false,
305
+ "setter": false,
306
+ "reflect": true,
307
+ "attribute": "modeless",
308
+ "defaultValue": "false"
309
+ },
260
310
  "loading": {
261
311
  "type": "boolean",
262
312
  "mutable": false,
@@ -0,0 +1,285 @@
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ /* ─── Shared surface ─────────────────────────────────────────── */
6
+ .co-drive-card {
7
+ --dc-accent: var(--co-color-primary-azul, #2563eb);
8
+ position: relative;
9
+ box-sizing: border-box;
10
+ width: 100%;
11
+ border-radius: 14px;
12
+ cursor: pointer;
13
+ outline: none;
14
+ font-family: var(--co-font-family-primary);
15
+ background: var(--co-color-base-blanco, #fff);
16
+ box-shadow: inset 0 0 0 1px var(--co-color-opacity-negro-8, rgba(31, 28, 27, 0.08));
17
+ }
18
+
19
+ .co-drive-card:focus-visible {
20
+ box-shadow: inset 0 0 0 1.5px var(--dc-accent);
21
+ }
22
+
23
+ /* ─── FOLDER layout — flex row ───────────────────────────────── */
24
+ .co-drive-card--folder {
25
+ display: flex;
26
+ align-items: center;
27
+ gap: 12px;
28
+ transition: box-shadow 0.14s ease, background 0.12s ease;
29
+ }
30
+
31
+ .co-drive-card--folder.co-drive-card--comfy {
32
+ padding: 14px;
33
+ }
34
+
35
+ .co-drive-card--folder.co-drive-card--compact {
36
+ padding: 10px 12px;
37
+ }
38
+
39
+ .co-drive-card--folder:hover:not(.co-drive-card--selected) {
40
+ box-shadow: var(--co-shadow-sm, 0 1px 2px 0 rgba(26, 26, 26, 0.04)),
41
+ inset 0 0 0 1px var(--co-color-opacity-negro-8, rgba(31, 28, 27, 0.08));
42
+ }
43
+
44
+ .co-drive-card--folder.co-drive-card--selected {
45
+ background: color-mix(in srgb, var(--dc-accent) 7%, white);
46
+ box-shadow: inset 0 0 0 1.5px var(--dc-accent);
47
+ }
48
+
49
+ /* Icon tile */
50
+ .co-drive-card__tile {
51
+ flex-shrink: 0;
52
+ display: inline-flex;
53
+ align-items: center;
54
+ justify-content: center;
55
+ border-radius: 11px;
56
+ background: color-mix(in srgb, var(--dc-accent) 12%, white);
57
+ color: var(--dc-accent);
58
+ }
59
+
60
+ .co-drive-card--comfy .co-drive-card__tile {
61
+ width: 44px;
62
+ height: 44px;
63
+ }
64
+
65
+ .co-drive-card--compact .co-drive-card__tile {
66
+ width: 38px;
67
+ height: 38px;
68
+ }
69
+
70
+ /* Name + meta text block */
71
+ .co-drive-card__text {
72
+ flex: 1;
73
+ min-width: 0;
74
+ display: flex;
75
+ flex-direction: column;
76
+ }
77
+
78
+ .co-drive-card__name {
79
+ font-family: var(--co-font-family-primary);
80
+ font-size: 14px;
81
+ font-weight: 500;
82
+ line-height: 1.3;
83
+ color: var(--co-color-base-negro, #1f1c1b);
84
+ letter-spacing: var(--co-font-letter-spacing-body, -0.03em);
85
+ white-space: nowrap;
86
+ overflow: hidden;
87
+ text-overflow: ellipsis;
88
+ }
89
+
90
+ .co-drive-card__meta {
91
+ font-family: var(--co-font-family-primary);
92
+ font-size: 12px;
93
+ color: var(--co-color-gray-500, #888888);
94
+ margin-top: 2px;
95
+ letter-spacing: var(--co-font-letter-spacing-body, -0.03em);
96
+ white-space: nowrap;
97
+ overflow: hidden;
98
+ text-overflow: ellipsis;
99
+ }
100
+
101
+ /* Trailing region (star + slot) */
102
+ .co-drive-card__trailing {
103
+ flex-shrink: 0;
104
+ display: flex;
105
+ align-items: center;
106
+ gap: 6px;
107
+ }
108
+
109
+ .co-drive-card__star {
110
+ display: inline-flex;
111
+ color: var(--co-color-primary-amarillo, #fdbf00);
112
+ }
113
+
114
+ /* ─── FILE layout — column with thumb ────────────────────────── */
115
+ .co-drive-card--file {
116
+ display: flex;
117
+ flex-direction: column;
118
+ gap: 10px;
119
+ transition: box-shadow 0.14s ease;
120
+ }
121
+
122
+ .co-drive-card--file.co-drive-card--comfy {
123
+ padding: 10px;
124
+ }
125
+
126
+ .co-drive-card--file.co-drive-card--compact {
127
+ padding: 8px;
128
+ }
129
+
130
+ .co-drive-card--file:hover:not(.co-drive-card--selected):not(.co-drive-card--active) {
131
+ box-shadow: var(--co-shadow-sm, 0 1px 2px 0 rgba(26, 26, 26, 0.04)),
132
+ inset 0 0 0 1px var(--co-color-opacity-negro-8, rgba(31, 28, 27, 0.08));
133
+ }
134
+
135
+ .co-drive-card--file.co-drive-card--active:not(.co-drive-card--selected) {
136
+ box-shadow: inset 0 0 0 1.5px var(--co-color-opacity-negro-25, rgba(31, 28, 27, 0.25));
137
+ }
138
+
139
+ .co-drive-card--file.co-drive-card--selected {
140
+ box-shadow: inset 0 0 0 1.5px var(--dc-accent);
141
+ }
142
+
143
+ /* Thumb region */
144
+ .co-drive-card__thumb {
145
+ display: block;
146
+ border-radius: 10px;
147
+ overflow: hidden;
148
+ background: var(--co-color-gray-100, #f6f6f6);
149
+ }
150
+
151
+ .co-drive-card--comfy .co-drive-card__thumb {
152
+ height: 132px;
153
+ }
154
+
155
+ .co-drive-card--compact .co-drive-card__thumb {
156
+ height: 96px;
157
+ }
158
+
159
+ .co-drive-card__thumb ::slotted(*) {
160
+ display: block;
161
+ width: 100%;
162
+ height: 100%;
163
+ }
164
+
165
+ .co-drive-card__thumb ::slotted(img) {
166
+ object-fit: cover;
167
+ }
168
+
169
+ /* File name overrides folder size */
170
+ .co-drive-card--file .co-drive-card__name {
171
+ font-size: 13px;
172
+ }
173
+
174
+ .co-drive-card__sub {
175
+ font-family: var(--co-font-family-primary);
176
+ font-size: 11.5px;
177
+ color: var(--co-color-gray-500, #888888);
178
+ margin-top: 1px;
179
+ letter-spacing: var(--co-font-letter-spacing-body, -0.03em);
180
+ white-space: nowrap;
181
+ overflow: hidden;
182
+ text-overflow: ellipsis;
183
+ }
184
+
185
+ /* Foot row */
186
+ .co-drive-card__foot {
187
+ display: flex;
188
+ align-items: center;
189
+ gap: 8px;
190
+ padding: 0 2px 2px;
191
+ }
192
+
193
+ .co-drive-card__type {
194
+ flex-shrink: 0;
195
+ display: inline-flex;
196
+ }
197
+
198
+ .co-drive-card__foot-text {
199
+ flex: 1;
200
+ min-width: 0;
201
+ display: flex;
202
+ flex-direction: column;
203
+ }
204
+
205
+ /* Fading action affordance — stays in layout, no reflow */
206
+ .co-drive-card__actions {
207
+ flex-shrink: 0;
208
+ display: inline-flex;
209
+ align-items: center;
210
+ color: var(--co-color-gray-400, #a0a0a0);
211
+ opacity: 0;
212
+ transition: opacity 0.12s ease;
213
+ }
214
+
215
+ .co-drive-card:hover .co-drive-card__actions {
216
+ opacity: 1;
217
+ }
218
+
219
+ /* Star overlay (file) */
220
+ .co-drive-card__star-overlay {
221
+ position: absolute;
222
+ top: 16px;
223
+ right: 16px;
224
+ display: inline-flex;
225
+ align-items: center;
226
+ justify-content: center;
227
+ cursor: pointer;
228
+ color: var(--co-color-base-blanco, #fff);
229
+ opacity: 0;
230
+ transition: opacity 0.12s ease;
231
+ }
232
+
233
+ .co-drive-card:hover .co-drive-card__star-overlay,
234
+ .co-drive-card--starred .co-drive-card__star-overlay {
235
+ opacity: 1;
236
+ }
237
+
238
+ .co-drive-card--starred .co-drive-card__star-overlay {
239
+ color: var(--co-color-primary-amarillo, #fdbf00);
240
+ }
241
+
242
+ /* ─── Corner select chip (both layouts) ──────────────────────── */
243
+ .co-drive-card__select {
244
+ position: absolute;
245
+ display: inline-flex;
246
+ align-items: center;
247
+ justify-content: center;
248
+ border-radius: 6px;
249
+ cursor: pointer;
250
+ opacity: 0;
251
+ transition: opacity 0.12s ease;
252
+ background: rgba(255, 255, 255, 0.9);
253
+ box-shadow: inset 0 0 0 1px var(--co-color-opacity-negro-16, rgba(31, 28, 27, 0.16));
254
+ }
255
+
256
+ .co-drive-card:hover .co-drive-card__select,
257
+ .co-drive-card--selected .co-drive-card__select {
258
+ opacity: 1;
259
+ }
260
+
261
+ .co-drive-card--folder .co-drive-card__select {
262
+ top: 8px;
263
+ left: 8px;
264
+ width: 20px;
265
+ height: 20px;
266
+ }
267
+
268
+ .co-drive-card--file .co-drive-card__select {
269
+ top: 16px;
270
+ left: 16px;
271
+ width: 22px;
272
+ height: 22px;
273
+ background: rgba(255, 255, 255, 0.92);
274
+ }
275
+
276
+ /* Checked fill — placed after the variant rules so it wins on ties */
277
+ .co-drive-card--selected .co-drive-card__select {
278
+ background: var(--dc-accent);
279
+ box-shadow: none;
280
+ }
281
+
282
+ .co-drive-card__check {
283
+ display: block;
284
+ pointer-events: none;
285
+ }