@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
@@ -41,39 +41,30 @@ const CCarouselItem = forwardRef((_a, ref) => {
41
41
  setCount(count + 1);
42
42
  }, [active]);
43
43
  useEffect(() => {
44
- var _a, _b;
45
- (_a = carouselItemRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('transitionstart', () => {
46
- active && setAnimating(true);
47
- });
48
- (_b = carouselItemRef.current) === null || _b === void 0 ? void 0 : _b.addEventListener('transitionend', () => {
49
- active && setAnimating(false);
50
- setDirectionClassName('');
51
- setOrderClassName('');
44
+ const element = carouselItemRef.current;
45
+ if (!element) {
46
+ return;
47
+ }
48
+ const handleTransitionStart = () => {
52
49
  if (active) {
53
- setActiveClassName('active');
50
+ setAnimating(true);
54
51
  }
55
- if (!active) {
56
- setActiveClassName('');
52
+ };
53
+ const handleTransitionEnd = () => {
54
+ if (active) {
55
+ setAnimating(false);
57
56
  }
58
- });
57
+ setDirectionClassName('');
58
+ setOrderClassName('');
59
+ setActiveClassName(active ? 'active' : '');
60
+ };
61
+ element.addEventListener('transitionstart', handleTransitionStart);
62
+ element.addEventListener('transitionend', handleTransitionEnd);
59
63
  return () => {
60
- var _a, _b;
61
- (_a = carouselItemRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('transitionstart', () => {
62
- active && setAnimating(true);
63
- });
64
- (_b = carouselItemRef.current) === null || _b === void 0 ? void 0 : _b.removeEventListener('transitionend', () => {
65
- active && setAnimating(false);
66
- setDirectionClassName('');
67
- setOrderClassName('');
68
- if (active) {
69
- setActiveClassName('active');
70
- }
71
- if (!active) {
72
- setActiveClassName('');
73
- }
74
- });
64
+ element.removeEventListener('transitionstart', handleTransitionStart);
65
+ element.removeEventListener('transitionend', handleTransitionEnd);
75
66
  };
76
- });
67
+ }, [active]);
77
68
  return (React.createElement("div", Object.assign({ className: classNames('carousel-item', activeClassName, directionClassName, orderClassName, className), ref: forkedRef }, rest), children));
78
69
  });
79
70
  CCarouselItem.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"CCarouselItem.js","sources":["../../../../src/components/carousel/CCarouselItem.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CCarouselItem.js","sources":["../../../../src/components/carousel/CCarouselItem.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -32,6 +32,10 @@ export interface CChipProps extends HTMLAttributes<HTMLSpanElement | HTMLButtonE
32
32
  * Disables the React Chip component and removes interactive behavior.
33
33
  */
34
34
  disabled?: boolean;
35
+ /**
36
+ * Turns the React Chip component into a filter chip. A filter chip is selectable and shows a leading check icon while selected.
37
+ */
38
+ filter?: boolean;
35
39
  /**
36
40
  * Callback fired when the React Chip component becomes deselected.
37
41
  */
@@ -64,10 +68,18 @@ export interface CChipProps extends HTMLAttributes<HTMLSpanElement | HTMLButtonE
64
68
  * Controls the selected state of a selectable React Chip component.
65
69
  */
66
70
  selected?: boolean;
71
+ /**
72
+ * Replaces the default selected icon shown by a filter React Chip component with a custom icon node.
73
+ */
74
+ selectedIcon?: ReactNode;
67
75
  /**
68
76
  * Sets the size of the React Chip component to small or large.
69
77
  */
70
78
  size?: 'sm' | 'lg';
79
+ /**
80
+ * Sets the value associated with the React Chip component, used by `CChipSet` to track selection.
81
+ */
82
+ value?: string;
71
83
  /**
72
84
  * Sets the visual variant of the React Chip component to outline style.
73
85
  */
@@ -6,9 +6,10 @@ import '@popperjs/core';
6
6
  import { useForkedRef } from '../../hooks/useForkedRef.js';
7
7
  import { colorPropType } from '../../props.js';
8
8
 
9
- const SELECTOR_FOCUSABLE_ITEMS = '[data-coreui-chip-focusable="true"]:not(.disabled)';
10
9
  const CChip = forwardRef((_a, ref) => {
11
- var { active, ariaRemoveLabel = 'Remove', children, as: Component = 'span', className, clickable, color, disabled, onClick, onDeselect, onKeyDown, onRemove, onSelect, onSelectedChange, removable, removeIcon, selectable, selected, size, tabIndex, variant } = _a, rest = __rest(_a, ["active", "ariaRemoveLabel", "children", "as", "className", "clickable", "color", "disabled", "onClick", "onDeselect", "onKeyDown", "onRemove", "onSelect", "onSelectedChange", "removable", "removeIcon", "selectable", "selected", "size", "tabIndex", "variant"]);
10
+ var { active, ariaRemoveLabel = 'Remove', children, as: Component = 'span', className, clickable, color, disabled, filter, onClick, onDeselect, onKeyDown, onRemove, onSelect, onSelectedChange, removable, removeIcon, selectable, selected, selectedIcon, size, tabIndex, value, variant } = _a, rest = __rest(_a, ["active", "ariaRemoveLabel", "children", "as", "className", "clickable", "color", "disabled", "filter", "onClick", "onDeselect", "onKeyDown", "onRemove", "onSelect", "onSelectedChange", "removable", "removeIcon", "selectable", "selected", "selectedIcon", "size", "tabIndex", "value", "variant"]);
11
+ // A filter chip is selectable by definition.
12
+ const isSelectable = Boolean(selectable || filter);
12
13
  const chipRef = useRef(null);
13
14
  const forkedRef = useForkedRef(ref, chipRef);
14
15
  const isSelectedControlled = selected !== undefined;
@@ -19,32 +20,9 @@ const CChip = forwardRef((_a, ref) => {
19
20
  setSelected(Boolean(selected));
20
21
  }
21
22
  }, [isSelectedControlled, selected]);
22
- const isFocusable = useMemo(() => Boolean(!disabled && (selectable || removable)), [disabled, selectable, removable]);
23
- const getFocusableSibling = (shouldGetNext) => {
24
- var _a;
25
- const currentElement = chipRef.current;
26
- if (!(currentElement === null || currentElement === void 0 ? void 0 : currentElement.parentElement)) {
27
- return null;
28
- }
29
- const chips = Array.from(currentElement.parentElement.querySelectorAll(SELECTOR_FOCUSABLE_ITEMS));
30
- const index = chips.indexOf(currentElement);
31
- if (index === -1 || chips.length <= 1) {
32
- return null;
33
- }
34
- const targetIndex = shouldGetNext ? index + 1 : index - 1;
35
- return (_a = chips[targetIndex]) !== null && _a !== void 0 ? _a : null;
36
- };
37
- const navigateToEdge = (targetIndex) => {
38
- const currentElement = chipRef.current;
39
- if (!(currentElement === null || currentElement === void 0 ? void 0 : currentElement.parentElement)) {
40
- return;
41
- }
42
- const chips = Array.from(currentElement.parentElement.querySelectorAll(SELECTOR_FOCUSABLE_ITEMS));
43
- const edgeChip = targetIndex === -1 ? chips[chips.length - 1] : chips[0];
44
- edgeChip === null || edgeChip === void 0 ? void 0 : edgeChip.focus();
45
- };
23
+ const isFocusable = useMemo(() => Boolean(!disabled && (isSelectable || removable)), [disabled, isSelectable, removable]);
46
24
  const setSelectableState = (nextSelected, event) => {
47
- if (!selectable || disabled || nextSelected === selectedState) {
25
+ if (!isSelectable || disabled || nextSelected === selectedState) {
48
26
  return;
49
27
  }
50
28
  if (!isSelectedControlled) {
@@ -75,7 +53,7 @@ const CChip = forwardRef((_a, ref) => {
75
53
  if (event.target.closest('.chip-remove')) {
76
54
  return;
77
55
  }
78
- if (selectable) {
56
+ if (isSelectable) {
79
57
  toggleSelectedState(event);
80
58
  }
81
59
  onClick === null || onClick === void 0 ? void 0 : onClick(event);
@@ -89,7 +67,7 @@ const CChip = forwardRef((_a, ref) => {
89
67
  case 'Enter':
90
68
  case ' ':
91
69
  case 'Spacebar': {
92
- if (selectable) {
70
+ if (isSelectable) {
93
71
  event.preventDefault();
94
72
  toggleSelectedState(event);
95
73
  }
@@ -99,54 +77,26 @@ const CChip = forwardRef((_a, ref) => {
99
77
  case 'Delete': {
100
78
  if (removable) {
101
79
  event.preventDefault();
102
- const sibling = getFocusableSibling(false) || getFocusableSibling(true);
103
- sibling === null || sibling === void 0 ? void 0 : sibling.focus();
104
80
  handleRemove(event);
105
81
  }
106
82
  break;
107
83
  }
108
- case 'ArrowLeft': {
109
- event.preventDefault();
110
- const sibling = getFocusableSibling(false);
111
- sibling === null || sibling === void 0 ? void 0 : sibling.focus();
112
- if (selectedState && event.shiftKey) {
113
- sibling === null || sibling === void 0 ? void 0 : sibling.dispatchEvent(new CustomEvent('coreui-chip-select'));
114
- }
115
- break;
116
- }
117
- case 'ArrowRight': {
118
- event.preventDefault();
119
- const sibling = getFocusableSibling(true);
120
- sibling === null || sibling === void 0 ? void 0 : sibling.focus();
121
- if (selectedState && event.shiftKey) {
122
- sibling === null || sibling === void 0 ? void 0 : sibling.dispatchEvent(new CustomEvent('coreui-chip-select'));
123
- }
124
- break;
125
- }
126
- case 'Home': {
127
- event.preventDefault();
128
- navigateToEdge(0);
129
- break;
130
- }
131
- case 'End': {
132
- event.preventDefault();
133
- navigateToEdge(-1);
134
- break;
135
- }
136
84
  // No default
137
85
  }
138
86
  onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
139
87
  };
140
88
  return (React.createElement(Component, Object.assign({ className: classNames('chip', {
141
- active: selectable ? selectedState : active,
89
+ active: isSelectable ? selectedState : active,
142
90
  disabled,
143
91
  [`chip-${color}`]: color,
144
92
  [`chip-${size}`]: size,
145
- 'chip-clickable': clickable || selectable || Boolean(onClick),
93
+ 'chip-clickable': clickable || isSelectable || Boolean(onClick),
146
94
  'chip-outline': variant === 'outline',
147
- }, className), "data-coreui-chip-focusable": isFocusable || undefined }, (disabled && { 'aria-disabled': true }), (selectable && { 'aria-selected': selectedState }), (isFocusable && tabIndex === undefined && { tabIndex: 0 }), { onClick: handleClick, onKeyDown: handleKeyDown }, (Component === 'button' && { disabled }), rest, { ref: forkedRef }),
95
+ }, className), "data-coreui-chip-focusable": isFocusable || undefined, "data-coreui-chip-value": value }, (disabled && { 'aria-disabled': true }), (isSelectable && { 'aria-selected': selectedState }), (isFocusable && tabIndex === undefined && { tabIndex: 0 }), { onClick: handleClick, onKeyDown: handleKeyDown }, (Component === 'button' && { disabled }), rest, { ref: forkedRef }),
96
+ filter && selectedState && (React.createElement("span", { className: "chip-check", "aria-hidden": "true" }, selectedIcon !== null && selectedIcon !== void 0 ? selectedIcon : (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 512 512", fill: "currentColor" },
97
+ React.createElement("path", { d: "M425.373 89.373 196 318.745 86.627 209.373l-45.254 45.254L196 409.255l274.627-274.628z" }))))),
148
98
  children,
149
- removable && (React.createElement("button", { type: "button", className: "chip-remove", "aria-label": ariaRemoveLabel, onClick: handleRemoveClick, tabIndex: -1, disabled: disabled }, removeIcon !== null && removeIcon !== void 0 ? removeIcon : (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" },
99
+ removable && !disabled && (React.createElement("button", { type: "button", className: "chip-remove", "aria-label": ariaRemoveLabel, onClick: handleRemoveClick, tabIndex: -1 }, removeIcon !== null && removeIcon !== void 0 ? removeIcon : (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" },
150
100
  React.createElement("line", { x1: "4", y1: "4", x2: "12", y2: "12" }),
151
101
  React.createElement("line", { x1: "12", y1: "4", x2: "4", y2: "12" })))))));
152
102
  });
@@ -159,6 +109,7 @@ CChip.propTypes = {
159
109
  clickable: PropTypes.bool,
160
110
  color: colorPropType,
161
111
  disabled: PropTypes.bool,
112
+ filter: PropTypes.bool,
162
113
  onDeselect: PropTypes.func,
163
114
  onRemove: PropTypes.func,
164
115
  onSelect: PropTypes.func,
@@ -167,7 +118,9 @@ CChip.propTypes = {
167
118
  removeIcon: PropTypes.node,
168
119
  selectable: PropTypes.bool,
169
120
  selected: PropTypes.bool,
121
+ selectedIcon: PropTypes.node,
170
122
  size: PropTypes.oneOf(['sm', 'lg']),
123
+ value: PropTypes.string,
171
124
  variant: PropTypes.oneOf(['outline']),
172
125
  };
173
126
  CChip.displayName = 'CChip';
@@ -1 +1 @@
1
- {"version":3,"file":"CChip.js","sources":["../../../../src/components/chip/CChip.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CChip.js","sources":["../../../../src/components/chip/CChip.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const SELECTOR_CHIP_FOCUSABLE = "[data-coreui-chip-focusable=\"true\"]:not(.disabled)";
@@ -0,0 +1,6 @@
1
+ // Chips advertise their own focusability via `data-coreui-chip-focusable`,
2
+ // so containers (CChipSet, CChipInput) read it instead of re-deriving it.
3
+ const SELECTOR_CHIP_FOCUSABLE = '[data-coreui-chip-focusable="true"]:not(.disabled)';
4
+
5
+ export { SELECTOR_CHIP_FOCUSABLE };
6
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sources":["../../../../src/components/chip/const.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACO,MAAM,uBAAuB,GAAG;;;;"}
@@ -0,0 +1,73 @@
1
+ import { ElementType, HTMLAttributes, ReactNode } from 'react';
2
+ import { type CChipSetItem } from './useChipSet';
3
+ import { PolymorphicRefForwardingComponent } from '../../helpers';
4
+ export type { CChipSetItem };
5
+ export interface CChipSetProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'> {
6
+ /**
7
+ * Provides an accessible label for the remove button of every chip rendered by the React Chip Set component.
8
+ */
9
+ ariaRemoveLabel?: string;
10
+ /**
11
+ * Specifies the root element or custom component used by the React Chip Set component.
12
+ */
13
+ as?: ElementType;
14
+ /**
15
+ * Renders chips from data instead of children. Each item is a string or an object with a `value`, an optional `label`, and any `CChip` props. Children are used when this is omitted.
16
+ */
17
+ chips?: (string | CChipSetItem)[];
18
+ /**
19
+ * Adds custom classes to the React Chip Set root element.
20
+ */
21
+ className?: string;
22
+ /**
23
+ * Sets the initial uncontrolled chips. In this mode the React Chip Set component owns the list and removes chips itself; use `chips` (with `onRemove`) for a controlled list.
24
+ */
25
+ defaultChips?: (string | CChipSetItem)[];
26
+ /**
27
+ * Sets the initial uncontrolled selection of the React Chip Set component.
28
+ */
29
+ defaultSelected?: string[];
30
+ /**
31
+ * Disables every chip rendered by the React Chip Set component.
32
+ */
33
+ disabled?: boolean;
34
+ /**
35
+ * Turns the chips into filter chips, each showing a leading check icon while selected.
36
+ */
37
+ filter?: boolean;
38
+ /**
39
+ * Callback fired when a chip requests removal. The chips are controlled by their rendered children, so remove the chip from your data in response.
40
+ */
41
+ onRemove?: (value: string) => void;
42
+ /**
43
+ * Callback fired when the selected chip values of the React Chip Set component change.
44
+ */
45
+ onSelect?: (selected: string[]) => void;
46
+ /**
47
+ * Displays a remove button on every chip rendered by the React Chip Set component.
48
+ */
49
+ removable?: boolean;
50
+ /**
51
+ * Replaces the default remove icon on every chip with a custom icon node.
52
+ */
53
+ removeIcon?: ReactNode;
54
+ /**
55
+ * Enables selection behavior for the chips rendered by the React Chip Set component.
56
+ */
57
+ selectable?: boolean;
58
+ /**
59
+ * Controls the selected chip values of the React Chip Set component.
60
+ *
61
+ * @controllable onSelect
62
+ */
63
+ selected?: string[];
64
+ /**
65
+ * Replaces the default selected icon shown by filter chips with a custom icon node.
66
+ */
67
+ selectedIcon?: ReactNode;
68
+ /**
69
+ * Sets how many chips can be selected at once in the React Chip Set component.
70
+ */
71
+ selectionMode?: 'single' | 'multiple';
72
+ }
73
+ export declare const CChipSet: PolymorphicRefForwardingComponent<'div', CChipSetProps>;
@@ -0,0 +1,64 @@
1
+ import { __rest } from '../../node_modules/tslib/tslib.es6.js';
2
+ import React, { forwardRef, useState } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import classNames from '../../_virtual/index.js';
5
+ import { useChipSet } from './useChipSet.js';
6
+ import '@popperjs/core';
7
+ import { useForkedRef } from '../../hooks/useForkedRef.js';
8
+
9
+ const itemValue = (item) => typeof item === 'string' ? item : item.value;
10
+ const CChipSet = forwardRef((_a, ref) => {
11
+ var { ariaRemoveLabel, as: Component = 'div', children, chips, className, defaultChips, defaultSelected, disabled, filter, onKeyDown, onRemove, onSelect, removable, removeIcon, selectable, selected, selectedIcon, selectionMode } = _a, rest = __rest(_a, ["ariaRemoveLabel", "as", "children", "chips", "className", "defaultChips", "defaultSelected", "disabled", "filter", "onKeyDown", "onRemove", "onSelect", "removable", "removeIcon", "selectable", "selected", "selectedIcon", "selectionMode"]);
12
+ // The chip list is controlled by `chips` (or children) or, with `defaultChips`,
13
+ // uncontrolled — then the set owns the list and removes chips itself.
14
+ const isUncontrolledList = chips === undefined && defaultChips !== undefined;
15
+ const [_chips, setChips] = useState(defaultChips !== null && defaultChips !== void 0 ? defaultChips : []);
16
+ const { rootRef, handleKeyDown, renderChips, renderChipsFromData } = useChipSet({
17
+ ariaRemoveLabel,
18
+ defaultSelected,
19
+ disabled,
20
+ filter,
21
+ removable,
22
+ removeIcon,
23
+ selectable,
24
+ selected,
25
+ selectedIcon,
26
+ selectionMode,
27
+ onRemoveChip: (value) => {
28
+ if (isUncontrolledList) {
29
+ setChips((prev) => prev.filter((item) => itemValue(item) !== value));
30
+ }
31
+ onRemove === null || onRemove === void 0 ? void 0 : onRemove(value);
32
+ },
33
+ onSelectionChange: onSelect,
34
+ });
35
+ const forkedRef = useForkedRef(ref, rootRef);
36
+ const items = chips !== null && chips !== void 0 ? chips : (isUncontrolledList ? _chips : undefined);
37
+ return (React.createElement(Component, Object.assign({ className: classNames('chip-set', { disabled }, className) }, (disabled && { 'aria-disabled': true }), { onKeyDown: (event) => {
38
+ handleKeyDown(event);
39
+ onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
40
+ } }, rest, { ref: forkedRef }), items ? renderChipsFromData(items) : renderChips(children)));
41
+ });
42
+ CChipSet.propTypes = {
43
+ ariaRemoveLabel: PropTypes.string,
44
+ as: PropTypes.elementType,
45
+ children: PropTypes.node,
46
+ chips: PropTypes.array,
47
+ className: PropTypes.string,
48
+ defaultChips: PropTypes.array,
49
+ defaultSelected: PropTypes.array,
50
+ disabled: PropTypes.bool,
51
+ filter: PropTypes.bool,
52
+ onRemove: PropTypes.func,
53
+ onSelect: PropTypes.func,
54
+ removable: PropTypes.bool,
55
+ removeIcon: PropTypes.node,
56
+ selectable: PropTypes.bool,
57
+ selected: PropTypes.array,
58
+ selectedIcon: PropTypes.node,
59
+ selectionMode: PropTypes.oneOf(['single', 'multiple']),
60
+ };
61
+ CChipSet.displayName = 'CChipSet';
62
+
63
+ export { CChipSet };
64
+ //# sourceMappingURL=CChipSet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CChipSet.js","sources":["../../../../src/components/chip-set/CChipSet.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { CChipSet } from './CChipSet';
2
+ export { CChipSet };
@@ -0,0 +1,48 @@
1
+ import React, { KeyboardEvent, ReactNode } from 'react';
2
+ import { type CChipProps } from '../chip/CChip';
3
+ export interface CChipSetItem extends Omit<CChipProps, 'value' | 'children'> {
4
+ /**
5
+ * The value that identifies the chip and tracks its selection.
6
+ */
7
+ value: string;
8
+ /**
9
+ * The chip content. Falls back to `value` when omitted.
10
+ */
11
+ label?: ReactNode;
12
+ }
13
+ export interface UseChipSetOptions {
14
+ ariaRemoveLabel?: string;
15
+ defaultSelected?: string[];
16
+ disabled?: boolean;
17
+ filter?: boolean;
18
+ removable?: boolean;
19
+ removeIcon?: ReactNode;
20
+ /**
21
+ * Move focus to a neighboring chip after one is removed. Containers that own a
22
+ * different focus target after removal (e.g. CChipInput refocuses its input)
23
+ * set this to `false`.
24
+ */
25
+ restoreFocusOnRemove?: boolean;
26
+ selectable?: boolean;
27
+ selected?: string[];
28
+ selectedIcon?: ReactNode;
29
+ selectionMode?: 'single' | 'multiple';
30
+ onRemoveChip?: (value: string) => void;
31
+ onSelectionChange?: (selected: string[]) => void;
32
+ }
33
+ /**
34
+ * The shared chip-set engine. Both `CChipSet` and `CChipInput` build on it — the
35
+ * React equivalent of the vanilla `ChipInput extends ChipSet`. It owns selection
36
+ * coordination (single/multiple, controlled-or-uncontrolled), roving focus, the
37
+ * focus-a-neighbor-after-removal behavior, and the per-chip prop injection.
38
+ * Existence of the chips stays with the caller (its children / value list).
39
+ */
40
+ export declare const useChipSet: (options: UseChipSetOptions) => {
41
+ rootRef: React.RefObject<HTMLDivElement | null>;
42
+ selectedValues: string[];
43
+ clearSelection: () => void;
44
+ getFocusableChips: () => HTMLElement[];
45
+ handleKeyDown: (event: KeyboardEvent<HTMLElement>) => boolean;
46
+ renderChips: (children: ReactNode) => ReactNode;
47
+ renderChipsFromData: (items: (string | CChipSetItem)[]) => ReactNode;
48
+ };