@coreui/vue-pro 5.0.0-rc.0 → 5.0.0-rc.2

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 (680) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/accordion/CAccordion.d.ts +1 -1
  3. package/dist/cjs/components/accordion/CAccordion.js +1 -0
  4. package/dist/cjs/components/accordion/CAccordion.js.map +1 -1
  5. package/dist/cjs/components/accordion/CAccordionBody.d.ts +1 -1
  6. package/dist/cjs/components/accordion/CAccordionButton.d.ts +1 -1
  7. package/dist/cjs/components/accordion/CAccordionHeader.d.ts +1 -1
  8. package/dist/cjs/components/accordion/CAccordionItem.d.ts +1 -1
  9. package/dist/cjs/components/alert/CAlert.d.ts +1 -1
  10. package/dist/cjs/components/alert/CAlertHeading.d.ts +4 -4
  11. package/dist/cjs/components/alert/CAlertHeading.js +2 -2
  12. package/dist/cjs/components/alert/CAlertHeading.js.map +1 -1
  13. package/dist/cjs/components/alert/CAlertLink.d.ts +1 -1
  14. package/dist/cjs/components/avatar/CAvatar.d.ts +1 -1
  15. package/dist/cjs/components/backdrop/CBackdrop.d.ts +1 -1
  16. package/dist/cjs/components/badge/CBadge.d.ts +4 -4
  17. package/dist/cjs/components/badge/CBadge.js +3 -3
  18. package/dist/cjs/components/badge/CBadge.js.map +1 -1
  19. package/dist/cjs/components/breadcrumb/CBreadcrumb.d.ts +1 -1
  20. package/dist/cjs/components/breadcrumb/CBreadcrumbItem.d.ts +1 -1
  21. package/dist/cjs/components/button/CButton.d.ts +22 -18
  22. package/dist/cjs/components/button/CButton.js +8 -8
  23. package/dist/cjs/components/button/CButton.js.map +1 -1
  24. package/dist/cjs/components/button-group/CButtonGroup.d.ts +1 -1
  25. package/dist/cjs/components/button-group/CButtonToolbar.d.ts +1 -1
  26. package/dist/cjs/components/calendar/CCalendar.d.ts +7 -7
  27. package/dist/cjs/components/calendar/CCalendar.js +30 -24
  28. package/dist/cjs/components/calendar/CCalendar.js.map +1 -1
  29. package/dist/cjs/components/calendar/utils.js.map +1 -1
  30. package/dist/cjs/components/callout/CCallout.d.ts +1 -1
  31. package/dist/cjs/components/card/CCard.d.ts +1 -1
  32. package/dist/cjs/components/card/CCardBody.d.ts +1 -1
  33. package/dist/cjs/components/card/CCardFooter.d.ts +1 -1
  34. package/dist/cjs/components/card/CCardGroup.d.ts +1 -1
  35. package/dist/cjs/components/card/CCardHeader.d.ts +4 -4
  36. package/dist/cjs/components/card/CCardHeader.js +2 -2
  37. package/dist/cjs/components/card/CCardHeader.js.map +1 -1
  38. package/dist/cjs/components/card/CCardImage.d.ts +4 -4
  39. package/dist/cjs/components/card/CCardImage.js +2 -2
  40. package/dist/cjs/components/card/CCardImage.js.map +1 -1
  41. package/dist/cjs/components/card/CCardImageOverlay.d.ts +1 -1
  42. package/dist/cjs/components/card/CCardLink.d.ts +1 -1
  43. package/dist/cjs/components/card/CCardSubtitle.d.ts +4 -4
  44. package/dist/cjs/components/card/CCardSubtitle.js +2 -2
  45. package/dist/cjs/components/card/CCardSubtitle.js.map +1 -1
  46. package/dist/cjs/components/card/CCardText.d.ts +4 -4
  47. package/dist/cjs/components/card/CCardText.js +2 -2
  48. package/dist/cjs/components/card/CCardText.js.map +1 -1
  49. package/dist/cjs/components/card/CCardTitle.d.ts +4 -4
  50. package/dist/cjs/components/card/CCardTitle.js +2 -2
  51. package/dist/cjs/components/card/CCardTitle.js.map +1 -1
  52. package/dist/cjs/components/carousel/CCarousel.d.ts +2 -2
  53. package/dist/cjs/components/carousel/CCarousel.js.map +1 -1
  54. package/dist/cjs/components/carousel/CCarouselCaption.d.ts +1 -1
  55. package/dist/cjs/components/carousel/CCarouselItem.d.ts +1 -1
  56. package/dist/cjs/components/carousel/CCarouselItem.js.map +1 -1
  57. package/dist/cjs/components/close-button/CCloseButton.d.ts +1 -1
  58. package/dist/cjs/components/close-button/CCloseButton.js.map +1 -1
  59. package/dist/cjs/components/collapse/CCollapse.d.ts +1 -1
  60. package/dist/cjs/components/collapse/CCollapse.js.map +1 -1
  61. package/dist/cjs/components/conditional-teleport/CConditionalTeleport.d.ts +3 -3
  62. package/dist/cjs/components/conditional-teleport/CConditionalTeleport.js +1 -1
  63. package/dist/cjs/components/conditional-teleport/CConditionalTeleport.js.map +1 -1
  64. package/dist/cjs/components/date-picker/CDatePicker.d.ts +15 -15
  65. package/dist/cjs/components/date-picker/CDatePicker.js +6 -6
  66. package/dist/cjs/components/date-picker/CDatePicker.js.map +1 -1
  67. package/dist/cjs/components/date-range-picker/CDateRangePicker.d.ts +15 -15
  68. package/dist/cjs/components/date-range-picker/CDateRangePicker.js +12 -8
  69. package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
  70. package/dist/cjs/components/date-range-picker/utils.js.map +1 -1
  71. package/dist/cjs/components/dropdown/CDropdown.d.ts +5 -5
  72. package/dist/cjs/components/dropdown/CDropdown.js +2 -2
  73. package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
  74. package/dist/cjs/components/dropdown/CDropdownDivider.d.ts +1 -1
  75. package/dist/cjs/components/dropdown/CDropdownHeader.d.ts +4 -4
  76. package/dist/cjs/components/dropdown/CDropdownHeader.js +2 -2
  77. package/dist/cjs/components/dropdown/CDropdownHeader.js.map +1 -1
  78. package/dist/cjs/components/dropdown/CDropdownItem.d.ts +4 -4
  79. package/dist/cjs/components/dropdown/CDropdownItem.js +2 -2
  80. package/dist/cjs/components/dropdown/CDropdownItem.js.map +1 -1
  81. package/dist/cjs/components/dropdown/CDropdownMenu.d.ts +4 -4
  82. package/dist/cjs/components/dropdown/CDropdownMenu.js +3 -3
  83. package/dist/cjs/components/dropdown/CDropdownMenu.js.map +1 -1
  84. package/dist/cjs/components/dropdown/CDropdownToggle.d.ts +18 -18
  85. package/dist/cjs/components/dropdown/CDropdownToggle.js +9 -9
  86. package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
  87. package/dist/cjs/components/dropdown/utils.js.map +1 -1
  88. package/dist/cjs/components/element-cover/CElementCover.d.ts +1 -1
  89. package/dist/cjs/components/element-cover/CElementCover.js.map +1 -1
  90. package/dist/cjs/components/footer/CFooter.d.ts +1 -1
  91. package/dist/cjs/components/form/CForm.d.ts +1 -1
  92. package/dist/cjs/components/form/CFormCheck.d.ts +1 -1
  93. package/dist/cjs/components/form/CFormCheck.js +2 -2
  94. package/dist/cjs/components/form/CFormCheck.js.map +1 -1
  95. package/dist/cjs/components/form/CFormControlValidation.d.ts +1 -1
  96. package/dist/cjs/components/form/CFormControlWrapper.d.ts +1 -1
  97. package/dist/cjs/components/form/CFormFeedback.d.ts +4 -4
  98. package/dist/cjs/components/form/CFormFeedback.js +2 -2
  99. package/dist/cjs/components/form/CFormFeedback.js.map +1 -1
  100. package/dist/cjs/components/form/CFormFloating.d.ts +1 -1
  101. package/dist/cjs/components/form/CFormInput.d.ts +2 -2
  102. package/dist/cjs/components/form/CFormLabel.d.ts +1 -1
  103. package/dist/cjs/components/form/CFormRange.d.ts +1 -1
  104. package/dist/cjs/components/form/CFormSelect.d.ts +1 -1
  105. package/dist/cjs/components/form/CFormSwitch.d.ts +1 -1
  106. package/dist/cjs/components/form/CFormSwitch.js +1 -0
  107. package/dist/cjs/components/form/CFormSwitch.js.map +1 -1
  108. package/dist/cjs/components/form/CFormText.d.ts +4 -4
  109. package/dist/cjs/components/form/CFormText.js +2 -2
  110. package/dist/cjs/components/form/CFormText.js.map +1 -1
  111. package/dist/cjs/components/form/CFormTextarea.d.ts +2 -2
  112. package/dist/cjs/components/form/CFormTextarea.js +1 -0
  113. package/dist/cjs/components/form/CFormTextarea.js.map +1 -1
  114. package/dist/cjs/components/form/CInputGroup.d.ts +1 -1
  115. package/dist/cjs/components/form/CInputGroupText.d.ts +4 -4
  116. package/dist/cjs/components/form/CInputGroupText.js +2 -2
  117. package/dist/cjs/components/form/CInputGroupText.js.map +1 -1
  118. package/dist/cjs/components/form/index.js +0 -1
  119. package/dist/cjs/components/form/index.js.map +1 -1
  120. package/dist/cjs/components/grid/CCol.d.ts +1 -1
  121. package/dist/cjs/components/grid/CCol.js.map +1 -1
  122. package/dist/cjs/components/grid/CContainer.d.ts +1 -1
  123. package/dist/cjs/components/grid/CRow.d.ts +1 -1
  124. package/dist/cjs/components/grid/CRow.js.map +1 -1
  125. package/dist/cjs/components/header/CHeader.d.ts +1 -1
  126. package/dist/cjs/components/header/CHeaderBrand.d.ts +4 -4
  127. package/dist/cjs/components/header/CHeaderBrand.js +2 -2
  128. package/dist/cjs/components/header/CHeaderBrand.js.map +1 -1
  129. package/dist/cjs/components/header/CHeaderDivider.d.ts +1 -1
  130. package/dist/cjs/components/header/CHeaderNav.d.ts +4 -4
  131. package/dist/cjs/components/header/CHeaderNav.js +2 -2
  132. package/dist/cjs/components/header/CHeaderNav.js.map +1 -1
  133. package/dist/cjs/components/header/CHeaderText.d.ts +1 -1
  134. package/dist/cjs/components/header/CHeaderToggler.d.ts +1 -1
  135. package/dist/cjs/components/image/CImage.d.ts +1 -1
  136. package/dist/cjs/components/link/CLink.d.ts +4 -4
  137. package/dist/cjs/components/link/CLink.js +4 -4
  138. package/dist/cjs/components/link/CLink.js.map +1 -1
  139. package/dist/cjs/components/list-group/CListGroup.d.ts +4 -4
  140. package/dist/cjs/components/list-group/CListGroup.js +2 -2
  141. package/dist/cjs/components/list-group/CListGroup.js.map +1 -1
  142. package/dist/cjs/components/list-group/CListGroupItem.d.ts +16 -16
  143. package/dist/cjs/components/list-group/CListGroupItem.js +10 -10
  144. package/dist/cjs/components/list-group/CListGroupItem.js.map +1 -1
  145. package/dist/cjs/components/loading-button/CLoadingButton.d.ts +1 -1
  146. package/dist/cjs/components/loading-button/CLoadingButton.js.map +1 -1
  147. package/dist/cjs/components/modal/CModal.d.ts +5 -5
  148. package/dist/cjs/components/modal/CModal.js +1 -1
  149. package/dist/cjs/components/modal/CModal.js.map +1 -1
  150. package/dist/cjs/components/modal/CModalBody.d.ts +1 -1
  151. package/dist/cjs/components/modal/CModalFooter.d.ts +1 -1
  152. package/dist/cjs/components/modal/CModalHeader.d.ts +1 -1
  153. package/dist/cjs/components/modal/CModalTitle.d.ts +4 -4
  154. package/dist/cjs/components/modal/CModalTitle.js +2 -2
  155. package/dist/cjs/components/modal/CModalTitle.js.map +1 -1
  156. package/dist/cjs/components/multi-select/CMultiSelect.d.ts +3 -3
  157. package/dist/cjs/components/multi-select/CMultiSelect.js.map +1 -1
  158. package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.d.ts +1 -1
  159. package/dist/cjs/components/multi-select/CMultiSelectOptions.d.ts +1 -1
  160. package/dist/cjs/components/multi-select/CMultiSelectOptions.js.map +1 -1
  161. package/dist/cjs/components/multi-select/CMultiSelectSelection.d.ts +1 -1
  162. package/dist/cjs/components/multi-select/CMultiSelectSelection.js.map +1 -1
  163. package/dist/cjs/components/multi-select/utils.js.map +1 -1
  164. package/dist/cjs/components/nav/CNav.d.ts +4 -4
  165. package/dist/cjs/components/nav/CNav.js +2 -2
  166. package/dist/cjs/components/nav/CNav.js.map +1 -1
  167. package/dist/cjs/components/nav/CNavGroup.d.ts +16 -1
  168. package/dist/cjs/components/nav/CNavGroup.js +9 -2
  169. package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
  170. package/dist/cjs/components/nav/CNavGroupItems.d.ts +1 -1
  171. package/dist/cjs/components/nav/CNavItem.d.ts +1 -1
  172. package/dist/cjs/components/nav/CNavItem.js +9 -2
  173. package/dist/cjs/components/nav/CNavItem.js.map +1 -1
  174. package/dist/cjs/components/nav/CNavLink.d.ts +4 -4
  175. package/dist/cjs/components/nav/CNavLink.js +2 -2
  176. package/dist/cjs/components/nav/CNavLink.js.map +1 -1
  177. package/dist/cjs/components/nav/CNavTitle.d.ts +20 -2
  178. package/dist/cjs/components/nav/CNavTitle.js +11 -2
  179. package/dist/cjs/components/nav/CNavTitle.js.map +1 -1
  180. package/dist/cjs/components/navbar/CNavbar.d.ts +16 -16
  181. package/dist/cjs/components/navbar/CNavbar.js +8 -8
  182. package/dist/cjs/components/navbar/CNavbar.js.map +1 -1
  183. package/dist/cjs/components/navbar/CNavbarBrand.d.ts +4 -4
  184. package/dist/cjs/components/navbar/CNavbarBrand.js +2 -2
  185. package/dist/cjs/components/navbar/CNavbarBrand.js.map +1 -1
  186. package/dist/cjs/components/navbar/CNavbarNav.d.ts +4 -4
  187. package/dist/cjs/components/navbar/CNavbarNav.js +2 -2
  188. package/dist/cjs/components/navbar/CNavbarNav.js.map +1 -1
  189. package/dist/cjs/components/navbar/CNavbarText.d.ts +1 -1
  190. package/dist/cjs/components/navbar/CNavbarToggler.d.ts +1 -1
  191. package/dist/cjs/components/offcanvas/COffcanvas.d.ts +1 -1
  192. package/dist/cjs/components/offcanvas/COffcanvas.js +4 -1
  193. package/dist/cjs/components/offcanvas/COffcanvas.js.map +1 -1
  194. package/dist/cjs/components/offcanvas/COffcanvasBody.d.ts +1 -1
  195. package/dist/cjs/components/offcanvas/COffcanvasHeader.d.ts +1 -1
  196. package/dist/cjs/components/offcanvas/COffcanvasTitle.d.ts +4 -4
  197. package/dist/cjs/components/offcanvas/COffcanvasTitle.js +2 -2
  198. package/dist/cjs/components/offcanvas/COffcanvasTitle.js.map +1 -1
  199. package/dist/cjs/components/pagination/CPagination.d.ts +1 -1
  200. package/dist/cjs/components/pagination/CPaginationItem.d.ts +3 -3
  201. package/dist/cjs/components/pagination/CPaginationItem.js +2 -2
  202. package/dist/cjs/components/pagination/CPaginationItem.js.map +1 -1
  203. package/dist/cjs/components/picker/CPicker.d.ts +2 -2
  204. package/dist/cjs/components/picker/CPicker.js.map +1 -1
  205. package/dist/cjs/components/placeholder/CPlaceholder.d.ts +16 -16
  206. package/dist/cjs/components/placeholder/CPlaceholder.js +8 -8
  207. package/dist/cjs/components/placeholder/CPlaceholder.js.map +1 -1
  208. package/dist/cjs/components/popover/CPopover.d.ts +3 -3
  209. package/dist/cjs/components/popover/CPopover.js +8 -1
  210. package/dist/cjs/components/popover/CPopover.js.map +1 -1
  211. package/dist/cjs/components/progress/CProgress.d.ts +3 -3
  212. package/dist/cjs/components/progress/CProgress.js +1 -1
  213. package/dist/cjs/components/progress/CProgress.js.map +1 -1
  214. package/dist/cjs/components/progress/CProgressBar.d.ts +1 -1
  215. package/dist/cjs/components/progress/CProgressStacked.d.ts +2 -2
  216. package/dist/cjs/components/sidebar/CSidebar.d.ts +1 -1
  217. package/dist/cjs/components/sidebar/CSidebar.js.map +1 -1
  218. package/dist/cjs/components/sidebar/CSidebarBrand.d.ts +30 -2
  219. package/dist/cjs/components/sidebar/CSidebarBrand.js +16 -2
  220. package/dist/cjs/components/sidebar/CSidebarBrand.js.map +1 -1
  221. package/dist/cjs/components/sidebar/CSidebarFooter.d.ts +1 -1
  222. package/dist/cjs/components/sidebar/CSidebarHeader.d.ts +1 -1
  223. package/dist/cjs/components/sidebar/CSidebarNav.d.ts +21 -2
  224. package/dist/cjs/components/sidebar/CSidebarNav.js +24 -13
  225. package/dist/cjs/components/sidebar/CSidebarNav.js.map +1 -1
  226. package/dist/cjs/components/sidebar/CSidebarToggler.d.ts +1 -1
  227. package/dist/cjs/components/smart-pagination/CSmartPagination.d.ts +1 -1
  228. package/dist/cjs/components/smart-pagination/CSmartPagination.js.map +1 -1
  229. package/dist/cjs/components/smart-table/CSmartTable.d.ts +1 -1
  230. package/dist/cjs/components/smart-table/CSmartTable.js +3 -3
  231. package/dist/cjs/components/smart-table/CSmartTable.js.map +1 -1
  232. package/dist/cjs/components/smart-table/CSmartTableBody.d.ts +1 -1
  233. package/dist/cjs/components/smart-table/CSmartTableCleaner.d.ts +1 -1
  234. package/dist/cjs/components/smart-table/CSmartTableFilter.d.ts +1 -1
  235. package/dist/cjs/components/smart-table/CSmartTableHead.d.ts +10 -10
  236. package/dist/cjs/components/smart-table/CSmartTableHead.js +6 -6
  237. package/dist/cjs/components/smart-table/CSmartTableHead.js.map +1 -1
  238. package/dist/cjs/components/smart-table/CSmartTableItemsPerPageSelector.d.ts +1 -1
  239. package/dist/cjs/components/smart-table/utils.js.map +1 -1
  240. package/dist/cjs/components/spinner/CSpinner.d.ts +16 -16
  241. package/dist/cjs/components/spinner/CSpinner.js +8 -8
  242. package/dist/cjs/components/spinner/CSpinner.js.map +1 -1
  243. package/dist/cjs/components/table/CTable.d.ts +1 -1
  244. package/dist/cjs/components/table/CTable.js.map +1 -1
  245. package/dist/cjs/components/table/CTableBody.d.ts +1 -1
  246. package/dist/cjs/components/table/CTableCaption.d.ts +1 -1
  247. package/dist/cjs/components/table/CTableDataCell.d.ts +1 -1
  248. package/dist/cjs/components/table/CTableFoot.d.ts +1 -1
  249. package/dist/cjs/components/table/CTableHead.d.ts +1 -1
  250. package/dist/cjs/components/table/CTableHeaderCell.d.ts +1 -1
  251. package/dist/cjs/components/table/CTableRow.d.ts +1 -1
  252. package/dist/cjs/components/tabs/CTabContent.d.ts +1 -1
  253. package/dist/cjs/components/tabs/CTabPane.d.ts +1 -1
  254. package/dist/cjs/components/time-picker/CTimePicker.d.ts +2 -2
  255. package/dist/cjs/components/time-picker/CTimePicker.js +53 -21
  256. package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
  257. package/dist/cjs/components/time-picker/CTimePickerRollCol.d.ts +1 -1
  258. package/dist/cjs/components/time-picker/CTimePickerRollCol.js.map +1 -1
  259. package/dist/cjs/components/time-picker/utils.d.ts +67 -10
  260. package/dist/cjs/components/time-picker/utils.js +107 -22
  261. package/dist/cjs/components/time-picker/utils.js.map +1 -1
  262. package/dist/cjs/components/toast/CToast.d.ts +2 -2
  263. package/dist/cjs/components/toast/CToast.js.map +1 -1
  264. package/dist/cjs/components/toast/CToastBody.d.ts +1 -1
  265. package/dist/cjs/components/toast/CToastClose.d.ts +1 -1
  266. package/dist/cjs/components/toast/CToastClose.js +3 -3
  267. package/dist/cjs/components/toast/CToastClose.js.map +1 -1
  268. package/dist/cjs/components/toast/CToastHeader.d.ts +1 -1
  269. package/dist/cjs/components/toast/CToaster.d.ts +1 -1
  270. package/dist/cjs/components/tooltip/CTooltip.d.ts +3 -3
  271. package/dist/cjs/components/tooltip/CTooltip.js +8 -1
  272. package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
  273. package/dist/cjs/components/virtual-scroller/CVirtualScroller.d.ts +1 -1
  274. package/dist/cjs/components/virtual-scroller/CVirtualScroller.js +1 -1
  275. package/dist/cjs/components/virtual-scroller/CVirtualScroller.js.map +1 -1
  276. package/dist/cjs/components/widgets/CWidgetStatsA.d.ts +1 -1
  277. package/dist/cjs/components/widgets/CWidgetStatsB.d.ts +1 -1
  278. package/dist/cjs/components/widgets/CWidgetStatsC.d.ts +1 -1
  279. package/dist/cjs/components/widgets/CWidgetStatsD.d.ts +1 -1
  280. package/dist/cjs/components/widgets/CWidgetStatsE.d.ts +1 -1
  281. package/dist/cjs/components/widgets/CWidgetStatsF.d.ts +1 -1
  282. package/dist/cjs/composables/useColorModes.js.map +1 -1
  283. package/dist/cjs/composables/usePopper.js.map +1 -1
  284. package/dist/cjs/directives/v-c-placeholder.js.map +1 -1
  285. package/dist/cjs/directives/v-c-popover.js +15 -15
  286. package/dist/cjs/directives/v-c-popover.js.map +1 -1
  287. package/dist/cjs/directives/v-c-tooltip.js +15 -15
  288. package/dist/cjs/directives/v-c-tooltip.js.map +1 -1
  289. package/dist/cjs/directives/v-c-visible.js.map +1 -1
  290. package/dist/cjs/index.js.map +1 -1
  291. package/dist/cjs/utils/getRTLPlacement.js.map +1 -1
  292. package/dist/cjs/utils/getUID.js.map +1 -1
  293. package/dist/cjs/utils/isObjectInArray.js.map +1 -1
  294. package/dist/cjs/utils/isRTL.js.map +1 -1
  295. package/dist/cjs/utils/transition.js.map +1 -1
  296. package/dist/esm/components/accordion/CAccordion.d.ts +1 -1
  297. package/dist/esm/components/accordion/CAccordion.js +2 -1
  298. package/dist/esm/components/accordion/CAccordion.js.map +1 -1
  299. package/dist/esm/components/accordion/CAccordionBody.d.ts +1 -1
  300. package/dist/esm/components/accordion/CAccordionButton.d.ts +1 -1
  301. package/dist/esm/components/accordion/CAccordionHeader.d.ts +1 -1
  302. package/dist/esm/components/accordion/CAccordionItem.d.ts +1 -1
  303. package/dist/esm/components/alert/CAlert.d.ts +1 -1
  304. package/dist/esm/components/alert/CAlertHeading.d.ts +4 -4
  305. package/dist/esm/components/alert/CAlertHeading.js +2 -2
  306. package/dist/esm/components/alert/CAlertHeading.js.map +1 -1
  307. package/dist/esm/components/alert/CAlertLink.d.ts +1 -1
  308. package/dist/esm/components/avatar/CAvatar.d.ts +1 -1
  309. package/dist/esm/components/backdrop/CBackdrop.d.ts +1 -1
  310. package/dist/esm/components/badge/CBadge.d.ts +4 -4
  311. package/dist/esm/components/badge/CBadge.js +3 -3
  312. package/dist/esm/components/badge/CBadge.js.map +1 -1
  313. package/dist/esm/components/breadcrumb/CBreadcrumb.d.ts +1 -1
  314. package/dist/esm/components/breadcrumb/CBreadcrumbItem.d.ts +1 -1
  315. package/dist/esm/components/button/CButton.d.ts +22 -18
  316. package/dist/esm/components/button/CButton.js +8 -8
  317. package/dist/esm/components/button/CButton.js.map +1 -1
  318. package/dist/esm/components/button-group/CButtonGroup.d.ts +1 -1
  319. package/dist/esm/components/button-group/CButtonToolbar.d.ts +1 -1
  320. package/dist/esm/components/calendar/CCalendar.d.ts +7 -7
  321. package/dist/esm/components/calendar/CCalendar.js +30 -24
  322. package/dist/esm/components/calendar/CCalendar.js.map +1 -1
  323. package/dist/esm/components/calendar/utils.js.map +1 -1
  324. package/dist/esm/components/callout/CCallout.d.ts +1 -1
  325. package/dist/esm/components/card/CCard.d.ts +1 -1
  326. package/dist/esm/components/card/CCardBody.d.ts +1 -1
  327. package/dist/esm/components/card/CCardFooter.d.ts +1 -1
  328. package/dist/esm/components/card/CCardGroup.d.ts +1 -1
  329. package/dist/esm/components/card/CCardHeader.d.ts +4 -4
  330. package/dist/esm/components/card/CCardHeader.js +2 -2
  331. package/dist/esm/components/card/CCardHeader.js.map +1 -1
  332. package/dist/esm/components/card/CCardImage.d.ts +4 -4
  333. package/dist/esm/components/card/CCardImage.js +2 -2
  334. package/dist/esm/components/card/CCardImage.js.map +1 -1
  335. package/dist/esm/components/card/CCardImageOverlay.d.ts +1 -1
  336. package/dist/esm/components/card/CCardLink.d.ts +1 -1
  337. package/dist/esm/components/card/CCardSubtitle.d.ts +4 -4
  338. package/dist/esm/components/card/CCardSubtitle.js +2 -2
  339. package/dist/esm/components/card/CCardSubtitle.js.map +1 -1
  340. package/dist/esm/components/card/CCardText.d.ts +4 -4
  341. package/dist/esm/components/card/CCardText.js +2 -2
  342. package/dist/esm/components/card/CCardText.js.map +1 -1
  343. package/dist/esm/components/card/CCardTitle.d.ts +4 -4
  344. package/dist/esm/components/card/CCardTitle.js +2 -2
  345. package/dist/esm/components/card/CCardTitle.js.map +1 -1
  346. package/dist/esm/components/carousel/CCarousel.d.ts +2 -2
  347. package/dist/esm/components/carousel/CCarousel.js.map +1 -1
  348. package/dist/esm/components/carousel/CCarouselCaption.d.ts +1 -1
  349. package/dist/esm/components/carousel/CCarouselItem.d.ts +1 -1
  350. package/dist/esm/components/carousel/CCarouselItem.js.map +1 -1
  351. package/dist/esm/components/close-button/CCloseButton.d.ts +1 -1
  352. package/dist/esm/components/close-button/CCloseButton.js.map +1 -1
  353. package/dist/esm/components/collapse/CCollapse.d.ts +1 -1
  354. package/dist/esm/components/collapse/CCollapse.js.map +1 -1
  355. package/dist/esm/components/conditional-teleport/CConditionalTeleport.d.ts +3 -3
  356. package/dist/esm/components/conditional-teleport/CConditionalTeleport.js +1 -1
  357. package/dist/esm/components/conditional-teleport/CConditionalTeleport.js.map +1 -1
  358. package/dist/esm/components/date-picker/CDatePicker.d.ts +15 -15
  359. package/dist/esm/components/date-picker/CDatePicker.js +6 -6
  360. package/dist/esm/components/date-picker/CDatePicker.js.map +1 -1
  361. package/dist/esm/components/date-range-picker/CDateRangePicker.d.ts +15 -15
  362. package/dist/esm/components/date-range-picker/CDateRangePicker.js +12 -8
  363. package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
  364. package/dist/esm/components/date-range-picker/utils.js.map +1 -1
  365. package/dist/esm/components/dropdown/CDropdown.d.ts +5 -5
  366. package/dist/esm/components/dropdown/CDropdown.js +2 -2
  367. package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
  368. package/dist/esm/components/dropdown/CDropdownDivider.d.ts +1 -1
  369. package/dist/esm/components/dropdown/CDropdownHeader.d.ts +4 -4
  370. package/dist/esm/components/dropdown/CDropdownHeader.js +2 -2
  371. package/dist/esm/components/dropdown/CDropdownHeader.js.map +1 -1
  372. package/dist/esm/components/dropdown/CDropdownItem.d.ts +4 -4
  373. package/dist/esm/components/dropdown/CDropdownItem.js +2 -2
  374. package/dist/esm/components/dropdown/CDropdownItem.js.map +1 -1
  375. package/dist/esm/components/dropdown/CDropdownMenu.d.ts +4 -4
  376. package/dist/esm/components/dropdown/CDropdownMenu.js +3 -3
  377. package/dist/esm/components/dropdown/CDropdownMenu.js.map +1 -1
  378. package/dist/esm/components/dropdown/CDropdownToggle.d.ts +18 -18
  379. package/dist/esm/components/dropdown/CDropdownToggle.js +9 -9
  380. package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
  381. package/dist/esm/components/dropdown/utils.js.map +1 -1
  382. package/dist/esm/components/element-cover/CElementCover.d.ts +1 -1
  383. package/dist/esm/components/element-cover/CElementCover.js.map +1 -1
  384. package/dist/esm/components/footer/CFooter.d.ts +1 -1
  385. package/dist/esm/components/form/CForm.d.ts +1 -1
  386. package/dist/esm/components/form/CFormCheck.d.ts +1 -1
  387. package/dist/esm/components/form/CFormCheck.js +2 -2
  388. package/dist/esm/components/form/CFormCheck.js.map +1 -1
  389. package/dist/esm/components/form/CFormControlValidation.d.ts +1 -1
  390. package/dist/esm/components/form/CFormControlWrapper.d.ts +1 -1
  391. package/dist/esm/components/form/CFormFeedback.d.ts +4 -4
  392. package/dist/esm/components/form/CFormFeedback.js +2 -2
  393. package/dist/esm/components/form/CFormFeedback.js.map +1 -1
  394. package/dist/esm/components/form/CFormFloating.d.ts +1 -1
  395. package/dist/esm/components/form/CFormInput.d.ts +2 -2
  396. package/dist/esm/components/form/CFormLabel.d.ts +1 -1
  397. package/dist/esm/components/form/CFormRange.d.ts +1 -1
  398. package/dist/esm/components/form/CFormSelect.d.ts +1 -1
  399. package/dist/esm/components/form/CFormSwitch.d.ts +1 -1
  400. package/dist/esm/components/form/CFormSwitch.js +1 -0
  401. package/dist/esm/components/form/CFormSwitch.js.map +1 -1
  402. package/dist/esm/components/form/CFormText.d.ts +4 -4
  403. package/dist/esm/components/form/CFormText.js +2 -2
  404. package/dist/esm/components/form/CFormText.js.map +1 -1
  405. package/dist/esm/components/form/CFormTextarea.d.ts +2 -2
  406. package/dist/esm/components/form/CFormTextarea.js +1 -0
  407. package/dist/esm/components/form/CFormTextarea.js.map +1 -1
  408. package/dist/esm/components/form/CInputGroup.d.ts +1 -1
  409. package/dist/esm/components/form/CInputGroupText.d.ts +4 -4
  410. package/dist/esm/components/form/CInputGroupText.js +2 -2
  411. package/dist/esm/components/form/CInputGroupText.js.map +1 -1
  412. package/dist/esm/components/form/index.js +0 -1
  413. package/dist/esm/components/form/index.js.map +1 -1
  414. package/dist/esm/components/grid/CCol.d.ts +1 -1
  415. package/dist/esm/components/grid/CCol.js.map +1 -1
  416. package/dist/esm/components/grid/CContainer.d.ts +1 -1
  417. package/dist/esm/components/grid/CRow.d.ts +1 -1
  418. package/dist/esm/components/grid/CRow.js.map +1 -1
  419. package/dist/esm/components/header/CHeader.d.ts +1 -1
  420. package/dist/esm/components/header/CHeaderBrand.d.ts +4 -4
  421. package/dist/esm/components/header/CHeaderBrand.js +2 -2
  422. package/dist/esm/components/header/CHeaderBrand.js.map +1 -1
  423. package/dist/esm/components/header/CHeaderDivider.d.ts +1 -1
  424. package/dist/esm/components/header/CHeaderNav.d.ts +4 -4
  425. package/dist/esm/components/header/CHeaderNav.js +2 -2
  426. package/dist/esm/components/header/CHeaderNav.js.map +1 -1
  427. package/dist/esm/components/header/CHeaderText.d.ts +1 -1
  428. package/dist/esm/components/header/CHeaderToggler.d.ts +1 -1
  429. package/dist/esm/components/image/CImage.d.ts +1 -1
  430. package/dist/esm/components/link/CLink.d.ts +4 -4
  431. package/dist/esm/components/link/CLink.js +4 -4
  432. package/dist/esm/components/link/CLink.js.map +1 -1
  433. package/dist/esm/components/list-group/CListGroup.d.ts +4 -4
  434. package/dist/esm/components/list-group/CListGroup.js +2 -2
  435. package/dist/esm/components/list-group/CListGroup.js.map +1 -1
  436. package/dist/esm/components/list-group/CListGroupItem.d.ts +16 -16
  437. package/dist/esm/components/list-group/CListGroupItem.js +10 -10
  438. package/dist/esm/components/list-group/CListGroupItem.js.map +1 -1
  439. package/dist/esm/components/loading-button/CLoadingButton.d.ts +1 -1
  440. package/dist/esm/components/loading-button/CLoadingButton.js.map +1 -1
  441. package/dist/esm/components/modal/CModal.d.ts +5 -5
  442. package/dist/esm/components/modal/CModal.js +1 -1
  443. package/dist/esm/components/modal/CModal.js.map +1 -1
  444. package/dist/esm/components/modal/CModalBody.d.ts +1 -1
  445. package/dist/esm/components/modal/CModalFooter.d.ts +1 -1
  446. package/dist/esm/components/modal/CModalHeader.d.ts +1 -1
  447. package/dist/esm/components/modal/CModalTitle.d.ts +4 -4
  448. package/dist/esm/components/modal/CModalTitle.js +2 -2
  449. package/dist/esm/components/modal/CModalTitle.js.map +1 -1
  450. package/dist/esm/components/multi-select/CMultiSelect.d.ts +3 -3
  451. package/dist/esm/components/multi-select/CMultiSelect.js.map +1 -1
  452. package/dist/esm/components/multi-select/CMultiSelectNativeSelect.d.ts +1 -1
  453. package/dist/esm/components/multi-select/CMultiSelectOptions.d.ts +1 -1
  454. package/dist/esm/components/multi-select/CMultiSelectOptions.js.map +1 -1
  455. package/dist/esm/components/multi-select/CMultiSelectSelection.d.ts +1 -1
  456. package/dist/esm/components/multi-select/CMultiSelectSelection.js.map +1 -1
  457. package/dist/esm/components/multi-select/utils.js.map +1 -1
  458. package/dist/esm/components/nav/CNav.d.ts +4 -4
  459. package/dist/esm/components/nav/CNav.js +2 -2
  460. package/dist/esm/components/nav/CNav.js.map +1 -1
  461. package/dist/esm/components/nav/CNavGroup.d.ts +16 -1
  462. package/dist/esm/components/nav/CNavGroup.js +9 -2
  463. package/dist/esm/components/nav/CNavGroup.js.map +1 -1
  464. package/dist/esm/components/nav/CNavGroupItems.d.ts +1 -1
  465. package/dist/esm/components/nav/CNavItem.d.ts +1 -1
  466. package/dist/esm/components/nav/CNavItem.js +9 -2
  467. package/dist/esm/components/nav/CNavItem.js.map +1 -1
  468. package/dist/esm/components/nav/CNavLink.d.ts +4 -4
  469. package/dist/esm/components/nav/CNavLink.js +2 -2
  470. package/dist/esm/components/nav/CNavLink.js.map +1 -1
  471. package/dist/esm/components/nav/CNavTitle.d.ts +20 -2
  472. package/dist/esm/components/nav/CNavTitle.js +11 -2
  473. package/dist/esm/components/nav/CNavTitle.js.map +1 -1
  474. package/dist/esm/components/navbar/CNavbar.d.ts +16 -16
  475. package/dist/esm/components/navbar/CNavbar.js +8 -8
  476. package/dist/esm/components/navbar/CNavbar.js.map +1 -1
  477. package/dist/esm/components/navbar/CNavbarBrand.d.ts +4 -4
  478. package/dist/esm/components/navbar/CNavbarBrand.js +2 -2
  479. package/dist/esm/components/navbar/CNavbarBrand.js.map +1 -1
  480. package/dist/esm/components/navbar/CNavbarNav.d.ts +4 -4
  481. package/dist/esm/components/navbar/CNavbarNav.js +2 -2
  482. package/dist/esm/components/navbar/CNavbarNav.js.map +1 -1
  483. package/dist/esm/components/navbar/CNavbarText.d.ts +1 -1
  484. package/dist/esm/components/navbar/CNavbarToggler.d.ts +1 -1
  485. package/dist/esm/components/offcanvas/COffcanvas.d.ts +1 -1
  486. package/dist/esm/components/offcanvas/COffcanvas.js +4 -1
  487. package/dist/esm/components/offcanvas/COffcanvas.js.map +1 -1
  488. package/dist/esm/components/offcanvas/COffcanvasBody.d.ts +1 -1
  489. package/dist/esm/components/offcanvas/COffcanvasHeader.d.ts +1 -1
  490. package/dist/esm/components/offcanvas/COffcanvasTitle.d.ts +4 -4
  491. package/dist/esm/components/offcanvas/COffcanvasTitle.js +2 -2
  492. package/dist/esm/components/offcanvas/COffcanvasTitle.js.map +1 -1
  493. package/dist/esm/components/pagination/CPagination.d.ts +1 -1
  494. package/dist/esm/components/pagination/CPaginationItem.d.ts +3 -3
  495. package/dist/esm/components/pagination/CPaginationItem.js +2 -2
  496. package/dist/esm/components/pagination/CPaginationItem.js.map +1 -1
  497. package/dist/esm/components/picker/CPicker.d.ts +2 -2
  498. package/dist/esm/components/picker/CPicker.js.map +1 -1
  499. package/dist/esm/components/placeholder/CPlaceholder.d.ts +16 -16
  500. package/dist/esm/components/placeholder/CPlaceholder.js +8 -8
  501. package/dist/esm/components/placeholder/CPlaceholder.js.map +1 -1
  502. package/dist/esm/components/popover/CPopover.d.ts +3 -3
  503. package/dist/esm/components/popover/CPopover.js +9 -2
  504. package/dist/esm/components/popover/CPopover.js.map +1 -1
  505. package/dist/esm/components/progress/CProgress.d.ts +3 -3
  506. package/dist/esm/components/progress/CProgress.js +1 -1
  507. package/dist/esm/components/progress/CProgress.js.map +1 -1
  508. package/dist/esm/components/progress/CProgressBar.d.ts +1 -1
  509. package/dist/esm/components/progress/CProgressStacked.d.ts +2 -2
  510. package/dist/esm/components/sidebar/CSidebar.d.ts +1 -1
  511. package/dist/esm/components/sidebar/CSidebar.js.map +1 -1
  512. package/dist/esm/components/sidebar/CSidebarBrand.d.ts +30 -2
  513. package/dist/esm/components/sidebar/CSidebarBrand.js +16 -2
  514. package/dist/esm/components/sidebar/CSidebarBrand.js.map +1 -1
  515. package/dist/esm/components/sidebar/CSidebarFooter.d.ts +1 -1
  516. package/dist/esm/components/sidebar/CSidebarHeader.d.ts +1 -1
  517. package/dist/esm/components/sidebar/CSidebarNav.d.ts +21 -2
  518. package/dist/esm/components/sidebar/CSidebarNav.js +24 -13
  519. package/dist/esm/components/sidebar/CSidebarNav.js.map +1 -1
  520. package/dist/esm/components/sidebar/CSidebarToggler.d.ts +1 -1
  521. package/dist/esm/components/smart-pagination/CSmartPagination.d.ts +1 -1
  522. package/dist/esm/components/smart-pagination/CSmartPagination.js.map +1 -1
  523. package/dist/esm/components/smart-table/CSmartTable.d.ts +1 -1
  524. package/dist/esm/components/smart-table/CSmartTable.js +3 -3
  525. package/dist/esm/components/smart-table/CSmartTable.js.map +1 -1
  526. package/dist/esm/components/smart-table/CSmartTableBody.d.ts +1 -1
  527. package/dist/esm/components/smart-table/CSmartTableCleaner.d.ts +1 -1
  528. package/dist/esm/components/smart-table/CSmartTableFilter.d.ts +1 -1
  529. package/dist/esm/components/smart-table/CSmartTableHead.d.ts +10 -10
  530. package/dist/esm/components/smart-table/CSmartTableHead.js +6 -6
  531. package/dist/esm/components/smart-table/CSmartTableHead.js.map +1 -1
  532. package/dist/esm/components/smart-table/CSmartTableItemsPerPageSelector.d.ts +1 -1
  533. package/dist/esm/components/smart-table/utils.js.map +1 -1
  534. package/dist/esm/components/spinner/CSpinner.d.ts +16 -16
  535. package/dist/esm/components/spinner/CSpinner.js +8 -8
  536. package/dist/esm/components/spinner/CSpinner.js.map +1 -1
  537. package/dist/esm/components/table/CTable.d.ts +1 -1
  538. package/dist/esm/components/table/CTable.js.map +1 -1
  539. package/dist/esm/components/table/CTableBody.d.ts +1 -1
  540. package/dist/esm/components/table/CTableCaption.d.ts +1 -1
  541. package/dist/esm/components/table/CTableDataCell.d.ts +1 -1
  542. package/dist/esm/components/table/CTableFoot.d.ts +1 -1
  543. package/dist/esm/components/table/CTableHead.d.ts +1 -1
  544. package/dist/esm/components/table/CTableHeaderCell.d.ts +1 -1
  545. package/dist/esm/components/table/CTableRow.d.ts +1 -1
  546. package/dist/esm/components/tabs/CTabContent.d.ts +1 -1
  547. package/dist/esm/components/tabs/CTabPane.d.ts +1 -1
  548. package/dist/esm/components/time-picker/CTimePicker.d.ts +2 -2
  549. package/dist/esm/components/time-picker/CTimePicker.js +53 -21
  550. package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
  551. package/dist/esm/components/time-picker/CTimePickerRollCol.d.ts +1 -1
  552. package/dist/esm/components/time-picker/CTimePickerRollCol.js.map +1 -1
  553. package/dist/esm/components/time-picker/utils.d.ts +67 -10
  554. package/dist/esm/components/time-picker/utils.js +107 -23
  555. package/dist/esm/components/time-picker/utils.js.map +1 -1
  556. package/dist/esm/components/toast/CToast.d.ts +2 -2
  557. package/dist/esm/components/toast/CToast.js.map +1 -1
  558. package/dist/esm/components/toast/CToastBody.d.ts +1 -1
  559. package/dist/esm/components/toast/CToastClose.d.ts +1 -1
  560. package/dist/esm/components/toast/CToastClose.js +3 -3
  561. package/dist/esm/components/toast/CToastClose.js.map +1 -1
  562. package/dist/esm/components/toast/CToastHeader.d.ts +1 -1
  563. package/dist/esm/components/toast/CToaster.d.ts +1 -1
  564. package/dist/esm/components/tooltip/CTooltip.d.ts +3 -3
  565. package/dist/esm/components/tooltip/CTooltip.js +9 -2
  566. package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
  567. package/dist/esm/components/virtual-scroller/CVirtualScroller.d.ts +1 -1
  568. package/dist/esm/components/virtual-scroller/CVirtualScroller.js +1 -1
  569. package/dist/esm/components/virtual-scroller/CVirtualScroller.js.map +1 -1
  570. package/dist/esm/components/widgets/CWidgetStatsA.d.ts +1 -1
  571. package/dist/esm/components/widgets/CWidgetStatsB.d.ts +1 -1
  572. package/dist/esm/components/widgets/CWidgetStatsC.d.ts +1 -1
  573. package/dist/esm/components/widgets/CWidgetStatsD.d.ts +1 -1
  574. package/dist/esm/components/widgets/CWidgetStatsE.d.ts +1 -1
  575. package/dist/esm/components/widgets/CWidgetStatsF.d.ts +1 -1
  576. package/dist/esm/composables/useColorModes.js.map +1 -1
  577. package/dist/esm/composables/usePopper.js.map +1 -1
  578. package/dist/esm/directives/v-c-placeholder.js.map +1 -1
  579. package/dist/esm/directives/v-c-popover.js +15 -15
  580. package/dist/esm/directives/v-c-popover.js.map +1 -1
  581. package/dist/esm/directives/v-c-tooltip.js +15 -15
  582. package/dist/esm/directives/v-c-tooltip.js.map +1 -1
  583. package/dist/esm/directives/v-c-visible.js.map +1 -1
  584. package/dist/esm/index.js.map +1 -1
  585. package/dist/esm/utils/getRTLPlacement.js.map +1 -1
  586. package/dist/esm/utils/getUID.js.map +1 -1
  587. package/dist/esm/utils/isObjectInArray.js.map +1 -1
  588. package/dist/esm/utils/isRTL.js.map +1 -1
  589. package/dist/esm/utils/transition.js.map +1 -1
  590. package/package.json +7 -7
  591. package/src/components/accordion/CAccordion.ts +7 -1
  592. package/src/components/alert/CAlertHeading.ts +2 -2
  593. package/src/components/alert/__tests__/CAlertHeading.spec.ts +1 -1
  594. package/src/components/badge/CBadge.ts +3 -3
  595. package/src/components/button/CButton.ts +8 -8
  596. package/src/components/button/__tests__/CButton.spec.ts +2 -2
  597. package/src/components/calendar/CCalendar.ts +52 -39
  598. package/src/components/card/CCardHeader.ts +2 -2
  599. package/src/components/card/CCardImage.ts +2 -2
  600. package/src/components/card/CCardSubtitle.ts +2 -2
  601. package/src/components/card/CCardText.ts +2 -2
  602. package/src/components/card/CCardTitle.ts +2 -2
  603. package/src/components/card/__tests__/CCardHeader.spec.ts +1 -1
  604. package/src/components/card/__tests__/CCardImage.spec.ts +1 -1
  605. package/src/components/card/__tests__/CCardSubtitle.spec.ts +1 -1
  606. package/src/components/card/__tests__/CCardText.spec.ts +1 -1
  607. package/src/components/card/__tests__/CCardTitle.spec.ts +1 -1
  608. package/src/components/conditional-teleport/CConditionalTeleport.ts +1 -1
  609. package/src/components/date-picker/CDatePicker.ts +6 -6
  610. package/src/components/date-range-picker/CDateRangePicker.ts +14 -8
  611. package/src/components/dropdown/CDropdown.ts +2 -2
  612. package/src/components/dropdown/CDropdownHeader.ts +2 -2
  613. package/src/components/dropdown/CDropdownItem.ts +2 -2
  614. package/src/components/dropdown/CDropdownMenu.ts +3 -3
  615. package/src/components/dropdown/CDropdownToggle.ts +36 -36
  616. package/src/components/dropdown/__tests__/CDropdownHeader.spec.ts +1 -1
  617. package/src/components/dropdown/__tests__/CDropdownItem.spec.ts +1 -1
  618. package/src/components/dropdown/__tests__/CDropdownMenu.spec.ts +1 -1
  619. package/src/components/form/CFormCheck.ts +20 -20
  620. package/src/components/form/CFormFeedback.ts +2 -2
  621. package/src/components/form/CFormSwitch.ts +1 -0
  622. package/src/components/form/CFormText.ts +2 -2
  623. package/src/components/form/CFormTextarea.ts +1 -0
  624. package/src/components/form/CInputGroupText.ts +2 -2
  625. package/src/components/form/__tests__/CFormFeedback.spec.ts +2 -2
  626. package/src/components/form/__tests__/CFormText.spec.ts +1 -1
  627. package/src/components/form/__tests__/CInputGroupText.spec.ts +1 -1
  628. package/src/components/form/index.ts +0 -3
  629. package/src/components/header/CHeaderBrand.ts +2 -2
  630. package/src/components/header/CHeaderNav.ts +2 -2
  631. package/src/components/header/__tests__/CHeaderBrand.spec.ts +1 -1
  632. package/src/components/header/__tests__/CHeaderNav.spec.ts +1 -1
  633. package/src/components/link/CLink.ts +4 -4
  634. package/src/components/link/__tests__/CLink.spec.ts +1 -1
  635. package/src/components/list-group/CListGroup.ts +2 -2
  636. package/src/components/list-group/CListGroupItem.ts +10 -10
  637. package/src/components/list-group/__tests__/CListGroup.spec.ts +1 -1
  638. package/src/components/list-group/__tests__/CListGroupItem.spec.ts +2 -2
  639. package/src/components/modal/CModal.ts +1 -1
  640. package/src/components/modal/CModalTitle.ts +2 -2
  641. package/src/components/modal/__tests__/CModalTitle.spec.ts +1 -1
  642. package/src/components/nav/CNav.ts +2 -2
  643. package/src/components/nav/CNavGroup.ts +9 -2
  644. package/src/components/nav/CNavItem.ts +9 -2
  645. package/src/components/nav/CNavLink.ts +2 -2
  646. package/src/components/nav/CNavTitle.ts +11 -2
  647. package/src/components/nav/__tests__/CNav.spec.ts +1 -1
  648. package/src/components/nav/__tests__/CNavItem.spec.ts +1 -1
  649. package/src/components/nav/__tests__/CNavLink.spec.ts +1 -1
  650. package/src/components/navbar/CNavbar.ts +8 -8
  651. package/src/components/navbar/CNavbarBrand.ts +2 -2
  652. package/src/components/navbar/CNavbarNav.ts +2 -2
  653. package/src/components/navbar/__tests__/CNavbar.spec.ts +1 -1
  654. package/src/components/navbar/__tests__/CNavbarBrand.spec.ts +1 -1
  655. package/src/components/navbar/__tests__/CNavbarNav.spec.ts +1 -1
  656. package/src/components/offcanvas/COffcanvas.ts +4 -1
  657. package/src/components/offcanvas/COffcanvasTitle.ts +2 -2
  658. package/src/components/offcanvas/__tests__/COffcanvasTitle.spec.ts +1 -1
  659. package/src/components/pagination/CPaginationItem.ts +2 -2
  660. package/src/components/placeholder/CPlaceholder.ts +8 -8
  661. package/src/components/popover/CPopover.ts +10 -3
  662. package/src/components/progress/CProgress.ts +1 -1
  663. package/src/components/sidebar/CSidebarBrand.ts +21 -2
  664. package/src/components/sidebar/CSidebarNav.ts +26 -14
  665. package/src/components/smart-table/CSmartTable.ts +3 -3
  666. package/src/components/smart-table/CSmartTableHead.ts +9 -9
  667. package/src/components/spinner/CSpinner.ts +8 -8
  668. package/src/components/spinner/__tests__/CSpinner.spec.ts +1 -1
  669. package/src/components/time-picker/CTimePicker.ts +79 -36
  670. package/src/components/time-picker/utils.ts +128 -64
  671. package/src/components/toast/CToastClose.ts +3 -3
  672. package/src/components/toast/__tests__/CToastClose.spec.ts +1 -1
  673. package/src/components/tooltip/CTooltip.ts +10 -3
  674. package/src/components/virtual-scroller/CVirtualScroller.ts +1 -1
  675. package/src/directives/v-c-popover.ts +27 -15
  676. package/src/directives/v-c-tooltip.ts +27 -15
  677. package/dist/cjs/components/form/CFormControl.d.ts +0 -190
  678. package/dist/esm/components/form/CFormControl.d.ts +0 -190
  679. package/src/components/form/CFormControl.ts +0 -93
  680. package/src/components/form/__tests__/CFormControl.spec.ts +0 -77
@@ -1,4 +1,4 @@
1
- import { defineComponent, h, ref, watch } from 'vue'
1
+ import { defineComponent, h, PropType, ref, watch } from 'vue'
2
2
 
3
3
  import { CButton } from '../button'
4
4
  import { CFormControlWrapper } from '../form/CFormControlWrapper'
@@ -17,9 +17,11 @@ import {
17
17
  isValidTime,
18
18
  } from './utils'
19
19
 
20
- import { Color } from '../props'
21
20
  import type { LocalizedTimePartials } from './types'
22
21
 
22
+ import { useDebouncedCallback } from '../../composables'
23
+ import { Color } from '../props'
24
+
23
25
  const CTimePicker = defineComponent({
24
26
  name: 'CTimePicker',
25
27
  props: {
@@ -146,6 +148,14 @@ const CTimePicker = defineComponent({
146
148
  * @since 4.6.0
147
149
  */
148
150
  feedbackValid: String,
151
+ /**
152
+ * Specify a list of available hours using an array, or customize the filtering of hours through a function.
153
+ *
154
+ * @since 5.0.0-rc.2
155
+ */
156
+ hours: {
157
+ type: [Array, Function] as PropType<number[] | ((hour: number) => number[])>,
158
+ },
149
159
  /**
150
160
  * The id global attribute defines an identifier (ID) that must be unique in the whole document.
151
161
  */
@@ -157,6 +167,15 @@ const CTimePicker = defineComponent({
157
167
  type: Boolean,
158
168
  default: true,
159
169
  },
170
+ /**
171
+ * Defines the delay (in milliseconds) for the input field's onChange event.
172
+ *
173
+ * @since v5.0.0-rc.2
174
+ */
175
+ inputOnChangeDelay: {
176
+ type: Number,
177
+ default: 750,
178
+ },
160
179
  /**
161
180
  * Toggle the readonly state for the component.
162
181
  */
@@ -183,6 +202,17 @@ const CTimePicker = defineComponent({
183
202
  type: String,
184
203
  defalut: 'default',
185
204
  },
205
+ /**
206
+ * Toggle the display of minutes, specify a list of available minutes using an array, or customize the filtering of minutes through a function.
207
+ *
208
+ * @since 5.0.0-rc.2
209
+ */
210
+ minutes: {
211
+ type: [Array, Boolean, Function] as PropType<
212
+ number[] | ((hour: number) => number[]) | boolean
213
+ >,
214
+ default: true,
215
+ },
186
216
  /**
187
217
  * Specifies a short hint that is visible in the input.
188
218
  */
@@ -197,12 +227,14 @@ const CTimePicker = defineComponent({
197
227
  */
198
228
  required: Boolean,
199
229
  /**
200
- * Show seconds.
230
+ * Toggle the display of seconds, specify a list of available seconds using an array, or customize the filtering of seconds through a function.
201
231
  *
202
232
  * @since 4.7.0
203
233
  */
204
234
  seconds: {
205
- type: Boolean,
235
+ type: [Array, Boolean, Function] as PropType<
236
+ number[] | ((hour: number) => number[]) | boolean
237
+ >,
206
238
  default: true,
207
239
  },
208
240
  /**
@@ -314,7 +346,13 @@ const CTimePicker = defineComponent({
314
346
  watch(
315
347
  date,
316
348
  () => {
317
- localizedTimePartials.value = getLocalizedTimePartials(props.locale, props.ampm)
349
+ localizedTimePartials.value = getLocalizedTimePartials(
350
+ props.locale,
351
+ props.ampm,
352
+ props.hours,
353
+ props.minutes,
354
+ props.seconds,
355
+ )
318
356
 
319
357
  if (date.value) {
320
358
  ampm.value = getAmPm(new Date(date.value), props.locale)
@@ -398,11 +436,12 @@ const CTimePicker = defineComponent({
398
436
  autocomplete: 'off',
399
437
  class: 'time-picker-input',
400
438
  disabled: props.disabled,
401
- onInput: (event: Event) => {
402
- if (isValidTime((event.target as HTMLInputElement).value)) {
403
- date.value = convertTimeToDate((event.target as HTMLInputElement).value)
404
- }
405
- },
439
+ onInput: (event: Event) =>
440
+ useDebouncedCallback(() => {
441
+ if (isValidTime((event.target as HTMLInputElement).value)) {
442
+ date.value = convertTimeToDate((event.target as HTMLInputElement).value)
443
+ }
444
+ }, props.inputOnChangeDelay),
406
445
  placeholder: props.placeholder,
407
446
  readonly: props.inputReadOnly,
408
447
  ref: inputRef,
@@ -410,7 +449,9 @@ const CTimePicker = defineComponent({
410
449
  value: date.value
411
450
  ? date.value.toLocaleTimeString(props.locale, {
412
451
  hour12: localizedTimePartials.value && localizedTimePartials.value.hour12,
413
- ...(!props.seconds && { timeStyle: 'short' }),
452
+ hour: 'numeric',
453
+ ...(props.minutes && { minute: 'numeric' }),
454
+ ...(props.seconds && { second: 'numeric' }),
414
455
  })
415
456
  : '',
416
457
  }),
@@ -445,27 +486,28 @@ const CTimePicker = defineComponent({
445
486
  ),
446
487
  ),
447
488
  ),
448
- ':',
449
- h(
450
- 'select',
451
- {
452
- class: 'time-picker-inline-select',
453
- disabled: props.disabled,
454
- onChange: (event: Event) =>
455
- handleTimeChange('minutes', (event.target as HTMLSelectElement).value),
456
- ...(date.value && { value: getSelectedMinutes(date.value) }),
457
- },
458
- localizedTimePartials.value &&
459
- localizedTimePartials.value.listOfMinutes?.map((option) =>
460
- h(
461
- 'option',
462
- {
463
- value: option.value.toString(),
464
- },
465
- option.label,
489
+ props.minutes && ':',
490
+ props.minutes &&
491
+ h(
492
+ 'select',
493
+ {
494
+ class: 'time-picker-inline-select',
495
+ disabled: props.disabled,
496
+ onChange: (event: Event) =>
497
+ handleTimeChange('minutes', (event.target as HTMLSelectElement).value),
498
+ ...(date.value && { value: getSelectedMinutes(date.value) }),
499
+ },
500
+ localizedTimePartials.value &&
501
+ localizedTimePartials.value.listOfMinutes?.map((option) =>
502
+ h(
503
+ 'option',
504
+ {
505
+ value: option.value.toString(),
506
+ },
507
+ option.label,
508
+ ),
466
509
  ),
467
- ),
468
- ),
510
+ ),
469
511
  props.seconds && ':',
470
512
  props.seconds &&
471
513
  h(
@@ -524,11 +566,12 @@ const CTimePicker = defineComponent({
524
566
  onClick: (index: number) => handleTimeChange('hours', index.toString()),
525
567
  selected: getSelectedHour(date.value, props.locale, props.ampm),
526
568
  }),
527
- h(CTimePickerRollCol, {
528
- elements: localizedTimePartials.value && localizedTimePartials.value.listOfMinutes,
529
- onClick: (index: number) => handleTimeChange('minutes', index.toString()),
530
- selected: getSelectedMinutes(date.value),
531
- }),
569
+ props.minutes &&
570
+ h(CTimePickerRollCol, {
571
+ elements: localizedTimePartials.value && localizedTimePartials.value.listOfMinutes,
572
+ onClick: (index: number) => handleTimeChange('minutes', index.toString()),
573
+ selected: getSelectedMinutes(date.value),
574
+ }),
532
575
  props.seconds &&
533
576
  h(CTimePickerRollCol, {
534
577
  elements: localizedTimePartials.value && localizedTimePartials.value.listOfSeconds,
@@ -1,130 +1,194 @@
1
1
  import type { LocalizedTimePartials } from './types'
2
2
 
3
+ /**
4
+ * Converts a 12-hour time format to a 24-hour time format.
5
+ * @param {('am' | 'pm')} abbr The abbreviation indicating AM or PM.
6
+ * @param {number} hour The hour to be converted.
7
+ * @returns {number} The hour in 24-hour format.
8
+ */
3
9
  export const convert12hTo24h = (abbr: 'am' | 'pm', hour: number) => {
4
10
  if (abbr === 'am' && hour === 12) {
5
11
  return 0
6
12
  }
13
+
7
14
  if (abbr === 'am') {
8
15
  return hour
9
16
  }
17
+
10
18
  if (abbr === 'pm' && hour === 12) {
11
19
  return 12
12
20
  }
21
+
13
22
  return hour + 12
14
23
  }
15
24
 
25
+ /**
26
+ * Converts a 24-hour time format to a 12-hour format.
27
+ * @param {number} hour The hour to be converted.
28
+ * @returns {number} The hour in 12-hour format.
29
+ */
16
30
  export const convert24hTo12h = (hour: number) => hour % 12 || 12
17
31
 
32
+ /**
33
+ * Converts a time input into a Date object.
34
+ * @param {Date | string | null | undefined} time The time input to be converted.
35
+ * @returns {Date | null} The converted Date object or null if the input is falsy.
36
+ */
18
37
  export const convertTimeToDate = (time: Date | string | null | undefined) =>
19
- time ? (time instanceof Date ? new Date(time) : new Date(`1970-01-01 ${time}`)) : null
38
+ time ? (time instanceof Date ? time : new Date(`1970-01-01 ${time}`)) : null
20
39
 
40
+ /**
41
+ * Retrieves the AM/PM part of the specified date according to the given locale.
42
+ * @param {Date} date The date from which to extract the AM/PM part.
43
+ * @param {string} locale The locale to use for formatting.
44
+ * @returns {string} 'am' or 'pm' based on the given date and locale.
45
+ */
21
46
  export const getAmPm = (date: Date, locale: string) => {
22
47
  if (date.toLocaleTimeString(locale).includes('AM')) {
23
48
  return 'am'
24
49
  }
50
+
25
51
  if (date.toLocaleTimeString(locale).includes('PM')) {
26
52
  return 'pm'
27
53
  }
54
+
28
55
  return date.getHours() >= 12 ? 'pm' : 'am'
29
56
  }
30
57
 
31
- // TODO: clean-up
32
- export const getListOfHours = (locale: string, ampm: 'auto' | boolean = 'auto') =>
33
- Array.from({ length: (ampm === 'auto' && isAmPm(locale)) || ampm === true ? 12 : 24 }, (_, i) => {
34
- return {
35
- value: (ampm === 'auto' && isAmPm(locale)) || ampm === true ? i + 1 : i,
36
- label: ((ampm === 'auto' && isAmPm(locale)) || ampm === true ? i + 1 : i).toLocaleString(
37
- locale,
38
- ),
39
- }
58
+ /**
59
+ * Formats an array of time values (hours, minutes, or seconds) according to the specified locale and partial.
60
+ * @param {number[]} values An array of time values to format.
61
+ * @param {string} locale The locale to use for formatting.
62
+ * @param {('hour' | 'minute' | 'second')} partial The type of time value to format.
63
+ * @returns {Array} An array of objects with the original value and its localized label.
64
+ */
65
+ export const formatTimePartials = (
66
+ values: number[],
67
+ locale: string,
68
+ partial: 'hour' | 'minute' | 'second',
69
+ ) => {
70
+ const date = new Date()
71
+
72
+ const formatter = new Intl.DateTimeFormat(locale, {
73
+ hour: 'numeric',
74
+ minute: '2-digit',
75
+ second: '2-digit',
40
76
  })
41
77
 
42
- // TODO: clean-up
43
- export const getListOfMinutes = (locale: string, valueAsString = false) =>
44
- Array.from({ length: 60 }, (_, i) => {
45
- const d = new Date()
46
- d.setMinutes(i)
47
- return {
48
- value: valueAsString ? i.toString() : i,
49
- label: d
50
- .toLocaleTimeString(locale, {
51
- minute: '2-digit',
52
- second: '2-digit',
53
- })
54
- .split(/[^A-Za-z0-9\u06F0-\u06F90-9]/)[0],
78
+ return values.map((value) => {
79
+ if (partial === 'hour') {
80
+ date.setHours(value)
81
+ }
82
+
83
+ if (partial === 'minute') {
84
+ date.setMinutes(value)
85
+ }
86
+
87
+ if (partial === 'second') {
88
+ date.setSeconds(value)
55
89
  }
56
- })
57
90
 
58
- // TODO: clean-up
59
- export const getListOfSeconds = (locale: string, valueAsString = false) =>
60
- Array.from({ length: 60 }, (_, i) => {
61
- const d = new Date()
62
- d.setSeconds(i)
63
91
  return {
64
- value: valueAsString ? i.toString() : i,
65
- label: d
66
- .toLocaleTimeString(locale, {
67
- minute: '2-digit',
68
- second: '2-digit',
69
- })
70
- .split(/[^A-Za-z0-9\u06F0-\u06F90-9]/)[0],
92
+ value,
93
+ label: formatter.formatToParts(date).find((part) => part.type === partial)?.value || '',
71
94
  }
72
95
  })
96
+ }
73
97
 
98
+ /**
99
+ * Generates localized time partials (hours, minutes, seconds) based on the given parameters.
100
+ * @param {string} locale The locale to use for generating localized time partials.
101
+ * @param {'auto' | boolean} ampm Determines whether to use 12-hour or 24-hour format. 'auto' decides based on locale.
102
+ * @param {boolean | number[] | Function} hours An array of hours, a boolean, or a function to generate hours.
103
+ * @param {boolean | number[] | Function} minutes An array of minutes, a boolean, or a function to generate minutes.
104
+ * @param {boolean | number[] | Function} seconds An array of seconds, a boolean, or a function to generate seconds.
105
+ * @returns {LocalizedTimePartials} An object containing arrays of localized time partials and a boolean indicating if 12-hour format is used.
106
+ */
74
107
  export const getLocalizedTimePartials = (
75
108
  locale: string,
76
109
  ampm: 'auto' | boolean = 'auto',
110
+ hours: boolean | number[] | ((hour: number) => number[]) = [],
111
+ minutes: boolean | number[] | ((minute: number) => number[]) = [],
112
+ seconds: boolean | number[] | ((second: number) => number[]) = [],
77
113
  ): LocalizedTimePartials => {
78
- const date = new Date()
79
- const hour12 = ['am', 'AM', 'pm', 'PM'].some((el) => date.toLocaleString(locale).includes(el))
80
- const listOfHours = Array.from(
81
- { length: (ampm === 'auto' && hour12) || ampm === true ? 12 : 24 },
82
- (_, i) => {
83
- return {
84
- value: (ampm === 'auto' && hour12) || ampm === true ? i + 1 : i,
85
- label: ((ampm === 'auto' && hour12) || ampm === true ? i + 1 : i).toLocaleString(locale),
86
- }
87
- },
88
- )
89
- const listOfMinutesSeconds = Array.from({ length: 60 }, (_, i) => {
90
- date.setMinutes(i)
91
- return {
92
- value: i,
93
- label: date
94
- .toLocaleTimeString(locale, {
95
- minute: '2-digit',
96
- second: '2-digit',
97
- })
98
- .split(/[^A-Za-z0-9\u06F0-\u06F90-9]/)[0],
99
- }
100
- })
114
+ const hour12 = (ampm === 'auto' && isAmPm(locale)) || ampm === true
115
+
116
+ const listOfHours =
117
+ Array.isArray(hours) && hours.length > 0
118
+ ? hours
119
+ : (typeof hours === 'function'
120
+ ? Array.from({ length: hour12 ? 12 : 24 }, (_, i) => (hour12 ? i + 1 : i)).filter((hour) =>
121
+ hours(hour),
122
+ )
123
+ : Array.from({ length: hour12 ? 12 : 24 }, (_, i) => (hour12 ? i + 1 : i)))
124
+
125
+ const listOfMinutes =
126
+ Array.isArray(minutes) && minutes.length > 0
127
+ ? minutes
128
+ : (typeof minutes === 'function'
129
+ ? Array.from({ length: 60 }, (_, i) => i).filter((minute) => minutes(minute))
130
+ : Array.from({ length: 60 }, (_, i) => i))
131
+
132
+ const listOfSeconds =
133
+ Array.isArray(seconds) && seconds.length > 0
134
+ ? seconds
135
+ : (typeof seconds === 'function'
136
+ ? Array.from({ length: 60 }, (_, i) => i).filter((second) => seconds(second))
137
+ : Array.from({ length: 60 }, (_, i) => i))
101
138
 
102
139
  return {
103
- listOfHours,
104
- listOfMinutes: listOfMinutesSeconds,
105
- listOfSeconds: listOfMinutesSeconds,
140
+ listOfHours: formatTimePartials(listOfHours, locale, 'hour'),
141
+ listOfMinutes: formatTimePartials(listOfMinutes, locale, 'minute'),
142
+ listOfSeconds: formatTimePartials(listOfSeconds, locale, 'second'),
106
143
  hour12,
107
144
  }
108
145
  }
109
146
 
147
+ /**
148
+ * Gets the selected hour from a date object in either 12-hour or 24-hour format based on locale and preference.
149
+ * @param {Date | null} date The date object from which to extract the hour. If null, the function returns an empty string.
150
+ * @param {string} locale The locale to use when determining whether to return in 12-hour or 24-hour format.
151
+ * @param {'auto' | boolean} ampm Determines the format of the hour returned. 'auto' decides based on locale, true forces 12-hour format, and false forces 24-hour format.
152
+ * @returns {string | number} The hour in the specified format or an empty string if the date is null.
153
+ */
110
154
  export const getSelectedHour = (
111
155
  date: Date | null,
112
156
  locale: string,
113
157
  ampm: 'auto' | boolean = 'auto',
114
158
  ) =>
115
159
  date
116
- ? (ampm === 'auto' && isAmPm(locale)) || ampm === true
160
+ ? ((ampm === 'auto' && isAmPm(locale)) || ampm === true
117
161
  ? convert24hTo12h(date.getHours())
118
- : date.getHours()
162
+ : date.getHours())
119
163
  : ''
120
164
 
165
+ /**
166
+ * Gets the selected minutes from a date object.
167
+ * @param {Date | null} date The date object from which to extract the minutes. If null, the function returns an empty string.
168
+ * @returns {string | number} The minutes from the date or an empty string if the date is null.
169
+ */
121
170
  export const getSelectedMinutes = (date: Date | null) => (date ? date.getMinutes() : '')
122
171
 
172
+ /**
173
+ * Gets the selected seconds from a date object.
174
+ * @param {Date | null} date The date object from which to extract the seconds. If null, the function returns an empty string.
175
+ * @returns {string | number} The seconds from the date or an empty string if the date is null.
176
+ */
123
177
  export const getSelectedSeconds = (date: Date | null) => (date ? date.getSeconds() : '')
124
178
 
179
+ /**
180
+ * Determines if the given locale uses AM/PM format.
181
+ * @param {string} locale The locale to check.
182
+ * @returns {boolean} True if the locale uses AM/PM format, otherwise false.
183
+ */
125
184
  export const isAmPm = (locale: string) =>
126
185
  ['am', 'AM', 'pm', 'PM'].some((el) => new Date().toLocaleString(locale).includes(el))
127
186
 
187
+ /**
188
+ * Validates if the given string represents a valid time.
189
+ * @param {string} time The time string to validate.
190
+ * @returns {boolean} True if the string is a valid time, otherwise false.
191
+ */
128
192
  export const isValidTime = (time: string) => {
129
193
  const d = new Date(`1970-01-01 ${time}`)
130
194
  return d instanceof Date && d.getTime()
@@ -7,7 +7,7 @@ const CToastClose = defineComponent({
7
7
  /**
8
8
  * Component used for the root node. Either a string to use a HTML element or a component.
9
9
  */
10
- component: String,
10
+ as: String,
11
11
  ...CCloseButton.props,
12
12
  },
13
13
  emits: [
@@ -24,9 +24,9 @@ const CToastClose = defineComponent({
24
24
  updateVisible(false)
25
25
  }
26
26
  return () =>
27
- props.component
27
+ props.as
28
28
  ? h(
29
- props.component,
29
+ props.as,
30
30
  {
31
31
  onClick: () => {
32
32
  handleClose()
@@ -21,7 +21,7 @@ const defaultWrapper = mount(Component, {
21
21
 
22
22
  const customWrapper = mount(Component, {
23
23
  propsData: {
24
- component: CButton,
24
+ as: CButton,
25
25
  },
26
26
  slots: {
27
27
  default: 'Default slot',
@@ -1,11 +1,11 @@
1
- import { defineComponent, h, PropType, ref, RendererElement, Transition } from 'vue'
1
+ import { defineComponent, h, onMounted, PropType, ref, RendererElement, Transition } from 'vue'
2
2
  import type { Placement } from '@popperjs/core'
3
3
 
4
4
  import { CConditionalTeleport } from '../conditional-teleport'
5
5
  import { usePopper } from '../../composables'
6
6
  import type { Placements, Triggers } from '../../types'
7
7
  import { executeAfterTransition } from '../../utils/transition'
8
- import { getRTLPlacement } from '../../utils'
8
+ import { getRTLPlacement, getUID } from '../../utils'
9
9
 
10
10
  const CTooltip = defineComponent({
11
11
  name: 'CTooltip',
@@ -23,7 +23,7 @@ const CTooltip = defineComponent({
23
23
  /**
24
24
  * Appends the vue tooltip to a specific element. You can pass an HTML element or function that returns a single element. By default `document.body`.
25
25
  *
26
- * @since v5.0.0-rc.0
26
+ * @since v5.0.0-rc.2
27
27
  */
28
28
  container: {
29
29
  type: [Object, String] as PropType<HTMLElement | (() => HTMLElement) | string>,
@@ -113,6 +113,7 @@ const CTooltip = defineComponent({
113
113
  setup(props, { attrs, slots, emit }) {
114
114
  const togglerRef = ref()
115
115
  const tooltipRef = ref()
116
+ const uID = ref()
116
117
  const visible = ref(props.visible)
117
118
  const { initPopper, destroyPopper } = usePopper()
118
119
 
@@ -143,6 +144,10 @@ const CTooltip = defineComponent({
143
144
  placement: getRTLPlacement(props.placement, togglerRef.value),
144
145
  }
145
146
 
147
+ onMounted(() => {
148
+ uID.value = getUID('tooltip')
149
+ })
150
+
146
151
  const handleEnter = (el: RendererElement, done: () => void) => {
147
152
  emit('show')
148
153
  initPopper(togglerRef.value, tooltipRef.value, popperConfig)
@@ -202,6 +207,7 @@ const CTooltip = defineComponent({
202
207
  },
203
208
  attrs.class,
204
209
  ],
210
+ id: uID.value,
205
211
  ref: tooltipRef,
206
212
  role: 'tooltip',
207
213
  },
@@ -222,6 +228,7 @@ const CTooltip = defineComponent({
222
228
  ),
223
229
  slots.toggler &&
224
230
  slots.toggler({
231
+ id: visible.value ? uID.value : null,
225
232
  on: {
226
233
  click: (event: Event) =>
227
234
  props.trigger.includes('click') && toggleVisible(event, !visible.value),
@@ -94,7 +94,7 @@ const CVirtualScroller = defineComponent({
94
94
  }),
95
95
  },
96
96
  ref: (node) => {
97
- if (node && (node as HTMLElement).offsetHeight) {
97
+ if (itemHeight.value === 0 && node && (node as HTMLElement).offsetHeight) {
98
98
  itemHeight.value =
99
99
  (node as HTMLElement).offsetHeight +
100
100
  Number.parseFloat(getComputedStyle(node as HTMLElement).marginTop) +
@@ -1,6 +1,8 @@
1
1
  import { DirectiveBinding } from 'vue'
2
2
  import { createPopper } from '@popperjs/core'
3
3
 
4
+ import type { Options } from '@popperjs/core'
5
+
4
6
  import { getUID } from '../utils'
5
7
 
6
8
  const createPopoverElement = (id: string, header: string, content: string): HTMLDivElement => {
@@ -14,8 +16,13 @@ const createPopoverElement = (id: string, header: string, content: string): HTML
14
16
  return popover
15
17
  }
16
18
 
17
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
- const addPopoverElement = (popover: HTMLDivElement, el: HTMLElement, popperOptions: any) => {
19
+ const addPopoverElement = (
20
+ el: HTMLElement,
21
+ popover: HTMLDivElement,
22
+ popperOptions: Partial<Options>,
23
+ uID: string,
24
+ ) => {
25
+ el.setAttribute('aria-describedby', uID)
19
26
  document.body.appendChild(popover)
20
27
  createPopper(el, popover, popperOptions)
21
28
  setTimeout(() => {
@@ -23,21 +30,26 @@ const addPopoverElement = (popover: HTMLDivElement, el: HTMLElement, popperOptio
23
30
  }, 1)
24
31
  }
25
32
 
26
- const removePopoverElement = (popover: HTMLDivElement) => {
33
+ const removePopoverElement = (el: HTMLElement, popover: HTMLDivElement) => {
34
+ el.removeAttribute('aria-describedby')
27
35
  popover.classList.remove('show')
28
36
  setTimeout(() => {
29
37
  popover.remove()
30
38
  }, 300)
31
39
  }
32
40
 
33
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
- const togglePopoverElement = (popover: HTMLDivElement, el: HTMLElement, popperOptions: any) => {
41
+ const togglePopoverElement = (
42
+ el: HTMLElement,
43
+ popover: HTMLDivElement,
44
+ popperOptions: Partial<Options>,
45
+ uID: string,
46
+ ) => {
35
47
  const popperElement = document.getElementById(popover.id)
36
48
  if (popperElement && popperElement.classList.contains('show')) {
37
- removePopoverElement(popover)
49
+ removePopoverElement(el, popover)
38
50
  return
39
51
  }
40
- addPopoverElement(popover, el, popperOptions)
52
+ addPopoverElement(el, popover, popperOptions, uID)
41
53
  }
42
54
 
43
55
  export default {
@@ -65,30 +77,30 @@ export default {
65
77
  ],
66
78
  }
67
79
 
68
- const popoverUID = getUID('popover')
69
- binding.arg = popoverUID
70
- const popover = createPopoverElement(popoverUID, header, content)
80
+ const uID = getUID('popover')
81
+ binding.arg = uID
82
+ const popover = createPopoverElement(uID, header, content)
71
83
 
72
84
  trigger.includes('click') &&
73
85
  el.addEventListener('click', () => {
74
- togglePopoverElement(popover, el, popperOptions)
86
+ togglePopoverElement(el, popover, popperOptions, uID)
75
87
  })
76
88
 
77
89
  if (trigger.includes('focus')) {
78
90
  el.addEventListener('focus', () => {
79
- addPopoverElement(popover, el, popperOptions)
91
+ addPopoverElement(el, popover, popperOptions, uID)
80
92
  })
81
93
  el.addEventListener('blur', () => {
82
- removePopoverElement(popover)
94
+ removePopoverElement(el, popover)
83
95
  })
84
96
  }
85
97
 
86
98
  if (trigger.includes('hover')) {
87
99
  el.addEventListener('mouseenter', () => {
88
- addPopoverElement(popover, el, popperOptions)
100
+ addPopoverElement(el, popover, popperOptions, uID)
89
101
  })
90
102
  el.addEventListener('mouseleave', () => {
91
- removePopoverElement(popover)
103
+ removePopoverElement(el, popover)
92
104
  })
93
105
  }
94
106
  },