@coreui/react 5.0.0-rc.0 → 5.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +2 -2
  3. package/dist/cjs/components/alert/CAlertHeading.d.ts +7 -6
  4. package/dist/cjs/components/alert/CAlertHeading.js +2 -2
  5. package/dist/cjs/components/alert/CAlertHeading.js.map +1 -1
  6. package/dist/cjs/components/badge/CBadge.d.ts +7 -6
  7. package/dist/cjs/components/badge/CBadge.js +3 -3
  8. package/dist/cjs/components/badge/CBadge.js.map +1 -1
  9. package/dist/cjs/components/button/CButton.d.ts +7 -6
  10. package/dist/cjs/components/button/CButton.js +3 -3
  11. package/dist/cjs/components/button/CButton.js.map +1 -1
  12. package/dist/cjs/components/card/CCardHeader.d.ts +7 -6
  13. package/dist/cjs/components/card/CCardHeader.js +2 -2
  14. package/dist/cjs/components/card/CCardHeader.js.map +1 -1
  15. package/dist/cjs/components/card/CCardImage.d.ts +7 -6
  16. package/dist/cjs/components/card/CCardImage.js +2 -2
  17. package/dist/cjs/components/card/CCardImage.js.map +1 -1
  18. package/dist/cjs/components/card/CCardSubtitle.d.ts +7 -6
  19. package/dist/cjs/components/card/CCardSubtitle.js +2 -2
  20. package/dist/cjs/components/card/CCardSubtitle.js.map +1 -1
  21. package/dist/cjs/components/card/CCardText.d.ts +7 -6
  22. package/dist/cjs/components/card/CCardText.js +2 -2
  23. package/dist/cjs/components/card/CCardText.js.map +1 -1
  24. package/dist/cjs/components/card/CCardTitle.d.ts +7 -6
  25. package/dist/cjs/components/card/CCardTitle.js +2 -2
  26. package/dist/cjs/components/card/CCardTitle.js.map +1 -1
  27. package/dist/cjs/components/carousel/CCarousel.js.map +1 -1
  28. package/dist/cjs/components/carousel/CCarouselItem.js.map +1 -1
  29. package/dist/cjs/components/collapse/CCollapse.js.map +1 -1
  30. package/dist/cjs/components/conditional-portal/CConditionalPortal.js +1 -1
  31. package/dist/cjs/components/conditional-portal/CConditionalPortal.js.map +1 -1
  32. package/dist/cjs/components/dropdown/CDropdown.d.ts +6 -5
  33. package/dist/cjs/components/dropdown/CDropdown.js +4 -4
  34. package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
  35. package/dist/cjs/components/dropdown/CDropdownHeader.d.ts +7 -6
  36. package/dist/cjs/components/dropdown/CDropdownHeader.js +2 -2
  37. package/dist/cjs/components/dropdown/CDropdownHeader.js.map +1 -1
  38. package/dist/cjs/components/dropdown/CDropdownItem.d.ts +2 -6
  39. package/dist/cjs/components/dropdown/CDropdownItem.js +3 -3
  40. package/dist/cjs/components/dropdown/CDropdownItem.js.map +1 -1
  41. package/dist/cjs/components/dropdown/CDropdownItemPlain.d.ts +7 -6
  42. package/dist/cjs/components/dropdown/CDropdownItemPlain.js +2 -2
  43. package/dist/cjs/components/dropdown/CDropdownItemPlain.js.map +1 -1
  44. package/dist/cjs/components/dropdown/CDropdownMenu.d.ts +7 -6
  45. package/dist/cjs/components/dropdown/CDropdownMenu.js +2 -2
  46. package/dist/cjs/components/dropdown/CDropdownMenu.js.map +1 -1
  47. package/dist/cjs/components/dropdown/CDropdownToggle.d.ts +1 -1
  48. package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
  49. package/dist/cjs/components/dropdown/utils.js.map +1 -1
  50. package/dist/cjs/components/form/CFormCheck.js.map +1 -1
  51. package/dist/cjs/components/form/CFormFeedback.d.ts +7 -6
  52. package/dist/cjs/components/form/CFormFeedback.js +2 -2
  53. package/dist/cjs/components/form/CFormFeedback.js.map +1 -1
  54. package/dist/cjs/components/form/CFormText.d.ts +7 -6
  55. package/dist/cjs/components/form/CFormText.js +2 -2
  56. package/dist/cjs/components/form/CFormText.js.map +1 -1
  57. package/dist/cjs/components/form/CInputGroupText.d.ts +7 -6
  58. package/dist/cjs/components/form/CInputGroupText.js +2 -2
  59. package/dist/cjs/components/form/CInputGroupText.js.map +1 -1
  60. package/dist/cjs/components/grid/CCol.js.map +1 -1
  61. package/dist/cjs/components/grid/CRow.js.map +1 -1
  62. package/dist/cjs/components/header/CHeaderBrand.d.ts +7 -6
  63. package/dist/cjs/components/header/CHeaderBrand.js +2 -2
  64. package/dist/cjs/components/header/CHeaderBrand.js.map +1 -1
  65. package/dist/cjs/components/header/CHeaderNav.d.ts +7 -6
  66. package/dist/cjs/components/header/CHeaderNav.js +2 -2
  67. package/dist/cjs/components/header/CHeaderNav.js.map +1 -1
  68. package/dist/cjs/components/link/CLink.d.ts +8 -7
  69. package/dist/cjs/components/link/CLink.js +2 -2
  70. package/dist/cjs/components/link/CLink.js.map +1 -1
  71. package/dist/cjs/components/list-group/CListGroup.d.ts +7 -6
  72. package/dist/cjs/components/list-group/CListGroup.js +2 -2
  73. package/dist/cjs/components/list-group/CListGroup.js.map +1 -1
  74. package/dist/cjs/components/list-group/CListGroupItem.d.ts +7 -6
  75. package/dist/cjs/components/list-group/CListGroupItem.js +6 -6
  76. package/dist/cjs/components/list-group/CListGroupItem.js.map +1 -1
  77. package/dist/cjs/components/modal/CModal.js +1 -2
  78. package/dist/cjs/components/modal/CModal.js.map +1 -1
  79. package/dist/cjs/components/modal/CModalTitle.d.ts +4 -3
  80. package/dist/cjs/components/modal/CModalTitle.js +2 -2
  81. package/dist/cjs/components/modal/CModalTitle.js.map +1 -1
  82. package/dist/cjs/components/nav/CNav.d.ts +7 -6
  83. package/dist/cjs/components/nav/CNav.js +2 -2
  84. package/dist/cjs/components/nav/CNav.js.map +1 -1
  85. package/dist/cjs/components/nav/CNavGroup.d.ts +10 -4
  86. package/dist/cjs/components/nav/CNavGroup.js +11 -16
  87. package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
  88. package/dist/cjs/components/nav/CNavGroupItems.d.ts +10 -3
  89. package/dist/cjs/components/nav/CNavGroupItems.js +3 -2
  90. package/dist/cjs/components/nav/CNavGroupItems.js.map +1 -1
  91. package/dist/cjs/components/nav/CNavItem.d.ts +11 -2
  92. package/dist/cjs/components/nav/CNavItem.js +3 -2
  93. package/dist/cjs/components/nav/CNavItem.js.map +1 -1
  94. package/dist/cjs/components/nav/CNavLink.d.ts +2 -18
  95. package/dist/cjs/components/nav/CNavLink.js +3 -0
  96. package/dist/cjs/components/nav/CNavLink.js.map +1 -1
  97. package/dist/cjs/components/nav/CNavTitle.d.ts +7 -2
  98. package/dist/cjs/components/nav/CNavTitle.js +3 -2
  99. package/dist/cjs/components/nav/CNavTitle.js.map +1 -1
  100. package/dist/cjs/components/navbar/CNavbar.d.ts +7 -6
  101. package/dist/cjs/components/navbar/CNavbar.js +2 -2
  102. package/dist/cjs/components/navbar/CNavbar.js.map +1 -1
  103. package/dist/cjs/components/navbar/CNavbarBrand.d.ts +8 -7
  104. package/dist/cjs/components/navbar/CNavbarBrand.js +3 -3
  105. package/dist/cjs/components/navbar/CNavbarBrand.js.map +1 -1
  106. package/dist/cjs/components/navbar/CNavbarNav.d.ts +7 -6
  107. package/dist/cjs/components/navbar/CNavbarNav.js +3 -3
  108. package/dist/cjs/components/navbar/CNavbarNav.js.map +1 -1
  109. package/dist/cjs/components/offcanvas/COffcanvas.js.map +1 -1
  110. package/dist/cjs/components/offcanvas/COffcanvasTitle.d.ts +7 -6
  111. package/dist/cjs/components/offcanvas/COffcanvasTitle.js +2 -2
  112. package/dist/cjs/components/offcanvas/COffcanvasTitle.js.map +1 -1
  113. package/dist/cjs/components/pagination/CPaginationItem.d.ts +4 -3
  114. package/dist/cjs/components/pagination/CPaginationItem.js +4 -4
  115. package/dist/cjs/components/pagination/CPaginationItem.js.map +1 -1
  116. package/dist/cjs/components/placeholder/CPlaceholder.d.ts +7 -6
  117. package/dist/cjs/components/placeholder/CPlaceholder.js +2 -2
  118. package/dist/cjs/components/placeholder/CPlaceholder.js.map +1 -1
  119. package/dist/cjs/components/popover/CPopover.js +20 -13
  120. package/dist/cjs/components/popover/CPopover.js.map +1 -1
  121. package/dist/cjs/components/progress/CProgress.js.map +1 -1
  122. package/dist/cjs/components/sidebar/CSidebar.js.map +1 -1
  123. package/dist/cjs/components/sidebar/CSidebarBrand.d.ts +10 -3
  124. package/dist/cjs/components/sidebar/CSidebarBrand.js +3 -2
  125. package/dist/cjs/components/sidebar/CSidebarBrand.js.map +1 -1
  126. package/dist/cjs/components/sidebar/CSidebarNav.d.ts +9 -2
  127. package/dist/cjs/components/sidebar/CSidebarNav.js +30 -12
  128. package/dist/cjs/components/sidebar/CSidebarNav.js.map +1 -1
  129. package/dist/cjs/components/spinner/CSpinner.d.ts +7 -6
  130. package/dist/cjs/components/spinner/CSpinner.js +2 -2
  131. package/dist/cjs/components/spinner/CSpinner.js.map +1 -1
  132. package/dist/cjs/components/toast/CToast.js.map +1 -1
  133. package/dist/cjs/components/toast/CToastClose.d.ts +5 -4
  134. package/dist/cjs/components/toast/CToastClose.js +2 -2
  135. package/dist/cjs/components/toast/CToastClose.js.map +1 -1
  136. package/dist/cjs/components/tooltip/CTooltip.js +20 -13
  137. package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
  138. package/dist/cjs/helpers/index.d.ts +2 -0
  139. package/dist/cjs/helpers/polymorphicComponent.d.ts +14 -0
  140. package/dist/cjs/hooks/useColorModes.js.map +1 -1
  141. package/dist/cjs/hooks/useForkedRef.js.map +1 -1
  142. package/dist/cjs/hooks/usePopper.js.map +1 -1
  143. package/dist/cjs/utils/executeAfterTransition.js.map +1 -1
  144. package/dist/cjs/utils/getRTLPlacement.js.map +1 -1
  145. package/dist/cjs/utils/getTransitionDurationFromElement.js.map +1 -1
  146. package/dist/cjs/utils/isRTL.js.map +1 -1
  147. package/dist/esm/components/alert/CAlertHeading.d.ts +7 -6
  148. package/dist/esm/components/alert/CAlertHeading.js +2 -2
  149. package/dist/esm/components/alert/CAlertHeading.js.map +1 -1
  150. package/dist/esm/components/badge/CBadge.d.ts +7 -6
  151. package/dist/esm/components/badge/CBadge.js +3 -3
  152. package/dist/esm/components/badge/CBadge.js.map +1 -1
  153. package/dist/esm/components/button/CButton.d.ts +7 -6
  154. package/dist/esm/components/button/CButton.js +3 -3
  155. package/dist/esm/components/button/CButton.js.map +1 -1
  156. package/dist/esm/components/card/CCardHeader.d.ts +7 -6
  157. package/dist/esm/components/card/CCardHeader.js +2 -2
  158. package/dist/esm/components/card/CCardHeader.js.map +1 -1
  159. package/dist/esm/components/card/CCardImage.d.ts +7 -6
  160. package/dist/esm/components/card/CCardImage.js +2 -2
  161. package/dist/esm/components/card/CCardImage.js.map +1 -1
  162. package/dist/esm/components/card/CCardSubtitle.d.ts +7 -6
  163. package/dist/esm/components/card/CCardSubtitle.js +2 -2
  164. package/dist/esm/components/card/CCardSubtitle.js.map +1 -1
  165. package/dist/esm/components/card/CCardText.d.ts +7 -6
  166. package/dist/esm/components/card/CCardText.js +2 -2
  167. package/dist/esm/components/card/CCardText.js.map +1 -1
  168. package/dist/esm/components/card/CCardTitle.d.ts +7 -6
  169. package/dist/esm/components/card/CCardTitle.js +2 -2
  170. package/dist/esm/components/card/CCardTitle.js.map +1 -1
  171. package/dist/esm/components/carousel/CCarousel.js.map +1 -1
  172. package/dist/esm/components/carousel/CCarouselItem.js.map +1 -1
  173. package/dist/esm/components/collapse/CCollapse.js.map +1 -1
  174. package/dist/esm/components/conditional-portal/CConditionalPortal.js +1 -1
  175. package/dist/esm/components/conditional-portal/CConditionalPortal.js.map +1 -1
  176. package/dist/esm/components/dropdown/CDropdown.d.ts +6 -5
  177. package/dist/esm/components/dropdown/CDropdown.js +4 -4
  178. package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
  179. package/dist/esm/components/dropdown/CDropdownHeader.d.ts +7 -6
  180. package/dist/esm/components/dropdown/CDropdownHeader.js +2 -2
  181. package/dist/esm/components/dropdown/CDropdownHeader.js.map +1 -1
  182. package/dist/esm/components/dropdown/CDropdownItem.d.ts +2 -6
  183. package/dist/esm/components/dropdown/CDropdownItem.js +3 -3
  184. package/dist/esm/components/dropdown/CDropdownItem.js.map +1 -1
  185. package/dist/esm/components/dropdown/CDropdownItemPlain.d.ts +7 -6
  186. package/dist/esm/components/dropdown/CDropdownItemPlain.js +2 -2
  187. package/dist/esm/components/dropdown/CDropdownItemPlain.js.map +1 -1
  188. package/dist/esm/components/dropdown/CDropdownMenu.d.ts +7 -6
  189. package/dist/esm/components/dropdown/CDropdownMenu.js +2 -2
  190. package/dist/esm/components/dropdown/CDropdownMenu.js.map +1 -1
  191. package/dist/esm/components/dropdown/CDropdownToggle.d.ts +1 -1
  192. package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
  193. package/dist/esm/components/dropdown/utils.js.map +1 -1
  194. package/dist/esm/components/form/CFormCheck.js.map +1 -1
  195. package/dist/esm/components/form/CFormFeedback.d.ts +7 -6
  196. package/dist/esm/components/form/CFormFeedback.js +2 -2
  197. package/dist/esm/components/form/CFormFeedback.js.map +1 -1
  198. package/dist/esm/components/form/CFormText.d.ts +7 -6
  199. package/dist/esm/components/form/CFormText.js +2 -2
  200. package/dist/esm/components/form/CFormText.js.map +1 -1
  201. package/dist/esm/components/form/CInputGroupText.d.ts +7 -6
  202. package/dist/esm/components/form/CInputGroupText.js +2 -2
  203. package/dist/esm/components/form/CInputGroupText.js.map +1 -1
  204. package/dist/esm/components/grid/CCol.js.map +1 -1
  205. package/dist/esm/components/grid/CRow.js.map +1 -1
  206. package/dist/esm/components/header/CHeaderBrand.d.ts +7 -6
  207. package/dist/esm/components/header/CHeaderBrand.js +2 -2
  208. package/dist/esm/components/header/CHeaderBrand.js.map +1 -1
  209. package/dist/esm/components/header/CHeaderNav.d.ts +7 -6
  210. package/dist/esm/components/header/CHeaderNav.js +2 -2
  211. package/dist/esm/components/header/CHeaderNav.js.map +1 -1
  212. package/dist/esm/components/link/CLink.d.ts +8 -7
  213. package/dist/esm/components/link/CLink.js +2 -2
  214. package/dist/esm/components/link/CLink.js.map +1 -1
  215. package/dist/esm/components/list-group/CListGroup.d.ts +7 -6
  216. package/dist/esm/components/list-group/CListGroup.js +2 -2
  217. package/dist/esm/components/list-group/CListGroup.js.map +1 -1
  218. package/dist/esm/components/list-group/CListGroupItem.d.ts +7 -6
  219. package/dist/esm/components/list-group/CListGroupItem.js +6 -6
  220. package/dist/esm/components/list-group/CListGroupItem.js.map +1 -1
  221. package/dist/esm/components/modal/CModal.js +1 -2
  222. package/dist/esm/components/modal/CModal.js.map +1 -1
  223. package/dist/esm/components/modal/CModalTitle.d.ts +4 -3
  224. package/dist/esm/components/modal/CModalTitle.js +2 -2
  225. package/dist/esm/components/modal/CModalTitle.js.map +1 -1
  226. package/dist/esm/components/nav/CNav.d.ts +7 -6
  227. package/dist/esm/components/nav/CNav.js +2 -2
  228. package/dist/esm/components/nav/CNav.js.map +1 -1
  229. package/dist/esm/components/nav/CNavGroup.d.ts +10 -4
  230. package/dist/esm/components/nav/CNavGroup.js +11 -16
  231. package/dist/esm/components/nav/CNavGroup.js.map +1 -1
  232. package/dist/esm/components/nav/CNavGroupItems.d.ts +10 -3
  233. package/dist/esm/components/nav/CNavGroupItems.js +3 -2
  234. package/dist/esm/components/nav/CNavGroupItems.js.map +1 -1
  235. package/dist/esm/components/nav/CNavItem.d.ts +11 -2
  236. package/dist/esm/components/nav/CNavItem.js +3 -2
  237. package/dist/esm/components/nav/CNavItem.js.map +1 -1
  238. package/dist/esm/components/nav/CNavLink.d.ts +2 -18
  239. package/dist/esm/components/nav/CNavLink.js +3 -0
  240. package/dist/esm/components/nav/CNavLink.js.map +1 -1
  241. package/dist/esm/components/nav/CNavTitle.d.ts +7 -2
  242. package/dist/esm/components/nav/CNavTitle.js +3 -2
  243. package/dist/esm/components/nav/CNavTitle.js.map +1 -1
  244. package/dist/esm/components/navbar/CNavbar.d.ts +7 -6
  245. package/dist/esm/components/navbar/CNavbar.js +2 -2
  246. package/dist/esm/components/navbar/CNavbar.js.map +1 -1
  247. package/dist/esm/components/navbar/CNavbarBrand.d.ts +8 -7
  248. package/dist/esm/components/navbar/CNavbarBrand.js +3 -3
  249. package/dist/esm/components/navbar/CNavbarBrand.js.map +1 -1
  250. package/dist/esm/components/navbar/CNavbarNav.d.ts +7 -6
  251. package/dist/esm/components/navbar/CNavbarNav.js +3 -3
  252. package/dist/esm/components/navbar/CNavbarNav.js.map +1 -1
  253. package/dist/esm/components/offcanvas/COffcanvas.js.map +1 -1
  254. package/dist/esm/components/offcanvas/COffcanvasTitle.d.ts +7 -6
  255. package/dist/esm/components/offcanvas/COffcanvasTitle.js +2 -2
  256. package/dist/esm/components/offcanvas/COffcanvasTitle.js.map +1 -1
  257. package/dist/esm/components/pagination/CPaginationItem.d.ts +4 -3
  258. package/dist/esm/components/pagination/CPaginationItem.js +4 -4
  259. package/dist/esm/components/pagination/CPaginationItem.js.map +1 -1
  260. package/dist/esm/components/placeholder/CPlaceholder.d.ts +7 -6
  261. package/dist/esm/components/placeholder/CPlaceholder.js +2 -2
  262. package/dist/esm/components/placeholder/CPlaceholder.js.map +1 -1
  263. package/dist/esm/components/popover/CPopover.js +20 -13
  264. package/dist/esm/components/popover/CPopover.js.map +1 -1
  265. package/dist/esm/components/progress/CProgress.js.map +1 -1
  266. package/dist/esm/components/sidebar/CSidebar.js.map +1 -1
  267. package/dist/esm/components/sidebar/CSidebarBrand.d.ts +10 -3
  268. package/dist/esm/components/sidebar/CSidebarBrand.js +3 -2
  269. package/dist/esm/components/sidebar/CSidebarBrand.js.map +1 -1
  270. package/dist/esm/components/sidebar/CSidebarNav.d.ts +9 -2
  271. package/dist/esm/components/sidebar/CSidebarNav.js +30 -12
  272. package/dist/esm/components/sidebar/CSidebarNav.js.map +1 -1
  273. package/dist/esm/components/spinner/CSpinner.d.ts +7 -6
  274. package/dist/esm/components/spinner/CSpinner.js +2 -2
  275. package/dist/esm/components/spinner/CSpinner.js.map +1 -1
  276. package/dist/esm/components/toast/CToast.js.map +1 -1
  277. package/dist/esm/components/toast/CToastClose.d.ts +5 -4
  278. package/dist/esm/components/toast/CToastClose.js +2 -2
  279. package/dist/esm/components/toast/CToastClose.js.map +1 -1
  280. package/dist/esm/components/tooltip/CTooltip.js +20 -13
  281. package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
  282. package/dist/esm/helpers/index.d.ts +2 -0
  283. package/dist/esm/helpers/polymorphicComponent.d.ts +14 -0
  284. package/dist/esm/hooks/useColorModes.js.map +1 -1
  285. package/dist/esm/hooks/useForkedRef.js.map +1 -1
  286. package/dist/esm/hooks/usePopper.js.map +1 -1
  287. package/dist/esm/utils/executeAfterTransition.js.map +1 -1
  288. package/dist/esm/utils/getRTLPlacement.js.map +1 -1
  289. package/dist/esm/utils/getTransitionDurationFromElement.js.map +1 -1
  290. package/dist/esm/utils/isRTL.js.map +1 -1
  291. package/package.json +13 -13
  292. package/src/components/alert/CAlertHeading.tsx +17 -14
  293. package/src/components/alert/__tests__/CAlertHeading.spec.tsx +1 -1
  294. package/src/components/badge/CBadge.tsx +12 -8
  295. package/src/components/badge/__tests__/CBadge.spec.tsx +1 -1
  296. package/src/components/button/CButton.tsx +12 -18
  297. package/src/components/button/__tests__/CButton.spec.tsx +2 -2
  298. package/src/components/card/CCardHeader.tsx +17 -14
  299. package/src/components/card/CCardImage.tsx +9 -7
  300. package/src/components/card/CCardSubtitle.tsx +18 -14
  301. package/src/components/card/CCardText.tsx +17 -14
  302. package/src/components/card/CCardTitle.tsx +17 -14
  303. package/src/components/card/__tests__/CCardGroup.spec.tsx +1 -1
  304. package/src/components/card/__tests__/CCardHeader.spec.tsx +1 -1
  305. package/src/components/card/__tests__/CCardImage.spec.tsx +1 -3
  306. package/src/components/card/__tests__/CCardSubtitle.spec.tsx +1 -1
  307. package/src/components/card/__tests__/CCardText.spec.tsx +1 -1
  308. package/src/components/card/__tests__/CCardTitle.spec.tsx +1 -1
  309. package/src/components/conditional-portal/CConditionalPortal.tsx +1 -1
  310. package/src/components/dropdown/CDropdown.tsx +12 -8
  311. package/src/components/dropdown/CDropdownHeader.tsx +17 -14
  312. package/src/components/dropdown/CDropdownItem.tsx +14 -20
  313. package/src/components/dropdown/CDropdownItemPlain.tsx +12 -7
  314. package/src/components/dropdown/CDropdownMenu.tsx +43 -41
  315. package/src/components/dropdown/CDropdownToggle.tsx +1 -1
  316. package/src/components/dropdown/__tests__/CDropdown.spec.tsx +1 -1
  317. package/src/components/dropdown/__tests__/CDropdownHeader.spec.tsx +1 -1
  318. package/src/components/dropdown/__tests__/CDropdownItem.spec.tsx +1 -1
  319. package/src/components/dropdown/__tests__/CDropdownItemPlain.spec.tsx +1 -1
  320. package/src/components/dropdown/__tests__/CDropdownMenu.spec.tsx +1 -1
  321. package/src/components/dropdown/types.ts +1 -1
  322. package/src/components/form/CFormFeedback.tsx +28 -27
  323. package/src/components/form/CFormText.tsx +17 -14
  324. package/src/components/form/CInputGroupText.tsx +17 -14
  325. package/src/components/form/__tests__/CFormText.spec.tsx +1 -1
  326. package/src/components/form/__tests__/CInputGroupText.spec.tsx +1 -1
  327. package/src/components/header/CHeaderBrand.tsx +17 -14
  328. package/src/components/header/CHeaderNav.tsx +22 -19
  329. package/src/components/header/__tests__/CHeaderBrand.spec.tsx +1 -1
  330. package/src/components/header/__tests__/CHeaderNav.spec.tsx +1 -1
  331. package/src/components/link/CLink.tsx +33 -29
  332. package/src/components/link/__tests__/CLink.spec.tsx +2 -2
  333. package/src/components/list-group/CListGroup.tsx +27 -24
  334. package/src/components/list-group/CListGroupItem.tsx +38 -37
  335. package/src/components/list-group/__tests__/CListGroup.spec.tsx +1 -1
  336. package/src/components/list-group/__tests__/CListGroupItem.spec.tsx +1 -7
  337. package/src/components/modal/CModal.tsx +1 -4
  338. package/src/components/modal/CModalTitle.tsx +14 -11
  339. package/src/components/modal/__tests__/CModalTitle.spec.tsx +1 -1
  340. package/src/components/nav/CNav.tsx +29 -26
  341. package/src/components/nav/CNavGroup.tsx +111 -100
  342. package/src/components/nav/CNavGroupItems.tsx +21 -11
  343. package/src/components/nav/CNavItem.tsx +29 -16
  344. package/src/components/nav/CNavLink.tsx +7 -19
  345. package/src/components/nav/CNavTitle.tsx +18 -10
  346. package/src/components/nav/__tests__/CNav.spec.tsx +1 -1
  347. package/src/components/nav/__tests__/CNavItem.spec.tsx +1 -1
  348. package/src/components/nav/__tests__/CNavLink.spec.tsx +1 -1
  349. package/src/components/navbar/CNavbar.tsx +11 -7
  350. package/src/components/navbar/CNavbarBrand.tsx +19 -16
  351. package/src/components/navbar/CNavbarNav.tsx +22 -19
  352. package/src/components/navbar/__tests__/CNavbar.spec.tsx +1 -1
  353. package/src/components/navbar/__tests__/CNavbarBrand.spec.tsx +1 -1
  354. package/src/components/navbar/__tests__/CNavbarNav.spec.tsx +1 -1
  355. package/src/components/offcanvas/COffcanvasTitle.tsx +17 -14
  356. package/src/components/offcanvas/__tests__/COffcanvasTitle.spec.tsx +1 -1
  357. package/src/components/pagination/CPaginationItem.tsx +33 -30
  358. package/src/components/pagination/__tests__/CPaginationItem.spec.tsx +1 -1
  359. package/src/components/placeholder/CPlaceholder.tsx +40 -41
  360. package/src/components/popover/CPopover.tsx +24 -13
  361. package/src/components/sidebar/CSidebarBrand.tsx +21 -11
  362. package/src/components/sidebar/CSidebarNav.tsx +68 -24
  363. package/src/components/spinner/CSpinner.tsx +11 -7
  364. package/src/components/spinner/__tests__/CSpinner.spec.tsx +1 -1
  365. package/src/components/toast/CToastClose.tsx +8 -7
  366. package/src/components/tooltip/CTooltip.tsx +24 -12
  367. package/src/helpers/index.ts +3 -0
  368. package/src/helpers/polymorphicComponent.ts +21 -0
@@ -1 +1 @@
1
- {"version":3,"file":"CToast.js","sources":["../../../../src/components/toast/CToast.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;IAkEa,aAAa,GAAG,aAAa,CAAC,EAAkB,EAAC;IAEjD,MAAM,GAAG,UAAU,CAC9B,UACE,EAaC,EACD,GAAG,EAAA;IAbD,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,EAAgB,GAAA,EAAA,CAAA,SAAA,EAAhB,SAAS,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,IAAI,GAAA,EAAA,EAChB,EAAe,GAAA,EAAA,CAAA,QAAA,EAAf,QAAQ,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,IAAI,GAAA,EAAA,EACf,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,EAAA,GAAA,EAAA,CAAA,KAAY,EAAZ,KAAK,mBAAG,IAAI,GAAA,EAAA,EACZ,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,GAAG,GAAA,EAAA,CAAA,GAAA,EACH,EAAe,GAAA,EAAA,CAAA,OAAA,EAAf,OAAO,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,KAAK,GAAA,EAAA,EACf,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,MAAM,YAAA,EACH,IAAI,GAZT,MAAA,CAAA,EAAA,EAAA,CAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,KAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,CAaC,CADQ,CAAA;AAIT,IAAA,IAAM,QAAQ,GAAG,MAAM,EAAE,CAAA;IACzB,IAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACvC,IAAA,EAAA,GAAyB,QAAQ,CAAC,KAAK,CAAC,EAAvC,QAAQ,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,UAAU,GAAA,EAAA,CAAA,CAAA,CAAmB,CAAA;AAC9C,IAAA,IAAM,OAAO,GAAG,MAAM,EAAU,CAAA;AAEhC,IAAA,SAAS,CAAC,YAAA;QACR,UAAU,CAAC,OAAO,CAAC,CAAA;AACrB,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;AAEb,IAAA,IAAM,aAAa,GAAG;AACpB,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,UAAU,EAAA,UAAA;KACX,CAAA;;AAGD,IAAA,SAAS,CAAC,YAAM,EAAA,OAAA,cAAM,OAAA,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAA,CAAA,EAAA,EAAE,EAAE,CAAC,CAAA;AAExD,IAAA,SAAS,CAAC,YAAA;AACR,QAAA,SAAS,EAAE,CAAA;AACb,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEd,IAAA,IAAM,SAAS,GAAG,YAAA;AAChB,QAAA,IAAI,QAAQ,EAAE;AACZ,YAAA,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AAC7B,YAAA,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,YAAA;gBAClC,UAAU,CAAC,KAAK,CAAC,CAAA;aAClB,EAAE,KAAK,CAAC,CAAA;AACV,SAAA;AACH,KAAC,CAAA;IAED,QACE,KAAC,CAAA,aAAA,CAAA,UAAU,EACT,EAAA,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,YAAM,EAAA,OAAA,MAAM,IAAI,MAAM,CAAC,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAL,KAAK,GAAI,IAAI,CAAC,GAAA,EAC9C,QAAQ,EAAE,YAAM,EAAA,OAAA,OAAO,IAAI,OAAO,CAAC,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAL,KAAK,GAAI,IAAI,CAAC,CAAjC,EAAiC,EACjD,OAAO,EAAE,GAAG,EACZ,aAAa,EAEZ,IAAA,EAAA,EAAA,UAAC,KAAK,EAAA;;QAAK,QACV,oBAAC,aAAa,CAAC,QAAQ,EAAC,EAAA,KAAK,EAAE,aAAa,EAAA;AAC1C,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,QAAA,CAAA,EACE,SAAS,EAAE,UAAU,CACnB,OAAO,GAAA,EAAA,GAAA;AAEL,wBAAA,IAAI,EAAE,SAAS;;AACf,oBAAA,EAAA,CAAC,KAAM,CAAA,MAAA,CAAA,KAAK,CAAE,CAAA,GAAG,KAAK;AACtB,oBAAA,EAAA,CAAA,UAAA,CAAU,GAAE,KAAK;AACjB,oBAAA,EAAA,CAAA,cAAA,CAAc,GAAE,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;oBAC3D,EAAI,CAAA,IAAA,GAAE,KAAK,KAAK,SAAS;yBAE3B,SAAS,CACV,eACS,WAAW,EAAA,aAAA,EACT,MAAM,EAClB,IAAI,EAAC,OAAO,EACZ,YAAY,EAAE,YAAA,EAAM,OAAA,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAA7B,EAA6B,EACjD,YAAY,EAAE,cAAM,OAAA,SAAS,EAAE,CAAX,EAAW,IAC3B,IAAI,EAAA,EACR,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,SAAS,EAEb,CAAA,EAAA,QAAQ,CACL,CACiB,EAC1B;KAAA,CACU,EACd;AACH,CAAC,EACF;AAED,MAAM,CAAC,SAAS,GAAG;IACjB,SAAS,EAAE,SAAS,CAAC,IAAI;IACzB,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB,SAAS,EAAE,SAAS,CAAC,MAAM;AAC3B,IAAA,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,SAAS,CAAC,MAAM;IACvB,KAAK,EAAE,SAAS,CAAC,MAAM;IACvB,GAAG,EAAE,SAAS,CAAC,MAAM;IACrB,OAAO,EAAE,SAAS,CAAC,IAAI;IACvB,MAAM,EAAE,SAAS,CAAC,IAAI;IACtB,OAAO,EAAE,SAAS,CAAC,IAAI;CACxB,CAAA;AAED,MAAM,CAAC,WAAW,GAAG,QAAQ;;;;"}
1
+ {"version":3,"file":"CToast.js","sources":["../../../../src/components/toast/CToast.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
- import React, { ElementType } from 'react';
1
+ import { ElementType } from 'react';
2
2
  import { CButtonProps } from '../button/CButton';
3
3
  import { CCloseButtonProps } from '../close-button/CCloseButton';
4
+ import { PolymorphicRefForwardingComponent } from '../../helpers';
4
5
  type CombineButtonProps = CCloseButtonProps & CButtonProps;
5
- export interface CToastCloseProps extends CombineButtonProps {
6
+ export interface CToastCloseProps extends Omit<CombineButtonProps, 'as'> {
6
7
  /**
7
8
  * Component used for the root node. Either a string to use a HTML element or a component.
8
9
  */
9
- component?: string | ElementType;
10
+ as?: string | ElementType;
10
11
  }
11
- export declare const CToastClose: React.ForwardRefExoticComponent<CToastCloseProps & React.RefAttributes<HTMLButtonElement>>;
12
+ export declare const CToastClose: PolymorphicRefForwardingComponent<'button', CToastCloseProps>;
12
13
  export {};
@@ -5,11 +5,11 @@ import { CCloseButton } from '../close-button/CCloseButton.js';
5
5
  import { CToastContext } from './CToast.js';
6
6
 
7
7
  var CToastClose = forwardRef(function (_a, ref) {
8
- var children = _a.children, Component = _a.component, rest = __rest(_a, ["children", "component"]);
8
+ var children = _a.children, Component = _a.as, rest = __rest(_a, ["children", "as"]);
9
9
  var setVisible = useContext(CToastContext).setVisible;
10
10
  return Component ? (React.createElement(Component, __assign({ onClick: function () { return setVisible(false); } }, rest, { ref: ref }), children)) : (React.createElement(CCloseButton, __assign({ onClick: function () { return setVisible(false); } }, rest, { ref: ref })));
11
11
  });
12
- CToastClose.propTypes = __assign(__assign({}, CCloseButton.propTypes), { component: PropTypes.elementType });
12
+ CToastClose.propTypes = __assign(__assign({}, CCloseButton.propTypes), { as: PropTypes.elementType });
13
13
  CToastClose.displayName = 'CToastClose';
14
14
 
15
15
  export { CToastClose };
@@ -1 +1 @@
1
- {"version":3,"file":"CToastClose.js","sources":["../../../../src/components/toast/CToastClose.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;IAiBa,WAAW,GAAG,UAAU,CACnC,UAAC,EAA2C,EAAE,GAAG,EAAA;IAA9C,IAAA,QAAQ,cAAA,EAAa,SAAS,eAAA,EAAK,IAAI,GAAzC,MAAA,CAAA,EAAA,EAAA,CAAA,UAAA,EAAA,WAAA,CAA2C,CAAF,CAAA;AAChC,IAAA,IAAA,UAAU,GAAK,UAAU,CAAC,aAAa,CAAC,WAA9B,CAA8B;IAChD,OAAO,SAAS,IACd,oBAAC,SAAS,EAAA,QAAA,CAAA,EAAC,OAAO,EAAE,YAAM,EAAA,OAAA,UAAU,CAAC,KAAK,CAAC,CAAA,EAAA,EAAA,EAAM,IAAI,EAAE,EAAA,GAAG,EAAE,GAAG,EAC5D,CAAA,EAAA,QAAQ,CACC,KAEZ,KAAA,CAAA,aAAA,CAAC,YAAY,EAAC,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA,EAAM,OAAA,UAAU,CAAC,KAAK,CAAC,CAAjB,EAAiB,EAAM,EAAA,IAAI,EAAE,EAAA,GAAG,EAAE,GAAG,EAAI,CAAA,CAAA,CACvE,CAAA;AACH,CAAC,EACF;AAED,WAAW,CAAC,SAAS,GAChB,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,YAAY,CAAC,SAAS,CACzB,EAAA,EAAA,SAAS,EAAE,SAAS,CAAC,WAAW,GACjC,CAAA;AAED,WAAW,CAAC,WAAW,GAAG,aAAa;;;;"}
1
+ {"version":3,"file":"CToastClose.js","sources":["../../../../src/components/toast/CToastClose.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;IAmBa,WAAW,GACtB,UAAU,CAAsC,UAAC,EAAoC,EAAE,GAAG,EAAA;IAAvC,IAAA,QAAQ,cAAA,EAAM,SAAS,QAAA,EAAK,IAAI,GAAlC,MAAA,CAAA,EAAA,EAAA,CAAA,UAAA,EAAA,IAAA,CAAoC,CAAF,CAAA;AACzE,IAAA,IAAA,UAAU,GAAK,UAAU,CAAC,aAAa,CAAC,WAA9B,CAA8B;IAChD,OAAO,SAAS,IACd,oBAAC,SAAS,EAAA,QAAA,CAAA,EAAC,OAAO,EAAE,YAAM,EAAA,OAAA,UAAU,CAAC,KAAK,CAAC,CAAA,EAAA,EAAA,EAAM,IAAI,EAAE,EAAA,GAAG,EAAE,GAAG,EAC5D,CAAA,EAAA,QAAQ,CACC,KAEZ,KAAA,CAAA,aAAA,CAAC,YAAY,EAAC,QAAA,CAAA,EAAA,OAAO,EAAE,YAAA,EAAM,OAAA,UAAU,CAAC,KAAK,CAAC,CAAjB,EAAiB,EAAM,EAAA,IAAI,EAAE,EAAA,GAAG,EAAE,GAAG,EAAI,CAAA,CAAA,CACvE,CAAA;AACH,CAAC,EAAC;AAEJ,WAAW,CAAC,SAAS,GAChB,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,YAAY,CAAC,SAAS,CACzB,EAAA,EAAA,EAAE,EAAE,SAAS,CAAC,WAAW,GAC1B,CAAA;AAED,WAAW,CAAC,WAAW,GAAG,aAAa;;;;"}
@@ -11,10 +11,11 @@ import getRTLPlacement from '../../utils/getRTLPlacement.js';
11
11
  import Transition from '../../node_modules/react-transition-group/esm/Transition.js';
12
12
 
13
13
  var CTooltip = forwardRef(function (_a, ref) {
14
- var children = _a.children, _b = _a.animation, animation = _b === void 0 ? true : _b, className = _a.className, container = _a.container, content = _a.content, _c = _a.delay, delay = _c === void 0 ? 0 : _c, _d = _a.fallbackPlacements, fallbackPlacements = _d === void 0 ? ['top', 'right', 'bottom', 'left'] : _d, _e = _a.offset, offset = _e === void 0 ? [0, 6] : _e, onHide = _a.onHide, onShow = _a.onShow, _f = _a.placement, placement = _f === void 0 ? 'top' : _f, _g = _a.trigger, trigger = _g === void 0 ? ['hover', 'focus'] : _g, visible = _a.visible, rest = __rest(_a, ["children", "animation", "className", "container", "content", "delay", "fallbackPlacements", "offset", "onHide", "onShow", "placement", "trigger", "visible"]);
14
+ var children = _a.children, _b = _a.animation, animation = _b === void 0 ? true : _b, className = _a.className, container = _a.container, content = _a.content, _c = _a.delay, delay = _c === void 0 ? 0 : _c, _d = _a.fallbackPlacements, fallbackPlacements = _d === void 0 ? ['top', 'right', 'bottom', 'left'] : _d, _e = _a.offset, offset = _e === void 0 ? [0, 6] : _e, onHide = _a.onHide; _a.onShow; var _f = _a.placement, placement = _f === void 0 ? 'top' : _f, _g = _a.trigger, trigger = _g === void 0 ? ['hover', 'focus'] : _g, visible = _a.visible, rest = __rest(_a, ["children", "animation", "className", "container", "content", "delay", "fallbackPlacements", "offset", "onHide", "onShow", "placement", "trigger", "visible"]);
15
15
  var tooltipRef = useRef(null);
16
16
  var togglerRef = useRef(null);
17
17
  var forkedRef = useForkedRef(ref, tooltipRef);
18
+ var uID = useRef("tooltip".concat(Math.floor(Math.random() * 1000000)));
18
19
  var _h = usePopper(), initPopper = _h.initPopper, destroyPopper = _h.destroyPopper;
19
20
  var _j = useState(visible), _visible = _j[0], setVisible = _j[1];
20
21
  var _delay = typeof delay === 'number' ? { show: delay, hide: delay } : delay;
@@ -44,14 +45,6 @@ var CTooltip = forwardRef(function (_a, ref) {
44
45
  useEffect(function () {
45
46
  setVisible(visible);
46
47
  }, [visible]);
47
- useEffect(function () {
48
- if (_visible && togglerRef.current && tooltipRef.current) {
49
- initPopper(togglerRef.current, tooltipRef.current, popperConfig);
50
- }
51
- return function () {
52
- destroyPopper();
53
- };
54
- }, [_visible]);
55
48
  var toggleVisible = function (visible) {
56
49
  if (visible) {
57
50
  setTimeout(function () { return setVisible(true); }, _delay.show);
@@ -60,7 +53,9 @@ var CTooltip = forwardRef(function (_a, ref) {
60
53
  setTimeout(function () { return setVisible(false); }, _delay.hide);
61
54
  };
62
55
  return (React.createElement(React.Fragment, null,
63
- React.cloneElement(children, __assign(__assign(__assign({ ref: togglerRef }, ((trigger === 'click' || trigger.includes('click')) && {
56
+ React.cloneElement(children, __assign(__assign(__assign(__assign(__assign({}, (_visible && {
57
+ 'aria-describedby': uID.current,
58
+ })), { ref: togglerRef }), ((trigger === 'click' || trigger.includes('click')) && {
64
59
  onClick: function () { return toggleVisible(!_visible); },
65
60
  })), ((trigger === 'focus' || trigger.includes('focus')) && {
66
61
  onFocus: function () { return toggleVisible(true); },
@@ -70,7 +65,17 @@ var CTooltip = forwardRef(function (_a, ref) {
70
65
  onMouseLeave: function () { return toggleVisible(false); },
71
66
  }))),
72
67
  React.createElement(CConditionalPortal, { container: container, portal: true },
73
- React.createElement(Transition, { in: _visible, mountOnEnter: true, nodeRef: tooltipRef, onEnter: onShow, onExit: onHide, timeout: {
68
+ React.createElement(Transition, { in: _visible, mountOnEnter: true, nodeRef: tooltipRef, onEnter: function () {
69
+ if (togglerRef.current && tooltipRef.current) {
70
+ initPopper(togglerRef.current, tooltipRef.current, popperConfig);
71
+ }
72
+ }, onEntering: function () {
73
+ if (togglerRef.current && tooltipRef.current) {
74
+ tooltipRef.current.style.display = 'initial';
75
+ }
76
+ }, onExit: onHide, onExited: function () {
77
+ destroyPopper();
78
+ }, timeout: {
74
79
  enter: 0,
75
80
  exit: tooltipRef.current
76
81
  ? getTransitionDurationFromElement(tooltipRef.current) + 50
@@ -78,7 +83,9 @@ var CTooltip = forwardRef(function (_a, ref) {
78
83
  }, unmountOnExit: true }, function (state) { return (React.createElement("div", __assign({ className: classNames('tooltip', 'bs-tooltip-auto', {
79
84
  fade: animation,
80
85
  show: state === 'entered',
81
- }, className), ref: forkedRef, role: "tooltip" }, rest),
86
+ }, className), id: uID.current, ref: forkedRef, role: "tooltip", style: {
87
+ display: 'none',
88
+ } }, rest),
82
89
  React.createElement("div", { className: "tooltip-arrow" }),
83
90
  React.createElement("div", { className: "tooltip-inner" }, content))); }))));
84
91
  });
@@ -95,7 +102,7 @@ CTooltip.propTypes = {
95
102
  }),
96
103
  ]),
97
104
  fallbackPlacements: fallbackPlacementsPropType,
98
- offset: PropTypes.any,
105
+ offset: PropTypes.any, // TODO: find good proptype
99
106
  onHide: PropTypes.func,
100
107
  onShow: PropTypes.func,
101
108
  placement: PropTypes.oneOf(['auto', 'top', 'right', 'bottom', 'left']),
@@ -1 +1 @@
1
- {"version":3,"file":"CTooltip.js","sources":["../../../../src/components/tooltip/CTooltip.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CTooltip.js","sources":["../../../../src/components/tooltip/CTooltip.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { PolymorphicRefForwardingComponent } from './polymorphicComponent';
2
+ export { PolymorphicRefForwardingComponent };
@@ -0,0 +1,14 @@
1
+ import { ComponentPropsWithRef, ElementType, PropsWithChildren, ReactNode } from 'react';
2
+ export type Omit<T, U> = Pick<T, Exclude<keyof T, keyof U>>;
3
+ export type ReplaceProps<Inner extends ElementType, P> = Omit<ComponentPropsWithRef<Inner>, P> & P;
4
+ export interface AsProp<As extends ElementType = ElementType> {
5
+ as?: As;
6
+ }
7
+ export interface Props<As extends ElementType = ElementType> extends AsProp<As> {
8
+ }
9
+ export interface PolymorphicRefForwardingComponent<TInitial extends ElementType, P = unknown> {
10
+ <As extends ElementType = TInitial>(props: PropsWithChildren<ReplaceProps<As, Props<As> & P>>, context?: any): ReactNode | null;
11
+ propTypes?: any;
12
+ defaultProps?: Partial<P>;
13
+ displayName?: string;
14
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"useColorModes.js","sources":["../../../src/hooks/useColorModes.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAQA,IAAM,cAAc,GAAG,UAAC,oBAA4B,EAAA;IAClD,OAAA,OAAO,MAAM,KAAK,WAAW,IAAI,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAA3E,CAA2E,CAAA;AAE7E,IAAM,cAAc,GAAG,UAAC,oBAA4B,EAAE,SAAiB,EAAA;AACrE,IAAA,OAAA,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAA;AAArD,CAAqD,CAAA;AAEvD,IAAM,uBAAuB,GAAG,UAAC,oBAA4B,EAAA;AAC3D,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,QAAA,OAAO,OAAO,CAAA;AACf,KAAA;AAED,IAAA,IAAM,WAAW,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAA;AAExD,IAAA,IAAI,WAAW,EAAE;AACf,QAAA,OAAO,WAAW,CAAA;AACnB,KAAA;AAED,IAAA,OAAO,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AACrF,CAAC,CAAA;AAED,IAAM,QAAQ,GAAG,UAAC,SAAiB,EAAA;AACjC,IAAA,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW;QAC1C,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO;AAC/E,cAAE,MAAM;cACN,SAAS,CAAA;AAEf,IAAA,IAAM,KAAK,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;AAC5C,IAAA,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AAC/C,CAAC,CAAA;AAEM,IAAM,aAAa,GAAG,UAC3B,oBAAkD,EAAA;AAAlD,IAAA,IAAA,oBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,oBAAkD,GAAA,2BAAA,CAAA,EAAA;AAE5C,IAAA,IAAA,EAA4B,GAAA,QAAQ,CACxC,uBAAuB,CAAC,oBAAoB,CAAC,CAC9C,EAFM,SAAS,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,YAAY,QAE7B,CAAA;AAED,IAAA,SAAS,CAAC,YAAA;AACR,QAAA,IAAI,SAAS,EAAE;AACb,YAAA,cAAc,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAA;YAC/C,QAAQ,CAAC,SAAS,CAAC,CAAA;AACpB,SAAA;AACH,KAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;AAEf,IAAA,SAAS,CAAC,YAAA;QACR,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAA;AAC3E,YAAA,IAAM,WAAW,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAA;YACxD,IAAI,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,MAAM,IAAI,SAAS,EAAE;gBAClE,QAAQ,CAAC,SAAS,CAAC,CAAA;AACpB,aAAA;AACH,SAAC,CAAC,CAAA;AACJ,KAAC,CAAC,CAAA;IAEF,OAAO;AACL,QAAA,SAAS,EAAA,SAAA;QACT,cAAc,EAAE,YAAM,EAAA,OAAA,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAA,EAAA;AACnE,QAAA,YAAY,EAAA,YAAA;KACb,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"useColorModes.js","sources":["../../../src/hooks/useColorModes.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAQA,IAAM,cAAc,GAAG,UAAC,oBAA4B,EAAA;IAClD,OAAA,OAAO,MAAM,KAAK,WAAW,IAAI,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAA3E,CAA2E,CAAA;AAE7E,IAAM,cAAc,GAAG,UAAC,oBAA4B,EAAE,SAAiB,EAAA;AACrE,IAAA,OAAA,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAA;AAArD,CAAqD,CAAA;AAEvD,IAAM,uBAAuB,GAAG,UAAC,oBAA4B,EAAA;AAC3D,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,QAAA,OAAO,OAAO,CAAA;KACf;AAED,IAAA,IAAM,WAAW,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAA;IAExD,IAAI,WAAW,EAAE;AACf,QAAA,OAAO,WAAW,CAAA;KACnB;AAED,IAAA,OAAO,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AACrF,CAAC,CAAA;AAED,IAAM,QAAQ,GAAG,UAAC,SAAiB,EAAA;AACjC,IAAA,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW;QAC1C,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO;AAC/E,cAAE,MAAM;cACN,SAAS,CAAA;AAEf,IAAA,IAAM,KAAK,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;AAC5C,IAAA,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AAC/C,CAAC,CAAA;AAEM,IAAM,aAAa,GAAG,UAC3B,oBAAkD,EAAA;AAAlD,IAAA,IAAA,oBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,oBAAkD,GAAA,2BAAA,CAAA,EAAA;AAE5C,IAAA,IAAA,EAA4B,GAAA,QAAQ,CACxC,uBAAuB,CAAC,oBAAoB,CAAC,CAC9C,EAFM,SAAS,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,YAAY,QAE7B,CAAA;AAED,IAAA,SAAS,CAAC,YAAA;QACR,IAAI,SAAS,EAAE;AACb,YAAA,cAAc,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAA;YAC/C,QAAQ,CAAC,SAAS,CAAC,CAAA;SACpB;AACH,KAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;AAEf,IAAA,SAAS,CAAC,YAAA;QACR,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAA;AAC3E,YAAA,IAAM,WAAW,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAA;YACxD,IAAI,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,MAAM,IAAI,SAAS,EAAE;gBAClE,QAAQ,CAAC,SAAS,CAAC,CAAA;aACpB;AACH,SAAC,CAAC,CAAA;AACJ,KAAC,CAAC,CAAA;IAEF,OAAO;AACL,QAAA,SAAS,EAAA,SAAA;QACT,cAAc,EAAE,YAAM,EAAA,OAAA,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAA,EAAA;AACnE,QAAA,YAAY,EAAA,YAAA;KACb,CAAA;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useForkedRef.js","sources":["../../../src/hooks/useForkedRef.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AACA;AAUA;SACgB,YAAY,GAAA;IAC1B,IAA2D,IAAA,GAAA,EAAA,CAAA;SAA3D,IAA2D,EAAA,GAAA,CAAA,EAA3D,EAA2D,GAAA,SAAA,CAAA,MAAA,EAA3D,EAA2D,EAAA,EAAA;QAA3D,IAA2D,CAAA,EAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;AAE3D,IAAA,OAAO,OAAO,CAAC,YAAA;AACb,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,UAAC,GAAG,EAAA,EAAK,OAAA,GAAG,IAAI,IAAI,CAAX,EAAW,CAAC,EAAE;AACpC,YAAA,OAAO,IAAI,CAAA;AACZ,SAAA;;AAED,QAAA,OAAO,UAAC,IAAS,EAAA;AACf,YAAA,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG,EAAA;AACf,gBAAA,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AACtB,aAAC,CAAC,CAAA;AACJ,SAAC,CAAA;KACF,EAAE,IAAI,CAAC,CAAA;AACV,CAAC;AAED;AACM,SAAU,SAAS,CACvB,GAAmD;AACnD;AACA,KAAU,EAAA;IAEV,IAAI,GAAG,IAAI,IAAI;QAAE,OAAM;AACvB,IAAA,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;QACnB,GAAG,CAAC,KAAK,CAAC,CAAA;AACX,KAAA;AAAM,SAAA;QACL,IAAI;AACF,YAAA,GAAG,CAAC,OAAO,GAAG,KAAK,CAAA;AACpB,SAAA;QAAC,OAAM,EAAA,EAAA;YACN,MAAM,IAAI,KAAK,CAAC,wBAAA,CAAA,MAAA,CAAwB,KAAK,EAAa,cAAA,CAAA,CAAA,MAAA,CAAA,GAAG,EAAG,IAAA,CAAA,CAAC,CAAA;AAClE,SAAA;AACF,KAAA;AACH,CAAC;AAED;AACM,SAAU,UAAU,CAAC,KAAU,EAAA;AACnC,IAAA,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC,CAAA;AACpE;;;;"}
1
+ {"version":3,"file":"useForkedRef.js","sources":["../../../src/hooks/useForkedRef.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AACA;AAUA;SACgB,YAAY,GAAA;IAC1B,IAA2D,IAAA,GAAA,EAAA,CAAA;SAA3D,IAA2D,EAAA,GAAA,CAAA,EAA3D,EAA2D,GAAA,SAAA,CAAA,MAAA,EAA3D,EAA2D,EAAA,EAAA;QAA3D,IAA2D,CAAA,EAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;AAE3D,IAAA,OAAO,OAAO,CAAC,YAAA;AACb,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,UAAC,GAAG,EAAA,EAAK,OAAA,GAAG,IAAI,IAAI,CAAA,EAAA,CAAC,EAAE;AACpC,YAAA,OAAO,IAAI,CAAA;SACZ;;AAED,QAAA,OAAO,UAAC,IAAS,EAAA;AACf,YAAA,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG,EAAA;AACf,gBAAA,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AACtB,aAAC,CAAC,CAAA;AACJ,SAAC,CAAA;KACF,EAAE,IAAI,CAAC,CAAA;AACV,CAAC;AAED;AACM,SAAU,SAAS,CACvB,GAAmD;AACnD;AACA,KAAU,EAAA;IAEV,IAAI,GAAG,IAAI,IAAI;QAAE,OAAM;AACvB,IAAA,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;QACnB,GAAG,CAAC,KAAK,CAAC,CAAA;KACX;SAAM;AACL,QAAA,IAAI;AACF,YAAA,GAAG,CAAC,OAAO,GAAG,KAAK,CAAA;SACpB;AAAC,QAAA,OAAA,EAAA,EAAM;YACN,MAAM,IAAI,KAAK,CAAC,wBAAA,CAAA,MAAA,CAAwB,KAAK,EAAa,cAAA,CAAA,CAAA,MAAA,CAAA,GAAG,EAAG,IAAA,CAAA,CAAC,CAAA;SAClE;KACF;AACH,CAAC;AAED;AACM,SAAU,UAAU,CAAC,KAAU,EAAA;AACnC,IAAA,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC,CAAA;AACpE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePopper.js","sources":["../../../src/hooks/usePopper.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAYa,IAAA,SAAS,GAAG,YAAA;AACvB,IAAA,IAAM,OAAO,GAAG,MAAM,EAAY,CAAA;AAClC,IAAA,IAAM,EAAE,GAAG,MAAM,EAAe,CAAA;AAEhC,IAAA,IAAM,UAAU,GAAG,UAAC,SAAsB,EAAE,MAAmB,EAAE,OAAyB,EAAA;QACxF,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;AAC1D,QAAA,EAAE,CAAC,OAAO,GAAG,MAAM,CAAA;AACrB,KAAC,CAAA;AAED,IAAA,IAAM,aAAa,GAAG,YAAA;AACpB,QAAA,IAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAA;AAEtC,QAAA,IAAI,cAAc,IAAI,EAAE,CAAC,OAAO,EAAE;AAChC,YAAA,sBAAsB,CAAC,YAAA;gBACrB,cAAc,CAAC,OAAO,EAAE,CAAA;AAC1B,aAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;AACf,SAAA;AAED,QAAA,OAAO,CAAC,OAAO,GAAG,SAAS,CAAA;AAC7B,KAAC,CAAA;IAED,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,OAAO;AACvB,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,aAAa,EAAA,aAAA;KACd,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"usePopper.js","sources":["../../../src/hooks/usePopper.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAYa,IAAA,SAAS,GAAG,YAAA;AACvB,IAAA,IAAM,OAAO,GAAG,MAAM,EAAY,CAAA;AAClC,IAAA,IAAM,EAAE,GAAG,MAAM,EAAe,CAAA;AAEhC,IAAA,IAAM,UAAU,GAAG,UAAC,SAAsB,EAAE,MAAmB,EAAE,OAAyB,EAAA;QACxF,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;AAC1D,QAAA,EAAE,CAAC,OAAO,GAAG,MAAM,CAAA;AACrB,KAAC,CAAA;AAED,IAAA,IAAM,aAAa,GAAG,YAAA;AACpB,QAAA,IAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAA;AAEtC,QAAA,IAAI,cAAc,IAAI,EAAE,CAAC,OAAO,EAAE;AAChC,YAAA,sBAAsB,CAAC,YAAA;gBACrB,cAAc,CAAC,OAAO,EAAE,CAAA;AAC1B,aAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;SACf;AAED,QAAA,OAAO,CAAC,OAAO,GAAG,SAAS,CAAA;AAC7B,KAAC,CAAA;IAED,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,OAAO;AACvB,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,aAAa,EAAA,aAAA;KACd,CAAA;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"executeAfterTransition.js","sources":["../../../src/utils/executeAfterTransition.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA,IAAM,OAAO,GAAG,UAAC,QAAoB,EAAA;AACnC,IAAA,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAClC,QAAA,QAAQ,EAAE,CAAA;AACX,KAAA;AACH,CAAC,CAAA;AAED,IAAM,oBAAoB,GAAG,UAAC,OAAoB,EAAA;IAChD,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAA;AACnD,CAAC,CAAA;AAED,IAAM,sBAAsB,GAAG,UAC7B,QAAoB,EACpB,iBAA8B,EAC9B,iBAAwB,EAAA;AAAxB,IAAA,IAAA,iBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,iBAAwB,GAAA,IAAA,CAAA,EAAA;IAExB,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO,CAAC,QAAQ,CAAC,CAAA;QACjB,OAAM;AACP,KAAA;IAED,IAAM,eAAe,GAAG,CAAC,CAAA;IACzB,IAAM,gBAAgB,GAAG,gCAAgC,CAAC,iBAAiB,CAAC,GAAG,eAAe,CAAA;IAE9F,IAAI,MAAM,GAAG,KAAK,CAAA;IAElB,IAAM,OAAO,GAAG,UAAC,EAA2B,EAAA;AAAzB,QAAA,IAAA,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;QACvB,IAAI,MAAM,KAAK,iBAAiB,EAAE;YAChC,OAAM;AACP,SAAA;QAED,MAAM,GAAG,IAAI,CAAA;AACb,QAAA,iBAAiB,CAAC,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;QAC/D,OAAO,CAAC,QAAQ,CAAC,CAAA;AACnB,KAAC,CAAA;AAED,IAAA,iBAAiB,CAAC,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;AAC5D,IAAA,UAAU,CAAC,YAAA;QACT,IAAI,CAAC,MAAM,EAAE;YACX,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;AACxC,SAAA;KACF,EAAE,gBAAgB,CAAC,CAAA;AACtB;;;;"}
1
+ {"version":3,"file":"executeAfterTransition.js","sources":["../../../src/utils/executeAfterTransition.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA,IAAM,OAAO,GAAG,UAAC,QAAoB,EAAA;AACnC,IAAA,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAClC,QAAA,QAAQ,EAAE,CAAA;KACX;AACH,CAAC,CAAA;AAED,IAAM,oBAAoB,GAAG,UAAC,OAAoB,EAAA;IAChD,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAA;AACnD,CAAC,CAAA;AAED,IAAM,sBAAsB,GAAG,UAC7B,QAAoB,EACpB,iBAA8B,EAC9B,iBAAwB,EAAA;AAAxB,IAAA,IAAA,iBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,iBAAwB,GAAA,IAAA,CAAA,EAAA;IAExB,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO,CAAC,QAAQ,CAAC,CAAA;QACjB,OAAM;KACP;IAED,IAAM,eAAe,GAAG,CAAC,CAAA;IACzB,IAAM,gBAAgB,GAAG,gCAAgC,CAAC,iBAAiB,CAAC,GAAG,eAAe,CAAA;IAE9F,IAAI,MAAM,GAAG,KAAK,CAAA;IAElB,IAAM,OAAO,GAAG,UAAC,EAA2B,EAAA;AAAzB,QAAA,IAAA,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;AACvB,QAAA,IAAI,MAAM,KAAK,iBAAiB,EAAE;YAChC,OAAM;SACP;QAED,MAAM,GAAG,IAAI,CAAA;AACb,QAAA,iBAAiB,CAAC,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;QAC/D,OAAO,CAAC,QAAQ,CAAC,CAAA;AACnB,KAAC,CAAA;AAED,IAAA,iBAAiB,CAAC,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;AAC5D,IAAA,UAAU,CAAC,YAAA;QACT,IAAI,CAAC,MAAM,EAAE;YACX,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;SACxC;KACF,EAAE,gBAAgB,CAAC,CAAA;AACtB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getRTLPlacement.js","sources":["../../../src/utils/getRTLPlacement.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA,IAAM,eAAe,GAAG,UAAC,SAAiB,EAAE,OAA8B,EAAA;AACxE,IAAA,QAAQ,SAAS;QACf,KAAK,OAAO,EAAE;AACZ,YAAA,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,OAAO,CAAA;AACzC,SAAA;QACD,KAAK,MAAM,EAAE;AACX,YAAA,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,MAAM,CAAA;AACzC,SAAA;AACD,QAAA,SAAS;AACP,YAAA,OAAO,SAAsB,CAAA;AAC9B,SAAA;AACF,KAAA;AACH;;;;"}
1
+ {"version":3,"file":"getRTLPlacement.js","sources":["../../../src/utils/getRTLPlacement.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAGA,IAAM,eAAe,GAAG,UAAC,SAAiB,EAAE,OAA8B,EAAA;IACxE,QAAQ,SAAS;QACf,KAAK,OAAO,EAAE;AACZ,YAAA,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,OAAO,CAAA;SACzC;QACD,KAAK,MAAM,EAAE;AACX,YAAA,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,MAAM,CAAA;SACzC;QACD,SAAS;AACP,YAAA,OAAO,SAAsB,CAAA;SAC9B;KACF;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTransitionDurationFromElement.js","sources":["../../../src/utils/getTransitionDurationFromElement.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAM,IAAA,gCAAgC,GAAG,UAAC,OAAoB,EAAA;IAC5D,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,OAAO,CAAC,CAAA;AACT,KAAA;;AAGG,IAAA,IAAA,EAA0C,GAAA,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAxE,kBAAkB,GAAA,EAAA,CAAA,kBAAA,EAAE,eAAe,qBAAqC,CAAA;IAE9E,IAAM,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;IACrE,IAAM,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;;AAG/D,IAAA,IAAI,CAAC,uBAAuB,IAAI,CAAC,oBAAoB,EAAE;AACrD,QAAA,OAAO,CAAC,CAAA;AACT,KAAA;;IAGD,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AAE/C,IAAA,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,IAAI,CAAA;AAC5F;;;;"}
1
+ {"version":3,"file":"getTransitionDurationFromElement.js","sources":["../../../src/utils/getTransitionDurationFromElement.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAM,IAAA,gCAAgC,GAAG,UAAC,OAAoB,EAAA;IAC5D,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,OAAO,CAAC,CAAA;KACT;;AAGG,IAAA,IAAA,EAA0C,GAAA,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAxE,kBAAkB,GAAA,EAAA,CAAA,kBAAA,EAAE,eAAe,qBAAqC,CAAA;IAE9E,IAAM,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;IACrE,IAAM,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;;AAG/D,IAAA,IAAI,CAAC,uBAAuB,IAAI,CAAC,oBAAoB,EAAE;AACrD,QAAA,OAAO,CAAC,CAAA;KACT;;IAGD,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AAE/C,IAAA,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,IAAI,CAAA;AAC5F;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"isRTL.js","sources":["../../../src/utils/isRTL.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAM,IAAA,KAAK,GAAG,UAAC,OAA6C,EAAA;AAC1D,IAAA,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,GAAG,KAAK,KAAK,EAAE;AAC7E,QAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AAED,IAAA,IAAI,OAAO,EAAE;QACX,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,CAAA;AAC/C,KAAA;AAED,IAAA,OAAO,KAAK,CAAA;AACd;;;;"}
1
+ {"version":3,"file":"isRTL.js","sources":["../../../src/utils/isRTL.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAM,IAAA,KAAK,GAAG,UAAC,OAA6C,EAAA;AAC1D,IAAA,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,GAAG,KAAK,KAAK,EAAE;AAC7E,QAAA,OAAO,IAAI,CAAA;KACZ;IAED,IAAI,OAAO,EAAE;QACX,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,CAAA;KAC/C;AAED,IAAA,OAAO,KAAK,CAAA;AACd;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coreui/react",
3
- "version": "5.0.0-rc.0",
3
+ "version": "5.0.0-rc.2",
4
4
  "description": "UI Components Library for React.js",
5
5
  "keywords": [
6
6
  "react",
@@ -41,31 +41,31 @@
41
41
  "test:update": "jest --coverage --updateSnapshot"
42
42
  },
43
43
  "dependencies": {
44
- "@coreui/coreui": "^5.0.0-rc.0",
44
+ "@coreui/coreui": "^5.0.0-rc.2",
45
45
  "@popperjs/core": "^2.11.8",
46
46
  "prop-types": "^15.8.1"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@rollup/plugin-commonjs": "^25.0.7",
50
50
  "@rollup/plugin-node-resolve": "^15.2.3",
51
- "@rollup/plugin-typescript": "^11.1.5",
52
- "@testing-library/jest-dom": "^6.1.4",
53
- "@testing-library/react": "^14.1.0",
54
- "@types/jest": "^29.5.8",
55
- "@types/react": "18.2.37",
56
- "@types/react-dom": "^18.2.15",
57
- "@types/react-transition-group": "^4.4.9",
58
- "classnames": "^2.3.2",
51
+ "@rollup/plugin-typescript": "^11.1.6",
52
+ "@testing-library/jest-dom": "^6.4.2",
53
+ "@testing-library/react": "^14.2.1",
54
+ "@types/jest": "^29.5.12",
55
+ "@types/react": "18.2.63",
56
+ "@types/react-dom": "^18.2.20",
57
+ "@types/react-transition-group": "^4.4.10",
58
+ "classnames": "^2.5.1",
59
59
  "cross-env": "^7.0.3",
60
60
  "jest": "^29.7.0",
61
61
  "jest-environment-jsdom": "^29.7.0",
62
62
  "react": "^18.2.0",
63
63
  "react-dom": "^18.2.0",
64
64
  "react-transition-group": "^4.4.5",
65
- "rollup": "^4.4.1",
66
- "ts-jest": "^29.1.1",
65
+ "rollup": "^4.12.1",
66
+ "ts-jest": "^29.1.2",
67
67
  "tslib": "^2.6.2",
68
- "typescript": "^5.2.2"
68
+ "typescript": "^5.4.2"
69
69
  },
70
70
  "peerDependencies": {
71
71
  "react": ">=17",
@@ -2,31 +2,34 @@ import React, { ElementType, forwardRef, HTMLAttributes } from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import classNames from 'classnames'
4
4
 
5
+ import { PolymorphicRefForwardingComponent } from '../../helpers'
6
+
5
7
  export interface CAlertHeadingProps extends HTMLAttributes<HTMLHeadingElement> {
6
8
  /**
7
- * A string of all className you want applied to the base component.
9
+ * Component used for the root node. Either a string to use a HTML element or a component.
8
10
  */
9
- className?: string
11
+ as?: ElementType
10
12
  /**
11
- * Component used for the root node. Either a string to use a HTML element or a component.
13
+ * A string of all className you want applied to the base component.
12
14
  */
13
- component?: string | ElementType
15
+ className?: string
14
16
  }
15
17
 
16
- export const CAlertHeading = forwardRef<HTMLHeadingElement, CAlertHeadingProps>(
17
- ({ children, className, component: Component = 'h4', ...rest }, ref) => {
18
- return (
19
- <Component className={classNames('alert-heading', className)} {...rest} ref={ref}>
20
- {children}
21
- </Component>
22
- )
23
- },
24
- )
18
+ export const CAlertHeading: PolymorphicRefForwardingComponent<'h4', CAlertHeadingProps> =
19
+ forwardRef<HTMLHeadingElement, CAlertHeadingProps>(
20
+ ({ children, as: Component = 'h4', className, ...rest }, ref) => {
21
+ return (
22
+ <Component className={classNames('alert-heading', className)} {...rest} ref={ref}>
23
+ {children}
24
+ </Component>
25
+ )
26
+ },
27
+ )
25
28
 
26
29
  CAlertHeading.propTypes = {
30
+ as: PropTypes.elementType,
27
31
  children: PropTypes.node,
28
32
  className: PropTypes.string,
29
- component: PropTypes.elementType,
30
33
  }
31
34
 
32
35
  CAlertHeading.displayName = 'CAlertHeading'
@@ -10,7 +10,7 @@ test('loads and displays CAlertHeading component', async () => {
10
10
 
11
11
  test('CAlertHeading customize', async () => {
12
12
  const { container } = render(
13
- <CAlertHeading component="h3" className="bazinga">
13
+ <CAlertHeading as="h3" className="bazinga">
14
14
  Test
15
15
  </CAlertHeading>,
16
16
  )
@@ -2,10 +2,15 @@ import React, { ElementType, forwardRef, HTMLAttributes } from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import classNames from 'classnames'
4
4
 
5
+ import { PolymorphicRefForwardingComponent } from '../../helpers'
5
6
  import { colorPropType, shapePropType, textColorsPropType } from '../../props'
6
7
  import type { Colors, Shapes, TextColors } from '../../types'
7
8
 
8
9
  export interface CBadgeProps extends HTMLAttributes<HTMLDivElement | HTMLSpanElement> {
10
+ /**
11
+ * Component used for the root node. Either a string to use a HTML element or a component.
12
+ */
13
+ as?: ElementType
9
14
  /**
10
15
  * A string of all className you want applied to the component.
11
16
  */
@@ -16,10 +21,6 @@ export interface CBadgeProps extends HTMLAttributes<HTMLDivElement | HTMLSpanEle
16
21
  * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string
17
22
  */
18
23
  color?: Colors
19
- /**
20
- * Component used for the root node. Either a string to use a HTML element or a component.
21
- */
22
- component?: string | ElementType
23
24
  /**
24
25
  * Position badge in one of the corners of a link or button.
25
26
  */
@@ -41,13 +42,16 @@ export interface CBadgeProps extends HTMLAttributes<HTMLDivElement | HTMLSpanEle
41
42
  */
42
43
  textColor?: TextColors
43
44
  }
44
- export const CBadge = forwardRef<HTMLDivElement | HTMLSpanElement, CBadgeProps>(
45
+ export const CBadge: PolymorphicRefForwardingComponent<'span', CBadgeProps> = forwardRef<
46
+ HTMLDivElement | HTMLSpanElement,
47
+ CBadgeProps
48
+ >(
45
49
  (
46
50
  {
47
51
  children,
52
+ as: Component = 'span',
48
53
  className,
49
54
  color,
50
- component: Component = 'span',
51
55
  position,
52
56
  shape,
53
57
  size,
@@ -61,7 +65,7 @@ export const CBadge = forwardRef<HTMLDivElement | HTMLSpanElement, CBadgeProps>(
61
65
  className={classNames(
62
66
  'badge',
63
67
  {
64
- [`bg-${color}`]: color,
68
+ [`text-bg-${color}`]: color,
65
69
  'position-absolute translate-middle': position,
66
70
  'top-0': position?.includes('top'),
67
71
  'top-100': position?.includes('bottom'),
@@ -83,10 +87,10 @@ export const CBadge = forwardRef<HTMLDivElement | HTMLSpanElement, CBadgeProps>(
83
87
  )
84
88
 
85
89
  CBadge.propTypes = {
90
+ as: PropTypes.string,
86
91
  children: PropTypes.node,
87
92
  className: PropTypes.string,
88
93
  color: colorPropType,
89
- component: PropTypes.string,
90
94
  position: PropTypes.oneOf(['top-start', 'top-end', 'bottom-end', 'bottom-start']),
91
95
  shape: shapePropType,
92
96
  size: PropTypes.oneOf(['sm']),
@@ -10,7 +10,7 @@ test('loads and displays CBadge component', async () => {
10
10
 
11
11
  test('CBadge customize', async () => {
12
12
  const { container } = render(
13
- <CBadge className="bazinga" color="warning" component="div" shape="rounded" textColor="white">
13
+ <CBadge className="bazinga" color="warning" as="div" shape="rounded" textColor="white">
14
14
  Test
15
15
  </CBadge>,
16
16
  )
@@ -4,6 +4,7 @@ import classNames from 'classnames'
4
4
 
5
5
  import { CLink, CLinkProps } from '../link/CLink'
6
6
 
7
+ import { PolymorphicRefForwardingComponent } from '../../helpers'
7
8
  import { colorPropType } from '../../props'
8
9
  import type { Colors, Shapes } from '../../types'
9
10
 
@@ -12,6 +13,10 @@ export interface CButtonProps extends Omit<CLinkProps, 'size'> {
12
13
  * Toggle the active state for the component.
13
14
  */
14
15
  active?: boolean
16
+ /**
17
+ * Component used for the root node. Either a string to use a HTML element or a component.
18
+ */
19
+ as?: ElementType
15
20
  /**
16
21
  * A string of all className you want applied to the base component.
17
22
  */
@@ -22,10 +27,6 @@ export interface CButtonProps extends Omit<CLinkProps, 'size'> {
22
27
  * @type 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light' | string
23
28
  */
24
29
  color?: Colors
25
- /**
26
- * Component used for the root node. Either a string to use a HTML element or a component.
27
- */
28
- component?: string | ElementType
29
30
  /**
30
31
  * Toggle the disabled state for the component.
31
32
  */
@@ -59,24 +60,17 @@ export interface CButtonProps extends Omit<CLinkProps, 'size'> {
59
60
  variant?: 'outline' | 'ghost'
60
61
  }
61
62
 
62
- export const CButton = forwardRef<HTMLButtonElement | HTMLAnchorElement, CButtonProps>(
63
+ export const CButton: PolymorphicRefForwardingComponent<'button', CButtonProps> = forwardRef<
64
+ HTMLButtonElement | HTMLAnchorElement,
65
+ CButtonProps
66
+ >(
63
67
  (
64
- {
65
- children,
66
- className,
67
- color,
68
- component = 'button',
69
- shape,
70
- size,
71
- type = 'button',
72
- variant,
73
- ...rest
74
- },
68
+ { children, as = 'button', className, color, shape, size, type = 'button', variant, ...rest },
75
69
  ref,
76
70
  ) => {
77
71
  return (
78
72
  <CLink
79
- component={rest.href ? 'a' : component}
73
+ as={rest.href ? 'a' : as}
80
74
  {...(!rest.href && { type: type })}
81
75
  className={classNames(
82
76
  'btn',
@@ -95,10 +89,10 @@ export const CButton = forwardRef<HTMLButtonElement | HTMLAnchorElement, CButton
95
89
  )
96
90
 
97
91
  CButton.propTypes = {
92
+ as: PropTypes.elementType,
98
93
  children: PropTypes.node,
99
94
  className: PropTypes.string,
100
95
  color: colorPropType,
101
- component: PropTypes.elementType,
102
96
  shape: PropTypes.string,
103
97
  size: PropTypes.oneOf(['sm', 'lg']),
104
98
  type: PropTypes.oneOf(['button', 'submit', 'reset']),
@@ -10,7 +10,7 @@ test('loads and displays CButton component', async () => {
10
10
 
11
11
  test('CButton customize witch href', async () => {
12
12
  const { container } = render(
13
- <CButton color="primary" component="span" href="/bazinga">
13
+ <CButton color="primary" as="span" href="/bazinga">
14
14
  Test
15
15
  </CButton>,
16
16
  )
@@ -23,7 +23,7 @@ test('CButton customize', async () => {
23
23
  active={true}
24
24
  className="bazinga"
25
25
  color="warning"
26
- component="span"
26
+ as="span"
27
27
  disabled={true}
28
28
  role="bazinga"
29
29
  shape="rounded"
@@ -2,31 +2,34 @@ import React, { ElementType, forwardRef, HTMLAttributes } from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import classNames from 'classnames'
4
4
 
5
+ import { PolymorphicRefForwardingComponent } from '../../helpers'
6
+
5
7
  export interface CCardHeaderProps extends HTMLAttributes<HTMLDivElement> {
6
8
  /**
7
- * A string of all className you want applied to the base component.
9
+ * Component used for the root node. Either a string to use a HTML element or a component.
8
10
  */
9
- className?: string
11
+ as?: ElementType
10
12
  /**
11
- * Component used for the root node. Either a string to use a HTML element or a component.
13
+ * A string of all className you want applied to the base component.
12
14
  */
13
- component?: string | ElementType
15
+ className?: string
14
16
  }
15
17
 
16
- export const CCardHeader = forwardRef<HTMLDivElement, CCardHeaderProps>(
17
- ({ children, component: Component = 'div', className, ...rest }, ref) => {
18
- return (
19
- <Component className={classNames('card-header', className)} {...rest} ref={ref}>
20
- {children}
21
- </Component>
22
- )
23
- },
24
- )
18
+ export const CCardHeader: PolymorphicRefForwardingComponent<'div', CCardHeaderProps> = forwardRef<
19
+ HTMLDivElement,
20
+ CCardHeaderProps
21
+ >(({ children, as: Component = 'div', className, ...rest }, ref) => {
22
+ return (
23
+ <Component className={classNames('card-header', className)} {...rest} ref={ref}>
24
+ {children}
25
+ </Component>
26
+ )
27
+ })
25
28
 
26
29
  CCardHeader.propTypes = {
30
+ as: PropTypes.elementType,
27
31
  children: PropTypes.node,
28
32
  className: PropTypes.string,
29
- component: PropTypes.elementType,
30
33
  }
31
34
 
32
35
  CCardHeader.displayName = 'CCardHeader'
@@ -2,26 +2,28 @@ import React, { ElementType, forwardRef, ImgHTMLAttributes } from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import classNames from 'classnames'
4
4
 
5
+ import { PolymorphicRefForwardingComponent } from '../../helpers'
6
+
5
7
  export interface CCardImageProps
6
8
  extends ImgHTMLAttributes<HTMLImageElement | HTMLOrSVGElement | HTMLOrSVGImageElement> {
7
9
  /**
8
- * A string of all className you want applied to the base component.
10
+ * Component used for the root node. Either a string to use a HTML element or a component.
9
11
  */
10
- className?: string
12
+ as?: ElementType
11
13
  /**
12
- * Component used for the root node. Either a string to use a HTML element or a component.
14
+ * A string of all className you want applied to the base component.
13
15
  */
14
- component?: string | ElementType
16
+ className?: string
15
17
  /**
16
18
  * Optionally orientate the image to the top, bottom, or make it overlaid across the card.
17
19
  */
18
20
  orientation?: 'top' | 'bottom'
19
21
  }
20
22
 
21
- export const CCardImage = forwardRef<
23
+ export const CCardImage: PolymorphicRefForwardingComponent<'img', CCardImageProps> = forwardRef<
22
24
  HTMLImageElement | HTMLOrSVGElement | HTMLOrSVGImageElement,
23
25
  CCardImageProps
24
- >(({ children, className, component: Component = 'img', orientation, ...rest }, ref) => {
26
+ >(({ children, as: Component = 'img', className, orientation, ...rest }, ref) => {
25
27
  return (
26
28
  <Component
27
29
  className={classNames(orientation ? `card-img-${orientation}` : 'card-img', className)}
@@ -34,9 +36,9 @@ export const CCardImage = forwardRef<
34
36
  })
35
37
 
36
38
  CCardImage.propTypes = {
39
+ as: PropTypes.elementType,
37
40
  children: PropTypes.node,
38
41
  className: PropTypes.string,
39
- component: PropTypes.elementType,
40
42
  orientation: PropTypes.oneOf(['top', 'bottom']),
41
43
  }
42
44