@coreui/react 5.4.0 → 5.5.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 (657) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +2 -2
  3. package/dist/cjs/_virtual/index.js +8 -2
  4. package/dist/cjs/_virtual/index.js.map +1 -1
  5. package/dist/cjs/_virtual/index2.js +6 -0
  6. package/dist/cjs/_virtual/index2.js.map +1 -0
  7. package/dist/cjs/components/accordion/CAccordion.js +2 -2
  8. package/dist/cjs/components/accordion/CAccordion.js.map +1 -1
  9. package/dist/cjs/components/accordion/CAccordionBody.js +3 -3
  10. package/dist/cjs/components/accordion/CAccordionBody.js.map +1 -1
  11. package/dist/cjs/components/accordion/CAccordionButton.js +3 -3
  12. package/dist/cjs/components/accordion/CAccordionButton.js.map +1 -1
  13. package/dist/cjs/components/accordion/CAccordionHeader.js +1 -1
  14. package/dist/cjs/components/accordion/CAccordionHeader.js.map +1 -1
  15. package/dist/cjs/components/accordion/CAccordionItem.d.ts +5 -0
  16. package/dist/cjs/components/accordion/CAccordionItem.js +8 -5
  17. package/dist/cjs/components/accordion/CAccordionItem.js.map +1 -1
  18. package/dist/cjs/components/alert/CAlert.js +2 -2
  19. package/dist/cjs/components/alert/CAlert.js.map +1 -1
  20. package/dist/cjs/components/alert/CAlertHeading.js +2 -2
  21. package/dist/cjs/components/alert/CAlertHeading.js.map +1 -1
  22. package/dist/cjs/components/alert/CAlertLink.js +1 -1
  23. package/dist/cjs/components/alert/CAlertLink.js.map +1 -1
  24. package/dist/cjs/components/avatar/CAvatar.js +1 -1
  25. package/dist/cjs/components/avatar/CAvatar.js.map +1 -1
  26. package/dist/cjs/components/backdrop/CBackdrop.js +2 -2
  27. package/dist/cjs/components/backdrop/CBackdrop.js.map +1 -1
  28. package/dist/cjs/components/badge/CBadge.js +7 -7
  29. package/dist/cjs/components/badge/CBadge.js.map +1 -1
  30. package/dist/cjs/components/breadcrumb/CBreadcrumb.js +1 -1
  31. package/dist/cjs/components/breadcrumb/CBreadcrumb.js.map +1 -1
  32. package/dist/cjs/components/breadcrumb/CBreadcrumbItem.js +1 -1
  33. package/dist/cjs/components/breadcrumb/CBreadcrumbItem.js.map +1 -1
  34. package/dist/cjs/components/button/CButton.js +2 -2
  35. package/dist/cjs/components/button/CButton.js.map +1 -1
  36. package/dist/cjs/components/button-group/CButtonGroup.js +1 -1
  37. package/dist/cjs/components/button-group/CButtonGroup.js.map +1 -1
  38. package/dist/cjs/components/button-group/CButtonToolbar.js +1 -1
  39. package/dist/cjs/components/button-group/CButtonToolbar.js.map +1 -1
  40. package/dist/cjs/components/callout/CCallout.js +1 -1
  41. package/dist/cjs/components/callout/CCallout.js.map +1 -1
  42. package/dist/cjs/components/card/CCard.js +1 -1
  43. package/dist/cjs/components/card/CCard.js.map +1 -1
  44. package/dist/cjs/components/card/CCardBody.js +1 -1
  45. package/dist/cjs/components/card/CCardBody.js.map +1 -1
  46. package/dist/cjs/components/card/CCardFooter.js +1 -1
  47. package/dist/cjs/components/card/CCardFooter.js.map +1 -1
  48. package/dist/cjs/components/card/CCardGroup.js +1 -1
  49. package/dist/cjs/components/card/CCardGroup.js.map +1 -1
  50. package/dist/cjs/components/card/CCardHeader.js +2 -2
  51. package/dist/cjs/components/card/CCardHeader.js.map +1 -1
  52. package/dist/cjs/components/card/CCardImage.js +2 -2
  53. package/dist/cjs/components/card/CCardImage.js.map +1 -1
  54. package/dist/cjs/components/card/CCardImageOverlay.js +1 -1
  55. package/dist/cjs/components/card/CCardImageOverlay.js.map +1 -1
  56. package/dist/cjs/components/card/CCardLink.js +1 -1
  57. package/dist/cjs/components/card/CCardLink.js.map +1 -1
  58. package/dist/cjs/components/card/CCardSubtitle.js +2 -2
  59. package/dist/cjs/components/card/CCardSubtitle.js.map +1 -1
  60. package/dist/cjs/components/card/CCardText.js +2 -2
  61. package/dist/cjs/components/card/CCardText.js.map +1 -1
  62. package/dist/cjs/components/card/CCardTitle.js +2 -2
  63. package/dist/cjs/components/card/CCardTitle.js.map +1 -1
  64. package/dist/cjs/components/carousel/CCarousel.js +2 -2
  65. package/dist/cjs/components/carousel/CCarousel.js.map +1 -1
  66. package/dist/cjs/components/carousel/CCarouselCaption.js +1 -1
  67. package/dist/cjs/components/carousel/CCarouselCaption.js.map +1 -1
  68. package/dist/cjs/components/carousel/CCarouselItem.js +7 -7
  69. package/dist/cjs/components/carousel/CCarouselItem.js.map +1 -1
  70. package/dist/cjs/components/close-button/CCloseButton.js +1 -1
  71. package/dist/cjs/components/close-button/CCloseButton.js.map +1 -1
  72. package/dist/cjs/components/collapse/CCollapse.js +1 -1
  73. package/dist/cjs/components/collapse/CCollapse.js.map +1 -1
  74. package/dist/cjs/components/conditional-portal/CConditionalPortal.js.map +1 -1
  75. package/dist/cjs/components/dropdown/CDropdown.d.ts +77 -20
  76. package/dist/cjs/components/dropdown/CDropdown.js +7 -4
  77. package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
  78. package/dist/cjs/components/dropdown/CDropdownDivider.js +1 -1
  79. package/dist/cjs/components/dropdown/CDropdownDivider.js.map +1 -1
  80. package/dist/cjs/components/dropdown/CDropdownHeader.js +2 -2
  81. package/dist/cjs/components/dropdown/CDropdownHeader.js.map +1 -1
  82. package/dist/cjs/components/dropdown/CDropdownItem.js +2 -2
  83. package/dist/cjs/components/dropdown/CDropdownItem.js.map +1 -1
  84. package/dist/cjs/components/dropdown/CDropdownItemPlain.js +2 -2
  85. package/dist/cjs/components/dropdown/CDropdownItemPlain.js.map +1 -1
  86. package/dist/cjs/components/dropdown/CDropdownMenu.js +4 -4
  87. package/dist/cjs/components/dropdown/CDropdownMenu.js.map +1 -1
  88. package/dist/cjs/components/dropdown/CDropdownToggle.js +3 -3
  89. package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
  90. package/dist/cjs/components/dropdown/utils.js.map +1 -1
  91. package/dist/cjs/components/footer/CFooter.js +1 -1
  92. package/dist/cjs/components/footer/CFooter.js.map +1 -1
  93. package/dist/cjs/components/form/CForm.js +1 -1
  94. package/dist/cjs/components/form/CForm.js.map +1 -1
  95. package/dist/cjs/components/form/CFormCheck.js +2 -2
  96. package/dist/cjs/components/form/CFormCheck.js.map +1 -1
  97. package/dist/cjs/components/form/CFormControlValidation.js.map +1 -1
  98. package/dist/cjs/components/form/CFormControlWrapper.js.map +1 -1
  99. package/dist/cjs/components/form/CFormFeedback.js +2 -2
  100. package/dist/cjs/components/form/CFormFeedback.js.map +1 -1
  101. package/dist/cjs/components/form/CFormFloating.js +1 -1
  102. package/dist/cjs/components/form/CFormFloating.js.map +1 -1
  103. package/dist/cjs/components/form/CFormInput.js +2 -2
  104. package/dist/cjs/components/form/CFormInput.js.map +1 -1
  105. package/dist/cjs/components/form/CFormLabel.js +2 -2
  106. package/dist/cjs/components/form/CFormLabel.js.map +1 -1
  107. package/dist/cjs/components/form/CFormRange.js +1 -1
  108. package/dist/cjs/components/form/CFormRange.js.map +1 -1
  109. package/dist/cjs/components/form/CFormSelect.js +1 -1
  110. package/dist/cjs/components/form/CFormSelect.js.map +1 -1
  111. package/dist/cjs/components/form/CFormSwitch.js +2 -2
  112. package/dist/cjs/components/form/CFormSwitch.js.map +1 -1
  113. package/dist/cjs/components/form/CFormText.js +2 -2
  114. package/dist/cjs/components/form/CFormText.js.map +1 -1
  115. package/dist/cjs/components/form/CFormTextarea.js +1 -1
  116. package/dist/cjs/components/form/CFormTextarea.js.map +1 -1
  117. package/dist/cjs/components/form/CInputGroup.js +1 -1
  118. package/dist/cjs/components/form/CInputGroup.js.map +1 -1
  119. package/dist/cjs/components/form/CInputGroupText.js +2 -2
  120. package/dist/cjs/components/form/CInputGroupText.js.map +1 -1
  121. package/dist/cjs/components/grid/CCol.js +1 -1
  122. package/dist/cjs/components/grid/CCol.js.map +1 -1
  123. package/dist/cjs/components/grid/CContainer.js +1 -1
  124. package/dist/cjs/components/grid/CContainer.js.map +1 -1
  125. package/dist/cjs/components/grid/CRow.js +1 -1
  126. package/dist/cjs/components/grid/CRow.js.map +1 -1
  127. package/dist/cjs/components/header/CHeader.js +1 -1
  128. package/dist/cjs/components/header/CHeader.js.map +1 -1
  129. package/dist/cjs/components/header/CHeaderBrand.js +2 -2
  130. package/dist/cjs/components/header/CHeaderBrand.js.map +1 -1
  131. package/dist/cjs/components/header/CHeaderDivider.js +1 -1
  132. package/dist/cjs/components/header/CHeaderDivider.js.map +1 -1
  133. package/dist/cjs/components/header/CHeaderNav.js +2 -2
  134. package/dist/cjs/components/header/CHeaderNav.js.map +1 -1
  135. package/dist/cjs/components/header/CHeaderText.js +1 -1
  136. package/dist/cjs/components/header/CHeaderText.js.map +1 -1
  137. package/dist/cjs/components/header/CHeaderToggler.js +2 -2
  138. package/dist/cjs/components/header/CHeaderToggler.js.map +1 -1
  139. package/dist/cjs/components/image/CImage.js +1 -1
  140. package/dist/cjs/components/image/CImage.js.map +1 -1
  141. package/dist/cjs/components/link/CLink.js +2 -2
  142. package/dist/cjs/components/link/CLink.js.map +1 -1
  143. package/dist/cjs/components/list-group/CListGroup.js +5 -4
  144. package/dist/cjs/components/list-group/CListGroup.js.map +1 -1
  145. package/dist/cjs/components/list-group/CListGroupItem.js +2 -2
  146. package/dist/cjs/components/list-group/CListGroupItem.js.map +1 -1
  147. package/dist/cjs/components/modal/CModal.js +4 -5
  148. package/dist/cjs/components/modal/CModal.js.map +1 -1
  149. package/dist/cjs/components/modal/CModalBody.js +1 -1
  150. package/dist/cjs/components/modal/CModalBody.js.map +1 -1
  151. package/dist/cjs/components/modal/CModalContent.js +1 -1
  152. package/dist/cjs/components/modal/CModalContent.js.map +1 -1
  153. package/dist/cjs/components/modal/CModalDialog.js +1 -1
  154. package/dist/cjs/components/modal/CModalDialog.js.map +1 -1
  155. package/dist/cjs/components/modal/CModalFooter.js +1 -1
  156. package/dist/cjs/components/modal/CModalFooter.js.map +1 -1
  157. package/dist/cjs/components/modal/CModalHeader.js +2 -2
  158. package/dist/cjs/components/modal/CModalHeader.js.map +1 -1
  159. package/dist/cjs/components/modal/CModalTitle.js +2 -2
  160. package/dist/cjs/components/modal/CModalTitle.js.map +1 -1
  161. package/dist/cjs/components/nav/CNav.js +2 -2
  162. package/dist/cjs/components/nav/CNav.js.map +1 -1
  163. package/dist/cjs/components/nav/CNavGroup.js +6 -6
  164. package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
  165. package/dist/cjs/components/nav/CNavGroupItems.js +2 -2
  166. package/dist/cjs/components/nav/CNavGroupItems.js.map +1 -1
  167. package/dist/cjs/components/nav/CNavItem.js +2 -2
  168. package/dist/cjs/components/nav/CNavItem.js.map +1 -1
  169. package/dist/cjs/components/nav/CNavLink.js +2 -2
  170. package/dist/cjs/components/nav/CNavLink.js.map +1 -1
  171. package/dist/cjs/components/nav/CNavTitle.js +2 -2
  172. package/dist/cjs/components/nav/CNavTitle.js.map +1 -1
  173. package/dist/cjs/components/navbar/CNavbar.js +2 -2
  174. package/dist/cjs/components/navbar/CNavbar.js.map +1 -1
  175. package/dist/cjs/components/navbar/CNavbarBrand.js +2 -2
  176. package/dist/cjs/components/navbar/CNavbarBrand.js.map +1 -1
  177. package/dist/cjs/components/navbar/CNavbarNav.js +2 -2
  178. package/dist/cjs/components/navbar/CNavbarNav.js.map +1 -1
  179. package/dist/cjs/components/navbar/CNavbarText.js +1 -1
  180. package/dist/cjs/components/navbar/CNavbarText.js.map +1 -1
  181. package/dist/cjs/components/navbar/CNavbarToggler.js +2 -2
  182. package/dist/cjs/components/navbar/CNavbarToggler.js.map +1 -1
  183. package/dist/cjs/components/offcanvas/COffcanvas.js +3 -3
  184. package/dist/cjs/components/offcanvas/COffcanvas.js.map +1 -1
  185. package/dist/cjs/components/offcanvas/COffcanvasBody.js +1 -1
  186. package/dist/cjs/components/offcanvas/COffcanvasBody.js.map +1 -1
  187. package/dist/cjs/components/offcanvas/COffcanvasHeader.js +1 -1
  188. package/dist/cjs/components/offcanvas/COffcanvasHeader.js.map +1 -1
  189. package/dist/cjs/components/offcanvas/COffcanvasTitle.js +2 -2
  190. package/dist/cjs/components/offcanvas/COffcanvasTitle.js.map +1 -1
  191. package/dist/cjs/components/pagination/CPagination.js +1 -1
  192. package/dist/cjs/components/pagination/CPagination.js.map +1 -1
  193. package/dist/cjs/components/pagination/CPaginationItem.js +2 -2
  194. package/dist/cjs/components/pagination/CPaginationItem.js.map +1 -1
  195. package/dist/cjs/components/placeholder/CPlaceholder.js +2 -2
  196. package/dist/cjs/components/placeholder/CPlaceholder.js.map +1 -1
  197. package/dist/cjs/components/popover/CPopover.d.ts +75 -20
  198. package/dist/cjs/components/popover/CPopover.js +55 -63
  199. package/dist/cjs/components/popover/CPopover.js.map +1 -1
  200. package/dist/cjs/components/progress/CProgress.d.ts +1 -1
  201. package/dist/cjs/components/progress/CProgress.js +1 -1
  202. package/dist/cjs/components/progress/CProgress.js.map +1 -1
  203. package/dist/cjs/components/progress/CProgressBar.js +2 -2
  204. package/dist/cjs/components/progress/CProgressBar.js.map +1 -1
  205. package/dist/cjs/components/progress/CProgressStacked.js +1 -1
  206. package/dist/cjs/components/progress/CProgressStacked.js.map +1 -1
  207. package/dist/cjs/components/sidebar/CSidebar.d.ts +7 -2
  208. package/dist/cjs/components/sidebar/CSidebar.js +12 -11
  209. package/dist/cjs/components/sidebar/CSidebar.js.map +1 -1
  210. package/dist/cjs/components/sidebar/CSidebarBrand.js +2 -2
  211. package/dist/cjs/components/sidebar/CSidebarBrand.js.map +1 -1
  212. package/dist/cjs/components/sidebar/CSidebarFooter.js +1 -1
  213. package/dist/cjs/components/sidebar/CSidebarFooter.js.map +1 -1
  214. package/dist/cjs/components/sidebar/CSidebarHeader.js +1 -1
  215. package/dist/cjs/components/sidebar/CSidebarHeader.js.map +1 -1
  216. package/dist/cjs/components/sidebar/CSidebarNav.js +2 -2
  217. package/dist/cjs/components/sidebar/CSidebarNav.js.map +1 -1
  218. package/dist/cjs/components/sidebar/CSidebarToggler.js +1 -1
  219. package/dist/cjs/components/sidebar/CSidebarToggler.js.map +1 -1
  220. package/dist/cjs/components/spinner/CSpinner.js +2 -2
  221. package/dist/cjs/components/spinner/CSpinner.js.map +1 -1
  222. package/dist/cjs/components/table/CTable.js +1 -1
  223. package/dist/cjs/components/table/CTable.js.map +1 -1
  224. package/dist/cjs/components/table/CTableBody.js +1 -1
  225. package/dist/cjs/components/table/CTableBody.js.map +1 -1
  226. package/dist/cjs/components/table/CTableCaption.js.map +1 -1
  227. package/dist/cjs/components/table/CTableDataCell.js +1 -1
  228. package/dist/cjs/components/table/CTableDataCell.js.map +1 -1
  229. package/dist/cjs/components/table/CTableFoot.js +1 -1
  230. package/dist/cjs/components/table/CTableFoot.js.map +1 -1
  231. package/dist/cjs/components/table/CTableHead.js +1 -1
  232. package/dist/cjs/components/table/CTableHead.js.map +1 -1
  233. package/dist/cjs/components/table/CTableHeaderCell.js +1 -1
  234. package/dist/cjs/components/table/CTableHeaderCell.js.map +1 -1
  235. package/dist/cjs/components/table/CTableResponsiveWrapper.js.map +1 -1
  236. package/dist/cjs/components/table/CTableRow.js +1 -1
  237. package/dist/cjs/components/table/CTableRow.js.map +1 -1
  238. package/dist/cjs/components/table/utils.js +1 -1
  239. package/dist/cjs/components/table/utils.js.map +1 -1
  240. package/dist/cjs/components/tabs/CTab.js +1 -1
  241. package/dist/cjs/components/tabs/CTab.js.map +1 -1
  242. package/dist/cjs/components/tabs/CTabContent.js +1 -1
  243. package/dist/cjs/components/tabs/CTabContent.js.map +1 -1
  244. package/dist/cjs/components/tabs/CTabList.js +2 -2
  245. package/dist/cjs/components/tabs/CTabList.js.map +1 -1
  246. package/dist/cjs/components/tabs/CTabPane.js +2 -2
  247. package/dist/cjs/components/tabs/CTabPane.js.map +1 -1
  248. package/dist/cjs/components/tabs/CTabPanel.js +2 -2
  249. package/dist/cjs/components/tabs/CTabPanel.js.map +1 -1
  250. package/dist/cjs/components/tabs/CTabs.js +1 -1
  251. package/dist/cjs/components/tabs/CTabs.js.map +1 -1
  252. package/dist/cjs/components/toast/CToast.js +3 -3
  253. package/dist/cjs/components/toast/CToast.js.map +1 -1
  254. package/dist/cjs/components/toast/CToastBody.js +1 -1
  255. package/dist/cjs/components/toast/CToastBody.js.map +1 -1
  256. package/dist/cjs/components/toast/CToastClose.js.map +1 -1
  257. package/dist/cjs/components/toast/CToastHeader.js +1 -1
  258. package/dist/cjs/components/toast/CToastHeader.js.map +1 -1
  259. package/dist/cjs/components/toast/CToaster.js +1 -1
  260. package/dist/cjs/components/toast/CToaster.js.map +1 -1
  261. package/dist/cjs/components/tooltip/CTooltip.d.ts +67 -15
  262. package/dist/cjs/components/tooltip/CTooltip.js +55 -63
  263. package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
  264. package/dist/cjs/components/widgets/CWidgetStatsA.js +1 -1
  265. package/dist/cjs/components/widgets/CWidgetStatsA.js.map +1 -1
  266. package/dist/cjs/components/widgets/CWidgetStatsB.js.map +1 -1
  267. package/dist/cjs/components/widgets/CWidgetStatsC.js +1 -1
  268. package/dist/cjs/components/widgets/CWidgetStatsC.js.map +1 -1
  269. package/dist/cjs/components/widgets/CWidgetStatsD.js +1 -1
  270. package/dist/cjs/components/widgets/CWidgetStatsD.js.map +1 -1
  271. package/dist/cjs/components/widgets/CWidgetStatsE.js +1 -1
  272. package/dist/cjs/components/widgets/CWidgetStatsE.js.map +1 -1
  273. package/dist/cjs/components/widgets/CWidgetStatsF.js +1 -1
  274. package/dist/cjs/components/widgets/CWidgetStatsF.js.map +1 -1
  275. package/dist/cjs/hooks/index.d.ts +2 -1
  276. package/dist/cjs/hooks/useClipboard.d.ts +12 -0
  277. package/dist/cjs/hooks/useClipboard.js +54 -0
  278. package/dist/cjs/hooks/useClipboard.js.map +1 -0
  279. package/dist/cjs/hooks/useColorModes.js +1 -1
  280. package/dist/cjs/hooks/useColorModes.js.map +1 -1
  281. package/dist/cjs/hooks/useForkedRef.js.map +1 -1
  282. package/dist/cjs/hooks/usePopper.js.map +1 -1
  283. package/dist/cjs/index.js +2 -0
  284. package/dist/cjs/index.js.map +1 -1
  285. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/extends.js +6 -11
  286. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -1
  287. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +2 -4
  288. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js.map +1 -1
  289. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +7 -10
  290. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
  291. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +4 -6
  292. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js.map +1 -1
  293. package/dist/cjs/node_modules/classnames/index.js +61 -60
  294. package/dist/cjs/node_modules/classnames/index.js.map +1 -1
  295. package/dist/cjs/node_modules/dom-helpers/esm/addClass.js.map +1 -1
  296. package/dist/cjs/node_modules/dom-helpers/esm/hasClass.js.map +1 -1
  297. package/dist/cjs/node_modules/dom-helpers/esm/removeClass.js.map +1 -1
  298. package/dist/cjs/node_modules/react-transition-group/esm/CSSTransition.js +9 -9
  299. package/dist/cjs/node_modules/react-transition-group/esm/CSSTransition.js.map +1 -1
  300. package/dist/cjs/node_modules/react-transition-group/esm/Transition.js +2 -2
  301. package/dist/cjs/node_modules/react-transition-group/esm/Transition.js.map +1 -1
  302. package/dist/cjs/node_modules/react-transition-group/esm/config.js.map +1 -1
  303. package/dist/cjs/node_modules/react-transition-group/esm/utils/PropTypes.js.map +1 -1
  304. package/dist/cjs/node_modules/react-transition-group/esm/utils/reflow.js.map +1 -1
  305. package/dist/cjs/node_modules/tslib/tslib.es6.js +41 -1
  306. package/dist/cjs/node_modules/tslib/tslib.es6.js.map +1 -1
  307. package/dist/cjs/props.js.map +1 -1
  308. package/dist/cjs/utils/executeAfterTransition.js +1 -1
  309. package/dist/cjs/utils/executeAfterTransition.js.map +1 -1
  310. package/dist/cjs/utils/getNextActiveElement.js.map +1 -1
  311. package/dist/cjs/utils/getRTLPlacement.js.map +1 -1
  312. package/dist/cjs/utils/getTransitionDurationFromElement.js.map +1 -1
  313. package/dist/cjs/utils/index.d.ts +2 -1
  314. package/dist/cjs/utils/isInViewport.js.map +1 -1
  315. package/dist/cjs/utils/isRTL.js.map +1 -1
  316. package/dist/cjs/utils/mergeClassNames.d.ts +2 -0
  317. package/dist/esm/_virtual/index.js +6 -2
  318. package/dist/esm/_virtual/index.js.map +1 -1
  319. package/dist/esm/_virtual/index2.js +4 -0
  320. package/dist/esm/_virtual/index2.js.map +1 -0
  321. package/dist/esm/components/accordion/CAccordion.js +2 -2
  322. package/dist/esm/components/accordion/CAccordion.js.map +1 -1
  323. package/dist/esm/components/accordion/CAccordionBody.js +3 -3
  324. package/dist/esm/components/accordion/CAccordionBody.js.map +1 -1
  325. package/dist/esm/components/accordion/CAccordionButton.js +3 -3
  326. package/dist/esm/components/accordion/CAccordionButton.js.map +1 -1
  327. package/dist/esm/components/accordion/CAccordionHeader.js +1 -1
  328. package/dist/esm/components/accordion/CAccordionHeader.js.map +1 -1
  329. package/dist/esm/components/accordion/CAccordionItem.d.ts +5 -0
  330. package/dist/esm/components/accordion/CAccordionItem.js +9 -6
  331. package/dist/esm/components/accordion/CAccordionItem.js.map +1 -1
  332. package/dist/esm/components/alert/CAlert.js +2 -2
  333. package/dist/esm/components/alert/CAlert.js.map +1 -1
  334. package/dist/esm/components/alert/CAlertHeading.js +2 -2
  335. package/dist/esm/components/alert/CAlertHeading.js.map +1 -1
  336. package/dist/esm/components/alert/CAlertLink.js +1 -1
  337. package/dist/esm/components/alert/CAlertLink.js.map +1 -1
  338. package/dist/esm/components/avatar/CAvatar.js +2 -2
  339. package/dist/esm/components/avatar/CAvatar.js.map +1 -1
  340. package/dist/esm/components/backdrop/CBackdrop.js +2 -2
  341. package/dist/esm/components/backdrop/CBackdrop.js.map +1 -1
  342. package/dist/esm/components/badge/CBadge.js +8 -8
  343. package/dist/esm/components/badge/CBadge.js.map +1 -1
  344. package/dist/esm/components/breadcrumb/CBreadcrumb.js +1 -1
  345. package/dist/esm/components/breadcrumb/CBreadcrumb.js.map +1 -1
  346. package/dist/esm/components/breadcrumb/CBreadcrumbItem.js +1 -1
  347. package/dist/esm/components/breadcrumb/CBreadcrumbItem.js.map +1 -1
  348. package/dist/esm/components/button/CButton.js +2 -2
  349. package/dist/esm/components/button/CButton.js.map +1 -1
  350. package/dist/esm/components/button-group/CButtonGroup.js +1 -1
  351. package/dist/esm/components/button-group/CButtonGroup.js.map +1 -1
  352. package/dist/esm/components/button-group/CButtonToolbar.js +1 -1
  353. package/dist/esm/components/button-group/CButtonToolbar.js.map +1 -1
  354. package/dist/esm/components/callout/CCallout.js +1 -1
  355. package/dist/esm/components/callout/CCallout.js.map +1 -1
  356. package/dist/esm/components/card/CCard.js +1 -1
  357. package/dist/esm/components/card/CCard.js.map +1 -1
  358. package/dist/esm/components/card/CCardBody.js +1 -1
  359. package/dist/esm/components/card/CCardBody.js.map +1 -1
  360. package/dist/esm/components/card/CCardFooter.js +1 -1
  361. package/dist/esm/components/card/CCardFooter.js.map +1 -1
  362. package/dist/esm/components/card/CCardGroup.js +1 -1
  363. package/dist/esm/components/card/CCardGroup.js.map +1 -1
  364. package/dist/esm/components/card/CCardHeader.js +2 -2
  365. package/dist/esm/components/card/CCardHeader.js.map +1 -1
  366. package/dist/esm/components/card/CCardImage.js +2 -2
  367. package/dist/esm/components/card/CCardImage.js.map +1 -1
  368. package/dist/esm/components/card/CCardImageOverlay.js +1 -1
  369. package/dist/esm/components/card/CCardImageOverlay.js.map +1 -1
  370. package/dist/esm/components/card/CCardLink.js +1 -1
  371. package/dist/esm/components/card/CCardLink.js.map +1 -1
  372. package/dist/esm/components/card/CCardSubtitle.js +2 -2
  373. package/dist/esm/components/card/CCardSubtitle.js.map +1 -1
  374. package/dist/esm/components/card/CCardText.js +2 -2
  375. package/dist/esm/components/card/CCardText.js.map +1 -1
  376. package/dist/esm/components/card/CCardTitle.js +2 -2
  377. package/dist/esm/components/card/CCardTitle.js.map +1 -1
  378. package/dist/esm/components/carousel/CCarousel.js +2 -2
  379. package/dist/esm/components/carousel/CCarousel.js.map +1 -1
  380. package/dist/esm/components/carousel/CCarouselCaption.js +1 -1
  381. package/dist/esm/components/carousel/CCarouselCaption.js.map +1 -1
  382. package/dist/esm/components/carousel/CCarouselItem.js +7 -7
  383. package/dist/esm/components/carousel/CCarouselItem.js.map +1 -1
  384. package/dist/esm/components/close-button/CCloseButton.js +1 -1
  385. package/dist/esm/components/close-button/CCloseButton.js.map +1 -1
  386. package/dist/esm/components/collapse/CCollapse.js +1 -1
  387. package/dist/esm/components/collapse/CCollapse.js.map +1 -1
  388. package/dist/esm/components/conditional-portal/CConditionalPortal.js.map +1 -1
  389. package/dist/esm/components/dropdown/CDropdown.d.ts +77 -20
  390. package/dist/esm/components/dropdown/CDropdown.js +7 -4
  391. package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
  392. package/dist/esm/components/dropdown/CDropdownDivider.js +1 -1
  393. package/dist/esm/components/dropdown/CDropdownDivider.js.map +1 -1
  394. package/dist/esm/components/dropdown/CDropdownHeader.js +2 -2
  395. package/dist/esm/components/dropdown/CDropdownHeader.js.map +1 -1
  396. package/dist/esm/components/dropdown/CDropdownItem.js +2 -2
  397. package/dist/esm/components/dropdown/CDropdownItem.js.map +1 -1
  398. package/dist/esm/components/dropdown/CDropdownItemPlain.js +2 -2
  399. package/dist/esm/components/dropdown/CDropdownItemPlain.js.map +1 -1
  400. package/dist/esm/components/dropdown/CDropdownMenu.js +4 -4
  401. package/dist/esm/components/dropdown/CDropdownMenu.js.map +1 -1
  402. package/dist/esm/components/dropdown/CDropdownToggle.js +3 -3
  403. package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
  404. package/dist/esm/components/dropdown/utils.js.map +1 -1
  405. package/dist/esm/components/footer/CFooter.js +1 -1
  406. package/dist/esm/components/footer/CFooter.js.map +1 -1
  407. package/dist/esm/components/form/CForm.js +1 -1
  408. package/dist/esm/components/form/CForm.js.map +1 -1
  409. package/dist/esm/components/form/CFormCheck.js +2 -2
  410. package/dist/esm/components/form/CFormCheck.js.map +1 -1
  411. package/dist/esm/components/form/CFormControlValidation.js.map +1 -1
  412. package/dist/esm/components/form/CFormControlWrapper.js.map +1 -1
  413. package/dist/esm/components/form/CFormFeedback.js +2 -2
  414. package/dist/esm/components/form/CFormFeedback.js.map +1 -1
  415. package/dist/esm/components/form/CFormFloating.js +1 -1
  416. package/dist/esm/components/form/CFormFloating.js.map +1 -1
  417. package/dist/esm/components/form/CFormInput.js +2 -2
  418. package/dist/esm/components/form/CFormInput.js.map +1 -1
  419. package/dist/esm/components/form/CFormLabel.js +2 -2
  420. package/dist/esm/components/form/CFormLabel.js.map +1 -1
  421. package/dist/esm/components/form/CFormRange.js +1 -1
  422. package/dist/esm/components/form/CFormRange.js.map +1 -1
  423. package/dist/esm/components/form/CFormSelect.js +1 -1
  424. package/dist/esm/components/form/CFormSelect.js.map +1 -1
  425. package/dist/esm/components/form/CFormSwitch.js +2 -2
  426. package/dist/esm/components/form/CFormSwitch.js.map +1 -1
  427. package/dist/esm/components/form/CFormText.js +2 -2
  428. package/dist/esm/components/form/CFormText.js.map +1 -1
  429. package/dist/esm/components/form/CFormTextarea.js +1 -1
  430. package/dist/esm/components/form/CFormTextarea.js.map +1 -1
  431. package/dist/esm/components/form/CInputGroup.js +1 -1
  432. package/dist/esm/components/form/CInputGroup.js.map +1 -1
  433. package/dist/esm/components/form/CInputGroupText.js +2 -2
  434. package/dist/esm/components/form/CInputGroupText.js.map +1 -1
  435. package/dist/esm/components/grid/CCol.js +1 -1
  436. package/dist/esm/components/grid/CCol.js.map +1 -1
  437. package/dist/esm/components/grid/CContainer.js +1 -1
  438. package/dist/esm/components/grid/CContainer.js.map +1 -1
  439. package/dist/esm/components/grid/CRow.js +1 -1
  440. package/dist/esm/components/grid/CRow.js.map +1 -1
  441. package/dist/esm/components/header/CHeader.js +1 -1
  442. package/dist/esm/components/header/CHeader.js.map +1 -1
  443. package/dist/esm/components/header/CHeaderBrand.js +2 -2
  444. package/dist/esm/components/header/CHeaderBrand.js.map +1 -1
  445. package/dist/esm/components/header/CHeaderDivider.js +1 -1
  446. package/dist/esm/components/header/CHeaderDivider.js.map +1 -1
  447. package/dist/esm/components/header/CHeaderNav.js +2 -2
  448. package/dist/esm/components/header/CHeaderNav.js.map +1 -1
  449. package/dist/esm/components/header/CHeaderText.js +1 -1
  450. package/dist/esm/components/header/CHeaderText.js.map +1 -1
  451. package/dist/esm/components/header/CHeaderToggler.js +2 -2
  452. package/dist/esm/components/header/CHeaderToggler.js.map +1 -1
  453. package/dist/esm/components/image/CImage.js +1 -1
  454. package/dist/esm/components/image/CImage.js.map +1 -1
  455. package/dist/esm/components/link/CLink.js +2 -2
  456. package/dist/esm/components/link/CLink.js.map +1 -1
  457. package/dist/esm/components/list-group/CListGroup.js +5 -4
  458. package/dist/esm/components/list-group/CListGroup.js.map +1 -1
  459. package/dist/esm/components/list-group/CListGroupItem.js +2 -2
  460. package/dist/esm/components/list-group/CListGroupItem.js.map +1 -1
  461. package/dist/esm/components/modal/CModal.js +4 -5
  462. package/dist/esm/components/modal/CModal.js.map +1 -1
  463. package/dist/esm/components/modal/CModalBody.js +1 -1
  464. package/dist/esm/components/modal/CModalBody.js.map +1 -1
  465. package/dist/esm/components/modal/CModalContent.js +1 -1
  466. package/dist/esm/components/modal/CModalContent.js.map +1 -1
  467. package/dist/esm/components/modal/CModalDialog.js +1 -1
  468. package/dist/esm/components/modal/CModalDialog.js.map +1 -1
  469. package/dist/esm/components/modal/CModalFooter.js +1 -1
  470. package/dist/esm/components/modal/CModalFooter.js.map +1 -1
  471. package/dist/esm/components/modal/CModalHeader.js +2 -2
  472. package/dist/esm/components/modal/CModalHeader.js.map +1 -1
  473. package/dist/esm/components/modal/CModalTitle.js +2 -2
  474. package/dist/esm/components/modal/CModalTitle.js.map +1 -1
  475. package/dist/esm/components/nav/CNav.js +2 -2
  476. package/dist/esm/components/nav/CNav.js.map +1 -1
  477. package/dist/esm/components/nav/CNavGroup.js +6 -6
  478. package/dist/esm/components/nav/CNavGroup.js.map +1 -1
  479. package/dist/esm/components/nav/CNavGroupItems.js +2 -2
  480. package/dist/esm/components/nav/CNavGroupItems.js.map +1 -1
  481. package/dist/esm/components/nav/CNavItem.js +2 -2
  482. package/dist/esm/components/nav/CNavItem.js.map +1 -1
  483. package/dist/esm/components/nav/CNavLink.js +2 -2
  484. package/dist/esm/components/nav/CNavLink.js.map +1 -1
  485. package/dist/esm/components/nav/CNavTitle.js +2 -2
  486. package/dist/esm/components/nav/CNavTitle.js.map +1 -1
  487. package/dist/esm/components/navbar/CNavbar.js +2 -2
  488. package/dist/esm/components/navbar/CNavbar.js.map +1 -1
  489. package/dist/esm/components/navbar/CNavbarBrand.js +2 -2
  490. package/dist/esm/components/navbar/CNavbarBrand.js.map +1 -1
  491. package/dist/esm/components/navbar/CNavbarNav.js +2 -2
  492. package/dist/esm/components/navbar/CNavbarNav.js.map +1 -1
  493. package/dist/esm/components/navbar/CNavbarText.js +1 -1
  494. package/dist/esm/components/navbar/CNavbarText.js.map +1 -1
  495. package/dist/esm/components/navbar/CNavbarToggler.js +2 -2
  496. package/dist/esm/components/navbar/CNavbarToggler.js.map +1 -1
  497. package/dist/esm/components/offcanvas/COffcanvas.js +3 -3
  498. package/dist/esm/components/offcanvas/COffcanvas.js.map +1 -1
  499. package/dist/esm/components/offcanvas/COffcanvasBody.js +1 -1
  500. package/dist/esm/components/offcanvas/COffcanvasBody.js.map +1 -1
  501. package/dist/esm/components/offcanvas/COffcanvasHeader.js +1 -1
  502. package/dist/esm/components/offcanvas/COffcanvasHeader.js.map +1 -1
  503. package/dist/esm/components/offcanvas/COffcanvasTitle.js +2 -2
  504. package/dist/esm/components/offcanvas/COffcanvasTitle.js.map +1 -1
  505. package/dist/esm/components/pagination/CPagination.js +1 -1
  506. package/dist/esm/components/pagination/CPagination.js.map +1 -1
  507. package/dist/esm/components/pagination/CPaginationItem.js +2 -2
  508. package/dist/esm/components/pagination/CPaginationItem.js.map +1 -1
  509. package/dist/esm/components/placeholder/CPlaceholder.js +2 -2
  510. package/dist/esm/components/placeholder/CPlaceholder.js.map +1 -1
  511. package/dist/esm/components/popover/CPopover.d.ts +75 -20
  512. package/dist/esm/components/popover/CPopover.js +57 -65
  513. package/dist/esm/components/popover/CPopover.js.map +1 -1
  514. package/dist/esm/components/progress/CProgress.d.ts +1 -1
  515. package/dist/esm/components/progress/CProgress.js +1 -1
  516. package/dist/esm/components/progress/CProgress.js.map +1 -1
  517. package/dist/esm/components/progress/CProgressBar.js +2 -2
  518. package/dist/esm/components/progress/CProgressBar.js.map +1 -1
  519. package/dist/esm/components/progress/CProgressStacked.js +1 -1
  520. package/dist/esm/components/progress/CProgressStacked.js.map +1 -1
  521. package/dist/esm/components/sidebar/CSidebar.d.ts +7 -2
  522. package/dist/esm/components/sidebar/CSidebar.js +12 -11
  523. package/dist/esm/components/sidebar/CSidebar.js.map +1 -1
  524. package/dist/esm/components/sidebar/CSidebarBrand.js +2 -2
  525. package/dist/esm/components/sidebar/CSidebarBrand.js.map +1 -1
  526. package/dist/esm/components/sidebar/CSidebarFooter.js +1 -1
  527. package/dist/esm/components/sidebar/CSidebarFooter.js.map +1 -1
  528. package/dist/esm/components/sidebar/CSidebarHeader.js +1 -1
  529. package/dist/esm/components/sidebar/CSidebarHeader.js.map +1 -1
  530. package/dist/esm/components/sidebar/CSidebarNav.js +2 -2
  531. package/dist/esm/components/sidebar/CSidebarNav.js.map +1 -1
  532. package/dist/esm/components/sidebar/CSidebarToggler.js +1 -1
  533. package/dist/esm/components/sidebar/CSidebarToggler.js.map +1 -1
  534. package/dist/esm/components/spinner/CSpinner.js +2 -2
  535. package/dist/esm/components/spinner/CSpinner.js.map +1 -1
  536. package/dist/esm/components/table/CTable.js +1 -1
  537. package/dist/esm/components/table/CTable.js.map +1 -1
  538. package/dist/esm/components/table/CTableBody.js +1 -1
  539. package/dist/esm/components/table/CTableBody.js.map +1 -1
  540. package/dist/esm/components/table/CTableCaption.js.map +1 -1
  541. package/dist/esm/components/table/CTableDataCell.js +1 -1
  542. package/dist/esm/components/table/CTableDataCell.js.map +1 -1
  543. package/dist/esm/components/table/CTableFoot.js +1 -1
  544. package/dist/esm/components/table/CTableFoot.js.map +1 -1
  545. package/dist/esm/components/table/CTableHead.js +1 -1
  546. package/dist/esm/components/table/CTableHead.js.map +1 -1
  547. package/dist/esm/components/table/CTableHeaderCell.js +1 -1
  548. package/dist/esm/components/table/CTableHeaderCell.js.map +1 -1
  549. package/dist/esm/components/table/CTableResponsiveWrapper.js.map +1 -1
  550. package/dist/esm/components/table/CTableRow.js +1 -1
  551. package/dist/esm/components/table/CTableRow.js.map +1 -1
  552. package/dist/esm/components/table/utils.js +1 -1
  553. package/dist/esm/components/table/utils.js.map +1 -1
  554. package/dist/esm/components/tabs/CTab.js +1 -1
  555. package/dist/esm/components/tabs/CTab.js.map +1 -1
  556. package/dist/esm/components/tabs/CTabContent.js +1 -1
  557. package/dist/esm/components/tabs/CTabContent.js.map +1 -1
  558. package/dist/esm/components/tabs/CTabList.js +2 -2
  559. package/dist/esm/components/tabs/CTabList.js.map +1 -1
  560. package/dist/esm/components/tabs/CTabPane.js +2 -2
  561. package/dist/esm/components/tabs/CTabPane.js.map +1 -1
  562. package/dist/esm/components/tabs/CTabPanel.js +2 -2
  563. package/dist/esm/components/tabs/CTabPanel.js.map +1 -1
  564. package/dist/esm/components/tabs/CTabs.js +1 -1
  565. package/dist/esm/components/tabs/CTabs.js.map +1 -1
  566. package/dist/esm/components/toast/CToast.js +3 -3
  567. package/dist/esm/components/toast/CToast.js.map +1 -1
  568. package/dist/esm/components/toast/CToastBody.js +1 -1
  569. package/dist/esm/components/toast/CToastBody.js.map +1 -1
  570. package/dist/esm/components/toast/CToastClose.js.map +1 -1
  571. package/dist/esm/components/toast/CToastHeader.js +1 -1
  572. package/dist/esm/components/toast/CToastHeader.js.map +1 -1
  573. package/dist/esm/components/toast/CToaster.js +1 -1
  574. package/dist/esm/components/toast/CToaster.js.map +1 -1
  575. package/dist/esm/components/tooltip/CTooltip.d.ts +67 -15
  576. package/dist/esm/components/tooltip/CTooltip.js +57 -65
  577. package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
  578. package/dist/esm/components/widgets/CWidgetStatsA.js +1 -1
  579. package/dist/esm/components/widgets/CWidgetStatsA.js.map +1 -1
  580. package/dist/esm/components/widgets/CWidgetStatsB.js.map +1 -1
  581. package/dist/esm/components/widgets/CWidgetStatsC.js +1 -1
  582. package/dist/esm/components/widgets/CWidgetStatsC.js.map +1 -1
  583. package/dist/esm/components/widgets/CWidgetStatsD.js +1 -1
  584. package/dist/esm/components/widgets/CWidgetStatsD.js.map +1 -1
  585. package/dist/esm/components/widgets/CWidgetStatsE.js +1 -1
  586. package/dist/esm/components/widgets/CWidgetStatsE.js.map +1 -1
  587. package/dist/esm/components/widgets/CWidgetStatsF.js +1 -1
  588. package/dist/esm/components/widgets/CWidgetStatsF.js.map +1 -1
  589. package/dist/esm/hooks/index.d.ts +2 -1
  590. package/dist/esm/hooks/useClipboard.d.ts +12 -0
  591. package/dist/esm/hooks/useClipboard.js +52 -0
  592. package/dist/esm/hooks/useClipboard.js.map +1 -0
  593. package/dist/esm/hooks/useColorModes.js +1 -1
  594. package/dist/esm/hooks/useColorModes.js.map +1 -1
  595. package/dist/esm/hooks/useForkedRef.js.map +1 -1
  596. package/dist/esm/hooks/usePopper.js.map +1 -1
  597. package/dist/esm/index.js +1 -0
  598. package/dist/esm/index.js.map +1 -1
  599. package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.js +6 -11
  600. package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -1
  601. package/dist/esm/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +2 -4
  602. package/dist/esm/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js.map +1 -1
  603. package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +7 -10
  604. package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
  605. package/dist/esm/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +4 -6
  606. package/dist/esm/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js.map +1 -1
  607. package/dist/esm/node_modules/classnames/index.js +61 -58
  608. package/dist/esm/node_modules/classnames/index.js.map +1 -1
  609. package/dist/esm/node_modules/dom-helpers/esm/addClass.js.map +1 -1
  610. package/dist/esm/node_modules/dom-helpers/esm/hasClass.js.map +1 -1
  611. package/dist/esm/node_modules/dom-helpers/esm/removeClass.js.map +1 -1
  612. package/dist/esm/node_modules/react-transition-group/esm/CSSTransition.js.map +1 -1
  613. package/dist/esm/node_modules/react-transition-group/esm/Transition.js +2 -2
  614. package/dist/esm/node_modules/react-transition-group/esm/Transition.js.map +1 -1
  615. package/dist/esm/node_modules/react-transition-group/esm/config.js.map +1 -1
  616. package/dist/esm/node_modules/react-transition-group/esm/utils/PropTypes.js.map +1 -1
  617. package/dist/esm/node_modules/react-transition-group/esm/utils/reflow.js.map +1 -1
  618. package/dist/esm/node_modules/tslib/tslib.es6.js +40 -2
  619. package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -1
  620. package/dist/esm/props.js.map +1 -1
  621. package/dist/esm/utils/executeAfterTransition.js +1 -1
  622. package/dist/esm/utils/executeAfterTransition.js.map +1 -1
  623. package/dist/esm/utils/getNextActiveElement.js.map +1 -1
  624. package/dist/esm/utils/getRTLPlacement.js.map +1 -1
  625. package/dist/esm/utils/getTransitionDurationFromElement.js.map +1 -1
  626. package/dist/esm/utils/index.d.ts +2 -1
  627. package/dist/esm/utils/isInViewport.js.map +1 -1
  628. package/dist/esm/utils/isRTL.js.map +1 -1
  629. package/dist/esm/utils/mergeClassNames.d.ts +2 -0
  630. package/package.json +16 -14
  631. package/src/components/accordion/CAccordionBody.tsx +3 -3
  632. package/src/components/accordion/CAccordionButton.tsx +3 -2
  633. package/src/components/accordion/CAccordionItem.tsx +14 -5
  634. package/src/components/accordion/__tests__/__snapshots__/CAccordionButton.spec.tsx.snap +0 -2
  635. package/src/components/accordion/__tests__/__snapshots__/CAccordionHeader.spec.tsx.snap +0 -2
  636. package/src/components/badge/CBadge.tsx +1 -1
  637. package/src/components/carousel/__tests__/CCarousel.spec.tsx +1 -2
  638. package/src/components/dropdown/CDropdown.tsx +106 -26
  639. package/src/components/dropdown/CDropdownMenu.tsx +0 -1
  640. package/src/components/dropdown/CDropdownToggle.tsx +1 -1
  641. package/src/components/dropdown/__tests__/CDropdown.spec.tsx +43 -19
  642. package/src/components/list-group/CListGroup.tsx +2 -1
  643. package/src/components/modal/CModal.tsx +0 -2
  644. package/src/components/modal/__tests__/CModal.spec.tsx +33 -25
  645. package/src/components/nav/CNavGroup.tsx +6 -2
  646. package/src/components/nav/__tests__/__snapshots__/CNavGroup.spec.tsx.snap +4 -1
  647. package/src/components/popover/CPopover.tsx +166 -87
  648. package/src/components/popover/__tests__/CPopover.spec.tsx +1 -1
  649. package/src/components/popover/__tests__/__snapshots__/CPopover.spec.tsx.snap +2 -3
  650. package/src/components/progress/CProgress.tsx +1 -1
  651. package/src/components/sidebar/CSidebar.tsx +15 -5
  652. package/src/components/tooltip/CTooltip.tsx +157 -82
  653. package/src/components/tooltip/__tests__/__snapshots__/CTooltip.spec.tsx.snap +0 -1
  654. package/src/hooks/index.ts +2 -1
  655. package/src/hooks/useClipboard.ts +38 -0
  656. package/src/utils/index.ts +2 -0
  657. package/src/utils/mergeClassNames.ts +25 -0
@@ -1,6 +1,15 @@
1
- import React, { forwardRef, HTMLAttributes, ReactNode, useRef, useEffect, useState } from 'react'
1
+ import React, {
2
+ forwardRef,
3
+ HTMLAttributes,
4
+ ReactNode,
5
+ useEffect,
6
+ useId,
7
+ useRef,
8
+ useState,
9
+ } from 'react'
2
10
  import classNames from 'classnames'
3
11
  import PropTypes from 'prop-types'
12
+ import type { Options } from '@popperjs/core'
4
13
 
5
14
  import { CConditionalPortal } from '../conditional-portal'
6
15
  import { useForkedRef, usePopper } from '../../hooks'
@@ -10,61 +19,124 @@ import { executeAfterTransition, getRTLPlacement } from '../../utils'
10
19
 
11
20
  export interface CTooltipProps extends Omit<HTMLAttributes<HTMLDivElement>, 'content'> {
12
21
  /**
13
- * Apply a CSS fade transition to the tooltip.
22
+ * Enables or disables the CSS fade transition for the React Tooltip.
14
23
  *
15
24
  * @since 4.9.0
16
25
  */
17
26
  animation?: boolean
27
+
18
28
  /**
19
- * A string of all className you want applied to the component.
29
+ * Adds a custom class name to the React Tooltip container. Useful for overriding default styles or applying additional design choices.
20
30
  */
21
31
  className?: string
32
+
22
33
  /**
23
- * Appends the react tooltip to a specific element. You can pass an HTML element or function that returns a single element. By default `document.body`.
34
+ * Appends the React Tooltip to a specific element instead of the default `document.body`. You may pass:
35
+ * - A DOM element (`HTMLElement` or `DocumentFragment`)
36
+ * - A function that returns a single element
37
+ * - `null`
38
+ *
39
+ * @example
40
+ * <CTooltip container={document.getElementById('my-container')}>...</CTooltip>
24
41
  *
42
+ * @default document.body
25
43
  * @since 4.11.0
26
44
  */
27
45
  container?: DocumentFragment | Element | (() => DocumentFragment | Element | null) | null
46
+
28
47
  /**
29
- * Content node for your component.
48
+ * Content to be displayed within the React Tooltip. Can be a string or any valid React node.
30
49
  */
31
50
  content: ReactNode | string
51
+
32
52
  /**
33
- * The delay for displaying and hiding the tooltip (in milliseconds). When a numerical value is provided, the delay applies to both the hide and show actions. The object structure for specifying the delay is as follows: delay: `{ 'show': 500, 'hide': 100 }`.
53
+ * The delay (in milliseconds) before showing or hiding the React Tooltip.
54
+ * - If provided as a number, the delay is applied to both "show" and "hide".
55
+ * - If provided as an object, it should have distinct "show" and "hide" values.
56
+ *
57
+ * @example
58
+ * // Delays 300ms on both show and hide
59
+ * <CTooltip delay={300}>...</CTooltip>
60
+ *
61
+ * // Delays 500ms on show and 100ms on hide
62
+ * <CTooltip delay={{ show: 500, hide: 100 }}>...</CTooltip>
34
63
  *
35
64
  * @since 4.9.0
36
65
  */
37
66
  delay?: number | { show: number; hide: number }
67
+
38
68
  /**
39
- * Specify the desired order of fallback placements by providing a list of placements as an array. The placements should be prioritized based on preference.
69
+ * Array of fallback placements for the React Tooltip to use when the preferred placement cannot be achieved. These placements are tried in order.
40
70
  *
71
+ * @type 'top', 'right', 'bottom', 'left' | ('top', 'right', 'bottom', 'left')[]
41
72
  * @since 4.9.0
42
73
  */
43
74
  fallbackPlacements?: Placements | Placements[]
75
+
44
76
  /**
45
- * Offset of the tooltip relative to its target.
77
+ * Adjusts the offset of the React Tooltip relative to its target. Expects a tuple `[x-axis, y-axis]`.
78
+ *
79
+ * @example
80
+ * // Offset the menu 0px in X and 10px in Y direction
81
+ * <CTooltip offset={[0, 10]}>...</CTooltip>
82
+ *
83
+ * // Offset the menu 5px in both X and Y direction
84
+ * <CTooltip offset={[5, 5]}>...</CTooltip>
46
85
  */
47
86
  offset?: [number, number]
87
+
48
88
  /**
49
- * Callback fired when the component requests to be hidden.
89
+ * Callback fired immediately after the React Tooltip is hidden.
50
90
  */
51
91
  onHide?: () => void
92
+
52
93
  /**
53
- * Callback fired when the component requests to be shown.
94
+ * Callback fired immediately after the React Tooltip is shown.
54
95
  */
55
96
  onShow?: () => void
97
+
98
+ /**
99
+ * Initial placement of the React Tooltip. Note that Popper.js modifiers may alter this placement automatically if there's insufficient space in the chosen position.
100
+ */
101
+ placement?: 'auto' | 'top' | 'right' | 'bottom' | 'left'
102
+
56
103
  /**
57
- * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.
104
+ * Customize the Popper.js configuration used to position the React Tooltip. Pass either an object or a function returning a modified config. [Learn more](https://popper.js.org/docs/v2/constructors/#options)
58
105
  *
59
- * @type 'hover' | 'focus' | 'click'
106
+ * @example
107
+ * <CTooltip
108
+ * popperConfig={(defaultConfig) => ({
109
+ * ...defaultConfig,
110
+ * strategy: 'fixed',
111
+ * modifiers: [
112
+ * ...defaultConfig.modifiers,
113
+ * { name: 'computeStyles', options: { adaptive: false } },
114
+ * ],
115
+ * })}
116
+ * >...</CTooltip>
117
+ *
118
+ * @since 5.5.0
60
119
  */
61
- trigger?: Triggers | Triggers[]
120
+ popperConfig?: Partial<Options> | ((defaultPopperConfig: Partial<Options>) => Partial<Options>)
121
+
62
122
  /**
63
- * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.
123
+ * Determines the events that toggle the visibility of the React Tooltip. Can be a single trigger or an array of triggers.
124
+ *
125
+ * @example
126
+ * // Hover-only tooltip
127
+ * <CTooltip trigger="hover">...</CTooltip>
128
+ *
129
+ * // Hover + click combined
130
+ * <CTooltip trigger={['hover', 'click']}>...</CTooltip>
131
+ *
132
+ * @type 'hover' | 'focus' | 'click' | ('hover' | 'focus' | 'click')[]
64
133
  */
65
- placement?: 'auto' | 'top' | 'right' | 'bottom' | 'left'
134
+ trigger?: Triggers | Triggers[]
135
+
66
136
  /**
67
- * Toggle the visibility of tooltip component.
137
+ * Controls the visibility of the React Tooltip.
138
+ * - `true` to show the tooltip.
139
+ * - `false` to hide the tooltip.
68
140
  */
69
141
  visible?: boolean
70
142
  }
@@ -83,90 +155,87 @@ export const CTooltip = forwardRef<HTMLDivElement, CTooltipProps>(
83
155
  onHide,
84
156
  onShow,
85
157
  placement = 'top',
158
+ popperConfig,
86
159
  trigger = ['hover', 'focus'],
87
160
  visible,
88
161
  ...rest
89
162
  },
90
- ref,
163
+ ref
91
164
  ) => {
92
165
  const tooltipRef = useRef<HTMLDivElement>(null)
93
166
  const togglerRef = useRef(null)
94
167
  const forkedRef = useForkedRef(ref, tooltipRef)
95
- const uID = useRef(`tooltip${Math.floor(Math.random() * 1_000_000)}`)
96
168
 
97
- const { initPopper, destroyPopper, updatePopper } = usePopper()
169
+ const id = `tooltip${useId()}`
98
170
  const [mounted, setMounted] = useState(false)
99
171
  const [_visible, setVisible] = useState(visible)
100
172
 
173
+ const { initPopper, destroyPopper, updatePopper } = usePopper()
174
+
101
175
  const _delay = typeof delay === 'number' ? { show: delay, hide: delay } : delay
102
176
 
103
- const popperConfig = {
177
+ const defaultPopperConfig: Partial<Options> = {
104
178
  modifiers: [
105
- {
106
- name: 'arrow',
107
- options: {
108
- element: '.tooltip-arrow',
109
- },
110
- },
111
- {
112
- name: 'flip',
113
- options: {
114
- fallbackPlacements: fallbackPlacements,
115
- },
116
- },
117
- {
118
- name: 'offset',
119
- options: {
120
- offset: offset,
121
- },
122
- },
179
+ { name: 'arrow', options: { element: '.tooltip-arrow' } },
180
+ { name: 'flip', options: { fallbackPlacements } },
181
+ { name: 'offset', options: { offset } },
123
182
  ],
124
183
  placement: getRTLPlacement(placement, togglerRef.current),
125
184
  }
126
185
 
127
- useEffect(() => {
128
- setVisible(visible)
129
- }, [visible])
186
+ const computedPopperConfig: Partial<Options> = {
187
+ ...defaultPopperConfig,
188
+ ...(typeof popperConfig === 'function' ? popperConfig(defaultPopperConfig) : popperConfig),
189
+ }
130
190
 
131
191
  useEffect(() => {
132
- if (_visible) {
133
- setMounted(true)
192
+ if (visible) {
193
+ handleShow()
194
+ return
195
+ }
134
196
 
135
- if (tooltipRef.current) {
136
- tooltipRef.current.classList.remove('fade', 'show')
137
- destroyPopper()
138
- }
197
+ handleHide()
198
+ }, [visible])
139
199
 
200
+ useEffect(() => {
201
+ if (mounted && togglerRef.current && tooltipRef.current) {
202
+ initPopper(togglerRef.current, tooltipRef.current, computedPopperConfig)
140
203
  setTimeout(() => {
141
- if (togglerRef.current && tooltipRef.current) {
142
- if (animation) {
143
- tooltipRef.current.classList.add('fade')
144
- }
145
-
146
- initPopper(togglerRef.current, tooltipRef.current, popperConfig)
147
- tooltipRef.current.style.removeProperty('display')
148
- tooltipRef.current.classList.add('show')
149
- onShow && onShow()
150
- }
204
+ setVisible(true)
151
205
  }, _delay.show)
206
+
207
+ return
152
208
  }
153
209
 
154
- return () => {
155
- if (tooltipRef.current) {
156
- tooltipRef.current.classList.remove('show')
157
- onHide && onHide()
158
- executeAfterTransition(() => {
159
- if (tooltipRef.current) {
160
- tooltipRef.current.style.display = 'none'
161
- }
162
-
163
- destroyPopper()
164
- setMounted(false)
165
- }, tooltipRef.current)
166
- }
210
+ if (!mounted && togglerRef.current && tooltipRef.current) {
211
+ destroyPopper()
212
+ }
213
+ }, [mounted])
214
+
215
+ useEffect(() => {
216
+ if (!_visible && togglerRef.current && tooltipRef.current) {
217
+ executeAfterTransition(() => {
218
+ setMounted(false)
219
+ }, tooltipRef.current)
167
220
  }
168
221
  }, [_visible])
169
222
 
223
+ const handleShow = () => {
224
+ setMounted(true)
225
+ if (onShow) {
226
+ onShow()
227
+ }
228
+ }
229
+
230
+ const handleHide = () => {
231
+ setTimeout(() => {
232
+ setVisible(false)
233
+ if (onHide) {
234
+ onHide()
235
+ }
236
+ }, _delay.hide)
237
+ }
238
+
170
239
  useEffect(() => {
171
240
  updatePopper()
172
241
  }, [content])
@@ -175,31 +244,36 @@ export const CTooltip = forwardRef<HTMLDivElement, CTooltipProps>(
175
244
  <>
176
245
  {React.cloneElement(children as React.ReactElement<any>, {
177
246
  ...(_visible && {
178
- 'aria-describedby': uID.current,
247
+ 'aria-describedby': id,
179
248
  }),
180
249
  ref: togglerRef,
181
250
  ...((trigger === 'click' || trigger.includes('click')) && {
182
- onClick: () => setVisible(!_visible),
251
+ onClick: () => (_visible ? handleHide() : handleShow()),
183
252
  }),
184
253
  ...((trigger === 'focus' || trigger.includes('focus')) && {
185
- onFocus: () => setVisible(true),
186
- onBlur: () => setVisible(false),
254
+ onFocus: () => handleShow(),
255
+ onBlur: () => handleHide(),
187
256
  }),
188
257
  ...((trigger === 'hover' || trigger.includes('hover')) && {
189
- onMouseEnter: () => setVisible(true),
190
- onMouseLeave: () => setVisible(false),
258
+ onMouseEnter: () => handleShow(),
259
+ onMouseLeave: () => handleHide(),
191
260
  }),
192
261
  })}
193
262
  <CConditionalPortal container={container} portal={true}>
194
263
  {mounted && (
195
264
  <div
196
- className={classNames('tooltip', 'bs-tooltip-auto', className)}
197
- id={uID.current}
265
+ className={classNames(
266
+ 'tooltip',
267
+ 'bs-tooltip-auto',
268
+ {
269
+ fade: animation,
270
+ show: _visible,
271
+ },
272
+ className
273
+ )}
274
+ id={id}
198
275
  ref={forkedRef}
199
276
  role="tooltip"
200
- style={{
201
- display: 'none',
202
- }}
203
277
  {...rest}
204
278
  >
205
279
  <div className="tooltip-arrow"></div>
@@ -209,7 +283,7 @@ export const CTooltip = forwardRef<HTMLDivElement, CTooltipProps>(
209
283
  </CConditionalPortal>
210
284
  </>
211
285
  )
212
- },
286
+ }
213
287
  )
214
288
 
215
289
  CTooltip.propTypes = {
@@ -229,6 +303,7 @@ CTooltip.propTypes = {
229
303
  onHide: PropTypes.func,
230
304
  onShow: PropTypes.func,
231
305
  placement: PropTypes.oneOf(['auto', 'top', 'right', 'bottom', 'left']),
306
+ popperConfig: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
232
307
  trigger: triggerPropType,
233
308
  visible: PropTypes.bool,
234
309
  }
@@ -3,7 +3,6 @@
3
3
  exports[`CTooltip customize 1`] = `
4
4
  <div>
5
5
  <a
6
- aria-describedby="tooltip97108"
7
6
  class="link"
8
7
  >
9
8
  Test
@@ -1,5 +1,6 @@
1
+ import { useClipboard } from './useClipboard'
1
2
  import { useColorModes } from './useColorModes'
2
3
  import { useForkedRef } from './useForkedRef'
3
4
  import { usePopper } from './usePopper'
4
5
 
5
- export { useColorModes, useForkedRef, usePopper }
6
+ export { useClipboard, useColorModes, useForkedRef, usePopper }
@@ -0,0 +1,38 @@
1
+ import { useState, useCallback } from 'react'
2
+
3
+ /**
4
+ * useClipboard Hook
5
+ *
6
+ * Provides functionality to copy text to the clipboard and track the copy status.
7
+ *
8
+ * @returns An object containing the copy function, copy status, and any error encountered.
9
+ */
10
+ export const useClipboard = () => {
11
+ const [isCopied, setIsCopied] = useState<boolean>(false)
12
+ const [error, setError] = useState<Error | null>(null)
13
+
14
+ /**
15
+ * Copies the provided text to the clipboard.
16
+ *
17
+ * @param text - The text to be copied to the clipboard.
18
+ */
19
+ const copy = useCallback(async (text: string) => {
20
+ if (!navigator?.clipboard) {
21
+ setError(new Error('Clipboard API is not available'))
22
+ return
23
+ }
24
+
25
+ try {
26
+ await navigator.clipboard.writeText(text)
27
+ setIsCopied(true)
28
+ setError(null)
29
+ // Reset the isCopied state after 2 seconds
30
+ setTimeout(() => setIsCopied(false), 2000)
31
+ } catch (_error) {
32
+ setError(_error as Error)
33
+ setIsCopied(false)
34
+ }
35
+ }, [])
36
+
37
+ return { copy, isCopied, error }
38
+ }
@@ -4,6 +4,7 @@ import getRTLPlacement from './getRTLPlacement'
4
4
  import getTransitionDurationFromElement from './getTransitionDurationFromElement'
5
5
  import isInViewport from './isInViewport'
6
6
  import isRTL from './isRTL'
7
+ import mergeClassNames from './mergeClassNames'
7
8
 
8
9
  export {
9
10
  executeAfterTransition,
@@ -12,4 +13,5 @@ export {
12
13
  getTransitionDurationFromElement,
13
14
  isInViewport,
14
15
  isRTL,
16
+ mergeClassNames,
15
17
  }
@@ -0,0 +1,25 @@
1
+ const mergeClassNames = <T extends object>(
2
+ defaultClassNames: T,
3
+ customClassNames?: Partial<T>,
4
+ ): T => {
5
+ if (customClassNames === undefined || typeof customClassNames !== 'object') {
6
+ return defaultClassNames
7
+ }
8
+
9
+ const classNames: T = { ...defaultClassNames }
10
+
11
+ for (const key in customClassNames) {
12
+ if (customClassNames.hasOwnProperty(key)) {
13
+ const typedKey = key as keyof T
14
+ const customClassName = customClassNames[typedKey]?.toString()
15
+
16
+ classNames[typedKey] = customClassName?.startsWith('!')
17
+ ? (customClassName.slice(1).trim() as T[keyof T])
18
+ : (`${classNames[typedKey]} ${customClassName}`.trim() as T[keyof T])
19
+ }
20
+ }
21
+
22
+ return classNames
23
+ }
24
+
25
+ export default mergeClassNames