@coreui/vue-pro 5.18.0 → 5.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/carousel/CCarousel.d.ts +24 -2
  3. package/dist/cjs/components/carousel/CCarousel.js +51 -14
  4. package/dist/cjs/components/carousel/CCarousel.js.map +1 -1
  5. package/dist/cjs/components/carousel/CCarouselItem.js +3 -3
  6. package/dist/cjs/components/carousel/CCarouselItem.js.map +1 -1
  7. package/dist/cjs/components/chip/CChip.d.ts +97 -11
  8. package/dist/cjs/components/chip/CChip.js +107 -79
  9. package/dist/cjs/components/chip/CChip.js.map +1 -1
  10. package/dist/cjs/components/chip/const.d.ts +1 -0
  11. package/dist/cjs/components/chip/const.js +8 -0
  12. package/dist/cjs/components/chip/const.js.map +1 -0
  13. package/dist/cjs/components/chip-input/CChipInput.d.ts +30 -2
  14. package/dist/cjs/components/chip-input/CChipInput.js +108 -66
  15. package/dist/cjs/components/chip-input/CChipInput.js.map +1 -1
  16. package/dist/cjs/components/chip-set/CChipSet.d.ts +145 -0
  17. package/dist/cjs/components/chip-set/CChipSet.js +127 -0
  18. package/dist/cjs/components/chip-set/CChipSet.js.map +1 -0
  19. package/dist/cjs/components/chip-set/buildChips.d.ts +13 -0
  20. package/dist/cjs/components/chip-set/buildChips.js +19 -0
  21. package/dist/cjs/components/chip-set/buildChips.js.map +1 -0
  22. package/dist/cjs/components/chip-set/index.d.ts +2 -0
  23. package/dist/cjs/components/chip-set/useChipSet.d.ts +42 -0
  24. package/dist/cjs/components/chip-set/useChipSet.js +115 -0
  25. package/dist/cjs/components/chip-set/useChipSet.js.map +1 -0
  26. package/dist/cjs/components/collapse/CCollapse.js +2 -2
  27. package/dist/cjs/components/collapse/CCollapse.js.map +1 -1
  28. package/dist/cjs/components/dropdown/CDropdown.d.ts +24 -1
  29. package/dist/cjs/components/dropdown/CDropdown.js +34 -17
  30. package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
  31. package/dist/cjs/components/dropdown/CDropdownToggle.js +1 -1
  32. package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
  33. package/dist/cjs/components/focus-trap/CFocusTrap.js +4 -1
  34. package/dist/cjs/components/focus-trap/CFocusTrap.js.map +1 -1
  35. package/dist/cjs/components/form/CFormInput.d.ts +3 -0
  36. package/dist/cjs/components/form/CFormRange.d.ts +2 -2
  37. package/dist/cjs/components/form/CFormRange.js +2 -2
  38. package/dist/cjs/components/form/CFormRange.js.map +1 -1
  39. package/dist/cjs/components/grid/CContainer.js +3 -1
  40. package/dist/cjs/components/grid/CContainer.js.map +1 -1
  41. package/dist/cjs/components/index.d.ts +2 -0
  42. package/dist/cjs/components/index.js +30 -24
  43. package/dist/cjs/components/index.js.map +1 -1
  44. package/dist/cjs/components/modal/CModal.js +3 -2
  45. package/dist/cjs/components/modal/CModal.js.map +1 -1
  46. package/dist/cjs/components/modal/CModalHeader.js +6 -3
  47. package/dist/cjs/components/modal/CModalHeader.js.map +1 -1
  48. package/dist/cjs/components/multi-select/CMultiSelect.d.ts +206 -3
  49. package/dist/cjs/components/multi-select/CMultiSelect.js +304 -28
  50. package/dist/cjs/components/multi-select/CMultiSelect.js.map +1 -1
  51. package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js +1 -2
  52. package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
  53. package/dist/cjs/components/multi-select/CMultiSelectOptions.d.ts +16 -1
  54. package/dist/cjs/components/multi-select/CMultiSelectOptions.js +59 -3
  55. package/dist/cjs/components/multi-select/CMultiSelectOptions.js.map +1 -1
  56. package/dist/cjs/components/multi-select/CMultiSelectSelection.d.ts +9 -0
  57. package/dist/cjs/components/multi-select/CMultiSelectSelection.js +6 -1
  58. package/dist/cjs/components/multi-select/CMultiSelectSelection.js.map +1 -1
  59. package/dist/cjs/components/multi-select/utils.js +0 -3
  60. package/dist/cjs/components/multi-select/utils.js.map +1 -1
  61. package/dist/cjs/components/nav/CNav.js +8 -1
  62. package/dist/cjs/components/nav/CNav.js.map +1 -1
  63. package/dist/cjs/components/nav/CNavGroup.d.ts +15 -7
  64. package/dist/cjs/components/nav/CNavGroup.js +113 -88
  65. package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
  66. package/dist/cjs/components/nav/CNavLink.js +11 -0
  67. package/dist/cjs/components/nav/CNavLink.js.map +1 -1
  68. package/dist/cjs/components/popover/CPopover.d.ts +24 -1
  69. package/dist/cjs/components/popover/CPopover.js +18 -1
  70. package/dist/cjs/components/popover/CPopover.js.map +1 -1
  71. package/dist/cjs/components/range-slider/CRangeSlider.d.ts +1 -1
  72. package/dist/cjs/components/search-button/CSearchButton.d.ts +63 -0
  73. package/dist/cjs/components/search-button/CSearchButton.js +125 -0
  74. package/dist/cjs/components/search-button/CSearchButton.js.map +1 -0
  75. package/dist/cjs/components/search-button/index.d.ts +6 -0
  76. package/dist/cjs/components/search-button/index.js +13 -0
  77. package/dist/cjs/components/search-button/index.js.map +1 -0
  78. package/dist/cjs/components/search-button/types.d.ts +10 -0
  79. package/dist/cjs/components/search-button/utils.d.ts +11 -0
  80. package/dist/cjs/components/search-button/utils.js +114 -0
  81. package/dist/cjs/components/search-button/utils.js.map +1 -0
  82. package/dist/cjs/components/sidebar/CSidebar.js +4 -3
  83. package/dist/cjs/components/sidebar/CSidebar.js.map +1 -1
  84. package/dist/cjs/components/sidebar/CSidebarNav.d.ts +32 -0
  85. package/dist/cjs/components/sidebar/CSidebarNav.js +28 -24
  86. package/dist/cjs/components/sidebar/CSidebarNav.js.map +1 -1
  87. package/dist/cjs/components/spinner/CSpinner.d.ts +4 -4
  88. package/dist/cjs/components/spinner/CSpinner.js +2 -2
  89. package/dist/cjs/components/spinner/CSpinner.js.map +1 -1
  90. package/dist/cjs/components/table/utils.js +4 -4
  91. package/dist/cjs/components/table/utils.js.map +1 -1
  92. package/dist/cjs/components/tabs/CTabList.js +8 -2
  93. package/dist/cjs/components/tabs/CTabList.js.map +1 -1
  94. package/dist/cjs/components/tabs/CTabs.js +1 -1
  95. package/dist/cjs/components/tabs/CTabs.js.map +1 -1
  96. package/dist/cjs/components/toast/CToast.js +12 -2
  97. package/dist/cjs/components/toast/CToast.js.map +1 -1
  98. package/dist/cjs/components/toast/CToastClose.d.ts +3 -2
  99. package/dist/cjs/components/toast/CToastClose.js +2 -3
  100. package/dist/cjs/components/toast/CToastClose.js.map +1 -1
  101. package/dist/cjs/components/tooltip/CTooltip.d.ts +24 -1
  102. package/dist/cjs/components/tooltip/CTooltip.js +18 -1
  103. package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
  104. package/dist/cjs/directives/v-c-popover.js +6 -3
  105. package/dist/cjs/directives/v-c-popover.js.map +1 -1
  106. package/dist/cjs/directives/v-c-tooltip.js +6 -3
  107. package/dist/cjs/directives/v-c-tooltip.js.map +1 -1
  108. package/dist/cjs/directives/v-c-visible.js +1 -1
  109. package/dist/cjs/directives/v-c-visible.js.map +1 -1
  110. package/dist/cjs/index.js +36 -30
  111. package/dist/cjs/index.js.map +1 -1
  112. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-arrow-bottom.js +1 -1
  113. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-arrow-bottom.js.map +1 -1
  114. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-arrow-top.js +1 -1
  115. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-arrow-top.js.map +1 -1
  116. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-filter-x.js +1 -1
  117. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-filter-x.js.map +1 -1
  118. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-swap-vertical.js +1 -1
  119. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-swap-vertical.js.map +1 -1
  120. package/dist/cjs/utils/index.d.ts +2 -1
  121. package/dist/cjs/utils/swipe.d.ts +26 -0
  122. package/dist/cjs/utils/swipe.js +94 -0
  123. package/dist/cjs/utils/swipe.js.map +1 -0
  124. package/dist/cjs/utils/transition.js.map +1 -1
  125. package/dist/esm/components/carousel/CCarousel.d.ts +24 -2
  126. package/dist/esm/components/carousel/CCarousel.js +52 -15
  127. package/dist/esm/components/carousel/CCarousel.js.map +1 -1
  128. package/dist/esm/components/carousel/CCarouselItem.js +3 -3
  129. package/dist/esm/components/carousel/CCarouselItem.js.map +1 -1
  130. package/dist/esm/components/chip/CChip.d.ts +97 -11
  131. package/dist/esm/components/chip/CChip.js +108 -80
  132. package/dist/esm/components/chip/CChip.js.map +1 -1
  133. package/dist/esm/components/chip/const.d.ts +1 -0
  134. package/dist/esm/components/chip/const.js +6 -0
  135. package/dist/esm/components/chip/const.js.map +1 -0
  136. package/dist/esm/components/chip-input/CChipInput.d.ts +30 -2
  137. package/dist/esm/components/chip-input/CChipInput.js +109 -67
  138. package/dist/esm/components/chip-input/CChipInput.js.map +1 -1
  139. package/dist/esm/components/chip-set/CChipSet.d.ts +145 -0
  140. package/dist/esm/components/chip-set/CChipSet.js +125 -0
  141. package/dist/esm/components/chip-set/CChipSet.js.map +1 -0
  142. package/dist/esm/components/chip-set/buildChips.d.ts +13 -0
  143. package/dist/esm/components/chip-set/buildChips.js +17 -0
  144. package/dist/esm/components/chip-set/buildChips.js.map +1 -0
  145. package/dist/esm/components/chip-set/index.d.ts +2 -0
  146. package/dist/esm/components/chip-set/useChipSet.d.ts +42 -0
  147. package/dist/esm/components/chip-set/useChipSet.js +112 -0
  148. package/dist/esm/components/chip-set/useChipSet.js.map +1 -0
  149. package/dist/esm/components/collapse/CCollapse.js +2 -2
  150. package/dist/esm/components/collapse/CCollapse.js.map +1 -1
  151. package/dist/esm/components/dropdown/CDropdown.d.ts +24 -1
  152. package/dist/esm/components/dropdown/CDropdown.js +34 -17
  153. package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
  154. package/dist/esm/components/dropdown/CDropdownToggle.js +1 -1
  155. package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
  156. package/dist/esm/components/focus-trap/CFocusTrap.js +4 -1
  157. package/dist/esm/components/focus-trap/CFocusTrap.js.map +1 -1
  158. package/dist/esm/components/form/CFormInput.d.ts +3 -0
  159. package/dist/esm/components/form/CFormRange.d.ts +2 -2
  160. package/dist/esm/components/form/CFormRange.js +2 -2
  161. package/dist/esm/components/form/CFormRange.js.map +1 -1
  162. package/dist/esm/components/grid/CContainer.js +3 -1
  163. package/dist/esm/components/grid/CContainer.js.map +1 -1
  164. package/dist/esm/components/index.d.ts +2 -0
  165. package/dist/esm/components/index.js +3 -0
  166. package/dist/esm/components/index.js.map +1 -1
  167. package/dist/esm/components/modal/CModal.js +3 -2
  168. package/dist/esm/components/modal/CModal.js.map +1 -1
  169. package/dist/esm/components/modal/CModalHeader.js +6 -3
  170. package/dist/esm/components/modal/CModalHeader.js.map +1 -1
  171. package/dist/esm/components/multi-select/CMultiSelect.d.ts +206 -3
  172. package/dist/esm/components/multi-select/CMultiSelect.js +305 -29
  173. package/dist/esm/components/multi-select/CMultiSelect.js.map +1 -1
  174. package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js +1 -2
  175. package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
  176. package/dist/esm/components/multi-select/CMultiSelectOptions.d.ts +16 -1
  177. package/dist/esm/components/multi-select/CMultiSelectOptions.js +59 -3
  178. package/dist/esm/components/multi-select/CMultiSelectOptions.js.map +1 -1
  179. package/dist/esm/components/multi-select/CMultiSelectSelection.d.ts +9 -0
  180. package/dist/esm/components/multi-select/CMultiSelectSelection.js +6 -1
  181. package/dist/esm/components/multi-select/CMultiSelectSelection.js.map +1 -1
  182. package/dist/esm/components/multi-select/utils.js +0 -3
  183. package/dist/esm/components/multi-select/utils.js.map +1 -1
  184. package/dist/esm/components/nav/CNav.js +8 -1
  185. package/dist/esm/components/nav/CNav.js.map +1 -1
  186. package/dist/esm/components/nav/CNavGroup.d.ts +15 -7
  187. package/dist/esm/components/nav/CNavGroup.js +114 -89
  188. package/dist/esm/components/nav/CNavGroup.js.map +1 -1
  189. package/dist/esm/components/nav/CNavLink.js +12 -1
  190. package/dist/esm/components/nav/CNavLink.js.map +1 -1
  191. package/dist/esm/components/popover/CPopover.d.ts +24 -1
  192. package/dist/esm/components/popover/CPopover.js +18 -1
  193. package/dist/esm/components/popover/CPopover.js.map +1 -1
  194. package/dist/esm/components/range-slider/CRangeSlider.d.ts +1 -1
  195. package/dist/esm/components/search-button/CSearchButton.d.ts +63 -0
  196. package/dist/esm/components/search-button/CSearchButton.js +123 -0
  197. package/dist/esm/components/search-button/CSearchButton.js.map +1 -0
  198. package/dist/esm/components/search-button/index.d.ts +6 -0
  199. package/dist/esm/components/search-button/index.js +10 -0
  200. package/dist/esm/components/search-button/index.js.map +1 -0
  201. package/dist/esm/components/search-button/types.d.ts +10 -0
  202. package/dist/esm/components/search-button/utils.d.ts +11 -0
  203. package/dist/esm/components/search-button/utils.js +103 -0
  204. package/dist/esm/components/search-button/utils.js.map +1 -0
  205. package/dist/esm/components/sidebar/CSidebar.js +4 -3
  206. package/dist/esm/components/sidebar/CSidebar.js.map +1 -1
  207. package/dist/esm/components/sidebar/CSidebarNav.d.ts +32 -0
  208. package/dist/esm/components/sidebar/CSidebarNav.js +29 -25
  209. package/dist/esm/components/sidebar/CSidebarNav.js.map +1 -1
  210. package/dist/esm/components/spinner/CSpinner.d.ts +4 -4
  211. package/dist/esm/components/spinner/CSpinner.js +2 -2
  212. package/dist/esm/components/spinner/CSpinner.js.map +1 -1
  213. package/dist/esm/components/table/utils.js +4 -4
  214. package/dist/esm/components/table/utils.js.map +1 -1
  215. package/dist/esm/components/tabs/CTabList.js +8 -2
  216. package/dist/esm/components/tabs/CTabList.js.map +1 -1
  217. package/dist/esm/components/tabs/CTabs.js +1 -1
  218. package/dist/esm/components/tabs/CTabs.js.map +1 -1
  219. package/dist/esm/components/toast/CToast.js +12 -2
  220. package/dist/esm/components/toast/CToast.js.map +1 -1
  221. package/dist/esm/components/toast/CToastClose.d.ts +3 -2
  222. package/dist/esm/components/toast/CToastClose.js +2 -3
  223. package/dist/esm/components/toast/CToastClose.js.map +1 -1
  224. package/dist/esm/components/tooltip/CTooltip.d.ts +24 -1
  225. package/dist/esm/components/tooltip/CTooltip.js +18 -1
  226. package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
  227. package/dist/esm/directives/v-c-popover.js +6 -3
  228. package/dist/esm/directives/v-c-popover.js.map +1 -1
  229. package/dist/esm/directives/v-c-tooltip.js +6 -3
  230. package/dist/esm/directives/v-c-tooltip.js.map +1 -1
  231. package/dist/esm/directives/v-c-visible.js +1 -1
  232. package/dist/esm/directives/v-c-visible.js.map +1 -1
  233. package/dist/esm/index.js +3 -0
  234. package/dist/esm/index.js.map +1 -1
  235. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-arrow-bottom.js +1 -1
  236. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-arrow-bottom.js.map +1 -1
  237. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-arrow-top.js +1 -1
  238. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-arrow-top.js.map +1 -1
  239. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-filter-x.js +1 -1
  240. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-filter-x.js.map +1 -1
  241. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-swap-vertical.js +1 -1
  242. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-swap-vertical.js.map +1 -1
  243. package/dist/esm/utils/index.d.ts +2 -1
  244. package/dist/esm/utils/swipe.d.ts +26 -0
  245. package/dist/esm/utils/swipe.js +90 -0
  246. package/dist/esm/utils/swipe.js.map +1 -0
  247. package/dist/esm/utils/transition.js.map +1 -1
  248. package/package.json +6 -6
  249. package/src/components/accordion/CAccordion.ts +2 -2
  250. package/src/components/accordion/CAccordionBody.ts +1 -1
  251. package/src/components/accordion/CAccordionButton.ts +1 -1
  252. package/src/components/accordion/CAccordionHeader.ts +2 -2
  253. package/src/components/accordion/__tests__/__snapshots__/CAccordionButton.spec.ts.snap +1 -1
  254. package/src/components/accordion/__tests__/__snapshots__/CAccordionHeader.spec.ts.snap +1 -1
  255. package/src/components/alert/CAlert.ts +3 -3
  256. package/src/components/alert/CAlertHeading.ts +1 -1
  257. package/src/components/alert/CAlertLink.ts +1 -1
  258. package/src/components/autocomplete/__tests__/CAutocomplete.spec.ts +5 -1
  259. package/src/components/autocomplete/__tests__/CAutocompleteOptions.spec.ts +8 -5
  260. package/src/components/avatar/CAvatar.ts +1 -1
  261. package/src/components/backdrop/CBackdrop.ts +1 -1
  262. package/src/components/badge/CBadge.ts +1 -1
  263. package/src/components/breadcrumb/CBreadcrumb.ts +1 -1
  264. package/src/components/breadcrumb/CBreadcrumbItem.ts +1 -1
  265. package/src/components/button/CButton.ts +1 -1
  266. package/src/components/button/__tests__/CButton.spec.ts +0 -1
  267. package/src/components/button/__tests__/__snapshots__/CButton.spec.ts.snap +1 -1
  268. package/src/components/button-group/CButtonGroup.ts +1 -1
  269. package/src/components/callout/CCallout.ts +1 -1
  270. package/src/components/card/CCard.ts +1 -1
  271. package/src/components/card/CCardImage.ts +1 -1
  272. package/src/components/card/CCardLink.ts +1 -1
  273. package/src/components/carousel/CCarousel.ts +61 -22
  274. package/src/components/carousel/CCarouselCaption.ts +1 -1
  275. package/src/components/carousel/CCarouselItem.ts +5 -4
  276. package/src/components/carousel/__tests__/CCarousel.spec.ts +1 -1
  277. package/src/components/chip/CChip.ts +123 -101
  278. package/src/components/chip/__tests__/CChip.spec.ts +26 -0
  279. package/src/components/chip/const.ts +3 -0
  280. package/src/components/chip-input/CChipInput.ts +134 -82
  281. package/src/components/chip-input/__tests__/CChipInput.spec.ts +80 -4
  282. package/src/components/chip-input/__tests__/__snapshots__/CChipInput.spec.ts.snap +1 -1
  283. package/src/components/chip-set/CChipSet.ts +140 -0
  284. package/src/components/chip-set/__tests__/CChipSet.spec.ts +174 -0
  285. package/src/components/chip-set/buildChips.ts +29 -0
  286. package/src/components/chip-set/index.ts +3 -0
  287. package/src/components/chip-set/useChipSet.ts +168 -0
  288. package/src/components/collapse/CCollapse.ts +5 -5
  289. package/src/components/collapse/__tests__/CCollapse.spec.ts +48 -0
  290. package/src/components/collapse/__tests__/__snapshots__/CCollapse.spec.ts.snap +7 -0
  291. package/src/components/conditional-teleport/CConditionalTeleport.ts +3 -3
  292. package/src/components/conditional-teleport/__tests__/CConditionalTeleport.spec.ts +28 -0
  293. package/src/components/dropdown/CDropdown.ts +43 -23
  294. package/src/components/dropdown/CDropdownHeader.ts +1 -1
  295. package/src/components/dropdown/CDropdownItem.ts +1 -1
  296. package/src/components/dropdown/CDropdownMenu.ts +2 -2
  297. package/src/components/dropdown/CDropdownToggle.ts +4 -4
  298. package/src/components/dropdown/__tests__/CDropdown.spec.ts +1 -1
  299. package/src/components/dropdown/__tests__/CDropdownMenu.spec.ts +11 -7
  300. package/src/components/dropdown/__tests__/CDropdownPopperConfig.spec.ts +63 -0
  301. package/src/components/dropdown/__tests__/CDropdownToggle.spec.ts +0 -2
  302. package/src/components/dropdown/__tests__/__snapshots__/CDropdown.spec.ts.snap +1 -1
  303. package/src/components/dropdown/__tests__/__snapshots__/CDropdownMenu.spec.ts.snap +4 -0
  304. package/src/components/dropdown/utils.ts +2 -2
  305. package/src/components/focus-trap/CFocusTrap.ts +9 -6
  306. package/src/components/focus-trap/__tests__/CFocusTrap.spec.ts +42 -0
  307. package/src/components/footer/CFooter.ts +1 -1
  308. package/src/components/form/CForm.ts +1 -1
  309. package/src/components/form/CFormCheck.ts +5 -5
  310. package/src/components/form/CFormControlValidation.ts +3 -3
  311. package/src/components/form/CFormFeedback.ts +1 -1
  312. package/src/components/form/CFormFloating.ts +1 -1
  313. package/src/components/form/CFormInput.ts +2 -2
  314. package/src/components/form/CFormLabel.ts +1 -1
  315. package/src/components/form/CFormRange.ts +4 -4
  316. package/src/components/form/CFormSelect.ts +3 -3
  317. package/src/components/form/CFormSwitch.ts +2 -2
  318. package/src/components/form/CFormTextarea.ts +2 -2
  319. package/src/components/form/CInputGroup.ts +1 -1
  320. package/src/components/form/__tests__/CFormRange.spec.ts +2 -2
  321. package/src/components/form/__tests__/CFormText.spec.ts +1 -1
  322. package/src/components/form/__tests__/__snapshots__/CFormRange.spec.ts.snap +1 -1
  323. package/src/components/grid/CCol.ts +1 -1
  324. package/src/components/grid/CContainer.ts +4 -2
  325. package/src/components/grid/CRow.ts +1 -1
  326. package/src/components/header/CHeader.ts +2 -2
  327. package/src/components/header/CHeaderNav.ts +1 -1
  328. package/src/components/header/CHeaderToggler.ts +1 -1
  329. package/src/components/header/__tests__/CHeader.spec.ts +1 -2
  330. package/src/components/index.ts +2 -0
  331. package/src/components/link/CLink.ts +1 -1
  332. package/src/components/list-group/CListGroup.ts +1 -1
  333. package/src/components/list-group/CListGroupItem.ts +1 -1
  334. package/src/components/modal/CModal.ts +3 -2
  335. package/src/components/modal/CModalHeader.ts +10 -3
  336. package/src/components/modal/__tests__/__snapshots__/CModal.spec.ts.snap +9 -4
  337. package/src/components/multi-select/CMultiSelect.ts +380 -41
  338. package/src/components/multi-select/CMultiSelectNativeSelect.ts +1 -2
  339. package/src/components/multi-select/CMultiSelectOptions.ts +77 -3
  340. package/src/components/multi-select/CMultiSelectSelection.ts +6 -1
  341. package/src/components/nav/CNav.ts +9 -2
  342. package/src/components/nav/CNavGroup.ts +147 -99
  343. package/src/components/nav/CNavItem.ts +2 -2
  344. package/src/components/nav/CNavLink.ts +19 -2
  345. package/src/components/nav/__tests__/CNavGroup.spec.ts +188 -6
  346. package/src/components/nav/__tests__/CNavItem.spec.ts +6 -6
  347. package/src/components/nav/__tests__/__snapshots__/CNavGroup.spec.ts.snap +3 -7
  348. package/src/components/nav/__tests__/__snapshots__/CNavItem.spec.ts.snap +1 -5
  349. package/src/components/navbar/CNavbar.ts +2 -2
  350. package/src/components/navbar/CNavbarBrand.ts +1 -1
  351. package/src/components/navbar/CNavbarNav.ts +1 -1
  352. package/src/components/navbar/CNavbarToggler.ts +1 -1
  353. package/src/components/navbar/__tests__/CNavbar.spec.ts +1 -1
  354. package/src/components/pagination/CPagination.ts +2 -2
  355. package/src/components/pagination/CPaginationItem.ts +2 -2
  356. package/src/components/placeholder/CPlaceholder.ts +1 -1
  357. package/src/components/popover/CPopover.ts +27 -7
  358. package/src/components/popover/__tests__/CPopover.spec.ts +43 -0
  359. package/src/components/progress/CProgress.ts +2 -2
  360. package/src/components/progress/CProgressBar.ts +1 -1
  361. package/src/components/progress/CProgressStacked.ts +1 -1
  362. package/src/components/progress/__tests__/CProgressBar.spec.ts +0 -4
  363. package/src/components/search-button/CSearchButton.ts +163 -0
  364. package/src/components/search-button/__tests__/CSearchButton.spec.ts +128 -0
  365. package/src/components/search-button/__tests__/__snapshots__/CSearchButton.spec.ts.snap +13 -0
  366. package/src/components/search-button/index.ts +10 -0
  367. package/src/components/search-button/types.ts +10 -0
  368. package/src/components/search-button/utils.ts +140 -0
  369. package/src/components/sidebar/CSidebar.ts +9 -6
  370. package/src/components/sidebar/CSidebarBrand.ts +1 -1
  371. package/src/components/sidebar/CSidebarNav.ts +30 -28
  372. package/src/components/sidebar/__tests__/CSidebar.spec.ts +1 -1
  373. package/src/components/spinner/CSpinner.ts +6 -6
  374. package/src/components/spinner/__tests__/CSpinner.spec.ts +0 -1
  375. package/src/components/stepper/__tests__/CStepper.spec.ts +13 -8
  376. package/src/components/table/CTable.ts +16 -16
  377. package/src/components/table/CTableBody.ts +1 -1
  378. package/src/components/table/CTableDataCell.ts +1 -1
  379. package/src/components/table/CTableFoot.ts +1 -1
  380. package/src/components/table/CTableHead.ts +1 -1
  381. package/src/components/table/CTableHeaderCell.ts +1 -1
  382. package/src/components/table/CTableRow.ts +1 -1
  383. package/src/components/table/types.ts +1 -0
  384. package/src/components/table/utils.ts +4 -4
  385. package/src/components/tabs/CTab.ts +1 -1
  386. package/src/components/tabs/CTabList.ts +12 -5
  387. package/src/components/tabs/CTabPane.ts +3 -3
  388. package/src/components/tabs/CTabPanel.ts +5 -5
  389. package/src/components/tabs/CTabs.ts +2 -2
  390. package/src/components/tabs/__tests__/__snapshots__/CTabPane.spec.ts.snap +1 -1
  391. package/src/components/toast/CToast.ts +12 -4
  392. package/src/components/toast/CToastClose.ts +5 -6
  393. package/src/components/toast/CToaster.ts +1 -1
  394. package/src/components/toast/__tests__/CToaster.spec.ts +0 -2
  395. package/src/components/toast/__tests__/__snapshots__/CToastClose.spec.ts.snap +1 -1
  396. package/src/components/tooltip/CTooltip.ts +26 -6
  397. package/src/components/tooltip/__tests__/CTooltip.spec.ts +43 -0
  398. package/src/components/widgets/CWidgetStatsA.ts +4 -4
  399. package/src/components/widgets/CWidgetStatsB.ts +5 -5
  400. package/src/components/widgets/CWidgetStatsC.ts +5 -5
  401. package/src/components/widgets/CWidgetStatsD.ts +5 -5
  402. package/src/components/widgets/CWidgetStatsE.ts +4 -4
  403. package/src/components/widgets/CWidgetStatsF.ts +5 -5
  404. package/src/directives/__tests__/v-c-placeholder.spec.ts +33 -0
  405. package/src/directives/__tests__/v-c-popover.spec.ts +67 -0
  406. package/src/directives/__tests__/v-c-tooltip.spec.ts +66 -0
  407. package/src/directives/v-c-popover.ts +8 -5
  408. package/src/directives/v-c-tooltip.ts +8 -5
  409. package/src/directives/v-c-visible.ts +1 -1
  410. package/src/index.ts +1 -1
  411. package/src/utils/ComponentProps.ts +1 -0
  412. package/src/utils/__tests__/swipe.spec.ts +82 -0
  413. package/src/utils/getNextActiveElement.ts +1 -1
  414. package/src/utils/index.ts +2 -0
  415. package/src/utils/swipe.ts +114 -0
  416. package/src/utils/transition.ts +2 -2
  417. package/dist/cjs/components/collapse/__test__/CCollapse.spec.d.ts +0 -1
  418. package/dist/esm/components/collapse/__test__/CCollapse.spec.d.ts +0 -1
  419. package/src/components/accordion/__tests__/CAccordionCollapse.spec.ts +0 -28
  420. package/src/components/accordion/__tests__/__snapshots__/CAccordionCollapse.spec.ts.snap +0 -7
  421. package/src/components/collapse/__test__/CCollapse.spec.ts +0 -44
  422. package/src/components/collapse/__test__/__snapshots__/CCollapse.spec.ts.snap +0 -13
@@ -142,7 +142,7 @@ const CDropdownToggle = defineComponent({
142
142
  event.preventDefault()
143
143
  setVisible(true, event)
144
144
  }
145
- }
145
+ },
146
146
  }
147
147
 
148
148
  const togglerProps = computed(() => {
@@ -174,7 +174,7 @@ const CDropdownToggle = defineComponent({
174
174
  togglerRef.value = el
175
175
  },
176
176
  ...triggers,
177
- }),
177
+ })
178
178
  )
179
179
  : dropdownVariant === 'nav-item' && props.navLink
180
180
  ? h(
@@ -185,7 +185,7 @@ const CDropdownToggle = defineComponent({
185
185
  role: 'button',
186
186
  ref: dropdownToggleRef,
187
187
  },
188
- { default: () => slots.default && slots.default() },
188
+ { default: () => slots.default && slots.default() }
189
189
  )
190
190
  : h(
191
191
  CButton,
@@ -204,7 +204,7 @@ const CDropdownToggle = defineComponent({
204
204
  () =>
205
205
  props.split
206
206
  ? h('span', { class: 'visually-hidden' }, props.splitLabel)
207
- : slots.default && slots.default(),
207
+ : slots.default && slots.default()
208
208
  )
209
209
  },
210
210
  })
@@ -45,7 +45,7 @@ describe(`Loads and display ${ComponentName} component`, () => {
45
45
  })
46
46
  it('contain slots and classes', () => {
47
47
  expect(defaultWrapper.text()).toContain('Default slot')
48
- expect(defaultWrapper.classes('btn-group')).toBe(true)
48
+ expect(defaultWrapper.classes('dropdown')).toBe(true)
49
49
  })
50
50
  })
51
51
 
@@ -8,12 +8,14 @@ const config = {
8
8
  alignment: { lg: 'end' },
9
9
  dark: false,
10
10
  popper: true,
11
+ teleport: false,
11
12
  }
12
13
 
13
14
  const customConfig = {
14
15
  alignment: { lg: 'end' },
15
16
  dark: true,
16
17
  popper: false,
18
+ teleport: false,
17
19
  }
18
20
 
19
21
  const defaultWrapper = mount(Component, {
@@ -55,9 +57,10 @@ describe(`Loads and display ${ComponentName} component`, () => {
55
57
  })
56
58
  it('contain slots and classes', () => {
57
59
  expect(defaultWrapper.text()).toContain('Default slot')
58
- expect(defaultWrapper.classes('dropdown-menu')).toBe(true)
59
- expect(defaultWrapper.classes('dropdown-menu-dark')).toBe(false)
60
- expect(defaultWrapper.classes('show')).toBe(false)
60
+ const menu = defaultWrapper.find('.dropdown-menu')
61
+ expect(menu.classes('dropdown-menu')).toBe(true)
62
+ expect(menu.attributes('data-coreui-theme')).toBeUndefined()
63
+ expect(menu.classes('show')).toBe(false)
61
64
  })
62
65
  })
63
66
 
@@ -68,9 +71,10 @@ describe(`Customize ${ComponentName} component`, () => {
68
71
  it('contain slots and classes', () => {
69
72
  expect(customWrapper.text()).toContain('Default slot')
70
73
  expect(customWrapper.find('li').text()).toContain('Default slot')
71
- expect(customWrapper.classes('dropdown-menu')).toBe(true)
72
- expect(customWrapper.classes('dropdown-menu-dark')).toBe(true)
73
- expect(customWrapper.classes('show')).toBe(true)
74
- expect(customWrapper.attributes('data-coreui-popper')).toBe('static')
74
+ const menu = customWrapper.find('.dropdown-menu')
75
+ expect(menu.classes('dropdown-menu')).toBe(true)
76
+ expect(menu.attributes('data-coreui-theme')).toBe('dark')
77
+ expect(menu.classes('show')).toBe(true)
78
+ expect(menu.attributes('data-coreui-popper')).toBe('static')
75
79
  })
76
80
  })
@@ -0,0 +1,63 @@
1
+ import { mount } from '@vue/test-utils'
2
+ import { h, nextTick } from 'vue'
3
+ import { createPopper } from '@popperjs/core'
4
+ import type { Options } from '@popperjs/core'
5
+ import { CDropdown, CDropdownMenu, CDropdownToggle } from '../../../index'
6
+
7
+ type PopperConfig = Partial<Options> | ((defaultPopperConfig: Partial<Options>) => Partial<Options>)
8
+
9
+ jest.mock('@popperjs/core', () => ({
10
+ createPopper: jest.fn(() => ({
11
+ destroy: jest.fn(),
12
+ setOptions: jest.fn(),
13
+ update: jest.fn(),
14
+ })),
15
+ }))
16
+
17
+ const mockedCreatePopper = createPopper as jest.Mock
18
+
19
+ const mountOpenDropdown = async (popperConfig: PopperConfig) => {
20
+ const wrapper = mount(CDropdown, {
21
+ props: { popperConfig },
22
+ slots: {
23
+ default: () => [h(CDropdownToggle, () => 'Toggle'), h(CDropdownMenu, () => 'Menu')],
24
+ },
25
+ })
26
+
27
+ await nextTick()
28
+ await wrapper.setProps({ visible: true })
29
+ await nextTick()
30
+
31
+ return wrapper
32
+ }
33
+
34
+ describe('CDropdown popperConfig', () => {
35
+ beforeEach(() => mockedCreatePopper.mockClear())
36
+
37
+ it('merges an object popperConfig over the default config', async () => {
38
+ await mountOpenDropdown({ strategy: 'fixed' })
39
+
40
+ expect(mockedCreatePopper).toHaveBeenCalled()
41
+ const options = mockedCreatePopper.mock.calls[0][2]
42
+ expect(options.strategy).toBe('fixed')
43
+ expect(options.placement).toBeDefined()
44
+ expect(options.modifiers).toBeDefined()
45
+ })
46
+
47
+ it('passes the default config to a function popperConfig and uses its result', async () => {
48
+ const popperConfig = jest.fn((defaultConfig: Partial<Options>) => ({
49
+ ...defaultConfig,
50
+ strategy: 'fixed' as const,
51
+ }))
52
+
53
+ await mountOpenDropdown(popperConfig)
54
+
55
+ expect(popperConfig).toHaveBeenCalledTimes(1)
56
+ const defaultArg = popperConfig.mock.calls[0][0]
57
+ expect(defaultArg.modifiers).toBeDefined()
58
+ expect(defaultArg.placement).toBeDefined()
59
+
60
+ const options = mockedCreatePopper.mock.calls[0][2]
61
+ expect(options.strategy).toBe('fixed')
62
+ })
63
+ })
@@ -93,9 +93,7 @@ describe(`Customize ${ComponentName} component`, () => {
93
93
  expect(customWrapper.classes('nav-link')).toBe(true)
94
94
  expect(customWrapper.classes('dropdown-toggle-split')).toBe(true)
95
95
  expect(customWrapper.classes('show')).toBe(true)
96
- expect(customWrapper.classes('active')).toBe(true)
97
96
  expect(customWrapper.classes('disabled')).toBe(true)
98
- expect(customWrapper.attributes('disabled')).toBe('true')
99
97
  expect(customWrapper.attributes('href')).toBe('#')
100
98
  })
101
99
  })
@@ -4,4 +4,4 @@ exports[`Customize (variant number two) CDropdown component renders correctly 1`
4
4
 
5
5
  exports[`Customize CDropdown component renders correctly 1`] = `"<div class="nav-item dropdown dropend">Default slot</div>"`;
6
6
 
7
- exports[`Loads and display CDropdown component renders correctly 1`] = `"<div class="btn-group">Default slot</div>"`;
7
+ exports[`Loads and display CDropdown component renders correctly 1`] = `"<div class="dropdown">Default slot</div>"`;
@@ -2,10 +2,14 @@
2
2
 
3
3
  exports[`Customize CDropdownMenu component renders correctly 1`] = `
4
4
  "<!--teleport start-->
5
+ <ul class="dropdown-menu show dropdown-menu-lg-end" data-coreui-popper="static" data-coreui-theme="dark">
6
+ <li>Default slot</li>
7
+ </ul>
5
8
  <!--teleport end-->"
6
9
  `;
7
10
 
8
11
  exports[`Loads and display CDropdownMenu component renders correctly 1`] = `
9
12
  "<!--teleport start-->
13
+ <div class="dropdown-menu dropdown-menu-lg-end" data-coreui-popper="static">Default slot</div>
10
14
  <!--teleport end-->"
11
15
  `;
@@ -8,7 +8,7 @@ export const getAlignmentClassNames = (alignment: Alignments) => {
8
8
  if (typeof alignment === 'object') {
9
9
  for (const key in alignment) {
10
10
  classNames.push(
11
- `dropdown-menu${key === 'xs' ? '' : `-${key}`}-${alignment[key as keyof Breakpoints]}`,
11
+ `dropdown-menu${key === 'xs' ? '' : `-${key}`}-${alignment[key as keyof Breakpoints]}`
12
12
  )
13
13
  }
14
14
  }
@@ -24,7 +24,7 @@ export const getPlacement = (
24
24
  placement: Placement,
25
25
  direction: string | undefined,
26
26
  alignment: Alignments | string | undefined,
27
- isRTL: boolean,
27
+ isRTL: boolean
28
28
  ): Placements => {
29
29
  let _placement = placement
30
30
 
@@ -282,17 +282,20 @@ const CFocusTrap = defineComponent({
282
282
  const vnodes = slots.default?.()
283
283
  const vnode = vnodes?.[0]
284
284
  if (!vnode) return null
285
-
286
- const originalRef = (vnode.props as any)?.ref
287
-
285
+
286
+ const originalRef = (vnode.props as Record<string, unknown> | null)?.ref
287
+
288
288
  return cloneVNode(vnode, {
289
289
  ref: (el) => {
290
- containerRef.value = el as HTMLElement | null
291
-
290
+ // `el` may be a component public instance (e.g. when the trapped node is wrapped in a
291
+ // `<Transition>`); resolve it to the underlying DOM element so focus handling works.
292
+ const element = ((el as { $el?: HTMLElement } | null)?.$el ?? el) as HTMLElement | null
293
+ containerRef.value = element
294
+
292
295
  if (typeof originalRef === 'function') {
293
296
  originalRef(el)
294
297
  } else if (originalRef && typeof originalRef === 'object' && 'value' in originalRef) {
295
- ;(originalRef as { value: any }).value = el
298
+ ;(originalRef as { value: unknown }).value = el
296
299
  }
297
300
  },
298
301
  })
@@ -0,0 +1,42 @@
1
+ import { mount } from '@vue/test-utils'
2
+ import { h } from 'vue'
3
+ import { CFocusTrap as Component } from '../../../index'
4
+
5
+ const ComponentName = 'CFocusTrap'
6
+
7
+ describe(`Loads and display ${ComponentName} component`, () => {
8
+ it('has a name', () => {
9
+ expect(Component.name).toMatch(ComponentName)
10
+ })
11
+
12
+ it('renders the child element from the default slot', () => {
13
+ const wrapper = mount(Component, {
14
+ slots: { default: () => h('div', { class: 'trapped' }, 'Trapped') },
15
+ })
16
+ expect(wrapper.find('.trapped').exists()).toBe(true)
17
+ expect(wrapper.text()).toContain('Trapped')
18
+ })
19
+
20
+ it('renders nothing when no slot content is provided', () => {
21
+ const wrapper = mount(Component)
22
+ expect(wrapper.html()).toBe('')
23
+ })
24
+
25
+ it('emits activate when mounted active', () => {
26
+ const wrapper = mount(Component, {
27
+ props: { active: true },
28
+ slots: { default: () => h('button', 'Focusable') },
29
+ attachTo: document.body,
30
+ })
31
+ expect(wrapper.emitted('activate')).toBeTruthy()
32
+ })
33
+
34
+ it('does not emit activate when inactive', () => {
35
+ const wrapper = mount(Component, {
36
+ props: { active: false },
37
+ slots: { default: () => h('button', 'Focusable') },
38
+ attachTo: document.body,
39
+ })
40
+ expect(wrapper.emitted('activate')).toBeFalsy()
41
+ })
42
+ })
@@ -27,7 +27,7 @@ const CFooter = defineComponent({
27
27
  h(
28
28
  props.as,
29
29
  { class: ['footer', { [`footer-${props.position}`]: props.position }] },
30
- slots.default && slots.default(),
30
+ slots.default && slots.default()
31
31
  )
32
32
  },
33
33
  })
@@ -13,7 +13,7 @@ const CForm = defineComponent({
13
13
  h(
14
14
  'form',
15
15
  { class: [{ ['was-validated']: props.validated }] },
16
- slots.default && slots.default(),
16
+ slots.default && slots.default()
17
17
  )
18
18
  },
19
19
  })
@@ -135,7 +135,7 @@ const CFormCheck = defineComponent({
135
135
  if (props.modelValue.includes(props.value)) {
136
136
  emit(
137
137
  'update:modelValue',
138
- props.modelValue.filter((value) => value !== props.value),
138
+ props.modelValue.filter((value) => value !== props.value)
139
139
  )
140
140
  } else {
141
141
  emit('update:modelValue', [...props.modelValue, props.value])
@@ -210,14 +210,14 @@ const CFormCheck = defineComponent({
210
210
  },
211
211
  {
212
212
  default: () => (slots.label && slots.label()) || props.label,
213
- },
213
+ }
214
214
  )
215
215
  : h(
216
216
  CFormLabel,
217
217
  { class: 'form-check-label', ...(props.id && { for: props.id }) },
218
218
  {
219
219
  default: () => (slots.label && slots.label()) || props.label,
220
- },
220
+ }
221
221
  )
222
222
 
223
223
  const formValidation = () => {
@@ -244,7 +244,7 @@ const CFormCheck = defineComponent({
244
244
  customClassName: className,
245
245
  ...(props.id && { for: props.id }),
246
246
  },
247
- [formControl(), props.label],
247
+ [formControl(), props.label]
248
248
  ),
249
249
  formValidation(),
250
250
  ]
@@ -253,7 +253,7 @@ const CFormCheck = defineComponent({
253
253
  {
254
254
  class: className,
255
255
  },
256
- [formControl(), props.label && formLabel(), formValidation()],
256
+ [formControl(), props.label && formLabel(), formValidation()]
257
257
  )
258
258
  : formControl()
259
259
  },
@@ -56,7 +56,7 @@ const CFormControlValidation = defineComponent({
56
56
  },
57
57
  {
58
58
  default: () => (slots.feedback && slots.feedback()) || props.feedback,
59
- },
59
+ }
60
60
  ),
61
61
  (props.feedbackInvalid || slots.feedbackInvalid) &&
62
62
  h(
@@ -69,7 +69,7 @@ const CFormControlValidation = defineComponent({
69
69
  {
70
70
  default: () =>
71
71
  (slots.feedbackInvalid && slots.feedbackInvalid()) || props.feedbackInvalid,
72
- },
72
+ }
73
73
  ),
74
74
  (props.feedbackValid || slots.feedbackValid) &&
75
75
  h(
@@ -80,7 +80,7 @@ const CFormControlValidation = defineComponent({
80
80
  },
81
81
  {
82
82
  default: () => (slots.feedbackValid && slots.feedbackValid()) || props.feedbackValid,
83
- },
83
+ }
84
84
  ),
85
85
  ]
86
86
  },
@@ -35,7 +35,7 @@ const CFormFeedback = defineComponent({
35
35
  },
36
36
  ],
37
37
  },
38
- slots.default && slots.default(),
38
+ slots.default && slots.default()
39
39
  )
40
40
  },
41
41
  })
@@ -9,7 +9,7 @@ const CFormFloating = defineComponent({
9
9
  {
10
10
  class: 'form-floating',
11
11
  },
12
- slots.default && slots.default(),
12
+ slots.default && slots.default()
13
13
  )
14
14
  },
15
15
  })
@@ -168,7 +168,7 @@ const CFormInput = defineComponent({
168
168
  type: props.type,
169
169
  ...((props.modelValue || props.modelValue === 0) && { value: props.modelValue }),
170
170
  },
171
- slots.default && slots.default(),
171
+ slots.default && slots.default()
172
172
  ),
173
173
  ...(slots.feedback && { feedback: () => slots.feedback && slots.feedback() }),
174
174
  ...(slots.feedbackInvalid && {
@@ -179,7 +179,7 @@ const CFormInput = defineComponent({
179
179
  }),
180
180
  ...(slots.label && { label: () => slots.label && slots.label() }),
181
181
  ...(slots.text && { text: () => slots.text && slots.text() }),
182
- },
182
+ }
183
183
  )
184
184
  },
185
185
  })
@@ -15,7 +15,7 @@ const CFormLabel = defineComponent({
15
15
  {
16
16
  class: props.customClassName ?? 'form-label',
17
17
  },
18
- slots.default && slots.default(),
18
+ slots.default && slots.default()
19
19
  )
20
20
  },
21
21
  })
@@ -33,7 +33,7 @@ const CFormRange = defineComponent({
33
33
  /**
34
34
  * Specifies the interval between legal numbers in the component.
35
35
  */
36
- steps: Number,
36
+ step: Number,
37
37
  /**
38
38
  * The `value` attribute of component.
39
39
  *
@@ -67,7 +67,7 @@ const CFormRange = defineComponent({
67
67
  },
68
68
  {
69
69
  default: () => (slots.label && slots.label()) || props.label,
70
- },
70
+ }
71
71
  ),
72
72
  h(
73
73
  'input',
@@ -79,11 +79,11 @@ const CFormRange = defineComponent({
79
79
  min: props.min,
80
80
  onChange: (event: InputEvent) => handleChange(event),
81
81
  readonly: props.readonly,
82
- steps: props.steps,
82
+ step: props.step,
83
83
  type: 'range',
84
84
  value: props.modelValue,
85
85
  },
86
- slots.default && slots.default(),
86
+ slots.default && slots.default()
87
87
  ),
88
88
  ]
89
89
  },
@@ -170,10 +170,10 @@ const CFormSelect = defineComponent({
170
170
  }),
171
171
  }),
172
172
  },
173
- typeof option === 'string' ? option : option.label,
173
+ typeof option === 'string' ? option : option.label
174
174
  )
175
175
  })
176
- : slots.default && slots.default(),
176
+ : slots.default && slots.default()
177
177
  ),
178
178
  ...(slots.feedback && { feedback: () => slots.feedback && slots.feedback() }),
179
179
  ...(slots.feedbackInvalid && {
@@ -184,7 +184,7 @@ const CFormSelect = defineComponent({
184
184
  }),
185
185
  ...(slots.label && { label: () => slots.label && slots.label() }),
186
186
  ...(slots.text && { text: () => slots.text && slots.text() }),
187
- },
187
+ }
188
188
  )
189
189
  },
190
190
  })
@@ -109,9 +109,9 @@ const CFormSwitch = defineComponent({
109
109
  },
110
110
  {
111
111
  default: () => props.label,
112
- },
112
+ }
113
113
  ),
114
- ],
114
+ ]
115
115
  )
116
116
  },
117
117
  })
@@ -141,7 +141,7 @@ const CFormTextarea = defineComponent({
141
141
  onInput: (event: InputEvent) => handleInput(event),
142
142
  ...(props.modelValue && { value: props.modelValue }),
143
143
  },
144
- slots.default && slots.default(),
144
+ slots.default && slots.default()
145
145
  ),
146
146
  ...(slots.feedback && { feedback: () => slots.feedback && slots.feedback() }),
147
147
  ...(slots.feedbackInvalid && {
@@ -152,7 +152,7 @@ const CFormTextarea = defineComponent({
152
152
  }),
153
153
  ...(slots.label && { label: () => slots.label && slots.label() }),
154
154
  ...(slots.text && { text: () => slots.text && slots.text() }),
155
- },
155
+ }
156
156
  )
157
157
  },
158
158
  })
@@ -27,7 +27,7 @@ const CInputGroup = defineComponent({
27
27
  },
28
28
  ],
29
29
  },
30
- slots.default && slots.default(),
30
+ slots.default && slots.default()
31
31
  )
32
32
  },
33
33
  })
@@ -16,7 +16,7 @@ const customWrapper = mount(Component, {
16
16
  max: 400,
17
17
  min: 50,
18
18
  readonly: true,
19
- steps: 10,
19
+ step: 10,
20
20
  value: 250,
21
21
  },
22
22
  slots: {
@@ -50,6 +50,6 @@ describe(`Customize ${ComponentName} component`, () => {
50
50
  expect(customWrapper.find('input').attributes('max')).toBe('400')
51
51
  expect(customWrapper.find('input').attributes('min')).toBe('50')
52
52
  expect(customWrapper.find('input').attributes('readonly')).toBe('')
53
- expect(customWrapper.find('input').attributes('steps')).toBe('10')
53
+ expect(customWrapper.find('input').attributes('step')).toBe('10')
54
54
  })
55
55
  })
@@ -12,7 +12,7 @@ const defaultWrapper = mount(Component, {
12
12
 
13
13
  const customWrapper = mount(Component, {
14
14
  propsData: {
15
- as 'p',
15
+ as: 'p',
16
16
  },
17
17
  slots: {
18
18
  default: 'Default slot',
@@ -1,5 +1,5 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
- exports[`Customize CFormRange component renders correctly 1`] = `"<input class="form-range" disabled="" max="400" min="50" readonly="" steps="10" type="range">"`;
3
+ exports[`Customize CFormRange component renders correctly 1`] = `"<input class="form-range" disabled="" max="400" min="50" readonly="" step="10" type="range">"`;
4
4
 
5
5
  exports[`Loads and display CFormRange component renders correctly 1`] = `"<input class="form-range" type="range">"`;
@@ -114,7 +114,7 @@ const CCol = defineComponent({
114
114
  {
115
115
  class: [repsonsiveClassNames.length > 0 ? repsonsiveClassNames : 'col'],
116
116
  },
117
- slots.default && slots.default(),
117
+ slots.default && slots.default()
118
118
  )
119
119
  },
120
120
  })
@@ -43,7 +43,9 @@ const CContainer = defineComponent({
43
43
  BREAKPOINTS.forEach((bp) => {
44
44
  const breakpoint = props[bp]
45
45
 
46
- breakpoint && repsonsiveClassNames.push(`container-${bp}`)
46
+ if (breakpoint) {
47
+ repsonsiveClassNames.push(`container-${bp}`)
48
+ }
47
49
  })
48
50
  return () =>
49
51
  h(
@@ -51,7 +53,7 @@ const CContainer = defineComponent({
51
53
  {
52
54
  class: [repsonsiveClassNames.length > 0 ? repsonsiveClassNames : 'container'],
53
55
  },
54
- slots.default && slots.default(),
56
+ slots.default && slots.default()
55
57
  )
56
58
  },
57
59
  })
@@ -85,7 +85,7 @@ const CRow = defineComponent({
85
85
  {
86
86
  class: ['row', repsonsiveClassNames],
87
87
  },
88
- slots.default && slots.default(),
88
+ slots.default && slots.default()
89
89
  )
90
90
  },
91
91
  })
@@ -44,9 +44,9 @@ const CHeader = defineComponent({
44
44
  ? h(
45
45
  'div',
46
46
  { class: `container${props.container === true ? '' : '-' + props.container}` },
47
- slots.default && slots.default(),
47
+ slots.default && slots.default()
48
48
  )
49
- : slots.default && slots.default(),
49
+ : slots.default && slots.default()
50
50
  )
51
51
  },
52
52
  })
@@ -19,7 +19,7 @@ const CHeaderNav = defineComponent({
19
19
  class: 'header-nav',
20
20
  role: 'navigation',
21
21
  },
22
- slots.default && slots.default(),
22
+ slots.default && slots.default()
23
23
  )
24
24
  },
25
25
  })
@@ -11,7 +11,7 @@ const CHeaderToggler = defineComponent({
11
11
  type: 'button',
12
12
  'aria-label': 'Toggle navigation',
13
13
  },
14
- slots.default ? slots.default() : h('span', { class: ['header-toggler-icon'] }),
14
+ slots.default ? slots.default() : h('span', { class: ['header-toggler-icon'] })
15
15
  )
16
16
  },
17
17
  })
@@ -54,7 +54,6 @@ describe(`Customize ${ComponentName} component`, () => {
54
54
  })
55
55
  })
56
56
 
57
-
58
57
  describe(`Customize (number two) ${ComponentName} component`, () => {
59
58
  it('renders correctly', () => {
60
59
  expect(customWrapperTwo.html()).toMatchSnapshot()
@@ -62,4 +61,4 @@ describe(`Customize (number two) ${ComponentName} component`, () => {
62
61
  it('tag name is custom', () => {
63
62
  expect(customWrapperTwo.element.tagName).toBe('HEADER')
64
63
  })
65
- })
64
+ })
@@ -13,6 +13,7 @@ export * from './card'
13
13
  export * from './carousel'
14
14
  export * from './chip'
15
15
  export * from './chip-input'
16
+ export * from './chip-set'
16
17
  export * from './close-button'
17
18
  export * from './collapse'
18
19
  export * from './conditional-teleport'
@@ -43,6 +44,7 @@ export * from './progress'
43
44
  export * from './popover'
44
45
  export * from './range-slider'
45
46
  export * from './rating'
47
+ export * from './search-button'
46
48
  export * from './sidebar'
47
49
  export * from './smart-pagination'
48
50
  export * from './smart-table'