@coreui/react-pro 5.12.0 → 5.14.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 (577) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/accordion/CAccordion.d.ts +0 -6
  3. package/dist/cjs/components/accordion/CAccordion.js +3 -4
  4. package/dist/cjs/components/accordion/CAccordion.js.map +1 -1
  5. package/dist/cjs/components/accordion/CAccordionBody.js +2 -2
  6. package/dist/cjs/components/accordion/CAccordionBody.js.map +1 -1
  7. package/dist/cjs/components/accordion/CAccordionButton.js +2 -2
  8. package/dist/cjs/components/accordion/CAccordionButton.js.map +1 -1
  9. package/dist/cjs/components/accordion/CAccordionContext.d.ts +6 -0
  10. package/dist/cjs/components/accordion/CAccordionContext.js +8 -0
  11. package/dist/cjs/components/accordion/CAccordionContext.js.map +1 -0
  12. package/dist/cjs/components/accordion/CAccordionItem.d.ts +0 -6
  13. package/dist/cjs/components/accordion/CAccordionItem.js +6 -6
  14. package/dist/cjs/components/accordion/CAccordionItem.js.map +1 -1
  15. package/dist/cjs/components/accordion/CAccordionItemContext.d.ts +6 -0
  16. package/dist/cjs/components/accordion/CAccordionItemContext.js +8 -0
  17. package/dist/cjs/components/accordion/CAccordionItemContext.js.map +1 -0
  18. package/dist/cjs/components/alert/CAlert.js.map +1 -1
  19. package/dist/cjs/components/alert/CAlertHeading.js.map +1 -1
  20. package/dist/cjs/components/backdrop/CBackdrop.js.map +1 -1
  21. package/dist/cjs/components/badge/CBadge.js.map +1 -1
  22. package/dist/cjs/components/button/CButton.js.map +1 -1
  23. package/dist/cjs/components/calendar/CCalendar.js +53 -38
  24. package/dist/cjs/components/calendar/CCalendar.js.map +1 -1
  25. package/dist/cjs/components/calendar/CCalendarNavigation.js.map +1 -1
  26. package/dist/cjs/components/calendar/CCalendarPanel.js.map +1 -1
  27. package/dist/cjs/components/calendar/utils.d.ts +8 -0
  28. package/dist/cjs/components/calendar/utils.js +16 -0
  29. package/dist/cjs/components/calendar/utils.js.map +1 -1
  30. package/dist/cjs/components/card/CCardHeader.js.map +1 -1
  31. package/dist/cjs/components/card/CCardSubtitle.js.map +1 -1
  32. package/dist/cjs/components/card/CCardText.js.map +1 -1
  33. package/dist/cjs/components/card/CCardTitle.js.map +1 -1
  34. package/dist/cjs/components/carousel/CCarousel.d.ts +0 -5
  35. package/dist/cjs/components/carousel/CCarousel.js +2 -3
  36. package/dist/cjs/components/carousel/CCarousel.js.map +1 -1
  37. package/dist/cjs/components/carousel/CCarouselContext.d.ts +5 -0
  38. package/dist/cjs/components/carousel/CCarouselContext.js +8 -0
  39. package/dist/cjs/components/carousel/CCarouselContext.js.map +1 -0
  40. package/dist/cjs/components/carousel/CCarouselItem.js +3 -3
  41. package/dist/cjs/components/carousel/CCarouselItem.js.map +1 -1
  42. package/dist/cjs/components/date-picker/CDatePicker.js.map +1 -1
  43. package/dist/cjs/components/date-range-picker/CDateRangePicker.js +53 -33
  44. package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
  45. package/dist/cjs/components/dropdown/CDropdown.d.ts +1 -9
  46. package/dist/cjs/components/dropdown/CDropdown.js +26 -18
  47. package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
  48. package/dist/cjs/components/dropdown/CDropdownContext.d.ts +15 -0
  49. package/dist/cjs/components/dropdown/CDropdownContext.js +8 -0
  50. package/dist/cjs/components/dropdown/CDropdownContext.js.map +1 -0
  51. package/dist/cjs/components/dropdown/CDropdownHeader.js.map +1 -1
  52. package/dist/cjs/components/dropdown/CDropdownItem.js.map +1 -1
  53. package/dist/cjs/components/dropdown/CDropdownItemPlain.js.map +1 -1
  54. package/dist/cjs/components/dropdown/CDropdownMenu.js +2 -2
  55. package/dist/cjs/components/dropdown/CDropdownMenu.js.map +1 -1
  56. package/dist/cjs/components/dropdown/CDropdownToggle.js +2 -2
  57. package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
  58. package/dist/cjs/components/form/CFormCheck.js.map +1 -1
  59. package/dist/cjs/components/form/CFormFeedback.js.map +1 -1
  60. package/dist/cjs/components/form/CFormInput.js.map +1 -1
  61. package/dist/cjs/components/form/CFormLabel.js.map +1 -1
  62. package/dist/cjs/components/form/CFormText.js.map +1 -1
  63. package/dist/cjs/components/form/CInputGroupText.js.map +1 -1
  64. package/dist/cjs/components/header/CHeaderBrand.js.map +1 -1
  65. package/dist/cjs/components/header/CHeaderNav.js.map +1 -1
  66. package/dist/cjs/components/header/CHeaderToggler.js.map +1 -1
  67. package/dist/cjs/components/index.d.ts +2 -0
  68. package/dist/cjs/components/link/CLink.js.map +1 -1
  69. package/dist/cjs/components/list-group/CListGroup.js.map +1 -1
  70. package/dist/cjs/components/list-group/CListGroupItem.js.map +1 -1
  71. package/dist/cjs/components/loading-button/CLoadingButton.js.map +1 -1
  72. package/dist/cjs/components/modal/CModal.d.ts +0 -6
  73. package/dist/cjs/components/modal/CModal.js +2 -3
  74. package/dist/cjs/components/modal/CModal.js.map +1 -1
  75. package/dist/cjs/components/modal/CModalContext.d.ts +5 -0
  76. package/dist/cjs/components/modal/CModalContext.js +8 -0
  77. package/dist/cjs/components/modal/CModalContext.js.map +1 -0
  78. package/dist/cjs/components/modal/CModalHeader.js +2 -2
  79. package/dist/cjs/components/modal/CModalHeader.js.map +1 -1
  80. package/dist/cjs/components/modal/CModalTitle.js.map +1 -1
  81. package/dist/cjs/components/multi-select/CMultiSelect.d.ts +6 -0
  82. package/dist/cjs/components/multi-select/CMultiSelect.js +21 -4
  83. package/dist/cjs/components/multi-select/CMultiSelect.js.map +1 -1
  84. package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
  85. package/dist/cjs/components/multi-select/CMultiSelectOptions.js.map +1 -1
  86. package/dist/cjs/components/multi-select/CMultiSelectSelection.js.map +1 -1
  87. package/dist/cjs/components/nav/CNav.js.map +1 -1
  88. package/dist/cjs/components/nav/CNavGroup.js +2 -2
  89. package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
  90. package/dist/cjs/components/nav/CNavGroupItems.js.map +1 -1
  91. package/dist/cjs/components/nav/CNavItem.js.map +1 -1
  92. package/dist/cjs/components/nav/CNavLink.js +2 -2
  93. package/dist/cjs/components/nav/CNavLink.js.map +1 -1
  94. package/dist/cjs/components/nav/CNavTitle.js.map +1 -1
  95. package/dist/cjs/components/navbar/CNavbar.js.map +1 -1
  96. package/dist/cjs/components/navbar/CNavbarBrand.js.map +1 -1
  97. package/dist/cjs/components/navbar/CNavbarNav.js.map +1 -1
  98. package/dist/cjs/components/navbar/CNavbarToggler.js.map +1 -1
  99. package/dist/cjs/components/offcanvas/COffcanvas.js.map +1 -1
  100. package/dist/cjs/components/offcanvas/COffcanvasTitle.js.map +1 -1
  101. package/dist/cjs/components/pagination/CPaginationItem.js.map +1 -1
  102. package/dist/cjs/components/password-input/CPasswordInput.d.ts +43 -0
  103. package/dist/cjs/components/password-input/CPasswordInput.js +37 -0
  104. package/dist/cjs/components/password-input/CPasswordInput.js.map +1 -0
  105. package/dist/cjs/components/password-input/index.d.ts +2 -0
  106. package/dist/cjs/components/picker/CPicker.js.map +1 -1
  107. package/dist/cjs/components/placeholder/CPlaceholder.js.map +1 -1
  108. package/dist/cjs/components/popover/CPopover.js.map +1 -1
  109. package/dist/cjs/components/progress/CProgress.js +2 -2
  110. package/dist/cjs/components/progress/CProgress.js.map +1 -1
  111. package/dist/cjs/components/progress/CProgressBar.d.ts +1 -1
  112. package/dist/cjs/components/progress/CProgressBar.js +3 -3
  113. package/dist/cjs/components/progress/CProgressBar.js.map +1 -1
  114. package/dist/cjs/components/progress/CProgressStacked.d.ts +0 -4
  115. package/dist/cjs/components/progress/CProgressStacked.js +2 -3
  116. package/dist/cjs/components/progress/CProgressStacked.js.map +1 -1
  117. package/dist/cjs/components/progress/CProgressStackedContext.d.ts +4 -0
  118. package/dist/cjs/components/progress/CProgressStackedContext.js +8 -0
  119. package/dist/cjs/components/progress/CProgressStackedContext.js.map +1 -0
  120. package/dist/cjs/components/range-slider/CRangeSlider.js.map +1 -1
  121. package/dist/cjs/components/rating/CRating.js.map +1 -1
  122. package/dist/cjs/components/sidebar/CSidebar.js.map +1 -1
  123. package/dist/cjs/components/sidebar/CSidebarBrand.js.map +1 -1
  124. package/dist/cjs/components/sidebar/CSidebarNav.d.ts +1 -7
  125. package/dist/cjs/components/sidebar/CSidebarNav.js +15 -14
  126. package/dist/cjs/components/sidebar/CSidebarNav.js.map +1 -1
  127. package/dist/cjs/components/sidebar/CSidebarNavContext.d.ts +5 -0
  128. package/dist/cjs/components/sidebar/CSidebarNavContext.js +8 -0
  129. package/dist/cjs/components/sidebar/CSidebarNavContext.js.map +1 -0
  130. package/dist/cjs/components/smart-pagination/CSmartPagination.js.map +1 -1
  131. package/dist/cjs/components/smart-table/CSmartTable.js.map +1 -1
  132. package/dist/cjs/components/smart-table/CSmartTableBody.js.map +1 -1
  133. package/dist/cjs/components/smart-table/CSmartTableHead.js.map +1 -1
  134. package/dist/cjs/components/smart-table/utils.js.map +1 -1
  135. package/dist/cjs/components/spinner/CSpinner.js.map +1 -1
  136. package/dist/cjs/components/stepper/CStepper.d.ts +84 -0
  137. package/dist/cjs/components/stepper/CStepper.js +201 -0
  138. package/dist/cjs/components/stepper/CStepper.js.map +1 -0
  139. package/dist/cjs/components/stepper/index.d.ts +2 -0
  140. package/dist/cjs/components/stepper/types.d.ts +17 -0
  141. package/dist/cjs/components/tabs/CTab.js +2 -2
  142. package/dist/cjs/components/tabs/CTab.js.map +1 -1
  143. package/dist/cjs/components/tabs/CTabList.js.map +1 -1
  144. package/dist/cjs/components/tabs/CTabPane.js +1 -1
  145. package/dist/cjs/components/tabs/CTabPane.js.map +1 -1
  146. package/dist/cjs/components/tabs/CTabPanel.js +3 -3
  147. package/dist/cjs/components/tabs/CTabPanel.js.map +1 -1
  148. package/dist/cjs/components/tabs/CTabs.d.ts +29 -9
  149. package/dist/cjs/components/tabs/CTabs.js +14 -9
  150. package/dist/cjs/components/tabs/CTabs.js.map +1 -1
  151. package/dist/cjs/components/tabs/CTabsContext.d.ts +6 -0
  152. package/dist/cjs/components/tabs/CTabsContext.js +8 -0
  153. package/dist/cjs/components/tabs/CTabsContext.js.map +1 -0
  154. package/dist/cjs/components/time-picker/CTimePicker.js +13 -7
  155. package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
  156. package/dist/cjs/components/time-picker/CTimePickerRollCol.js.map +1 -1
  157. package/dist/cjs/components/time-picker/utils.d.ts +10 -0
  158. package/dist/cjs/components/time-picker/utils.js +25 -9
  159. package/dist/cjs/components/time-picker/utils.js.map +1 -1
  160. package/dist/cjs/components/toast/CToast.d.ts +0 -6
  161. package/dist/cjs/components/toast/CToast.js +5 -9
  162. package/dist/cjs/components/toast/CToast.js.map +1 -1
  163. package/dist/cjs/components/toast/CToastClose.js +2 -2
  164. package/dist/cjs/components/toast/CToastClose.js.map +1 -1
  165. package/dist/cjs/components/toast/CToastContext.d.ts +5 -0
  166. package/dist/cjs/components/toast/CToastContext.js +8 -0
  167. package/dist/cjs/components/toast/CToastContext.js.map +1 -0
  168. package/dist/cjs/components/toast/CToaster.d.ts +2 -1
  169. package/dist/cjs/components/toast/CToaster.js +4 -2
  170. package/dist/cjs/components/toast/CToaster.js.map +1 -1
  171. package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
  172. package/dist/cjs/components/widgets/CWidgetStatsF.js.map +1 -1
  173. package/dist/cjs/hooks/useClipboard.js.map +1 -1
  174. package/dist/cjs/hooks/useColorModes.js.map +1 -1
  175. package/dist/cjs/hooks/useDebouncedCallback.js.map +1 -1
  176. package/dist/cjs/hooks/useDropdownWithPopper.d.ts +2 -2
  177. package/dist/cjs/hooks/usePopper.js +2 -2
  178. package/dist/cjs/hooks/usePopper.js.map +1 -1
  179. package/dist/cjs/index.js +4 -0
  180. package/dist/cjs/index.js.map +1 -1
  181. package/dist/cjs/node_modules/@coreui/icons-react/dist/index.esm.js.map +1 -1
  182. package/dist/cjs/node_modules/dom-helpers/esm/hasClass.js.map +1 -1
  183. package/dist/cjs/node_modules/react-device-detect/dist/lib.js +1 -1
  184. package/dist/cjs/node_modules/react-device-detect/dist/lib.js.map +1 -1
  185. package/dist/cjs/node_modules/react-transition-group/esm/CSSTransition.js +9 -9
  186. package/dist/cjs/node_modules/react-transition-group/esm/CSSTransition.js.map +1 -1
  187. package/dist/cjs/node_modules/react-transition-group/esm/Transition.js.map +1 -1
  188. package/dist/cjs/node_modules/tslib/tslib.es6.js.map +1 -1
  189. package/dist/cjs/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
  190. package/dist/cjs/utils/executeAfterTransition.js.map +1 -1
  191. package/dist/cjs/utils/getNextActiveElement.js.map +1 -1
  192. package/dist/cjs/utils/index.d.ts +1 -2
  193. package/dist/cjs/utils/isObjectInArray.js.map +1 -1
  194. package/dist/esm/components/accordion/CAccordion.d.ts +0 -6
  195. package/dist/esm/components/accordion/CAccordion.js +4 -4
  196. package/dist/esm/components/accordion/CAccordion.js.map +1 -1
  197. package/dist/esm/components/accordion/CAccordionBody.js +1 -1
  198. package/dist/esm/components/accordion/CAccordionBody.js.map +1 -1
  199. package/dist/esm/components/accordion/CAccordionButton.js +1 -1
  200. package/dist/esm/components/accordion/CAccordionContext.d.ts +6 -0
  201. package/dist/esm/components/accordion/CAccordionContext.js +6 -0
  202. package/dist/esm/components/accordion/CAccordionContext.js.map +1 -0
  203. package/dist/esm/components/accordion/CAccordionItem.d.ts +0 -6
  204. package/dist/esm/components/accordion/CAccordionItem.js +6 -5
  205. package/dist/esm/components/accordion/CAccordionItem.js.map +1 -1
  206. package/dist/esm/components/accordion/CAccordionItemContext.d.ts +6 -0
  207. package/dist/esm/components/accordion/CAccordionItemContext.js +6 -0
  208. package/dist/esm/components/accordion/CAccordionItemContext.js.map +1 -0
  209. package/dist/esm/components/alert/CAlert.js.map +1 -1
  210. package/dist/esm/components/alert/CAlertHeading.js.map +1 -1
  211. package/dist/esm/components/avatar/CAvatar.js +1 -1
  212. package/dist/esm/components/backdrop/CBackdrop.js.map +1 -1
  213. package/dist/esm/components/badge/CBadge.js +1 -1
  214. package/dist/esm/components/badge/CBadge.js.map +1 -1
  215. package/dist/esm/components/button/CButton.js.map +1 -1
  216. package/dist/esm/components/calendar/CCalendar.js +54 -39
  217. package/dist/esm/components/calendar/CCalendar.js.map +1 -1
  218. package/dist/esm/components/calendar/CCalendarNavigation.js.map +1 -1
  219. package/dist/esm/components/calendar/CCalendarPanel.js.map +1 -1
  220. package/dist/esm/components/calendar/utils.d.ts +8 -0
  221. package/dist/esm/components/calendar/utils.js +16 -1
  222. package/dist/esm/components/calendar/utils.js.map +1 -1
  223. package/dist/esm/components/card/CCardHeader.js.map +1 -1
  224. package/dist/esm/components/card/CCardSubtitle.js.map +1 -1
  225. package/dist/esm/components/card/CCardText.js.map +1 -1
  226. package/dist/esm/components/card/CCardTitle.js.map +1 -1
  227. package/dist/esm/components/carousel/CCarousel.d.ts +0 -5
  228. package/dist/esm/components/carousel/CCarousel.js +3 -3
  229. package/dist/esm/components/carousel/CCarousel.js.map +1 -1
  230. package/dist/esm/components/carousel/CCarouselContext.d.ts +5 -0
  231. package/dist/esm/components/carousel/CCarouselContext.js +6 -0
  232. package/dist/esm/components/carousel/CCarouselContext.js.map +1 -0
  233. package/dist/esm/components/carousel/CCarouselItem.js +2 -2
  234. package/dist/esm/components/carousel/CCarouselItem.js.map +1 -1
  235. package/dist/esm/components/date-picker/CDatePicker.js.map +1 -1
  236. package/dist/esm/components/date-range-picker/CDateRangePicker.js +47 -27
  237. package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
  238. package/dist/esm/components/dropdown/CDropdown.d.ts +1 -9
  239. package/dist/esm/components/dropdown/CDropdown.js +27 -18
  240. package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
  241. package/dist/esm/components/dropdown/CDropdownContext.d.ts +15 -0
  242. package/dist/esm/components/dropdown/CDropdownContext.js +6 -0
  243. package/dist/esm/components/dropdown/CDropdownContext.js.map +1 -0
  244. package/dist/esm/components/dropdown/CDropdownHeader.js.map +1 -1
  245. package/dist/esm/components/dropdown/CDropdownItem.js.map +1 -1
  246. package/dist/esm/components/dropdown/CDropdownItemPlain.js.map +1 -1
  247. package/dist/esm/components/dropdown/CDropdownMenu.js +1 -1
  248. package/dist/esm/components/dropdown/CDropdownMenu.js.map +1 -1
  249. package/dist/esm/components/dropdown/CDropdownToggle.js +1 -1
  250. package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
  251. package/dist/esm/components/form/CFormCheck.js.map +1 -1
  252. package/dist/esm/components/form/CFormFeedback.js.map +1 -1
  253. package/dist/esm/components/form/CFormInput.js.map +1 -1
  254. package/dist/esm/components/form/CFormLabel.js.map +1 -1
  255. package/dist/esm/components/form/CFormText.js.map +1 -1
  256. package/dist/esm/components/form/CInputGroupText.js.map +1 -1
  257. package/dist/esm/components/header/CHeaderBrand.js.map +1 -1
  258. package/dist/esm/components/header/CHeaderNav.js.map +1 -1
  259. package/dist/esm/components/header/CHeaderToggler.js.map +1 -1
  260. package/dist/esm/components/index.d.ts +2 -0
  261. package/dist/esm/components/link/CLink.js.map +1 -1
  262. package/dist/esm/components/list-group/CListGroup.js.map +1 -1
  263. package/dist/esm/components/list-group/CListGroupItem.js.map +1 -1
  264. package/dist/esm/components/loading-button/CLoadingButton.js.map +1 -1
  265. package/dist/esm/components/modal/CModal.d.ts +0 -6
  266. package/dist/esm/components/modal/CModal.js +3 -3
  267. package/dist/esm/components/modal/CModal.js.map +1 -1
  268. package/dist/esm/components/modal/CModalContext.d.ts +5 -0
  269. package/dist/esm/components/modal/CModalContext.js +6 -0
  270. package/dist/esm/components/modal/CModalContext.js.map +1 -0
  271. package/dist/esm/components/modal/CModalHeader.js +1 -1
  272. package/dist/esm/components/modal/CModalHeader.js.map +1 -1
  273. package/dist/esm/components/modal/CModalTitle.js.map +1 -1
  274. package/dist/esm/components/multi-select/CMultiSelect.d.ts +6 -0
  275. package/dist/esm/components/multi-select/CMultiSelect.js +22 -5
  276. package/dist/esm/components/multi-select/CMultiSelect.js.map +1 -1
  277. package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
  278. package/dist/esm/components/multi-select/CMultiSelectOptions.js.map +1 -1
  279. package/dist/esm/components/multi-select/CMultiSelectSelection.js.map +1 -1
  280. package/dist/esm/components/nav/CNav.js.map +1 -1
  281. package/dist/esm/components/nav/CNavGroup.js +2 -2
  282. package/dist/esm/components/nav/CNavGroup.js.map +1 -1
  283. package/dist/esm/components/nav/CNavGroupItems.js.map +1 -1
  284. package/dist/esm/components/nav/CNavItem.js.map +1 -1
  285. package/dist/esm/components/nav/CNavLink.js +2 -2
  286. package/dist/esm/components/nav/CNavLink.js.map +1 -1
  287. package/dist/esm/components/nav/CNavTitle.js.map +1 -1
  288. package/dist/esm/components/navbar/CNavbar.js.map +1 -1
  289. package/dist/esm/components/navbar/CNavbarBrand.js.map +1 -1
  290. package/dist/esm/components/navbar/CNavbarNav.js.map +1 -1
  291. package/dist/esm/components/navbar/CNavbarToggler.js.map +1 -1
  292. package/dist/esm/components/offcanvas/COffcanvas.js.map +1 -1
  293. package/dist/esm/components/offcanvas/COffcanvasTitle.js.map +1 -1
  294. package/dist/esm/components/pagination/CPaginationItem.js.map +1 -1
  295. package/dist/esm/components/password-input/CPasswordInput.d.ts +43 -0
  296. package/dist/esm/components/password-input/CPasswordInput.js +35 -0
  297. package/dist/esm/components/password-input/CPasswordInput.js.map +1 -0
  298. package/dist/esm/components/password-input/index.d.ts +2 -0
  299. package/dist/esm/components/picker/CPicker.js.map +1 -1
  300. package/dist/esm/components/placeholder/CPlaceholder.js.map +1 -1
  301. package/dist/esm/components/popover/CPopover.js +1 -1
  302. package/dist/esm/components/popover/CPopover.js.map +1 -1
  303. package/dist/esm/components/progress/CProgress.js +1 -1
  304. package/dist/esm/components/progress/CProgressBar.d.ts +1 -1
  305. package/dist/esm/components/progress/CProgressBar.js +2 -2
  306. package/dist/esm/components/progress/CProgressBar.js.map +1 -1
  307. package/dist/esm/components/progress/CProgressStacked.d.ts +0 -4
  308. package/dist/esm/components/progress/CProgressStacked.js +3 -3
  309. package/dist/esm/components/progress/CProgressStacked.js.map +1 -1
  310. package/dist/esm/components/progress/CProgressStackedContext.d.ts +4 -0
  311. package/dist/esm/components/progress/CProgressStackedContext.js +6 -0
  312. package/dist/esm/components/progress/CProgressStackedContext.js.map +1 -0
  313. package/dist/esm/components/range-slider/CRangeSlider.js.map +1 -1
  314. package/dist/esm/components/rating/CRating.js.map +1 -1
  315. package/dist/esm/components/sidebar/CSidebar.js.map +1 -1
  316. package/dist/esm/components/sidebar/CSidebarBrand.js.map +1 -1
  317. package/dist/esm/components/sidebar/CSidebarNav.d.ts +1 -7
  318. package/dist/esm/components/sidebar/CSidebarNav.js +17 -15
  319. package/dist/esm/components/sidebar/CSidebarNav.js.map +1 -1
  320. package/dist/esm/components/sidebar/CSidebarNavContext.d.ts +5 -0
  321. package/dist/esm/components/sidebar/CSidebarNavContext.js +6 -0
  322. package/dist/esm/components/sidebar/CSidebarNavContext.js.map +1 -0
  323. package/dist/esm/components/smart-pagination/CSmartPagination.js.map +1 -1
  324. package/dist/esm/components/smart-table/CSmartTable.js.map +1 -1
  325. package/dist/esm/components/smart-table/CSmartTableBody.js.map +1 -1
  326. package/dist/esm/components/smart-table/CSmartTableHead.js.map +1 -1
  327. package/dist/esm/components/smart-table/utils.js +1 -1
  328. package/dist/esm/components/smart-table/utils.js.map +1 -1
  329. package/dist/esm/components/spinner/CSpinner.js.map +1 -1
  330. package/dist/esm/components/stepper/CStepper.d.ts +84 -0
  331. package/dist/esm/components/stepper/CStepper.js +199 -0
  332. package/dist/esm/components/stepper/CStepper.js.map +1 -0
  333. package/dist/esm/components/stepper/index.d.ts +2 -0
  334. package/dist/esm/components/stepper/types.d.ts +17 -0
  335. package/dist/esm/components/tabs/CTab.js +2 -2
  336. package/dist/esm/components/tabs/CTab.js.map +1 -1
  337. package/dist/esm/components/tabs/CTabList.js.map +1 -1
  338. package/dist/esm/components/tabs/CTabPane.js +1 -1
  339. package/dist/esm/components/tabs/CTabPane.js.map +1 -1
  340. package/dist/esm/components/tabs/CTabPanel.js +3 -3
  341. package/dist/esm/components/tabs/CTabPanel.js.map +1 -1
  342. package/dist/esm/components/tabs/CTabs.d.ts +29 -9
  343. package/dist/esm/components/tabs/CTabs.js +16 -10
  344. package/dist/esm/components/tabs/CTabs.js.map +1 -1
  345. package/dist/esm/components/tabs/CTabsContext.d.ts +6 -0
  346. package/dist/esm/components/tabs/CTabsContext.js +6 -0
  347. package/dist/esm/components/tabs/CTabsContext.js.map +1 -0
  348. package/dist/esm/components/time-picker/CTimePicker.js +14 -8
  349. package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
  350. package/dist/esm/components/time-picker/CTimePickerRollCol.js.map +1 -1
  351. package/dist/esm/components/time-picker/utils.d.ts +10 -0
  352. package/dist/esm/components/time-picker/utils.js +25 -10
  353. package/dist/esm/components/time-picker/utils.js.map +1 -1
  354. package/dist/esm/components/toast/CToast.d.ts +0 -6
  355. package/dist/esm/components/toast/CToast.js +6 -9
  356. package/dist/esm/components/toast/CToast.js.map +1 -1
  357. package/dist/esm/components/toast/CToastClose.js +1 -1
  358. package/dist/esm/components/toast/CToastClose.js.map +1 -1
  359. package/dist/esm/components/toast/CToastContext.d.ts +5 -0
  360. package/dist/esm/components/toast/CToastContext.js +6 -0
  361. package/dist/esm/components/toast/CToastContext.js.map +1 -0
  362. package/dist/esm/components/toast/CToaster.d.ts +2 -1
  363. package/dist/esm/components/toast/CToaster.js +4 -2
  364. package/dist/esm/components/toast/CToaster.js.map +1 -1
  365. package/dist/esm/components/tooltip/CTooltip.js +1 -1
  366. package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
  367. package/dist/esm/components/widgets/CWidgetStatsF.js.map +1 -1
  368. package/dist/esm/hooks/useClipboard.js.map +1 -1
  369. package/dist/esm/hooks/useColorModes.js.map +1 -1
  370. package/dist/esm/hooks/useDebouncedCallback.js.map +1 -1
  371. package/dist/esm/hooks/useDropdownWithPopper.d.ts +2 -2
  372. package/dist/esm/hooks/usePopper.js +2 -2
  373. package/dist/esm/hooks/usePopper.js.map +1 -1
  374. package/dist/esm/index.js +2 -0
  375. package/dist/esm/index.js.map +1 -1
  376. package/dist/esm/node_modules/@coreui/icons-react/dist/index.esm.js.map +1 -1
  377. package/dist/esm/node_modules/dom-helpers/esm/hasClass.js.map +1 -1
  378. package/dist/esm/node_modules/react-device-detect/dist/lib.js +1 -1
  379. package/dist/esm/node_modules/react-device-detect/dist/lib.js.map +1 -1
  380. package/dist/esm/node_modules/react-transition-group/esm/Transition.js.map +1 -1
  381. package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -1
  382. package/dist/esm/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
  383. package/dist/esm/utils/executeAfterTransition.js.map +1 -1
  384. package/dist/esm/utils/getNextActiveElement.js.map +1 -1
  385. package/dist/esm/utils/index.d.ts +1 -2
  386. package/dist/esm/utils/isObjectInArray.js.map +1 -1
  387. package/package.json +11 -11
  388. package/src/components/accordion/CAccordion.tsx +4 -10
  389. package/src/components/accordion/CAccordionBody.tsx +1 -2
  390. package/src/components/accordion/CAccordionButton.tsx +2 -2
  391. package/src/components/accordion/CAccordionContext.ts +9 -0
  392. package/src/components/accordion/CAccordionItem.tsx +4 -11
  393. package/src/components/accordion/CAccordionItemContext.ts +9 -0
  394. package/src/components/accordion/__tests__/CAccordion.spec.tsx +1 -1
  395. package/src/components/accordion/__tests__/CAccordionBody.spec.tsx +1 -1
  396. package/src/components/accordion/__tests__/CAccordionButton.spec.tsx +1 -1
  397. package/src/components/accordion/__tests__/CAccordionCollapse.spec.tsx +1 -1
  398. package/src/components/accordion/__tests__/CAccordionHeader.spec.tsx +1 -1
  399. package/src/components/accordion/__tests__/CAccordionItem.spec.tsx +1 -1
  400. package/src/components/alert/__tests__/CAlert.spec.tsx +39 -18
  401. package/src/components/alert/__tests__/CAlertHeading.spec.tsx +1 -1
  402. package/src/components/alert/__tests__/CAlertLink.spec.tsx +1 -1
  403. package/src/components/avatar/__tests__/CAvatar.spec.tsx +1 -1
  404. package/src/components/backdrop/__tests__/CBackdrop.spec.tsx +1 -1
  405. package/src/components/badge/__tests__/CBadge.spec.tsx +1 -1
  406. package/src/components/breadcrumb/__tests__/CBreadcrumb.spec.tsx +1 -1
  407. package/src/components/breadcrumb/__tests__/CBreadcrumbItem.spec.tsx +1 -1
  408. package/src/components/button/__tests__/CButton.spec.tsx +1 -1
  409. package/src/components/button-group/__tests__/CButtonGroup.spec.tsx +2 -1
  410. package/src/components/button-group/__tests__/CButtonToolbar.spec.tsx +2 -1
  411. package/src/components/calendar/CCalendar.tsx +74 -56
  412. package/src/components/calendar/CCalendarNavigation.tsx +2 -2
  413. package/src/components/calendar/CCalendarPanel.tsx +4 -4
  414. package/src/components/calendar/utils.ts +33 -10
  415. package/src/components/callout/__tests__/CCallout.spec.tsx +1 -1
  416. package/src/components/card/__tests__/CCard.spec.tsx +1 -1
  417. package/src/components/card/__tests__/CCardBody.spec.tsx +1 -1
  418. package/src/components/card/__tests__/CCardFooter.spec.tsx +1 -1
  419. package/src/components/card/__tests__/CCardGroup.spec.tsx +1 -1
  420. package/src/components/card/__tests__/CCardHeader.spec.tsx +1 -1
  421. package/src/components/card/__tests__/CCardImage.spec.tsx +1 -1
  422. package/src/components/card/__tests__/CCardImageOverlay.spec.tsx +1 -1
  423. package/src/components/card/__tests__/CCardLink.spec.tsx +1 -1
  424. package/src/components/card/__tests__/CCardSubtitle.spec.tsx +1 -1
  425. package/src/components/card/__tests__/CCardText.spec.tsx +1 -1
  426. package/src/components/card/__tests__/CCardTitle.spec.tsx +1 -1
  427. package/src/components/carousel/CCarousel.tsx +6 -12
  428. package/src/components/carousel/CCarouselCaption.tsx +1 -1
  429. package/src/components/carousel/CCarouselContext.ts +8 -0
  430. package/src/components/carousel/CCarouselItem.tsx +6 -4
  431. package/src/components/carousel/__tests__/CCarousel.spec.tsx +1 -1
  432. package/src/components/close-button/__tests__/CCloseButton.spec.tsx +1 -1
  433. package/src/components/collapse/__tests__/CCollapse.spec.tsx +26 -7
  434. package/src/components/date-picker/CDatePicker.tsx +1 -1
  435. package/src/components/date-range-picker/CDateRangePicker.tsx +37 -21
  436. package/src/components/dropdown/CDropdown.tsx +35 -36
  437. package/src/components/dropdown/CDropdownContext.ts +18 -0
  438. package/src/components/dropdown/CDropdownDivider.tsx +1 -1
  439. package/src/components/dropdown/CDropdownHeader.tsx +1 -1
  440. package/src/components/dropdown/CDropdownItemPlain.tsx +1 -1
  441. package/src/components/dropdown/CDropdownMenu.tsx +3 -3
  442. package/src/components/dropdown/CDropdownToggle.tsx +2 -3
  443. package/src/components/dropdown/__tests__/CDropdown.spec.tsx +1 -1
  444. package/src/components/dropdown/__tests__/CDropdownDivider.spec.tsx +1 -1
  445. package/src/components/dropdown/__tests__/CDropdownHeader.spec.tsx +1 -1
  446. package/src/components/dropdown/__tests__/CDropdownItem.spec.tsx +1 -1
  447. package/src/components/dropdown/__tests__/CDropdownItemPlain.spec.tsx +1 -1
  448. package/src/components/dropdown/__tests__/CDropdownMenu.spec.tsx +1 -1
  449. package/src/components/dropdown/__tests__/CDropdownToggle.spec.tsx +1 -1
  450. package/src/components/dropdown/__tests__/__snapshots__/CDropdown.spec.tsx.snap +0 -1
  451. package/src/components/dropdown/__tests__/__snapshots__/CDropdownMenu.spec.tsx.snap +0 -2
  452. package/src/components/footer/__tests__/CFooter.spec.tsx +1 -1
  453. package/src/components/form/__tests__/CForm.spec.tsx +2 -1
  454. package/src/components/form/__tests__/CFormCheck.spec.tsx +1 -1
  455. package/src/components/form/__tests__/CFormControl.spec.tsx +1 -1
  456. package/src/components/form/__tests__/CFormFeedback.spec.tsx +1 -1
  457. package/src/components/form/__tests__/CFormFloating.spec.tsx +1 -1
  458. package/src/components/form/__tests__/CFormInput.spec.tsx +1 -1
  459. package/src/components/form/__tests__/CFormLabel.spec.tsx +1 -1
  460. package/src/components/form/__tests__/CFormRange.spec.tsx +1 -1
  461. package/src/components/form/__tests__/CFormSelect.spec.tsx +1 -1
  462. package/src/components/form/__tests__/CFormSwitch.spec.tsx +1 -1
  463. package/src/components/form/__tests__/CFormText.spec.tsx +1 -1
  464. package/src/components/form/__tests__/CFormTextarea.spec.tsx +1 -1
  465. package/src/components/form/__tests__/CInputGroup.spec.tsx +1 -1
  466. package/src/components/form/__tests__/CInputGroupText.spec.tsx +1 -1
  467. package/src/components/grid/__tests__/CCol.spec.tsx +1 -1
  468. package/src/components/grid/__tests__/CContainer.spec.tsx +1 -1
  469. package/src/components/grid/__tests__/CRow.spec.tsx +1 -1
  470. package/src/components/header/__tests__/CHeader.spec.tsx +1 -1
  471. package/src/components/header/__tests__/CHeaderBrand.spec.tsx +1 -1
  472. package/src/components/header/__tests__/CHeaderDivider.spec.tsx +1 -1
  473. package/src/components/header/__tests__/CHeaderNav.spec.tsx +1 -1
  474. package/src/components/header/__tests__/CHeaderText.spec.tsx +1 -1
  475. package/src/components/header/__tests__/CHeaderToggler.spec.tsx +1 -1
  476. package/src/components/image/__tests__/CImage.spec.tsx +1 -1
  477. package/src/components/index.ts +2 -0
  478. package/src/components/link/__tests__/CLink.spec.tsx +1 -1
  479. package/src/components/list-group/__tests__/CListGroup.spec.tsx +1 -1
  480. package/src/components/list-group/__tests__/CListGroupItem.spec.tsx +1 -1
  481. package/src/components/loading-button/__tests__/CLoadingButton.spec.tsx +1 -1
  482. package/src/components/modal/CModal.tsx +5 -12
  483. package/src/components/modal/CModalContext.ts +8 -0
  484. package/src/components/modal/CModalHeader.tsx +1 -1
  485. package/src/components/modal/__tests__/CModal.spec.tsx +1 -1
  486. package/src/components/modal/__tests__/CModalBody.spec.tsx +1 -1
  487. package/src/components/modal/__tests__/CModalContent.spec.tsx +1 -1
  488. package/src/components/modal/__tests__/CModalDialog.spec.tsx +1 -1
  489. package/src/components/modal/__tests__/CModalFooter.spec.tsx +1 -1
  490. package/src/components/modal/__tests__/CModalHeader.spec.tsx +1 -1
  491. package/src/components/modal/__tests__/CModalTitle.spec.tsx +1 -1
  492. package/src/components/multi-select/CMultiSelect.tsx +49 -14
  493. package/src/components/multi-select/__tests__/CMultiSelect.spec.tsx +1 -1
  494. package/src/components/nav/CNavGroup.tsx +2 -2
  495. package/src/components/nav/CNavLink.tsx +2 -2
  496. package/src/components/nav/__tests__/CNav.spec.tsx +4 -11
  497. package/src/components/nav/__tests__/CNavGroup.spec.tsx +1 -1
  498. package/src/components/nav/__tests__/CNavGroupItems.spec.tsx +1 -1
  499. package/src/components/nav/__tests__/CNavItem.spec.tsx +1 -1
  500. package/src/components/nav/__tests__/CNavLink.spec.tsx +1 -1
  501. package/src/components/nav/__tests__/CNavTitle.spec.tsx +1 -1
  502. package/src/components/nav/__tests__/__snapshots__/CNav.spec.tsx.snap +0 -1
  503. package/src/components/navbar/__tests__/CNavbar.spec.tsx +1 -1
  504. package/src/components/navbar/__tests__/CNavbarBrand.spec.tsx +1 -1
  505. package/src/components/navbar/__tests__/CNavbarNav.spec.tsx +1 -1
  506. package/src/components/navbar/__tests__/CNavbarText.spec.tsx +1 -1
  507. package/src/components/navbar/__tests__/CNavbarToggler.spec.tsx +1 -1
  508. package/src/components/offcanvas/__tests__/COffcanvas.spec.tsx +44 -17
  509. package/src/components/offcanvas/__tests__/COffcanvasBody.spec.tsx +1 -1
  510. package/src/components/offcanvas/__tests__/COffcanvasHeader.spec.tsx +1 -1
  511. package/src/components/offcanvas/__tests__/COffcanvasTitle.spec.tsx +1 -1
  512. package/src/components/pagination/__tests__/CPagination.spec.tsx +1 -1
  513. package/src/components/pagination/__tests__/CPaginationItem.spec.tsx +1 -1
  514. package/src/components/password-input/CPasswordInput.tsx +172 -0
  515. package/src/components/password-input/index.ts +3 -0
  516. package/src/components/placeholder/__tests__/CPlaceholder.spec.tsx +1 -1
  517. package/src/components/popover/__tests__/CPopover.spec.tsx +70 -62
  518. package/src/components/popover/__tests__/__snapshots__/CPopover.spec.tsx.snap +0 -32
  519. package/src/components/progress/CProgress.tsx +1 -1
  520. package/src/components/progress/CProgressBar.tsx +4 -3
  521. package/src/components/progress/CProgressStacked.tsx +4 -8
  522. package/src/components/progress/CProgressStackedContext.ts +7 -0
  523. package/src/components/progress/__tests__/CProgress.spec.tsx +1 -1
  524. package/src/components/progress/__tests__/CProgressBar.spec.tsx +1 -1
  525. package/src/components/sidebar/CSidebarNav.tsx +27 -27
  526. package/src/components/sidebar/CSidebarNavContext.ts +8 -0
  527. package/src/components/sidebar/__tests__/CSidebar.spec.tsx +1 -1
  528. package/src/components/sidebar/__tests__/CSidebarBrand.spec.tsx +1 -1
  529. package/src/components/sidebar/__tests__/CSidebarFooter.spec.tsx +1 -1
  530. package/src/components/sidebar/__tests__/CSidebarHeader.spec.tsx +1 -1
  531. package/src/components/sidebar/__tests__/CSidebarNav.spec.tsx +1 -1
  532. package/src/components/sidebar/__tests__/CSidebarToggler.spec.tsx +1 -1
  533. package/src/components/smart-table/__tests__/CSmartTable.spec.tsx +1 -1
  534. package/src/components/spinner/__tests__/CSpinner.spec.tsx +1 -1
  535. package/src/components/stepper/CStepper.tsx +432 -0
  536. package/src/components/stepper/__tests__/CStepper.spec.tsx +98 -0
  537. package/src/components/stepper/index.ts +3 -0
  538. package/src/components/stepper/types.ts +20 -0
  539. package/src/components/table/__tests__/CTable.spec.tsx +1 -1
  540. package/src/components/table/__tests__/CTableBody.spec.tsx +1 -1
  541. package/src/components/table/__tests__/CTableCaption.spec.tsx +1 -1
  542. package/src/components/table/__tests__/CTableDataCell.spec.tsx +1 -1
  543. package/src/components/table/__tests__/CTableFoot.spec.tsx +1 -1
  544. package/src/components/table/__tests__/CTableHead.spec.tsx +1 -1
  545. package/src/components/table/__tests__/CTableHeaderCell.spec.tsx +1 -1
  546. package/src/components/table/__tests__/CTableRow.spec.tsx +1 -1
  547. package/src/components/tabs/CTab.tsx +2 -2
  548. package/src/components/tabs/CTabPane.tsx +1 -1
  549. package/src/components/tabs/CTabPanel.tsx +3 -3
  550. package/src/components/tabs/CTabs.tsx +54 -21
  551. package/src/components/tabs/CTabsContext.ts +9 -0
  552. package/src/components/tabs/__tests__/CTabContent.spec.tsx +16 -8
  553. package/src/components/tabs/__tests__/CTabPane.spec.tsx +48 -29
  554. package/src/components/time-picker/CTimePicker.tsx +19 -12
  555. package/src/components/time-picker/utils.ts +30 -14
  556. package/src/components/toast/CToast.tsx +9 -24
  557. package/src/components/toast/CToastClose.tsx +1 -2
  558. package/src/components/toast/CToastContext.ts +8 -0
  559. package/src/components/toast/CToaster.tsx +11 -7
  560. package/src/components/toast/__tests__/CToast.spec.tsx +32 -27
  561. package/src/components/toast/__tests__/CToastBody.spec.tsx +1 -1
  562. package/src/components/toast/__tests__/CToastHeader.spec.tsx +1 -1
  563. package/src/components/toast/__tests__/CToaster.spec.tsx +2 -1
  564. package/src/components/tooltip/__tests__/CTooltip.spec.tsx +54 -33
  565. package/src/components/tooltip/__tests__/__snapshots__/CTooltip.spec.tsx.snap +0 -10
  566. package/src/components/widgets/__tests__/CWidgetStatsA.spec.tsx +1 -1
  567. package/src/components/widgets/__tests__/CWidgetStatsB.spec.tsx +1 -1
  568. package/src/components/widgets/__tests__/CWidgetStatsC.spec.tsx +1 -1
  569. package/src/components/widgets/__tests__/CWidgetStatsD.spec.tsx +1 -1
  570. package/src/components/widgets/__tests__/CWidgetStatsE.spec.tsx +1 -1
  571. package/src/components/widgets/__tests__/CWidgetStatsF.spec.tsx +1 -1
  572. package/src/hooks/usePopper.ts +2 -2
  573. package/src/utils/index.ts +0 -2
  574. package/dist/cjs/utils/isEqual.d.ts +0 -2
  575. package/dist/esm/utils/isEqual.d.ts +0 -2
  576. package/src/components/button/__tests__/CButtonClose.spec.tsx +0 -23
  577. package/src/utils/isEqual.ts +0 -58
@@ -80,7 +80,7 @@ export const getCalendarDate = (calendarDate: Date, order: number, view: ViewTyp
80
80
  */
81
81
  export const getDateBySelectionType = (
82
82
  date: Date | null,
83
- selectionType: SelectionTypes,
83
+ selectionType: SelectionTypes
84
84
  ): string | Date | null => {
85
85
  if (date === null) {
86
86
  return null
@@ -116,7 +116,7 @@ export const getFirstAvailableDateInRange = (
116
116
  endDate: Date,
117
117
  min?: Date | null,
118
118
  max?: Date | null,
119
- disabledDates?: DisabledDate | DisabledDate[],
119
+ disabledDates?: DisabledDate | DisabledDate[]
120
120
  ): Date | null => {
121
121
  const _min = min ? new Date(Math.max(startDate.getTime(), min.getTime())) : startDate
122
122
  const _max = max ? new Date(Math.min(endDate.getTime(), max.getTime())) : endDate
@@ -158,7 +158,7 @@ export const getMonthsNames = (locale: string, format: 'short' | 'long' = 'short
158
158
  */
159
159
  export const getSelectableDates = (
160
160
  element: HTMLElement,
161
- selector: string = 'tr[tabindex="0"], td[tabindex="0"]',
161
+ selector: string = 'tr[tabindex="0"], td[tabindex="0"]'
162
162
  ) => {
163
163
  return [...Element.prototype.querySelectorAll.call(element, selector)] as HTMLElement[]
164
164
  }
@@ -183,7 +183,7 @@ export const getYears = (year: number, range: number = 6): number[] => {
183
183
  const getLeadingDays = (
184
184
  year: number,
185
185
  month: number,
186
- firstDayOfWeek: number,
186
+ firstDayOfWeek: number
187
187
  ): { date: Date; month: string }[] => {
188
188
  // 0: sunday
189
189
  // 1: monday
@@ -239,7 +239,7 @@ const getTrailingDays = (
239
239
  year: number,
240
240
  month: number,
241
241
  leadingDays: { date: Date; month: string }[],
242
- monthDays: { date: Date; month: string }[],
242
+ monthDays: { date: Date; month: string }[]
243
243
  ) => {
244
244
  const dates = []
245
245
  const days = 42 - (leadingDays.length + monthDays.length)
@@ -283,7 +283,7 @@ export const getWeekNumber = (date: Date): number => {
283
283
  export const getMonthDetails = (
284
284
  year: number,
285
285
  month: number,
286
- firstDayOfWeek: number,
286
+ firstDayOfWeek: number
287
287
  ): { weekNumber?: number; days: { date: Date; month: string }[] }[] => {
288
288
  const daysPrevMonth = getLeadingDays(year, month, firstDayOfWeek)
289
289
  const daysThisMonth = getMonthDays(year, month)
@@ -320,7 +320,7 @@ export const isDateDisabled = (
320
320
  date: Date,
321
321
  min?: Date | null,
322
322
  max?: Date | null,
323
- disabledDates?: DisabledDate | DisabledDate[],
323
+ disabledDates?: DisabledDate | DisabledDate[]
324
324
  ): boolean => {
325
325
  if (min && date < min) {
326
326
  return true
@@ -405,7 +405,7 @@ export const isDateSelected = (date: Date, start: Date | null, end: Date | null)
405
405
  export const isDisableDateInRange = (
406
406
  startDate?: Date | null,
407
407
  endDate?: Date | null,
408
- disabledDates?: DisabledDate | DisabledDate[],
408
+ disabledDates?: DisabledDate | DisabledDate[]
409
409
  ): boolean => {
410
410
  if (startDate && endDate) {
411
411
  const date = new Date(startDate)
@@ -437,7 +437,7 @@ export const isMonthDisabled = (
437
437
  date: Date,
438
438
  min?: Date | null,
439
439
  max?: Date | null,
440
- disabledDates?: DisabledDate | DisabledDate[],
440
+ disabledDates?: DisabledDate | DisabledDate[]
441
441
  ) => {
442
442
  const current = date.getFullYear() * 12 + date.getMonth()
443
443
  const _min = min ? min.getFullYear() * 12 + min.getMonth() : null
@@ -556,7 +556,7 @@ export const isYearDisabled = (
556
556
  date: Date,
557
557
  min?: Date | null,
558
558
  max?: Date | null,
559
- disabledDates?: DisabledDate | DisabledDate[],
559
+ disabledDates?: DisabledDate | DisabledDate[]
560
560
  ) => {
561
561
  const year = date.getFullYear()
562
562
  const minYear = min ? min.getFullYear() : null
@@ -638,3 +638,26 @@ export const removeTimeFromDate = (date: Date): Date => {
638
638
  clearedDate.setHours(0, 0, 0, 0)
639
639
  return clearedDate
640
640
  }
641
+
642
+ /**
643
+ * Copies the time (hours, minutes, seconds, milliseconds) from one Date to another.
644
+ *
645
+ * @param {Date} target - The date whose time will be updated.
646
+ * @param {Date | null} source - The date to copy the time from.
647
+ * @returns {Date} A new Date instance with the date from `target` and time from `source`.
648
+ */
649
+ export const setTimeFromDate = (target: Date, source: Date | null): Date => {
650
+ if (!(source instanceof Date)) {
651
+ return target
652
+ }
653
+
654
+ const result = new Date(target) // create a copy to avoid mutation
655
+ result.setHours(
656
+ source.getHours(),
657
+ source.getMinutes(),
658
+ source.getSeconds(),
659
+ source.getMilliseconds()
660
+ )
661
+
662
+ return result
663
+ }
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import { render } from '@testing-library/react'
3
3
  import '@testing-library/jest-dom'
4
- import { CCallout } from '../../../index'
4
+ import { CCallout } from '../index'
5
5
 
6
6
  test('loads and displays CCallout component', async () => {
7
7
  const { container } = render(<CCallout>Test</CCallout>)
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import { render } from '@testing-library/react'
3
3
  import '@testing-library/jest-dom'
4
- import { CCard } from '../../../index'
4
+ import { CCard } from '../index'
5
5
 
6
6
  test('loads and displays CCard component', async () => {
7
7
  const { container } = render(<CCard>Test</CCard>)
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import { render } from '@testing-library/react'
3
3
  import '@testing-library/jest-dom'
4
- import { CCardBody } from '../../../index'
4
+ import { CCardBody } from '../index'
5
5
 
6
6
  test('loads and displays CCardBody component', async () => {
7
7
  const { container } = render(<CCardBody>Test</CCardBody>)
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import { render } from '@testing-library/react'
3
3
  import '@testing-library/jest-dom'
4
- import { CCardFooter } from '../../../index'
4
+ import { CCardFooter } from '../index'
5
5
 
6
6
  test('loads and displays CCardFooter component', async () => {
7
7
  const { container } = render(<CCardFooter>Test</CCardFooter>)
@@ -12,7 +12,7 @@ import {
12
12
  CCardTitle,
13
13
  CCardText,
14
14
  CCardGroup,
15
- } from '../../../index'
15
+ } from '../index'
16
16
 
17
17
  test('loads and displays CCardGroup component', async () => {
18
18
  const { container } = render(<CCardGroup>Test</CCardGroup>)
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import { render } from '@testing-library/react'
3
3
  import '@testing-library/jest-dom'
4
- import { CCardHeader } from '../../../index'
4
+ import { CCardHeader } from '../index'
5
5
 
6
6
  test('loads and displays CCardHeader component', async () => {
7
7
  const { container } = render(<CCardHeader>Test</CCardHeader>)
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import { render } from '@testing-library/react'
3
3
  import '@testing-library/jest-dom'
4
- import { CCardImage } from '../../../index'
4
+ import { CCardImage } from '../index'
5
5
 
6
6
  test('loads and displays CCardImage component', async () => {
7
7
  const { container } = render(<CCardImage />)
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import { render } from '@testing-library/react'
3
3
  import '@testing-library/jest-dom'
4
- import { CCardImageOverlay } from '../../../index'
4
+ import { CCardImageOverlay } from '../index'
5
5
 
6
6
  test('loads and displays CCardImageOverlay component', async () => {
7
7
  const { container } = render(<CCardImageOverlay />)
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import { render } from '@testing-library/react'
3
3
  import '@testing-library/jest-dom'
4
- import { CCardLink } from '../../../index'
4
+ import { CCardLink } from '../index'
5
5
 
6
6
  test('loads and displays CCardLink component', async () => {
7
7
  const { container } = render(<CCardLink>Test</CCardLink>)
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import { render } from '@testing-library/react'
3
3
  import '@testing-library/jest-dom'
4
- import { CCardSubtitle } from '../../../index'
4
+ import { CCardSubtitle } from '../index'
5
5
 
6
6
  test('loads and displays CCardSubtitle component', async () => {
7
7
  const { container } = render(<CCardSubtitle>Test</CCardSubtitle>)
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import { render } from '@testing-library/react'
3
3
  import '@testing-library/jest-dom'
4
- import { CCardText } from '../../../index'
4
+ import { CCardText } from '../index'
5
5
 
6
6
  test('loads and displays CCardText component', async () => {
7
7
  const { container } = render(<CCardText>Test</CCardText>)
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import { render } from '@testing-library/react'
3
3
  import '@testing-library/jest-dom'
4
- import { CCardTitle } from '../../../index'
4
+ import { CCardTitle } from '../index'
5
5
 
6
6
  test('loads and displays CCardTitle component', async () => {
7
7
  const { container } = render(<CCardTitle>Test</CCardTitle>)
@@ -1,6 +1,5 @@
1
1
  import React, {
2
2
  Children,
3
- createContext,
4
3
  forwardRef,
5
4
  HTMLAttributes,
6
5
  TouchEvent,
@@ -14,6 +13,8 @@ import classNames from 'classnames'
14
13
  import { isInViewport } from '../../utils'
15
14
  import { useForkedRef } from '../../hooks'
16
15
 
16
+ import { CCarouselContext } from './CCarouselContext'
17
+
17
18
  export interface CCarouselProps extends HTMLAttributes<HTMLDivElement> {
18
19
  /**
19
20
  * index of the active item.
@@ -71,13 +72,6 @@ interface DataType {
71
72
  timeout?: null | ReturnType<typeof setTimeout>
72
73
  }
73
74
 
74
- export interface ContextProps {
75
- setAnimating: (a: boolean) => void
76
- setCustomInterval: (a: boolean | number) => void
77
- }
78
-
79
- export const CCarouselContext = createContext({} as ContextProps)
80
-
81
75
  export const CCarousel = forwardRef<HTMLDivElement, CCarouselProps>(
82
76
  (
83
77
  {
@@ -96,7 +90,7 @@ export const CCarousel = forwardRef<HTMLDivElement, CCarouselProps>(
96
90
  wrap = true,
97
91
  ...rest
98
92
  },
99
- ref,
93
+ ref
100
94
  ) => {
101
95
  const carouselRef = useRef<HTMLDivElement>(null)
102
96
  const forkedRef = useForkedRef(ref, carouselRef)
@@ -141,7 +135,7 @@ export const CCarousel = forwardRef<HTMLDivElement, CCarouselProps>(
141
135
  if (typeof interval === 'number') {
142
136
  data.timeout = setTimeout(
143
137
  () => nextItemWhenVisible(),
144
- typeof customInterval === 'number' ? customInterval : interval,
138
+ typeof customInterval === 'number' ? customInterval : interval
145
139
  )
146
140
  }
147
141
  }
@@ -228,7 +222,7 @@ export const CCarousel = forwardRef<HTMLDivElement, CCarouselProps>(
228
222
  {
229
223
  'carousel-fade': transition === 'crossfade',
230
224
  },
231
- className,
225
+ className
232
226
  )}
233
227
  {...(dark && { 'data-coreui-theme': 'dark' })}
234
228
  onMouseEnter={_pause}
@@ -288,7 +282,7 @@ export const CCarousel = forwardRef<HTMLDivElement, CCarouselProps>(
288
282
  </CCarouselContext.Provider>
289
283
  </div>
290
284
  )
291
- },
285
+ }
292
286
  )
293
287
 
294
288
  CCarousel.propTypes = {
@@ -12,7 +12,7 @@ export interface CCarouselCaptionProps extends HTMLAttributes<HTMLDivElement> {
12
12
  export const CCarouselCaption = forwardRef<HTMLDivElement, CCarouselCaptionProps>(
13
13
  ({ className, ...rest }, ref) => {
14
14
  return <div className={classNames('carousel-caption', className)} {...rest} ref={ref} />
15
- },
15
+ }
16
16
  )
17
17
 
18
18
  CCarouselCaption.propTypes = {
@@ -0,0 +1,8 @@
1
+ import { createContext } from 'react'
2
+
3
+ export interface CCarouselContextProps {
4
+ setAnimating: (a: boolean) => void
5
+ setCustomInterval: (a: boolean | number) => void
6
+ }
7
+
8
+ export const CCarouselContext = createContext({} as CCarouselContextProps)
@@ -3,7 +3,9 @@ import PropTypes from 'prop-types'
3
3
  import classNames from 'classnames'
4
4
 
5
5
  import { useForkedRef } from '../../hooks'
6
- import { CCarouselContext } from './CCarousel'
6
+
7
+ import { CCarouselContext } from './CCarouselContext'
8
+
7
9
  export interface CCarouselItemProps extends HTMLAttributes<HTMLDivElement> {
8
10
  /**
9
11
  * @ignore
@@ -29,7 +31,7 @@ export const CCarouselItem = forwardRef<HTMLDivElement, CCarouselItemProps>(
29
31
  const carouselItemRef = useRef<HTMLDivElement>(null)
30
32
  const forkedRef = useForkedRef(ref, carouselItemRef)
31
33
 
32
- const prevActive = useRef<boolean>()
34
+ const prevActive = useRef<boolean>(undefined)
33
35
  const [directionClassName, setDirectionClassName] = useState<string>()
34
36
  const [orderClassName, setOrderClassName] = useState<string>()
35
37
  const [activeClassName, setActiveClassName] = useState(active && 'active')
@@ -101,7 +103,7 @@ export const CCarouselItem = forwardRef<HTMLDivElement, CCarouselItemProps>(
101
103
  activeClassName,
102
104
  directionClassName,
103
105
  orderClassName,
104
- className,
106
+ className
105
107
  )}
106
108
  ref={forkedRef}
107
109
  {...rest}
@@ -109,7 +111,7 @@ export const CCarouselItem = forwardRef<HTMLDivElement, CCarouselItemProps>(
109
111
  {children}
110
112
  </div>
111
113
  )
112
- },
114
+ }
113
115
  )
114
116
 
115
117
  CCarouselItem.propTypes = {
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import { render, fireEvent, getByText } from '@testing-library/react'
3
3
  import '@testing-library/jest-dom'
4
- import { CCarousel, CCarouselCaption, CCarouselItem } from '../../../index'
4
+ import { CCarousel, CCarouselCaption, CCarouselItem } from '../index'
5
5
 
6
6
  test('loads and displays CCarousel component', async () => {
7
7
  const { container } = render(
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import { render } from '@testing-library/react'
3
3
  import '@testing-library/jest-dom'
4
- import { CCloseButton } from '../../../index'
4
+ import { CCloseButton } from '../index'
5
5
 
6
6
  test('loads and displays CCloseButton component', async () => {
7
7
  const { container } = render(<CCloseButton />)
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
- import { render, screen } from '@testing-library/react'
2
+ import { render, screen, act } from '@testing-library/react'
3
3
  import '@testing-library/jest-dom'
4
- import { CCollapse } from '../../../index'
4
+ import { CCollapse } from '../index'
5
5
 
6
6
  test('loads and displays CCollapse component', async () => {
7
7
  const { container } = render(<CCollapse>Test</CCollapse>)
@@ -15,26 +15,45 @@ test('CCollapse customize', async () => {
15
15
  })
16
16
 
17
17
  test('CCollapse use case test', async () => {
18
+ jest.useFakeTimers()
19
+
18
20
  const { rerender } = render(<CCollapse visible={false}>Test</CCollapse>)
21
+
19
22
  expect(screen.getByText('Test')).toHaveClass('collapse')
20
23
  expect(screen.getByText('Test')).not.toHaveClass('show')
21
24
  expect(screen.getByText('Test')).not.toHaveClass('collapsing')
22
- rerender(<CCollapse visible={true}>Test</CCollapse>)
25
+
26
+ act(() => {
27
+ rerender(<CCollapse visible={true}>Test</CCollapse>)
28
+ })
29
+
23
30
  expect(screen.getByText('Test')).not.toHaveClass('collapse')
24
31
  expect(screen.getByText('Test')).not.toHaveClass('show')
25
32
  expect(screen.getByText('Test')).toHaveClass('collapsing')
26
- await new Promise((r) => setTimeout(r, 1000))
33
+
34
+ act(() => {
35
+ jest.runAllTimers()
36
+ })
37
+
27
38
  expect(screen.getByText('Test')).toHaveClass('collapse')
28
39
  expect(screen.getByText('Test')).toHaveClass('show')
29
40
  expect(screen.getByText('Test')).not.toHaveClass('collapsing')
30
- rerender(<CCollapse visible={false}>Test</CCollapse>)
41
+
42
+ act(() => {
43
+ rerender(<CCollapse visible={false}>Test</CCollapse>)
44
+ })
45
+
31
46
  expect(screen.getByText('Test')).not.toHaveClass('collapse')
32
47
  expect(screen.getByText('Test')).not.toHaveClass('show')
33
48
  expect(screen.getByText('Test')).toHaveClass('collapsing')
34
- await new Promise((r) => setTimeout(r, 1000))
49
+
50
+ act(() => {
51
+ jest.runAllTimers()
52
+ })
53
+
35
54
  expect(screen.getByText('Test')).toHaveClass('collapse')
36
55
  expect(screen.getByText('Test')).not.toHaveClass('show')
37
56
  expect(screen.getByText('Test')).not.toHaveClass('collapsing')
38
- jest.runAllTimers()
57
+
39
58
  jest.useRealTimers()
40
59
  })
@@ -53,7 +53,7 @@ export const CDatePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDatePicke
53
53
  {...rest}
54
54
  />
55
55
  )
56
- },
56
+ }
57
57
  )
58
58
 
59
59
  CDatePicker.displayName = 'CDatePicker'
@@ -208,7 +208,6 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
208
208
  ariaNavPrevMonthLabel,
209
209
  ariaNavPrevYearLabel,
210
210
  calendars = 2,
211
- calendarDate,
212
211
  cancelButton = 'Cancel',
213
212
  cancelButtonColor = 'primary',
214
213
  cancelButtonSize = 'sm',
@@ -274,15 +273,16 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
274
273
  visible,
275
274
  weekdayFormat,
276
275
  weekNumbersLabel,
276
+ calendarDate = startDate || endDate || null,
277
277
  ...rest
278
278
  },
279
- ref,
279
+ ref
280
280
  ) => {
281
281
  const inputEndRef = useRef<HTMLInputElement>(null)
282
282
  const inputStartRef = useRef<HTMLInputElement>(null)
283
283
  const formRef = useRef<HTMLFormElement>()
284
284
 
285
- const [_calendarDate, setCalendarDate] = useState<Date | string | null>(calendarDate ?? null)
285
+ const [_calendarDate, setCalendarDate] = useState<Date | string | null>(calendarDate)
286
286
  const [_endDate, setEndDate] = useState<Date | string | null>(endDate ?? null)
287
287
  const [_maxDate, setMaxDate] = useState<Date | string | null>(maxDate ?? null)
288
288
  const [_minDate, setMinDate] = useState<Date | string | null>(minDate ?? null)
@@ -290,7 +290,7 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
290
290
  const [_visible, setVisible] = useState(visible)
291
291
 
292
292
  const [initialStartDate, setInitialStartDate] = useState<Date | string | null>(
293
- startDate ?? null,
293
+ startDate ?? null
294
294
  )
295
295
  const [initialEndDate, setInitialEndDate] = useState<Date | string | null>(endDate ?? null)
296
296
  const [inputStartHoverValue, setInputStartHoverValue] = useState<Date | string | null>(null)
@@ -303,19 +303,27 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
303
303
  }, [valid, invalid])
304
304
 
305
305
  useEffect(() => {
306
- setStartDate(startDate ? startDate : null)
306
+ if (startDate) {
307
+ setStartDate(startDate)
308
+ }
307
309
  }, [startDate])
308
310
 
309
311
  useEffect(() => {
310
- setEndDate(endDate ? endDate : null)
312
+ if (endDate) {
313
+ setEndDate(endDate)
314
+ }
311
315
  }, [endDate])
312
316
 
313
317
  useEffect(() => {
314
- maxDate && setMaxDate(maxDate)
318
+ if (maxDate) {
319
+ setMaxDate(maxDate)
320
+ }
315
321
  }, [maxDate])
316
322
 
317
323
  useEffect(() => {
318
- minDate && setMinDate(minDate)
324
+ if (minDate) {
325
+ setMinDate(minDate)
326
+ }
319
327
  }, [minDate])
320
328
 
321
329
  useEffect(() => {
@@ -355,7 +363,7 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
355
363
  const formatDate = (date: Date | string) => {
356
364
  if (inputDateFormat) {
357
365
  return inputDateFormat(
358
- date instanceof Date ? new Date(date) : convertToDateObject(date, selectionType),
366
+ date instanceof Date ? new Date(date) : convertToDateObject(date, selectionType)
359
367
  )
360
368
  }
361
369
 
@@ -382,7 +390,11 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
382
390
  }
383
391
 
384
392
  const handleDateHover = (date: Date | string | null) => {
385
- selectEndDate ? setInputEndHoverValue(date) : setInputStartHoverValue(date)
393
+ if (selectEndDate) {
394
+ setInputEndHoverValue(date)
395
+ } else {
396
+ setInputStartHoverValue(date)
397
+ }
386
398
  }
387
399
 
388
400
  const handleClear = (event: React.MouseEvent<HTMLElement>) => {
@@ -394,14 +406,14 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
394
406
  const handleEndDateChange = (date: Date | string | null) => {
395
407
  setEndDate(date)
396
408
  setInputEndHoverValue(null)
397
- onEndDateChange && onEndDateChange(date)
409
+ onEndDateChange?.(date)
398
410
 
399
411
  if (timepicker || footer) {
400
412
  return
401
413
  }
402
414
 
403
- if (closeOnSelect) {
404
- _startDate !== null && setVisible(false)
415
+ if (closeOnSelect && _startDate !== null) {
416
+ setVisible(false)
405
417
  }
406
418
  }
407
419
 
@@ -420,7 +432,7 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
420
432
  const handleStartDateChange = (date: Date | string | null) => {
421
433
  setStartDate(date)
422
434
  setInputStartHoverValue(null)
423
- onStartDateChange && onStartDateChange(date)
435
+ onStartDateChange?.(date)
424
436
 
425
437
  if (timepicker || footer) {
426
438
  return
@@ -437,7 +449,11 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
437
449
  : getLocalDateFromString(value, locale, timepicker)
438
450
  if (date instanceof Date && date.getTime()) {
439
451
  setCalendarDate(date)
440
- input === 'start' ? setStartDate(date) : setEndDate(date)
452
+ if (input === 'start') {
453
+ setStartDate(date)
454
+ } else {
455
+ setEndDate(date)
456
+ }
441
457
  }
442
458
  }, inputOnChangeDelay)
443
459
 
@@ -536,7 +552,7 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
536
552
  'is-invalid': isValid === false ? true : false,
537
553
  'is-valid': isValid,
538
554
  },
539
- className,
555
+ className
540
556
  )}
541
557
  disabled={disabled}
542
558
  dropdownClassNames="date-picker-dropdown"
@@ -552,7 +568,7 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
552
568
  onClick={() => {
553
569
  const date = new Date()
554
570
  handleStartDateChange(date)
555
- range && handleEndDateChange(date)
571
+ if (range) handleEndDateChange(date)
556
572
  setCalendarDate(date)
557
573
  }}
558
574
  >
@@ -566,7 +582,7 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
566
582
  variant={cancelButtonVariant}
567
583
  onClick={() => {
568
584
  handleStartDateChange(initialStartDate)
569
- range && handleEndDateChange(initialEndDate)
585
+ if (range) handleEndDateChange(initialEndDate)
570
586
  setVisible(false)
571
587
  }}
572
588
  >
@@ -591,13 +607,13 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
591
607
  portal={portal}
592
608
  onHide={() => {
593
609
  setVisible(false)
594
- onHide && onHide()
610
+ onHide?.()
595
611
  }}
596
612
  onShow={() => {
597
613
  setInitialStartDate(_startDate)
598
614
  setInitialEndDate(_endDate)
599
615
  setVisible(true)
600
- onShow && onShow()
616
+ onShow?.()
601
617
  }}
602
618
  visible={_visible}
603
619
  {...rest}
@@ -710,7 +726,7 @@ export const CDateRangePicker = forwardRef<HTMLDivElement | HTMLLIElement, CDate
710
726
  </CPicker>
711
727
  </CFormControlWrapper>
712
728
  )
713
- },
729
+ }
714
730
  )
715
731
 
716
732
  CDateRangePicker.displayName = 'CDateRangePicker'