@coreui/react-pro 5.25.0 → 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 (291) hide show
  1. package/dist/cjs/components/card/CCardImage.js.map +1 -1
  2. package/dist/cjs/components/carousel/CCarousel.js +44 -33
  3. package/dist/cjs/components/carousel/CCarousel.js.map +1 -1
  4. package/dist/cjs/components/carousel/CCarouselItem.js +19 -28
  5. package/dist/cjs/components/carousel/CCarouselItem.js.map +1 -1
  6. package/dist/cjs/components/chip/CChip.d.ts +12 -0
  7. package/dist/cjs/components/chip/CChip.js +16 -63
  8. package/dist/cjs/components/chip/CChip.js.map +1 -1
  9. package/dist/cjs/components/chip/const.d.ts +1 -0
  10. package/dist/cjs/components/chip/const.js +8 -0
  11. package/dist/cjs/components/chip/const.js.map +1 -0
  12. package/dist/cjs/components/chip-set/CChipSet.d.ts +73 -0
  13. package/dist/cjs/components/chip-set/CChipSet.js +66 -0
  14. package/dist/cjs/components/chip-set/CChipSet.js.map +1 -0
  15. package/dist/cjs/components/chip-set/index.d.ts +2 -0
  16. package/dist/cjs/components/chip-set/useChipSet.d.ts +48 -0
  17. package/dist/cjs/components/chip-set/useChipSet.js +163 -0
  18. package/dist/cjs/components/chip-set/useChipSet.js.map +1 -0
  19. package/dist/cjs/components/chip-set/utils.d.ts +7 -0
  20. package/dist/cjs/components/chip-set/utils.js +18 -0
  21. package/dist/cjs/components/chip-set/utils.js.map +1 -0
  22. package/dist/cjs/components/collapse/CCollapse.js +14 -6
  23. package/dist/cjs/components/collapse/CCollapse.js.map +1 -1
  24. package/dist/cjs/components/conditional-portal/CConditionalPortal.js +3 -1
  25. package/dist/cjs/components/conditional-portal/CConditionalPortal.js.map +1 -1
  26. package/dist/cjs/components/dropdown/CDropdown.js +22 -29
  27. package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
  28. package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
  29. package/dist/cjs/components/form/CChipInput.d.ts +14 -2
  30. package/dist/cjs/components/form/CChipInput.js +77 -49
  31. package/dist/cjs/components/form/CChipInput.js.map +1 -1
  32. package/dist/cjs/components/form/CFormCheck.js.map +1 -1
  33. package/dist/cjs/components/form/CFormInput.js.map +1 -1
  34. package/dist/cjs/components/form/CFormSelect.js.map +1 -1
  35. package/dist/cjs/components/form/CFormTextarea.js.map +1 -1
  36. package/dist/cjs/components/form/CInputGroupText.js.map +1 -1
  37. package/dist/cjs/components/grid/CContainer.js +3 -1
  38. package/dist/cjs/components/grid/CContainer.js.map +1 -1
  39. package/dist/cjs/components/header/CHeaderBrand.js.map +1 -1
  40. package/dist/cjs/components/index.d.ts +1 -0
  41. package/dist/cjs/components/link/CLink.js +4 -2
  42. package/dist/cjs/components/link/CLink.js.map +1 -1
  43. package/dist/cjs/components/list-group/CListGroupItem.js.map +1 -1
  44. package/dist/cjs/components/modal/CModal.js +14 -2
  45. package/dist/cjs/components/modal/CModal.js.map +1 -1
  46. package/dist/cjs/components/multi-select/CMultiSelect.d.ts +73 -1
  47. package/dist/cjs/components/multi-select/CMultiSelect.js +157 -18
  48. package/dist/cjs/components/multi-select/CMultiSelect.js.map +1 -1
  49. package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js +1 -1
  50. package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
  51. package/dist/cjs/components/multi-select/CMultiSelectOptions.d.ts +3 -0
  52. package/dist/cjs/components/multi-select/CMultiSelectOptions.js +45 -2
  53. package/dist/cjs/components/multi-select/CMultiSelectOptions.js.map +1 -1
  54. package/dist/cjs/components/multi-select/CMultiSelectSelection.d.ts +1 -0
  55. package/dist/cjs/components/multi-select/CMultiSelectSelection.js +4 -3
  56. package/dist/cjs/components/multi-select/CMultiSelectSelection.js.map +1 -1
  57. package/dist/cjs/components/multi-select/types.d.ts +12 -0
  58. package/dist/cjs/components/multi-select/utils.js +1 -4
  59. package/dist/cjs/components/multi-select/utils.js.map +1 -1
  60. package/dist/cjs/components/nav/CNav.js.map +1 -1
  61. package/dist/cjs/components/nav/CNavGroup.d.ts +10 -5
  62. package/dist/cjs/components/nav/CNavGroup.js +83 -24
  63. package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
  64. package/dist/cjs/components/nav/CNavGroupContext.d.ts +25 -0
  65. package/dist/cjs/components/nav/CNavGroupContext.js +13 -0
  66. package/dist/cjs/components/nav/CNavGroupContext.js.map +1 -0
  67. package/dist/cjs/components/nav/CNavLink.d.ts +1 -5
  68. package/dist/cjs/components/nav/CNavLink.js +21 -8
  69. package/dist/cjs/components/nav/CNavLink.js.map +1 -1
  70. package/dist/cjs/components/popover/CPopover.js +57 -9
  71. package/dist/cjs/components/popover/CPopover.js.map +1 -1
  72. package/dist/cjs/components/progress/CProgress.js.map +1 -1
  73. package/dist/cjs/components/rating/CRating.d.ts +1 -1
  74. package/dist/cjs/components/rating/CRating.js.map +1 -1
  75. package/dist/cjs/components/sidebar/CSidebar.js +40 -23
  76. package/dist/cjs/components/sidebar/CSidebar.js.map +1 -1
  77. package/dist/cjs/components/sidebar/CSidebarNav.js +6 -35
  78. package/dist/cjs/components/sidebar/CSidebarNav.js.map +1 -1
  79. package/dist/cjs/components/table/CTableDataCell.js.map +1 -1
  80. package/dist/cjs/components/table/types.d.ts +2 -1
  81. package/dist/cjs/components/table/utils.js +4 -4
  82. package/dist/cjs/components/table/utils.js.map +1 -1
  83. package/dist/cjs/components/tabs/CTabPanel.js +3 -1
  84. package/dist/cjs/components/tabs/CTabPanel.js.map +1 -1
  85. package/dist/cjs/components/tooltip/CTooltip.js +57 -9
  86. package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
  87. package/dist/cjs/helpers/polymorphicComponent.d.ts +1 -2
  88. package/dist/cjs/hooks/useForkedRef.d.ts +1 -1
  89. package/dist/cjs/hooks/useForkedRef.js +6 -3
  90. package/dist/cjs/hooks/useForkedRef.js.map +1 -1
  91. package/dist/cjs/hooks/usePopper.js +8 -6
  92. package/dist/cjs/hooks/usePopper.js.map +1 -1
  93. package/dist/cjs/index.js +2 -0
  94. package/dist/cjs/index.js.map +1 -1
  95. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +1 -1
  96. package/dist/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
  97. package/dist/cjs/node_modules/ua-parser-js/dist/ua-parser.min.js +3 -3
  98. package/dist/cjs/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
  99. package/dist/cjs/utils/executeAfterTransition.js.map +1 -1
  100. package/dist/cjs/utils/index.d.ts +2 -1
  101. package/dist/cjs/utils/swipe.d.ts +26 -0
  102. package/dist/cjs/utils/swipe.js +94 -0
  103. package/dist/cjs/utils/swipe.js.map +1 -0
  104. package/dist/esm/components/card/CCardImage.js.map +1 -1
  105. package/dist/esm/components/carousel/CCarousel.js +44 -33
  106. package/dist/esm/components/carousel/CCarousel.js.map +1 -1
  107. package/dist/esm/components/carousel/CCarouselItem.js +19 -28
  108. package/dist/esm/components/carousel/CCarouselItem.js.map +1 -1
  109. package/dist/esm/components/chip/CChip.d.ts +12 -0
  110. package/dist/esm/components/chip/CChip.js +16 -63
  111. package/dist/esm/components/chip/CChip.js.map +1 -1
  112. package/dist/esm/components/chip/const.d.ts +1 -0
  113. package/dist/esm/components/chip/const.js +6 -0
  114. package/dist/esm/components/chip/const.js.map +1 -0
  115. package/dist/esm/components/chip-set/CChipSet.d.ts +73 -0
  116. package/dist/esm/components/chip-set/CChipSet.js +64 -0
  117. package/dist/esm/components/chip-set/CChipSet.js.map +1 -0
  118. package/dist/esm/components/chip-set/index.d.ts +2 -0
  119. package/dist/esm/components/chip-set/useChipSet.d.ts +48 -0
  120. package/dist/esm/components/chip-set/useChipSet.js +161 -0
  121. package/dist/esm/components/chip-set/useChipSet.js.map +1 -0
  122. package/dist/esm/components/chip-set/utils.d.ts +7 -0
  123. package/dist/esm/components/chip-set/utils.js +16 -0
  124. package/dist/esm/components/chip-set/utils.js.map +1 -0
  125. package/dist/esm/components/collapse/CCollapse.js +14 -6
  126. package/dist/esm/components/collapse/CCollapse.js.map +1 -1
  127. package/dist/esm/components/conditional-portal/CConditionalPortal.js +3 -1
  128. package/dist/esm/components/conditional-portal/CConditionalPortal.js.map +1 -1
  129. package/dist/esm/components/dropdown/CDropdown.js +22 -29
  130. package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
  131. package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
  132. package/dist/esm/components/form/CChipInput.d.ts +14 -2
  133. package/dist/esm/components/form/CChipInput.js +78 -50
  134. package/dist/esm/components/form/CChipInput.js.map +1 -1
  135. package/dist/esm/components/form/CFormCheck.js.map +1 -1
  136. package/dist/esm/components/form/CFormInput.js.map +1 -1
  137. package/dist/esm/components/form/CFormSelect.js.map +1 -1
  138. package/dist/esm/components/form/CFormTextarea.js.map +1 -1
  139. package/dist/esm/components/form/CInputGroupText.js.map +1 -1
  140. package/dist/esm/components/grid/CContainer.js +3 -1
  141. package/dist/esm/components/grid/CContainer.js.map +1 -1
  142. package/dist/esm/components/header/CHeaderBrand.js.map +1 -1
  143. package/dist/esm/components/index.d.ts +1 -0
  144. package/dist/esm/components/link/CLink.js +4 -2
  145. package/dist/esm/components/link/CLink.js.map +1 -1
  146. package/dist/esm/components/list-group/CListGroupItem.js.map +1 -1
  147. package/dist/esm/components/modal/CModal.js +14 -2
  148. package/dist/esm/components/modal/CModal.js.map +1 -1
  149. package/dist/esm/components/multi-select/CMultiSelect.d.ts +73 -1
  150. package/dist/esm/components/multi-select/CMultiSelect.js +158 -19
  151. package/dist/esm/components/multi-select/CMultiSelect.js.map +1 -1
  152. package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js +1 -1
  153. package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
  154. package/dist/esm/components/multi-select/CMultiSelectOptions.d.ts +3 -0
  155. package/dist/esm/components/multi-select/CMultiSelectOptions.js +45 -2
  156. package/dist/esm/components/multi-select/CMultiSelectOptions.js.map +1 -1
  157. package/dist/esm/components/multi-select/CMultiSelectSelection.d.ts +1 -0
  158. package/dist/esm/components/multi-select/CMultiSelectSelection.js +4 -3
  159. package/dist/esm/components/multi-select/CMultiSelectSelection.js.map +1 -1
  160. package/dist/esm/components/multi-select/types.d.ts +12 -0
  161. package/dist/esm/components/multi-select/utils.js +1 -4
  162. package/dist/esm/components/multi-select/utils.js.map +1 -1
  163. package/dist/esm/components/nav/CNav.js.map +1 -1
  164. package/dist/esm/components/nav/CNavGroup.d.ts +10 -5
  165. package/dist/esm/components/nav/CNavGroup.js +84 -25
  166. package/dist/esm/components/nav/CNavGroup.js.map +1 -1
  167. package/dist/esm/components/nav/CNavGroupContext.d.ts +25 -0
  168. package/dist/esm/components/nav/CNavGroupContext.js +11 -0
  169. package/dist/esm/components/nav/CNavGroupContext.js.map +1 -0
  170. package/dist/esm/components/nav/CNavLink.d.ts +1 -5
  171. package/dist/esm/components/nav/CNavLink.js +21 -8
  172. package/dist/esm/components/nav/CNavLink.js.map +1 -1
  173. package/dist/esm/components/popover/CPopover.js +57 -9
  174. package/dist/esm/components/popover/CPopover.js.map +1 -1
  175. package/dist/esm/components/progress/CProgress.js.map +1 -1
  176. package/dist/esm/components/rating/CRating.d.ts +1 -1
  177. package/dist/esm/components/rating/CRating.js.map +1 -1
  178. package/dist/esm/components/sidebar/CSidebar.js +40 -23
  179. package/dist/esm/components/sidebar/CSidebar.js.map +1 -1
  180. package/dist/esm/components/sidebar/CSidebarNav.js +7 -36
  181. package/dist/esm/components/sidebar/CSidebarNav.js.map +1 -1
  182. package/dist/esm/components/table/CTableDataCell.js.map +1 -1
  183. package/dist/esm/components/table/types.d.ts +2 -1
  184. package/dist/esm/components/table/utils.js +4 -4
  185. package/dist/esm/components/table/utils.js.map +1 -1
  186. package/dist/esm/components/tabs/CTabPanel.js +3 -1
  187. package/dist/esm/components/tabs/CTabPanel.js.map +1 -1
  188. package/dist/esm/components/tooltip/CTooltip.js +57 -9
  189. package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
  190. package/dist/esm/helpers/polymorphicComponent.d.ts +1 -2
  191. package/dist/esm/hooks/useForkedRef.d.ts +1 -1
  192. package/dist/esm/hooks/useForkedRef.js +6 -3
  193. package/dist/esm/hooks/useForkedRef.js.map +1 -1
  194. package/dist/esm/hooks/usePopper.js +9 -7
  195. package/dist/esm/hooks/usePopper.js.map +1 -1
  196. package/dist/esm/index.js +1 -0
  197. package/dist/esm/index.js.map +1 -1
  198. package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +1 -1
  199. package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
  200. package/dist/esm/node_modules/ua-parser-js/dist/ua-parser.min.js +3 -3
  201. package/dist/esm/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
  202. package/dist/esm/utils/executeAfterTransition.js.map +1 -1
  203. package/dist/esm/utils/index.d.ts +2 -1
  204. package/dist/esm/utils/swipe.d.ts +26 -0
  205. package/dist/esm/utils/swipe.js +90 -0
  206. package/dist/esm/utils/swipe.js.map +1 -0
  207. package/package.json +6 -6
  208. package/src/components/autocomplete/CAutocompleteOptions.tsx +1 -1
  209. package/src/components/card/CCardImage.tsx +3 -2
  210. package/src/components/carousel/CCarousel.tsx +48 -51
  211. package/src/components/carousel/CCarouselContext.ts +1 -1
  212. package/src/components/carousel/CCarouselItem.tsx +25 -26
  213. package/src/components/carousel/__tests__/CCarousel.spec.tsx +47 -4
  214. package/src/components/carousel/__tests__/CCarouselItem.spec.tsx +37 -0
  215. package/src/components/chip/CChip.tsx +45 -78
  216. package/src/components/chip/__tests__/CChip.spec.tsx +26 -19
  217. package/src/components/chip/const.ts +3 -0
  218. package/src/components/chip-set/CChipSet.tsx +183 -0
  219. package/src/components/chip-set/__tests__/CChipSet.spec.tsx +215 -0
  220. package/src/components/chip-set/__tests__/__snapshots__/CChipSet.spec.tsx.snap +22 -0
  221. package/src/components/chip-set/index.ts +3 -0
  222. package/src/components/chip-set/useChipSet.ts +243 -0
  223. package/src/components/chip-set/utils.ts +19 -0
  224. package/src/components/collapse/CCollapse.tsx +18 -6
  225. package/src/components/conditional-portal/CConditionalPortal.tsx +4 -2
  226. package/src/components/dropdown/CDropdown.tsx +28 -33
  227. package/src/components/dropdown/CDropdownToggle.tsx +1 -1
  228. package/src/components/dropdown/__tests__/CDropdown.spec.tsx +55 -0
  229. package/src/components/focus-trap/__tests__/CFocusTrap.spec.tsx +1 -1
  230. package/src/components/form/CChipInput.tsx +105 -67
  231. package/src/components/form/CFormCheck.tsx +1 -2
  232. package/src/components/form/CFormInput.tsx +1 -2
  233. package/src/components/form/CFormSelect.tsx +1 -2
  234. package/src/components/form/CFormTextarea.tsx +1 -2
  235. package/src/components/form/CInputGroupText.tsx +3 -2
  236. package/src/components/form/__tests__/CChipInput.spec.tsx +67 -1
  237. package/src/components/form/__tests__/__snapshots__/CChipInput.spec.tsx.snap +7 -0
  238. package/src/components/grid/CContainer.tsx +3 -1
  239. package/src/components/header/CHeaderBrand.tsx +3 -2
  240. package/src/components/index.ts +1 -0
  241. package/src/components/link/CLink.tsx +7 -4
  242. package/src/components/list-group/CListGroupItem.tsx +3 -2
  243. package/src/components/modal/CModal.tsx +19 -2
  244. package/src/components/modal/__tests__/CModal.spec.tsx +43 -0
  245. package/src/components/multi-select/CMultiSelect.tsx +341 -46
  246. package/src/components/multi-select/CMultiSelectNativeSelect.tsx +1 -1
  247. package/src/components/multi-select/CMultiSelectOptions.tsx +74 -3
  248. package/src/components/multi-select/CMultiSelectSelection.tsx +5 -1
  249. package/src/components/multi-select/__tests__/CMultiSelect.spec.tsx +12 -8
  250. package/src/components/multi-select/__tests__/__snapshots__/CMultiSelect.spec.tsx.snap +62 -45
  251. package/src/components/multi-select/__tests__/__snapshots__/CMultiSelectNativeSelect.spec.tsx.snap +2 -2
  252. package/src/components/multi-select/__tests__/__snapshots__/CMultiSelectOptions.spec.tsx.snap +1 -0
  253. package/src/components/multi-select/__tests__/__snapshots__/CMultiSelectSelection.spec.tsx.snap +5 -1
  254. package/src/components/multi-select/types.ts +14 -0
  255. package/src/components/nav/CNav.tsx +3 -2
  256. package/src/components/nav/CNavGroup.tsx +193 -107
  257. package/src/components/nav/CNavGroupContext.ts +27 -0
  258. package/src/components/nav/CNavLink.tsx +26 -12
  259. package/src/components/nav/__tests__/CNavGroup.spec.tsx +195 -20
  260. package/src/components/nav/__tests__/__snapshots__/CNavGroup.spec.tsx.snap +2 -0
  261. package/src/components/popover/CPopover.tsx +59 -9
  262. package/src/components/popover/__tests__/CPopover.spec.tsx +76 -1
  263. package/src/components/progress/CProgress.tsx +1 -2
  264. package/src/components/rating/CRating.tsx +1 -0
  265. package/src/components/search-button/__tests__/CSearchButton.spec.tsx +2 -2
  266. package/src/components/sidebar/CSidebar.tsx +51 -26
  267. package/src/components/sidebar/CSidebarNav.tsx +12 -51
  268. package/src/components/sidebar/__tests__/CSidebar.spec.tsx +26 -0
  269. package/src/components/table/CTableDataCell.tsx +2 -1
  270. package/src/components/table/types.ts +3 -1
  271. package/src/components/table/utils.ts +4 -4
  272. package/src/components/tabs/CTabPanel.tsx +3 -1
  273. package/src/components/tabs/CTabsContext.ts +1 -1
  274. package/src/components/tooltip/CTooltip.tsx +59 -9
  275. package/src/components/tooltip/__tests__/CTooltip.spec.tsx +96 -1
  276. package/src/helpers/polymorphicComponent.ts +1 -1
  277. package/src/hooks/useColorModes.ts +2 -2
  278. package/src/hooks/useForkedRef.ts +20 -15
  279. package/src/hooks/usePopper.ts +13 -9
  280. package/src/utils/__tests__/swipe.spec.ts +82 -0
  281. package/src/utils/executeAfterTransition.ts +1 -1
  282. package/src/utils/index.ts +2 -0
  283. package/src/utils/mergeClassNames.ts +1 -1
  284. package/src/utils/swipe.ts +114 -0
  285. package/dist/cjs/components/sidebar/CSidebarNavContext.d.ts +0 -5
  286. package/dist/cjs/components/sidebar/CSidebarNavContext.js +0 -8
  287. package/dist/cjs/components/sidebar/CSidebarNavContext.js.map +0 -1
  288. package/dist/esm/components/sidebar/CSidebarNavContext.d.ts +0 -5
  289. package/dist/esm/components/sidebar/CSidebarNavContext.js +0 -6
  290. package/dist/esm/components/sidebar/CSidebarNavContext.js.map +0 -1
  291. package/src/components/sidebar/CSidebarNavContext.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"CCardImage.js","sources":["../../../../src/components/card/CCardImage.tsx"],"sourcesContent":[null],"names":["forwardRef","__rest","classNames"],"mappings":";;;;;;;AAsBO,MAAM,UAAU,GAA8DA,gBAAU,CAG7F,CAAC,EAAoE,EAAE,GAAG,KAAI;AAA7E,IAAA,IAAA,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,GAAG,KAAK,EAAE,SAAS,EAAE,WAAW,EAAA,GAAA,EAAW,EAAN,IAAI,GAAAC,gBAAA,CAAA,EAAA,EAAlE,8CAAoE,CAAF;AACnE,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,EACR,SAAS,EAAEC,aAAU,CAAC,WAAW,GAAG,CAAA,SAAA,EAAY,WAAW,CAAA,CAAE,GAAG,UAAU,EAAE,SAAS,CAAC,IAClF,IAAI,EAAA,EACR,GAAG,EAAE,GAAG,EAAA,CAAA,EAEP,QAAQ,CACC;AAEhB,CAAC;AAED,UAAU,CAAC,SAAS,GAAG;IACrB,EAAE,EAAE,SAAS,CAAC,WAAW;IACzB,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB,SAAS,EAAE,SAAS,CAAC,MAAM;IAC3B,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;CAChD;AAED,UAAU,CAAC,WAAW,GAAG,YAAY;;;;"}
1
+ {"version":3,"file":"CCardImage.js","sources":["../../../../src/components/card/CCardImage.tsx"],"sourcesContent":[null],"names":["forwardRef","__rest","classNames"],"mappings":";;;;;;;AAuBO,MAAM,UAAU,GAA8DA,gBAAU,CAG7F,CAAC,EAAoE,EAAE,GAAG,KAAI;AAA7E,IAAA,IAAA,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,GAAG,KAAK,EAAE,SAAS,EAAE,WAAW,EAAA,GAAA,EAAW,EAAN,IAAI,GAAAC,gBAAA,CAAA,EAAA,EAAlE,8CAAoE,CAAF;AACnE,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,EACR,SAAS,EAAEC,aAAU,CAAC,WAAW,GAAG,CAAA,SAAA,EAAY,WAAW,CAAA,CAAE,GAAG,UAAU,EAAE,SAAS,CAAC,IAClF,IAAI,EAAA,EACR,GAAG,EAAE,GAAG,EAAA,CAAA,EAEP,QAAQ,CACC;AAEhB,CAAC;AAED,UAAU,CAAC,SAAS,GAAG;IACrB,EAAE,EAAE,SAAS,CAAC,WAAW;IACzB,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB,SAAS,EAAE,SAAS,CAAC,MAAM;IAC3B,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;CAChD;AAED,UAAU,CAAC,WAAW,GAAG,YAAY;;;;"}
@@ -4,7 +4,9 @@ var tslib_es6 = require('../../node_modules/tslib/tslib.es6.js');
4
4
  var React = require('react');
5
5
  var PropTypes = require('prop-types');
6
6
  var index = require('../../_virtual/index.js');
7
+ var isRTL = require('../../utils/isRTL.js');
7
8
  var isInViewport = require('../../utils/isInViewport.js');
9
+ var swipe = require('../../utils/swipe.js');
8
10
  require('@popperjs/core');
9
11
  var useForkedRef = require('../../hooks/useForkedRef.js');
10
12
  var CCarouselContext = require('./CCarouselContext.js');
@@ -14,32 +16,57 @@ const CCarousel = React.forwardRef((_a, ref) => {
14
16
  const carouselRef = React.useRef(null);
15
17
  const forkedRef = useForkedRef.useForkedRef(ref, carouselRef);
16
18
  const data = React.useRef({}).current;
19
+ const handleControlClickRef = React.useRef(() => undefined);
17
20
  const [active, setActive] = React.useState(activeIndex);
18
21
  const [animating, setAnimating] = React.useState(false);
19
22
  const [customInterval, setCustomInterval] = React.useState();
20
23
  const [direction, setDirection] = React.useState('next');
21
24
  const [itemsNumber, setItemsNumber] = React.useState(0);
22
- const [touchPosition, setTouchPosition] = React.useState(null);
23
25
  const [visible, setVisible] = React.useState();
24
26
  React.useEffect(() => {
25
27
  setItemsNumber(React.Children.toArray(children).length);
26
- });
28
+ }, [children]);
27
29
  React.useEffect(() => {
28
- visible && cycle();
30
+ if (visible) {
31
+ cycle();
32
+ }
29
33
  }, [visible]);
30
34
  React.useEffect(() => {
31
- !animating && cycle();
32
- !animating && onSlid && onSlid(active, direction);
33
- animating && onSlide && onSlide(active, direction);
35
+ if (animating) {
36
+ onSlide === null || onSlide === void 0 ? void 0 : onSlide(active, direction);
37
+ }
38
+ else {
39
+ cycle();
40
+ onSlid === null || onSlid === void 0 ? void 0 : onSlid(active, direction);
41
+ }
34
42
  }, [animating]);
35
43
  React.useEffect(() => {
36
44
  window.addEventListener('scroll', handleScroll);
37
45
  return () => {
38
46
  window.removeEventListener('scroll', handleScroll);
39
47
  };
40
- });
48
+ }, []);
49
+ React.useEffect(() => {
50
+ if (!touch || !carouselRef.current) {
51
+ return;
52
+ }
53
+ const swipe$1 = new swipe.default(carouselRef.current, {
54
+ onLeft: () => handleControlClickRef.current(isRTL.default(carouselRef.current) ? 'prev' : 'next'),
55
+ onRight: () => handleControlClickRef.current(isRTL.default(carouselRef.current) ? 'next' : 'prev'),
56
+ });
57
+ return () => swipe$1.dispose();
58
+ }, [touch]);
59
+ React.useEffect(() => {
60
+ return () => clearCycleTimeout();
61
+ }, []);
62
+ const clearCycleTimeout = () => {
63
+ if (data.timeout) {
64
+ clearTimeout(data.timeout);
65
+ data.timeout = null;
66
+ }
67
+ };
41
68
  const cycle = () => {
42
- _pause();
69
+ clearCycleTimeout();
43
70
  if (!wrap && active === itemsNumber - 1) {
44
71
  return;
45
72
  }
@@ -47,7 +74,7 @@ const CCarousel = React.forwardRef((_a, ref) => {
47
74
  data.timeout = setTimeout(() => nextItemWhenVisible(), typeof customInterval === 'number' ? customInterval : interval);
48
75
  }
49
76
  };
50
- const _pause = () => pause && data.timeout && clearTimeout(data.timeout);
77
+ const _pause = () => pause && clearCycleTimeout();
51
78
  const nextItemWhenVisible = () => {
52
79
  // Don't call next when the page isn't visible
53
80
  // or the carousel or its parent isn't visible
@@ -64,12 +91,13 @@ const CCarousel = React.forwardRef((_a, ref) => {
64
91
  }
65
92
  setDirection(direction);
66
93
  if (direction === 'next') {
67
- active === itemsNumber - 1 ? setActive(0) : setActive(active + 1);
94
+ setActive(active === itemsNumber - 1 ? 0 : active + 1);
68
95
  }
69
96
  else {
70
- active === 0 ? setActive(itemsNumber - 1) : setActive(active - 1);
97
+ setActive(active === 0 ? itemsNumber - 1 : active - 1);
71
98
  }
72
99
  };
100
+ handleControlClickRef.current = handleControlClick;
73
101
  const handleIndicatorClick = (index) => {
74
102
  if (active === index) {
75
103
  return;
@@ -92,35 +120,18 @@ const CCarousel = React.forwardRef((_a, ref) => {
92
120
  setVisible(false);
93
121
  }
94
122
  };
95
- const handleTouchMove = (e) => {
96
- const touchDown = touchPosition;
97
- if (touchDown === null) {
98
- return;
99
- }
100
- const currentTouch = e.touches[0].clientX;
101
- const diff = touchDown - currentTouch;
102
- if (diff > 5) {
103
- handleControlClick('next');
104
- }
105
- if (diff < -5) {
106
- handleControlClick('prev');
107
- }
108
- setTouchPosition(null);
109
- };
110
- const handleTouchStart = (e) => {
111
- const touchDown = e.touches[0].clientX;
112
- setTouchPosition(touchDown);
113
- };
114
123
  return (React.createElement("div", Object.assign({ className: index.default('carousel slide', {
115
124
  'carousel-fade': transition === 'crossfade',
116
- }, className) }, (dark && { 'data-coreui-theme': 'dark' }), { onMouseEnter: _pause, onMouseLeave: cycle }, (touch && { onTouchStart: handleTouchStart, onTouchMove: handleTouchMove }), rest, { ref: forkedRef }),
125
+ }, className) }, (dark && { 'data-coreui-theme': 'dark' }), { onMouseEnter: _pause, onMouseLeave: cycle }, rest, { ref: forkedRef }),
117
126
  React.createElement(CCarouselContext.CCarouselContext.Provider, { value: {
118
127
  setAnimating,
119
128
  setCustomInterval,
120
129
  } },
121
130
  indicators && (React.createElement("div", { className: "carousel-indicators" }, Array.from({ length: itemsNumber }, (_, i) => i).map((index$1) => {
122
131
  return (React.createElement("button", Object.assign({ key: `indicator${index$1}`, onClick: () => {
123
- !animating && handleIndicatorClick(index$1);
132
+ if (!animating) {
133
+ handleIndicatorClick(index$1);
134
+ }
124
135
  }, className: index.default({
125
136
  active: active === index$1,
126
137
  }), "data-coreui-target": "" }, (active === index$1 && { 'aria-current': true }), { "aria-label": `Slide ${index$1 + 1}` })));
@@ -128,7 +139,7 @@ const CCarousel = React.forwardRef((_a, ref) => {
128
139
  React.createElement("div", { className: "carousel-inner" }, React.Children.map(children, (child, index) => {
129
140
  if (React.isValidElement(child)) {
130
141
  return React.cloneElement(child, {
131
- active: active === index ? true : false,
142
+ active: active === index,
132
143
  direction: direction,
133
144
  key: index,
134
145
  });
@@ -1 +1 @@
1
- {"version":3,"file":"CCarousel.js","sources":["../../../../src/components/carousel/CCarousel.tsx"],"sourcesContent":[null],"names":["forwardRef","__rest","useRef","useForkedRef","useState","useEffect","Children","isInViewport","classNames","CCarouselContext","index"],"mappings":"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"}
1
+ {"version":3,"file":"CCarousel.js","sources":["../../../../src/components/carousel/CCarousel.tsx"],"sourcesContent":[null],"names":["forwardRef","__rest","useRef","useForkedRef","useState","useEffect","Children","swipe","Swipe","isRTL","isInViewport","classNames","CCarouselContext","index"],"mappings":"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"}
@@ -43,39 +43,30 @@ const CCarouselItem = React.forwardRef((_a, ref) => {
43
43
  setCount(count + 1);
44
44
  }, [active]);
45
45
  React.useEffect(() => {
46
- var _a, _b;
47
- (_a = carouselItemRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('transitionstart', () => {
48
- active && setAnimating(true);
49
- });
50
- (_b = carouselItemRef.current) === null || _b === void 0 ? void 0 : _b.addEventListener('transitionend', () => {
51
- active && setAnimating(false);
52
- setDirectionClassName('');
53
- setOrderClassName('');
46
+ const element = carouselItemRef.current;
47
+ if (!element) {
48
+ return;
49
+ }
50
+ const handleTransitionStart = () => {
54
51
  if (active) {
55
- setActiveClassName('active');
52
+ setAnimating(true);
56
53
  }
57
- if (!active) {
58
- setActiveClassName('');
54
+ };
55
+ const handleTransitionEnd = () => {
56
+ if (active) {
57
+ setAnimating(false);
59
58
  }
60
- });
59
+ setDirectionClassName('');
60
+ setOrderClassName('');
61
+ setActiveClassName(active ? 'active' : '');
62
+ };
63
+ element.addEventListener('transitionstart', handleTransitionStart);
64
+ element.addEventListener('transitionend', handleTransitionEnd);
61
65
  return () => {
62
- var _a, _b;
63
- (_a = carouselItemRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('transitionstart', () => {
64
- active && setAnimating(true);
65
- });
66
- (_b = carouselItemRef.current) === null || _b === void 0 ? void 0 : _b.removeEventListener('transitionend', () => {
67
- active && setAnimating(false);
68
- setDirectionClassName('');
69
- setOrderClassName('');
70
- if (active) {
71
- setActiveClassName('active');
72
- }
73
- if (!active) {
74
- setActiveClassName('');
75
- }
76
- });
66
+ element.removeEventListener('transitionstart', handleTransitionStart);
67
+ element.removeEventListener('transitionend', handleTransitionEnd);
77
68
  };
78
- });
69
+ }, [active]);
79
70
  return (React.createElement("div", Object.assign({ className: index.default('carousel-item', activeClassName, directionClassName, orderClassName, className), ref: forkedRef }, rest), children));
80
71
  });
81
72
  CCarouselItem.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"CCarouselItem.js","sources":["../../../../src/components/carousel/CCarouselItem.tsx"],"sourcesContent":[null],"names":["forwardRef","__rest","useContext","CCarouselContext","useRef","useForkedRef","useState","useEffect","classNames"],"mappings":"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"}
1
+ {"version":3,"file":"CCarouselItem.js","sources":["../../../../src/components/carousel/CCarouselItem.tsx"],"sourcesContent":[null],"names":["forwardRef","__rest","useContext","CCarouselContext","useRef","useForkedRef","useState","useEffect","classNames"],"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
  */
@@ -8,9 +8,10 @@ require('@popperjs/core');
8
8
  var useForkedRef = require('../../hooks/useForkedRef.js');
9
9
  var props = require('../../props.js');
10
10
 
11
- const SELECTOR_FOCUSABLE_ITEMS = '[data-coreui-chip-focusable="true"]:not(.disabled)';
12
11
  const CChip = React.forwardRef((_a, ref) => {
13
- 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 = tslib_es6.__rest(_a, ["active", "ariaRemoveLabel", "children", "as", "className", "clickable", "color", "disabled", "onClick", "onDeselect", "onKeyDown", "onRemove", "onSelect", "onSelectedChange", "removable", "removeIcon", "selectable", "selected", "size", "tabIndex", "variant"]);
12
+ 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 = tslib_es6.__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"]);
13
+ // A filter chip is selectable by definition.
14
+ const isSelectable = Boolean(selectable || filter);
14
15
  const chipRef = React.useRef(null);
15
16
  const forkedRef = useForkedRef.useForkedRef(ref, chipRef);
16
17
  const isSelectedControlled = selected !== undefined;
@@ -21,32 +22,9 @@ const CChip = React.forwardRef((_a, ref) => {
21
22
  setSelected(Boolean(selected));
22
23
  }
23
24
  }, [isSelectedControlled, selected]);
24
- const isFocusable = React.useMemo(() => Boolean(!disabled && (selectable || removable)), [disabled, selectable, removable]);
25
- const getFocusableSibling = (shouldGetNext) => {
26
- var _a;
27
- const currentElement = chipRef.current;
28
- if (!(currentElement === null || currentElement === void 0 ? void 0 : currentElement.parentElement)) {
29
- return null;
30
- }
31
- const chips = Array.from(currentElement.parentElement.querySelectorAll(SELECTOR_FOCUSABLE_ITEMS));
32
- const index = chips.indexOf(currentElement);
33
- if (index === -1 || chips.length <= 1) {
34
- return null;
35
- }
36
- const targetIndex = shouldGetNext ? index + 1 : index - 1;
37
- return (_a = chips[targetIndex]) !== null && _a !== void 0 ? _a : null;
38
- };
39
- const navigateToEdge = (targetIndex) => {
40
- const currentElement = chipRef.current;
41
- if (!(currentElement === null || currentElement === void 0 ? void 0 : currentElement.parentElement)) {
42
- return;
43
- }
44
- const chips = Array.from(currentElement.parentElement.querySelectorAll(SELECTOR_FOCUSABLE_ITEMS));
45
- const edgeChip = targetIndex === -1 ? chips[chips.length - 1] : chips[0];
46
- edgeChip === null || edgeChip === void 0 ? void 0 : edgeChip.focus();
47
- };
25
+ const isFocusable = React.useMemo(() => Boolean(!disabled && (isSelectable || removable)), [disabled, isSelectable, removable]);
48
26
  const setSelectableState = (nextSelected, event) => {
49
- if (!selectable || disabled || nextSelected === selectedState) {
27
+ if (!isSelectable || disabled || nextSelected === selectedState) {
50
28
  return;
51
29
  }
52
30
  if (!isSelectedControlled) {
@@ -77,7 +55,7 @@ const CChip = React.forwardRef((_a, ref) => {
77
55
  if (event.target.closest('.chip-remove')) {
78
56
  return;
79
57
  }
80
- if (selectable) {
58
+ if (isSelectable) {
81
59
  toggleSelectedState(event);
82
60
  }
83
61
  onClick === null || onClick === void 0 ? void 0 : onClick(event);
@@ -91,7 +69,7 @@ const CChip = React.forwardRef((_a, ref) => {
91
69
  case 'Enter':
92
70
  case ' ':
93
71
  case 'Spacebar': {
94
- if (selectable) {
72
+ if (isSelectable) {
95
73
  event.preventDefault();
96
74
  toggleSelectedState(event);
97
75
  }
@@ -101,54 +79,26 @@ const CChip = React.forwardRef((_a, ref) => {
101
79
  case 'Delete': {
102
80
  if (removable) {
103
81
  event.preventDefault();
104
- const sibling = getFocusableSibling(false) || getFocusableSibling(true);
105
- sibling === null || sibling === void 0 ? void 0 : sibling.focus();
106
82
  handleRemove(event);
107
83
  }
108
84
  break;
109
85
  }
110
- case 'ArrowLeft': {
111
- event.preventDefault();
112
- const sibling = getFocusableSibling(false);
113
- sibling === null || sibling === void 0 ? void 0 : sibling.focus();
114
- if (selectedState && event.shiftKey) {
115
- sibling === null || sibling === void 0 ? void 0 : sibling.dispatchEvent(new CustomEvent('coreui-chip-select'));
116
- }
117
- break;
118
- }
119
- case 'ArrowRight': {
120
- event.preventDefault();
121
- const sibling = getFocusableSibling(true);
122
- sibling === null || sibling === void 0 ? void 0 : sibling.focus();
123
- if (selectedState && event.shiftKey) {
124
- sibling === null || sibling === void 0 ? void 0 : sibling.dispatchEvent(new CustomEvent('coreui-chip-select'));
125
- }
126
- break;
127
- }
128
- case 'Home': {
129
- event.preventDefault();
130
- navigateToEdge(0);
131
- break;
132
- }
133
- case 'End': {
134
- event.preventDefault();
135
- navigateToEdge(-1);
136
- break;
137
- }
138
86
  // No default
139
87
  }
140
88
  onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
141
89
  };
142
90
  return (React.createElement(Component, Object.assign({ className: index.default('chip', {
143
- active: selectable ? selectedState : active,
91
+ active: isSelectable ? selectedState : active,
144
92
  disabled,
145
93
  [`chip-${color}`]: color,
146
94
  [`chip-${size}`]: size,
147
- 'chip-clickable': clickable || selectable || Boolean(onClick),
95
+ 'chip-clickable': clickable || isSelectable || Boolean(onClick),
148
96
  'chip-outline': variant === 'outline',
149
- }, 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 }),
97
+ }, 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 }),
98
+ 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" },
99
+ React.createElement("path", { d: "M425.373 89.373 196 318.745 86.627 209.373l-45.254 45.254L196 409.255l274.627-274.628z" }))))),
150
100
  children,
151
- 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" },
101
+ 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" },
152
102
  React.createElement("line", { x1: "4", y1: "4", x2: "12", y2: "12" }),
153
103
  React.createElement("line", { x1: "12", y1: "4", x2: "4", y2: "12" })))))));
154
104
  });
@@ -161,6 +111,7 @@ CChip.propTypes = {
161
111
  clickable: PropTypes.bool,
162
112
  color: props.colorPropType,
163
113
  disabled: PropTypes.bool,
114
+ filter: PropTypes.bool,
164
115
  onDeselect: PropTypes.func,
165
116
  onRemove: PropTypes.func,
166
117
  onSelect: PropTypes.func,
@@ -169,7 +120,9 @@ CChip.propTypes = {
169
120
  removeIcon: PropTypes.node,
170
121
  selectable: PropTypes.bool,
171
122
  selected: PropTypes.bool,
123
+ selectedIcon: PropTypes.node,
172
124
  size: PropTypes.oneOf(['sm', 'lg']),
125
+ value: PropTypes.string,
173
126
  variant: PropTypes.oneOf(['outline']),
174
127
  };
175
128
  CChip.displayName = 'CChip';
@@ -1 +1 @@
1
- {"version":3,"file":"CChip.js","sources":["../../../../src/components/chip/CChip.tsx"],"sourcesContent":[null],"names":["forwardRef","__rest","useRef","useForkedRef","useState","useEffect","useMemo","classNames","colorPropType"],"mappings":"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"}
1
+ {"version":3,"file":"CChip.js","sources":["../../../../src/components/chip/CChip.tsx"],"sourcesContent":[null],"names":["forwardRef","__rest","useRef","useForkedRef","useState","useEffect","useMemo","classNames","colorPropType"],"mappings":";;;;;;;;;;AA4GO,MAAM,KAAK,GAA0DA,gBAAU,CAIpF,CACE,EA0BC,EACD,GAAG,KACD;QA5BF,EACE,MAAM,EACN,eAAe,GAAG,QAAQ,EAC1B,QAAQ,EACR,EAAE,EAAE,SAAS,GAAG,MAAM,EACtB,SAAS,EACT,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,OAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,OAAO,EAAA,GAAA,EAER,EADI,IAAI,GAAAC,gBAAA,CAAA,EAAA,EAzBT,CAAA,QAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAA,EAAA,WAAA,EAAA,OAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,cAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,CA0BC,CADQ;;IAKT,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC;AAClD,IAAA,MAAM,OAAO,GAAGC,YAAM,CAAsC,IAAI,CAAC;IACjE,MAAM,SAAS,GAAGC,yBAAY,CAAC,GAAG,EAAE,OAAO,CAAC;AAC5C,IAAA,MAAM,oBAAoB,GAAG,QAAQ,KAAK,SAAS;AACnD,IAAA,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAGC,cAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5D,IAAA,MAAM,aAAa,GAAG,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS;IAE1EC,eAAS,CAAC,MAAK;QACb,IAAI,oBAAoB,EAAE;AACxB,YAAA,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC;AACF,IAAA,CAAC,EAAE,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAEpC,MAAM,WAAW,GAAGC,aAAO,CACzB,MAAM,OAAO,CAAC,CAAC,QAAQ,KAAK,YAAY,IAAI,SAAS,CAAC,CAAC,EACvD,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CACpC;AAED,IAAA,MAAM,kBAAkB,GAAG,CACzB,YAAqB,EACrB,KAA2D,KACzD;QACF,IAAI,CAAC,YAAY,IAAI,QAAQ,IAAI,YAAY,KAAK,aAAa,EAAE;YAC/D;QACF;QAEA,IAAI,CAAC,oBAAoB,EAAE;YACzB,WAAW,CAAC,YAAY,CAAC;QAC3B;QAEA,IAAI,YAAY,EAAE;AAChB,YAAA,QAAQ,aAAR,QAAQ,KAAA,MAAA,GAAA,MAAA,GAAR,QAAQ,CAAG,KAAK,CAAC;QACnB;aAAO;AACL,YAAA,UAAU,aAAV,UAAU,KAAA,MAAA,GAAA,MAAA,GAAV,UAAU,CAAG,KAAK,CAAC;QACrB;QAEA,gBAAgB,KAAA,IAAA,IAAhB,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhB,gBAAgB,CAAG,YAAY,EAAE,KAAK,CAAC;AACzC,IAAA,CAAC;AAED,IAAA,MAAM,mBAAmB,GAAG,CAAC,KAA2D,KAAI;AAC1F,QAAA,kBAAkB,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC;AAC3C,IAAA,CAAC;AAED,IAAA,MAAM,YAAY,GAAG,CAAC,KAAiE,KAAI;AACzF,QAAA,QAAQ,aAAR,QAAQ,KAAA,MAAA,GAAA,MAAA,GAAR,QAAQ,CAAG,KAAK,CAAC;AACnB,IAAA,CAAC;AAED,IAAA,MAAM,iBAAiB,GAAG,CAAC,KAAoC,KAAI;QACjE,KAAK,CAAC,eAAe,EAAE;QACvB,YAAY,CAAC,KAAK,CAAC;AACrB,IAAA,CAAC;AAED,IAAA,MAAM,WAAW,GAAG,CAAC,KAA8B,KAAI;QACrD,IAAI,QAAQ,EAAE;YACZ;QACF;QAEA,IAAK,KAAK,CAAC,MAAsB,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACzD;QACF;QAEA,IAAI,YAAY,EAAE;YAChB,mBAAmB,CAAC,KAAK,CAAC;QAC5B;AAEA,QAAA,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAG,KAAK,CAAC;AAClB,IAAA,CAAC;AAED,IAAA,MAAM,aAAa,GAAG,CAAC,KAAiC,KAAI;QAC1D,IAAI,QAAQ,EAAE;AACZ,YAAA,SAAS,aAAT,SAAS,KAAA,MAAA,GAAA,MAAA,GAAT,SAAS,CAAG,KAAK,CAAC;YAClB;QACF;AAEA,QAAA,QAAQ,KAAK,CAAC,GAAG;AACf,YAAA,KAAK,OAAO;AACZ,YAAA,KAAK,GAAG;YACR,KAAK,UAAU,EAAE;gBACf,IAAI,YAAY,EAAE;oBAChB,KAAK,CAAC,cAAc,EAAE;oBACtB,mBAAmB,CAAC,KAAK,CAAC;gBAC5B;gBACA;YACF;AAEA,YAAA,KAAK,WAAW;YAChB,KAAK,QAAQ,EAAE;gBACb,IAAI,SAAS,EAAE;oBACb,KAAK,CAAC,cAAc,EAAE;oBACtB,YAAY,CAAC,KAAK,CAAC;gBACrB;gBACA;YACF;;;AAKF,QAAA,SAAS,aAAT,SAAS,KAAA,MAAA,GAAA,MAAA,GAAT,SAAS,CAAG,KAAK,CAAC;AACpB,IAAA,CAAC;IAED,QACE,oBAAC,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,EACR,SAAS,EAAEC,aAAU,CACnB,MAAM,EACN;YACE,MAAM,EAAE,YAAY,GAAG,aAAa,GAAG,MAAM;YAC7C,QAAQ;AACR,YAAA,CAAC,CAAA,KAAA,EAAQ,KAAK,CAAA,CAAE,GAAG,KAAK;AACxB,YAAA,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAA,CAAE,GAAG,IAAI;YACtB,gBAAgB,EAAE,SAAS,IAAI,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;YAC/D,cAAc,EAAE,OAAO,KAAK,SAAS;AACtC,SAAA,EACD,SAAS,CACV,EAAA,4BAAA,EAC2B,WAAW,IAAI,SAAS,EAAA,wBAAA,EAC5B,KAAK,EAAA,GACxB,QAAQ,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IACrC,YAAY,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,IAClD,WAAW,IAAI,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAC,EAC9D,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EAAA,GACnB,SAAS,KAAK,QAAQ,IAAI,EAAE,QAAQ,EAAE,GACvC,IAAI,EAAA,EACR,GAAG,EAAE,SAAS,EAAA,CAAA;AAEb,QAAA,MAAM,IAAI,aAAa,KACtB,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,YAAY,EAAA,aAAA,EAAa,MAAM,IAC5C,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAA,MAAA,GAAZ,YAAY,IACX,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,cAAc,EAAA;AAEnB,YAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,wFAAwF,GAAG,CAC/F,CACP,CACI,CACR;QACA,QAAQ;AACR,QAAA,SAAS,IAAI,CAAC,QAAQ,KACrB,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,aAAa,EAAA,YAAA,EACX,eAAe,EAC3B,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,EAAE,EAAA,EAEX,UAAU,KAAA,IAAA,IAAV,UAAU,cAAV,UAAU,IACT,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EAAA;AAErB,YAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAA,CAAG;YACtC,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAA,CAAG,CAClC,CACP,CACM,CACV,CACS;AAEhB,CAAC;AAGH,KAAK,CAAC,SAAS,GAAG;IAChB,MAAM,EAAE,SAAS,CAAC,IAAI;IACtB,eAAe,EAAE,SAAS,CAAC,MAAM;IACjC,EAAE,EAAE,SAAS,CAAC,WAAW;IACzB,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB,SAAS,EAAE,SAAS,CAAC,MAAM;IAC3B,SAAS,EAAE,SAAS,CAAC,IAAI;AACzB,IAAA,KAAK,EAAEC,mBAAa;IACpB,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB,MAAM,EAAE,SAAS,CAAC,IAAI;IACtB,UAAU,EAAE,SAAS,CAAC,IAAI;IAC1B,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB,gBAAgB,EAAE,SAAS,CAAC,IAAI;IAChC,SAAS,EAAE,SAAS,CAAC,IAAI;IACzB,UAAU,EAAE,SAAS,CAAC,IAAI;IAC1B,UAAU,EAAE,SAAS,CAAC,IAAI;IAC1B,QAAQ,EAAE,SAAS,CAAC,IAAI;IACxB,YAAY,EAAE,SAAS,CAAC,IAAI;IAC5B,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,KAAK,EAAE,SAAS,CAAC,MAAM;IACvB,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;CACtC;AAED,KAAK,CAAC,WAAW,GAAG,OAAO;;;;"}
@@ -0,0 +1 @@
1
+ export declare const SELECTOR_CHIP_FOCUSABLE = "[data-coreui-chip-focusable=\"true\"]:not(.disabled)";
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ // Chips advertise their own focusability via `data-coreui-chip-focusable`,
4
+ // so containers (CChipSet, CChipInput) read it instead of re-deriving it.
5
+ const SELECTOR_CHIP_FOCUSABLE = '[data-coreui-chip-focusable="true"]:not(.disabled)';
6
+
7
+ exports.SELECTOR_CHIP_FOCUSABLE = SELECTOR_CHIP_FOCUSABLE;
8
+ //# 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,66 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('../../node_modules/tslib/tslib.es6.js');
4
+ var React = require('react');
5
+ var PropTypes = require('prop-types');
6
+ var index = require('../../_virtual/index.js');
7
+ var useChipSet = require('./useChipSet.js');
8
+ require('@popperjs/core');
9
+ var useForkedRef = require('../../hooks/useForkedRef.js');
10
+
11
+ const itemValue = (item) => typeof item === 'string' ? item : item.value;
12
+ const CChipSet = React.forwardRef((_a, ref) => {
13
+ var { ariaRemoveLabel, as: Component = 'div', children, chips, className, defaultChips, defaultSelected, disabled, filter, onKeyDown, onRemove, onSelect, removable, removeIcon, selectable, selected, selectedIcon, selectionMode } = _a, rest = tslib_es6.__rest(_a, ["ariaRemoveLabel", "as", "children", "chips", "className", "defaultChips", "defaultSelected", "disabled", "filter", "onKeyDown", "onRemove", "onSelect", "removable", "removeIcon", "selectable", "selected", "selectedIcon", "selectionMode"]);
14
+ // The chip list is controlled by `chips` (or children) or, with `defaultChips`,
15
+ // uncontrolled — then the set owns the list and removes chips itself.
16
+ const isUncontrolledList = chips === undefined && defaultChips !== undefined;
17
+ const [_chips, setChips] = React.useState(defaultChips !== null && defaultChips !== void 0 ? defaultChips : []);
18
+ const { rootRef, handleKeyDown, renderChips, renderChipsFromData } = useChipSet.useChipSet({
19
+ ariaRemoveLabel,
20
+ defaultSelected,
21
+ disabled,
22
+ filter,
23
+ removable,
24
+ removeIcon,
25
+ selectable,
26
+ selected,
27
+ selectedIcon,
28
+ selectionMode,
29
+ onRemoveChip: (value) => {
30
+ if (isUncontrolledList) {
31
+ setChips((prev) => prev.filter((item) => itemValue(item) !== value));
32
+ }
33
+ onRemove === null || onRemove === void 0 ? void 0 : onRemove(value);
34
+ },
35
+ onSelectionChange: onSelect,
36
+ });
37
+ const forkedRef = useForkedRef.useForkedRef(ref, rootRef);
38
+ const items = chips !== null && chips !== void 0 ? chips : (isUncontrolledList ? _chips : undefined);
39
+ return (React.createElement(Component, Object.assign({ className: index.default('chip-set', { disabled }, className) }, (disabled && { 'aria-disabled': true }), { onKeyDown: (event) => {
40
+ handleKeyDown(event);
41
+ onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
42
+ } }, rest, { ref: forkedRef }), items ? renderChipsFromData(items) : renderChips(children)));
43
+ });
44
+ CChipSet.propTypes = {
45
+ ariaRemoveLabel: PropTypes.string,
46
+ as: PropTypes.elementType,
47
+ children: PropTypes.node,
48
+ chips: PropTypes.array,
49
+ className: PropTypes.string,
50
+ defaultChips: PropTypes.array,
51
+ defaultSelected: PropTypes.array,
52
+ disabled: PropTypes.bool,
53
+ filter: PropTypes.bool,
54
+ onRemove: PropTypes.func,
55
+ onSelect: PropTypes.func,
56
+ removable: PropTypes.bool,
57
+ removeIcon: PropTypes.node,
58
+ selectable: PropTypes.bool,
59
+ selected: PropTypes.array,
60
+ selectedIcon: PropTypes.node,
61
+ selectionMode: PropTypes.oneOf(['single', 'multiple']),
62
+ };
63
+ CChipSet.displayName = 'CChipSet';
64
+
65
+ exports.CChipSet = CChipSet;
66
+ //# sourceMappingURL=CChipSet.js.map