@coreui/react-pro 5.24.1 → 5.26.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 (416) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/card/CCardImage.js.map +1 -1
  3. package/dist/cjs/components/carousel/CCarousel.js +44 -33
  4. package/dist/cjs/components/carousel/CCarousel.js.map +1 -1
  5. package/dist/cjs/components/carousel/CCarouselItem.js +19 -28
  6. package/dist/cjs/components/carousel/CCarouselItem.js.map +1 -1
  7. package/dist/cjs/components/chip/CChip.d.ts +12 -0
  8. package/dist/cjs/components/chip/CChip.js +16 -63
  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-set/CChipSet.d.ts +73 -0
  14. package/dist/cjs/components/chip-set/CChipSet.js +66 -0
  15. package/dist/cjs/components/chip-set/CChipSet.js.map +1 -0
  16. package/dist/cjs/components/chip-set/index.d.ts +2 -0
  17. package/dist/cjs/components/chip-set/useChipSet.d.ts +48 -0
  18. package/dist/cjs/components/chip-set/useChipSet.js +163 -0
  19. package/dist/cjs/components/chip-set/useChipSet.js.map +1 -0
  20. package/dist/cjs/components/chip-set/utils.d.ts +7 -0
  21. package/dist/cjs/components/chip-set/utils.js +18 -0
  22. package/dist/cjs/components/chip-set/utils.js.map +1 -0
  23. package/dist/cjs/components/collapse/CCollapse.js +14 -6
  24. package/dist/cjs/components/collapse/CCollapse.js.map +1 -1
  25. package/dist/cjs/components/conditional-portal/CConditionalPortal.js +3 -1
  26. package/dist/cjs/components/conditional-portal/CConditionalPortal.js.map +1 -1
  27. package/dist/cjs/components/date-picker/CDatePicker.d.ts +1 -1
  28. package/dist/cjs/components/date-picker/CDatePicker.js.map +1 -1
  29. package/dist/cjs/components/date-range-picker/CDateRangePicker.js +2 -0
  30. package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
  31. package/dist/cjs/components/dropdown/CDropdown.js +23 -30
  32. package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
  33. package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
  34. package/dist/cjs/components/form/CChipInput.d.ts +14 -2
  35. package/dist/cjs/components/form/CChipInput.js +77 -49
  36. package/dist/cjs/components/form/CChipInput.js.map +1 -1
  37. package/dist/cjs/components/form/CFormCheck.js.map +1 -1
  38. package/dist/cjs/components/form/CFormInput.js.map +1 -1
  39. package/dist/cjs/components/form/CFormSelect.js.map +1 -1
  40. package/dist/cjs/components/form/CFormTextarea.js.map +1 -1
  41. package/dist/cjs/components/form/CInputGroupText.js.map +1 -1
  42. package/dist/cjs/components/grid/CContainer.js +3 -1
  43. package/dist/cjs/components/grid/CContainer.js.map +1 -1
  44. package/dist/cjs/components/header/CHeaderBrand.js.map +1 -1
  45. package/dist/cjs/components/index.d.ts +2 -0
  46. package/dist/cjs/components/link/CLink.js +4 -2
  47. package/dist/cjs/components/link/CLink.js.map +1 -1
  48. package/dist/cjs/components/list-group/CListGroupItem.js.map +1 -1
  49. package/dist/cjs/components/modal/CModal.js +14 -2
  50. package/dist/cjs/components/modal/CModal.js.map +1 -1
  51. package/dist/cjs/components/multi-select/CMultiSelect.d.ts +73 -1
  52. package/dist/cjs/components/multi-select/CMultiSelect.js +157 -18
  53. package/dist/cjs/components/multi-select/CMultiSelect.js.map +1 -1
  54. package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js +1 -1
  55. package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
  56. package/dist/cjs/components/multi-select/CMultiSelectOptions.d.ts +3 -0
  57. package/dist/cjs/components/multi-select/CMultiSelectOptions.js +45 -2
  58. package/dist/cjs/components/multi-select/CMultiSelectOptions.js.map +1 -1
  59. package/dist/cjs/components/multi-select/CMultiSelectSelection.d.ts +1 -0
  60. package/dist/cjs/components/multi-select/CMultiSelectSelection.js +4 -3
  61. package/dist/cjs/components/multi-select/CMultiSelectSelection.js.map +1 -1
  62. package/dist/cjs/components/multi-select/types.d.ts +12 -0
  63. package/dist/cjs/components/multi-select/utils.js +1 -4
  64. package/dist/cjs/components/multi-select/utils.js.map +1 -1
  65. package/dist/cjs/components/nav/CNav.js.map +1 -1
  66. package/dist/cjs/components/nav/CNavGroup.d.ts +13 -6
  67. package/dist/cjs/components/nav/CNavGroup.js +86 -23
  68. package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
  69. package/dist/cjs/components/nav/CNavGroupContext.d.ts +25 -0
  70. package/dist/cjs/components/nav/CNavGroupContext.js +13 -0
  71. package/dist/cjs/components/nav/CNavGroupContext.js.map +1 -0
  72. package/dist/cjs/components/nav/CNavLink.d.ts +1 -5
  73. package/dist/cjs/components/nav/CNavLink.js +21 -8
  74. package/dist/cjs/components/nav/CNavLink.js.map +1 -1
  75. package/dist/cjs/components/one-time-password-input/COneTimePassword.js +3 -3
  76. package/dist/cjs/components/one-time-password-input/COneTimePassword.js.map +1 -1
  77. package/dist/cjs/components/popover/CPopover.js +69 -24
  78. package/dist/cjs/components/popover/CPopover.js.map +1 -1
  79. package/dist/cjs/components/progress/CProgress.js.map +1 -1
  80. package/dist/cjs/components/rating/CRating.d.ts +1 -1
  81. package/dist/cjs/components/rating/CRating.js.map +1 -1
  82. package/dist/cjs/components/search-button/CSearchButton.d.ts +32 -0
  83. package/dist/cjs/components/search-button/CSearchButton.js +77 -0
  84. package/dist/cjs/components/search-button/CSearchButton.js.map +1 -0
  85. package/dist/cjs/components/search-button/index.d.ts +2 -0
  86. package/dist/cjs/components/search-button/types.d.ts +10 -0
  87. package/dist/cjs/components/search-button/utils.d.ts +11 -0
  88. package/dist/cjs/components/search-button/utils.js +115 -0
  89. package/dist/cjs/components/search-button/utils.js.map +1 -0
  90. package/dist/cjs/components/sidebar/CSidebar.js +40 -23
  91. package/dist/cjs/components/sidebar/CSidebar.js.map +1 -1
  92. package/dist/cjs/components/sidebar/CSidebarNav.d.ts +12 -0
  93. package/dist/cjs/components/sidebar/CSidebarNav.js +12 -36
  94. package/dist/cjs/components/sidebar/CSidebarNav.js.map +1 -1
  95. package/dist/cjs/components/smart-table/CSmartTable.js +2 -2
  96. package/dist/cjs/components/smart-table/CSmartTable.js.map +1 -1
  97. package/dist/cjs/components/smart-table/CSmartTableInterface.d.ts +2 -2
  98. package/dist/cjs/components/table/CTableDataCell.js.map +1 -1
  99. package/dist/cjs/components/table/types.d.ts +2 -1
  100. package/dist/cjs/components/table/utils.js +4 -4
  101. package/dist/cjs/components/table/utils.js.map +1 -1
  102. package/dist/cjs/components/tabs/CTabPanel.js +3 -1
  103. package/dist/cjs/components/tabs/CTabPanel.js.map +1 -1
  104. package/dist/cjs/components/time-picker/CTimePicker.d.ts +1 -1
  105. package/dist/cjs/components/time-picker/CTimePicker.js +1 -1
  106. package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
  107. package/dist/cjs/components/tooltip/CTooltip.js +69 -24
  108. package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
  109. package/dist/cjs/components/virtual-scroller/CVirtualScroller.js +11 -8
  110. package/dist/cjs/components/virtual-scroller/CVirtualScroller.js.map +1 -1
  111. package/dist/cjs/helpers/polymorphicComponent.d.ts +1 -2
  112. package/dist/cjs/hooks/useDebouncedCallback.d.ts +1 -1
  113. package/dist/cjs/hooks/useDebouncedCallback.js +1 -1
  114. package/dist/cjs/hooks/useDebouncedCallback.js.map +1 -1
  115. package/dist/cjs/hooks/useForkedRef.d.ts +1 -1
  116. package/dist/cjs/hooks/useForkedRef.js +6 -3
  117. package/dist/cjs/hooks/useForkedRef.js.map +1 -1
  118. package/dist/cjs/hooks/usePopper.js +8 -6
  119. package/dist/cjs/hooks/usePopper.js.map +1 -1
  120. package/dist/cjs/index.js +4 -0
  121. package/dist/cjs/index.js.map +1 -1
  122. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +1 -1
  123. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
  124. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-arrow-bottom.js +1 -1
  125. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-arrow-bottom.js.map +1 -1
  126. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-arrow-top.js +1 -1
  127. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-arrow-top.js.map +1 -1
  128. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-filter-x.js +1 -1
  129. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-filter-x.js.map +1 -1
  130. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-swap-vertical.js +1 -1
  131. package/dist/cjs/node_modules/@coreui/icons/dist/esm/free/cil-swap-vertical.js.map +1 -1
  132. package/dist/cjs/node_modules/ua-parser-js/dist/ua-parser.min.js +4 -4
  133. package/dist/cjs/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
  134. package/dist/cjs/utils/executeAfterTransition.js.map +1 -1
  135. package/dist/cjs/utils/index.d.ts +2 -1
  136. package/dist/cjs/utils/swipe.d.ts +26 -0
  137. package/dist/cjs/utils/swipe.js +94 -0
  138. package/dist/cjs/utils/swipe.js.map +1 -0
  139. package/dist/esm/components/card/CCardImage.js.map +1 -1
  140. package/dist/esm/components/carousel/CCarousel.js +44 -33
  141. package/dist/esm/components/carousel/CCarousel.js.map +1 -1
  142. package/dist/esm/components/carousel/CCarouselItem.js +19 -28
  143. package/dist/esm/components/carousel/CCarouselItem.js.map +1 -1
  144. package/dist/esm/components/chip/CChip.d.ts +12 -0
  145. package/dist/esm/components/chip/CChip.js +16 -63
  146. package/dist/esm/components/chip/CChip.js.map +1 -1
  147. package/dist/esm/components/chip/const.d.ts +1 -0
  148. package/dist/esm/components/chip/const.js +6 -0
  149. package/dist/esm/components/chip/const.js.map +1 -0
  150. package/dist/esm/components/chip-set/CChipSet.d.ts +73 -0
  151. package/dist/esm/components/chip-set/CChipSet.js +64 -0
  152. package/dist/esm/components/chip-set/CChipSet.js.map +1 -0
  153. package/dist/esm/components/chip-set/index.d.ts +2 -0
  154. package/dist/esm/components/chip-set/useChipSet.d.ts +48 -0
  155. package/dist/esm/components/chip-set/useChipSet.js +161 -0
  156. package/dist/esm/components/chip-set/useChipSet.js.map +1 -0
  157. package/dist/esm/components/chip-set/utils.d.ts +7 -0
  158. package/dist/esm/components/chip-set/utils.js +16 -0
  159. package/dist/esm/components/chip-set/utils.js.map +1 -0
  160. package/dist/esm/components/collapse/CCollapse.js +14 -6
  161. package/dist/esm/components/collapse/CCollapse.js.map +1 -1
  162. package/dist/esm/components/conditional-portal/CConditionalPortal.js +3 -1
  163. package/dist/esm/components/conditional-portal/CConditionalPortal.js.map +1 -1
  164. package/dist/esm/components/date-picker/CDatePicker.d.ts +1 -1
  165. package/dist/esm/components/date-picker/CDatePicker.js.map +1 -1
  166. package/dist/esm/components/date-range-picker/CDateRangePicker.js +2 -0
  167. package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
  168. package/dist/esm/components/dropdown/CDropdown.js +23 -30
  169. package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
  170. package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
  171. package/dist/esm/components/form/CChipInput.d.ts +14 -2
  172. package/dist/esm/components/form/CChipInput.js +78 -50
  173. package/dist/esm/components/form/CChipInput.js.map +1 -1
  174. package/dist/esm/components/form/CFormCheck.js.map +1 -1
  175. package/dist/esm/components/form/CFormInput.js.map +1 -1
  176. package/dist/esm/components/form/CFormSelect.js.map +1 -1
  177. package/dist/esm/components/form/CFormTextarea.js.map +1 -1
  178. package/dist/esm/components/form/CInputGroupText.js.map +1 -1
  179. package/dist/esm/components/grid/CContainer.js +3 -1
  180. package/dist/esm/components/grid/CContainer.js.map +1 -1
  181. package/dist/esm/components/header/CHeaderBrand.js.map +1 -1
  182. package/dist/esm/components/index.d.ts +2 -0
  183. package/dist/esm/components/link/CLink.js +4 -2
  184. package/dist/esm/components/link/CLink.js.map +1 -1
  185. package/dist/esm/components/list-group/CListGroupItem.js.map +1 -1
  186. package/dist/esm/components/modal/CModal.js +14 -2
  187. package/dist/esm/components/modal/CModal.js.map +1 -1
  188. package/dist/esm/components/multi-select/CMultiSelect.d.ts +73 -1
  189. package/dist/esm/components/multi-select/CMultiSelect.js +158 -19
  190. package/dist/esm/components/multi-select/CMultiSelect.js.map +1 -1
  191. package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js +1 -1
  192. package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
  193. package/dist/esm/components/multi-select/CMultiSelectOptions.d.ts +3 -0
  194. package/dist/esm/components/multi-select/CMultiSelectOptions.js +45 -2
  195. package/dist/esm/components/multi-select/CMultiSelectOptions.js.map +1 -1
  196. package/dist/esm/components/multi-select/CMultiSelectSelection.d.ts +1 -0
  197. package/dist/esm/components/multi-select/CMultiSelectSelection.js +4 -3
  198. package/dist/esm/components/multi-select/CMultiSelectSelection.js.map +1 -1
  199. package/dist/esm/components/multi-select/types.d.ts +12 -0
  200. package/dist/esm/components/multi-select/utils.js +1 -4
  201. package/dist/esm/components/multi-select/utils.js.map +1 -1
  202. package/dist/esm/components/nav/CNav.js.map +1 -1
  203. package/dist/esm/components/nav/CNavGroup.d.ts +13 -6
  204. package/dist/esm/components/nav/CNavGroup.js +87 -24
  205. package/dist/esm/components/nav/CNavGroup.js.map +1 -1
  206. package/dist/esm/components/nav/CNavGroupContext.d.ts +25 -0
  207. package/dist/esm/components/nav/CNavGroupContext.js +11 -0
  208. package/dist/esm/components/nav/CNavGroupContext.js.map +1 -0
  209. package/dist/esm/components/nav/CNavLink.d.ts +1 -5
  210. package/dist/esm/components/nav/CNavLink.js +21 -8
  211. package/dist/esm/components/nav/CNavLink.js.map +1 -1
  212. package/dist/esm/components/one-time-password-input/COneTimePassword.js +3 -3
  213. package/dist/esm/components/one-time-password-input/COneTimePassword.js.map +1 -1
  214. package/dist/esm/components/popover/CPopover.js +69 -24
  215. package/dist/esm/components/popover/CPopover.js.map +1 -1
  216. package/dist/esm/components/progress/CProgress.js.map +1 -1
  217. package/dist/esm/components/rating/CRating.d.ts +1 -1
  218. package/dist/esm/components/rating/CRating.js.map +1 -1
  219. package/dist/esm/components/search-button/CSearchButton.d.ts +32 -0
  220. package/dist/esm/components/search-button/CSearchButton.js +75 -0
  221. package/dist/esm/components/search-button/CSearchButton.js.map +1 -0
  222. package/dist/esm/components/search-button/index.d.ts +2 -0
  223. package/dist/esm/components/search-button/types.d.ts +10 -0
  224. package/dist/esm/components/search-button/utils.d.ts +11 -0
  225. package/dist/esm/components/search-button/utils.js +104 -0
  226. package/dist/esm/components/search-button/utils.js.map +1 -0
  227. package/dist/esm/components/sidebar/CSidebar.js +40 -23
  228. package/dist/esm/components/sidebar/CSidebar.js.map +1 -1
  229. package/dist/esm/components/sidebar/CSidebarNav.d.ts +12 -0
  230. package/dist/esm/components/sidebar/CSidebarNav.js +13 -37
  231. package/dist/esm/components/sidebar/CSidebarNav.js.map +1 -1
  232. package/dist/esm/components/smart-table/CSmartTable.js +2 -2
  233. package/dist/esm/components/smart-table/CSmartTable.js.map +1 -1
  234. package/dist/esm/components/smart-table/CSmartTableInterface.d.ts +2 -2
  235. package/dist/esm/components/table/CTableDataCell.js.map +1 -1
  236. package/dist/esm/components/table/types.d.ts +2 -1
  237. package/dist/esm/components/table/utils.js +4 -4
  238. package/dist/esm/components/table/utils.js.map +1 -1
  239. package/dist/esm/components/tabs/CTabPanel.js +3 -1
  240. package/dist/esm/components/tabs/CTabPanel.js.map +1 -1
  241. package/dist/esm/components/time-picker/CTimePicker.d.ts +1 -1
  242. package/dist/esm/components/time-picker/CTimePicker.js +1 -1
  243. package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
  244. package/dist/esm/components/tooltip/CTooltip.js +69 -24
  245. package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
  246. package/dist/esm/components/virtual-scroller/CVirtualScroller.js +11 -8
  247. package/dist/esm/components/virtual-scroller/CVirtualScroller.js.map +1 -1
  248. package/dist/esm/helpers/polymorphicComponent.d.ts +1 -2
  249. package/dist/esm/hooks/useDebouncedCallback.d.ts +1 -1
  250. package/dist/esm/hooks/useDebouncedCallback.js +1 -1
  251. package/dist/esm/hooks/useDebouncedCallback.js.map +1 -1
  252. package/dist/esm/hooks/useForkedRef.d.ts +1 -1
  253. package/dist/esm/hooks/useForkedRef.js +6 -3
  254. package/dist/esm/hooks/useForkedRef.js.map +1 -1
  255. package/dist/esm/hooks/usePopper.js +9 -7
  256. package/dist/esm/hooks/usePopper.js.map +1 -1
  257. package/dist/esm/index.js +2 -0
  258. package/dist/esm/index.js.map +1 -1
  259. package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +1 -1
  260. package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
  261. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-arrow-bottom.js +1 -1
  262. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-arrow-bottom.js.map +1 -1
  263. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-arrow-top.js +1 -1
  264. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-arrow-top.js.map +1 -1
  265. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-filter-x.js +1 -1
  266. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-filter-x.js.map +1 -1
  267. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-swap-vertical.js +1 -1
  268. package/dist/esm/node_modules/@coreui/icons/dist/esm/free/cil-swap-vertical.js.map +1 -1
  269. package/dist/esm/node_modules/ua-parser-js/dist/ua-parser.min.js +4 -4
  270. package/dist/esm/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
  271. package/dist/esm/utils/executeAfterTransition.js.map +1 -1
  272. package/dist/esm/utils/index.d.ts +2 -1
  273. package/dist/esm/utils/swipe.d.ts +26 -0
  274. package/dist/esm/utils/swipe.js +90 -0
  275. package/dist/esm/utils/swipe.js.map +1 -0
  276. package/package.json +8 -6
  277. package/src/components/autocomplete/CAutocompleteOptions.tsx +1 -1
  278. package/src/components/autocomplete/__tests__/CAutocomplete.spec.tsx +18 -16
  279. package/src/components/autocomplete/__tests__/CAutocompleteOptions.spec.tsx +37 -28
  280. package/src/components/autocomplete/__tests__/__snapshots__/CAutocomplete.spec.tsx.snap +129 -0
  281. package/src/components/autocomplete/__tests__/__snapshots__/CAutocompleteOptions.spec.tsx.snap +36 -0
  282. package/src/components/calendar/__tests__/CCalendar.spec.tsx +40 -45
  283. package/src/components/calendar/__tests__/__snapshots__/CCalendar.spec.tsx.snap +99 -75
  284. package/src/components/calendar/__tests__/utils.spec.tsx +8 -18
  285. package/src/components/card/CCardImage.tsx +3 -2
  286. package/src/components/carousel/CCarousel.tsx +48 -51
  287. package/src/components/carousel/CCarouselContext.ts +1 -1
  288. package/src/components/carousel/CCarouselItem.tsx +25 -26
  289. package/src/components/carousel/__tests__/CCarousel.spec.tsx +47 -4
  290. package/src/components/carousel/__tests__/CCarouselItem.spec.tsx +37 -0
  291. package/src/components/chip/CChip.tsx +45 -78
  292. package/src/components/chip/__tests__/CChip.spec.tsx +26 -19
  293. package/src/components/chip/const.ts +3 -0
  294. package/src/components/chip-set/CChipSet.tsx +183 -0
  295. package/src/components/chip-set/__tests__/CChipSet.spec.tsx +215 -0
  296. package/src/components/chip-set/__tests__/__snapshots__/CChipSet.spec.tsx.snap +22 -0
  297. package/src/components/chip-set/index.ts +3 -0
  298. package/src/components/chip-set/useChipSet.ts +243 -0
  299. package/src/components/chip-set/utils.ts +19 -0
  300. package/src/components/collapse/CCollapse.tsx +18 -6
  301. package/src/components/conditional-portal/CConditionalPortal.tsx +4 -2
  302. package/src/components/date-picker/CDatePicker.tsx +12 -13
  303. package/src/components/date-picker/__tests__/CDatePicker.spec.tsx +1 -1
  304. package/src/components/date-picker/__tests__/__snapshots__/CDatePicker.spec.tsx.snap +12 -640
  305. package/src/components/date-range-picker/CDateRangePicker.tsx +2 -0
  306. package/src/components/date-range-picker/__tests__/CDateRangePicker.spec.tsx +1 -1
  307. package/src/components/date-range-picker/__tests__/__snapshots__/CDateRangePicker.spec.tsx.snap +21 -1259
  308. package/src/components/dropdown/CDropdown.tsx +29 -34
  309. package/src/components/dropdown/CDropdownToggle.tsx +1 -1
  310. package/src/components/dropdown/__tests__/CDropdown.spec.tsx +56 -1
  311. package/src/components/dropdown/__tests__/__snapshots__/CDropdown.spec.tsx.snap +2 -2
  312. package/src/components/dropdown/__tests__/__snapshots__/CDropdownMenu.spec.tsx.snap +1 -1
  313. package/src/components/focus-trap/__tests__/CFocusTrap.spec.tsx +1 -1
  314. package/src/components/form/CChipInput.tsx +105 -67
  315. package/src/components/form/CFormCheck.tsx +1 -2
  316. package/src/components/form/CFormInput.tsx +1 -2
  317. package/src/components/form/CFormSelect.tsx +1 -2
  318. package/src/components/form/CFormTextarea.tsx +1 -2
  319. package/src/components/form/CInputGroupText.tsx +3 -2
  320. package/src/components/form/__tests__/CChipInput.spec.tsx +67 -1
  321. package/src/components/form/__tests__/CFormInput.spec.tsx +17 -20
  322. package/src/components/form/__tests__/__snapshots__/CChipInput.spec.tsx.snap +7 -0
  323. package/src/components/form/__tests__/__snapshots__/CFormInput.spec.tsx.snap +12 -3
  324. package/src/components/grid/CContainer.tsx +3 -1
  325. package/src/components/header/CHeaderBrand.tsx +3 -2
  326. package/src/components/index.ts +2 -0
  327. package/src/components/link/CLink.tsx +7 -4
  328. package/src/components/list-group/CListGroupItem.tsx +3 -2
  329. package/src/components/loading-button/__tests__/CLoadingButton.spec.tsx +1 -1
  330. package/src/components/loading-button/__tests__/__snapshots__/CLoadingButton.spec.tsx.snap +4 -4
  331. package/src/components/modal/CModal.tsx +19 -2
  332. package/src/components/modal/__tests__/CModal.spec.tsx +43 -0
  333. package/src/components/multi-select/CMultiSelect.tsx +341 -46
  334. package/src/components/multi-select/CMultiSelectNativeSelect.tsx +1 -1
  335. package/src/components/multi-select/CMultiSelectOptions.tsx +74 -3
  336. package/src/components/multi-select/CMultiSelectSelection.tsx +5 -1
  337. package/src/components/multi-select/__tests__/CMultiSelect.spec.tsx +27 -69
  338. package/src/components/multi-select/__tests__/CMultiSelectNativeSelect.spec.tsx +4 -5
  339. package/src/components/multi-select/__tests__/CMultiSelectOptions.spec.tsx +4 -4
  340. package/src/components/multi-select/__tests__/CMultiSelectSelection.spec.tsx +7 -24
  341. package/src/components/multi-select/__tests__/__snapshots__/CMultiSelect.spec.tsx.snap +108 -61
  342. package/src/components/multi-select/__tests__/__snapshots__/CMultiSelectNativeSelect.spec.tsx.snap +2 -4
  343. package/src/components/multi-select/__tests__/__snapshots__/CMultiSelectOptions.spec.tsx.snap +7 -0
  344. package/src/components/multi-select/__tests__/__snapshots__/CMultiSelectSelection.spec.tsx.snap +16 -9
  345. package/src/components/multi-select/types.ts +14 -0
  346. package/src/components/nav/CNav.tsx +3 -2
  347. package/src/components/nav/CNavGroup.tsx +196 -105
  348. package/src/components/nav/CNavGroupContext.ts +27 -0
  349. package/src/components/nav/CNavLink.tsx +26 -12
  350. package/src/components/nav/__tests__/CNavGroup.spec.tsx +207 -4
  351. package/src/components/nav/__tests__/__snapshots__/CNavGroup.spec.tsx.snap +3 -1
  352. package/src/components/offcanvas/__tests__/COffcanvas.spec.tsx +1 -0
  353. package/src/components/one-time-password-input/COneTimePassword.tsx +10 -11
  354. package/src/components/picker/__tests__/CPicker.spec.tsx +1 -1
  355. package/src/components/picker/__tests__/__snapshots__/CPicker.spec.tsx.snap +2 -16
  356. package/src/components/popover/CPopover.tsx +71 -26
  357. package/src/components/popover/__tests__/CPopover.spec.tsx +85 -4
  358. package/src/components/progress/CProgress.tsx +1 -2
  359. package/src/components/rating/CRating.tsx +1 -0
  360. package/src/components/search-button/CSearchButton.tsx +195 -0
  361. package/src/components/search-button/__tests__/CSearchButton.spec.tsx +95 -0
  362. package/src/components/search-button/__tests__/__snapshots__/CSearchButton.spec.tsx.snap +87 -0
  363. package/src/components/search-button/index.ts +3 -0
  364. package/src/components/search-button/types.ts +10 -0
  365. package/src/components/search-button/utils.ts +140 -0
  366. package/src/components/sidebar/CSidebar.tsx +51 -26
  367. package/src/components/sidebar/CSidebarNav.tsx +39 -53
  368. package/src/components/sidebar/__tests__/CSidebar.spec.tsx +26 -0
  369. package/src/components/smart-table/CSmartTable.tsx +5 -4
  370. package/src/components/smart-table/CSmartTableInterface.tsx +2 -2
  371. package/src/components/smart-table/__tests__/CSmartTable.spec.tsx +3 -2
  372. package/src/components/smart-table/__tests__/__snapshots__/CSmartTable.spec.tsx.snap +7 -15
  373. package/src/components/stepper/__tests__/CStepper.spec.tsx +24 -21
  374. package/src/components/stepper/__tests__/__snapshots__/CStepper.spec.tsx.snap +295 -0
  375. package/src/components/table/CTableDataCell.tsx +2 -1
  376. package/src/components/table/types.ts +3 -1
  377. package/src/components/table/utils.ts +4 -4
  378. package/src/components/tabs/CTabPanel.tsx +3 -1
  379. package/src/components/tabs/CTabsContext.ts +1 -1
  380. package/src/components/tabs/__tests__/CTabContent.spec.tsx +1 -0
  381. package/src/components/tabs/__tests__/CTabPane.spec.tsx +1 -0
  382. package/src/components/time-picker/CTimePicker.tsx +6 -7
  383. package/src/components/time-picker/__tests__/CTimePicker.spec.tsx +10 -1
  384. package/src/components/time-picker/__tests__/__snapshots__/CTimePicker.spec.tsx.snap +599 -315
  385. package/src/components/tooltip/CTooltip.tsx +72 -27
  386. package/src/components/tooltip/__tests__/CTooltip.spec.tsx +102 -1
  387. package/src/components/virtual-scroller/CVirtualScroller.tsx +13 -14
  388. package/src/helpers/polymorphicComponent.ts +1 -1
  389. package/src/hooks/useColorModes.ts +2 -2
  390. package/src/hooks/useDebouncedCallback.ts +7 -4
  391. package/src/hooks/useForkedRef.ts +20 -15
  392. package/src/hooks/usePopper.ts +13 -9
  393. package/src/utils/__tests__/swipe.spec.ts +82 -0
  394. package/src/utils/executeAfterTransition.ts +1 -1
  395. package/src/utils/index.ts +2 -0
  396. package/src/utils/mergeClassNames.ts +1 -1
  397. package/src/utils/swipe.ts +114 -0
  398. package/dist/cjs/components/accordion/CAccordionCollapse.d.ts +0 -3
  399. package/dist/cjs/components/sidebar/CSidebarNavContext.d.ts +0 -5
  400. package/dist/cjs/components/sidebar/CSidebarNavContext.js +0 -8
  401. package/dist/cjs/components/sidebar/CSidebarNavContext.js.map +0 -1
  402. package/dist/esm/components/accordion/CAccordionCollapse.d.ts +0 -3
  403. package/dist/esm/components/sidebar/CSidebarNavContext.d.ts +0 -5
  404. package/dist/esm/components/sidebar/CSidebarNavContext.js +0 -6
  405. package/dist/esm/components/sidebar/CSidebarNavContext.js.map +0 -1
  406. package/src/components/accordion/CAccordionCollapse.tsx +0 -20
  407. package/src/components/accordion/__tests__/CAccordionCollapse.spec.tsx +0 -10
  408. package/src/components/accordion/__tests__/__snapshots__/CAccordionCollapse.spec.tsx.snap +0 -11
  409. package/src/components/button/__tests__/__snapshots__/CButtonClose.spec.tsx.snap +0 -26
  410. package/src/components/calendar/__tests__/CCalendar.accessibility.spec.tsx +0 -595
  411. package/src/components/calendar/__tests__/CCalendar.comprehensive.spec.tsx +0 -402
  412. package/src/components/calendar/__tests__/CCalendar.edge-cases.spec.tsx +0 -416
  413. package/src/components/calendar/__tests__/CCalendar.interactions.spec.tsx +0 -593
  414. package/src/components/header/CHeaderBrand.tsx~HEAD +0 -36
  415. package/src/components/sidebar/CSidebarNavContext.ts +0 -8
  416. /package/src/components/calendar/__tests__/{test-setup.ts → setup.ts} +0 -0
@@ -1,402 +0,0 @@
1
- import * as React from 'react'
2
- import { render, screen, fireEvent, waitFor } from '@testing-library/react'
3
- import userEvent from '@testing-library/user-event'
4
- import '@testing-library/jest-dom'
5
- import { CCalendar } from '../CCalendar'
6
- import { convertToDateObject } from '../utils'
7
- import { SelectionTypes } from '../types'
8
-
9
- // Mock Date constructor to control timezone during tests
10
- const mockDate = (dateString: string) => {
11
- const OriginalDate = Date
12
- const MockedDate = class extends OriginalDate {
13
- constructor(...args: any[]) {
14
- if (args.length === 0) {
15
- super(dateString)
16
- } else {
17
- super(...args)
18
- }
19
- }
20
- }
21
- MockedDate.now = () => new OriginalDate(dateString).getTime()
22
- Object.setPrototypeOf(MockedDate, OriginalDate)
23
- Object.setPrototypeOf(MockedDate.prototype, OriginalDate.prototype)
24
- return MockedDate as any
25
- }
26
-
27
- describe('CCalendar Component', () => {
28
- beforeEach(() => {
29
- jest.clearAllMocks()
30
- })
31
-
32
- describe('Basic Rendering', () => {
33
- it('renders without crashing', () => {
34
- render(<CCalendar />)
35
- expect(screen.getByRole('application')).toBeInTheDocument()
36
- })
37
-
38
- it('renders with default props', () => {
39
- const { container } = render(<CCalendar />)
40
- expect(container.querySelector('.calendar')).toBeInTheDocument()
41
- })
42
-
43
- it('applies custom className', () => {
44
- const { container } = render(<CCalendar className="custom-calendar" />)
45
- expect(container.querySelector('.custom-calendar')).toBeInTheDocument()
46
- })
47
-
48
- it('renders with custom data attributes', () => {
49
- render(<CCalendar data-testid="calendar-component" />)
50
- expect(screen.getByTestId('calendar-component')).toBeInTheDocument()
51
- })
52
- })
53
-
54
- describe('Date Selection Types', () => {
55
- it('renders day selection by default', () => {
56
- render(<CCalendar />)
57
- // Should show day view by default
58
- expect(screen.getByRole('application')).toBeInTheDocument()
59
- })
60
-
61
- it('renders week selection', () => {
62
- render(<CCalendar selectionType="week" />)
63
- expect(screen.getByRole('application')).toBeInTheDocument()
64
- })
65
-
66
- it('renders month selection', () => {
67
- render(<CCalendar selectionType="month" />)
68
- expect(screen.getByRole('application')).toBeInTheDocument()
69
- })
70
-
71
- it('renders year selection', () => {
72
- render(<CCalendar selectionType="year" />)
73
- expect(screen.getByRole('application')).toBeInTheDocument()
74
- })
75
- })
76
-
77
- describe('Date Props and Parsing', () => {
78
- it('accepts Date object as calendarDate', () => {
79
- const testDate = new Date(2022, 1, 16) // February 16, 2022
80
- render(<CCalendar calendarDate={testDate} />)
81
- expect(screen.getByRole('application')).toBeInTheDocument()
82
- })
83
-
84
- it('accepts date string as calendarDate', () => {
85
- render(<CCalendar calendarDate="2/16/2022" />)
86
- expect(screen.getByRole('application')).toBeInTheDocument()
87
- })
88
-
89
- it('accepts Date object as startDate', () => {
90
- const startDate = new Date(2022, 1, 16)
91
- render(<CCalendar startDate={startDate} />)
92
- expect(screen.getByRole('application')).toBeInTheDocument()
93
- })
94
-
95
- it('accepts date string as startDate', () => {
96
- render(<CCalendar startDate="2/16/2022" />)
97
- expect(screen.getByRole('application')).toBeInTheDocument()
98
- })
99
-
100
- it('accepts Date object as endDate', () => {
101
- const endDate = new Date(2022, 1, 20)
102
- render(<CCalendar endDate={endDate} />)
103
- expect(screen.getByRole('application')).toBeInTheDocument()
104
- })
105
-
106
- it('accepts date string as endDate', () => {
107
- render(<CCalendar endDate="2/20/2022" />)
108
- expect(screen.getByRole('application')).toBeInTheDocument()
109
- })
110
- })
111
-
112
- describe('Min/Max Date Constraints', () => {
113
- it('accepts minDate as Date object', () => {
114
- const minDate = new Date(2022, 0, 1) // January 1, 2022
115
- render(<CCalendar minDate={minDate} />)
116
- expect(screen.getByRole('application')).toBeInTheDocument()
117
- })
118
-
119
- it('accepts minDate as string', () => {
120
- render(<CCalendar minDate="1/1/2022" />)
121
- expect(screen.getByRole('application')).toBeInTheDocument()
122
- })
123
-
124
- it('accepts maxDate as Date object', () => {
125
- const maxDate = new Date(2022, 11, 31) // December 31, 2022
126
- render(<CCalendar maxDate={maxDate} />)
127
- expect(screen.getByRole('application')).toBeInTheDocument()
128
- })
129
-
130
- it('accepts maxDate as string', () => {
131
- render(<CCalendar maxDate="12/31/2022" />)
132
- expect(screen.getByRole('application')).toBeInTheDocument()
133
- })
134
- })
135
-
136
- describe('Disabled Dates', () => {
137
- it('accepts single disabled date', () => {
138
- const disabledDate = new Date(2022, 1, 16)
139
- render(<CCalendar disabledDate={disabledDate} />)
140
- expect(screen.getByRole('application')).toBeInTheDocument()
141
- })
142
-
143
- it('accepts array of disabled dates', () => {
144
- const disabledDates = [
145
- new Date(2022, 1, 16),
146
- new Date(2022, 1, 17),
147
- new Date(2022, 1, 18)
148
- ]
149
- render(<CCalendar disabledDate={disabledDates} />)
150
- expect(screen.getByRole('application')).toBeInTheDocument()
151
- })
152
-
153
- it('accepts function for disabled dates', () => {
154
- const disabledDateFn = (date: Date) => date.getDay() === 0 || date.getDay() === 6 // weekends
155
- render(<CCalendar disabledDate={disabledDateFn} />)
156
- expect(screen.getByRole('application')).toBeInTheDocument()
157
- })
158
- })
159
-
160
- describe('Callbacks', () => {
161
- it('calls onCalendarDateChange when date is selected', async () => {
162
- const onCalendarDateChange = jest.fn()
163
- render(<CCalendar onCalendarDateChange={onCalendarDateChange} />)
164
-
165
- // This test would need more specific DOM interaction based on the actual calendar implementation
166
- expect(screen.getByRole('application')).toBeInTheDocument()
167
- })
168
-
169
- it('calls onStartDateChange when start date is selected', async () => {
170
- const onStartDateChange = jest.fn()
171
- render(<CCalendar onStartDateChange={onStartDateChange} />)
172
-
173
- expect(screen.getByRole('application')).toBeInTheDocument()
174
- })
175
-
176
- it('calls onEndDateChange when end date is selected', async () => {
177
- const onEndDateChange = jest.fn()
178
- render(<CCalendar onEndDateChange={onEndDateChange} />)
179
-
180
- expect(screen.getByRole('application')).toBeInTheDocument()
181
- })
182
-
183
- it('calls onViewChange when view changes', async () => {
184
- const onViewChange = jest.fn()
185
- render(<CCalendar onViewChange={onViewChange} />)
186
-
187
- expect(screen.getByRole('application')).toBeInTheDocument()
188
- })
189
- })
190
-
191
- describe('Locale Support', () => {
192
- it('accepts custom locale', () => {
193
- render(<CCalendar locale="pl-PL" />)
194
- expect(screen.getByRole('application')).toBeInTheDocument()
195
- })
196
-
197
- it('accepts different locale formats', () => {
198
- render(<CCalendar locale="de-DE" />)
199
- expect(screen.getByRole('application')).toBeInTheDocument()
200
- })
201
-
202
- it('falls back to default locale for invalid locale', () => {
203
- render(<CCalendar locale="invalid-locale" />)
204
- expect(screen.getByRole('application')).toBeInTheDocument()
205
- })
206
- })
207
-
208
- describe('Range Selection', () => {
209
- it('supports range selection', () => {
210
- render(
211
- <CCalendar
212
- range
213
- startDate="2/16/2022"
214
- endDate="2/20/2022"
215
- />
216
- )
217
- expect(screen.getByRole('application')).toBeInTheDocument()
218
- })
219
-
220
- it('handles range selection with only start date', () => {
221
- render(
222
- <CCalendar
223
- range
224
- startDate="2/16/2022"
225
- />
226
- )
227
- expect(screen.getByRole('application')).toBeInTheDocument()
228
- })
229
- })
230
-
231
- describe('Navigation', () => {
232
- it('supports navigation controls', () => {
233
- render(<CCalendar navigation />)
234
- expect(screen.getByRole('application')).toBeInTheDocument()
235
- })
236
-
237
- it('supports custom navigation format', () => {
238
- render(<CCalendar navigation navYearFirst />)
239
- expect(screen.getByRole('application')).toBeInTheDocument()
240
- })
241
- })
242
-
243
- describe('Accessibility', () => {
244
- it('has proper ARIA attributes', () => {
245
- render(<CCalendar />)
246
- const calendar = screen.getByRole('application')
247
- expect(calendar).toBeInTheDocument()
248
- })
249
-
250
- it('supports keyboard navigation', async () => {
251
- render(<CCalendar />)
252
- const calendar = screen.getByRole('application')
253
-
254
- // Test keyboard navigation
255
- await userEvent.keyboard('{ArrowDown}')
256
- await userEvent.keyboard('{ArrowUp}')
257
- await userEvent.keyboard('{ArrowLeft}')
258
- await userEvent.keyboard('{ArrowRight}')
259
-
260
- expect(calendar).toBeInTheDocument()
261
- })
262
-
263
- it('supports Enter key for selection', async () => {
264
- const onCalendarDateChange = jest.fn()
265
- render(<CCalendar onCalendarDateChange={onCalendarDateChange} />)
266
-
267
- const calendar = screen.getByRole('application')
268
- calendar.focus()
269
- await userEvent.keyboard('{Enter}')
270
-
271
- expect(calendar).toBeInTheDocument()
272
- })
273
-
274
- it('supports Space key for selection', async () => {
275
- const onCalendarDateChange = jest.fn()
276
- render(<CCalendar onCalendarDateChange={onCalendarDateChange} />)
277
-
278
- const calendar = screen.getByRole('application')
279
- calendar.focus()
280
- await userEvent.keyboard('{Space}')
281
-
282
- expect(calendar).toBeInTheDocument()
283
- })
284
- })
285
-
286
- describe('Edge Cases', () => {
287
- it('handles null calendarDate', () => {
288
- render(<CCalendar calendarDate={null} />)
289
- expect(screen.getByRole('application')).toBeInTheDocument()
290
- })
291
-
292
- it('handles undefined calendarDate', () => {
293
- render(<CCalendar calendarDate={undefined} />)
294
- expect(screen.getByRole('application')).toBeInTheDocument()
295
- })
296
-
297
- it('handles invalid date strings', () => {
298
- render(<CCalendar calendarDate="invalid-date" />)
299
- expect(screen.getByRole('application')).toBeInTheDocument()
300
- })
301
-
302
- it('handles empty date strings', () => {
303
- render(<CCalendar calendarDate="" />)
304
- expect(screen.getByRole('application')).toBeInTheDocument()
305
- })
306
-
307
- it('handles leap year dates', () => {
308
- render(<CCalendar calendarDate="2/29/2024" />)
309
- expect(screen.getByRole('application')).toBeInTheDocument()
310
- })
311
-
312
- it('handles invalid leap year dates', () => {
313
- render(<CCalendar calendarDate="2/29/2023" />)
314
- expect(screen.getByRole('application')).toBeInTheDocument()
315
- })
316
-
317
- it('handles year boundaries', () => {
318
- render(<CCalendar calendarDate="12/31/2022" />)
319
- expect(screen.getByRole('application')).toBeInTheDocument()
320
- })
321
-
322
- it('handles month boundaries', () => {
323
- render(<CCalendar calendarDate="1/31/2022" />)
324
- expect(screen.getByRole('application')).toBeInTheDocument()
325
- })
326
-
327
- it('handles very old dates', () => {
328
- render(<CCalendar calendarDate="1/1/1900" />)
329
- expect(screen.getByRole('application')).toBeInTheDocument()
330
- })
331
-
332
- it('handles far future dates', () => {
333
- render(<CCalendar calendarDate="12/31/2099" />)
334
- expect(screen.getByRole('application')).toBeInTheDocument()
335
- })
336
- })
337
-
338
- describe('Props Updates', () => {
339
- it('updates when calendarDate prop changes', () => {
340
- const { rerender } = render(<CCalendar calendarDate="2/16/2022" />)
341
- expect(screen.getByRole('application')).toBeInTheDocument()
342
-
343
- rerender(<CCalendar calendarDate="3/16/2022" />)
344
- expect(screen.getByRole('application')).toBeInTheDocument()
345
- })
346
-
347
- it('updates when startDate prop changes', () => {
348
- const { rerender } = render(<CCalendar startDate="2/16/2022" />)
349
- expect(screen.getByRole('application')).toBeInTheDocument()
350
-
351
- rerender(<CCalendar startDate="3/16/2022" />)
352
- expect(screen.getByRole('application')).toBeInTheDocument()
353
- })
354
-
355
- it('updates when endDate prop changes', () => {
356
- const { rerender } = render(<CCalendar endDate="2/20/2022" />)
357
- expect(screen.getByRole('application')).toBeInTheDocument()
358
-
359
- rerender(<CCalendar endDate="3/20/2022" />)
360
- expect(screen.getByRole('application')).toBeInTheDocument()
361
- })
362
-
363
- it('updates when selectionType changes', () => {
364
- const { rerender } = render(<CCalendar selectionType="day" />)
365
- expect(screen.getByRole('application')).toBeInTheDocument()
366
-
367
- rerender(<CCalendar selectionType="week" />)
368
- expect(screen.getByRole('application')).toBeInTheDocument()
369
- })
370
-
371
- it('updates when locale changes', () => {
372
- const { rerender } = render(<CCalendar locale="en-US" />)
373
- expect(screen.getByRole('application')).toBeInTheDocument()
374
-
375
- rerender(<CCalendar locale="pl-PL" />)
376
- expect(screen.getByRole('application')).toBeInTheDocument()
377
- })
378
- })
379
-
380
- describe('Integration with Form Libraries', () => {
381
- it('works with controlled components', () => {
382
- const TestComponent = () => {
383
- const [date, setDate] = React.useState<string | Date | null>("2/16/2022")
384
-
385
- return (
386
- <CCalendar
387
- calendarDate={date}
388
- onCalendarDateChange={(date) => setDate(date)}
389
- />
390
- )
391
- }
392
-
393
- render(<TestComponent />)
394
- expect(screen.getByRole('application')).toBeInTheDocument()
395
- })
396
-
397
- it('works with uncontrolled components', () => {
398
- render(<CCalendar />)
399
- expect(screen.getByRole('application')).toBeInTheDocument()
400
- })
401
- })
402
- })