@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.
- package/dist/cjs/components/card/CCardImage.js.map +1 -1
- package/dist/cjs/components/carousel/CCarousel.js +44 -33
- package/dist/cjs/components/carousel/CCarousel.js.map +1 -1
- package/dist/cjs/components/carousel/CCarouselItem.js +19 -28
- package/dist/cjs/components/carousel/CCarouselItem.js.map +1 -1
- package/dist/cjs/components/chip/CChip.d.ts +12 -0
- package/dist/cjs/components/chip/CChip.js +16 -63
- package/dist/cjs/components/chip/CChip.js.map +1 -1
- package/dist/cjs/components/chip/const.d.ts +1 -0
- package/dist/cjs/components/chip/const.js +8 -0
- package/dist/cjs/components/chip/const.js.map +1 -0
- package/dist/cjs/components/chip-set/CChipSet.d.ts +73 -0
- package/dist/cjs/components/chip-set/CChipSet.js +66 -0
- package/dist/cjs/components/chip-set/CChipSet.js.map +1 -0
- package/dist/cjs/components/chip-set/index.d.ts +2 -0
- package/dist/cjs/components/chip-set/useChipSet.d.ts +48 -0
- package/dist/cjs/components/chip-set/useChipSet.js +163 -0
- package/dist/cjs/components/chip-set/useChipSet.js.map +1 -0
- package/dist/cjs/components/chip-set/utils.d.ts +7 -0
- package/dist/cjs/components/chip-set/utils.js +18 -0
- package/dist/cjs/components/chip-set/utils.js.map +1 -0
- package/dist/cjs/components/collapse/CCollapse.js +14 -6
- package/dist/cjs/components/collapse/CCollapse.js.map +1 -1
- package/dist/cjs/components/conditional-portal/CConditionalPortal.js +3 -1
- package/dist/cjs/components/conditional-portal/CConditionalPortal.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdown.js +22 -29
- package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
- package/dist/cjs/components/form/CChipInput.d.ts +14 -2
- package/dist/cjs/components/form/CChipInput.js +77 -49
- package/dist/cjs/components/form/CChipInput.js.map +1 -1
- package/dist/cjs/components/form/CFormCheck.js.map +1 -1
- package/dist/cjs/components/form/CFormInput.js.map +1 -1
- package/dist/cjs/components/form/CFormSelect.js.map +1 -1
- package/dist/cjs/components/form/CFormTextarea.js.map +1 -1
- package/dist/cjs/components/form/CInputGroupText.js.map +1 -1
- package/dist/cjs/components/grid/CContainer.js +3 -1
- package/dist/cjs/components/grid/CContainer.js.map +1 -1
- package/dist/cjs/components/header/CHeaderBrand.js.map +1 -1
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/link/CLink.js +4 -2
- package/dist/cjs/components/link/CLink.js.map +1 -1
- package/dist/cjs/components/list-group/CListGroupItem.js.map +1 -1
- package/dist/cjs/components/modal/CModal.js +14 -2
- package/dist/cjs/components/modal/CModal.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelect.d.ts +73 -1
- package/dist/cjs/components/multi-select/CMultiSelect.js +157 -18
- package/dist/cjs/components/multi-select/CMultiSelect.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectOptions.d.ts +3 -0
- package/dist/cjs/components/multi-select/CMultiSelectOptions.js +45 -2
- package/dist/cjs/components/multi-select/CMultiSelectOptions.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectSelection.d.ts +1 -0
- package/dist/cjs/components/multi-select/CMultiSelectSelection.js +4 -3
- package/dist/cjs/components/multi-select/CMultiSelectSelection.js.map +1 -1
- package/dist/cjs/components/multi-select/types.d.ts +12 -0
- package/dist/cjs/components/multi-select/utils.js +1 -4
- package/dist/cjs/components/multi-select/utils.js.map +1 -1
- package/dist/cjs/components/nav/CNav.js.map +1 -1
- package/dist/cjs/components/nav/CNavGroup.d.ts +10 -5
- package/dist/cjs/components/nav/CNavGroup.js +83 -24
- package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
- package/dist/cjs/components/nav/CNavGroupContext.d.ts +25 -0
- package/dist/cjs/components/nav/CNavGroupContext.js +13 -0
- package/dist/cjs/components/nav/CNavGroupContext.js.map +1 -0
- package/dist/cjs/components/nav/CNavLink.d.ts +1 -5
- package/dist/cjs/components/nav/CNavLink.js +21 -8
- package/dist/cjs/components/nav/CNavLink.js.map +1 -1
- package/dist/cjs/components/popover/CPopover.js +57 -9
- package/dist/cjs/components/popover/CPopover.js.map +1 -1
- package/dist/cjs/components/progress/CProgress.js.map +1 -1
- package/dist/cjs/components/rating/CRating.d.ts +1 -1
- package/dist/cjs/components/rating/CRating.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebar.js +40 -23
- package/dist/cjs/components/sidebar/CSidebar.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebarNav.js +6 -35
- package/dist/cjs/components/sidebar/CSidebarNav.js.map +1 -1
- package/dist/cjs/components/table/CTableDataCell.js.map +1 -1
- package/dist/cjs/components/table/types.d.ts +2 -1
- package/dist/cjs/components/table/utils.js +4 -4
- package/dist/cjs/components/table/utils.js.map +1 -1
- package/dist/cjs/components/tabs/CTabPanel.js +3 -1
- package/dist/cjs/components/tabs/CTabPanel.js.map +1 -1
- package/dist/cjs/components/tooltip/CTooltip.js +57 -9
- package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
- package/dist/cjs/helpers/polymorphicComponent.d.ts +1 -2
- package/dist/cjs/hooks/useForkedRef.d.ts +1 -1
- package/dist/cjs/hooks/useForkedRef.js +6 -3
- package/dist/cjs/hooks/useForkedRef.js.map +1 -1
- package/dist/cjs/hooks/usePopper.js +8 -6
- package/dist/cjs/hooks/usePopper.js.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +1 -1
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
- package/dist/cjs/node_modules/ua-parser-js/dist/ua-parser.min.js +3 -3
- package/dist/cjs/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
- package/dist/cjs/utils/executeAfterTransition.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +2 -1
- package/dist/cjs/utils/swipe.d.ts +26 -0
- package/dist/cjs/utils/swipe.js +94 -0
- package/dist/cjs/utils/swipe.js.map +1 -0
- package/dist/esm/components/card/CCardImage.js.map +1 -1
- package/dist/esm/components/carousel/CCarousel.js +44 -33
- package/dist/esm/components/carousel/CCarousel.js.map +1 -1
- package/dist/esm/components/carousel/CCarouselItem.js +19 -28
- package/dist/esm/components/carousel/CCarouselItem.js.map +1 -1
- package/dist/esm/components/chip/CChip.d.ts +12 -0
- package/dist/esm/components/chip/CChip.js +16 -63
- package/dist/esm/components/chip/CChip.js.map +1 -1
- package/dist/esm/components/chip/const.d.ts +1 -0
- package/dist/esm/components/chip/const.js +6 -0
- package/dist/esm/components/chip/const.js.map +1 -0
- package/dist/esm/components/chip-set/CChipSet.d.ts +73 -0
- package/dist/esm/components/chip-set/CChipSet.js +64 -0
- package/dist/esm/components/chip-set/CChipSet.js.map +1 -0
- package/dist/esm/components/chip-set/index.d.ts +2 -0
- package/dist/esm/components/chip-set/useChipSet.d.ts +48 -0
- package/dist/esm/components/chip-set/useChipSet.js +161 -0
- package/dist/esm/components/chip-set/useChipSet.js.map +1 -0
- package/dist/esm/components/chip-set/utils.d.ts +7 -0
- package/dist/esm/components/chip-set/utils.js +16 -0
- package/dist/esm/components/chip-set/utils.js.map +1 -0
- package/dist/esm/components/collapse/CCollapse.js +14 -6
- package/dist/esm/components/collapse/CCollapse.js.map +1 -1
- package/dist/esm/components/conditional-portal/CConditionalPortal.js +3 -1
- package/dist/esm/components/conditional-portal/CConditionalPortal.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdown.js +22 -29
- package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
- package/dist/esm/components/form/CChipInput.d.ts +14 -2
- package/dist/esm/components/form/CChipInput.js +78 -50
- package/dist/esm/components/form/CChipInput.js.map +1 -1
- package/dist/esm/components/form/CFormCheck.js.map +1 -1
- package/dist/esm/components/form/CFormInput.js.map +1 -1
- package/dist/esm/components/form/CFormSelect.js.map +1 -1
- package/dist/esm/components/form/CFormTextarea.js.map +1 -1
- package/dist/esm/components/form/CInputGroupText.js.map +1 -1
- package/dist/esm/components/grid/CContainer.js +3 -1
- package/dist/esm/components/grid/CContainer.js.map +1 -1
- package/dist/esm/components/header/CHeaderBrand.js.map +1 -1
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/link/CLink.js +4 -2
- package/dist/esm/components/link/CLink.js.map +1 -1
- package/dist/esm/components/list-group/CListGroupItem.js.map +1 -1
- package/dist/esm/components/modal/CModal.js +14 -2
- package/dist/esm/components/modal/CModal.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelect.d.ts +73 -1
- package/dist/esm/components/multi-select/CMultiSelect.js +158 -19
- package/dist/esm/components/multi-select/CMultiSelect.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js +1 -1
- package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelectOptions.d.ts +3 -0
- package/dist/esm/components/multi-select/CMultiSelectOptions.js +45 -2
- package/dist/esm/components/multi-select/CMultiSelectOptions.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelectSelection.d.ts +1 -0
- package/dist/esm/components/multi-select/CMultiSelectSelection.js +4 -3
- package/dist/esm/components/multi-select/CMultiSelectSelection.js.map +1 -1
- package/dist/esm/components/multi-select/types.d.ts +12 -0
- package/dist/esm/components/multi-select/utils.js +1 -4
- package/dist/esm/components/multi-select/utils.js.map +1 -1
- package/dist/esm/components/nav/CNav.js.map +1 -1
- package/dist/esm/components/nav/CNavGroup.d.ts +10 -5
- package/dist/esm/components/nav/CNavGroup.js +84 -25
- package/dist/esm/components/nav/CNavGroup.js.map +1 -1
- package/dist/esm/components/nav/CNavGroupContext.d.ts +25 -0
- package/dist/esm/components/nav/CNavGroupContext.js +11 -0
- package/dist/esm/components/nav/CNavGroupContext.js.map +1 -0
- package/dist/esm/components/nav/CNavLink.d.ts +1 -5
- package/dist/esm/components/nav/CNavLink.js +21 -8
- package/dist/esm/components/nav/CNavLink.js.map +1 -1
- package/dist/esm/components/popover/CPopover.js +57 -9
- package/dist/esm/components/popover/CPopover.js.map +1 -1
- package/dist/esm/components/progress/CProgress.js.map +1 -1
- package/dist/esm/components/rating/CRating.d.ts +1 -1
- package/dist/esm/components/rating/CRating.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebar.js +40 -23
- package/dist/esm/components/sidebar/CSidebar.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebarNav.js +7 -36
- package/dist/esm/components/sidebar/CSidebarNav.js.map +1 -1
- package/dist/esm/components/table/CTableDataCell.js.map +1 -1
- package/dist/esm/components/table/types.d.ts +2 -1
- package/dist/esm/components/table/utils.js +4 -4
- package/dist/esm/components/table/utils.js.map +1 -1
- package/dist/esm/components/tabs/CTabPanel.js +3 -1
- package/dist/esm/components/tabs/CTabPanel.js.map +1 -1
- package/dist/esm/components/tooltip/CTooltip.js +57 -9
- package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
- package/dist/esm/helpers/polymorphicComponent.d.ts +1 -2
- package/dist/esm/hooks/useForkedRef.d.ts +1 -1
- package/dist/esm/hooks/useForkedRef.js +6 -3
- package/dist/esm/hooks/useForkedRef.js.map +1 -1
- package/dist/esm/hooks/usePopper.js +9 -7
- package/dist/esm/hooks/usePopper.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +1 -1
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -1
- package/dist/esm/node_modules/ua-parser-js/dist/ua-parser.min.js +3 -3
- package/dist/esm/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
- package/dist/esm/utils/executeAfterTransition.js.map +1 -1
- package/dist/esm/utils/index.d.ts +2 -1
- package/dist/esm/utils/swipe.d.ts +26 -0
- package/dist/esm/utils/swipe.js +90 -0
- package/dist/esm/utils/swipe.js.map +1 -0
- package/package.json +6 -6
- package/src/components/autocomplete/CAutocompleteOptions.tsx +1 -1
- package/src/components/card/CCardImage.tsx +3 -2
- package/src/components/carousel/CCarousel.tsx +48 -51
- package/src/components/carousel/CCarouselContext.ts +1 -1
- package/src/components/carousel/CCarouselItem.tsx +25 -26
- package/src/components/carousel/__tests__/CCarousel.spec.tsx +47 -4
- package/src/components/carousel/__tests__/CCarouselItem.spec.tsx +37 -0
- package/src/components/chip/CChip.tsx +45 -78
- package/src/components/chip/__tests__/CChip.spec.tsx +26 -19
- package/src/components/chip/const.ts +3 -0
- package/src/components/chip-set/CChipSet.tsx +183 -0
- package/src/components/chip-set/__tests__/CChipSet.spec.tsx +215 -0
- package/src/components/chip-set/__tests__/__snapshots__/CChipSet.spec.tsx.snap +22 -0
- package/src/components/chip-set/index.ts +3 -0
- package/src/components/chip-set/useChipSet.ts +243 -0
- package/src/components/chip-set/utils.ts +19 -0
- package/src/components/collapse/CCollapse.tsx +18 -6
- package/src/components/conditional-portal/CConditionalPortal.tsx +4 -2
- package/src/components/dropdown/CDropdown.tsx +28 -33
- package/src/components/dropdown/CDropdownToggle.tsx +1 -1
- package/src/components/dropdown/__tests__/CDropdown.spec.tsx +55 -0
- package/src/components/focus-trap/__tests__/CFocusTrap.spec.tsx +1 -1
- package/src/components/form/CChipInput.tsx +105 -67
- package/src/components/form/CFormCheck.tsx +1 -2
- package/src/components/form/CFormInput.tsx +1 -2
- package/src/components/form/CFormSelect.tsx +1 -2
- package/src/components/form/CFormTextarea.tsx +1 -2
- package/src/components/form/CInputGroupText.tsx +3 -2
- package/src/components/form/__tests__/CChipInput.spec.tsx +67 -1
- package/src/components/form/__tests__/__snapshots__/CChipInput.spec.tsx.snap +7 -0
- package/src/components/grid/CContainer.tsx +3 -1
- package/src/components/header/CHeaderBrand.tsx +3 -2
- package/src/components/index.ts +1 -0
- package/src/components/link/CLink.tsx +7 -4
- package/src/components/list-group/CListGroupItem.tsx +3 -2
- package/src/components/modal/CModal.tsx +19 -2
- package/src/components/modal/__tests__/CModal.spec.tsx +43 -0
- package/src/components/multi-select/CMultiSelect.tsx +341 -46
- package/src/components/multi-select/CMultiSelectNativeSelect.tsx +1 -1
- package/src/components/multi-select/CMultiSelectOptions.tsx +74 -3
- package/src/components/multi-select/CMultiSelectSelection.tsx +5 -1
- package/src/components/multi-select/__tests__/CMultiSelect.spec.tsx +12 -8
- package/src/components/multi-select/__tests__/__snapshots__/CMultiSelect.spec.tsx.snap +62 -45
- package/src/components/multi-select/__tests__/__snapshots__/CMultiSelectNativeSelect.spec.tsx.snap +2 -2
- package/src/components/multi-select/__tests__/__snapshots__/CMultiSelectOptions.spec.tsx.snap +1 -0
- package/src/components/multi-select/__tests__/__snapshots__/CMultiSelectSelection.spec.tsx.snap +5 -1
- package/src/components/multi-select/types.ts +14 -0
- package/src/components/nav/CNav.tsx +3 -2
- package/src/components/nav/CNavGroup.tsx +193 -107
- package/src/components/nav/CNavGroupContext.ts +27 -0
- package/src/components/nav/CNavLink.tsx +26 -12
- package/src/components/nav/__tests__/CNavGroup.spec.tsx +195 -20
- package/src/components/nav/__tests__/__snapshots__/CNavGroup.spec.tsx.snap +2 -0
- package/src/components/popover/CPopover.tsx +59 -9
- package/src/components/popover/__tests__/CPopover.spec.tsx +76 -1
- package/src/components/progress/CProgress.tsx +1 -2
- package/src/components/rating/CRating.tsx +1 -0
- package/src/components/search-button/__tests__/CSearchButton.spec.tsx +2 -2
- package/src/components/sidebar/CSidebar.tsx +51 -26
- package/src/components/sidebar/CSidebarNav.tsx +12 -51
- package/src/components/sidebar/__tests__/CSidebar.spec.tsx +26 -0
- package/src/components/table/CTableDataCell.tsx +2 -1
- package/src/components/table/types.ts +3 -1
- package/src/components/table/utils.ts +4 -4
- package/src/components/tabs/CTabPanel.tsx +3 -1
- package/src/components/tabs/CTabsContext.ts +1 -1
- package/src/components/tooltip/CTooltip.tsx +59 -9
- package/src/components/tooltip/__tests__/CTooltip.spec.tsx +96 -1
- package/src/helpers/polymorphicComponent.ts +1 -1
- package/src/hooks/useColorModes.ts +2 -2
- package/src/hooks/useForkedRef.ts +20 -15
- package/src/hooks/usePopper.ts +13 -9
- package/src/utils/__tests__/swipe.spec.ts +82 -0
- package/src/utils/executeAfterTransition.ts +1 -1
- package/src/utils/index.ts +2 -0
- package/src/utils/mergeClassNames.ts +1 -1
- package/src/utils/swipe.ts +114 -0
- package/dist/cjs/components/sidebar/CSidebarNavContext.d.ts +0 -5
- package/dist/cjs/components/sidebar/CSidebarNavContext.js +0 -8
- package/dist/cjs/components/sidebar/CSidebarNavContext.js.map +0 -1
- package/dist/esm/components/sidebar/CSidebarNavContext.d.ts +0 -5
- package/dist/esm/components/sidebar/CSidebarNavContext.js +0 -6
- package/dist/esm/components/sidebar/CSidebarNavContext.js.map +0 -1
- package/src/components/sidebar/CSidebarNavContext.ts +0 -8
|
@@ -2,7 +2,9 @@ import { __rest } from '../../node_modules/tslib/tslib.es6.js';
|
|
|
2
2
|
import React, { forwardRef, useRef, useState, useEffect, Children } from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import classNames from '../../_virtual/index.js';
|
|
5
|
+
import isRTL from '../../utils/isRTL.js';
|
|
5
6
|
import isInViewport from '../../utils/isInViewport.js';
|
|
7
|
+
import Swipe from '../../utils/swipe.js';
|
|
6
8
|
import '@popperjs/core';
|
|
7
9
|
import { useForkedRef } from '../../hooks/useForkedRef.js';
|
|
8
10
|
import { CCarouselContext } from './CCarouselContext.js';
|
|
@@ -12,32 +14,57 @@ const CCarousel = forwardRef((_a, ref) => {
|
|
|
12
14
|
const carouselRef = useRef(null);
|
|
13
15
|
const forkedRef = useForkedRef(ref, carouselRef);
|
|
14
16
|
const data = useRef({}).current;
|
|
17
|
+
const handleControlClickRef = useRef(() => undefined);
|
|
15
18
|
const [active, setActive] = useState(activeIndex);
|
|
16
19
|
const [animating, setAnimating] = useState(false);
|
|
17
20
|
const [customInterval, setCustomInterval] = useState();
|
|
18
21
|
const [direction, setDirection] = useState('next');
|
|
19
22
|
const [itemsNumber, setItemsNumber] = useState(0);
|
|
20
|
-
const [touchPosition, setTouchPosition] = useState(null);
|
|
21
23
|
const [visible, setVisible] = useState();
|
|
22
24
|
useEffect(() => {
|
|
23
25
|
setItemsNumber(Children.toArray(children).length);
|
|
24
|
-
});
|
|
26
|
+
}, [children]);
|
|
25
27
|
useEffect(() => {
|
|
26
|
-
|
|
28
|
+
if (visible) {
|
|
29
|
+
cycle();
|
|
30
|
+
}
|
|
27
31
|
}, [visible]);
|
|
28
32
|
useEffect(() => {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
if (animating) {
|
|
34
|
+
onSlide === null || onSlide === void 0 ? void 0 : onSlide(active, direction);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
cycle();
|
|
38
|
+
onSlid === null || onSlid === void 0 ? void 0 : onSlid(active, direction);
|
|
39
|
+
}
|
|
32
40
|
}, [animating]);
|
|
33
41
|
useEffect(() => {
|
|
34
42
|
window.addEventListener('scroll', handleScroll);
|
|
35
43
|
return () => {
|
|
36
44
|
window.removeEventListener('scroll', handleScroll);
|
|
37
45
|
};
|
|
38
|
-
});
|
|
46
|
+
}, []);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
if (!touch || !carouselRef.current) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const swipe = new Swipe(carouselRef.current, {
|
|
52
|
+
onLeft: () => handleControlClickRef.current(isRTL(carouselRef.current) ? 'prev' : 'next'),
|
|
53
|
+
onRight: () => handleControlClickRef.current(isRTL(carouselRef.current) ? 'next' : 'prev'),
|
|
54
|
+
});
|
|
55
|
+
return () => swipe.dispose();
|
|
56
|
+
}, [touch]);
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
return () => clearCycleTimeout();
|
|
59
|
+
}, []);
|
|
60
|
+
const clearCycleTimeout = () => {
|
|
61
|
+
if (data.timeout) {
|
|
62
|
+
clearTimeout(data.timeout);
|
|
63
|
+
data.timeout = null;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
39
66
|
const cycle = () => {
|
|
40
|
-
|
|
67
|
+
clearCycleTimeout();
|
|
41
68
|
if (!wrap && active === itemsNumber - 1) {
|
|
42
69
|
return;
|
|
43
70
|
}
|
|
@@ -45,7 +72,7 @@ const CCarousel = forwardRef((_a, ref) => {
|
|
|
45
72
|
data.timeout = setTimeout(() => nextItemWhenVisible(), typeof customInterval === 'number' ? customInterval : interval);
|
|
46
73
|
}
|
|
47
74
|
};
|
|
48
|
-
const _pause = () => pause &&
|
|
75
|
+
const _pause = () => pause && clearCycleTimeout();
|
|
49
76
|
const nextItemWhenVisible = () => {
|
|
50
77
|
// Don't call next when the page isn't visible
|
|
51
78
|
// or the carousel or its parent isn't visible
|
|
@@ -62,12 +89,13 @@ const CCarousel = forwardRef((_a, ref) => {
|
|
|
62
89
|
}
|
|
63
90
|
setDirection(direction);
|
|
64
91
|
if (direction === 'next') {
|
|
65
|
-
active === itemsNumber - 1 ?
|
|
92
|
+
setActive(active === itemsNumber - 1 ? 0 : active + 1);
|
|
66
93
|
}
|
|
67
94
|
else {
|
|
68
|
-
active === 0 ?
|
|
95
|
+
setActive(active === 0 ? itemsNumber - 1 : active - 1);
|
|
69
96
|
}
|
|
70
97
|
};
|
|
98
|
+
handleControlClickRef.current = handleControlClick;
|
|
71
99
|
const handleIndicatorClick = (index) => {
|
|
72
100
|
if (active === index) {
|
|
73
101
|
return;
|
|
@@ -90,35 +118,18 @@ const CCarousel = forwardRef((_a, ref) => {
|
|
|
90
118
|
setVisible(false);
|
|
91
119
|
}
|
|
92
120
|
};
|
|
93
|
-
const handleTouchMove = (e) => {
|
|
94
|
-
const touchDown = touchPosition;
|
|
95
|
-
if (touchDown === null) {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
const currentTouch = e.touches[0].clientX;
|
|
99
|
-
const diff = touchDown - currentTouch;
|
|
100
|
-
if (diff > 5) {
|
|
101
|
-
handleControlClick('next');
|
|
102
|
-
}
|
|
103
|
-
if (diff < -5) {
|
|
104
|
-
handleControlClick('prev');
|
|
105
|
-
}
|
|
106
|
-
setTouchPosition(null);
|
|
107
|
-
};
|
|
108
|
-
const handleTouchStart = (e) => {
|
|
109
|
-
const touchDown = e.touches[0].clientX;
|
|
110
|
-
setTouchPosition(touchDown);
|
|
111
|
-
};
|
|
112
121
|
return (React.createElement("div", Object.assign({ className: classNames('carousel slide', {
|
|
113
122
|
'carousel-fade': transition === 'crossfade',
|
|
114
|
-
}, className) }, (dark && { 'data-coreui-theme': 'dark' }), { onMouseEnter: _pause, onMouseLeave: cycle },
|
|
123
|
+
}, className) }, (dark && { 'data-coreui-theme': 'dark' }), { onMouseEnter: _pause, onMouseLeave: cycle }, rest, { ref: forkedRef }),
|
|
115
124
|
React.createElement(CCarouselContext.Provider, { value: {
|
|
116
125
|
setAnimating,
|
|
117
126
|
setCustomInterval,
|
|
118
127
|
} },
|
|
119
128
|
indicators && (React.createElement("div", { className: "carousel-indicators" }, Array.from({ length: itemsNumber }, (_, i) => i).map((index) => {
|
|
120
129
|
return (React.createElement("button", Object.assign({ key: `indicator${index}`, onClick: () => {
|
|
121
|
-
!animating
|
|
130
|
+
if (!animating) {
|
|
131
|
+
handleIndicatorClick(index);
|
|
132
|
+
}
|
|
122
133
|
}, className: classNames({
|
|
123
134
|
active: active === index,
|
|
124
135
|
}), "data-coreui-target": "" }, (active === index && { 'aria-current': true }), { "aria-label": `Slide ${index + 1}` })));
|
|
@@ -126,7 +137,7 @@ const CCarousel = forwardRef((_a, ref) => {
|
|
|
126
137
|
React.createElement("div", { className: "carousel-inner" }, Children.map(children, (child, index) => {
|
|
127
138
|
if (React.isValidElement(child)) {
|
|
128
139
|
return React.cloneElement(child, {
|
|
129
|
-
active: active === index
|
|
140
|
+
active: active === index,
|
|
130
141
|
direction: direction,
|
|
131
142
|
key: index,
|
|
132
143
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CCarousel.js","sources":["../../../../src/components/carousel/CCarousel.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CCarousel.js","sources":["../../../../src/components/carousel/CCarousel.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -41,39 +41,30 @@ const CCarouselItem = forwardRef((_a, ref) => {
|
|
|
41
41
|
setCount(count + 1);
|
|
42
42
|
}, [active]);
|
|
43
43
|
useEffect(() => {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
|
|
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
|
-
|
|
50
|
+
setAnimating(true);
|
|
54
51
|
}
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
|
|
61
|
-
|
|
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":";;;;;;;;AA2BO,MAAM,aAAa,GAAG,UAAU,CACrC,CAAC,EAAqE,EAAE,GAAG,KAAI;AAA9E,IAAA,IAAA,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAA,GAAA,EAAW,EAAN,IAAI,GAAA,MAAA,CAAA,EAAA,EAAnE,4DAAqE,CAAF;IAClE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC;AACxE,IAAA,MAAM,eAAe,GAAG,MAAM,CAAiB,IAAI,CAAC;IACpD,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,eAAe,CAAC;AAEpD,IAAA,MAAM,UAAU,GAAG,MAAM,CAAU,SAAS,CAAC;IAC7C,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,EAAU;IACtE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAAU;AAC9D,IAAA,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC;IAC1E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAErC,SAAS,CAAC,MAAK;QACb,IAAI,MAAM,EAAE;YACV,iBAAiB,CAAC,QAAQ,CAAC;YAC3B,IAAI,KAAK,KAAK,CAAC;AAAE,gBAAA,iBAAiB,CAAC,CAAA,cAAA,EAAiB,SAAS,CAAA,CAAE,CAAC;QAClE;AAEA,QAAA,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE;YACjC,kBAAkB,CAAC,QAAQ,CAAC;QAC9B;AAEA,QAAA,IAAI,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE;YAChC,UAAU,CAAC,MAAK;;AACd,gBAAA,IAAI,KAAK,KAAK,CAAC,EAAE;;;oBAGA,CAAA,EAAA,GAAA,eAAe,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE;AACxC,oBAAA,qBAAqB,CAAC,CAAA,cAAA,EAAiB,SAAS,KAAK,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA,CAAE,CAAC;gBAClF;YACF,CAAC,EAAE,CAAC,CAAC;QACP;AAEA,QAAA,UAAU,CAAC,OAAO,GAAG,MAAM;QAE3B,IAAI,KAAK,KAAK,CAAC;AAAE,YAAA,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;AACtC,IAAA,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAEZ,SAAS,CAAC,MAAK
|
|
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 && (
|
|
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 (!
|
|
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 (
|
|
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 (
|
|
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:
|
|
89
|
+
active: isSelectable ? selectedState : active,
|
|
142
90
|
disabled,
|
|
143
91
|
[`chip-${color}`]: color,
|
|
144
92
|
[`chip-${size}`]: size,
|
|
145
|
-
'chip-clickable': clickable ||
|
|
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 }), (
|
|
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
|
|
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":";;;;;;;;
|
|
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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"}
|