@coreui/vue-pro 5.12.0 → 5.13.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 (592) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/Types.d.ts +5 -0
  3. package/dist/cjs/components/accordion/CAccordion.js.map +1 -1
  4. package/dist/cjs/components/accordion/CAccordionBody.js.map +1 -1
  5. package/dist/cjs/components/accordion/CAccordionButton.js.map +1 -1
  6. package/dist/cjs/components/accordion/CAccordionHeader.js.map +1 -1
  7. package/dist/cjs/components/accordion/CAccordionItem.js.map +1 -1
  8. package/dist/cjs/components/accordion/index.js.map +1 -1
  9. package/dist/cjs/components/alert/CAlert.js.map +1 -1
  10. package/dist/cjs/components/alert/CAlertHeading.js.map +1 -1
  11. package/dist/cjs/components/alert/CAlertLink.js.map +1 -1
  12. package/dist/cjs/components/alert/index.js.map +1 -1
  13. package/dist/cjs/components/autocomplete/CAutocomplete.d.ts +594 -0
  14. package/dist/cjs/components/autocomplete/CAutocomplete.js +724 -0
  15. package/dist/cjs/components/autocomplete/CAutocomplete.js.map +1 -0
  16. package/dist/cjs/components/autocomplete/CAutocompleteOptions.d.ts +50 -0
  17. package/dist/cjs/components/autocomplete/CAutocompleteOptions.js +116 -0
  18. package/dist/cjs/components/autocomplete/CAutocompleteOptions.js.map +1 -0
  19. package/dist/cjs/components/autocomplete/index.d.ts +6 -0
  20. package/dist/cjs/components/autocomplete/index.js +13 -0
  21. package/dist/cjs/components/autocomplete/index.js.map +1 -0
  22. package/dist/cjs/components/autocomplete/types.d.ts +18 -0
  23. package/dist/cjs/components/autocomplete/utils.d.ts +11 -0
  24. package/dist/cjs/components/autocomplete/utils.js +98 -0
  25. package/dist/cjs/components/autocomplete/utils.js.map +1 -0
  26. package/dist/cjs/components/avatar/CAvatar.js.map +1 -1
  27. package/dist/cjs/components/avatar/index.js.map +1 -1
  28. package/dist/cjs/components/backdrop/CBackdrop.js.map +1 -1
  29. package/dist/cjs/components/backdrop/index.js.map +1 -1
  30. package/dist/cjs/components/badge/CBadge.js.map +1 -1
  31. package/dist/cjs/components/badge/index.js.map +1 -1
  32. package/dist/cjs/components/breadcrumb/CBreadcrumb.js.map +1 -1
  33. package/dist/cjs/components/breadcrumb/CBreadcrumbItem.js.map +1 -1
  34. package/dist/cjs/components/breadcrumb/index.js.map +1 -1
  35. package/dist/cjs/components/button/CButton.js +2 -1
  36. package/dist/cjs/components/button/CButton.js.map +1 -1
  37. package/dist/cjs/components/button/index.js.map +1 -1
  38. package/dist/cjs/components/button-group/CButtonGroup.js.map +1 -1
  39. package/dist/cjs/components/button-group/CButtonToolbar.js.map +1 -1
  40. package/dist/cjs/components/button-group/index.js.map +1 -1
  41. package/dist/cjs/components/calendar/CCalendar.js +5 -7
  42. package/dist/cjs/components/calendar/CCalendar.js.map +1 -1
  43. package/dist/cjs/components/calendar/index.js.map +1 -1
  44. package/dist/cjs/components/calendar/utils.d.ts +19 -5
  45. package/dist/cjs/components/calendar/utils.js +20 -9
  46. package/dist/cjs/components/calendar/utils.js.map +1 -1
  47. package/dist/cjs/components/callout/CCallout.js.map +1 -1
  48. package/dist/cjs/components/callout/index.js.map +1 -1
  49. package/dist/cjs/components/card/CCard.js.map +1 -1
  50. package/dist/cjs/components/card/CCardBody.js.map +1 -1
  51. package/dist/cjs/components/card/CCardFooter.js.map +1 -1
  52. package/dist/cjs/components/card/CCardGroup.js.map +1 -1
  53. package/dist/cjs/components/card/CCardHeader.js.map +1 -1
  54. package/dist/cjs/components/card/CCardImage.js.map +1 -1
  55. package/dist/cjs/components/card/CCardImageOverlay.js.map +1 -1
  56. package/dist/cjs/components/card/CCardLink.js.map +1 -1
  57. package/dist/cjs/components/card/CCardSubtitle.js.map +1 -1
  58. package/dist/cjs/components/card/CCardText.js.map +1 -1
  59. package/dist/cjs/components/card/CCardTitle.js.map +1 -1
  60. package/dist/cjs/components/card/index.js.map +1 -1
  61. package/dist/cjs/components/carousel/CCarousel.js.map +1 -1
  62. package/dist/cjs/components/carousel/CCarouselCaption.js.map +1 -1
  63. package/dist/cjs/components/carousel/CCarouselItem.js.map +1 -1
  64. package/dist/cjs/components/carousel/index.js.map +1 -1
  65. package/dist/cjs/components/close-button/CCloseButton.js.map +1 -1
  66. package/dist/cjs/components/close-button/index.js.map +1 -1
  67. package/dist/cjs/components/collapse/CCollapse.js.map +1 -1
  68. package/dist/cjs/components/collapse/__test__/CCollapse.spec.d.ts +1 -0
  69. package/dist/cjs/components/collapse/index.js.map +1 -1
  70. package/dist/cjs/components/conditional-teleport/CConditionalTeleport.js.map +1 -1
  71. package/dist/cjs/components/conditional-teleport/index.js.map +1 -1
  72. package/dist/cjs/components/date-picker/CDatePicker.d.ts +4 -4
  73. package/dist/cjs/components/date-picker/CDatePicker.js.map +1 -1
  74. package/dist/cjs/components/date-picker/index.js.map +1 -1
  75. package/dist/cjs/components/date-range-picker/CDateRangePicker.d.ts +7 -7
  76. package/dist/cjs/components/date-range-picker/CDateRangePicker.js +10 -6
  77. package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
  78. package/dist/cjs/components/date-range-picker/index.js.map +1 -1
  79. package/dist/cjs/components/date-range-picker/utils.js.map +1 -1
  80. package/dist/cjs/components/dropdown/CDropdown.d.ts +1 -1
  81. package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
  82. package/dist/cjs/components/dropdown/CDropdownDivider.js.map +1 -1
  83. package/dist/cjs/components/dropdown/CDropdownHeader.js.map +1 -1
  84. package/dist/cjs/components/dropdown/CDropdownItem.js.map +1 -1
  85. package/dist/cjs/components/dropdown/CDropdownMenu.js.map +1 -1
  86. package/dist/cjs/components/dropdown/CDropdownToggle.d.ts +1 -1
  87. package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
  88. package/dist/cjs/components/dropdown/index.js.map +1 -1
  89. package/dist/cjs/components/dropdown/utils.js.map +1 -1
  90. package/dist/cjs/components/element-cover/CElementCover.js.map +1 -1
  91. package/dist/cjs/components/element-cover/index.js.map +1 -1
  92. package/dist/cjs/components/footer/CFooter.js.map +1 -1
  93. package/dist/cjs/components/footer/index.js.map +1 -1
  94. package/dist/cjs/components/form/CForm.js.map +1 -1
  95. package/dist/cjs/components/form/CFormCheck.js.map +1 -1
  96. package/dist/cjs/components/form/CFormControlValidation.js.map +1 -1
  97. package/dist/cjs/components/form/CFormControlWrapper.js.map +1 -1
  98. package/dist/cjs/components/form/CFormFeedback.js.map +1 -1
  99. package/dist/cjs/components/form/CFormFloating.js.map +1 -1
  100. package/dist/cjs/components/form/CFormInput.js.map +1 -1
  101. package/dist/cjs/components/form/CFormLabel.js.map +1 -1
  102. package/dist/cjs/components/form/CFormRange.js.map +1 -1
  103. package/dist/cjs/components/form/CFormSelect.js.map +1 -1
  104. package/dist/cjs/components/form/CFormSwitch.js.map +1 -1
  105. package/dist/cjs/components/form/CFormText.js.map +1 -1
  106. package/dist/cjs/components/form/CFormTextarea.js.map +1 -1
  107. package/dist/cjs/components/form/CInputGroup.js.map +1 -1
  108. package/dist/cjs/components/form/CInputGroupText.js.map +1 -1
  109. package/dist/cjs/components/form/index.js.map +1 -1
  110. package/dist/cjs/components/grid/CCol.js.map +1 -1
  111. package/dist/cjs/components/grid/CContainer.d.ts +1 -1
  112. package/dist/cjs/components/grid/CContainer.js.map +1 -1
  113. package/dist/cjs/components/grid/CRow.js.map +1 -1
  114. package/dist/cjs/components/grid/index.js.map +1 -1
  115. package/dist/cjs/components/header/CHeader.js.map +1 -1
  116. package/dist/cjs/components/header/CHeaderBrand.js.map +1 -1
  117. package/dist/cjs/components/header/CHeaderDivider.js.map +1 -1
  118. package/dist/cjs/components/header/CHeaderNav.js.map +1 -1
  119. package/dist/cjs/components/header/CHeaderText.js.map +1 -1
  120. package/dist/cjs/components/header/CHeaderToggler.js.map +1 -1
  121. package/dist/cjs/components/header/index.js.map +1 -1
  122. package/dist/cjs/components/image/CImage.js.map +1 -1
  123. package/dist/cjs/components/image/index.js.map +1 -1
  124. package/dist/cjs/components/index.d.ts +1 -0
  125. package/dist/cjs/components/index.js +104 -100
  126. package/dist/cjs/components/index.js.map +1 -1
  127. package/dist/cjs/components/link/CLink.js.map +1 -1
  128. package/dist/cjs/components/link/index.js.map +1 -1
  129. package/dist/cjs/components/list-group/CListGroup.js.map +1 -1
  130. package/dist/cjs/components/list-group/CListGroupItem.js.map +1 -1
  131. package/dist/cjs/components/list-group/index.js.map +1 -1
  132. package/dist/cjs/components/loading-button/CLoadingButton.js.map +1 -1
  133. package/dist/cjs/components/loading-button/index.js.map +1 -1
  134. package/dist/cjs/components/modal/CModal.js.map +1 -1
  135. package/dist/cjs/components/modal/CModalBody.js.map +1 -1
  136. package/dist/cjs/components/modal/CModalFooter.js.map +1 -1
  137. package/dist/cjs/components/modal/CModalHeader.js.map +1 -1
  138. package/dist/cjs/components/modal/CModalTitle.js.map +1 -1
  139. package/dist/cjs/components/modal/index.js.map +1 -1
  140. package/dist/cjs/components/multi-select/CMultiSelect.d.ts +30 -11
  141. package/dist/cjs/components/multi-select/CMultiSelect.js +164 -143
  142. package/dist/cjs/components/multi-select/CMultiSelect.js.map +1 -1
  143. package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.d.ts +1 -1
  144. package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
  145. package/dist/cjs/components/multi-select/CMultiSelectOptions.d.ts +2 -2
  146. package/dist/cjs/components/multi-select/CMultiSelectOptions.js +6 -3
  147. package/dist/cjs/components/multi-select/CMultiSelectOptions.js.map +1 -1
  148. package/dist/cjs/components/multi-select/CMultiSelectSelection.d.ts +1 -1
  149. package/dist/cjs/components/multi-select/CMultiSelectSelection.js.map +1 -1
  150. package/dist/cjs/components/multi-select/index.js.map +1 -1
  151. package/dist/cjs/components/multi-select/utils.d.ts +0 -2
  152. package/dist/cjs/components/multi-select/utils.js +0 -26
  153. package/dist/cjs/components/multi-select/utils.js.map +1 -1
  154. package/dist/cjs/components/nav/CNav.js.map +1 -1
  155. package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
  156. package/dist/cjs/components/nav/CNavGroupItems.js.map +1 -1
  157. package/dist/cjs/components/nav/CNavItem.js.map +1 -1
  158. package/dist/cjs/components/nav/CNavLink.js.map +1 -1
  159. package/dist/cjs/components/nav/CNavTitle.js.map +1 -1
  160. package/dist/cjs/components/nav/index.js.map +1 -1
  161. package/dist/cjs/components/navbar/CNavbar.js.map +1 -1
  162. package/dist/cjs/components/navbar/CNavbarBrand.js.map +1 -1
  163. package/dist/cjs/components/navbar/CNavbarNav.js.map +1 -1
  164. package/dist/cjs/components/navbar/CNavbarText.js.map +1 -1
  165. package/dist/cjs/components/navbar/CNavbarToggler.js.map +1 -1
  166. package/dist/cjs/components/navbar/index.js.map +1 -1
  167. package/dist/cjs/components/offcanvas/COffcanvas.js.map +1 -1
  168. package/dist/cjs/components/offcanvas/COffcanvasBody.js.map +1 -1
  169. package/dist/cjs/components/offcanvas/COffcanvasHeader.js.map +1 -1
  170. package/dist/cjs/components/offcanvas/COffcanvasTitle.js.map +1 -1
  171. package/dist/cjs/components/offcanvas/index.js.map +1 -1
  172. package/dist/cjs/components/pagination/CPagination.js.map +1 -1
  173. package/dist/cjs/components/pagination/CPaginationItem.js.map +1 -1
  174. package/dist/cjs/components/pagination/index.js.map +1 -1
  175. package/dist/cjs/components/password-input/CPasswordInput.js.map +1 -1
  176. package/dist/cjs/components/password-input/index.js.map +1 -1
  177. package/dist/cjs/components/picker/CPicker.js.map +1 -1
  178. package/dist/cjs/components/picker/index.js.map +1 -1
  179. package/dist/cjs/components/placeholder/CPlaceholder.js.map +1 -1
  180. package/dist/cjs/components/placeholder/index.js.map +1 -1
  181. package/dist/cjs/components/popover/CPopover.d.ts +1 -1
  182. package/dist/cjs/components/popover/CPopover.js.map +1 -1
  183. package/dist/cjs/components/popover/index.js.map +1 -1
  184. package/dist/cjs/components/progress/CProgress.js.map +1 -1
  185. package/dist/cjs/components/progress/CProgressBar.js.map +1 -1
  186. package/dist/cjs/components/progress/CProgressStacked.js.map +1 -1
  187. package/dist/cjs/components/progress/index.js.map +1 -1
  188. package/dist/cjs/components/props.js.map +1 -1
  189. package/dist/cjs/components/range-slider/CRangeSlider.js.map +1 -1
  190. package/dist/cjs/components/range-slider/index.js.map +1 -1
  191. package/dist/cjs/components/range-slider/utils.js.map +1 -1
  192. package/dist/cjs/components/rating/CRating.d.ts +1 -1
  193. package/dist/cjs/components/rating/CRating.js.map +1 -1
  194. package/dist/cjs/components/rating/index.js.map +1 -1
  195. package/dist/cjs/components/sidebar/CSidebar.d.ts +1 -1
  196. package/dist/cjs/components/sidebar/CSidebar.js.map +1 -1
  197. package/dist/cjs/components/sidebar/CSidebarBrand.js.map +1 -1
  198. package/dist/cjs/components/sidebar/CSidebarFooter.js.map +1 -1
  199. package/dist/cjs/components/sidebar/CSidebarHeader.js.map +1 -1
  200. package/dist/cjs/components/sidebar/CSidebarNav.js.map +1 -1
  201. package/dist/cjs/components/sidebar/CSidebarToggler.js.map +1 -1
  202. package/dist/cjs/components/sidebar/index.js.map +1 -1
  203. package/dist/cjs/components/smart-pagination/CSmartPagination.js.map +1 -1
  204. package/dist/cjs/components/smart-pagination/index.js.map +1 -1
  205. package/dist/cjs/components/smart-table/CSmartTable.d.ts +1 -1
  206. package/dist/cjs/components/smart-table/CSmartTable.js.map +1 -1
  207. package/dist/cjs/components/smart-table/CSmartTableBody.js.map +1 -1
  208. package/dist/cjs/components/smart-table/CSmartTableCleaner.d.ts +20 -0
  209. package/dist/cjs/components/smart-table/CSmartTableHead.js.map +1 -1
  210. package/dist/cjs/components/smart-table/CSmartTableInterface.d.ts +58 -0
  211. package/dist/cjs/components/smart-table/index.js.map +1 -1
  212. package/dist/cjs/components/smart-table/utils.js.map +1 -1
  213. package/dist/cjs/components/spinner/CSpinner.js.map +1 -1
  214. package/dist/cjs/components/spinner/index.js.map +1 -1
  215. package/dist/cjs/components/stepper/CStepper.js.map +1 -1
  216. package/dist/cjs/components/stepper/index.js.map +1 -1
  217. package/dist/cjs/components/table/CTable.js.map +1 -1
  218. package/dist/cjs/components/table/CTableBody.js.map +1 -1
  219. package/dist/cjs/components/table/CTableCaption.js.map +1 -1
  220. package/dist/cjs/components/table/CTableDataCell.js.map +1 -1
  221. package/dist/cjs/components/table/CTableFoot.js.map +1 -1
  222. package/dist/cjs/components/table/CTableHead.js.map +1 -1
  223. package/dist/cjs/components/table/CTableHeaderCell.js.map +1 -1
  224. package/dist/cjs/components/table/CTableRow.js.map +1 -1
  225. package/dist/cjs/components/table/index.js.map +1 -1
  226. package/dist/cjs/components/table/utils.js.map +1 -1
  227. package/dist/cjs/components/tabs/CTab.js.map +1 -1
  228. package/dist/cjs/components/tabs/CTabContent.js.map +1 -1
  229. package/dist/cjs/components/tabs/CTabList.js.map +1 -1
  230. package/dist/cjs/components/tabs/CTabPane.js.map +1 -1
  231. package/dist/cjs/components/tabs/CTabPanel.js.map +1 -1
  232. package/dist/cjs/components/tabs/CTabs.js.map +1 -1
  233. package/dist/cjs/components/tabs/index.js.map +1 -1
  234. package/dist/cjs/components/time-picker/CTimePicker.d.ts +5 -5
  235. package/dist/cjs/components/time-picker/CTimePicker.js +14 -1
  236. package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
  237. package/dist/cjs/components/time-picker/CTimePickerRollCol.js.map +1 -1
  238. package/dist/cjs/components/time-picker/index.js.map +1 -1
  239. package/dist/cjs/components/time-picker/utils.js.map +1 -1
  240. package/dist/cjs/components/toast/CToast.js.map +1 -1
  241. package/dist/cjs/components/toast/CToastBody.js.map +1 -1
  242. package/dist/cjs/components/toast/CToastClose.js.map +1 -1
  243. package/dist/cjs/components/toast/CToastHeader.js.map +1 -1
  244. package/dist/cjs/components/toast/CToaster.js.map +1 -1
  245. package/dist/cjs/components/toast/index.js.map +1 -1
  246. package/dist/cjs/components/tooltip/CTooltip.d.ts +1 -1
  247. package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
  248. package/dist/cjs/components/tooltip/index.js.map +1 -1
  249. package/dist/cjs/components/virtual-scroller/CVirtualScroller.js.map +1 -1
  250. package/dist/cjs/components/virtual-scroller/index.js.map +1 -1
  251. package/dist/cjs/components/widgets/CWidgetStatsA.js.map +1 -1
  252. package/dist/cjs/components/widgets/CWidgetStatsB.js.map +1 -1
  253. package/dist/cjs/components/widgets/CWidgetStatsC.js.map +1 -1
  254. package/dist/cjs/components/widgets/CWidgetStatsD.js.map +1 -1
  255. package/dist/cjs/components/widgets/CWidgetStatsE.js.map +1 -1
  256. package/dist/cjs/components/widgets/CWidgetStatsF.js.map +1 -1
  257. package/dist/cjs/components/widgets/index.js.map +1 -1
  258. package/dist/cjs/composables/useColorModes.js.map +1 -1
  259. package/dist/cjs/composables/useDebouncedCallback.js.map +1 -1
  260. package/dist/cjs/composables/useDropdownWithPopper.js.map +1 -1
  261. package/dist/cjs/composables/useIsVisible.js.map +1 -1
  262. package/dist/cjs/composables/usePopper.js.map +1 -1
  263. package/dist/cjs/composables/useUniqueId.js.map +1 -1
  264. package/dist/cjs/directives/v-c-placeholder.js.map +1 -1
  265. package/dist/cjs/directives/v-c-popover.js.map +1 -1
  266. package/dist/cjs/directives/v-c-tooltip.js.map +1 -1
  267. package/dist/cjs/directives/v-c-visible.js.map +1 -1
  268. package/dist/cjs/index.js +110 -106
  269. package/dist/cjs/index.js.map +1 -1
  270. package/dist/cjs/node_modules/@coreui/icons-vue/dist/index.es.js.map +1 -1
  271. package/dist/cjs/node_modules/vue-types/dist/index.js.map +1 -1
  272. package/dist/cjs/node_modules/vue-types/dist/shared/vue-types.8139b772.js.map +1 -1
  273. package/dist/cjs/props.js.map +1 -1
  274. package/dist/cjs/utils/getNextActiveElement.js.map +1 -1
  275. package/dist/cjs/utils/getNextSibling.d.ts +2 -0
  276. package/dist/cjs/utils/getNextSibling.js +23 -0
  277. package/dist/cjs/utils/getNextSibling.js.map +1 -0
  278. package/dist/cjs/utils/getPreviousSibling.d.ts +2 -0
  279. package/dist/cjs/utils/getPreviousSibling.js +22 -0
  280. package/dist/cjs/utils/getPreviousSibling.js.map +1 -0
  281. package/dist/cjs/utils/getRTLPlacement.js.map +1 -1
  282. package/dist/cjs/utils/index.d.ts +3 -1
  283. package/dist/cjs/utils/isEqual.js.map +1 -1
  284. package/dist/cjs/utils/isObjectInArray.js.map +1 -1
  285. package/dist/cjs/utils/isRTL.js.map +1 -1
  286. package/dist/cjs/utils/transition.js.map +1 -1
  287. package/dist/esm/components/Types.d.ts +5 -0
  288. package/dist/esm/components/accordion/CAccordion.js.map +1 -1
  289. package/dist/esm/components/accordion/CAccordionBody.js.map +1 -1
  290. package/dist/esm/components/accordion/CAccordionButton.js.map +1 -1
  291. package/dist/esm/components/accordion/CAccordionHeader.js.map +1 -1
  292. package/dist/esm/components/accordion/CAccordionItem.js.map +1 -1
  293. package/dist/esm/components/accordion/index.js.map +1 -1
  294. package/dist/esm/components/alert/CAlert.js.map +1 -1
  295. package/dist/esm/components/alert/CAlertHeading.js.map +1 -1
  296. package/dist/esm/components/alert/CAlertLink.js.map +1 -1
  297. package/dist/esm/components/alert/index.js.map +1 -1
  298. package/dist/esm/components/autocomplete/CAutocomplete.d.ts +594 -0
  299. package/dist/esm/components/autocomplete/CAutocomplete.js +722 -0
  300. package/dist/esm/components/autocomplete/CAutocomplete.js.map +1 -0
  301. package/dist/esm/components/autocomplete/CAutocompleteOptions.d.ts +50 -0
  302. package/dist/esm/components/autocomplete/CAutocompleteOptions.js +114 -0
  303. package/dist/esm/components/autocomplete/CAutocompleteOptions.js.map +1 -0
  304. package/dist/esm/components/autocomplete/index.d.ts +6 -0
  305. package/dist/esm/components/autocomplete/index.js +10 -0
  306. package/dist/esm/components/autocomplete/index.js.map +1 -0
  307. package/dist/esm/components/autocomplete/types.d.ts +18 -0
  308. package/dist/esm/components/autocomplete/utils.d.ts +11 -0
  309. package/dist/esm/components/autocomplete/utils.js +87 -0
  310. package/dist/esm/components/autocomplete/utils.js.map +1 -0
  311. package/dist/esm/components/avatar/CAvatar.js.map +1 -1
  312. package/dist/esm/components/avatar/index.js.map +1 -1
  313. package/dist/esm/components/backdrop/CBackdrop.js.map +1 -1
  314. package/dist/esm/components/backdrop/index.js.map +1 -1
  315. package/dist/esm/components/badge/CBadge.js.map +1 -1
  316. package/dist/esm/components/badge/index.js.map +1 -1
  317. package/dist/esm/components/breadcrumb/CBreadcrumb.js.map +1 -1
  318. package/dist/esm/components/breadcrumb/CBreadcrumbItem.js.map +1 -1
  319. package/dist/esm/components/breadcrumb/index.js.map +1 -1
  320. package/dist/esm/components/button/CButton.js +2 -1
  321. package/dist/esm/components/button/CButton.js.map +1 -1
  322. package/dist/esm/components/button/index.js.map +1 -1
  323. package/dist/esm/components/button-group/CButtonGroup.js.map +1 -1
  324. package/dist/esm/components/button-group/CButtonToolbar.js.map +1 -1
  325. package/dist/esm/components/button-group/index.js.map +1 -1
  326. package/dist/esm/components/calendar/CCalendar.js +5 -7
  327. package/dist/esm/components/calendar/CCalendar.js.map +1 -1
  328. package/dist/esm/components/calendar/index.js.map +1 -1
  329. package/dist/esm/components/calendar/utils.d.ts +19 -5
  330. package/dist/esm/components/calendar/utils.js +20 -9
  331. package/dist/esm/components/calendar/utils.js.map +1 -1
  332. package/dist/esm/components/callout/CCallout.js.map +1 -1
  333. package/dist/esm/components/callout/index.js.map +1 -1
  334. package/dist/esm/components/card/CCard.js.map +1 -1
  335. package/dist/esm/components/card/CCardBody.js.map +1 -1
  336. package/dist/esm/components/card/CCardFooter.js.map +1 -1
  337. package/dist/esm/components/card/CCardGroup.js.map +1 -1
  338. package/dist/esm/components/card/CCardHeader.js.map +1 -1
  339. package/dist/esm/components/card/CCardImage.js.map +1 -1
  340. package/dist/esm/components/card/CCardImageOverlay.js.map +1 -1
  341. package/dist/esm/components/card/CCardLink.js.map +1 -1
  342. package/dist/esm/components/card/CCardSubtitle.js.map +1 -1
  343. package/dist/esm/components/card/CCardText.js.map +1 -1
  344. package/dist/esm/components/card/CCardTitle.js.map +1 -1
  345. package/dist/esm/components/card/index.js.map +1 -1
  346. package/dist/esm/components/carousel/CCarousel.js.map +1 -1
  347. package/dist/esm/components/carousel/CCarouselCaption.js.map +1 -1
  348. package/dist/esm/components/carousel/CCarouselItem.js.map +1 -1
  349. package/dist/esm/components/carousel/index.js.map +1 -1
  350. package/dist/esm/components/close-button/CCloseButton.js.map +1 -1
  351. package/dist/esm/components/close-button/index.js.map +1 -1
  352. package/dist/esm/components/collapse/CCollapse.js.map +1 -1
  353. package/dist/esm/components/collapse/__test__/CCollapse.spec.d.ts +1 -0
  354. package/dist/esm/components/collapse/index.js.map +1 -1
  355. package/dist/esm/components/conditional-teleport/CConditionalTeleport.js.map +1 -1
  356. package/dist/esm/components/conditional-teleport/index.js.map +1 -1
  357. package/dist/esm/components/date-picker/CDatePicker.d.ts +4 -4
  358. package/dist/esm/components/date-picker/CDatePicker.js.map +1 -1
  359. package/dist/esm/components/date-picker/index.js.map +1 -1
  360. package/dist/esm/components/date-range-picker/CDateRangePicker.d.ts +7 -7
  361. package/dist/esm/components/date-range-picker/CDateRangePicker.js +10 -6
  362. package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
  363. package/dist/esm/components/date-range-picker/index.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 +1 -1
  366. package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
  367. package/dist/esm/components/dropdown/CDropdownDivider.js.map +1 -1
  368. package/dist/esm/components/dropdown/CDropdownHeader.js.map +1 -1
  369. package/dist/esm/components/dropdown/CDropdownItem.js.map +1 -1
  370. package/dist/esm/components/dropdown/CDropdownMenu.js.map +1 -1
  371. package/dist/esm/components/dropdown/CDropdownToggle.d.ts +1 -1
  372. package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
  373. package/dist/esm/components/dropdown/index.js.map +1 -1
  374. package/dist/esm/components/dropdown/utils.js.map +1 -1
  375. package/dist/esm/components/element-cover/CElementCover.js.map +1 -1
  376. package/dist/esm/components/element-cover/index.js.map +1 -1
  377. package/dist/esm/components/footer/CFooter.js.map +1 -1
  378. package/dist/esm/components/footer/index.js.map +1 -1
  379. package/dist/esm/components/form/CForm.js.map +1 -1
  380. package/dist/esm/components/form/CFormCheck.js.map +1 -1
  381. package/dist/esm/components/form/CFormControlValidation.js.map +1 -1
  382. package/dist/esm/components/form/CFormControlWrapper.js.map +1 -1
  383. package/dist/esm/components/form/CFormFeedback.js.map +1 -1
  384. package/dist/esm/components/form/CFormFloating.js.map +1 -1
  385. package/dist/esm/components/form/CFormInput.js.map +1 -1
  386. package/dist/esm/components/form/CFormLabel.js.map +1 -1
  387. package/dist/esm/components/form/CFormRange.js.map +1 -1
  388. package/dist/esm/components/form/CFormSelect.js.map +1 -1
  389. package/dist/esm/components/form/CFormSwitch.js.map +1 -1
  390. package/dist/esm/components/form/CFormText.js.map +1 -1
  391. package/dist/esm/components/form/CFormTextarea.js.map +1 -1
  392. package/dist/esm/components/form/CInputGroup.js.map +1 -1
  393. package/dist/esm/components/form/CInputGroupText.js.map +1 -1
  394. package/dist/esm/components/form/index.js.map +1 -1
  395. package/dist/esm/components/grid/CCol.js.map +1 -1
  396. package/dist/esm/components/grid/CContainer.d.ts +1 -1
  397. package/dist/esm/components/grid/CContainer.js.map +1 -1
  398. package/dist/esm/components/grid/CRow.js.map +1 -1
  399. package/dist/esm/components/grid/index.js.map +1 -1
  400. package/dist/esm/components/header/CHeader.js.map +1 -1
  401. package/dist/esm/components/header/CHeaderBrand.js.map +1 -1
  402. package/dist/esm/components/header/CHeaderDivider.js.map +1 -1
  403. package/dist/esm/components/header/CHeaderNav.js.map +1 -1
  404. package/dist/esm/components/header/CHeaderText.js.map +1 -1
  405. package/dist/esm/components/header/CHeaderToggler.js.map +1 -1
  406. package/dist/esm/components/header/index.js.map +1 -1
  407. package/dist/esm/components/image/CImage.js.map +1 -1
  408. package/dist/esm/components/image/index.js.map +1 -1
  409. package/dist/esm/components/index.d.ts +1 -0
  410. package/dist/esm/components/index.js +2 -0
  411. package/dist/esm/components/index.js.map +1 -1
  412. package/dist/esm/components/link/CLink.js.map +1 -1
  413. package/dist/esm/components/link/index.js.map +1 -1
  414. package/dist/esm/components/list-group/CListGroup.js.map +1 -1
  415. package/dist/esm/components/list-group/CListGroupItem.js.map +1 -1
  416. package/dist/esm/components/list-group/index.js.map +1 -1
  417. package/dist/esm/components/loading-button/CLoadingButton.js.map +1 -1
  418. package/dist/esm/components/loading-button/index.js.map +1 -1
  419. package/dist/esm/components/modal/CModal.js.map +1 -1
  420. package/dist/esm/components/modal/CModalBody.js.map +1 -1
  421. package/dist/esm/components/modal/CModalFooter.js.map +1 -1
  422. package/dist/esm/components/modal/CModalHeader.js.map +1 -1
  423. package/dist/esm/components/modal/CModalTitle.js.map +1 -1
  424. package/dist/esm/components/modal/index.js.map +1 -1
  425. package/dist/esm/components/multi-select/CMultiSelect.d.ts +30 -11
  426. package/dist/esm/components/multi-select/CMultiSelect.js +165 -144
  427. package/dist/esm/components/multi-select/CMultiSelect.js.map +1 -1
  428. package/dist/esm/components/multi-select/CMultiSelectNativeSelect.d.ts +1 -1
  429. package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
  430. package/dist/esm/components/multi-select/CMultiSelectOptions.d.ts +2 -2
  431. package/dist/esm/components/multi-select/CMultiSelectOptions.js +4 -1
  432. package/dist/esm/components/multi-select/CMultiSelectOptions.js.map +1 -1
  433. package/dist/esm/components/multi-select/CMultiSelectSelection.d.ts +1 -1
  434. package/dist/esm/components/multi-select/CMultiSelectSelection.js.map +1 -1
  435. package/dist/esm/components/multi-select/index.js.map +1 -1
  436. package/dist/esm/components/multi-select/utils.d.ts +0 -2
  437. package/dist/esm/components/multi-select/utils.js +1 -25
  438. package/dist/esm/components/multi-select/utils.js.map +1 -1
  439. package/dist/esm/components/nav/CNav.js.map +1 -1
  440. package/dist/esm/components/nav/CNavGroup.js.map +1 -1
  441. package/dist/esm/components/nav/CNavGroupItems.js.map +1 -1
  442. package/dist/esm/components/nav/CNavItem.js.map +1 -1
  443. package/dist/esm/components/nav/CNavLink.js.map +1 -1
  444. package/dist/esm/components/nav/CNavTitle.js.map +1 -1
  445. package/dist/esm/components/nav/index.js.map +1 -1
  446. package/dist/esm/components/navbar/CNavbar.js.map +1 -1
  447. package/dist/esm/components/navbar/CNavbarBrand.js.map +1 -1
  448. package/dist/esm/components/navbar/CNavbarNav.js.map +1 -1
  449. package/dist/esm/components/navbar/CNavbarText.js.map +1 -1
  450. package/dist/esm/components/navbar/CNavbarToggler.js.map +1 -1
  451. package/dist/esm/components/navbar/index.js.map +1 -1
  452. package/dist/esm/components/offcanvas/COffcanvas.js.map +1 -1
  453. package/dist/esm/components/offcanvas/COffcanvasBody.js.map +1 -1
  454. package/dist/esm/components/offcanvas/COffcanvasHeader.js.map +1 -1
  455. package/dist/esm/components/offcanvas/COffcanvasTitle.js.map +1 -1
  456. package/dist/esm/components/offcanvas/index.js.map +1 -1
  457. package/dist/esm/components/pagination/CPagination.js.map +1 -1
  458. package/dist/esm/components/pagination/CPaginationItem.js.map +1 -1
  459. package/dist/esm/components/pagination/index.js.map +1 -1
  460. package/dist/esm/components/password-input/CPasswordInput.js.map +1 -1
  461. package/dist/esm/components/password-input/index.js.map +1 -1
  462. package/dist/esm/components/picker/CPicker.js.map +1 -1
  463. package/dist/esm/components/picker/index.js.map +1 -1
  464. package/dist/esm/components/placeholder/CPlaceholder.js.map +1 -1
  465. package/dist/esm/components/placeholder/index.js.map +1 -1
  466. package/dist/esm/components/popover/CPopover.d.ts +1 -1
  467. package/dist/esm/components/popover/CPopover.js.map +1 -1
  468. package/dist/esm/components/popover/index.js.map +1 -1
  469. package/dist/esm/components/progress/CProgress.js.map +1 -1
  470. package/dist/esm/components/progress/CProgressBar.js.map +1 -1
  471. package/dist/esm/components/progress/CProgressStacked.js.map +1 -1
  472. package/dist/esm/components/progress/index.js.map +1 -1
  473. package/dist/esm/components/props.js.map +1 -1
  474. package/dist/esm/components/range-slider/CRangeSlider.js.map +1 -1
  475. package/dist/esm/components/range-slider/index.js.map +1 -1
  476. package/dist/esm/components/range-slider/utils.js.map +1 -1
  477. package/dist/esm/components/rating/CRating.d.ts +1 -1
  478. package/dist/esm/components/rating/CRating.js.map +1 -1
  479. package/dist/esm/components/rating/index.js.map +1 -1
  480. package/dist/esm/components/sidebar/CSidebar.d.ts +1 -1
  481. package/dist/esm/components/sidebar/CSidebar.js.map +1 -1
  482. package/dist/esm/components/sidebar/CSidebarBrand.js.map +1 -1
  483. package/dist/esm/components/sidebar/CSidebarFooter.js.map +1 -1
  484. package/dist/esm/components/sidebar/CSidebarHeader.js.map +1 -1
  485. package/dist/esm/components/sidebar/CSidebarNav.js.map +1 -1
  486. package/dist/esm/components/sidebar/CSidebarToggler.js.map +1 -1
  487. package/dist/esm/components/sidebar/index.js.map +1 -1
  488. package/dist/esm/components/smart-pagination/CSmartPagination.js.map +1 -1
  489. package/dist/esm/components/smart-pagination/index.js.map +1 -1
  490. package/dist/esm/components/smart-table/CSmartTable.d.ts +1 -1
  491. package/dist/esm/components/smart-table/CSmartTable.js.map +1 -1
  492. package/dist/esm/components/smart-table/CSmartTableBody.js.map +1 -1
  493. package/dist/esm/components/smart-table/CSmartTableCleaner.d.ts +20 -0
  494. package/dist/esm/components/smart-table/CSmartTableHead.js.map +1 -1
  495. package/dist/esm/components/smart-table/CSmartTableInterface.d.ts +58 -0
  496. package/dist/esm/components/smart-table/index.js.map +1 -1
  497. package/dist/esm/components/smart-table/utils.js.map +1 -1
  498. package/dist/esm/components/spinner/CSpinner.js.map +1 -1
  499. package/dist/esm/components/spinner/index.js.map +1 -1
  500. package/dist/esm/components/stepper/CStepper.js.map +1 -1
  501. package/dist/esm/components/stepper/index.js.map +1 -1
  502. package/dist/esm/components/table/CTable.js.map +1 -1
  503. package/dist/esm/components/table/CTableBody.js.map +1 -1
  504. package/dist/esm/components/table/CTableCaption.js.map +1 -1
  505. package/dist/esm/components/table/CTableDataCell.js.map +1 -1
  506. package/dist/esm/components/table/CTableFoot.js.map +1 -1
  507. package/dist/esm/components/table/CTableHead.js.map +1 -1
  508. package/dist/esm/components/table/CTableHeaderCell.js.map +1 -1
  509. package/dist/esm/components/table/CTableRow.js.map +1 -1
  510. package/dist/esm/components/table/index.js.map +1 -1
  511. package/dist/esm/components/table/utils.js.map +1 -1
  512. package/dist/esm/components/tabs/CTab.js.map +1 -1
  513. package/dist/esm/components/tabs/CTabContent.js.map +1 -1
  514. package/dist/esm/components/tabs/CTabList.js.map +1 -1
  515. package/dist/esm/components/tabs/CTabPane.js.map +1 -1
  516. package/dist/esm/components/tabs/CTabPanel.js.map +1 -1
  517. package/dist/esm/components/tabs/CTabs.js.map +1 -1
  518. package/dist/esm/components/tabs/index.js.map +1 -1
  519. package/dist/esm/components/time-picker/CTimePicker.d.ts +5 -5
  520. package/dist/esm/components/time-picker/CTimePicker.js +14 -1
  521. package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
  522. package/dist/esm/components/time-picker/CTimePickerRollCol.js.map +1 -1
  523. package/dist/esm/components/time-picker/index.js.map +1 -1
  524. package/dist/esm/components/time-picker/utils.js.map +1 -1
  525. package/dist/esm/components/toast/CToast.js.map +1 -1
  526. package/dist/esm/components/toast/CToastBody.js.map +1 -1
  527. package/dist/esm/components/toast/CToastClose.js.map +1 -1
  528. package/dist/esm/components/toast/CToastHeader.js.map +1 -1
  529. package/dist/esm/components/toast/CToaster.js.map +1 -1
  530. package/dist/esm/components/toast/index.js.map +1 -1
  531. package/dist/esm/components/tooltip/CTooltip.d.ts +1 -1
  532. package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
  533. package/dist/esm/components/tooltip/index.js.map +1 -1
  534. package/dist/esm/components/virtual-scroller/CVirtualScroller.js.map +1 -1
  535. package/dist/esm/components/virtual-scroller/index.js.map +1 -1
  536. package/dist/esm/components/widgets/CWidgetStatsA.js.map +1 -1
  537. package/dist/esm/components/widgets/CWidgetStatsB.js.map +1 -1
  538. package/dist/esm/components/widgets/CWidgetStatsC.js.map +1 -1
  539. package/dist/esm/components/widgets/CWidgetStatsD.js.map +1 -1
  540. package/dist/esm/components/widgets/CWidgetStatsE.js.map +1 -1
  541. package/dist/esm/components/widgets/CWidgetStatsF.js.map +1 -1
  542. package/dist/esm/components/widgets/index.js.map +1 -1
  543. package/dist/esm/composables/useColorModes.js.map +1 -1
  544. package/dist/esm/composables/useDebouncedCallback.js.map +1 -1
  545. package/dist/esm/composables/useDropdownWithPopper.js.map +1 -1
  546. package/dist/esm/composables/useIsVisible.js.map +1 -1
  547. package/dist/esm/composables/usePopper.js.map +1 -1
  548. package/dist/esm/composables/useUniqueId.js.map +1 -1
  549. package/dist/esm/directives/v-c-placeholder.js.map +1 -1
  550. package/dist/esm/directives/v-c-popover.js.map +1 -1
  551. package/dist/esm/directives/v-c-tooltip.js.map +1 -1
  552. package/dist/esm/directives/v-c-visible.js.map +1 -1
  553. package/dist/esm/index.js +2 -0
  554. package/dist/esm/index.js.map +1 -1
  555. package/dist/esm/node_modules/@coreui/icons-vue/dist/index.es.js.map +1 -1
  556. package/dist/esm/node_modules/vue-types/dist/index.js.map +1 -1
  557. package/dist/esm/node_modules/vue-types/dist/shared/vue-types.8139b772.js.map +1 -1
  558. package/dist/esm/props.js.map +1 -1
  559. package/dist/esm/utils/getNextActiveElement.js.map +1 -1
  560. package/dist/esm/utils/getNextSibling.d.ts +2 -0
  561. package/dist/esm/utils/getNextSibling.js +18 -0
  562. package/dist/esm/utils/getNextSibling.js.map +1 -0
  563. package/dist/esm/utils/getPreviousSibling.d.ts +2 -0
  564. package/dist/esm/utils/getPreviousSibling.js +18 -0
  565. package/dist/esm/utils/getPreviousSibling.js.map +1 -0
  566. package/dist/esm/utils/getRTLPlacement.js.map +1 -1
  567. package/dist/esm/utils/index.d.ts +3 -1
  568. package/dist/esm/utils/isEqual.js.map +1 -1
  569. package/dist/esm/utils/isObjectInArray.js.map +1 -1
  570. package/dist/esm/utils/isRTL.js.map +1 -1
  571. package/dist/esm/utils/transition.js.map +1 -1
  572. package/package.json +7 -7
  573. package/src/components/autocomplete/CAutocomplete.ts +855 -0
  574. package/src/components/autocomplete/CAutocompleteOptions.ts +144 -0
  575. package/src/components/autocomplete/__tests__/CAutocomplete.spec.ts +429 -0
  576. package/src/components/autocomplete/__tests__/CAutocompleteOptions.spec.ts +368 -0
  577. package/src/components/autocomplete/__tests__/__snapshots__/CAutocomplete.spec.ts.snap +39 -0
  578. package/src/components/autocomplete/index.ts +10 -0
  579. package/src/components/autocomplete/types.ts +25 -0
  580. package/src/components/autocomplete/utils.ts +131 -0
  581. package/src/components/button/CButton.ts +2 -1
  582. package/src/components/calendar/CCalendar.ts +5 -10
  583. package/src/components/calendar/utils.ts +24 -10
  584. package/src/components/date-range-picker/CDateRangePicker.ts +33 -28
  585. package/src/components/index.ts +1 -0
  586. package/src/components/multi-select/CMultiSelect.ts +36 -16
  587. package/src/components/multi-select/CMultiSelectOptions.ts +5 -1
  588. package/src/components/multi-select/utils.ts +0 -34
  589. package/src/components/time-picker/CTimePicker.ts +13 -1
  590. package/src/utils/getNextSibling.ts +18 -0
  591. package/src/utils/getPreviousSibling.ts +18 -0
  592. package/src/utils/index.ts +4 -0
@@ -576,7 +576,7 @@ const CDateRangePicker = defineComponent({
576
576
  const inputStartHoverValue = ref<Date | string | null>(null)
577
577
  const inputEndHoverValue = ref<Date | string | null>(null)
578
578
  const isValid = ref<boolean | undefined>(
579
- props.valid ?? (props.invalid === true ? false : undefined),
579
+ props.valid ?? (props.invalid === true ? false : undefined)
580
580
  )
581
581
  const isMobile = ref(false)
582
582
  const selectEndDate = ref(false)
@@ -589,7 +589,7 @@ const CDateRangePicker = defineComponent({
589
589
  () => [props.valid, props.invalid],
590
590
  () => {
591
591
  isValid.value = props.valid ?? (props.invalid === true ? false : undefined)
592
- },
592
+ }
593
593
  )
594
594
 
595
595
  watch(
@@ -597,7 +597,7 @@ const CDateRangePicker = defineComponent({
597
597
  () => {
598
598
  calendarDate.value = props.startDate ? props.startDate : null
599
599
  startDate.value = props.startDate ? props.startDate : null
600
- },
600
+ }
601
601
  )
602
602
 
603
603
  watch(
@@ -605,21 +605,21 @@ const CDateRangePicker = defineComponent({
605
605
  () => {
606
606
  calendarDate.value = props.endDate ? props.endDate : null
607
607
  endDate.value = props.endDate ? props.endDate : null
608
- },
608
+ }
609
609
  )
610
610
 
611
611
  watch(
612
612
  () => props.maxDate,
613
613
  () => {
614
614
  maxDate.value = props.maxDate ? props.maxDate : null
615
- },
615
+ }
616
616
  )
617
617
 
618
618
  watch(
619
619
  () => props.minDate,
620
620
  () => {
621
621
  minDate.value = props.minDate ? props.minDate : null
622
- },
622
+ }
623
623
  )
624
624
 
625
625
  watch(inputStartRef, () => {
@@ -641,7 +641,7 @@ const CDateRangePicker = defineComponent({
641
641
  const formatDate = (date: Date | string) => {
642
642
  if (props.inputDateFormat) {
643
643
  return props.inputDateFormat(
644
- date instanceof Date ? new Date(date) : convertToDateObject(date, props.selectionType),
644
+ date instanceof Date ? new Date(date) : convertToDateObject(date, props.selectionType)
645
645
  )
646
646
  }
647
647
 
@@ -742,11 +742,16 @@ const CDateRangePicker = defineComponent({
742
742
  : getLocalDateFromString(value, props.locale, props.timepicker)
743
743
  if (date instanceof Date && date.getTime()) {
744
744
  calendarDate.value = date
745
- if (input === 'start') {
746
- startDate.value = date
747
- } else {
748
- endDate.value = date
749
- }
745
+ }
746
+
747
+ if (input === 'start') {
748
+ startDate.value = date ?? null
749
+ emit('start-date-change', date ?? null)
750
+ emit('update:start-date', date ?? null)
751
+ } else {
752
+ endDate.value = date ?? null
753
+ emit('end-date-change', date ?? null)
754
+ emit('update:end-date', date ?? null)
750
755
  }
751
756
  }
752
757
 
@@ -779,7 +784,7 @@ const CDateRangePicker = defineComponent({
779
784
  onInput: (event: Event) =>
780
785
  useDebouncedCallback(
781
786
  () => handleOnChange((event.target as HTMLInputElement).value, 'start'),
782
- props.inputOnChangeDelay,
787
+ props.inputOnChangeDelay
783
788
  ),
784
789
  placeholder: Array.isArray(props.placeholder)
785
790
  ? props.placeholder[0]
@@ -815,7 +820,7 @@ const CDateRangePicker = defineComponent({
815
820
  onInput: (event: Event) =>
816
821
  useDebouncedCallback(
817
822
  () => handleOnChange((event.target as HTMLInputElement).value, 'end'),
818
- props.inputOnChangeDelay,
823
+ props.inputOnChangeDelay
819
824
  ),
820
825
  placeholder: props.placeholder[1],
821
826
  readonly: props.inputReadOnly || typeof props.format === 'string',
@@ -847,7 +852,7 @@ const CDateRangePicker = defineComponent({
847
852
  class: 'date-picker-cleaner',
848
853
  onClick: (event: Event) => handleClear(event),
849
854
  }),
850
- ],
855
+ ]
851
856
  )
852
857
 
853
858
  return () =>
@@ -925,7 +930,7 @@ const CDateRangePicker = defineComponent({
925
930
  calendarDate.value = date
926
931
  },
927
932
  },
928
- () => props.todayButton,
933
+ () => props.todayButton
929
934
  ),
930
935
  props.cancelButton &&
931
936
  h(
@@ -943,7 +948,7 @@ const CDateRangePicker = defineComponent({
943
948
  size: props.cancelButtonSize,
944
949
  variant: props.cancelButtonVariant,
945
950
  },
946
- () => props.cancelButton,
951
+ () => props.cancelButton
947
952
  ),
948
953
  props.confirmButton &&
949
954
  h(
@@ -956,7 +961,7 @@ const CDateRangePicker = defineComponent({
956
961
  size: props.confirmButtonSize,
957
962
  variant: props.confirmButtonVariant,
958
963
  },
959
- () => props.confirmButton,
964
+ () => props.confirmButton
960
965
  ),
961
966
  ]),
962
967
  default: () =>
@@ -983,9 +988,9 @@ const CDateRangePicker = defineComponent({
983
988
  },
984
989
  variant: 'ghost',
985
990
  },
986
- () => key,
987
- ),
988
- ),
991
+ () => key
992
+ )
993
+ )
989
994
  ),
990
995
  h(
991
996
  'div',
@@ -1055,8 +1060,8 @@ const CDateRangePicker = defineComponent({
1055
1060
  navPrevDoubleIcon: () =>
1056
1061
  slots.navPrevDoubleIcon && slots.navPrevDoubleIcon(),
1057
1062
  }),
1058
- },
1059
- ),
1063
+ }
1064
+ )
1060
1065
  ),
1061
1066
  props.timepicker &&
1062
1067
  h(
@@ -1105,14 +1110,14 @@ const CDateRangePicker = defineComponent({
1105
1110
  ? startDate.value && new Date(startDate.value)
1106
1111
  : endDate.value && new Date(endDate.value),
1107
1112
  variant: 'select',
1108
- }),
1109
- ),
1113
+ })
1114
+ )
1110
1115
  ),
1111
- ],
1116
+ ]
1112
1117
  ),
1113
- },
1118
+ }
1114
1119
  ),
1115
- },
1120
+ }
1116
1121
  )
1117
1122
  },
1118
1123
  })
@@ -1,5 +1,6 @@
1
1
  export * from './accordion'
2
2
  export * from './alert'
3
+ export * from './autocomplete'
3
4
  export * from './avatar'
4
5
  export * from './backdrop'
5
6
  export * from './badge'
@@ -1,4 +1,4 @@
1
- import { computed, defineComponent, h, PropType, provide, ref, watch } from 'vue'
1
+ import { computed, defineComponent, h, PropType, provide, ref, useId, watch } from 'vue'
2
2
 
3
3
  import { CFormControlWrapper } from './../form/CFormControlWrapper'
4
4
  import { CConditionalTeleport } from '../conditional-teleport'
@@ -33,12 +33,21 @@ const CMultiSelect = defineComponent({
33
33
  /**
34
34
  * A string that provides an accessible label for the cleaner button. This label is read by screen readers to describe the action associated with the button.
35
35
  *
36
- * @since 5.7.0
36
+ * @since 5.13.0
37
37
  */
38
38
  ariaCleanerLabel: {
39
39
  type: String,
40
40
  default: 'Clear all selections',
41
41
  },
42
+ /**
43
+ * A string that provides an accessible label for the indicator button. This label is read by screen readers to describe the action associated with the button.
44
+ *
45
+ * @since 5.7.0
46
+ */
47
+ ariaIndicatorLabel: {
48
+ type: String,
49
+ default: 'Toggle dropdown',
50
+ },
42
51
  /**
43
52
  * Enables selection cleaner element.
44
53
  *
@@ -353,6 +362,7 @@ const CMultiSelect = defineComponent({
353
362
  const searchValue = ref('')
354
363
  const selected = ref<SelectedOption[]>([])
355
364
  const userOptions = ref<Option[]>([])
365
+ const uniqueId = useId()
356
366
 
357
367
  const {
358
368
  dropdownMenuElement,
@@ -626,17 +636,6 @@ const CMultiSelect = defineComponent({
626
636
  }
627
637
 
628
638
  return () => [
629
- h(CMultiSelectNativeSelect, {
630
- id: props.id,
631
- multiple: props.multiple,
632
- name: props.name,
633
- options: selected.value,
634
- required: props.required,
635
- value: props.multiple
636
- ? selected.value.map((option: SelectedOption) => option.value.toString())
637
- : selected.value.map((option: SelectedOption) => option.value)[0],
638
- onChange: () => emit('change', selected.value),
639
- }),
640
639
  h(
641
640
  CFormControlWrapper,
642
641
  {
@@ -646,7 +645,7 @@ const CMultiSelect = defineComponent({
646
645
  feedback: props.feedback,
647
646
  feedbackInvalid: props.feedbackInvalid,
648
647
  feedbackValid: props.feedbackValid,
649
- id: props.id,
648
+ id: props.id ?? uniqueId,
650
649
  invalid: props.invalid,
651
650
  label: props.label,
652
651
  text: props.text,
@@ -654,7 +653,18 @@ const CMultiSelect = defineComponent({
654
653
  valid: props.valid,
655
654
  },
656
655
  {
657
- default: () =>
656
+ default: () => [
657
+ h(CMultiSelectNativeSelect, {
658
+ id: props.id ?? uniqueId,
659
+ multiple: props.multiple,
660
+ name: props.name ?? uniqueId,
661
+ options: selected.value,
662
+ required: props.required,
663
+ value: props.multiple
664
+ ? selected.value.map((option: SelectedOption) => option.value.toString())
665
+ : selected.value.map((option: SelectedOption) => option.value)[0],
666
+ onChange: () => emit('change', selected.value),
667
+ }),
658
668
  h(
659
669
  'div',
660
670
  {
@@ -669,7 +679,10 @@ const CMultiSelect = defineComponent({
669
679
  },
670
680
  ],
671
681
  onKeydown: handleGlobalSearch,
682
+ role: 'combobox',
683
+ 'aria-haspopup': 'listbox',
672
684
  'aria-expanded': isOpen.value,
685
+ ...(props.teleport && { 'aria-owns': `multi-select-listbox-${uniqueId}` }),
673
686
  ref: multiSelectRef,
674
687
  },
675
688
  {
@@ -709,6 +722,8 @@ const CMultiSelect = defineComponent({
709
722
  type: 'text',
710
723
  class: 'form-multi-select-search',
711
724
  disabled: props.disabled,
725
+ id: `search-${props.id ?? uniqueId}`,
726
+ name: `search-${props.name ?? uniqueId}`,
712
727
  autocomplete: 'off',
713
728
  onInput: (event: InputEvent) => handleSearchChange(event),
714
729
  onKeydown: (event: KeyboardEvent) => handleSearchKeyDown(event),
@@ -769,6 +784,7 @@ const CMultiSelect = defineComponent({
769
784
  }
770
785
  },
771
786
  type: 'button',
787
+ 'aria-label': props.ariaIndicatorLabel,
772
788
  ...(props.disabled && { tabIndex: -1 }),
773
789
  }),
774
790
  ],
@@ -794,8 +810,11 @@ const CMultiSelect = defineComponent({
794
810
  show: props.teleport && isOpen.value,
795
811
  },
796
812
  ],
813
+ id: `multi-select-listbox-${uniqueId}`,
797
814
  onKeydown: handleGlobalSearch,
798
- role: 'menu',
815
+ role: 'listbox',
816
+ 'aria-labelledby': props.id ?? uniqueId,
817
+ 'aria-multiselectable': props.multiple,
799
818
  ref: dropdownMenuElement,
800
819
  },
801
820
  {
@@ -834,6 +853,7 @@ const CMultiSelect = defineComponent({
834
853
  ],
835
854
  }
836
855
  ),
856
+ ],
837
857
  }
838
858
  ),
839
859
  ]
@@ -3,7 +3,7 @@ import { defineComponent, h, PropType, VNode } from 'vue'
3
3
  import { CElementCover } from '../element-cover'
4
4
  import { CVirtualScroller } from '../virtual-scroller'
5
5
 
6
- import { getNextSibling, getPreviousSibling } from './utils'
6
+ import { getNextSibling, getPreviousSibling } from '../../utils'
7
7
  import type { Option, OptionsGroup } from './types'
8
8
 
9
9
  const CMultiSelectOptions = defineComponent({
@@ -91,6 +91,10 @@ const CMultiSelectOptions = defineComponent({
91
91
  onClick: () => handleOptionClick(option as Option),
92
92
  onKeydown: (event: any) => handleKeyDown(event, option as Option),
93
93
  tabindex: 0,
94
+ role: 'option',
95
+ 'aria-selected': props.selected.some(
96
+ (_option) => _option.value === option.value,
97
+ ),
94
98
  },
95
99
  props.scopedSlots && props.scopedSlots['options']
96
100
  ? h(props.scopedSlots['options'], { option: option })
@@ -66,46 +66,12 @@ export const flattenOptionsArray = (
66
66
  return optionsList
67
67
  }
68
68
 
69
- export const getNextSibling = (elem: HTMLElement, selector?: string) => {
70
- // Get the next sibling element
71
- let sibling = elem.nextElementSibling
72
-
73
- // If there's no selector, return the first sibling
74
- if (!selector) return sibling
75
-
76
- // If the sibling matches our selector, use it
77
- // If not, jump to the next sibling and continue the loop
78
- while (sibling) {
79
- if (sibling.matches(selector)) return sibling
80
- sibling = sibling.nextElementSibling
81
- }
82
-
83
- return
84
- }
85
-
86
69
  export const getOptionsList = (container: HTMLElement): HTMLElement[] => {
87
70
  return Array.from(
88
71
  container.querySelectorAll('.form-multi-select-option:not(.disabled):not(:disabled)'),
89
72
  )
90
73
  }
91
74
 
92
- export const getPreviousSibling = (elem: HTMLElement, selector?: string) => {
93
- // Get the next sibling element
94
- let sibling = elem.previousElementSibling
95
-
96
- // If there's no selector, return the first sibling
97
- if (!selector) return sibling
98
-
99
- // If the sibling matches our selector, use it
100
- // If not, jump to the next sibling and continue the loop
101
- while (sibling) {
102
- if (sibling.matches(selector)) return sibling
103
- sibling = sibling.previousElementSibling
104
- }
105
-
106
- return
107
- }
108
-
109
75
  export const isExternalSearch = (search: Search): boolean => {
110
76
  return (
111
77
  (typeof search === 'string' && search === 'external') ||
@@ -466,7 +466,19 @@ const CTimePicker = defineComponent({
466
466
  onInput: (event: Event) =>
467
467
  useDebouncedCallback(() => {
468
468
  if (isValidTime((event.target as HTMLInputElement).value)) {
469
- date.value = convertTimeToDate((event.target as HTMLInputElement).value)
469
+ const _date = convertTimeToDate((event.target as HTMLInputElement).value)
470
+ date.value = _date
471
+
472
+ if (_date) {
473
+ emit('change', _date.toTimeString(), _date.toLocaleTimeString(props.locale), _date)
474
+ emit('update:time', _date.toLocaleTimeString(props.locale))
475
+ } else {
476
+ emit('change', null)
477
+ emit('update:time', null)
478
+ }
479
+ } else {
480
+ emit('change', null)
481
+ emit('update:time', null)
470
482
  }
471
483
  }, props.inputOnChangeDelay),
472
484
  placeholder: props.placeholder,
@@ -0,0 +1,18 @@
1
+ export const getNextSibling = (elem: HTMLElement, selector?: string) => {
2
+ // Get the next sibling element
3
+ let sibling = elem.nextElementSibling
4
+
5
+ // If there's no selector, return the first sibling
6
+ if (!selector) return sibling
7
+
8
+ // If the sibling matches our selector, use it
9
+ // If not, jump to the next sibling and continue the loop
10
+ while (sibling) {
11
+ if (sibling.matches(selector)) return sibling
12
+ sibling = sibling.nextElementSibling
13
+ }
14
+
15
+ return
16
+ }
17
+
18
+ export default getNextSibling
@@ -0,0 +1,18 @@
1
+ const getPreviousSibling = (elem: HTMLElement, selector?: string) => {
2
+ // Get the next sibling element
3
+ let sibling = elem.previousElementSibling
4
+
5
+ // If there's no selector, return the first sibling
6
+ if (!selector) return sibling
7
+
8
+ // If the sibling matches our selector, use it
9
+ // If not, jump to the next sibling and continue the loop
10
+ while (sibling) {
11
+ if (sibling.matches(selector)) return sibling
12
+ sibling = sibling.previousElementSibling
13
+ }
14
+
15
+ return
16
+ }
17
+
18
+ export default getPreviousSibling
@@ -1,4 +1,6 @@
1
1
  import getNextActiveElement from './getNextActiveElement'
2
+ import getNextSibling from './getNextSibling'
3
+ import getPreviousSibling from './getPreviousSibling'
2
4
  import getRTLPlacement from './getRTLPlacement'
3
5
  import getUID from './getUID'
4
6
  import isEqual from './isEqual'
@@ -8,6 +10,8 @@ import isRTL from './isRTL'
8
10
 
9
11
  export {
10
12
  getNextActiveElement,
13
+ getNextSibling,
14
+ getPreviousSibling,
11
15
  getRTLPlacement,
12
16
  getUID,
13
17
  isEqual,