@coreui/vue-pro 4.8.0-next.1 → 4.8.1

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 (319) hide show
  1. package/README.md +1 -1
  2. package/dist/components/accordion/CAccordion.d.ts +2 -11
  3. package/dist/components/accordion/CAccordionItem.d.ts +3 -13
  4. package/dist/components/alert/CAlert.d.ts +2 -17
  5. package/dist/components/alert/CAlertHeading.d.ts +0 -2
  6. package/dist/components/avatar/CAvatar.d.ts +13 -25
  7. package/dist/components/backdrop/CBackdrop.d.ts +1 -4
  8. package/dist/components/badge/CBadge.d.ts +0 -12
  9. package/dist/components/breadcrumb/CBreadcrumbItem.d.ts +4 -19
  10. package/dist/components/button/CButton.d.ts +6 -43
  11. package/dist/components/button-group/CButtonGroup.d.ts +2 -13
  12. package/dist/components/card/CCardHeader.d.ts +0 -2
  13. package/dist/components/card/CCardImage.d.ts +0 -7
  14. package/dist/components/card/CCardLink.d.ts +0 -2
  15. package/dist/components/card/CCardSubtitle.d.ts +0 -2
  16. package/dist/components/card/CCardText.d.ts +0 -2
  17. package/dist/components/card/CCardTitle.d.ts +0 -2
  18. package/dist/components/carousel/CCarousel.d.ts +0 -10
  19. package/dist/components/carousel/CCarouselItem.d.ts +0 -4
  20. package/dist/components/close-button/CCloseButton.d.ts +5 -17
  21. package/dist/components/collapse/CCollapse.d.ts +4 -16
  22. package/dist/components/dropdown/CDropdown.d.ts +11 -46
  23. package/dist/components/dropdown/CDropdownHeader.d.ts +0 -2
  24. package/dist/components/dropdown/CDropdownItem.d.ts +6 -29
  25. package/dist/components/dropdown/CDropdownMenu.d.ts +0 -2
  26. package/dist/components/dropdown/CDropdownToggle.d.ts +7 -43
  27. package/dist/components/footer/CFooter.d.ts +1 -7
  28. package/dist/components/form/CForm.d.ts +2 -8
  29. package/dist/components/form/CFormCheck.d.ts +30 -49
  30. package/dist/components/form/CFormControlValidation.d.ts +8 -24
  31. package/dist/components/form/CFormFeedback.d.ts +0 -2
  32. package/dist/components/form/CFormInput.d.ts +145 -194
  33. package/dist/components/form/CFormLabel.d.ts +3 -13
  34. package/dist/components/form/CFormRange.d.ts +16 -64
  35. package/dist/components/form/CFormSelect.d.ts +20 -82
  36. package/dist/components/form/CFormSwitch.d.ts +24 -33
  37. package/dist/components/form/CFormText.d.ts +0 -2
  38. package/dist/components/form/CFormTextarea.d.ts +22 -69
  39. package/dist/components/form/CInputGroup.d.ts +1 -7
  40. package/dist/components/form/CInputGroupText.d.ts +0 -2
  41. package/dist/components/grid/CCol.d.ts +1 -32
  42. package/dist/components/grid/CContainer.d.ts +12 -48
  43. package/dist/components/grid/CRow.d.ts +23 -68
  44. package/dist/components/header/CHeader.d.ts +1 -12
  45. package/dist/components/header/CHeaderBrand.d.ts +0 -2
  46. package/dist/components/header/CHeaderNav.d.ts +0 -2
  47. package/dist/components/image/CImage.d.ts +6 -29
  48. package/dist/components/link/CLink.d.ts +6 -29
  49. package/dist/components/list-group/CListGroup.d.ts +2 -15
  50. package/dist/components/list-group/CListGroupItem.d.ts +4 -18
  51. package/dist/components/modal/CModal.d.ts +4 -21
  52. package/dist/components/modal/CModalHeader.d.ts +0 -2
  53. package/dist/components/modal/CModalTitle.d.ts +0 -2
  54. package/dist/components/nav/CNav.d.ts +0 -12
  55. package/dist/components/nav/CNavLink.d.ts +6 -29
  56. package/dist/components/navbar/CNavbar.d.ts +0 -22
  57. package/dist/components/navbar/CNavbarBrand.d.ts +2 -13
  58. package/dist/components/navbar/CNavbarNav.d.ts +0 -2
  59. package/dist/components/offcanvas/COffcanvas.d.ts +8 -5
  60. package/dist/components/offcanvas/COffcanvasTitle.d.ts +0 -2
  61. package/dist/components/pagination/CPagination.d.ts +1 -12
  62. package/dist/components/pagination/CPaginationItem.d.ts +8 -38
  63. package/dist/components/placeholder/CPlaceholder.d.ts +12 -78
  64. package/dist/components/popover/CPopover.d.ts +4 -28
  65. package/dist/components/progress/CProgressBar.d.ts +2 -15
  66. package/dist/components/props.d.ts +5 -6
  67. package/dist/components/sidebar/CSidebar.d.ts +4 -22
  68. package/dist/components/smart-table/CSmartTable.d.ts +1 -1
  69. package/dist/components/smart-table/CSmartTableHead.d.ts +1 -1
  70. package/dist/components/spinner/CSpinner.d.ts +0 -16
  71. package/dist/components/table/CTable.d.ts +17 -110
  72. package/dist/components/table/CTableDataCell.d.ts +4 -21
  73. package/dist/components/table/CTableRow.d.ts +2 -13
  74. package/dist/components/table/types.d.ts +14 -0
  75. package/dist/components/table/utils.d.ts +5 -0
  76. package/dist/components/tabs/CTabPane.d.ts +0 -2
  77. package/dist/components/toast/CToast.d.ts +7 -46
  78. package/dist/components/toast/CToastHeader.d.ts +2 -8
  79. package/dist/components/toast/CToaster.d.ts +1 -7
  80. package/dist/components/tooltip/CTooltip.d.ts +2 -17
  81. package/dist/components/widgets/CWidgetStatsA.d.ts +4 -24
  82. package/dist/components/widgets/CWidgetStatsB.d.ts +6 -34
  83. package/dist/components/widgets/CWidgetStatsC.d.ts +14 -23
  84. package/dist/components/widgets/CWidgetStatsD.d.ts +0 -2
  85. package/dist/components/widgets/CWidgetStatsE.d.ts +2 -13
  86. package/dist/components/widgets/CWidgetStatsF.d.ts +4 -24
  87. package/dist/index.es.js +385 -1012
  88. package/dist/index.es.js.map +1 -1
  89. package/dist/index.js +384 -1011
  90. package/dist/index.js.map +1 -1
  91. package/dist/props.d.ts +19 -0
  92. package/dist/types.d.ts +5 -0
  93. package/package.json +1 -1
  94. package/src/components/accordion/CAccordion.ts +1 -5
  95. package/src/components/accordion/CAccordionBody.ts +1 -1
  96. package/src/components/accordion/CAccordionItem.ts +1 -6
  97. package/src/components/accordion/__tests__/__snapshots__/CAccordion.spec.ts.snap +1 -1
  98. package/src/components/accordion/__tests__/__snapshots__/CAccordionBody.spec.ts.snap +3 -3
  99. package/src/components/accordion/__tests__/__snapshots__/CAccordionButton.spec.ts.snap +1 -1
  100. package/src/components/accordion/__tests__/__snapshots__/CAccordionHeader.spec.ts.snap +1 -1
  101. package/src/components/accordion/__tests__/__snapshots__/CAccordionItem.spec.ts.snap +1 -1
  102. package/src/components/alert/CAlert.ts +4 -12
  103. package/src/components/alert/CAlertHeading.ts +0 -1
  104. package/src/components/alert/__tests__/CAlert.spec.ts +1 -1
  105. package/src/components/alert/__tests__/__snapshots__/CAlert.spec.ts.snap +16 -1
  106. package/src/components/alert/__tests__/__snapshots__/CAlertHeading.spec.ts.snap +2 -2
  107. package/src/components/alert/__tests__/__snapshots__/CAlertLink.spec.ts.snap +1 -1
  108. package/src/components/avatar/CAvatar.ts +3 -10
  109. package/src/components/avatar/__tests__/__snapshots__/CAvatar.spec.ts.snap +2 -2
  110. package/src/components/backdrop/CBackdrop.ts +7 -29
  111. package/src/components/backdrop/__tests__/__snapshots__/CBackdrop.spec.ts.snap +2 -2
  112. package/src/components/badge/CBadge.ts +1 -6
  113. package/src/components/badge/__tests__/CBadge.spec.ts +1 -1
  114. package/src/components/breadcrumb/CBreadcrumbItem.ts +2 -9
  115. package/src/components/breadcrumb/__tests__/__snapshots__/CBreadcrumb.spec.ts.snap +2 -2
  116. package/src/components/breadcrumb/__tests__/__snapshots__/CBreadcrumbItem.spec.ts.snap +2 -2
  117. package/src/components/button/CButton.ts +5 -21
  118. package/src/components/button/__tests__/__snapshots__/CButton.spec.ts.snap +3 -3
  119. package/src/components/button-group/CButtonGroup.ts +1 -6
  120. package/src/components/button-group/__tests__/__snapshots__/CButtonGroup.spec.ts.snap +2 -2
  121. package/src/components/button-group/__tests__/__snapshots__/CButtonToolbar.spec.ts.snap +1 -1
  122. package/src/components/callout/CCallout.ts +2 -1
  123. package/src/components/callout/__tests__/__snapshots__/CCallout.spec.ts.snap +2 -2
  124. package/src/components/card/CCard.ts +2 -1
  125. package/src/components/card/CCardHeader.ts +0 -1
  126. package/src/components/card/CCardImage.ts +0 -3
  127. package/src/components/card/CCardLink.ts +0 -1
  128. package/src/components/card/CCardSubtitle.ts +0 -1
  129. package/src/components/card/CCardText.ts +0 -1
  130. package/src/components/card/CCardTitle.ts +0 -1
  131. package/src/components/card/__tests__/__snapshots__/CCard.spec.ts.snap +2 -2
  132. package/src/components/card/__tests__/__snapshots__/CCardBody.spec.ts.snap +1 -1
  133. package/src/components/card/__tests__/__snapshots__/CCardFooter.spec.ts.snap +1 -1
  134. package/src/components/card/__tests__/__snapshots__/CCardGroup.spec.ts.snap +1 -1
  135. package/src/components/card/__tests__/__snapshots__/CCardHeader.spec.ts.snap +2 -2
  136. package/src/components/card/__tests__/__snapshots__/CCardImage.spec.ts.snap +2 -2
  137. package/src/components/card/__tests__/__snapshots__/CCardImageOverlay.spec.ts.snap +1 -1
  138. package/src/components/card/__tests__/__snapshots__/CCardLink.spec.ts.snap +1 -1
  139. package/src/components/card/__tests__/__snapshots__/CCardSubtitle.spec.ts.snap +2 -2
  140. package/src/components/card/__tests__/__snapshots__/CCardText.spec.ts.snap +2 -2
  141. package/src/components/card/__tests__/__snapshots__/CCardTitle.spec.ts.snap +2 -2
  142. package/src/components/carousel/CCarousel.ts +37 -40
  143. package/src/components/carousel/CCarouselItem.ts +0 -2
  144. package/src/components/carousel/__tests__/__snapshots__/CCarousel.spec.ts.snap +5 -5
  145. package/src/components/carousel/__tests__/__snapshots__/CCarouselCaption.spec.ts.snap +1 -1
  146. package/src/components/carousel/__tests__/__snapshots__/CCarouselItem.spec.ts.snap +2 -2
  147. package/src/components/close-button/CCloseButton.ts +2 -8
  148. package/src/components/close-button/__tests__/__snapshots__/CCloseButton.spec.ts.snap +2 -2
  149. package/src/components/collapse/CCollapse.ts +3 -9
  150. package/src/components/collapse/__test__/__snapshots__/CCollapse.spec.ts.snap +4 -4
  151. package/src/components/dropdown/CDropdown.ts +6 -21
  152. package/src/components/dropdown/CDropdownHeader.ts +0 -1
  153. package/src/components/dropdown/CDropdownItem.ts +3 -14
  154. package/src/components/dropdown/CDropdownMenu.ts +0 -1
  155. package/src/components/dropdown/CDropdownToggle.ts +8 -23
  156. package/src/components/dropdown/__tests__/__snapshots__/CDropdown.spec.ts.snap +2 -2
  157. package/src/components/dropdown/__tests__/__snapshots__/CDropdownDivider.spec.ts.snap +1 -1
  158. package/src/components/dropdown/__tests__/__snapshots__/CDropdownHeader.spec.ts.snap +2 -2
  159. package/src/components/dropdown/__tests__/__snapshots__/CDropdownItem.spec.ts.snap +2 -2
  160. package/src/components/dropdown/__tests__/__snapshots__/CDropdownMenu.spec.ts.snap +2 -2
  161. package/src/components/dropdown/__tests__/__snapshots__/CDropdownToggle.spec.ts.snap +2 -2
  162. package/src/components/footer/CFooter.ts +0 -2
  163. package/src/components/footer/__tests__/__snapshots__/CFooter.spec.ts.snap +2 -2
  164. package/src/components/form/CForm.ts +1 -4
  165. package/src/components/form/CFormCheck.ts +15 -24
  166. package/src/components/form/CFormControlValidation.ts +4 -12
  167. package/src/components/form/CFormControlWrapper.ts +4 -12
  168. package/src/components/form/CFormFeedback.ts +0 -1
  169. package/src/components/form/CFormInput.ts +11 -37
  170. package/src/components/form/CFormLabel.ts +1 -5
  171. package/src/components/form/CFormRange.ts +8 -30
  172. package/src/components/form/CFormSelect.ts +10 -39
  173. package/src/components/form/CFormSwitch.ts +12 -16
  174. package/src/components/form/CFormText.ts +0 -1
  175. package/src/components/form/CFormTextarea.ts +11 -34
  176. package/src/components/form/CInputGroup.ts +0 -2
  177. package/src/components/form/CInputGroupText.ts +0 -1
  178. package/src/components/form/__tests__/__snapshots__/CForm.spec.ts.snap +2 -2
  179. package/src/components/form/__tests__/__snapshots__/CFormCheck.spec.ts.snap +5 -5
  180. package/src/components/form/__tests__/__snapshots__/CFormFeedback.spec.ts.snap +3 -3
  181. package/src/components/form/__tests__/__snapshots__/CFormFloating.spec.ts.snap +1 -1
  182. package/src/components/form/__tests__/__snapshots__/CFormInput.spec.ts.snap +3 -3
  183. package/src/components/form/__tests__/__snapshots__/CFormLabel.spec.ts.snap +2 -2
  184. package/src/components/form/__tests__/__snapshots__/CFormRange.spec.ts.snap +2 -2
  185. package/src/components/form/__tests__/__snapshots__/CFormSelect.spec.ts.snap +2 -2
  186. package/src/components/form/__tests__/__snapshots__/CFormSwitch.spec.ts.snap +2 -2
  187. package/src/components/form/__tests__/__snapshots__/CFormText.spec.ts.snap +2 -2
  188. package/src/components/form/__tests__/__snapshots__/CFormTextarea.spec.ts.snap +2 -2
  189. package/src/components/form/__tests__/__snapshots__/CInputGroup.spec.ts.snap +2 -2
  190. package/src/components/form/__tests__/__snapshots__/CInputGroupText.spec.ts.snap +2 -2
  191. package/src/components/grid/CCol.ts +0 -12
  192. package/src/components/grid/CContainer.ts +6 -24
  193. package/src/components/grid/CRow.ts +11 -35
  194. package/src/components/grid/__tests__/__snapshots__/CCol.spec.ts.snap +2 -2
  195. package/src/components/grid/__tests__/__snapshots__/CContainer.spec.ts.snap +2 -2
  196. package/src/components/grid/__tests__/__snapshots__/CRow.spec.ts.snap +2 -2
  197. package/src/components/header/CHeader.ts +0 -4
  198. package/src/components/header/CHeaderBrand.ts +0 -1
  199. package/src/components/header/CHeaderNav.ts +0 -1
  200. package/src/components/header/__tests__/__snapshots__/CHeader.spec.ts.snap +3 -3
  201. package/src/components/header/__tests__/__snapshots__/CHeaderBrand.spec.ts.snap +2 -2
  202. package/src/components/header/__tests__/__snapshots__/CHeaderDivider.spec.ts.snap +1 -1
  203. package/src/components/header/__tests__/__snapshots__/CHeaderNav.spec.ts.snap +2 -2
  204. package/src/components/header/__tests__/__snapshots__/CHeaderText.spec.ts.snap +1 -1
  205. package/src/components/header/__tests__/__snapshots__/CHeaderToggler.spec.ts.snap +2 -2
  206. package/src/components/image/CImage.ts +3 -14
  207. package/src/components/image/__tests__/__snapshots__/CImage.spec.ts.snap +3 -3
  208. package/src/components/link/CLink.ts +3 -14
  209. package/src/components/link/__tests__/__snapshots__/CLink.spec.ts.snap +2 -2
  210. package/src/components/list-group/CListGroup.ts +1 -7
  211. package/src/components/list-group/CListGroupItem.ts +3 -10
  212. package/src/components/list-group/__tests__/__snapshots__/CListGroup.spec.ts.snap +2 -2
  213. package/src/components/list-group/__tests__/__snapshots__/CListGroupItem.spec.ts.snap +3 -3
  214. package/src/components/modal/CModal.ts +4 -11
  215. package/src/components/modal/CModalHeader.ts +0 -1
  216. package/src/components/modal/CModalTitle.ts +0 -1
  217. package/src/components/modal/__tests__/__snapshots__/CModal.spec.ts.snap +10 -10
  218. package/src/components/modal/__tests__/__snapshots__/CModalBody.spec.ts.snap +1 -1
  219. package/src/components/modal/__tests__/__snapshots__/CModalFooter.spec.ts.snap +1 -1
  220. package/src/components/modal/__tests__/__snapshots__/CModalHeader.spec.ts.snap +2 -2
  221. package/src/components/modal/__tests__/__snapshots__/CModalTitle.spec.ts.snap +2 -2
  222. package/src/components/nav/CNav.ts +0 -5
  223. package/src/components/nav/CNavGroup.ts +1 -1
  224. package/src/components/nav/CNavLink.ts +3 -14
  225. package/src/components/nav/__tests__/__snapshots__/CNav.spec.ts.snap +2 -2
  226. package/src/components/nav/__tests__/__snapshots__/CNavGroup.spec.ts.snap +5 -5
  227. package/src/components/nav/__tests__/__snapshots__/CNavGroupItems.spec.ts.snap +1 -1
  228. package/src/components/nav/__tests__/__snapshots__/CNavItem.spec.ts.snap +3 -3
  229. package/src/components/nav/__tests__/__snapshots__/CNavLink.spec.ts.snap +2 -2
  230. package/src/components/nav/__tests__/__snapshots__/CNavTitle.spec.ts.snap +1 -1
  231. package/src/components/navbar/CNavbar.ts +1 -10
  232. package/src/components/navbar/CNavbarBrand.ts +1 -6
  233. package/src/components/navbar/CNavbarNav.ts +0 -1
  234. package/src/components/navbar/__tests__/__snapshots__/CNavbar.spec.ts.snap +3 -3
  235. package/src/components/navbar/__tests__/__snapshots__/CNavbarBrand.spec.ts.snap +3 -3
  236. package/src/components/navbar/__tests__/__snapshots__/CNavbarNav.spec.ts.snap +2 -2
  237. package/src/components/navbar/__tests__/__snapshots__/CNavbarText.spec.ts.snap +1 -1
  238. package/src/components/navbar/__tests__/__snapshots__/CNavbarToggler.spec.ts.snap +2 -2
  239. package/src/components/offcanvas/COffcanvas.ts +11 -8
  240. package/src/components/offcanvas/COffcanvasTitle.ts +0 -1
  241. package/src/components/offcanvas/__tests__/__snapshots__/COffcanvas.spec.ts.snap +8 -8
  242. package/src/components/offcanvas/__tests__/__snapshots__/COffcanvasBody.spec.ts.snap +1 -1
  243. package/src/components/offcanvas/__tests__/__snapshots__/COffcanvasHeader.spec.ts.snap +1 -1
  244. package/src/components/offcanvas/__tests__/__snapshots__/COffcanvasTitle.spec.ts.snap +2 -2
  245. package/src/components/pagination/CPagination.ts +0 -4
  246. package/src/components/pagination/CPaginationItem.ts +4 -18
  247. package/src/components/pagination/__tests__/__snapshots__/CPagination.spec.ts.snap +2 -2
  248. package/src/components/pagination/__tests__/__snapshots__/CPaginationItem.spec.ts.snap +2 -2
  249. package/src/components/placeholder/CPlaceholder.ts +7 -36
  250. package/src/components/placeholder/__tests__/CPlaceholder.spec.ts +1 -1
  251. package/src/components/popover/CPopover.ts +3 -14
  252. package/src/components/progress/CProgress.ts +1 -5
  253. package/src/components/progress/CProgressBar.ts +2 -8
  254. package/src/components/progress/__tests__/__snapshots__/CProgress.spec.ts.snap +2 -2
  255. package/src/components/progress/__tests__/__snapshots__/CProgressBar.spec.ts.snap +2 -2
  256. package/src/components/props.ts +10 -8
  257. package/src/components/sidebar/CSidebar.ts +3 -11
  258. package/src/components/sidebar/__tests__/__snapshots__/CSidebar.spec.ts.snap +2 -2
  259. package/src/components/sidebar/__tests__/__snapshots__/CSidebarBrand.spec.ts.snap +1 -1
  260. package/src/components/sidebar/__tests__/__snapshots__/CSidebarFooter.spec.ts.snap +1 -1
  261. package/src/components/sidebar/__tests__/__snapshots__/CSidebarHeader.spec.ts.snap +1 -1
  262. package/src/components/sidebar/__tests__/__snapshots__/CSidebarNav.spec.ts.snap +1 -1
  263. package/src/components/sidebar/__tests__/__snapshots__/CSidebarToggler.spec.ts.snap +1 -1
  264. package/src/components/smart-table/CSmartTable.ts +7 -7
  265. package/src/components/spinner/CSpinner.ts +0 -7
  266. package/src/components/spinner/__tests__/__snapshots__/CSpinner.spec.ts.snap +2 -2
  267. package/src/components/table/CTable.ts +21 -93
  268. package/src/components/table/CTableBody.ts +1 -1
  269. package/src/components/table/CTableDataCell.ts +3 -11
  270. package/src/components/table/CTableFoot.ts +1 -1
  271. package/src/components/table/CTableHead.ts +1 -1
  272. package/src/components/table/CTableHeaderCell.ts +1 -1
  273. package/src/components/table/CTableRow.ts +2 -7
  274. package/src/components/table/__tests__/__snapshots__/CTable.spec.ts.snap +15 -3
  275. package/src/components/table/__tests__/__snapshots__/CTableBody.spec.ts.snap +2 -2
  276. package/src/components/table/__tests__/__snapshots__/CTableDataCell.spec.ts.snap +2 -2
  277. package/src/components/table/__tests__/__snapshots__/CTableFoot.spec.ts.snap +2 -2
  278. package/src/components/table/__tests__/__snapshots__/CTableHead.spec.ts.snap +2 -2
  279. package/src/components/table/__tests__/__snapshots__/CTableHeaderCell.spec.ts.snap +2 -2
  280. package/src/components/table/__tests__/__snapshots__/CTableRow.spec.ts.snap +2 -2
  281. package/src/components/table/types.ts +20 -0
  282. package/src/components/table/utils.ts +24 -0
  283. package/src/components/tabs/CTabPane.ts +1 -2
  284. package/src/components/tabs/__tests__/__snapshots__/CTabContent.spec.ts.snap +1 -1
  285. package/src/components/tabs/__tests__/__snapshots__/CTabPane.spec.ts.snap +4 -4
  286. package/src/components/toast/CToast.ts +48 -83
  287. package/src/components/toast/CToastClose.ts +1 -5
  288. package/src/components/toast/CToastHeader.ts +1 -4
  289. package/src/components/toast/CToaster.ts +0 -2
  290. package/src/components/toast/__tests__/CToast.spec.ts +3 -1
  291. package/src/components/toast/__tests__/__snapshots__/CToast.spec.ts.snap +4 -4
  292. package/src/components/toast/__tests__/__snapshots__/CToastBody.spec.ts.snap +1 -1
  293. package/src/components/toast/__tests__/__snapshots__/CToastClose.spec.ts.snap +2 -2
  294. package/src/components/toast/__tests__/__snapshots__/CToastHeader.spec.ts.snap +2 -2
  295. package/src/components/toast/__tests__/__snapshots__/CToaster.spec.ts.snap +2 -2
  296. package/src/components/tooltip/CTooltip.ts +2 -9
  297. package/src/components/widgets/CWidgetStatsA.ts +3 -12
  298. package/src/components/widgets/CWidgetStatsB.ts +8 -20
  299. package/src/components/widgets/CWidgetStatsC.ts +5 -14
  300. package/src/components/widgets/CWidgetStatsD.ts +4 -4
  301. package/src/components/widgets/CWidgetStatsE.ts +3 -8
  302. package/src/components/widgets/CWidgetStatsF.ts +6 -14
  303. package/src/components/widgets/__tests__/__snapshots__/CWidgetStatsA.spec.ts.snap +3 -3
  304. package/src/components/widgets/__tests__/__snapshots__/CWidgetStatsB.spec.ts.snap +6 -6
  305. package/src/components/widgets/__tests__/__snapshots__/CWidgetStatsC.spec.ts.snap +7 -7
  306. package/src/components/widgets/__tests__/__snapshots__/CWidgetStatsD.spec.ts.snap +10 -10
  307. package/src/components/widgets/__tests__/__snapshots__/CWidgetStatsE.spec.ts.snap +4 -4
  308. package/src/components/widgets/__tests__/__snapshots__/CWidgetStatsF.spec.ts.snap +6 -6
  309. package/src/props.ts +88 -0
  310. package/src/types.ts +54 -0
  311. package/dist/components/accordion/CAccordionCollapse.d.ts +0 -22
  312. package/dist/components/multi-select/CMultiSelect copy.d.ts +0 -305
  313. package/dist/components/pagination/CSmartPagination.d.ts +0 -257
  314. package/dist/utils/calendar.d.ts +0 -23
  315. package/dist/utils/getNextSibling.d.ts +0 -2
  316. package/dist/utils/getPreviousSibling.d.ts +0 -2
  317. package/dist/utils/isObjectInArray.d.ts +0 -2
  318. package/dist/utils/isVisible.d.ts +0 -2
  319. package/dist/utils/time.d.ts +0 -21
package/dist/index.js CHANGED
@@ -10,11 +10,7 @@ const CAccordion = vue.defineComponent({
10
10
  /**
11
11
  * The active item key.
12
12
  */
13
- activeItemKey: {
14
- type: [Number, String],
15
- default: undefined,
16
- require: false,
17
- },
13
+ activeItemKey: [Number, String],
18
14
  /**
19
15
  * Make accordion items stay open when another item is opened
20
16
  */
@@ -120,17 +116,11 @@ const CCollapse = vue.defineComponent({
120
116
  /**
121
117
  * Set horizontal collapsing to transition the width instead of height.
122
118
  */
123
- horizontal: {
124
- type: Boolean,
125
- required: false,
126
- },
119
+ horizontal: Boolean,
127
120
  /**
128
121
  * Toggle the visibility of component.
129
122
  */
130
- visible: {
131
- type: Boolean,
132
- required: false,
133
- },
123
+ visible: Boolean,
134
124
  },
135
125
  emits: [
136
126
  /**
@@ -245,16 +235,11 @@ const CAccordionItem = vue.defineComponent({
245
235
  /**
246
236
  * The item key.
247
237
  */
248
- itemKey: {
249
- type: [Number, String],
250
- default: undefined,
251
- require: false,
252
- },
238
+ itemKey: [Number, String]
253
239
  },
254
240
  setup(props, { slots }) {
255
241
  const activeItemKey = vue.inject('activeItemKey');
256
242
  const alwaysOpen = vue.inject('alwaysOpen');
257
- // eslint-disable-next-line no-unused-vars
258
243
  const setActiveItemKey = vue.inject('setActiveItemKey');
259
244
  const itemKey = vue.ref(props.itemKey ? props.itemKey : Math.random().toString(36).substr(2, 9));
260
245
  const visible = vue.ref(Boolean(activeItemKey.value === itemKey.value));
@@ -279,6 +264,54 @@ const CAccordionPlugin = {
279
264
  },
280
265
  };
281
266
 
267
+ const CCloseButton = vue.defineComponent({
268
+ name: 'CCloseButton',
269
+ props: {
270
+ /**
271
+ * Toggle the disabled state for the component.
272
+ */
273
+ disabled: Boolean,
274
+ /**
275
+ * Change the default color to white.
276
+ */
277
+ white: Boolean,
278
+ },
279
+ emits: [
280
+ /**
281
+ * Event called when the user clicks on the component.
282
+ */
283
+ 'click',
284
+ ],
285
+ setup(props, { emit }) {
286
+ const handleClick = () => {
287
+ if (props.disabled) {
288
+ return;
289
+ }
290
+ emit('click');
291
+ };
292
+ return () => vue.h('button', {
293
+ type: 'button',
294
+ class: [
295
+ 'btn',
296
+ 'btn-close',
297
+ {
298
+ ['btn-close-white']: props.white,
299
+ },
300
+ props.disabled,
301
+ ],
302
+ 'aria-label': 'Close',
303
+ disabled: props.disabled,
304
+ onClick: handleClick,
305
+ });
306
+ },
307
+ });
308
+
309
+ const CCloseButtonPlugin = {
310
+ install: (app) => {
311
+ app.component(CCloseButton.name, CCloseButton);
312
+ },
313
+ };
314
+
282
315
  const Shape = {
283
316
  type: String,
284
317
  validator: (value) => {
@@ -298,7 +331,7 @@ const Shape = {
298
331
  ].includes(value);
299
332
  },
300
333
  };
301
- const Color = {
334
+ const Color$1 = {
302
335
  type: String,
303
336
  validator: (value) => {
304
337
  // The value must match one of these strings
@@ -348,54 +381,6 @@ const TextColor = {
348
381
  },
349
382
  };
350
383
 
351
- const CCloseButton = vue.defineComponent({
352
- name: 'CCloseButton',
353
- props: {
354
- /**
355
- * Toggle the disabled state for the component.
356
- */
357
- disabled: {
358
- type: Boolean,
359
- required: false,
360
- },
361
- /**
362
- * Change the default color to white.
363
- */
364
- white: {
365
- type: Boolean,
366
- required: false,
367
- },
368
- },
369
- emits: [
370
- /**
371
- * Event called when the user clicks on the component.
372
- */
373
- 'click',
374
- ],
375
- setup(props, { emit }) {
376
- const handleClick = () => {
377
- if (props.disabled) {
378
- return;
379
- }
380
- emit('click');
381
- };
382
- return () => vue.h('button', {
383
- type: 'button',
384
- class: [
385
- 'btn',
386
- 'btn-close',
387
- {
388
- ['btn-close-white']: props.white,
389
- },
390
- props.disabled,
391
- ],
392
- 'aria-label': 'Close',
393
- disabled: props.disabled,
394
- onClick: handleClick,
395
- });
396
- },
397
- });
398
-
399
384
  const CAlert = vue.defineComponent({
400
385
  name: 'CAlert',
401
386
  props: {
@@ -404,15 +389,11 @@ const CAlert = vue.defineComponent({
404
389
  *
405
390
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
406
391
  */
407
- color: Color,
392
+ color: Color$1,
408
393
  /**
409
394
  * Optionally add a close button to alert and allow it to self dismisss.
410
395
  */
411
- dismissible: {
412
- type: Boolean,
413
- default: false,
414
- required: false,
415
- },
396
+ dismissible: Boolean,
416
397
  /**
417
398
  * Set the alert variant to a solid.
418
399
  *
@@ -420,8 +401,6 @@ const CAlert = vue.defineComponent({
420
401
  */
421
402
  variant: {
422
403
  type: String,
423
- default: undefined,
424
- required: false,
425
404
  validator: (value) => {
426
405
  return value === 'solid';
427
406
  },
@@ -432,7 +411,6 @@ const CAlert = vue.defineComponent({
432
411
  visible: {
433
412
  type: Boolean,
434
413
  default: true,
435
- required: false,
436
414
  },
437
415
  },
438
416
  emits: [
@@ -451,8 +429,6 @@ const CAlert = vue.defineComponent({
451
429
  emit('close');
452
430
  };
453
431
  return () => vue.h(vue.Transition, {
454
- name: 'fade',
455
- duration: 350,
456
432
  enterFromClass: '',
457
433
  enterActiveClass: 'fade',
458
434
  enterToClass: 'fade show',
@@ -492,7 +468,6 @@ const CAlertHeading = vue.defineComponent({
492
468
  component: {
493
469
  type: String,
494
470
  default: 'h4',
495
- required: false,
496
471
  },
497
472
  },
498
473
  setup(props, { slots }) {
@@ -527,7 +502,7 @@ const CAvatar = vue.defineComponent({
527
502
  *
528
503
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
529
504
  */
530
- color: Color,
505
+ color: Color$1,
531
506
  /**
532
507
  * Select the shape of the component.
533
508
  *
@@ -541,8 +516,6 @@ const CAvatar = vue.defineComponent({
541
516
  */
542
517
  size: {
543
518
  type: String,
544
- default: undefined,
545
- required: false,
546
519
  validator: (value) => {
547
520
  return ['sm', 'md', 'lg', 'xl'].includes(value);
548
521
  },
@@ -550,11 +523,7 @@ const CAvatar = vue.defineComponent({
550
523
  /**
551
524
  * The src attribute for the img element.
552
525
  */
553
- src: {
554
- type: String,
555
- default: undefined,
556
- required: false,
557
- },
526
+ src: String,
558
527
  /**
559
528
  * Sets the color context of the status indicator to one of CoreUI’s themed colors.
560
529
  *
@@ -562,8 +531,6 @@ const CAvatar = vue.defineComponent({
562
531
  */
563
532
  status: {
564
533
  type: String,
565
- default: undefined,
566
- required: false,
567
534
  validator: (value) => {
568
535
  return [
569
536
  'primary',
@@ -619,32 +586,16 @@ const CBackdrop = vue.defineComponent({
619
586
  visible: {
620
587
  type: Boolean,
621
588
  default: false,
622
- required: false,
623
589
  },
624
590
  },
625
591
  setup(props) {
626
- const handleBeforeEnter = (el) => {
627
- el.classList.remove('d-none');
628
- };
629
- const handleEnter = (el, done) => {
630
- executeAfterTransition(() => done(), el);
631
- setTimeout(() => {
632
- el.style.visibility = 'visible';
633
- el.classList.add('show');
634
- }, 1);
635
- };
636
- const handleLeave = (el, done) => {
637
- executeAfterTransition(() => done(), el);
638
- el.classList.remove('show');
639
- };
640
- const handleAfterLeave = (el) => {
641
- el.classList.add('d-none');
642
- };
643
592
  return () => vue.h(vue.Transition, {
644
- onBeforeEnter: (el) => handleBeforeEnter(el),
645
- onEnter: (el, done) => handleEnter(el, done),
646
- onLeave: (el, done) => handleLeave(el, done),
647
- onAfterLeave: (el) => handleAfterLeave(el),
593
+ onEnter: (el) => {
594
+ el.classList.add('show');
595
+ },
596
+ onLeave: (el) => {
597
+ el.classList.remove('show');
598
+ }
648
599
  }, () => props.visible &&
649
600
  vue.h('div', {
650
601
  class: 'fade',
@@ -666,13 +617,12 @@ const CBadge = vue.defineComponent({
666
617
  *
667
618
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
668
619
  */
669
- color: Color,
620
+ color: Color$1,
670
621
  /**
671
622
  * Component used for the root node. Either a string to use a HTML element or a component.
672
623
  */
673
624
  component: {
674
625
  type: String,
675
- required: false,
676
626
  default: 'span',
677
627
  },
678
628
  /**
@@ -682,8 +632,6 @@ const CBadge = vue.defineComponent({
682
632
  */
683
633
  position: {
684
634
  type: String,
685
- default: undefined,
686
- required: false,
687
635
  validator: (value) => {
688
636
  return ['top-start', 'top-end', 'bottom-end', 'bottom-start'].includes(value);
689
637
  },
@@ -701,8 +649,6 @@ const CBadge = vue.defineComponent({
701
649
  */
702
650
  size: {
703
651
  type: String,
704
- default: undefined,
705
- required: false,
706
652
  validator: (value) => {
707
653
  return value === 'sm';
708
654
  },
@@ -746,18 +692,11 @@ const CBreadcrumbItem = vue.defineComponent({
746
692
  /**
747
693
  * Toggle the active state for the component.
748
694
  */
749
- active: {
750
- type: Boolean,
751
- required: false,
752
- },
695
+ active: Boolean,
753
696
  /**
754
697
  * The `href` attribute for the inner link component.
755
698
  */
756
- href: {
757
- type: String,
758
- default: undefined,
759
- required: false,
760
- },
699
+ href: String,
761
700
  },
762
701
  setup(props, { slots }) {
763
702
  return () => vue.h('li', {
@@ -796,40 +735,28 @@ const CButton = vue.defineComponent({
796
735
  /**
797
736
  * Toggle the active state for the component.
798
737
  */
799
- active: {
800
- type: Boolean,
801
- default: false,
802
- required: false,
803
- },
738
+ active: Boolean,
804
739
  /**
805
740
  * Sets the color context of the component to one of CoreUI’s themed colors.
806
741
  *
807
742
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
808
743
  */
809
- color: Color,
744
+ color: Color$1,
810
745
  /**
811
746
  * Component used for the root node. Either a string to use a HTML element or a component.
812
747
  */
813
748
  component: {
814
749
  type: String,
815
750
  default: 'button',
816
- required: false,
817
751
  },
818
752
  /**
819
753
  * Toggle the disabled state for the component.
820
754
  */
821
- disabled: {
822
- type: Boolean,
823
- required: false,
824
- },
755
+ disabled: Boolean,
825
756
  /**
826
757
  * The href attribute specifies the URL of the page the link goes to.
827
758
  */
828
- href: {
829
- type: String,
830
- default: undefined,
831
- required: false,
832
- },
759
+ href: String,
833
760
  /**
834
761
  * Select the shape of the component.
835
762
  *
@@ -843,8 +770,6 @@ const CButton = vue.defineComponent({
843
770
  */
844
771
  size: {
845
772
  type: String,
846
- default: undefined,
847
- required: false,
848
773
  validator: (value) => {
849
774
  return ['sm', 'lg'].includes(value);
850
775
  },
@@ -858,7 +783,6 @@ const CButton = vue.defineComponent({
858
783
  type: {
859
784
  type: String,
860
785
  default: 'button',
861
- required: false,
862
786
  validator: (value) => {
863
787
  return ['button', 'submit', 'reset'].includes(value);
864
788
  },
@@ -870,8 +794,6 @@ const CButton = vue.defineComponent({
870
794
  */
871
795
  variant: {
872
796
  type: String,
873
- default: undefined,
874
- required: false,
875
797
  validator: (value) => {
876
798
  return ['ghost', 'outline'].includes(value);
877
799
  },
@@ -933,8 +855,6 @@ const CButtonGroup = vue.defineComponent({
933
855
  */
934
856
  size: {
935
857
  type: String,
936
- default: undefined,
937
- required: false,
938
858
  validator: (value) => {
939
859
  return ['sm', 'lg'].includes(value);
940
860
  },
@@ -942,10 +862,7 @@ const CButtonGroup = vue.defineComponent({
942
862
  /**
943
863
  * Create a set of buttons that appear vertically stacked rather than horizontally. Split button dropdowns are not supported here.
944
864
  */
945
- vertical: {
946
- type: Boolean,
947
- required: false,
948
- },
865
+ vertical: Boolean,
949
866
  },
950
867
  setup(props, { slots }) {
951
868
  return () => vue.h('div', {
@@ -1637,7 +1554,7 @@ const CCallout = vue.defineComponent({
1637
1554
  *
1638
1555
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
1639
1556
  */
1640
- color: Color,
1557
+ color: Color$1,
1641
1558
  },
1642
1559
  setup(props, { slots }) {
1643
1560
  return () => vue.h('div', {
@@ -1665,7 +1582,7 @@ const CCard = vue.defineComponent({
1665
1582
  *
1666
1583
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
1667
1584
  */
1668
- color: Color,
1585
+ color: Color$1,
1669
1586
  /**
1670
1587
  * Sets the text color context of the component to one of CoreUI’s themed colors.
1671
1588
  *
@@ -1715,7 +1632,6 @@ const CCardHeader = vue.defineComponent({
1715
1632
  */
1716
1633
  component: {
1717
1634
  type: String,
1718
- required: false,
1719
1635
  default: 'div',
1720
1636
  },
1721
1637
  },
@@ -1732,7 +1648,6 @@ const CCardImage = vue.defineComponent({
1732
1648
  */
1733
1649
  component: {
1734
1650
  type: String,
1735
- required: false,
1736
1651
  default: 'img',
1737
1652
  },
1738
1653
  /**
@@ -1742,8 +1657,6 @@ const CCardImage = vue.defineComponent({
1742
1657
  */
1743
1658
  orientation: {
1744
1659
  type: String,
1745
- default: undefined,
1746
- required: false,
1747
1660
  validator: (value) => {
1748
1661
  return ['top', 'bottom'].includes(value);
1749
1662
  },
@@ -1769,33 +1682,22 @@ const CLink = vue.defineComponent({
1769
1682
  /**
1770
1683
  * Toggle the active state for the component.
1771
1684
  */
1772
- active: {
1773
- type: Boolean,
1774
- required: false,
1775
- },
1685
+ active: Boolean,
1776
1686
  /**
1777
1687
  * Component used for the root node. Either a string to use a HTML element or a component.
1778
1688
  */
1779
1689
  component: {
1780
1690
  type: String,
1781
- required: false,
1782
1691
  default: 'a',
1783
1692
  },
1784
1693
  /**
1785
1694
  * Toggle the disabled state for the component.
1786
1695
  */
1787
- disabled: {
1788
- type: Boolean,
1789
- required: false,
1790
- },
1696
+ disabled: Boolean,
1791
1697
  /**
1792
1698
  * The href attribute specifies the URL of the page the link goes to.
1793
1699
  */
1794
- href: {
1795
- type: String,
1796
- default: undefined,
1797
- required: false,
1798
- },
1700
+ href: String,
1799
1701
  },
1800
1702
  emits: [
1801
1703
  /**
@@ -1834,7 +1736,6 @@ const CCardLink = vue.defineComponent({
1834
1736
  href: {
1835
1737
  type: String,
1836
1738
  default: '#',
1837
- required: false,
1838
1739
  },
1839
1740
  },
1840
1741
  setup(props, { slots }) {
@@ -1850,7 +1751,6 @@ const CCardSubtitle = vue.defineComponent({
1850
1751
  */
1851
1752
  component: {
1852
1753
  type: String,
1853
- required: false,
1854
1754
  default: 'h6',
1855
1755
  },
1856
1756
  },
@@ -1867,7 +1767,6 @@ const CCardText = vue.defineComponent({
1867
1767
  */
1868
1768
  component: {
1869
1769
  type: String,
1870
- required: false,
1871
1770
  default: 'p',
1872
1771
  },
1873
1772
  },
@@ -1884,7 +1783,6 @@ const CCardTitle = vue.defineComponent({
1884
1783
  */
1885
1784
  component: {
1886
1785
  type: String,
1887
- required: false,
1888
1786
  default: 'h5',
1889
1787
  },
1890
1788
  },
@@ -1934,7 +1832,6 @@ const CCarousel = vue.defineComponent({
1934
1832
  index: {
1935
1833
  type: Number,
1936
1834
  default: 0,
1937
- required: false,
1938
1835
  },
1939
1836
  /**
1940
1837
  * Adding indicators at the bottom of the carousel for each item.
@@ -1946,7 +1843,6 @@ const CCarousel = vue.defineComponent({
1946
1843
  interval: {
1947
1844
  type: [Boolean, Number],
1948
1845
  default: 5000,
1949
- required: false,
1950
1846
  },
1951
1847
  /**
1952
1848
  * If set to 'hover', pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on mouseleave. If set to false, hovering over the carousel won't pause it.
@@ -1954,7 +1850,6 @@ const CCarousel = vue.defineComponent({
1954
1850
  pause: {
1955
1851
  type: [Boolean, String],
1956
1852
  default: 'hover',
1957
- required: false,
1958
1853
  validator: (value) => {
1959
1854
  return typeof value === 'boolean' || value === 'hover';
1960
1855
  },
@@ -1967,7 +1862,6 @@ const CCarousel = vue.defineComponent({
1967
1862
  transition: {
1968
1863
  type: String,
1969
1864
  default: 'slide',
1970
- required: false,
1971
1865
  validator: (value) => {
1972
1866
  return ['crossfade', 'slide'].includes(value);
1973
1867
  },
@@ -1978,15 +1872,17 @@ const CCarousel = vue.defineComponent({
1978
1872
  wrap: {
1979
1873
  type: Boolean,
1980
1874
  default: true,
1981
- required: false,
1982
1875
  },
1983
1876
  },
1984
1877
  setup(props, { slots }) {
1985
1878
  const carouselRef = vue.ref();
1986
- const timeout = vue.ref();
1879
+ const active = vue.ref(props.index);
1987
1880
  const animating = vue.ref(false);
1988
- const visible = vue.ref();
1989
1881
  const customInterval = vue.ref(props.interval);
1882
+ const direction = vue.ref('next');
1883
+ const items = vue.ref([]);
1884
+ const timeout = vue.ref();
1885
+ const visible = vue.ref();
1990
1886
  const setAnimating = (value) => {
1991
1887
  animating.value = value;
1992
1888
  };
@@ -2002,27 +1898,16 @@ const CCarousel = vue.defineComponent({
2002
1898
  timeout.value = setTimeout(() => nextItemWhenVisible(), typeof customInterval.value === 'number' ? customInterval.value : props.interval);
2003
1899
  }
2004
1900
  };
2005
- const state = vue.reactive({
2006
- items: [],
2007
- active: props.index,
2008
- direction: 'next',
2009
- });
2010
- vue.onBeforeMount(() => {
2011
- if (slots.default) {
2012
- // @ts-expect-error TODO: fix types
2013
- state.items = slots.default().filter((child) => child.type.name === 'CCarouselItem');
2014
- }
2015
- });
2016
- const handleControlClick = (direction) => {
1901
+ const handleControlClick = (_direction) => {
2017
1902
  if (animating.value) {
2018
1903
  return;
2019
1904
  }
2020
- state.direction = direction;
2021
- if (direction === 'next') {
2022
- state.active === state.items.length - 1 ? (state.active = 0) : state.active++;
1905
+ direction.value = _direction;
1906
+ if (_direction === 'next') {
1907
+ active.value === items.value.length - 1 ? (active.value = 0) : active.value++;
2023
1908
  }
2024
1909
  else {
2025
- state.active === 0 ? (state.active = state.items.length - 1) : state.active--;
1910
+ active.value === 0 ? (active.value = items.value.length - 1) : active.value--;
2026
1911
  }
2027
1912
  };
2028
1913
  const nextItemWhenVisible = () => {
@@ -2033,17 +1918,17 @@ const CCarousel = vue.defineComponent({
2033
1918
  }
2034
1919
  };
2035
1920
  const handleIndicatorClick = (index) => {
2036
- if (state.active === index) {
1921
+ if (active.value === index) {
2037
1922
  return;
2038
1923
  }
2039
- if (state.active < index) {
2040
- state.direction = 'next';
2041
- state.active = index;
1924
+ if (active.value < index) {
1925
+ direction.value = 'next';
1926
+ active.value = index;
2042
1927
  return;
2043
1928
  }
2044
- if (state.active > index) {
2045
- state.direction = 'prev';
2046
- state.active = index;
1929
+ if (active.value > index) {
1930
+ direction.value = 'prev';
1931
+ active.value = index;
2047
1932
  }
2048
1933
  };
2049
1934
  const handleScroll = () => {
@@ -2054,6 +1939,15 @@ const CCarousel = vue.defineComponent({
2054
1939
  visible.value = false;
2055
1940
  }
2056
1941
  };
1942
+ vue.onBeforeMount(() => {
1943
+ if (slots.default) {
1944
+ const children = typeof slots.default()[0].type === 'symbol' ? slots.default()[0].children : slots.default();
1945
+ if (children && Array.isArray(children)) {
1946
+ // @ts-expect-error TODO: fix types
1947
+ items.value = children.filter((child) => child.type.name === 'CCarouselItem');
1948
+ }
1949
+ }
1950
+ });
2057
1951
  vue.onMounted(() => {
2058
1952
  window.addEventListener('scroll', handleScroll);
2059
1953
  });
@@ -2063,7 +1957,7 @@ const CCarousel = vue.defineComponent({
2063
1957
  !animating.value && cycle();
2064
1958
  return;
2065
1959
  }
2066
- if (!props.wrap && state.active < state.items.length - 1) {
1960
+ if (!props.wrap && active.value < items.value.length - 1) {
2067
1961
  !animating.value && cycle();
2068
1962
  }
2069
1963
  });
@@ -2084,19 +1978,19 @@ const CCarousel = vue.defineComponent({
2084
1978
  props.indicators &&
2085
1979
  vue.h('div', {
2086
1980
  class: 'carousel-indicators',
2087
- }, state.items.map((_, index) => {
1981
+ }, items.value.map((_, index) => {
2088
1982
  return vue.h('button', {
2089
1983
  type: 'button',
2090
1984
  id: index,
2091
1985
  'data-coreui-target': '',
2092
- ...(state.active === index && { class: 'active' }),
1986
+ ...(active.value === index && { class: 'active' }),
2093
1987
  onClick: () => handleIndicatorClick(index),
2094
1988
  });
2095
1989
  })),
2096
- vue.h('div', { class: 'carousel-inner' }, state.items.map((item, index) => {
1990
+ vue.h('div', { class: 'carousel-inner' }, items.value.map((item, index) => {
2097
1991
  return vue.h(item, {
2098
- active: state.active === index ? true : false,
2099
- direction: state.direction,
1992
+ active: active.value === index ? true : false,
1993
+ direction: direction.value,
2100
1994
  });
2101
1995
  })),
2102
1996
  props.controls && [
@@ -2148,7 +2042,6 @@ const CCarouselItem = vue.defineComponent({
2148
2042
  direction: {
2149
2043
  type: String,
2150
2044
  default: 'next',
2151
- required: false,
2152
2045
  },
2153
2046
  /**
2154
2047
  * The amount of time to delay between automatically cycling an item.
@@ -2156,7 +2049,6 @@ const CCarouselItem = vue.defineComponent({
2156
2049
  interval: {
2157
2050
  type: [Boolean, Number],
2158
2051
  default: false,
2159
- required: false,
2160
2052
  },
2161
2053
  },
2162
2054
  setup(props, { slots }) {
@@ -2218,12 +2110,6 @@ const CCarouselPlugin = {
2218
2110
  },
2219
2111
  };
2220
2112
 
2221
- const CCloseButtonPlugin = {
2222
- install: (app) => {
2223
- app.component(CCloseButton.name, CCloseButton);
2224
- },
2225
- };
2226
-
2227
2113
  const CCollapsePlugin = {
2228
2114
  install: (app) => {
2229
2115
  app.component(CCollapse.name, CCollapse);
@@ -4591,10 +4477,7 @@ const CForm = vue.defineComponent({
4591
4477
  /**
4592
4478
  * Mark a form as validated. If you set it `true`, all validation styles will be applied to the forms component.
4593
4479
  */
4594
- validated: {
4595
- type: Boolean,
4596
- required: false,
4597
- },
4480
+ validated: Boolean,
4598
4481
  },
4599
4482
  setup(props, { slots }) {
4600
4483
  return () => vue.h('form', { class: [{ ['was-validated']: props.validated }] }, slots.default && slots.default());
@@ -4609,7 +4492,6 @@ const CFormFeedback = vue.defineComponent({
4609
4492
  */
4610
4493
  component: {
4611
4494
  type: String,
4612
- required: false,
4613
4495
  default: 'div',
4614
4496
  },
4615
4497
  /**
@@ -4644,33 +4526,25 @@ const CFormControlValidation = vue.defineComponent({
4644
4526
  /**
4645
4527
  * @ignore
4646
4528
  */
4647
- describedby: {
4648
- type: String,
4649
- },
4529
+ describedby: String,
4650
4530
  /**
4651
4531
  * Provide valuable, actionable feedback.
4652
4532
  *
4653
4533
  * @since 4.3.0
4654
4534
  */
4655
- feedback: {
4656
- type: String,
4657
- },
4535
+ feedback: String,
4658
4536
  /**
4659
4537
  * Provide valuable, actionable feedback.
4660
4538
  *
4661
4539
  * @since 4.3.0
4662
4540
  */
4663
- feedbackInvalid: {
4664
- type: String,
4665
- },
4541
+ feedbackInvalid: String,
4666
4542
  /**
4667
4543
  * Provide valuable, actionable invalid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.
4668
4544
  *
4669
4545
  * @since 4.3.0
4670
4546
  */
4671
- feedbackValid: {
4672
- type: String,
4673
- },
4547
+ feedbackValid: String,
4674
4548
  /**
4675
4549
  * Set component validation state to invalid.
4676
4550
  */
@@ -4723,11 +4597,7 @@ const CFormLabel = vue.defineComponent({
4723
4597
  /**
4724
4598
  * A string of all className you want to be applied to the component, and override standard className value.
4725
4599
  */
4726
- customClassName: {
4727
- type: [Array, String],
4728
- default: undefined,
4729
- required: false,
4730
- },
4600
+ customClassName: [Array, String],
4731
4601
  },
4732
4602
  setup(props, { slots }) {
4733
4603
  return () => vue.h('label', {
@@ -4745,33 +4615,25 @@ const CFormCheck = vue.defineComponent({
4745
4615
  *
4746
4616
  * @see http://coreui.io/vue/docs/components/button.html
4747
4617
  */
4748
- button: {
4749
- type: Object,
4750
- },
4618
+ button: Object,
4751
4619
  /**
4752
4620
  * Provide valuable, actionable feedback.
4753
4621
  *
4754
4622
  * @since 4.3.0
4755
4623
  */
4756
- feedback: {
4757
- type: String,
4758
- },
4624
+ feedback: String,
4759
4625
  /**
4760
4626
  * Provide valuable, actionable feedback.
4761
4627
  *
4762
4628
  * @since 4.3.0
4763
4629
  */
4764
- feedbackInvalid: {
4765
- type: String,
4766
- },
4630
+ feedbackInvalid: String,
4767
4631
  /**
4768
4632
  * Provide valuable, actionable invalid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.
4769
4633
  *
4770
4634
  * @since 4.3.0
4771
4635
  */
4772
- feedbackValid: {
4773
- type: String,
4774
- },
4636
+ feedbackValid: String,
4775
4637
  /**
4776
4638
  * Sets hit area to the full area of the component.
4777
4639
  */
@@ -4785,9 +4647,7 @@ const CFormCheck = vue.defineComponent({
4785
4647
  /**
4786
4648
  * The id global attribute defines an identifier (ID) that must be unique in the whole document.
4787
4649
  */
4788
- id: {
4789
- type: String,
4790
- },
4650
+ id: String,
4791
4651
  /**
4792
4652
  * Input Checkbox indeterminate Property
4793
4653
  */
@@ -4795,9 +4655,7 @@ const CFormCheck = vue.defineComponent({
4795
4655
  /**
4796
4656
  * Group checkboxes or radios on the same horizontal row by adding.
4797
4657
  */
4798
- inline: {
4799
- type: Boolean,
4800
- },
4658
+ inline: Boolean,
4801
4659
  /**
4802
4660
  * Set component validation state to invalid.
4803
4661
  */
@@ -4805,9 +4663,7 @@ const CFormCheck = vue.defineComponent({
4805
4663
  /**
4806
4664
  * The element represents a caption for a component.
4807
4665
  */
4808
- label: {
4809
- type: String,
4810
- },
4666
+ label: String,
4811
4667
  /**
4812
4668
  * The default name for a value passed using v-model.
4813
4669
  */
@@ -4815,6 +4671,12 @@ const CFormCheck = vue.defineComponent({
4815
4671
  type: [Boolean, String],
4816
4672
  value: undefined,
4817
4673
  },
4674
+ /**
4675
+ * Put checkboxes or radios on the opposite side.
4676
+ *
4677
+ * @sinve 4.8.0
4678
+ */
4679
+ reverse: Boolean,
4818
4680
  /**
4819
4681
  * Display validation feedback in a styled tooltip.
4820
4682
  *
@@ -4833,9 +4695,7 @@ const CFormCheck = vue.defineComponent({
4833
4695
  /**
4834
4696
  * Set component validation state to valid.
4835
4697
  */
4836
- valid: {
4837
- type: Boolean,
4838
- },
4698
+ valid: Boolean,
4839
4699
  },
4840
4700
  emits: [
4841
4701
  /**
@@ -4857,6 +4717,7 @@ const CFormCheck = vue.defineComponent({
4857
4717
  'form-check',
4858
4718
  {
4859
4719
  'form-check-inline': props.inline,
4720
+ 'form-check-reverse': props.reverse,
4860
4721
  'is-invalid': props.invalid,
4861
4722
  'is-valid': props.valid,
4862
4723
  },
@@ -4938,7 +4799,6 @@ const CFormText = vue.defineComponent({
4938
4799
  */
4939
4800
  component: {
4940
4801
  type: String,
4941
- required: false,
4942
4802
  default: 'div',
4943
4803
  },
4944
4804
  },
@@ -4957,31 +4817,23 @@ const CFormControlWrapper = vue.defineComponent({
4957
4817
  *
4958
4818
  * @since 4.3.0
4959
4819
  */
4960
- floatingLabel: {
4961
- type: String,
4962
- },
4820
+ floatingLabel: String,
4963
4821
  /**
4964
4822
  * @ignore
4965
4823
  */
4966
- id: {
4967
- type: String,
4968
- },
4824
+ id: String,
4969
4825
  /**
4970
4826
  * Add a caption for a component.
4971
4827
  *
4972
4828
  * @since 4.3.0
4973
4829
  */
4974
- label: {
4975
- type: String,
4976
- },
4830
+ label: String,
4977
4831
  /**
4978
4832
  * Add helper text to the component.
4979
4833
  *
4980
4834
  * @since 4.3.0
4981
4835
  */
4982
- text: {
4983
- type: String,
4984
- },
4836
+ text: String,
4985
4837
  },
4986
4838
  setup(props, { slots }) {
4987
4839
  const formControlValidation = () => vue.h(CFormControlValidation, {
@@ -5045,49 +4897,36 @@ const CFormInput = vue.defineComponent({
5045
4897
  /**
5046
4898
  * Toggle the disabled state for the component.
5047
4899
  */
5048
- disabled: {
5049
- type: Boolean,
5050
- required: false,
5051
- },
4900
+ disabled: Boolean,
5052
4901
  // Inherited Props from CFormControlWrapper
5053
4902
  /**
5054
4903
  * Provide valuable, actionable feedback.
5055
4904
  *
5056
4905
  * @since 4.3.0
5057
4906
  */
5058
- feedback: {
5059
- type: String,
5060
- },
4907
+ feedback: String,
5061
4908
  /**
5062
4909
  * Provide valuable, actionable feedback.
5063
4910
  *
5064
4911
  * @since 4.3.0
5065
4912
  */
5066
- feedbackInvalid: {
5067
- type: String,
5068
- },
4913
+ feedbackInvalid: String,
5069
4914
  /**
5070
4915
  * Provide valuable, actionable invalid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.
5071
4916
  *
5072
4917
  * @since 4.3.0
5073
4918
  */
5074
- feedbackValid: {
5075
- type: String,
5076
- },
4919
+ feedbackValid: String,
5077
4920
  /**
5078
4921
  * Provide valuable, actionable valid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.
5079
4922
  *
5080
4923
  * @since 4.3.0
5081
4924
  */
5082
- floatingLabel: {
5083
- type: String,
5084
- },
4925
+ floatingLabel: String,
5085
4926
  /**
5086
4927
  * The id global attribute defines an identifier (ID) that must be unique in the whole document.
5087
4928
  */
5088
- id: {
5089
- type: String,
5090
- },
4929
+ id: String,
5091
4930
  /**
5092
4931
  * Set component validation state to invalid.
5093
4932
  */
@@ -5097,30 +4936,19 @@ const CFormInput = vue.defineComponent({
5097
4936
  *
5098
4937
  * @since 4.3.0
5099
4938
  */
5100
- label: {
5101
- type: String,
5102
- },
4939
+ label: String,
5103
4940
  /**
5104
4941
  * The default name for a value passed using v-model.
5105
4942
  */
5106
- modelValue: {
5107
- type: [File, Number, String],
5108
- default: undefined,
5109
- },
4943
+ modelValue: [File, Number, String],
5110
4944
  /**
5111
4945
  * Render the component styled as plain text. Removes the default form field styling and preserve the correct margin and padding. Recommend to use only along side `readonly`.
5112
4946
  */
5113
- plainText: {
5114
- type: Boolean,
5115
- required: false,
5116
- },
4947
+ plainText: Boolean,
5117
4948
  /**
5118
4949
  * Toggle the readonly state for the component.
5119
4950
  */
5120
- readonly: {
5121
- type: Boolean,
5122
- required: false,
5123
- },
4951
+ readonly: Boolean,
5124
4952
  /**
5125
4953
  * Size the component small or large.
5126
4954
  *
@@ -5137,9 +4965,7 @@ const CFormInput = vue.defineComponent({
5137
4965
  *
5138
4966
  * @since 4.3.0
5139
4967
  */
5140
- text: {
5141
- type: String,
5142
- },
4968
+ text: String,
5143
4969
  /**
5144
4970
  * Display validation feedback in a styled tooltip.
5145
4971
  *
@@ -5237,61 +5063,39 @@ const CFormRange = vue.defineComponent({
5237
5063
  /**
5238
5064
  * Toggle the disabled state for the component.
5239
5065
  */
5240
- disabled: {
5241
- type: Boolean,
5242
- default: undefined,
5243
- },
5066
+ disabled: Boolean,
5244
5067
  /**
5245
5068
  * Add a caption for a component.
5246
5069
  *
5247
5070
  * @since 4.3.0
5248
5071
  */
5249
- label: {
5250
- type: String,
5251
- },
5072
+ label: String,
5252
5073
  /**
5253
5074
  * Specifies the maximum value for the component.
5254
5075
  */
5255
- max: {
5256
- type: Number,
5257
- default: undefined,
5258
- },
5076
+ max: Number,
5259
5077
  /**
5260
5078
  * Specifies the minimum value for the component.
5261
5079
  */
5262
- min: {
5263
- type: Number,
5264
- default: undefined,
5265
- },
5080
+ min: Number,
5266
5081
  /**
5267
5082
  * The default name for a value passed using v-model.
5268
5083
  */
5269
- modelValue: {
5270
- type: String,
5271
- value: undefined,
5272
- },
5084
+ modelValue: String,
5273
5085
  /**
5274
5086
  * Toggle the readonly state for the component.
5275
5087
  */
5276
- readonly: {
5277
- type: Boolean,
5278
- },
5088
+ readonly: Boolean,
5279
5089
  /**
5280
5090
  * Specifies the interval between legal numbers in the component.
5281
5091
  */
5282
- steps: {
5283
- type: Number,
5284
- default: undefined,
5285
- },
5092
+ steps: Number,
5286
5093
  /**
5287
5094
  * The `value` attribute of component.
5288
5095
  *
5289
5096
  * @controllable onChange
5290
5097
  * */
5291
- value: {
5292
- type: Number,
5293
- default: undefined,
5294
- },
5098
+ value: Number,
5295
5099
  },
5296
5100
  emits: [
5297
5101
  /**
@@ -5340,47 +5144,33 @@ const CFormSelect = vue.defineComponent({
5340
5144
  *
5341
5145
  * @since 4.3.0
5342
5146
  */
5343
- feedback: {
5344
- type: String,
5345
- },
5147
+ feedback: String,
5346
5148
  /**
5347
5149
  * Provide valuable, actionable feedback.
5348
5150
  *
5349
5151
  * @since 4.3.0
5350
5152
  */
5351
- feedbackInvalid: {
5352
- type: String,
5353
- },
5153
+ feedbackInvalid: String,
5354
5154
  /**
5355
5155
  * Provide valuable, actionable invalid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.
5356
5156
  *
5357
5157
  * @since 4.3.0
5358
5158
  */
5359
- feedbackValid: {
5360
- type: String,
5361
- },
5159
+ feedbackValid: String,
5362
5160
  /**
5363
5161
  * Provide valuable, actionable valid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.
5364
5162
  *
5365
5163
  * @since 4.3.0
5366
5164
  */
5367
- floatingLabel: {
5368
- type: String,
5369
- },
5165
+ floatingLabel: String,
5370
5166
  /**
5371
5167
  * Specifies the number of visible options in a drop-down list.
5372
5168
  */
5373
- htmlSize: {
5374
- type: Number,
5375
- default: undefined,
5376
- required: false,
5377
- },
5169
+ htmlSize: Number,
5378
5170
  /**
5379
5171
  * The id global attribute defines an identifier (ID) that must be unique in the whole document.
5380
5172
  */
5381
- id: {
5382
- type: String,
5383
- },
5173
+ id: String,
5384
5174
  /**
5385
5175
  * Set component validation state to invalid.
5386
5176
  */
@@ -5390,32 +5180,21 @@ const CFormSelect = vue.defineComponent({
5390
5180
  *
5391
5181
  * @since 4.3.0
5392
5182
  */
5393
- label: {
5394
- type: String,
5395
- },
5183
+ label: String,
5396
5184
  /**
5397
5185
  * The default name for a value passed using v-model.
5398
5186
  */
5399
5187
  modelValue: {
5400
5188
  type: [String, Array],
5401
- default: undefined,
5402
- require: false,
5403
- },
5404
- multiple: {
5405
- type: Boolean,
5406
- required: false,
5407
5189
  },
5190
+ multiple: Boolean,
5408
5191
  /**
5409
5192
  * Options list of the select component. Available keys: `label`, `value`, `disabled`.
5410
5193
  * Examples:
5411
5194
  * - `:options="[{ value: 'js', label: 'JavaScript' }, { value: 'html', label: 'HTML', disabled: true }]"`
5412
5195
  * - `:options="['js', 'html']"`
5413
5196
  */
5414
- options: {
5415
- type: Array,
5416
- default: undefined,
5417
- required: false,
5418
- },
5197
+ options: Array,
5419
5198
  /**
5420
5199
  * Size the component small or large.
5421
5200
  *
@@ -5423,8 +5202,6 @@ const CFormSelect = vue.defineComponent({
5423
5202
  */
5424
5203
  size: {
5425
5204
  type: String,
5426
- default: undefined,
5427
- require: false,
5428
5205
  validator: (value) => {
5429
5206
  return ['sm', 'lg'].includes(value);
5430
5207
  },
@@ -5434,9 +5211,7 @@ const CFormSelect = vue.defineComponent({
5434
5211
  *
5435
5212
  * @since 4.3.0
5436
5213
  */
5437
- text: {
5438
- type: String,
5439
- },
5214
+ text: String,
5440
5215
  /**
5441
5216
  * Display validation feedback in a styled tooltip.
5442
5217
  *
@@ -5532,28 +5307,25 @@ const CFormSwitch = vue.defineComponent({
5532
5307
  /**
5533
5308
  * The id global attribute defines an identifier (ID) that must be unique in the whole document
5534
5309
  */
5535
- id: {
5536
- type: String,
5537
- },
5310
+ id: String,
5538
5311
  /**
5539
5312
  * Set component validation state to invalid.
5540
5313
  */
5541
- invalid: {
5542
- type: Boolean,
5543
- },
5314
+ invalid: Boolean,
5544
5315
  /**
5545
5316
  * The element represents a caption for a component.
5546
5317
  */
5547
- label: {
5548
- type: String,
5549
- },
5318
+ label: String,
5550
5319
  /**
5551
5320
  * The default name for a value passed using v-model.
5552
5321
  */
5553
- modelValue: {
5554
- type: [Boolean, String],
5555
- value: undefined,
5556
- },
5322
+ modelValue: [Boolean, String],
5323
+ /**
5324
+ * Put checkboxes or radios on the opposite side.
5325
+ *
5326
+ * @sinve 4.8.0
5327
+ */
5328
+ reverse: Boolean,
5557
5329
  /**
5558
5330
  * Size the component large or extra large. Works only with `switch`.
5559
5331
  *
@@ -5577,9 +5349,7 @@ const CFormSwitch = vue.defineComponent({
5577
5349
  /**
5578
5350
  * Set component validation state to valid.
5579
5351
  */
5580
- valid: {
5581
- type: Boolean,
5582
- },
5352
+ valid: Boolean,
5583
5353
  },
5584
5354
  emits: [
5585
5355
  /**
@@ -5601,6 +5371,7 @@ const CFormSwitch = vue.defineComponent({
5601
5371
  class: [
5602
5372
  'form-check form-switch',
5603
5373
  {
5374
+ 'form-check-reverse': props.reverse,
5604
5375
  [`form-switch-${props.size}`]: props.size,
5605
5376
  'is-invalid': props.invalid,
5606
5377
  'is-valid': props.valid,
@@ -5638,47 +5409,35 @@ const CFormTextarea = vue.defineComponent({
5638
5409
  /**
5639
5410
  * Toggle the disabled state for the component.
5640
5411
  */
5641
- disabled: {
5642
- type: Boolean,
5643
- },
5412
+ disabled: Boolean,
5644
5413
  /**
5645
5414
  * Provide valuable, actionable feedback.
5646
5415
  *
5647
5416
  * @since 4.3.0
5648
5417
  */
5649
- feedback: {
5650
- type: String,
5651
- },
5418
+ feedback: String,
5652
5419
  /**
5653
5420
  * Provide valuable, actionable feedback.
5654
5421
  *
5655
5422
  * @since 4.3.0
5656
5423
  */
5657
- feedbackInvalid: {
5658
- type: String,
5659
- },
5424
+ feedbackInvalid: String,
5660
5425
  /**
5661
5426
  * Provide valuable, actionable invalid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.
5662
5427
  *
5663
5428
  * @since 4.3.0
5664
5429
  */
5665
- feedbackValid: {
5666
- type: String,
5667
- },
5430
+ feedbackValid: String,
5668
5431
  /**
5669
5432
  * Provide valuable, actionable valid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.
5670
5433
  *
5671
5434
  * @since 4.3.0
5672
5435
  */
5673
- floatingLabel: {
5674
- type: String,
5675
- },
5436
+ floatingLabel: String,
5676
5437
  /**
5677
5438
  * The id global attribute defines an identifier (ID) that must be unique in the whole document.
5678
5439
  */
5679
- id: {
5680
- type: String,
5681
- },
5440
+ id: String,
5682
5441
  /**
5683
5442
  * Set component validation state to invalid.
5684
5443
  */
@@ -5688,36 +5447,25 @@ const CFormTextarea = vue.defineComponent({
5688
5447
  *
5689
5448
  * @since 4.3.0
5690
5449
  */
5691
- label: {
5692
- type: String,
5693
- },
5450
+ label: String,
5694
5451
  /**
5695
5452
  * The default name for a value passed using v-model.
5696
5453
  */
5697
- modelValue: {
5698
- type: String,
5699
- default: undefined,
5700
- },
5454
+ modelValue: String,
5701
5455
  /**
5702
5456
  * Render the component styled as plain text. Removes the default form field styling and preserve the correct margin and padding. Recommend to use only along side `readonly`.
5703
5457
  */
5704
- plainText: {
5705
- type: Boolean,
5706
- },
5458
+ plainText: Boolean,
5707
5459
  /**
5708
5460
  * Toggle the readonly state for the component.
5709
5461
  */
5710
- readonly: {
5711
- type: Boolean,
5712
- },
5462
+ readonly: Boolean,
5713
5463
  /**
5714
5464
  * Add helper text to the component.
5715
5465
  *
5716
5466
  * @since 4.3.0
5717
5467
  */
5718
- text: {
5719
- type: String,
5720
- },
5468
+ text: String,
5721
5469
  /**
5722
5470
  * Display validation feedback in a styled tooltip.
5723
5471
  *
@@ -5806,8 +5554,6 @@ const CInputGroup = vue.defineComponent({
5806
5554
  */
5807
5555
  size: {
5808
5556
  type: String,
5809
- default: undefined,
5810
- required: false,
5811
5557
  validator: (value) => {
5812
5558
  return ['sm', 'lg'].includes(value);
5813
5559
  },
@@ -5833,7 +5579,6 @@ const CInputGroupText = vue.defineComponent({
5833
5579
  */
5834
5580
  component: {
5835
5581
  type: String,
5836
- required: false,
5837
5582
  default: 'span',
5838
5583
  },
5839
5584
  },
@@ -7845,8 +7590,6 @@ const CDropdown = vue.defineComponent({
7845
7590
  */
7846
7591
  alignment: {
7847
7592
  type: [String, Object],
7848
- default: undefined,
7849
- required: false,
7850
7593
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
7851
7594
  validator: (value) => {
7852
7595
  if (value === 'start' || value === 'end') {
@@ -7892,10 +7635,7 @@ const CDropdown = vue.defineComponent({
7892
7635
  /**
7893
7636
  * Sets a darker color scheme to match a dark navbar.
7894
7637
  */
7895
- dark: {
7896
- type: Boolean,
7897
- required: false,
7898
- },
7638
+ dark: Boolean,
7899
7639
  /**
7900
7640
  * Sets a specified direction and location of the dropdown menu.
7901
7641
  *
@@ -7903,8 +7643,6 @@ const CDropdown = vue.defineComponent({
7903
7643
  */
7904
7644
  direction: {
7905
7645
  type: String,
7906
- default: undefined,
7907
- required: false,
7908
7646
  validator: (value) => {
7909
7647
  return ['center', 'dropup', 'dropup-center', 'dropend', 'dropstart'].includes(value);
7910
7648
  },
@@ -7912,10 +7650,7 @@ const CDropdown = vue.defineComponent({
7912
7650
  /**
7913
7651
  * Toggle the disabled state for the component.
7914
7652
  */
7915
- disabled: {
7916
- type: Boolean,
7917
- required: false,
7918
- },
7653
+ disabled: Boolean,
7919
7654
  /**
7920
7655
  * 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.
7921
7656
  *
@@ -7924,7 +7659,6 @@ const CDropdown = vue.defineComponent({
7924
7659
  placement: {
7925
7660
  type: String,
7926
7661
  default: 'bottom-start',
7927
- required: false,
7928
7662
  },
7929
7663
  /**
7930
7664
  * If you want to disable dynamic positioning set this property to `true`.
@@ -7932,14 +7666,12 @@ const CDropdown = vue.defineComponent({
7932
7666
  popper: {
7933
7667
  type: Boolean,
7934
7668
  default: true,
7935
- required: false,
7936
7669
  },
7937
7670
  /**
7938
7671
  * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.
7939
7672
  */
7940
7673
  trigger: {
7941
- type: [String, Array],
7942
- required: false,
7674
+ type: String,
7943
7675
  default: 'click',
7944
7676
  },
7945
7677
  /**
@@ -7950,7 +7682,6 @@ const CDropdown = vue.defineComponent({
7950
7682
  variant: {
7951
7683
  type: String,
7952
7684
  default: 'btn-group',
7953
- required: false,
7954
7685
  validator: (value) => {
7955
7686
  return ['btn-group', 'dropdown', 'input-group', 'nav-item'].includes(value);
7956
7687
  },
@@ -7958,10 +7689,7 @@ const CDropdown = vue.defineComponent({
7958
7689
  /**
7959
7690
  * Toggle the visibility of dropdown menu component.
7960
7691
  */
7961
- visible: {
7962
- type: Boolean,
7963
- required: false,
7964
- },
7692
+ visible: Boolean,
7965
7693
  },
7966
7694
  emits: [
7967
7695
  /**
@@ -8074,33 +7802,22 @@ const CDropdownItem = vue.defineComponent({
8074
7802
  /**
8075
7803
  * Toggle the active state for the component.
8076
7804
  */
8077
- active: {
8078
- type: Boolean,
8079
- required: false,
8080
- },
7805
+ active: Boolean,
8081
7806
  /**
8082
7807
  * Component used for the root node. Either a string to use a HTML element or a component.
8083
7808
  */
8084
7809
  component: {
8085
7810
  type: String,
8086
7811
  default: 'a',
8087
- required: false,
8088
7812
  },
8089
7813
  /**
8090
7814
  * Toggle the disabled state for the component.
8091
7815
  */
8092
- disabled: {
8093
- type: Boolean,
8094
- required: false,
8095
- },
7816
+ disabled: Boolean,
8096
7817
  /**
8097
7818
  * The href attribute specifies the URL of the page the link goes to.
8098
7819
  */
8099
- href: {
8100
- type: String,
8101
- default: undefined,
8102
- required: false,
8103
- },
7820
+ href: String,
8104
7821
  },
8105
7822
  setup(props, { slots }) {
8106
7823
  return () => vue.h(CLink, {
@@ -8124,7 +7841,6 @@ const CDropdownHeader = vue.defineComponent({
8124
7841
  component: {
8125
7842
  type: String,
8126
7843
  default: 'h6',
8127
- required: false,
8128
7844
  },
8129
7845
  },
8130
7846
  setup(props, { slots }) {
@@ -8154,7 +7870,6 @@ const CDropdownMenu = vue.defineComponent({
8154
7870
  component: {
8155
7871
  type: String,
8156
7872
  default: 'div',
8157
- required: false,
8158
7873
  },
8159
7874
  },
8160
7875
  setup(props, { slots }) {
@@ -8232,32 +7947,26 @@ const CDropdownToggle = vue.defineComponent({
8232
7947
  /**
8233
7948
  * Toggle the active state for the component.
8234
7949
  */
8235
- active: {
8236
- type: Boolean,
8237
- default: false,
8238
- required: false,
8239
- },
7950
+ active: Boolean,
8240
7951
  /**
8241
7952
  * Sets the color context of the component to one of CoreUI’s themed colors.
8242
7953
  *
8243
7954
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
8244
7955
  */
8245
- color: Color,
7956
+ color: Color$1,
8246
7957
  /**
8247
7958
  * Enables pseudo element caret on toggler.
8248
7959
  */
8249
7960
  caret: {
8250
7961
  type: Boolean,
8251
7962
  default: true,
8252
- required: false,
8253
7963
  },
8254
7964
  /**
8255
7965
  * Component used for the root node. Either a string to use a HTML element or a component.
8256
7966
  */
8257
7967
  component: {
8258
7968
  type: String,
8259
- default: 'button',
8260
- require: false,
7969
+ default: 'button'
8261
7970
  },
8262
7971
  /**
8263
7972
  * Create a custom toggler which accepts any content.
@@ -8266,10 +7975,7 @@ const CDropdownToggle = vue.defineComponent({
8266
7975
  /**
8267
7976
  * Toggle the disabled state for the component.
8268
7977
  */
8269
- disabled: {
8270
- type: Boolean,
8271
- required: false,
8272
- },
7978
+ disabled: Boolean,
8273
7979
  /**
8274
7980
  * @values 'rounded', 'rounded-top', 'rounded-end', 'rounded-bottom', 'rounded-start', 'rounded-circle', 'rounded-pill', 'rounded-0', 'rounded-1', 'rounded-2', 'rounded-3'
8275
7981
  */
@@ -8281,8 +7987,6 @@ const CDropdownToggle = vue.defineComponent({
8281
7987
  */
8282
7988
  size: {
8283
7989
  type: String,
8284
- default: undefined,
8285
- required: false,
8286
7990
  validator: (value) => {
8287
7991
  return ['sm', 'lg'].includes(value);
8288
7992
  },
@@ -8290,10 +7994,7 @@ const CDropdownToggle = vue.defineComponent({
8290
7994
  /**
8291
7995
  * Similarly, create split button dropdowns with virtually the same markup as single button dropdowns, but with the addition of `.dropdown-toggle-split` className for proper spacing around the dropdown caret.
8292
7996
  */
8293
- split: {
8294
- type: Boolean,
8295
- required: false,
8296
- },
7997
+ split: Boolean,
8297
7998
  /**
8298
7999
  * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.
8299
8000
  *
@@ -8302,7 +8003,6 @@ const CDropdownToggle = vue.defineComponent({
8302
8003
  trigger: {
8303
8004
  type: String,
8304
8005
  default: 'click',
8305
- required: false,
8306
8006
  },
8307
8007
  /**
8308
8008
  * Set the button variant to an outlined button or a ghost button.
@@ -8311,8 +8011,6 @@ const CDropdownToggle = vue.defineComponent({
8311
8011
  */
8312
8012
  variant: {
8313
8013
  type: String,
8314
- default: undefined,
8315
- required: false,
8316
8014
  validator: (value) => {
8317
8015
  return ['ghost', 'outline'].includes(value);
8318
8016
  },
@@ -8419,6 +8117,33 @@ const CDropdownPlugin = {
8419
8117
  },
8420
8118
  };
8421
8119
 
8120
+ const Color = {
8121
+ type: String,
8122
+ validator: (value) => {
8123
+ // The value must match one of these strings
8124
+ return [
8125
+ 'primary',
8126
+ 'secondary',
8127
+ 'success',
8128
+ 'danger',
8129
+ 'warning',
8130
+ 'info',
8131
+ 'dark',
8132
+ 'light',
8133
+ 'link',
8134
+ 'transparent',
8135
+ 'primary-gradient',
8136
+ 'secondary-gradient',
8137
+ 'success-gradient',
8138
+ 'danger-gradient',
8139
+ 'warning-gradient',
8140
+ 'info-gradient',
8141
+ 'dark-gradient',
8142
+ 'light-gradient',
8143
+ ].includes(value);
8144
+ },
8145
+ };
8146
+
8422
8147
  const CPicker = vue.defineComponent({
8423
8148
  name: 'CPicker',
8424
8149
  props: {
@@ -10324,8 +10049,6 @@ const CSpinner = vue.defineComponent({
10324
10049
  */
10325
10050
  color: {
10326
10051
  type: String,
10327
- default: undefined,
10328
- required: false,
10329
10052
  validator: (value) => {
10330
10053
  return [
10331
10054
  'primary',
@@ -10345,7 +10068,6 @@ const CSpinner = vue.defineComponent({
10345
10068
  component: {
10346
10069
  type: String,
10347
10070
  default: 'div',
10348
- required: false,
10349
10071
  },
10350
10072
  /**
10351
10073
  * Size the component small.
@@ -10354,8 +10076,6 @@ const CSpinner = vue.defineComponent({
10354
10076
  */
10355
10077
  size: {
10356
10078
  type: String,
10357
- default: undefined,
10358
- required: false,
10359
10079
  validator: (value) => {
10360
10080
  return value === 'sm';
10361
10081
  },
@@ -10368,7 +10088,6 @@ const CSpinner = vue.defineComponent({
10368
10088
  variant: {
10369
10089
  type: String,
10370
10090
  default: 'border',
10371
- required: false,
10372
10091
  validator: (value) => {
10373
10092
  return ['border', 'grow'].includes(value);
10374
10093
  },
@@ -10379,7 +10098,6 @@ const CSpinner = vue.defineComponent({
10379
10098
  visuallyHiddenLabel: {
10380
10099
  type: String,
10381
10100
  default: 'Loading...',
10382
- required: false,
10383
10101
  },
10384
10102
  },
10385
10103
  setup(props) {
@@ -10503,8 +10221,6 @@ const CFooter = vue.defineComponent({
10503
10221
  */
10504
10222
  position: {
10505
10223
  type: String,
10506
- default: undefined,
10507
- required: false,
10508
10224
  validator: (value) => {
10509
10225
  return ['fixed', 'sticky'].includes(value);
10510
10226
  },
@@ -10539,8 +10255,6 @@ const CCol = vue.defineComponent({
10539
10255
  */
10540
10256
  xs: {
10541
10257
  type: [Boolean, Number, String, Object],
10542
- default: undefined,
10543
- require: false,
10544
10258
  },
10545
10259
  /**
10546
10260
  * The number of columns/offset/order on small devices (<768px).
@@ -10549,8 +10263,6 @@ const CCol = vue.defineComponent({
10549
10263
  */
10550
10264
  sm: {
10551
10265
  type: [Boolean, Number, String, Object],
10552
- default: undefined,
10553
- require: false,
10554
10266
  },
10555
10267
  /**
10556
10268
  * The number of columns/offset/order on medium devices (<992px).
@@ -10559,8 +10271,6 @@ const CCol = vue.defineComponent({
10559
10271
  */
10560
10272
  md: {
10561
10273
  type: [Boolean, Number, String, Object],
10562
- default: undefined,
10563
- require: false,
10564
10274
  },
10565
10275
  /**
10566
10276
  * The number of columns/offset/order on large devices (<1200px).
@@ -10569,8 +10279,6 @@ const CCol = vue.defineComponent({
10569
10279
  */
10570
10280
  lg: {
10571
10281
  type: [Boolean, Number, String, Object],
10572
- default: undefined,
10573
- require: false,
10574
10282
  },
10575
10283
  /**
10576
10284
  * The number of columns/offset/order on X-Large devices (<1400px).
@@ -10579,8 +10287,6 @@ const CCol = vue.defineComponent({
10579
10287
  */
10580
10288
  xl: {
10581
10289
  type: [Boolean, Number, String, Object],
10582
- default: undefined,
10583
- require: false,
10584
10290
  },
10585
10291
  /**
10586
10292
  * The number of columns/offset/order on XX-Large devices (≥1400px).
@@ -10589,8 +10295,6 @@ const CCol = vue.defineComponent({
10589
10295
  */
10590
10296
  xxl: {
10591
10297
  type: [Boolean, Number, String, Object],
10592
- default: undefined,
10593
- require: false,
10594
10298
  },
10595
10299
  },
10596
10300
  setup(props, { slots }) {
@@ -10641,45 +10345,27 @@ const CContainer = vue.defineComponent({
10641
10345
  /**
10642
10346
  * Set container 100% wide until small breakpoint.
10643
10347
  */
10644
- sm: {
10645
- type: Boolean,
10646
- required: false,
10647
- },
10348
+ sm: Boolean,
10648
10349
  /**
10649
10350
  * Set container 100% wide until medium breakpoint.
10650
10351
  */
10651
- md: {
10652
- type: Boolean,
10653
- required: false,
10654
- },
10352
+ md: Boolean,
10655
10353
  /**
10656
10354
  * Set container 100% wide until large breakpoint.
10657
10355
  */
10658
- lg: {
10659
- type: Boolean,
10660
- required: false,
10661
- },
10356
+ lg: Boolean,
10662
10357
  /**
10663
10358
  * Set container 100% wide until X-large breakpoint.
10664
10359
  */
10665
- xl: {
10666
- type: Boolean,
10667
- required: false,
10668
- },
10360
+ xl: Boolean,
10669
10361
  /**
10670
10362
  * Set container 100% wide until XX-large breakpoint.
10671
10363
  */
10672
- xxl: {
10673
- type: Boolean,
10674
- required: false,
10675
- },
10364
+ xxl: Boolean,
10676
10365
  /**
10677
10366
  * Set container 100% wide, spanning the entire width of the viewport.
10678
10367
  */
10679
- fluid: {
10680
- type: Boolean,
10681
- required: false,
10682
- },
10368
+ fluid: Boolean,
10683
10369
  },
10684
10370
  setup(props, { slots }) {
10685
10371
  const repsonsiveClassNames = [];
@@ -10709,61 +10395,37 @@ const CRow = vue.defineComponent({
10709
10395
  *
10710
10396
  * @values { cols: 'auto' | number | string } | { gutter: number | string } | { gutterX: number | string } | { gutterY: number | string }
10711
10397
  */
10712
- xs: {
10713
- type: Object,
10714
- default: undefined,
10715
- required: false,
10716
- },
10398
+ xs: Object,
10717
10399
  /**
10718
10400
  * The number of columns/offset/order on small devices (<768px).
10719
10401
  *
10720
10402
  * @values { cols: 'auto' | number | string } | { gutter: number | string } | { gutterX: number | string } | { gutterY: number | string }
10721
10403
  */
10722
- sm: {
10723
- type: Object,
10724
- default: undefined,
10725
- required: false,
10726
- /**
10727
- * The number of columns/offset/order on medium devices (<992px).
10728
- *
10729
- * @values { cols: 'auto' | number | string } | { gutter: number | string } | { gutterX: number | string } | { gutterY: number | string }
10730
- */
10731
- },
10732
- md: {
10733
- type: Object,
10734
- default: undefined,
10735
- required: false,
10736
- },
10404
+ sm: Object,
10405
+ /**
10406
+ * The number of columns/offset/order on medium devices (<992px).
10407
+ *
10408
+ * @values { cols: 'auto' | number | string } | { gutter: number | string } | { gutterX: number | string } | { gutterY: number | string }
10409
+ */
10410
+ md: Object,
10737
10411
  /**
10738
10412
  * The number of columns/offset/order on large devices (<1200px).
10739
10413
  *
10740
10414
  * @values { cols: 'auto' | number | string } | { gutter: number | string } | { gutterX: number | string } | { gutterY: number | string }
10741
10415
  */
10742
- lg: {
10743
- type: Object,
10744
- default: undefined,
10745
- required: false,
10746
- },
10416
+ lg: Object,
10747
10417
  /**
10748
10418
  * The number of columns/offset/order on X-Large devices (<1400px).
10749
10419
  *
10750
10420
  * @values { cols: 'auto' | number | string } | { gutter: number | string } | { gutterX: number | string } | { gutterY: number | string }
10751
10421
  */
10752
- xl: {
10753
- type: Object,
10754
- default: undefined,
10755
- required: false,
10756
- },
10422
+ xl: Object,
10757
10423
  /**
10758
10424
  * The number of columns/offset/order on XX-Large devices (≥1400px).
10759
10425
  *
10760
10426
  * @values { cols: 'auto' | number | string } | { gutter: number | string } | { gutterX: number | string } | { gutterY: number | string }
10761
10427
  */
10762
- xxl: {
10763
- type: Object,
10764
- default: undefined,
10765
- required: false,
10766
- },
10428
+ xxl: Object,
10767
10429
  },
10768
10430
  setup(props, { slots }) {
10769
10431
  const repsonsiveClassNames = [];
@@ -10809,8 +10471,6 @@ const CHeader = vue.defineComponent({
10809
10471
  */
10810
10472
  container: {
10811
10473
  type: [Boolean, String],
10812
- default: undefined,
10813
- required: false,
10814
10474
  validator: (value) => {
10815
10475
  return (typeof value === 'boolean' || ['sm', 'md', 'lg', 'xl', 'xxl', 'fluid'].includes(value));
10816
10476
  },
@@ -10822,8 +10482,6 @@ const CHeader = vue.defineComponent({
10822
10482
  */
10823
10483
  position: {
10824
10484
  type: String,
10825
- default: undefined,
10826
- required: false,
10827
10485
  validator: (value) => {
10828
10486
  return ['fixed', 'sticky'].includes(value);
10829
10487
  },
@@ -10844,7 +10502,6 @@ const CHeaderBrand = vue.defineComponent({
10844
10502
  */
10845
10503
  component: {
10846
10504
  type: String,
10847
- required: false,
10848
10505
  default: 'a',
10849
10506
  },
10850
10507
  },
@@ -10868,7 +10525,6 @@ const CHeaderNav = vue.defineComponent({
10868
10525
  */
10869
10526
  component: {
10870
10527
  type: String,
10871
- required: false,
10872
10528
  default: 'ul',
10873
10529
  },
10874
10530
  },
@@ -10919,8 +10575,6 @@ const CImage = vue.defineComponent({
10919
10575
  */
10920
10576
  align: {
10921
10577
  type: String,
10922
- default: undefined,
10923
- required: false,
10924
10578
  validator: (value) => {
10925
10579
  return ['start', 'center', 'end'].includes(value);
10926
10580
  },
@@ -10928,24 +10582,15 @@ const CImage = vue.defineComponent({
10928
10582
  /**
10929
10583
  * Make image responsive.
10930
10584
  */
10931
- fluid: {
10932
- type: Boolean,
10933
- required: false,
10934
- },
10585
+ fluid: Boolean,
10935
10586
  /**
10936
10587
  * Make image rounded.
10937
10588
  */
10938
- rounded: {
10939
- type: Boolean,
10940
- required: false,
10941
- },
10589
+ rounded: Boolean,
10942
10590
  /**
10943
10591
  * Give an image a rounded 1px border appearance.
10944
10592
  */
10945
- thumbnail: {
10946
- type: Boolean,
10947
- required: false,
10948
- },
10593
+ thumbnail: Boolean,
10949
10594
  },
10950
10595
  setup(props) {
10951
10596
  return () => vue.h('img', {
@@ -10976,16 +10621,12 @@ const CListGroup = vue.defineComponent({
10976
10621
  */
10977
10622
  component: {
10978
10623
  type: String,
10979
- required: false,
10980
10624
  default: 'ul',
10981
10625
  },
10982
10626
  /**
10983
10627
  * Remove some borders and rounded corners to render list group items edge-to-edge in a parent component (e.g., `<CCard>`)
10984
10628
  */
10985
- flush: {
10986
- type: Boolean,
10987
- required: false,
10988
- },
10629
+ flush: Boolean,
10989
10630
  /**
10990
10631
  * Specify a layout type.
10991
10632
  *
@@ -10993,8 +10634,6 @@ const CListGroup = vue.defineComponent({
10993
10634
  */
10994
10635
  layout: {
10995
10636
  type: String,
10996
- default: undefined,
10997
- required: false,
10998
10637
  validator: (value) => {
10999
10638
  return [
11000
10639
  'horizontal',
@@ -11026,29 +10665,22 @@ const CListGroupItem = vue.defineComponent({
11026
10665
  /**
11027
10666
  * Toggle the active state for the component.
11028
10667
  */
11029
- active: {
11030
- type: Boolean,
11031
- required: false,
11032
- },
10668
+ active: Boolean,
11033
10669
  /**
11034
10670
  * Sets the color context of the component to one of CoreUI’s themed colors.
11035
10671
  *
11036
10672
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', string
11037
10673
  */
11038
- color: Color,
10674
+ color: Color$1,
11039
10675
  /**
11040
10676
  * Toggle the disabled state for the component.
11041
10677
  */
11042
- disabled: {
11043
- type: Boolean,
11044
- required: false,
11045
- },
10678
+ disabled: Boolean,
11046
10679
  /**
11047
10680
  * Component used for the root node. Either a string to use a HTML element or a component.
11048
10681
  */
11049
10682
  component: {
11050
10683
  type: String,
11051
- required: false,
11052
10684
  default: 'li',
11053
10685
  },
11054
10686
  },
@@ -11195,10 +10827,7 @@ const CModal = vue.defineComponent({
11195
10827
  /**
11196
10828
  * A string of all className you want applied to the modal content component.
11197
10829
  */
11198
- contentClassName: {
11199
- type: String,
11200
- default: undefined,
11201
- },
10830
+ contentClassName: String,
11202
10831
  /**
11203
10832
  * Set modal to covers the entire user viewport
11204
10833
  *
@@ -11206,7 +10835,6 @@ const CModal = vue.defineComponent({
11206
10835
  */
11207
10836
  fullscreen: {
11208
10837
  type: [Boolean, String],
11209
- default: undefined,
11210
10838
  validator: (value) => {
11211
10839
  if (typeof value == 'string') {
11212
10840
  return ['sm', 'md', 'lg', 'xl', 'xxl'].includes(value);
@@ -11227,9 +10855,7 @@ const CModal = vue.defineComponent({
11227
10855
  /**
11228
10856
  * Create a scrollable modal that allows scrolling the modal body.
11229
10857
  */
11230
- scrollable: {
11231
- type: Boolean,
11232
- },
10858
+ scrollable: Boolean,
11233
10859
  /**
11234
10860
  * Size the component small, large, or extra large.
11235
10861
  *
@@ -11237,7 +10863,6 @@ const CModal = vue.defineComponent({
11237
10863
  */
11238
10864
  size: {
11239
10865
  type: String,
11240
- default: undefined,
11241
10866
  validator: (value) => {
11242
10867
  return ['sm', 'lg', 'xl'].includes(value);
11243
10868
  },
@@ -11410,7 +11035,6 @@ const CModalHeader = vue.defineComponent({
11410
11035
  */
11411
11036
  closeButton: {
11412
11037
  type: Boolean,
11413
- required: false,
11414
11038
  default: true,
11415
11039
  },
11416
11040
  },
@@ -11432,7 +11056,6 @@ const CModalTitle = vue.defineComponent({
11432
11056
  component: {
11433
11057
  type: String,
11434
11058
  default: 'h5',
11435
- required: false,
11436
11059
  },
11437
11060
  },
11438
11061
  setup(props, { slots }) {
@@ -12301,7 +11924,6 @@ const CNav = vue.defineComponent({
12301
11924
  */
12302
11925
  component: {
12303
11926
  type: String,
12304
- required: false,
12305
11927
  default: 'ul',
12306
11928
  },
12307
11929
  /**
@@ -12311,8 +11933,6 @@ const CNav = vue.defineComponent({
12311
11933
  */
12312
11934
  layout: {
12313
11935
  type: String,
12314
- required: false,
12315
- default: undefined,
12316
11936
  validator: (value) => {
12317
11937
  return ['fill', 'justified'].includes(value);
12318
11938
  },
@@ -12324,8 +11944,6 @@ const CNav = vue.defineComponent({
12324
11944
  */
12325
11945
  variant: {
12326
11946
  type: String,
12327
- required: false,
12328
- default: undefined,
12329
11947
  validator: (value) => {
12330
11948
  return ['tabs', 'pills', 'underline'].includes(value);
12331
11949
  },
@@ -12469,33 +12087,22 @@ const CNavLink = vue.defineComponent({
12469
12087
  /**
12470
12088
  * Toggle the active state for the component.
12471
12089
  */
12472
- active: {
12473
- type: Boolean,
12474
- required: false,
12475
- },
12090
+ active: Boolean,
12476
12091
  /**
12477
12092
  * Component used for the root node. Either a string to use a HTML element or a component.
12478
12093
  */
12479
12094
  component: {
12480
12095
  type: String,
12481
- required: false,
12482
12096
  default: 'a',
12483
12097
  },
12484
12098
  /**
12485
12099
  * Toggle the disabled state for the component.
12486
12100
  */
12487
- disabled: {
12488
- type: Boolean,
12489
- required: false,
12490
- },
12101
+ disabled: Boolean,
12491
12102
  /**
12492
12103
  * @ignore
12493
12104
  */
12494
- href: {
12495
- type: String,
12496
- default: undefined,
12497
- required: false,
12498
- },
12105
+ href: String,
12499
12106
  },
12500
12107
  setup(props, { slots }) {
12501
12108
  return () => vue.h(CLink, {
@@ -12557,7 +12164,7 @@ const CNavbar = vue.defineComponent({
12557
12164
  *
12558
12165
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', string
12559
12166
  */
12560
- color: Color,
12167
+ color: Color$1,
12561
12168
  /**
12562
12169
  * Sets if the color of text should be colored for a light or dark dark background.
12563
12170
  *
@@ -12565,8 +12172,6 @@ const CNavbar = vue.defineComponent({
12565
12172
  */
12566
12173
  colorScheme: {
12567
12174
  type: String,
12568
- default: undefined,
12569
- required: false,
12570
12175
  validator: (value) => {
12571
12176
  return ['dark', 'light'].includes(value);
12572
12177
  },
@@ -12577,7 +12182,6 @@ const CNavbar = vue.defineComponent({
12577
12182
  component: {
12578
12183
  type: String,
12579
12184
  default: 'nav',
12580
- required: false,
12581
12185
  },
12582
12186
  /**
12583
12187
  * Defines optional container wrapping children elements.
@@ -12586,8 +12190,6 @@ const CNavbar = vue.defineComponent({
12586
12190
  */
12587
12191
  container: {
12588
12192
  type: [Boolean, String],
12589
- default: undefined,
12590
- required: false,
12591
12193
  validator: (value) => {
12592
12194
  return (typeof value === 'boolean' || ['sm', 'md', 'lg', 'xl', 'xxl', 'fluid'].includes(value));
12593
12195
  },
@@ -12599,8 +12201,6 @@ const CNavbar = vue.defineComponent({
12599
12201
  */
12600
12202
  expand: {
12601
12203
  type: [Boolean, String],
12602
- default: undefined,
12603
- required: false,
12604
12204
  validator: (value) => {
12605
12205
  return typeof value === 'boolean' || ['sm', 'md', 'lg', 'xl', 'xxl'].includes(value);
12606
12206
  },
@@ -12612,8 +12212,6 @@ const CNavbar = vue.defineComponent({
12612
12212
  */
12613
12213
  placement: {
12614
12214
  type: String,
12615
- default: undefined,
12616
- required: false,
12617
12215
  validator: (value) => {
12618
12216
  return ['fixed-top', 'fixed-bottom', 'sticky-top'].includes(value);
12619
12217
  },
@@ -12648,16 +12246,11 @@ const CNavbarBrand = vue.defineComponent({
12648
12246
  component: {
12649
12247
  type: String,
12650
12248
  default: 'a',
12651
- required: false,
12652
12249
  },
12653
12250
  /**
12654
12251
  * The href attribute specifies the URL of the page the link goes to.
12655
12252
  */
12656
- href: {
12657
- type: String,
12658
- default: undefined,
12659
- required: false,
12660
- },
12253
+ href: String,
12661
12254
  },
12662
12255
  setup(props, { slots }) {
12663
12256
  return () => vue.h(props.component ? props.component : props.href ? 'a' : 'span', {
@@ -12675,7 +12268,6 @@ const CNavbarNav = vue.defineComponent({
12675
12268
  */
12676
12269
  component: {
12677
12270
  type: String,
12678
- required: false,
12679
12271
  default: 'ul',
12680
12272
  },
12681
12273
  },
@@ -12748,7 +12340,6 @@ const COffcanvas = vue.defineComponent({
12748
12340
  */
12749
12341
  placement: {
12750
12342
  type: String,
12751
- default: undefined,
12752
12343
  require: true,
12753
12344
  validator: (value) => {
12754
12345
  return ['start', 'end', 'top', 'bottom'].includes(value);
@@ -12783,7 +12374,10 @@ const COffcanvas = vue.defineComponent({
12783
12374
  /**
12784
12375
  * Toggle the visibility of offcanvas component.
12785
12376
  */
12786
- visible: Boolean,
12377
+ visible: {
12378
+ type: Boolean,
12379
+ default: false,
12380
+ },
12787
12381
  },
12788
12382
  emits: [
12789
12383
  /**
@@ -12802,11 +12396,9 @@ const COffcanvas = vue.defineComponent({
12802
12396
  visible.value = props.visible;
12803
12397
  });
12804
12398
  vue.watch(visible, () => {
12805
- if (visible.value) {
12806
- if (!props.scroll) {
12807
- document.body.style.overflow = 'hidden';
12808
- document.body.style.paddingRight = '0px';
12809
- }
12399
+ if (visible.value && !props.scroll) {
12400
+ document.body.style.overflow = 'hidden';
12401
+ document.body.style.paddingRight = '0px';
12810
12402
  return;
12811
12403
  }
12812
12404
  if (!props.scroll) {
@@ -12896,7 +12488,6 @@ const COffcanvasTitle = vue.defineComponent({
12896
12488
  */
12897
12489
  component: {
12898
12490
  type: String,
12899
- required: false,
12900
12491
  default: 'h5',
12901
12492
  },
12902
12493
  },
@@ -12924,8 +12515,6 @@ const CPagination = vue.defineComponent({
12924
12515
  */
12925
12516
  align: {
12926
12517
  type: String,
12927
- default: undefined,
12928
- required: false,
12929
12518
  validator: (value) => {
12930
12519
  return ['start', 'center', 'end'].includes(value);
12931
12520
  },
@@ -12937,8 +12526,6 @@ const CPagination = vue.defineComponent({
12937
12526
  */
12938
12527
  size: {
12939
12528
  type: String,
12940
- default: undefined,
12941
- required: false,
12942
12529
  validator: (value) => {
12943
12530
  return ['sm', 'lg'].includes(value);
12944
12531
  },
@@ -12963,33 +12550,19 @@ const CPaginationItem = vue.defineComponent({
12963
12550
  /**
12964
12551
  * Toggle the active state for the component.
12965
12552
  */
12966
- active: {
12967
- type: Boolean,
12968
- required: false,
12969
- },
12553
+ active: Boolean,
12970
12554
  /**
12971
12555
  * Component used for the root node. Either a string to use a HTML element or a component.
12972
12556
  */
12973
- component: {
12974
- type: String,
12975
- default: undefined,
12976
- required: false,
12977
- },
12557
+ component: String,
12978
12558
  /**
12979
12559
  * Toggle the disabled state for the component.
12980
12560
  */
12981
- disabled: {
12982
- type: Boolean,
12983
- required: false,
12984
- },
12561
+ disabled: Boolean,
12985
12562
  /**
12986
12563
  * The href attribute specifies the URL of the page the link goes to.
12987
12564
  */
12988
- href: {
12989
- type: String,
12990
- default: undefined,
12991
- required: false,
12992
- },
12565
+ href: String,
12993
12566
  },
12994
12567
  setup(props, { slots }) {
12995
12568
  return () => {
@@ -13041,8 +12614,6 @@ const CPlaceholder = vue.defineComponent({
13041
12614
  */
13042
12615
  animation: {
13043
12616
  type: String,
13044
- default: undefined,
13045
- require: false,
13046
12617
  validator: (value) => {
13047
12618
  return ['glow', 'wave'].includes(value);
13048
12619
  },
@@ -13052,14 +12623,13 @@ const CPlaceholder = vue.defineComponent({
13052
12623
  *
13053
12624
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
13054
12625
  */
13055
- color: Color,
12626
+ color: Color$1,
13056
12627
  /**
13057
12628
  * Component used for the root node. Either a string to use a HTML element or a component.
13058
12629
  */
13059
12630
  component: {
13060
12631
  type: String,
13061
12632
  default: 'span',
13062
- required: false,
13063
12633
  },
13064
12634
  /**
13065
12635
  * Size the component extra small, small, or large.
@@ -13068,8 +12638,6 @@ const CPlaceholder = vue.defineComponent({
13068
12638
  */
13069
12639
  size: {
13070
12640
  type: String,
13071
- default: undefined,
13072
- required: false,
13073
12641
  validator: (value) => {
13074
12642
  return ['xs', 'sm', 'lg'].includes(value);
13075
12643
  },
@@ -13077,51 +12645,27 @@ const CPlaceholder = vue.defineComponent({
13077
12645
  /**
13078
12646
  * The number of columns on extra small devices (<576px).
13079
12647
  */
13080
- xs: {
13081
- type: Number,
13082
- default: undefined,
13083
- require: false,
13084
- },
12648
+ xs: Number,
13085
12649
  /**
13086
12650
  * The number of columns on small devices (<768px).
13087
12651
  */
13088
- sm: {
13089
- type: Number,
13090
- default: undefined,
13091
- require: false,
13092
- },
12652
+ sm: Number,
13093
12653
  /**
13094
12654
  * The number of columns on medium devices (<992px).
13095
12655
  */
13096
- md: {
13097
- type: Number,
13098
- default: undefined,
13099
- require: false,
13100
- },
12656
+ md: Number,
13101
12657
  /**
13102
12658
  * The number of columns on large devices (<1200px).
13103
12659
  */
13104
- lg: {
13105
- type: Number,
13106
- default: undefined,
13107
- require: false,
13108
- },
12660
+ lg: Number,
13109
12661
  /**
13110
12662
  * The number of columns on X-Large devices (<1400px).
13111
12663
  */
13112
- xl: {
13113
- type: Number,
13114
- default: undefined,
13115
- require: false,
13116
- },
12664
+ xl: Number,
13117
12665
  /**
13118
12666
  * The number of columns on XX-Large devices (≥1400px).
13119
12667
  */
13120
- xxl: {
13121
- type: Number,
13122
- default: undefined,
13123
- require: false,
13124
- },
12668
+ xxl: Number,
13125
12669
  },
13126
12670
  setup(props, { slots }) {
13127
12671
  const repsonsiveClassNames = [];
@@ -13160,22 +12704,18 @@ const CProgressBar = vue.defineComponent({
13160
12704
  /**
13161
12705
  * Use to animate the stripes right to left via CSS3 animations.
13162
12706
  */
13163
- animated: {
13164
- type: Boolean,
13165
- required: false,
13166
- },
12707
+ animated: Boolean,
13167
12708
  /**
13168
12709
  * Sets the color context of the component to one of CoreUI’s themed colors.
13169
12710
  *
13170
12711
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
13171
12712
  */
13172
- color: Color,
12713
+ color: Color$1,
13173
12714
  /**
13174
12715
  * The percent to progress the ProgressBar.
13175
12716
  */
13176
12717
  value: {
13177
12718
  type: Number,
13178
- required: false,
13179
12719
  default: 0,
13180
12720
  },
13181
12721
  /**
@@ -13185,8 +12725,6 @@ const CProgressBar = vue.defineComponent({
13185
12725
  */
13186
12726
  variant: {
13187
12727
  type: String,
13188
- default: undefined,
13189
- require: false,
13190
12728
  validator: (value) => {
13191
12729
  return value === 'striped';
13192
12730
  },
@@ -13217,11 +12755,7 @@ const CProgress = vue.defineComponent({
13217
12755
  /**
13218
12756
  * Sets the height of the component. If you set that value the inner `<CProgressBar>` will automatically resize accordingly.
13219
12757
  */
13220
- height: {
13221
- type: Number,
13222
- default: undefined,
13223
- required: false,
13224
- },
12758
+ height: Number,
13225
12759
  /**
13226
12760
  * Makes progress bar thinner.
13227
12761
  */
@@ -13266,18 +12800,13 @@ const CPopover = vue.defineComponent({
13266
12800
  /**
13267
12801
  * Content for your component. If you want to pass non-string value please use dedicated slot `<template #content>...</template>`
13268
12802
  */
13269
- content: {
13270
- type: String,
13271
- default: undefined,
13272
- required: false,
13273
- },
12803
+ content: String,
13274
12804
  /**
13275
12805
  * Offset of the popover relative to its target.
13276
12806
  */
13277
12807
  offset: {
13278
12808
  type: Array,
13279
12809
  default: () => [0, 8],
13280
- required: false,
13281
12810
  },
13282
12811
  /**
13283
12812
  * 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.
@@ -13285,7 +12814,6 @@ const CPopover = vue.defineComponent({
13285
12814
  placement: {
13286
12815
  type: String,
13287
12816
  default: 'top',
13288
- required: false,
13289
12817
  validator: (value) => {
13290
12818
  return ['top', 'right', 'bottom', 'left'].includes(value);
13291
12819
  },
@@ -13293,11 +12821,7 @@ const CPopover = vue.defineComponent({
13293
12821
  /**
13294
12822
  * Title for your component. If you want to pass non-string value please use dedicated slot `<template #title>...</template>`
13295
12823
  */
13296
- title: {
13297
- type: String,
13298
- default: undefined,
13299
- required: false,
13300
- },
12824
+ title: String,
13301
12825
  /**
13302
12826
  * Sets which event handlers you’d like provided to your toggle prop. You can specify one trigger or an array of them.
13303
12827
  *
@@ -13306,7 +12830,6 @@ const CPopover = vue.defineComponent({
13306
12830
  trigger: {
13307
12831
  type: [String, Array],
13308
12832
  default: 'click',
13309
- required: false,
13310
12833
  validator: (value) => {
13311
12834
  if (typeof value === 'string') {
13312
12835
  return ['click', 'focus', 'hover'].includes(value);
@@ -13437,17 +12960,11 @@ const CSidebar = vue.defineComponent({
13437
12960
  /**
13438
12961
  * Make sidebar narrow.
13439
12962
  */
13440
- narrow: {
13441
- type: Boolean,
13442
- required: false,
13443
- },
12963
+ narrow: Boolean,
13444
12964
  /**
13445
12965
  * Set sidebar to overlaid variant.
13446
12966
  */
13447
- overlaid: {
13448
- type: Boolean,
13449
- required: false,
13450
- },
12967
+ overlaid: Boolean,
13451
12968
  /**
13452
12969
  * Components placement, there’s no default placement.
13453
12970
  * @values 'start', 'end'
@@ -13464,7 +12981,6 @@ const CSidebar = vue.defineComponent({
13464
12981
  */
13465
12982
  position: {
13466
12983
  type: String,
13467
- default: undefined,
13468
12984
  validator: (value) => {
13469
12985
  return ['fixed'].includes(value);
13470
12986
  },
@@ -13474,7 +12990,6 @@ const CSidebar = vue.defineComponent({
13474
12990
  */
13475
12991
  size: {
13476
12992
  type: String,
13477
- default: undefined,
13478
12993
  validator: (value) => {
13479
12994
  return ['sm', 'lg', 'xl'].includes(value);
13480
12995
  },
@@ -14099,7 +13614,7 @@ const CTableBody = vue.defineComponent({
14099
13614
  *
14100
13615
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', string
14101
13616
  */
14102
- color: Color,
13617
+ color: Color$1,
14103
13618
  },
14104
13619
  setup(props, { slots }) {
14105
13620
  return () => vue.h('tbody', {
@@ -14125,10 +13640,7 @@ const CTableDataCell = vue.defineComponent({
14125
13640
  /**
14126
13641
  * Highlight a table row or cell.
14127
13642
  */
14128
- active: {
14129
- type: Boolean,
14130
- required: false,
14131
- },
13643
+ active: Boolean,
14132
13644
  /**
14133
13645
  * Set the vertical aligment.
14134
13646
  *
@@ -14136,8 +13648,6 @@ const CTableDataCell = vue.defineComponent({
14136
13648
  */
14137
13649
  align: {
14138
13650
  type: String,
14139
- default: undefined,
14140
- required: false,
14141
13651
  validator: (value) => {
14142
13652
  return ['bottom', 'middle', 'top'].includes(value);
14143
13653
  },
@@ -14147,14 +13657,11 @@ const CTableDataCell = vue.defineComponent({
14147
13657
  *
14148
13658
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', string
14149
13659
  */
14150
- color: Color,
13660
+ color: Color$1,
14151
13661
  /**
14152
13662
  * @ignore
14153
13663
  */
14154
- scope: {
14155
- type: String,
14156
- required: false,
14157
- },
13664
+ scope: String,
14158
13665
  },
14159
13666
  setup(props, { slots }) {
14160
13667
  return () => vue.h(props.scope ? 'th' : 'td', {
@@ -14178,7 +13685,7 @@ const CTableFoot = vue.defineComponent({
14178
13685
  *
14179
13686
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', string
14180
13687
  */
14181
- color: Color,
13688
+ color: Color$1,
14182
13689
  },
14183
13690
  setup(props, { slots }) {
14184
13691
  return () => vue.h('tfoot', {
@@ -14199,7 +13706,7 @@ const CTableHead = vue.defineComponent({
14199
13706
  *
14200
13707
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', string
14201
13708
  */
14202
- color: Color,
13709
+ color: Color$1,
14203
13710
  },
14204
13711
  setup(props, { slots }) {
14205
13712
  return () => vue.h('thead', {
@@ -14220,7 +13727,7 @@ const CTableHeaderCell = vue.defineComponent({
14220
13727
  *
14221
13728
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', string
14222
13729
  */
14223
- color: Color,
13730
+ color: Color$1,
14224
13731
  },
14225
13732
  setup(props, { slots }) {
14226
13733
  return () => vue.h('th', {
@@ -14239,10 +13746,7 @@ const CTableRow = vue.defineComponent({
14239
13746
  /**
14240
13747
  * Highlight a table row or cell..
14241
13748
  */
14242
- active: {
14243
- type: Boolean,
14244
- required: false,
14245
- },
13749
+ active: Boolean,
14246
13750
  /**
14247
13751
  * Set the vertical aligment.
14248
13752
  *
@@ -14250,8 +13754,6 @@ const CTableRow = vue.defineComponent({
14250
13754
  */
14251
13755
  align: {
14252
13756
  type: String,
14253
- default: undefined,
14254
- required: false,
14255
13757
  validator: (value) => {
14256
13758
  return ['bottom', 'middle', 'top'].includes(value);
14257
13759
  },
@@ -14261,7 +13763,7 @@ const CTableRow = vue.defineComponent({
14261
13763
  *
14262
13764
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', string
14263
13765
  */
14264
- color: Color,
13766
+ color: Color$1,
14265
13767
  },
14266
13768
  setup(props, { slots }) {
14267
13769
  return () => vue.h('tr', {
@@ -14285,11 +13787,14 @@ const pretifyName$1 = (name) => {
14285
13787
  .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
14286
13788
  .join(' ');
14287
13789
  };
14288
- const label = (column) => typeof column === 'object'
14289
- ? column.label !== undefined
14290
- ? column.label
14291
- : pretifyName$1(column.key)
14292
- : pretifyName$1(column);
13790
+ const getColumnLabel$1 = (column) => typeof column === 'object' ? column.label ?? pretifyName$1(column.key) : pretifyName$1(column);
13791
+ const getColumnNames$1 = (columns, items) => columns
13792
+ ? columns.map((column) => {
13793
+ return typeof column === 'object' ? column.key : column;
13794
+ })
13795
+ : items && getColumnNamesFromItems$1(items);
13796
+ const getColumnNamesFromItems$1 = (items) => Object.keys(items[0] || {}).filter((el) => el.charAt(0) !== '_');
13797
+
14293
13798
  const CTable = vue.defineComponent({
14294
13799
  name: 'CTable',
14295
13800
  props: {
@@ -14300,8 +13805,6 @@ const CTable = vue.defineComponent({
14300
13805
  */
14301
13806
  align: {
14302
13807
  type: String,
14303
- default: undefined,
14304
- required: false,
14305
13808
  validator: (value) => {
14306
13809
  return ['bottom', 'middle', 'top'].includes(value);
14307
13810
  },
@@ -14311,41 +13814,27 @@ const CTable = vue.defineComponent({
14311
13814
  *
14312
13815
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
14313
13816
  */
14314
- borderColor: Color,
13817
+ borderColor: Color$1,
14315
13818
  /**
14316
13819
  * Add borders on all sides of the table and cells.
14317
13820
  */
14318
- bordered: {
14319
- type: Boolean,
14320
- required: false,
14321
- },
13821
+ bordered: Boolean,
14322
13822
  /**
14323
13823
  * Remove borders on all sides of the table and cells.
14324
13824
  */
14325
- borderless: {
14326
- type: Boolean,
14327
- required: false,
14328
- },
13825
+ borderless: Boolean,
14329
13826
  /**
14330
13827
  * Put the `<caption>` on the top of the table.
14331
13828
  *
14332
13829
  * @values 'top' | string
14333
13830
  */
14334
- caption: {
14335
- type: String,
14336
- default: undefined,
14337
- required: false,
14338
- },
13831
+ caption: String,
14339
13832
  /**
14340
13833
  * Set the text of the table caption and the caption on the top of the table.
14341
13834
  *
14342
13835
  * @since 4.5.0
14343
13836
  */
14344
- captionTop: {
14345
- type: String,
14346
- default: undefined,
14347
- required: false,
14348
- },
13837
+ captionTop: String,
14349
13838
  /**
14350
13839
  * Prop for table columns configuration. If prop is not defined, table will display columns based on the first item keys, omitting keys that begins with underscore (e.g. '_props')
14351
13840
  *
@@ -14361,14 +13850,13 @@ const CTable = vue.defineComponent({
14361
13850
  */
14362
13851
  columns: {
14363
13852
  type: Array,
14364
- required: false,
14365
13853
  },
14366
13854
  /**
14367
13855
  * Sets the color context of the component to one of CoreUI’s themed colors.
14368
13856
  *
14369
13857
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', string
14370
13858
  */
14371
- color: Color,
13859
+ color: Color$1,
14372
13860
  /**
14373
13861
  * Array of objects or strings, where each element represents one cell in the table footer.
14374
13862
  *
@@ -14381,15 +13869,11 @@ const CTable = vue.defineComponent({
14381
13869
  */
14382
13870
  footer: {
14383
13871
  type: Array,
14384
- required: false,
14385
13872
  },
14386
13873
  /**
14387
13874
  * Enable a hover state on table rows within a `<CTableBody>`.
14388
13875
  */
14389
- hover: {
14390
- type: Boolean,
14391
- required: false,
14392
- },
13876
+ hover: Boolean,
14393
13877
  /**
14394
13878
  * Array of objects, where each object represents one item - row in table. Additionally, you can add style classes to each row by passing them by '_props' key and to single cell by '_cellProps'.
14395
13879
  *
@@ -14400,12 +13884,9 @@ const CTable = vue.defineComponent({
14400
13884
  */
14401
13885
  items: {
14402
13886
  type: Array,
14403
- required: false,
14404
13887
  },
14405
13888
  responsive: {
14406
13889
  type: [Boolean, String],
14407
- default: undefined,
14408
- required: false,
14409
13890
  validator: (value) => {
14410
13891
  if (typeof value == 'string') {
14411
13892
  return ['sm', 'md', 'lg', 'xl', 'xxl'].includes(value);
@@ -14419,26 +13900,17 @@ const CTable = vue.defineComponent({
14419
13900
  /**
14420
13901
  * Make table more compact by cutting all cell `padding` in half.
14421
13902
  */
14422
- small: {
14423
- type: Boolean,
14424
- required: false,
14425
- },
13903
+ small: Boolean,
14426
13904
  /**
14427
13905
  * Add zebra-striping to any table row within the `<CTableBody>`.
14428
13906
  */
14429
- striped: {
14430
- type: Boolean,
14431
- required: false,
14432
- },
13907
+ striped: Boolean,
14433
13908
  /**
14434
13909
  * Add zebra-striping to any table column.
14435
13910
  *
14436
13911
  * @since 4.4.0
14437
13912
  */
14438
- stripedColumns: {
14439
- type: Boolean,
14440
- required: false,
14441
- },
13913
+ stripedColumns: Boolean,
14442
13914
  /**
14443
13915
  * Properties that will be passed to the table footer component.
14444
13916
  *
@@ -14447,8 +13919,6 @@ const CTable = vue.defineComponent({
14447
13919
  */
14448
13920
  tableFootProps: {
14449
13921
  type: Object,
14450
- default: undefined,
14451
- required: false,
14452
13922
  },
14453
13923
  /**
14454
13924
  * Properties that will be passed to the table head component.
@@ -14458,19 +13928,17 @@ const CTable = vue.defineComponent({
14458
13928
  */
14459
13929
  tableHeadProps: {
14460
13930
  type: Object,
14461
- default: undefined,
14462
- required: false,
14463
13931
  },
14464
13932
  },
14465
13933
  setup(props, { slots, attrs }) {
14466
- const rawColumnNames = vue.computed(() => props.columns
14467
- ? props.columns.map((column) => {
14468
- if (typeof column === 'object')
14469
- return column.key;
14470
- else
14471
- return column;
14472
- })
14473
- : Object.keys((props.items && props.items[0]) || {}).filter((el) => el.charAt(0) !== '_'));
13934
+ const columnNames = vue.computed(() => getColumnNames$1(props.columns, props.items));
13935
+ // props.columns
13936
+ // ? props.columns.map((column: Column | string) => {
13937
+ // if (typeof column === 'object') return column.key
13938
+ // else return column
13939
+ // })
13940
+ // : Object.keys((props.items && props.items[0]) || {}).filter((el) => el.charAt(0) !== '_'),
13941
+ // )
14474
13942
  const table = () => vue.h('table', {
14475
13943
  class: [
14476
13944
  'table',
@@ -14507,7 +13975,7 @@ const CTable = vue.defineComponent({
14507
13975
  ...(typeof column === 'object' &&
14508
13976
  column._style && { style: { ...column._style } }),
14509
13977
  }, {
14510
- default: () => label(column),
13978
+ default: () => getColumnLabel$1(column),
14511
13979
  })),
14512
13980
  ],
14513
13981
  }),
@@ -14520,7 +13988,7 @@ const CTable = vue.defineComponent({
14520
13988
  ...(item._props && { ...item._props }),
14521
13989
  }, {
14522
13990
  default: () => [
14523
- rawColumnNames.value.map((colName) => item[colName] &&
13991
+ columnNames.value && columnNames.value.map((colName) => item[colName] &&
14524
13992
  vue.h(CTableDataCell, {
14525
13993
  ...(item._cellProps &&
14526
13994
  item._cellProps['all'] && { ...item._cellProps['all'] }),
@@ -15596,10 +15064,10 @@ const CSmartTable = vue.defineComponent({
15596
15064
  : handleActivePageChange(page),
15597
15065
  })
15598
15066
  : ''),
15599
- vue.h('div', {
15600
- class: 'col-auto ms-auto',
15601
- }, props.itemsPerPageSelect &&
15067
+ props.itemsPerPageSelect &&
15602
15068
  vue.h('div', {
15069
+ class: 'col-auto ms-auto',
15070
+ }, vue.h('div', {
15603
15071
  class: 'row',
15604
15072
  }, {
15605
15073
  default: () => [
@@ -15651,7 +15119,6 @@ const CTabPane = vue.defineComponent({
15651
15119
  visible: {
15652
15120
  type: Boolean,
15653
15121
  default: false,
15654
- required: false,
15655
15122
  },
15656
15123
  },
15657
15124
  emits: [
@@ -15714,21 +15181,19 @@ const CToast = vue.defineComponent({
15714
15181
  autohide: {
15715
15182
  type: Boolean,
15716
15183
  default: true,
15717
- required: false,
15718
15184
  },
15719
15185
  /**
15720
15186
  * Sets the color context of the component to one of CoreUI’s themed colors.
15721
15187
  *
15722
15188
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', string
15723
15189
  */
15724
- color: Color,
15190
+ color: Color$1,
15725
15191
  /**
15726
15192
  * Delay hiding the toast (ms).
15727
15193
  */
15728
15194
  delay: {
15729
15195
  type: Number,
15730
15196
  default: 5000,
15731
- required: false,
15732
15197
  },
15733
15198
  /**
15734
15199
  * Optionally add a close button to component and allow it to self dismiss.
@@ -15736,32 +15201,19 @@ const CToast = vue.defineComponent({
15736
15201
  dismissible: {
15737
15202
  type: Boolean,
15738
15203
  default: true,
15739
- required: false,
15740
15204
  },
15741
15205
  /**
15742
15206
  * index of the component.
15743
15207
  */
15744
- index: {
15745
- type: Number,
15746
- default: undefined,
15747
- required: false,
15748
- },
15208
+ index: Number,
15749
15209
  /**
15750
15210
  * Title node for your component.
15751
15211
  */
15752
- title: {
15753
- type: String,
15754
- default: undefined,
15755
- required: false,
15756
- },
15212
+ title: String,
15757
15213
  /**
15758
15214
  * Toggle the visibility of component.
15759
15215
  */
15760
- visible: {
15761
- type: Boolean,
15762
- default: true,
15763
- required: false,
15764
- },
15216
+ visible: Boolean,
15765
15217
  },
15766
15218
  emits: [
15767
15219
  /**
@@ -15774,46 +15226,19 @@ const CToast = vue.defineComponent({
15774
15226
  'show',
15775
15227
  ],
15776
15228
  setup(props, { slots, emit }) {
15777
- const visible = vue.ref(props.visible);
15778
- let timeout = 0;
15779
- const updateVisible = (v) => {
15780
- visible.value = v;
15229
+ const timeout = vue.ref(0);
15230
+ const visible = vue.ref();
15231
+ const updateVisible = (_visible) => {
15232
+ visible.value = _visible;
15781
15233
  };
15782
15234
  vue.provide('updateVisible', updateVisible);
15783
- const handleBeforeEnter = (el) => {
15784
- el.classList.add('showing');
15785
- };
15786
- const handleEnter = (el, done) => {
15787
- executeAfterTransition(() => done(), el);
15788
- el.classList.add('show');
15789
- setTimeout(() => {
15790
- el.classList.remove('showing');
15791
- }, 1);
15792
- if (props.index) {
15793
- emit('show', props.index);
15794
- }
15795
- else {
15796
- emit('show');
15797
- }
15798
- };
15799
- const handleLeave = (el, done) => {
15800
- executeAfterTransition(() => done(), el);
15801
- el.classList.add('showing');
15802
- };
15803
- const handleAfterLeave = (el) => {
15804
- el.classList.remove('show');
15805
- el.classList.add('hide');
15806
- if (props.index) {
15807
- emit('close', props.index);
15808
- }
15809
- else {
15810
- emit('close');
15811
- }
15812
- };
15813
15235
  vue.onMounted(() => {
15236
+ if (props.visible) {
15237
+ visible.value = props.visible;
15238
+ }
15814
15239
  if (props.autohide) {
15815
- clearTimeout(timeout);
15816
- timeout = window.setTimeout(() => {
15240
+ clearTimeout(timeout.value);
15241
+ timeout.value = window.setTimeout(() => {
15817
15242
  visible.value = false;
15818
15243
  emit('close');
15819
15244
  }, props.delay);
@@ -15821,23 +15246,33 @@ const CToast = vue.defineComponent({
15821
15246
  });
15822
15247
  return () => vue.h(vue.Transition, {
15823
15248
  appear: true,
15824
- onBeforeEnter: (el) => handleBeforeEnter(el),
15825
- onEnter: (el, done) => handleEnter(el, done),
15826
- onLeave: (el, done) => handleLeave(el, done),
15827
- onAfterLeave: (el) => handleAfterLeave(el),
15828
- }, () => visible.value &&
15829
- vue.h('div', {
15830
- class: [
15831
- 'toast fade',
15832
- {
15833
- [`bg-${props.color}`]: props.color,
15834
- },
15835
- ],
15836
- 'aria-live': 'assertive',
15837
- 'aria-atomic': true,
15838
- role: 'alert',
15839
- ref: 'toastRef',
15840
- }, slots.default && slots.default()));
15249
+ enterFromClass: '',
15250
+ enterActiveClass: 'show showing',
15251
+ enterToClass: 'show',
15252
+ leaveFromClass: 'show',
15253
+ leaveActiveClass: 'show showing',
15254
+ leaveToClass: 'show',
15255
+ onAfterEnter: (el) => {
15256
+ el.classList.add('show');
15257
+ props.index ? emit('show', props.index) : emit('show');
15258
+ },
15259
+ onAfterLeave: () => {
15260
+ props.index ? emit('close', props.index) : emit('close');
15261
+ },
15262
+ }, {
15263
+ default: () => visible.value &&
15264
+ vue.h('div', {
15265
+ class: [
15266
+ 'toast fade',
15267
+ {
15268
+ [`bg-${props.color}`]: props.color,
15269
+ },
15270
+ ],
15271
+ 'aria-live': 'assertive',
15272
+ 'aria-atomic': true,
15273
+ role: 'alert',
15274
+ }, slots.default && slots.default()),
15275
+ });
15841
15276
  },
15842
15277
  });
15843
15278
 
@@ -15854,11 +15289,7 @@ const CToastClose = vue.defineComponent({
15854
15289
  /**
15855
15290
  * Component used for the root node. Either a string to use a HTML element or a component.
15856
15291
  */
15857
- component: {
15858
- type: String,
15859
- default: undefined,
15860
- required: false,
15861
- },
15292
+ component: String,
15862
15293
  ...CCloseButton.props,
15863
15294
  },
15864
15295
  emits: [
@@ -15899,8 +15330,6 @@ const CToaster = vue.defineComponent({
15899
15330
  */
15900
15331
  placement: {
15901
15332
  type: String,
15902
- default: undefined,
15903
- require: false,
15904
15333
  validator: (value) => {
15905
15334
  return [
15906
15335
  'top-start',
@@ -15940,10 +15369,7 @@ const CToastHeader = vue.defineComponent({
15940
15369
  /**
15941
15370
  * Automatically add a close button to the header.
15942
15371
  */
15943
- closeButton: {
15944
- type: Boolean,
15945
- require: false,
15946
- },
15372
+ closeButton: Boolean,
15947
15373
  },
15948
15374
  emits: [
15949
15375
  /**
@@ -15978,18 +15404,13 @@ const CTooltip = vue.defineComponent({
15978
15404
  /**
15979
15405
  * Content for your component. If you want to pass non-string value please use dedicated slot `<template #content>...</template>`
15980
15406
  */
15981
- content: {
15982
- type: String,
15983
- default: undefined,
15984
- required: false,
15985
- },
15407
+ content: String,
15986
15408
  /**
15987
15409
  * Offset of the tooltip relative to its target.
15988
15410
  */
15989
15411
  offset: {
15990
15412
  type: Array,
15991
15413
  default: () => [0, 0],
15992
- required: false,
15993
15414
  },
15994
15415
  /**
15995
15416
  * 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.
@@ -15997,7 +15418,6 @@ const CTooltip = vue.defineComponent({
15997
15418
  placement: {
15998
15419
  type: String,
15999
15420
  default: 'top',
16000
- required: false,
16001
15421
  validator: (value) => {
16002
15422
  return ['top', 'right', 'bottom', 'left'].includes(value);
16003
15423
  },
@@ -16010,7 +15430,6 @@ const CTooltip = vue.defineComponent({
16010
15430
  trigger: {
16011
15431
  type: [String, Array],
16012
15432
  default: 'hover',
16013
- required: false,
16014
15433
  validator: (value) => {
16015
15434
  if (typeof value === 'string') {
16016
15435
  return ['click', 'focus', 'hover'].includes(value);
@@ -16121,26 +15540,17 @@ const CTooltipPlugin = {
16121
15540
  const CWidgetStatsA = vue.defineComponent({
16122
15541
  name: 'CWidgetStatsA',
16123
15542
  props: {
16124
- color: {
16125
- type: String,
16126
- default: undefined,
16127
- require: false,
16128
- },
15543
+ color: String,
16129
15544
  /**
16130
15545
  * Title for your component. If you want to pass non-string value please use dedicated slot `<template #title>...</template>`
16131
15546
  */
16132
- title: {
16133
- type: String,
16134
- default: undefined,
16135
- require: false,
16136
- },
15547
+ title: String,
16137
15548
  /**
16138
15549
  * Value for your component. If you want to pass non-string or non-number value please use dedicated slot `<template #value>...</template>`
16139
15550
  */
16140
15551
  value: {
16141
15552
  type: [Number, String],
16142
- default: 0,
16143
- require: false,
15553
+ default: 0
16144
15554
  },
16145
15555
  },
16146
15556
  /**
@@ -16229,22 +15639,18 @@ const CWidgetStatsB = vue.defineComponent({
16229
15639
  *
16230
15640
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
16231
15641
  */
16232
- color: Color,
15642
+ color: Color$1,
16233
15643
  /**
16234
15644
  * Colors have been inverted from their default dark shade.
16235
15645
  */
16236
- inverse: {
16237
- type: Boolean,
16238
- default: undefined,
16239
- require: false,
16240
- },
15646
+ inverse: Boolean,
16241
15647
  progress: J({
16242
15648
  /**
16243
15649
  * Sets the color context of the progress bar to one of CoreUI’s themed colors
16244
15650
  *
16245
15651
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
16246
15652
  */
16247
- color: Color,
15653
+ color: Color$1,
16248
15654
  /**
16249
15655
  * The percent to progress the ProgressBar (out of 100).
16250
15656
  */
@@ -16256,26 +15662,17 @@ const CWidgetStatsB = vue.defineComponent({
16256
15662
  /**
16257
15663
  * Helper text for your component. If you want to pass non-string value please use dedicated slot `<template #text>...</template>`
16258
15664
  */
16259
- text: {
16260
- type: String,
16261
- default: undefined,
16262
- require: false,
16263
- },
15665
+ text: String,
16264
15666
  /**
16265
15667
  * Title for your component. If you want to pass non-string value please use dedicated slot `<template #title>...</template>`
16266
15668
  */
16267
- title: {
16268
- type: String,
16269
- default: undefined,
16270
- require: false,
16271
- },
15669
+ title: String,
16272
15670
  /**
16273
15671
  * Value for your component. If you want to pass non-string or non-number value please use dedicated slot `<template #value>...</template>`
16274
15672
  */
16275
15673
  value: {
16276
15674
  type: [Number, String],
16277
- default: 0,
16278
- require: false,
15675
+ default: 0
16279
15676
  },
16280
15677
  },
16281
15678
  setup(props, { slots }) {
@@ -16326,22 +15723,18 @@ const CWidgetStatsC = vue.defineComponent({
16326
15723
  *
16327
15724
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
16328
15725
  */
16329
- color: Color,
15726
+ color: Color$1,
16330
15727
  /**
16331
15728
  * Colors have been inverted from their default dark shade.
16332
15729
  */
16333
- inverse: {
16334
- type: Boolean,
16335
- default: undefined,
16336
- require: false,
16337
- },
15730
+ inverse: Boolean,
16338
15731
  progress: J({
16339
15732
  /**
16340
15733
  * Sets the color context of the progress bar to one of CoreUI’s themed colors
16341
15734
  *
16342
15735
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
16343
15736
  */
16344
- color: Color,
15737
+ color: Color$1,
16345
15738
  /**
16346
15739
  * The percent to progress the ProgressBar (out of 100).
16347
15740
  */
@@ -16353,18 +15746,13 @@ const CWidgetStatsC = vue.defineComponent({
16353
15746
  /**
16354
15747
  * Title for your component. If you want to pass non-string value please use dedicated slot `<template #title>...</template>`
16355
15748
  */
16356
- title: {
16357
- type: String,
16358
- default: undefined,
16359
- require: false,
16360
- },
15749
+ title: String,
16361
15750
  /**
16362
15751
  * Value for your component. If you want to pass non-string or non-number value please use dedicated slot `<template #value>...</template>`
16363
15752
  */
16364
15753
  value: {
16365
15754
  type: [Number, String],
16366
- default: 0,
16367
- require: false,
15755
+ default: 0
16368
15756
  },
16369
15757
  },
16370
15758
  /**
@@ -16424,14 +15812,13 @@ const CWidgetStatsD = vue.defineComponent({
16424
15812
  *
16425
15813
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
16426
15814
  */
16427
- color: Color,
15815
+ color: Color$1,
16428
15816
  /**
16429
15817
  * Values and titles for your component.
16430
15818
  */
16431
15819
  values: {
16432
15820
  type: Array,
16433
15821
  default: () => [],
16434
- require: false,
16435
15822
  },
16436
15823
  },
16437
15824
  /**
@@ -16480,18 +15867,13 @@ const CWidgetStatsE = vue.defineComponent({
16480
15867
  /**
16481
15868
  * Title for your component. If you want to pass non-string value please use dedicated slot `<template #title>...</template>`
16482
15869
  */
16483
- title: {
16484
- type: String,
16485
- default: undefined,
16486
- require: false,
16487
- },
15870
+ title: String,
16488
15871
  /**
16489
15872
  * Value for your component. If you want to pass non-string or non-number value please use dedicated slot `<template #value>...</template>`
16490
15873
  */
16491
15874
  value: {
16492
15875
  type: [Number, String],
16493
- default: 0,
16494
- require: false,
15876
+ default: 0
16495
15877
  },
16496
15878
  },
16497
15879
  /**
@@ -16529,7 +15911,7 @@ const CWidgetStatsF = vue.defineComponent({
16529
15911
  *
16530
15912
  * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light'
16531
15913
  */
16532
- color: Color,
15914
+ color: Color$1,
16533
15915
  /**
16534
15916
  * Set padding of your component.
16535
15917
  */
@@ -16540,26 +15922,17 @@ const CWidgetStatsF = vue.defineComponent({
16540
15922
  /**
16541
15923
  * Title for your component. If you want to pass non-string value please use dedicated slot `<template #title>...</template>`
16542
15924
  */
16543
- title: {
16544
- type: String,
16545
- default: undefined,
16546
- require: false,
16547
- },
15925
+ title: String,
16548
15926
  /**
16549
15927
  * Helper text for your component. If you want to pass non-string value please use dedicated slot `<template #text>...</template>`
16550
15928
  */
16551
- text: {
16552
- type: String,
16553
- default: undefined,
16554
- require: false,
16555
- },
15929
+ text: String,
16556
15930
  /**
16557
15931
  * Value for your component. If you want to pass non-string or non-number value please use dedicated slot `<template #value>...</template>`
16558
15932
  */
16559
15933
  value: {
16560
15934
  type: [Number, String],
16561
- default: 0,
16562
- require: false,
15935
+ default: 0
16563
15936
  },
16564
15937
  },
16565
15938
  /**