@prolibu-suite/cobalt-core 0.7.0 → 0.8.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 (515) hide show
  1. package/custom-elements.json +8266 -5138
  2. package/dist/cjs/co-action-bar.cjs.entry.js +89 -0
  3. package/dist/cjs/co-app-shell.cjs.entry.js +2 -2
  4. package/dist/cjs/co-audio-player.cjs.entry.js +279 -0
  5. package/dist/cjs/co-avatar_2.cjs.entry.js +3 -3
  6. package/dist/cjs/co-badge.cjs.entry.js +1 -1
  7. package/dist/cjs/co-bottom-sheet.cjs.entry.js +3 -3
  8. package/dist/cjs/co-breadcrumb-item.cjs.entry.js +2 -2
  9. package/dist/cjs/co-breadcrumb.cjs.entry.js +1 -1
  10. package/dist/cjs/co-button-group.cjs.entry.js +2 -2
  11. package/dist/cjs/co-button.cjs.entry.js +12 -5
  12. package/dist/cjs/co-calendar-month_2.cjs.entry.js +1601 -0
  13. package/dist/cjs/co-calendar_3.cjs.entry.js +9 -9
  14. package/dist/cjs/co-card.cjs.entry.js +2 -2
  15. package/dist/cjs/co-carousel-item.cjs.entry.js +1 -1
  16. package/dist/cjs/co-carousel.cjs.entry.js +3 -3
  17. package/dist/cjs/co-checkbox.cjs.entry.js +4 -4
  18. package/dist/cjs/co-chip_2.cjs.entry.js +95 -6
  19. package/dist/cjs/co-color-picker.cjs.entry.js +2 -2
  20. package/dist/cjs/co-column-picker.cjs.entry.js +2 -2
  21. package/dist/cjs/co-data-table-pagination.cjs.entry.js +4 -4
  22. package/dist/cjs/co-data-table.cjs.entry.js +1 -1
  23. package/dist/cjs/co-date-picker.cjs.entry.js +1 -1
  24. package/dist/cjs/co-date-range-picker.cjs.entry.js +2 -2
  25. package/dist/cjs/co-date-range.cjs.entry.js +1 -1
  26. package/dist/cjs/co-date-time-picker.cjs.entry.js +409 -0
  27. package/dist/cjs/co-drive-card.cjs.entry.js +1 -1
  28. package/dist/cjs/co-drop-zone.cjs.entry.js +1 -1
  29. package/dist/cjs/co-empty-state.cjs.entry.js +2 -2
  30. package/dist/cjs/co-event-calendar.cjs.entry.js +118 -17
  31. package/dist/cjs/co-event-popover.cjs.entry.js +132 -0
  32. package/dist/cjs/co-fab.cjs.entry.js +2 -2
  33. package/dist/cjs/co-file-field.cjs.entry.js +5 -5
  34. package/dist/cjs/co-file-type-tile.cjs.entry.js +2 -2
  35. package/dist/cjs/co-helper-text.cjs.entry.js +2 -2
  36. package/dist/cjs/co-icon-button.cjs.entry.js +1 -1
  37. package/dist/cjs/co-icon.cjs.entry.js +2 -2
  38. package/dist/cjs/co-json-field.cjs.entry.js +3 -3
  39. package/dist/cjs/co-lightbox.cjs.entry.js +5 -5
  40. package/dist/cjs/co-list-footer.cjs.entry.js +1 -1
  41. package/dist/cjs/co-list-item.cjs.entry.js +4 -4
  42. package/dist/cjs/co-media-thumb.cjs.entry.js +2 -2
  43. package/dist/cjs/co-menu-divider.cjs.entry.js +1 -1
  44. package/dist/cjs/co-menu-item.cjs.entry.js +2 -2
  45. package/dist/cjs/co-menu.cjs.entry.js +1 -1
  46. package/dist/cjs/co-modal.cjs.entry.js +2 -2
  47. package/dist/cjs/co-navbar.cjs.entry.js +2 -2
  48. package/dist/cjs/co-number-field.cjs.entry.js +2 -2
  49. package/dist/cjs/co-overlay.cjs.entry.js +1 -1
  50. package/dist/cjs/co-page-header.cjs.entry.js +1 -1
  51. package/dist/cjs/co-phone-field.cjs.entry.js +1 -1
  52. package/dist/cjs/co-popover.cjs.entry.js +1 -1
  53. package/dist/cjs/co-progress-bar.cjs.entry.js +2 -2
  54. package/dist/cjs/co-progress-circle.cjs.entry.js +2 -2
  55. package/dist/cjs/co-provider-logo_2.cjs.entry.js +72 -0
  56. package/dist/cjs/co-radio.cjs.entry.js +3 -3
  57. package/dist/cjs/co-rating.cjs.entry.js +3 -3
  58. package/dist/cjs/co-ref-field.cjs.entry.js +6 -2
  59. package/dist/cjs/co-rich-text-editor.cjs.entry.js +4 -4
  60. package/dist/cjs/co-rich-text-toolbar.cjs.entry.js +1 -1
  61. package/dist/cjs/co-row.cjs.entry.js +2 -2
  62. package/dist/cjs/co-select.cjs.entry.js +1 -1
  63. package/dist/cjs/co-separator.cjs.entry.js +1 -1
  64. package/dist/cjs/co-sidebar-nav.cjs.entry.js +12 -2
  65. package/dist/cjs/co-sidebar.cjs.entry.js +2 -2
  66. package/dist/cjs/co-slider.cjs.entry.js +2 -2
  67. package/dist/cjs/co-switch.cjs.entry.js +3 -3
  68. package/dist/cjs/co-tab-group.cjs.entry.js +19 -3
  69. package/dist/cjs/co-tab.cjs.entry.js +2 -2
  70. package/dist/cjs/co-tags-field.cjs.entry.js +5 -5
  71. package/dist/cjs/co-textarea.cjs.entry.js +4 -4
  72. package/dist/cjs/co-toggle-button-group.cjs.entry.js +2 -2
  73. package/dist/cjs/co-toggle-button.cjs.entry.js +2 -2
  74. package/dist/cjs/co-video.cjs.entry.js +2 -2
  75. package/dist/cjs/cobalt.cjs.js +1 -1
  76. package/dist/cjs/{dateI18n-BdiNAl0_.js → dateI18n-wblvKRq_.js} +21 -0
  77. package/dist/cjs/{dates-D8D-aS5d.js → dates-TQLHlFd2.js} +64 -13
  78. package/dist/cjs/index-kBiXCEE7.js +28 -12
  79. package/dist/cjs/loader.cjs.js +1 -1
  80. package/dist/cjs/{positioning-DwHW399W.js → positioning-DCj_AJ2T.js} +10 -0
  81. package/dist/cjs/time-LBHtzLHe.js +42 -0
  82. package/dist/cobalt/cobalt.esm.js +1 -1
  83. package/dist/cobalt/{p-616e4286.entry.js → p-00830b8c.entry.js} +1 -1
  84. package/dist/cobalt/{p-9994fcd8.entry.js → p-0769eee9.entry.js} +1 -1
  85. package/dist/cobalt/{p-9bf42bf4.entry.js → p-0f18c4d2.entry.js} +1 -1
  86. package/dist/cobalt/{p-cdedaa82.entry.js → p-0fc1edca.entry.js} +1 -1
  87. package/dist/cobalt/p-15852fec.entry.js +1 -0
  88. package/dist/cobalt/{p-eec1c44c.entry.js → p-195c67ee.entry.js} +1 -1
  89. package/dist/cobalt/{p-B6JZk8fL.js → p-1EK-COrb.js} +1 -1
  90. package/dist/cobalt/{p-2da09948.entry.js → p-1e9c9d46.entry.js} +1 -1
  91. package/dist/cobalt/{p-e1b468c1.entry.js → p-20bd3702.entry.js} +1 -1
  92. package/dist/cobalt/p-25f59046.entry.js +1 -0
  93. package/dist/cobalt/{p-b06af5c6.entry.js → p-260196cb.entry.js} +1 -1
  94. package/dist/cobalt/p-2bf44b2b.entry.js +1 -0
  95. package/dist/cobalt/{p-8155d781.entry.js → p-2c100914.entry.js} +1 -1
  96. package/dist/cobalt/p-2e1d930f.entry.js +1 -0
  97. package/dist/cobalt/{p-080f62e4.entry.js → p-35518aee.entry.js} +1 -1
  98. package/dist/cobalt/{p-28ab9cef.entry.js → p-38ae8bff.entry.js} +1 -1
  99. package/dist/cobalt/{p-f0a98453.entry.js → p-38cf47b6.entry.js} +1 -1
  100. package/dist/cobalt/p-39dea0c0.entry.js +1 -0
  101. package/dist/cobalt/{p-3c681e3a.entry.js → p-3a746267.entry.js} +1 -1
  102. package/dist/cobalt/p-3ae69426.entry.js +1 -0
  103. package/dist/cobalt/{p-9211e794.entry.js → p-3d4e697e.entry.js} +1 -1
  104. package/dist/cobalt/{p-264508ae.entry.js → p-445acc4c.entry.js} +1 -1
  105. package/dist/cobalt/p-4de9232a.entry.js +1 -0
  106. package/dist/cobalt/{p-7f78e45c.entry.js → p-50bbfad8.entry.js} +1 -1
  107. package/dist/cobalt/{p-54f8c68c.entry.js → p-51a1ad38.entry.js} +1 -1
  108. package/dist/cobalt/{p-75515a8e.entry.js → p-523aca9f.entry.js} +1 -1
  109. package/dist/cobalt/{p-2f6c7eb5.entry.js → p-52af222b.entry.js} +1 -1
  110. package/dist/cobalt/{p-0b7359bb.entry.js → p-59f7d44b.entry.js} +1 -1
  111. package/dist/cobalt/{p-4f615cbd.entry.js → p-5b984323.entry.js} +1 -1
  112. package/dist/cobalt/{p-8fe5b07e.entry.js → p-5bfaca70.entry.js} +1 -1
  113. package/dist/cobalt/p-5c1328ff.entry.js +1 -0
  114. package/dist/cobalt/p-5e21ca17.entry.js +1 -0
  115. package/dist/cobalt/p-61d5ca3c.entry.js +1 -0
  116. package/dist/cobalt/{p-64115d66.entry.js → p-6357d9dd.entry.js} +1 -1
  117. package/dist/cobalt/{p-0a294205.entry.js → p-6985a964.entry.js} +1 -1
  118. package/dist/cobalt/p-69b8d98e.entry.js +1 -0
  119. package/dist/cobalt/{p-532baca4.entry.js → p-6b089060.entry.js} +1 -1
  120. package/dist/cobalt/{p-ceb85838.entry.js → p-6b256d01.entry.js} +1 -1
  121. package/dist/cobalt/{p-c9528a5f.entry.js → p-7c6b3175.entry.js} +1 -1
  122. package/dist/cobalt/{p-431cec34.entry.js → p-7d077a7c.entry.js} +1 -1
  123. package/dist/cobalt/{p-cbac0a11.entry.js → p-7f4bf341.entry.js} +1 -1
  124. package/dist/cobalt/p-869c338a.entry.js +1 -0
  125. package/dist/cobalt/p-890296f9.entry.js +1 -0
  126. package/dist/cobalt/{p-7178113f.entry.js → p-8fe08257.entry.js} +1 -1
  127. package/dist/cobalt/p-913b2a14.entry.js +1 -0
  128. package/dist/cobalt/{p-5b84cf37.entry.js → p-959556f4.entry.js} +1 -1
  129. package/dist/cobalt/{p-331a0108.entry.js → p-99c1ff0f.entry.js} +1 -1
  130. package/dist/cobalt/p-BMdapAL8.js +1 -0
  131. package/dist/cobalt/p-BU7SQCje.js +1 -0
  132. package/dist/cobalt/p-CF8OB_TM.js +1 -0
  133. package/dist/cobalt/p-CnNpoKwg.js +1 -0
  134. package/dist/cobalt/{p-ba5c6aa7.entry.js → p-a04feb70.entry.js} +1 -1
  135. package/dist/cobalt/p-a4f39ba2.entry.js +1 -0
  136. package/dist/cobalt/{p-d3a1a604.entry.js → p-a7c23027.entry.js} +1 -1
  137. package/dist/cobalt/p-ab8e150e.entry.js +1 -0
  138. package/dist/cobalt/{p-69ce2269.entry.js → p-acdb68a7.entry.js} +1 -1
  139. package/dist/cobalt/{p-3b9be8a8.entry.js → p-afd957c0.entry.js} +1 -1
  140. package/dist/cobalt/{p-c3004e1c.entry.js → p-b45ea918.entry.js} +1 -1
  141. package/dist/cobalt/{p-eeed80ac.entry.js → p-bad7ce84.entry.js} +1 -1
  142. package/dist/cobalt/{p-bcd38114.entry.js → p-bebacee2.entry.js} +1 -1
  143. package/dist/cobalt/{p-ec9dd3a3.entry.js → p-c32949a5.entry.js} +1 -1
  144. package/dist/cobalt/p-cd5555d2.entry.js +1 -0
  145. package/dist/cobalt/p-cd96aabf.entry.js +1 -0
  146. package/dist/cobalt/{p-2661557c.entry.js → p-ce961fba.entry.js} +1 -1
  147. package/dist/cobalt/p-d56b8a1f.entry.js +1 -0
  148. package/dist/cobalt/{p-c7d9ff39.entry.js → p-d6fff135.entry.js} +1 -1
  149. package/dist/cobalt/{p-6b38e8fb.entry.js → p-d71b87d3.entry.js} +1 -1
  150. package/dist/cobalt/{p-ff581807.entry.js → p-d83e5189.entry.js} +1 -1
  151. package/dist/cobalt/{p-741cf623.entry.js → p-dc269096.entry.js} +1 -1
  152. package/dist/cobalt/{p-e4555fda.entry.js → p-dc8e88f4.entry.js} +1 -1
  153. package/dist/cobalt/p-de5a05fc.entry.js +1 -0
  154. package/dist/cobalt/{p-0110108f.entry.js → p-df63f23c.entry.js} +1 -1
  155. package/dist/cobalt/{p-9fab9c1f.entry.js → p-e2188319.entry.js} +1 -1
  156. package/dist/cobalt/p-f0c589ad.entry.js +1 -0
  157. package/dist/cobalt/p-f4370423.entry.js +1 -0
  158. package/dist/cobalt/{p-b87a2e7a.entry.js → p-f4e4bebf.entry.js} +1 -1
  159. package/dist/cobalt/p-f53b9536.entry.js +1 -0
  160. package/dist/cobalt/{p-bb00ae4a.entry.js → p-f7ae0228.entry.js} +1 -1
  161. package/dist/collection/collection-manifest.json +6 -0
  162. package/dist/collection/components/co-action-bar/co-action-bar.css +148 -0
  163. package/dist/collection/components/co-action-bar/co-action-bar.js +247 -0
  164. package/dist/collection/components/co-app-shell/co-app-shell.js +2 -2
  165. package/dist/collection/components/co-audio-player/co-audio-player.css +58 -0
  166. package/dist/collection/components/co-audio-player/co-audio-player.js +453 -0
  167. package/dist/collection/components/co-audio-player/co-audio-player.utils.js +44 -0
  168. package/dist/collection/components/co-badge/co-badge.js +1 -1
  169. package/dist/collection/components/co-bottom-sheet/co-bottom-sheet.js +3 -3
  170. package/dist/collection/components/co-breadcrumb/co-breadcrumb.js +1 -1
  171. package/dist/collection/components/co-breadcrumb-item/co-breadcrumb-item.js +2 -2
  172. package/dist/collection/components/co-button/co-button.css +19 -0
  173. package/dist/collection/components/co-button/co-button.js +31 -5
  174. package/dist/collection/components/co-button-group/co-button-group.js +2 -2
  175. package/dist/collection/components/co-calendar/co-calendar.js +1 -1
  176. package/dist/collection/components/co-calendar-month/co-calendar-month.css +52 -3
  177. package/dist/collection/components/co-calendar-month/co-calendar-month.js +238 -55
  178. package/dist/collection/components/co-calendar-timegrid/co-calendar-timegrid.css +265 -0
  179. package/dist/collection/components/co-calendar-timegrid/co-calendar-timegrid.js +1305 -0
  180. package/dist/collection/components/co-card/co-card.js +2 -2
  181. package/dist/collection/components/co-carousel/co-carousel.js +2 -2
  182. package/dist/collection/components/co-carousel-item/co-carousel-item.js +1 -1
  183. package/dist/collection/components/co-checkbox/co-checkbox.css +1 -1
  184. package/dist/collection/components/co-checkbox/co-checkbox.js +3 -3
  185. package/dist/collection/components/co-chip/co-chip.js +2 -2
  186. package/dist/collection/components/co-color-picker/co-color-picker.js +2 -2
  187. package/dist/collection/components/co-column-picker/co-column-picker.js +2 -2
  188. package/dist/collection/components/co-data-table/co-data-table.css +4 -4
  189. package/dist/collection/components/co-data-table-pagination/co-data-table-pagination.js +4 -4
  190. package/dist/collection/components/co-date-field/co-date-field.js +4 -4
  191. package/dist/collection/components/co-date-range/co-date-range.js +1 -1
  192. package/dist/collection/components/co-date-time-picker/co-date-time-picker.css +325 -0
  193. package/dist/collection/components/co-date-time-picker/co-date-time-picker.js +1079 -0
  194. package/dist/collection/components/co-drawer/co-drawer.css +46 -0
  195. package/dist/collection/components/co-drawer/co-drawer.js +1 -1
  196. package/dist/collection/components/co-drive-card/co-drive-card.js +1 -1
  197. package/dist/collection/components/co-drop-zone/co-drop-zone.js +1 -1
  198. package/dist/collection/components/co-empty-state/co-empty-state.js +2 -2
  199. package/dist/collection/components/co-event-calendar/co-event-calendar.css +19 -7
  200. package/dist/collection/components/co-event-calendar/co-event-calendar.js +342 -39
  201. package/dist/collection/components/co-event-popover/co-event-popover.css +26 -0
  202. package/dist/collection/components/co-event-popover/co-event-popover.js +326 -0
  203. package/dist/collection/components/co-fab/co-fab.js +2 -2
  204. package/dist/collection/components/co-file-field/co-file-field.js +5 -5
  205. package/dist/collection/components/co-file-type-tile/co-file-type-tile.js +2 -2
  206. package/dist/collection/components/co-helper-text/co-helper-text.js +2 -2
  207. package/dist/collection/components/co-icon/co-icon.js +2 -2
  208. package/dist/collection/components/co-icon-button/co-icon-button.js +1 -1
  209. package/dist/collection/components/co-json-field/co-json-field.js +3 -3
  210. package/dist/collection/components/co-lightbox/co-lightbox.js +4 -4
  211. package/dist/collection/components/co-list-footer/co-list-footer.js +1 -1
  212. package/dist/collection/components/co-list-item/co-list-item.js +4 -4
  213. package/dist/collection/components/co-media-thumb/co-media-thumb.js +2 -2
  214. package/dist/collection/components/co-menu/co-menu.js +1 -1
  215. package/dist/collection/components/co-menu-divider/co-menu-divider.js +1 -1
  216. package/dist/collection/components/co-menu-item/co-menu-item.css +21 -0
  217. package/dist/collection/components/co-menu-item/co-menu-item.js +20 -1
  218. package/dist/collection/components/co-modal/co-modal.js +2 -2
  219. package/dist/collection/components/co-navbar/co-navbar.js +2 -2
  220. package/dist/collection/components/co-number-field/co-number-field.js +2 -2
  221. package/dist/collection/components/co-option-list/co-option-list.css +18 -0
  222. package/dist/collection/components/co-option-list/co-option-list.js +127 -5
  223. package/dist/collection/components/co-option-list/optionListLogic.js +13 -0
  224. package/dist/collection/components/co-overlay/co-overlay.js +1 -1
  225. package/dist/collection/components/co-page-header/co-page-header.js +1 -1
  226. package/dist/collection/components/co-phone-field/co-phone-field.js +1 -1
  227. package/dist/collection/components/co-progress-bar/co-progress-bar.js +2 -2
  228. package/dist/collection/components/co-progress-circle/co-progress-circle.js +2 -2
  229. package/dist/collection/components/co-provider-logo/co-provider-logo.css +23 -0
  230. package/dist/collection/components/co-provider-logo/co-provider-logo.js +124 -0
  231. package/dist/collection/components/co-radio/co-radio.js +3 -3
  232. package/dist/collection/components/co-rating/co-rating.js +3 -3
  233. package/dist/collection/components/co-ref-field/co-ref-field.js +6 -2
  234. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.css +11 -0
  235. package/dist/collection/components/co-rich-text-editor/co-rich-text-editor.js +3 -3
  236. package/dist/collection/components/co-rich-text-toolbar/co-rich-text-toolbar.css +8 -0
  237. package/dist/collection/components/co-row/co-row.js +2 -2
  238. package/dist/collection/components/co-select/co-select.js +1 -1
  239. package/dist/collection/components/co-separator/co-separator.js +1 -1
  240. package/dist/collection/components/co-sidebar/co-sidebar.js +2 -2
  241. package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +12 -2
  242. package/dist/collection/components/co-skeleton/co-skeleton.js +1 -1
  243. package/dist/collection/components/co-slider/co-slider.js +2 -2
  244. package/dist/collection/components/co-switch/co-switch.js +3 -3
  245. package/dist/collection/components/co-tab/co-tab.js +2 -2
  246. package/dist/collection/components/co-tab-group/co-tab-group.css +25 -0
  247. package/dist/collection/components/co-tab-group/co-tab-group.js +18 -2
  248. package/dist/collection/components/co-tags-field/co-tags-field.js +5 -5
  249. package/dist/collection/components/co-textarea/co-textarea.js +4 -4
  250. package/dist/collection/components/co-toggle-button/co-toggle-button.js +2 -2
  251. package/dist/collection/components/co-toggle-button-group/co-toggle-button-group.js +2 -2
  252. package/dist/collection/components/co-tooltip/co-tooltip.js +2 -2
  253. package/dist/collection/components/co-video/co-video.js +2 -2
  254. package/dist/collection/utils/dateI18n.js +21 -0
  255. package/dist/collection/utils/eventColor.js +52 -0
  256. package/dist/collection/utils/positioning.js +10 -0
  257. package/dist/components/co-accordion.js +1 -1
  258. package/dist/components/co-action-bar.d.ts +11 -0
  259. package/dist/components/co-action-bar.js +1 -0
  260. package/dist/components/co-app-shell.js +1 -1
  261. package/dist/components/co-audio-player.d.ts +11 -0
  262. package/dist/components/co-audio-player.js +1 -0
  263. package/dist/components/co-autocomplete.js +1 -1
  264. package/dist/components/co-avatar-group.js +1 -1
  265. package/dist/components/co-avatar.js +1 -1
  266. package/dist/components/co-badge.js +1 -1
  267. package/dist/components/co-bottom-sheet.js +1 -1
  268. package/dist/components/co-breadcrumb-item.js +1 -1
  269. package/dist/components/co-breadcrumb.js +1 -1
  270. package/dist/components/co-button-group.js +1 -1
  271. package/dist/components/co-button.js +1 -1
  272. package/dist/components/co-calendar-month.js +1 -1
  273. package/dist/components/co-calendar-timegrid.d.ts +11 -0
  274. package/dist/components/co-calendar-timegrid.js +1 -0
  275. package/dist/components/co-calendar.js +1 -1
  276. package/dist/components/co-card.js +1 -1
  277. package/dist/components/co-carousel-item.js +1 -1
  278. package/dist/components/co-carousel.js +1 -1
  279. package/dist/components/co-checkbox-group.js +1 -1
  280. package/dist/components/co-checkbox.js +1 -1
  281. package/dist/components/co-chip.js +1 -1
  282. package/dist/components/co-color-picker.js +1 -1
  283. package/dist/components/co-column-picker.js +1 -1
  284. package/dist/components/co-combobox.js +1 -1
  285. package/dist/components/co-command-search.js +1 -1
  286. package/dist/components/co-data-table-pagination.js +1 -1
  287. package/dist/components/co-data-table.js +1 -1
  288. package/dist/components/co-date-field.js +1 -1
  289. package/dist/components/co-date-picker.js +1 -1
  290. package/dist/components/co-date-range-picker.js +1 -1
  291. package/dist/components/co-date-range.js +1 -1
  292. package/dist/components/co-date-time-picker.d.ts +11 -0
  293. package/dist/components/co-date-time-picker.js +1 -0
  294. package/dist/components/co-drawer.js +1 -1
  295. package/dist/components/co-drive-card.js +1 -1
  296. package/dist/components/co-drop-zone.js +1 -1
  297. package/dist/components/co-empty-state.js +1 -1
  298. package/dist/components/co-event-calendar.js +1 -1
  299. package/dist/components/co-event-popover.d.ts +11 -0
  300. package/dist/components/co-event-popover.js +1 -0
  301. package/dist/components/co-fab.js +1 -1
  302. package/dist/components/co-file-field.js +1 -1
  303. package/dist/components/co-file-type-tile.js +1 -1
  304. package/dist/components/co-helper-text.js +1 -1
  305. package/dist/components/co-icon-button.js +1 -1
  306. package/dist/components/co-icon.js +1 -1
  307. package/dist/components/co-input.js +1 -1
  308. package/dist/components/co-json-field.js +1 -1
  309. package/dist/components/co-lightbox.js +1 -1
  310. package/dist/components/co-list-footer.js +1 -1
  311. package/dist/components/co-list-item.js +1 -1
  312. package/dist/components/co-media-thumb.js +1 -1
  313. package/dist/components/co-menu-divider.js +1 -1
  314. package/dist/components/co-menu-item.js +1 -1
  315. package/dist/components/co-menu.js +1 -1
  316. package/dist/components/co-modal.js +1 -1
  317. package/dist/components/co-navbar.js +1 -1
  318. package/dist/components/co-number-field.js +1 -1
  319. package/dist/components/co-option-list.js +1 -1
  320. package/dist/components/co-overlay.js +1 -1
  321. package/dist/components/co-page-header.js +1 -1
  322. package/dist/components/co-phone-field.js +1 -1
  323. package/dist/components/co-popover.js +1 -1
  324. package/dist/components/co-progress-bar.js +1 -1
  325. package/dist/components/co-progress-circle.js +1 -1
  326. package/dist/components/co-provider-logo.d.ts +11 -0
  327. package/dist/components/co-provider-logo.js +1 -0
  328. package/dist/components/co-radio-group.js +1 -1
  329. package/dist/components/co-radio.js +1 -1
  330. package/dist/components/co-rating.js +1 -1
  331. package/dist/components/co-ref-field.js +1 -1
  332. package/dist/components/co-rich-text-editor.js +1 -1
  333. package/dist/components/co-rich-text-toolbar.js +1 -1
  334. package/dist/components/co-row.js +1 -1
  335. package/dist/components/co-select.js +1 -1
  336. package/dist/components/co-separator.js +1 -1
  337. package/dist/components/co-sidebar-nav.js +1 -1
  338. package/dist/components/co-sidebar.js +1 -1
  339. package/dist/components/co-skeleton.js +1 -1
  340. package/dist/components/co-slider.js +1 -1
  341. package/dist/components/co-switch.js +1 -1
  342. package/dist/components/co-tab-group.js +1 -1
  343. package/dist/components/co-tab.js +1 -1
  344. package/dist/components/co-tags-field.js +1 -1
  345. package/dist/components/co-textarea.js +1 -1
  346. package/dist/components/co-toast.js +1 -1
  347. package/dist/components/co-toggle-button-group.js +1 -1
  348. package/dist/components/co-toggle-button.js +1 -1
  349. package/dist/components/co-tooltip.js +1 -1
  350. package/dist/components/co-transfer-list.js +1 -1
  351. package/dist/components/co-video.js +1 -1
  352. package/dist/components/p-B21rOC2Y.js +1 -0
  353. package/dist/components/{p-Cd3inFSL.js → p-BC6sxVVr.js} +1 -1
  354. package/dist/components/p-BMdapAL8.js +1 -0
  355. package/dist/components/p-BQFperIX.js +1 -0
  356. package/dist/components/{p-CQ-8domm.js → p-BXtiFFM2.js} +1 -1
  357. package/dist/components/{p-CmCsm4L-.js → p-BdArvV6T.js} +1 -1
  358. package/dist/components/p-BnkGlFYy.js +1 -0
  359. package/dist/components/p-C-5cLeKr.js +1 -0
  360. package/dist/components/p-CDWXNRpo.js +1 -0
  361. package/dist/components/p-CF8OB_TM.js +1 -0
  362. package/dist/components/{p-oV_1MoAN.js → p-CIWoKlGj.js} +1 -1
  363. package/dist/components/{p-Bul6EdDX.js → p-CVCEiwOS.js} +1 -1
  364. package/dist/components/{p-B0b9Etx4.js → p-CfeNhAHW.js} +1 -1
  365. package/dist/components/p-Ch837Ggl.js +1 -0
  366. package/dist/components/p-ChLib-si.js +1 -0
  367. package/dist/components/{p-DfpOEXHC.js → p-ChPooamL.js} +1 -1
  368. package/dist/components/p-CnNpoKwg.js +1 -0
  369. package/dist/components/{p-B7Yv00g9.js → p-D-3BTFRs.js} +1 -1
  370. package/dist/components/p-D0wrmRH8.js +1 -0
  371. package/dist/components/p-DZX7cEqP.js +1 -0
  372. package/dist/components/{p-B3U63yZw.js → p-DbISGXT_.js} +1 -1
  373. package/dist/components/p-Dxa7c4Ap.js +1 -0
  374. package/dist/components/p-T0MdU7sb.js +1 -0
  375. package/dist/components/{p-DwwxS5bY.js → p-W8Y8ZuPs.js} +1 -1
  376. package/dist/components/{p-9aNhJfTT.js → p-cteJszd-.js} +1 -1
  377. package/dist/components/p-e5KibEs8.js +1 -0
  378. package/dist/components/{p-Bzg5FPSA.js → p-mUoTCiYa.js} +1 -1
  379. package/dist/components/p-uZ2D6ESV.js +1 -0
  380. package/dist/components/{p-BtpRnpaF.js → p-ySi6UG0O.js} +1 -1
  381. package/dist/esm/co-action-bar.entry.js +87 -0
  382. package/dist/esm/co-app-shell.entry.js +2 -2
  383. package/dist/esm/co-audio-player.entry.js +277 -0
  384. package/dist/esm/co-avatar_2.entry.js +3 -3
  385. package/dist/esm/co-badge.entry.js +1 -1
  386. package/dist/esm/co-bottom-sheet.entry.js +3 -3
  387. package/dist/esm/co-breadcrumb-item.entry.js +2 -2
  388. package/dist/esm/co-breadcrumb.entry.js +1 -1
  389. package/dist/esm/co-button-group.entry.js +2 -2
  390. package/dist/esm/co-button.entry.js +12 -5
  391. package/dist/esm/co-calendar-month_2.entry.js +1598 -0
  392. package/dist/esm/co-calendar_3.entry.js +9 -9
  393. package/dist/esm/co-card.entry.js +2 -2
  394. package/dist/esm/co-carousel-item.entry.js +1 -1
  395. package/dist/esm/co-carousel.entry.js +3 -3
  396. package/dist/esm/co-checkbox.entry.js +4 -4
  397. package/dist/esm/co-chip_2.entry.js +95 -6
  398. package/dist/esm/co-color-picker.entry.js +2 -2
  399. package/dist/esm/co-column-picker.entry.js +2 -2
  400. package/dist/esm/co-data-table-pagination.entry.js +4 -4
  401. package/dist/esm/co-data-table.entry.js +1 -1
  402. package/dist/esm/co-date-picker.entry.js +1 -1
  403. package/dist/esm/co-date-range-picker.entry.js +2 -2
  404. package/dist/esm/co-date-range.entry.js +1 -1
  405. package/dist/esm/co-date-time-picker.entry.js +407 -0
  406. package/dist/esm/co-drive-card.entry.js +1 -1
  407. package/dist/esm/co-drop-zone.entry.js +1 -1
  408. package/dist/esm/co-empty-state.entry.js +2 -2
  409. package/dist/esm/co-event-calendar.entry.js +120 -19
  410. package/dist/esm/co-event-popover.entry.js +130 -0
  411. package/dist/esm/co-fab.entry.js +2 -2
  412. package/dist/esm/co-file-field.entry.js +5 -5
  413. package/dist/esm/co-file-type-tile.entry.js +2 -2
  414. package/dist/esm/co-helper-text.entry.js +2 -2
  415. package/dist/esm/co-icon-button.entry.js +1 -1
  416. package/dist/esm/co-icon.entry.js +2 -2
  417. package/dist/esm/co-json-field.entry.js +3 -3
  418. package/dist/esm/co-lightbox.entry.js +5 -5
  419. package/dist/esm/co-list-footer.entry.js +1 -1
  420. package/dist/esm/co-list-item.entry.js +4 -4
  421. package/dist/esm/co-media-thumb.entry.js +2 -2
  422. package/dist/esm/co-menu-divider.entry.js +1 -1
  423. package/dist/esm/co-menu-item.entry.js +2 -2
  424. package/dist/esm/co-menu.entry.js +1 -1
  425. package/dist/esm/co-modal.entry.js +2 -2
  426. package/dist/esm/co-navbar.entry.js +2 -2
  427. package/dist/esm/co-number-field.entry.js +2 -2
  428. package/dist/esm/co-overlay.entry.js +1 -1
  429. package/dist/esm/co-page-header.entry.js +1 -1
  430. package/dist/esm/co-phone-field.entry.js +1 -1
  431. package/dist/esm/co-popover.entry.js +1 -1
  432. package/dist/esm/co-progress-bar.entry.js +2 -2
  433. package/dist/esm/co-progress-circle.entry.js +2 -2
  434. package/dist/esm/co-provider-logo_2.entry.js +69 -0
  435. package/dist/esm/co-radio.entry.js +3 -3
  436. package/dist/esm/co-rating.entry.js +3 -3
  437. package/dist/esm/co-ref-field.entry.js +6 -2
  438. package/dist/esm/co-rich-text-editor.entry.js +4 -4
  439. package/dist/esm/co-rich-text-toolbar.entry.js +1 -1
  440. package/dist/esm/co-row.entry.js +2 -2
  441. package/dist/esm/co-select.entry.js +1 -1
  442. package/dist/esm/co-separator.entry.js +1 -1
  443. package/dist/esm/co-sidebar-nav.entry.js +12 -2
  444. package/dist/esm/co-sidebar.entry.js +2 -2
  445. package/dist/esm/co-slider.entry.js +2 -2
  446. package/dist/esm/co-switch.entry.js +3 -3
  447. package/dist/esm/co-tab-group.entry.js +19 -3
  448. package/dist/esm/co-tab.entry.js +2 -2
  449. package/dist/esm/co-tags-field.entry.js +5 -5
  450. package/dist/esm/co-textarea.entry.js +4 -4
  451. package/dist/esm/co-toggle-button-group.entry.js +2 -2
  452. package/dist/esm/co-toggle-button.entry.js +2 -2
  453. package/dist/esm/co-video.entry.js +2 -2
  454. package/dist/esm/cobalt.js +1 -1
  455. package/dist/esm/{dateI18n-C1DCLOEl.js → dateI18n-CnNpoKwg.js} +21 -0
  456. package/dist/esm/{dates-tPYikBRJ.js → dates-BU7SQCje.js} +64 -13
  457. package/dist/esm/index-BCEz3S-z.js +28 -12
  458. package/dist/esm/loader.js +1 -1
  459. package/dist/esm/{positioning-C2mZ7x_Y.js → positioning-BMdapAL8.js} +10 -0
  460. package/dist/esm/time-CF8OB_TM.js +37 -0
  461. package/dist/esm/{tz-B6JZk8fL.js → tz-1EK-COrb.js} +1 -1
  462. package/dist/types/components/co-action-bar/co-action-bar.d.ts +66 -0
  463. package/dist/types/components/co-audio-player/co-audio-player.d.ts +62 -0
  464. package/dist/types/components/co-audio-player/co-audio-player.utils.d.ts +11 -0
  465. package/dist/types/components/co-button/co-button.d.ts +18 -1
  466. package/dist/types/components/co-calendar-month/co-calendar-month.d.ts +33 -1
  467. package/dist/types/components/co-calendar-timegrid/co-calendar-timegrid.d.ts +178 -0
  468. package/dist/types/components/co-date-time-picker/co-date-time-picker.d.ts +131 -0
  469. package/dist/types/components/co-event-calendar/co-event-calendar.d.ts +61 -8
  470. package/dist/types/components/co-event-popover/co-event-popover.d.ts +45 -0
  471. package/dist/types/components/co-menu-item/co-menu-item.d.ts +3 -0
  472. package/dist/types/components/co-option-list/co-option-list.d.ts +23 -0
  473. package/dist/types/components/co-option-list/optionListLogic.d.ts +3 -0
  474. package/dist/types/components/co-provider-logo/co-provider-logo.d.ts +17 -0
  475. package/dist/types/components/co-ref-field/co-ref-field.d.ts +1 -0
  476. package/dist/types/components/co-tab-group/co-tab-group.d.ts +5 -0
  477. package/dist/types/components.d.ts +1245 -76
  478. package/dist/types/utils/dateI18n.d.ts +7 -0
  479. package/dist/types/utils/eventColor.d.ts +20 -0
  480. package/package.json +2 -2
  481. package/dist/cjs/co-calendar-month.cjs.entry.js +0 -381
  482. package/dist/cjs/co-skeleton.cjs.entry.js +0 -26
  483. package/dist/cobalt/p-037cc571.entry.js +0 -1
  484. package/dist/cobalt/p-0b92167a.entry.js +0 -1
  485. package/dist/cobalt/p-0bc5a962.entry.js +0 -1
  486. package/dist/cobalt/p-30c80e3a.entry.js +0 -1
  487. package/dist/cobalt/p-36ad3a96.entry.js +0 -1
  488. package/dist/cobalt/p-3ecbbe93.entry.js +0 -1
  489. package/dist/cobalt/p-3f1030fb.entry.js +0 -1
  490. package/dist/cobalt/p-3f7215e7.entry.js +0 -1
  491. package/dist/cobalt/p-54857f78.entry.js +0 -1
  492. package/dist/cobalt/p-585c132d.entry.js +0 -1
  493. package/dist/cobalt/p-59b114ab.entry.js +0 -1
  494. package/dist/cobalt/p-5d0510a5.entry.js +0 -1
  495. package/dist/cobalt/p-5e246304.entry.js +0 -1
  496. package/dist/cobalt/p-C1DCLOEl.js +0 -1
  497. package/dist/cobalt/p-C2mZ7x_Y.js +0 -1
  498. package/dist/cobalt/p-c589ae25.entry.js +0 -1
  499. package/dist/cobalt/p-c635417b.entry.js +0 -1
  500. package/dist/cobalt/p-cd28aa6d.entry.js +0 -1
  501. package/dist/cobalt/p-d71b800a.entry.js +0 -1
  502. package/dist/cobalt/p-df752f6e.entry.js +0 -1
  503. package/dist/cobalt/p-fffeb610.entry.js +0 -1
  504. package/dist/cobalt/p-tPYikBRJ.js +0 -1
  505. package/dist/components/p-BTa6ss5i.js +0 -1
  506. package/dist/components/p-C1DCLOEl.js +0 -1
  507. package/dist/components/p-C2mZ7x_Y.js +0 -1
  508. package/dist/components/p-CVeEoHr7.js +0 -1
  509. package/dist/components/p-CYi6V_Ss.js +0 -1
  510. package/dist/components/p-CuQjKAf5.js +0 -1
  511. package/dist/components/p-CyYF8IJE.js +0 -1
  512. package/dist/components/p-DKvTqEaf.js +0 -1
  513. package/dist/components/p-T0UfY6rA.js +0 -1
  514. package/dist/esm/co-calendar-month.entry.js +0 -379
  515. package/dist/esm/co-skeleton.entry.js +0 -24
@@ -0,0 +1,178 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { type NormalizedEvent } from '@prolibu-suite/cobalt-calendar-utils';
3
+ /**
4
+ * co-calendar-timegrid — the Week/Day time-grid. The shell renders it with
5
+ * `dates` = 7 day-keys (week) or 1 (day). Presentation + interaction only; the
6
+ * host owns data (CONTROLLED). All instant math is delegated to the engine — the
7
+ * only timezone boundary is the `timeZone` prop (wall-clock render).
8
+ */
9
+ export declare class CoCalendarTimegrid {
10
+ el: HTMLElement;
11
+ events: NormalizedEvent[];
12
+ /** Visible day keys "YYYY-MM-DD" (7 = week, 1 = day). */
13
+ dates: string[];
14
+ locale: string;
15
+ timeZone: string;
16
+ editable: boolean;
17
+ selectable: boolean;
18
+ minDate?: string;
19
+ maxDate?: string;
20
+ slotMinutes: number;
21
+ snapMinutes: number;
22
+ defaultDurationMinutes: number;
23
+ scrollTime: string;
24
+ nowIndicator: boolean;
25
+ /** Cargando: en vez de los eventos pinta bloques skeleton en las columnas.
26
+ * La grilla (eje de horas, líneas, cabecera de días, franja de todo-el-día)
27
+ * se mantiene: lo único que todavía no se sabe son los eventos. */
28
+ loading: boolean;
29
+ allDaySlot: boolean;
30
+ minTime: string;
31
+ maxTime: string;
32
+ /** Minute of "now" for the indicator; refreshed on a 60s timer. */
33
+ nowMinutes: number;
34
+ nowDay: string;
35
+ /** Roving-tabindex focus position for keyboard navigation over slots. */
36
+ focusDate: string;
37
+ focusMin: number;
38
+ /** A time range was selected on an empty area (create request). */
39
+ coRangeSelect: EventEmitter<{
40
+ start: string;
41
+ end: string;
42
+ /** Viewport-anchored rect of the selected area, for the host to anchor a quick-create bubble. */
43
+ rect?: {
44
+ top: number;
45
+ left: number;
46
+ width: number;
47
+ height: number;
48
+ };
49
+ }>;
50
+ coEventClick: EventEmitter<{
51
+ id: string;
52
+ rect?: DOMRect;
53
+ }>;
54
+ coEventDrop: EventEmitter<{
55
+ id: string;
56
+ start: string;
57
+ end: string;
58
+ oldStart: string;
59
+ oldEnd: string;
60
+ allDay: boolean;
61
+ }>;
62
+ /** Doble activación de un chip (direct-edit request del host). */
63
+ coEventDblClick: EventEmitter<{
64
+ id: string;
65
+ rect?: DOMRect;
66
+ }>;
67
+ selDate: string | null;
68
+ selStartMin: number;
69
+ selEndMin: number;
70
+ private selecting;
71
+ /** Coords crudas del último pointermove: el getBoundingClientRect corre UNA vez
72
+ * por frame, dentro del rAF (antes corría a ~120Hz, en el move crudo). */
73
+ private pendingSel;
74
+ private selRaf;
75
+ private pendingDrag;
76
+ private dragRaf;
77
+ private onWindowPointerUp;
78
+ dragId: string | null;
79
+ private dragMode;
80
+ private dragGrabOffsetMin;
81
+ private dragDurationMin;
82
+ private dragDate;
83
+ private dragStartMin;
84
+ private dragEndMin;
85
+ private origStartMin;
86
+ private origEndMin;
87
+ private origDate;
88
+ private suppressNextClick;
89
+ private dragArmedId;
90
+ private dragStartPointer;
91
+ private onWindowPointerMove;
92
+ private onWindowPointerUpDrag;
93
+ private nowTimer?;
94
+ private rootEl?;
95
+ private scrollEl?;
96
+ /** Ghost imperativo del drag: se posiciona con style directo, nunca por vdom. */
97
+ private ghostEl?;
98
+ /** Rects de las columnas cacheados AL AGARRAR: con esto el frame de drag es
99
+ * aritmética pura (antes: ~9 getBoundingClientRect + 2 querySelector/frame,
100
+ * que además forzaban reflow síncrono al escribir estilos en el mismo rAF). */
101
+ private colRects;
102
+ private gridRect;
103
+ private onDragViewportChange;
104
+ /** Memo de layoutTimeGrid/layoutAllDay/byId por identidad de inputs. */
105
+ private layoutCache?;
106
+ componentWillLoad(): void;
107
+ componentDidLoad(): void;
108
+ disconnectedCallback(): void;
109
+ /** Limpia el resaltado persistente de selección (lo llama el host al cerrar
110
+ * su bubble/form de creación). */
111
+ clearSelection(): Promise<void>;
112
+ /** Un refetch (post-save) invalida la referencia visual de la selección. */
113
+ onEventsChange(): void;
114
+ private refreshNow;
115
+ private get minM();
116
+ private get maxM();
117
+ private scrollToInitial;
118
+ /** Visible day keys, with the same fallback the render uses. */
119
+ private visibleDates;
120
+ /** Slot size guarded: ahora alimenta un `calc()` (un 0/NaN dejaría la grilla
121
+ * sin altura, silenciosamente). */
122
+ private get slotM();
123
+ /** Number of slot rows in the visible window (drives the body height). */
124
+ private slotCount;
125
+ /** Hour marks inside the visible window — one axis label each (was 1 div per
126
+ * slot with a label only on the hour). */
127
+ private hourList;
128
+ /** Minutes-of-day at a clientY within a column element, snapped and clamped. */
129
+ private minutesFromPointer;
130
+ /** Same math as minutesFromPointer but over the cached grid rect (drag path):
131
+ * cero lecturas de layout por frame. */
132
+ private minutesFromCachedY;
133
+ private minutesAtFraction;
134
+ /** Snapshot de la geometría de columnas al empezar un drag. Se re-toma solo
135
+ * cuando el viewport cambia (scroll del body / resize), nunca por frame. */
136
+ private captureDragRects;
137
+ private bindDragViewportListeners;
138
+ /** Marca la interacción en el root (hover/hit-testing off en los chips). No es
139
+ * @State a propósito: no debe disparar un render por drag. */
140
+ private setInteracting;
141
+ /** Build an ISO instant (UTC) for a wall-clock minute-of-day on a given day. */
142
+ private toInstant;
143
+ private isDayInteractable;
144
+ private startSelection;
145
+ private extendSelection;
146
+ private finishSelection;
147
+ /** Viewport rect of the selected span, mirroring the `.tg__selection` ghost's
148
+ * fraction math over the column's own bounding box. Never throws: falls back to
149
+ * the whole-column rect, or undefined if the column isn't in the DOM. */
150
+ private selectionRect;
151
+ private eventById;
152
+ /** The day column under a clientX (week can drop across days) — resuelto por
153
+ * aritmética sobre los rects cacheados, sin tocar el DOM. */
154
+ private dateKeyAtX;
155
+ private startMove;
156
+ private startResize;
157
+ private beginDragInteraction;
158
+ /** Ghost del drag escrito DIRECTO al DOM: el vdom no participa (los campos del
159
+ * drag son privados a propósito — promoverlos a @State volvería a re-renderizar
160
+ * la grilla entera por frame). */
161
+ private paintGhost;
162
+ private hideGhost;
163
+ /** Igual que extendSelection: un solo apply por frame (ver comentario allí). */
164
+ private trackDrag;
165
+ private applyDrag;
166
+ private finishDrag;
167
+ /** Roving-tabindex keyboard nav: ↑/↓ by slot, ←/→ by day, Enter/Space to select. */
168
+ private handleKeyDown;
169
+ private shiftFocusDate;
170
+ private renderSelectionGhost;
171
+ private renderEventBox;
172
+ private renderAllDayBar;
173
+ /** Los 3 cómputos de layout del render, memoizados por IDENTIDAD de inputs
174
+ * (`events` llega memoizado del shell): un re-render por drag/now-tick/focus
175
+ * no vuelve a empaquetar la semana. */
176
+ private getLayouts;
177
+ render(): any;
178
+ }
@@ -0,0 +1,131 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import type { Placement } from '../../utils/positioning';
3
+ /**
4
+ * Date + TIME picker: one field, one popover. Composes `co-popover` (floating
5
+ * panel, outside-click) + `co-calendar` (day grid) + a scrollable list of times
6
+ * beside it — the Google Calendar layout.
7
+ *
8
+ * VALUE CONTRACT — the committed `value` is a UTC ISO instant
9
+ * ("2026-07-25T21:30:00.000Z"), never a wall-clock string. The wall clock the
10
+ * user sees and edits is rendered in `timeZone` (IANA; browser zone when
11
+ * omitted). All ISO↔wall-clock conversion goes through the calendar engine
12
+ * (`@prolibu-suite/cobalt-calendar-utils`), so DST comes from the platform tz
13
+ * database — the same boundary `co-calendar-timegrid` uses. A date-only value
14
+ * ("2026-07-25") is NOT an instant: it is read as that wall-clock day in
15
+ * `timeZone` at {@link DEFAULT_MINUTES} (09:00), never as UTC midnight (which
16
+ * would shift the day west of UTC).
17
+ *
18
+ * INTERACTION (Google):
19
+ * - Click the field → opens. Picking a DAY commits and keeps the panel open
20
+ * (you almost always want to set the hour next); picking a TIME commits and
21
+ * closes. So there is no draft/apply step and no confirm button.
22
+ * - ArrowDown on the field → moves focus into the calendar grid.
23
+ * - The time list is a listbox: Arrow/Home/End/PageUp/PageDown move the active
24
+ * option, Enter/Space selects it.
25
+ * - Escape → closes and returns focus to the field. Outside click → closes.
26
+ *
27
+ * Escape is owned here (co-popover `closeOnEscape=false`) so focus can return to
28
+ * the field; outside-click stays with co-popover.
29
+ *
30
+ * @part field - The bordered trigger row
31
+ * @part label - The field label
32
+ * @part display - The button that shows the formatted value
33
+ * @part clear - The clear button
34
+ * @part helper - The helper/error text row
35
+ */
36
+ export declare class CoDateTimePicker {
37
+ el: HTMLElement;
38
+ /** Committed value: UTC ISO instant ("2026-07-25T21:30:00.000Z") or null. */
39
+ value: string | null;
40
+ /** IANA zone the wall clock is rendered in. Defaults to the browser zone. */
41
+ timeZone?: string;
42
+ /** Minutes between consecutive options in the time list. */
43
+ stepMinutes: number;
44
+ /** 12-hour clock (Google style). `false` renders a 24h clock. */
45
+ hour12: boolean;
46
+ /** Earliest selectable day. Date-only "YYYY-MM-DD" or an instant. */
47
+ min?: string;
48
+ /** Latest selectable day. Date-only "YYYY-MM-DD" or an instant. */
49
+ max?: string;
50
+ disabledDates?: string[] | string;
51
+ disabledDaysOfWeek?: number[] | string;
52
+ locale: string;
53
+ /** Date part of the trigger text (tokens yyyy/yy/MMMM/MMM/MM/M/dd/d). */
54
+ displayFormat: string;
55
+ firstDayOfWeek: number;
56
+ label?: string;
57
+ placeholder?: string;
58
+ /** Field size, mirrors co-input/co-date-field: s 28 / sm 32 / md 40 / lg 48. */
59
+ size: 's' | 'sm' | 'md' | 'lg';
60
+ /** `flat` strips the trigger's border/background so it reads as content. */
61
+ variant: 'default' | 'flat';
62
+ name?: string;
63
+ disabled: boolean;
64
+ readonly: boolean;
65
+ required: boolean;
66
+ clearable: boolean;
67
+ invalid: boolean;
68
+ errorMessage?: string;
69
+ helperText?: string;
70
+ /** Label layout: vertical (label above) or horizontal (label beside). */
71
+ layout: 'vertical' | 'horizontal';
72
+ /** Popover placement relative to the field. */
73
+ placement: Placement;
74
+ /** Whether the panel is open. */
75
+ open: boolean;
76
+ /** Max viewport width (px) that renders the panel as a bottom sheet. */
77
+ mobileBreakpoint: number;
78
+ /** True when the viewport is at/under `mobileBreakpoint`. */
79
+ isMobile: boolean;
80
+ /** Minutes-of-day highlighted by the keyboard in the time list. */
81
+ activeMinutes: number;
82
+ /** Committed instant (UTC ISO) or null. */
83
+ coChange: EventEmitter<string | null>;
84
+ coClear: EventEmitter<void>;
85
+ coFocus: EventEmitter<void>;
86
+ coBlur: EventEmitter<void>;
87
+ coOpen: EventEmitter<void>;
88
+ coClose: EventEmitter<void>;
89
+ private popoverEl?;
90
+ private calendarEl?;
91
+ private triggerBtn?;
92
+ private listEl?;
93
+ private pendingFocusGrid;
94
+ private pendingFocusTrigger;
95
+ /** 'center' when the list is (re)opened, 'nearest' while arrowing through it. */
96
+ private pendingScroll;
97
+ private mql?;
98
+ private mqlHandler;
99
+ connectedCallback(): void;
100
+ disconnectedCallback(): void;
101
+ onOpenChange(next: boolean): void;
102
+ private get zone();
103
+ private get isInvalid();
104
+ /** Wall clock of the committed value in `zone`, or null when empty/invalid. */
105
+ private get parts();
106
+ /** Calendar bounds are date-only; accept an instant and reduce it to its day. */
107
+ private dayBound;
108
+ private setOpen;
109
+ /** Write day+minutes as a UTC instant and notify. */
110
+ private commit;
111
+ private onTriggerKeyDown;
112
+ private onClearClick;
113
+ private onCalendarSelect;
114
+ private pickTime;
115
+ private onListKeyDown;
116
+ private onPopoverOpen;
117
+ private onPopoverClose;
118
+ private onRootKeyDown;
119
+ private focusGridSoon;
120
+ private scrollActiveIntoView;
121
+ componentDidRender(): void;
122
+ private get step();
123
+ /** Grid of minutes-of-day, plus the committed hour when it falls off-grid
124
+ * (an imported 16:37 meeting must stay visible and selectable). */
125
+ private get options();
126
+ private renderTrigger;
127
+ private renderPanel;
128
+ private renderHelper;
129
+ private renderLabel;
130
+ render(): any;
131
+ }
@@ -4,8 +4,8 @@ import { type CoCalendarEvent, type NormalizedEvent } from '@prolibu-suite/cobal
4
4
  * co-event-calendar — the public entry point of the Cobalt Calendars family.
5
5
  *
6
6
  * Owns view state, the visible anchor date, event normalization and the toolbar,
7
- * and delegates rendering to the active view (Phase 1: month). All hard math
8
- * lives in `@prolibu-suite/cobalt-calendar-utils`. Events are CONTROLLED: the
7
+ * and delegates rendering to the active view (month/week/day; agenda pending).
8
+ * All hard math lives in `@prolibu-suite/cobalt-calendar-utils`. Events are CONTROLLED: the
9
9
  * calendar emits requests (`coEventDrop`, `coDateSelect`) and the host applies
10
10
  * them by updating the `events` prop — leaving it unchanged on failure is the
11
11
  * revert.
@@ -16,8 +16,16 @@ import { type CoCalendarEvent, type NormalizedEvent } from '@prolibu-suite/cobal
16
16
  * @part toolbar - The header toolbar
17
17
  * @part body - The active view container
18
18
  */
19
+ type StatusColorsProp = Record<string, {
20
+ backgroundColor?: string;
21
+ borderColor?: string;
22
+ }> | string;
19
23
  export declare class CoEventCalendar {
20
- /** Active view. Phase 1 ships `month`; week/day/agenda land in later phases. */
24
+ el: HTMLElement;
25
+ /** Limpia el resaltado persistente de selección de la vista activa (timegrid
26
+ * o month) — lo llama el host al cerrar su bubble/form de creación. */
27
+ clearRangeSelection(): Promise<void>;
28
+ /** Active view. `month`/`week`/`day` are implemented; `agenda` is pending. */
21
29
  view: 'month' | 'week' | 'day' | 'agenda';
22
30
  /** Anchor date "YYYY-MM-DD" controlling the visible period. Persisted by host. */
23
31
  date?: string;
@@ -42,23 +50,45 @@ export declare class CoEventCalendar {
42
50
  /** Views offered in the switcher. Defaults to the implemented set. */
43
51
  availableViews: string[] | string;
44
52
  /** Optional status→{backgroundColor,borderColor} map (object or JSON string). */
45
- statusColors?: Record<string, {
46
- backgroundColor?: string;
47
- borderColor?: string;
48
- }> | string;
53
+ statusColors?: StatusColorsProp;
49
54
  /** Default minutes for a timed event missing an end. */
50
55
  defaultDurationMinutes: number;
56
+ /** Show the all-day lane in week/day views. */
57
+ allDaySlot: boolean;
58
+ /** Visible-hours window for week/day (minutes-of-day bounds as "HH:mm"). */
59
+ minTime: string;
60
+ maxTime: string;
61
+ /** Slot/snap granularity (minutes) for week/day. */
62
+ slotMinutes: number;
63
+ snapMinutes: number;
64
+ /** Initial scroll position for week/day ("HH:mm"). */
65
+ scrollTime: string;
66
+ /** Show the current-time indicator in week/day. */
67
+ nowIndicator: boolean;
68
+ /** Cargando eventos: se propaga a la grilla (mes/timegrid), que reemplaza
69
+ * SUS chips por bloques skeleton y conserva toda su estructura — bordes,
70
+ * cabecera de días, eje de horas. El toolbar sigue operable y nada se
71
+ * desmonta, así no se pierde el scroll de semana/día. */
72
+ loading: boolean;
51
73
  /** Internal anchor (YYYY-MM-DD) — mirrors `date`, defaults to today. */
52
74
  anchor: string;
53
75
  /** An event chip was activated. */
54
76
  coEventClick: EventEmitter<{
55
77
  event: NormalizedEvent;
78
+ rect: DOMRect | null;
56
79
  }>;
57
80
  /** A date/range was selected (create request). */
58
81
  coDateSelect: EventEmitter<{
59
82
  start: string;
60
83
  end: string;
61
84
  allDay: boolean;
85
+ /** Viewport-anchored rect of the selected day/range, for the host to anchor a quick-create bubble. */
86
+ rect: DOMRect | {
87
+ top: number;
88
+ left: number;
89
+ width: number;
90
+ height: number;
91
+ } | null;
62
92
  }>;
63
93
  /** An event was dragged to a new time (move). `revert` is a host convenience. */
64
94
  coEventDrop: EventEmitter<{
@@ -70,6 +100,11 @@ export declare class CoEventCalendar {
70
100
  allDay: boolean;
71
101
  revert: () => void;
72
102
  }>;
103
+ /** An event chip was double-activated (direct-edit request). */
104
+ coEventDblClick: EventEmitter<{
105
+ event: NormalizedEvent;
106
+ rect: DOMRect | null;
107
+ }>;
73
108
  /** The visible period changed → host should refetch and persist the view pref. */
74
109
  coDatesSet: EventEmitter<{
75
110
  view: string;
@@ -90,9 +125,24 @@ export declare class CoEventCalendar {
90
125
  componentDidLoad(): void;
91
126
  onDateChange(value?: string): void;
92
127
  private get tz();
128
+ /**
129
+ * Memo for the `normalized` getter below. Re-normalizing on every access is
130
+ * wasted work (render reads it twice) AND, since `normalizeEvents` always
131
+ * returns a fresh array, breaks referential-equality memos downstream that
132
+ * depend on a stable `events` reference (layout/packing caching). Keyed by
133
+ * the raw prop identities that feed normalization — `events`/`statusColors`
134
+ * are compared by `===` (stable array/string/object reference from the
135
+ * host unless it actually changed), `defaultDurationMinutes` by value.
136
+ */
137
+ private _normCache?;
93
138
  private get normalized();
94
139
  private get viewsList();
95
- /** Visible [start, end) of the current month view, as date strings. */
140
+ /** Sunday=0 UTC day-of-week of a date-only key (tz-independent). */
141
+ private dowOf;
142
+ private weekStart;
143
+ /** Day keys the active view renders: 7 for week, 1 for day, [] for month. */
144
+ private get visibleDates();
145
+ /** Visible [start, end) of the active view, as date strings. */
96
146
  private visibleRange;
97
147
  private emitDatesSet;
98
148
  private setAnchor;
@@ -102,9 +152,12 @@ export declare class CoEventCalendar {
102
152
  private step;
103
153
  private switchView;
104
154
  private handleDaySelect;
155
+ private handleRangeSelect;
105
156
  private handleEventClick;
157
+ private handleEventDblClick;
106
158
  private handleEventDrop;
107
159
  private handleMoreClick;
108
160
  private title;
109
161
  render(): any;
110
162
  }
163
+ export {};
@@ -0,0 +1,45 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { type Placement } from '../../utils/positioning';
3
+ /**
4
+ * co-event-popover — anchored detail card (Google-Calendar-style) for a calendar
5
+ * event. Non-modal, dismissible. Anchors to a viewport `anchorRect` (the chip's
6
+ * getBoundingClientRect), promotes to the top-layer (the calendar shell has
7
+ * contain:layout ancestors that re-anchor position:fixed), and closes on Escape /
8
+ * outside-click. Content is slotted by the host (suite-v2 fills the meeting fields).
9
+ */
10
+ export declare class CoEventPopover {
11
+ el: HTMLElement;
12
+ open: boolean;
13
+ /** Anchor rect in viewport coords (chip.getBoundingClientRect()). */
14
+ anchorRect?: {
15
+ top: number;
16
+ left: number;
17
+ width: number;
18
+ height: number;
19
+ };
20
+ placement: Placement;
21
+ /** Accent color for the leading dot (event color). */
22
+ color?: string;
23
+ /** Render the leading color dot. Set false for dot-less content (quick-create). */
24
+ dot: boolean;
25
+ closeOnEscape: boolean;
26
+ closeOnClickOutside: boolean;
27
+ /** Accessible name for the panel (role="dialog" needs one). */
28
+ popoverLabel?: string;
29
+ coClose: EventEmitter<void>;
30
+ private panelEl?;
31
+ private prevFocus?;
32
+ componentDidLoad(): void;
33
+ onOpenChange(v: boolean): void;
34
+ onAnchorChange(): void;
35
+ disconnectedCallback(): void;
36
+ private promoteAndPosition;
37
+ private dismissPanel;
38
+ private teardownListeners;
39
+ private position;
40
+ private onScroll;
41
+ private onKeydown;
42
+ private onPointerDown;
43
+ private requestClose;
44
+ render(): any;
45
+ }
@@ -21,6 +21,9 @@ export declare class CoMenuItem {
21
21
  iconSize?: number;
22
22
  /** Text shown in the row. */
23
23
  label?: string;
24
+ /** Optional second line under the label (muted, smaller) — e.g. what an
25
+ * export method means. The row auto-grows (min-height, not height). */
26
+ caption?: string;
24
27
  /** Tighter row metrics (32px instead of 36px). */
25
28
  dense: boolean;
26
29
  /** Marks the row as selected — paints an at-rest gray-100 background. Used by
@@ -25,6 +25,8 @@ export declare class CoOptionList {
25
25
  selectedAffordance: 'check' | 'deselect';
26
26
  /** Botón remove por fila seleccionada en multiple (tags de combobox). */
27
27
  removableItems: boolean;
28
+ /** Habilita reorder por drag del bloque de seleccionados (selected-first). */
29
+ reorderable: boolean;
28
30
  searchable: boolean;
29
31
  searchPlaceholder: string;
30
32
  searchDebounce: number;
@@ -57,9 +59,22 @@ export declare class CoOptionList {
57
59
  coLoadMore: EventEmitter<void>;
58
60
  coClearSelection: EventEmitter<void>;
59
61
  coRemoveItem: EventEmitter<string>;
62
+ /** Emitido tras un drag-reorder: nuevo orden de ids seleccionados + ítem movido. */
63
+ coReorder: EventEmitter<{
64
+ value: string[];
65
+ item: OptionListItem;
66
+ }>;
60
67
  term: string;
61
68
  activeIndex: number;
62
69
  scrollTop: number;
70
+ /** Fila armada para drag (handle presionado). */
71
+ armedKey: string;
72
+ /** Fila que se está arrastrando. */
73
+ dragKey: string;
74
+ /** Fila hover como drop-target. */
75
+ overKey: string;
76
+ /** Dirección del drop sobre overKey (true = el ítem cae DESPUÉS del target). */
77
+ dropAfter: boolean;
63
78
  private searchInputEl?;
64
79
  private optionsEl?;
65
80
  private osInstance?;
@@ -73,6 +88,7 @@ export declare class CoOptionList {
73
88
  private get effectiveHighlightTerm();
74
89
  componentWillLoad(): void;
75
90
  componentDidRender(): void;
91
+ connectedCallback(): void;
76
92
  disconnectedCallback(): void;
77
93
  onItemsChange(): void;
78
94
  /** Re-toma el snapshot selected-first. El host la llama al abrir su panel. */
@@ -94,6 +110,13 @@ export declare class CoOptionList {
94
110
  private onRootKeyDown;
95
111
  private onSearchInput;
96
112
  private pick;
113
+ private handleRowDragStart;
114
+ private handleRowDragOver;
115
+ private handleRowDrop;
116
+ private handleRowDragEnd;
117
+ private handleRowDragLeave;
118
+ private disarmDrag;
119
+ private resetDragState;
97
120
  private maybeLoadMore;
98
121
  private onNativeScroll;
99
122
  private scrollActiveIntoView;
@@ -51,6 +51,9 @@ export declare function orderItems(items: OptionListItem[], snapshotIds: Set<str
51
51
  /** Aplana a filas de render insertando un header cuando `group` cambia
52
52
  * (groupItems de co-command-search). `index` cuenta solo items. */
53
53
  export declare function buildRows(items: OptionListItem[]): OptionListRow[];
54
+ /** Mueve `fromId` a la posición de `toId` en `order`. No muta el input;
55
+ * devuelve el mismo array (referencia) si es no-op. */
56
+ export declare function reorderIds(order: string[], fromId: string, toId: string): string[];
54
57
  /** Siguiente highlight: wrap, salta disabled. -1 = sin items navegables. */
55
58
  export declare function nextActiveIndex(current: number, delta: 1 | -1, items: OptionListItem[]): number;
56
59
  /** `total > 0` tiene precedencia (deriva remaining); si no, vale `hasMoreProp`. */
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Logo de marca de un proveedor externo (Google, Microsoft), a color y
3
+ * self-contained (SVG inline — nunca una URL remota).
4
+ *
5
+ * `plated` lo monta sobre un disco blanco: es lo que hace legible una marca a
6
+ * color cuando va encima de una superficie teñida (el badge de un evento de
7
+ * calendario externo, que hereda el color del calendario).
8
+ */
9
+ export declare class CoProviderLogo {
10
+ /** Proveedor: `google` | `microsoft`. Uno desconocido no pinta nada. */
11
+ provider: string;
12
+ /** Lado del logo en px (los viewBox son cuadrados). */
13
+ size: number;
14
+ /** Disco blanco de fondo para contraste sobre superficies de color. */
15
+ plated: boolean;
16
+ render(): any;
17
+ }
@@ -130,6 +130,7 @@ export declare class CoRefField {
130
130
  private handlePopoverClose;
131
131
  private handleTriggerClick;
132
132
  private handleOptionClick;
133
+ private handleReorder;
133
134
  private handleClear;
134
135
  private handleRemoveChip;
135
136
  private handleFooterPrimary;
@@ -16,5 +16,10 @@ export declare class CoTabGroup {
16
16
  with the default pill variant. */
17
17
  private onSlotChange;
18
18
  private syncTabs;
19
+ /** Wheel → horizontal scroll cuando el track desborda (los tabs clipean con
20
+ `overflow-x`, ver CSS): la rueda vertical del mouse scrollea el strip.
21
+ Solo consume el evento si realmente puede desplazarse en esa dirección —
22
+ en los extremos deja pasar el scroll a la página. */
23
+ private onWheel;
19
24
  render(): any;
20
25
  }