@trilogy-ds/react 4.0.6 → 4.0.7-SC-beta-1
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/lib/components/accordion/Accordion.d.ts +2 -2
- package/lib/components/accordion/Accordion.js +4 -6
- package/lib/components/accordion/Accordion.native.d.ts +2 -2
- package/lib/components/accordion/Accordion.native.js +5 -5
- package/lib/components/accordion/AccordionProps.d.ts +0 -3
- package/lib/components/accordion/index.d.ts +5 -5
- package/lib/components/accordion/index.js +6 -6
- package/lib/components/accordion/item/AccordionItem.d.ts +1 -1
- package/lib/components/accordion/item/AccordionItem.js +6 -10
- package/lib/components/accordion/item/body/AccordionBody.d.ts +2 -2
- package/lib/components/accordion/item/body/AccordionBody.js +6 -8
- package/lib/components/accordion/item/body/AccordionBody.native.d.ts +2 -2
- package/lib/components/accordion/item/body/AccordionBody.native.js +4 -4
- package/lib/components/accordion/item/body/AccordionBodyProps.d.ts +1 -1
- package/lib/components/accordion/item/body/hooks/useAccordionBoy.d.ts +6 -0
- package/lib/components/accordion/item/body/hooks/useAccordionBoy.js +14 -0
- package/lib/components/accordion/item/body/index.d.ts +1 -1
- package/lib/components/accordion/item/body/index.js +2 -2
- package/lib/components/accordion/item/header/AccordionHeader.d.ts +2 -2
- package/lib/components/accordion/item/header/AccordionHeader.js +4 -6
- package/lib/components/accordion/item/header/AccordionHeader.native.d.ts +2 -2
- package/lib/components/accordion/item/header/AccordionHeader.native.js +7 -7
- package/lib/components/accordion/item/header/index.d.ts +1 -1
- package/lib/components/accordion/item/header/index.js +2 -2
- package/lib/components/accordion/item/index.d.ts +1 -1
- package/lib/components/accordion/item/index.js +2 -2
- package/lib/components/alert/Alert.d.ts +1 -1
- package/lib/components/alert/Alert.js +17 -43
- package/lib/components/alert/context/ToasterContext.js +6 -2
- package/lib/components/alert/hooks/useAlert.d.ts +23 -0
- package/lib/components/alert/hooks/useAlert.js +48 -0
- package/lib/components/autocomplete/AutoComplete.d.ts +1 -1
- package/lib/components/autocomplete/AutoComplete.js +26 -127
- package/lib/components/autocomplete/AutoComplete.native.d.ts +1 -1
- package/lib/components/autocomplete/AutoComplete.native.js +5 -5
- package/lib/components/autocomplete/AutoCompleteProps.d.ts +1 -1
- package/lib/components/autocomplete/Autocomplete.helpers.d.ts +1 -1
- package/lib/components/autocomplete/hooks/useAutocomplete.d.ts +40 -0
- package/lib/components/autocomplete/hooks/useAutocomplete.js +144 -0
- package/lib/components/autocomplete/index.d.ts +3 -3
- package/lib/components/autocomplete/index.js +4 -4
- package/lib/components/autocomplete/item/AutoCompleteIem.native.d.ts +1 -1
- package/lib/components/autocomplete/item/AutoCompleteIem.native.js +4 -4
- package/lib/components/autocomplete/item/AutoCompleteItem.d.ts +2 -2
- package/lib/components/autocomplete/item/AutoCompleteItem.js +6 -8
- package/lib/components/autocomplete/item/AutoCompleteItemProps.d.ts +1 -1
- package/lib/components/autocomplete/item/hooks/useAutocompleteItem.d.ts +9 -0
- package/lib/components/autocomplete/item/hooks/useAutocompleteItem.js +20 -0
- package/lib/components/autocomplete/item/index.d.ts +1 -1
- package/lib/components/autocomplete/item/index.js +2 -2
- package/lib/components/autocomplete/menu/AutoCompleteMenu.d.ts +2 -2
- package/lib/components/autocomplete/menu/AutoCompleteMenu.js +5 -7
- package/lib/components/autocomplete/menu/AutoCompleteMenu.native.js +4 -4
- package/lib/components/autocomplete/menu/index.d.ts +1 -1
- package/lib/components/autocomplete/menu/index.js +2 -2
- package/lib/components/badge/Badge.d.ts +1 -1
- package/lib/components/badge/Badge.js +10 -13
- package/lib/components/badge/Badge.native.js +2 -2
- package/lib/components/badge/BadgeProps.d.ts +2 -2
- package/lib/components/badge/index.d.ts +2 -1
- package/lib/components/badge/index.js +3 -2
- package/lib/components/box/Box.js +8 -16
- package/lib/components/box/content/BoxContent.js +5 -7
- package/lib/components/box/footer/BoxFooter.js +4 -6
- package/lib/components/box/header/BoxHeader.js +5 -7
- package/lib/components/box/item/BoxItem.js +4 -6
- package/lib/components/box/table-container/BoxTableContainer.d.ts +1 -1
- package/lib/components/box/table-container/BoxTableContainer.js +5 -7
- package/lib/components/breadcrumb/Breadcrumb.js +2 -4
- package/lib/components/breadcrumb/item/BreadcrumbItem.js +6 -8
- package/lib/components/button/Button.js +7 -19
- package/lib/components/button/hooks/useButton.d.ts +12 -0
- package/lib/components/button/hooks/useButton.js +16 -0
- package/lib/components/button/list/ButtonList.js +5 -7
- package/lib/components/card/Card.d.ts +1 -4
- package/lib/components/card/Card.js +8 -15
- package/lib/components/card/Card.native.d.ts +1 -1
- package/lib/components/card/Card.native.js +15 -13
- package/lib/components/card/CardProps.d.ts +3 -1
- package/lib/components/card/content/CardContent.d.ts +1 -1
- package/lib/components/card/content/CardContent.js +4 -6
- package/lib/components/card/content/CardContentProps.d.ts +1 -1
- package/lib/components/card/content/index.d.ts +1 -1
- package/lib/components/card/content/index.js +2 -2
- package/lib/components/card/image/CardImage.d.ts +1 -1
- package/lib/components/card/image/CardImage.js +7 -13
- package/lib/components/card/image/CardImage.native.d.ts +1 -1
- package/lib/components/card/image/CardImage.native.js +12 -12
- package/lib/components/card/index.d.ts +5 -5
- package/lib/components/card/index.js +6 -6
- package/lib/components/checkbox/Checkbox.js +17 -26
- package/lib/components/checkbox/CheckboxProps.d.ts +1 -1
- package/lib/components/checkbox/tiles/CheckboxTiles.js +4 -6
- package/lib/components/checkbox/tiles/tile/CheckboxTile.js +23 -24
- package/lib/components/chips/Chips.d.ts +1 -1
- package/lib/components/chips/Chips.js +7 -11
- package/lib/components/chips/index.d.ts +2 -2
- package/lib/components/chips/index.js +3 -3
- package/lib/components/chips/list/ChipsList.d.ts +2 -2
- package/lib/components/chips/list/ChipsList.js +5 -7
- package/lib/components/chips/list/index.d.ts +1 -1
- package/lib/components/chips/list/index.js +2 -2
- package/lib/components/columns/Columns.js +2 -4
- package/lib/components/columns/column/Column.js +2 -4
- package/lib/components/container/Container.js +2 -4
- package/lib/components/countdown/Countdown.d.ts +1 -1
- package/lib/components/countdown/Countdown.js +17 -77
- package/lib/components/countdown/CountdownProps.d.ts +1 -1
- package/lib/components/countdown/hooks/useCountdown.d.ts +16 -0
- package/lib/components/countdown/hooks/useCountdown.js +77 -0
- package/lib/components/countdown/index.d.ts +2 -2
- package/lib/components/countdown/index.js +3 -3
- package/lib/components/divider/Divider.js +3 -5
- package/lib/components/fab/Fab.d.ts +1 -1
- package/lib/components/fab/Fab.js +7 -16
- package/lib/components/fab/FabProps.d.ts +5 -3
- package/lib/components/fab/index.d.ts +1 -1
- package/lib/components/fab/index.js +2 -2
- package/lib/components/hero/Hero.js +3 -5
- package/lib/components/icon/Icon.js +6 -8
- package/lib/components/image/Image.d.ts +1 -1
- package/lib/components/image/Image.js +7 -12
- package/lib/components/image/ImageProps.d.ts +3 -2
- package/lib/components/image/ImageProps.js +1 -1
- package/lib/components/image/index.d.ts +1 -1
- package/lib/components/image/index.js +2 -2
- package/lib/components/input/Input.d.ts +2 -2
- package/lib/components/input/Input.js +48 -128
- package/lib/components/input/Input.native.d.ts +1 -1
- package/lib/components/input/Input.native.js +6 -6
- package/lib/components/input/InputProps.d.ts +3 -3
- package/lib/components/input/gauge/InputGauge.d.ts +2 -3
- package/lib/components/input/gauge/InputGauge.js +15 -15
- package/lib/components/input/gauge/hook/useGauge.d.ts +1 -1
- package/lib/components/input/gauge/hook/useGauge.js +89 -74
- package/lib/components/input/hook/useInput.d.ts +68 -0
- package/lib/components/input/hook/useInput.js +151 -0
- package/lib/components/input/index.d.ts +3 -3
- package/lib/components/input/index.js +4 -4
- package/lib/components/link/Link.js +6 -8
- package/lib/components/list/List.d.ts +3 -2
- package/lib/components/list/List.js +9 -9
- package/lib/components/list/List.native.d.ts +4 -3
- package/lib/components/list/List.native.js +11 -7
- package/lib/components/list/ListProps.d.ts +1 -0
- package/lib/components/list/ListPropsDefaults.js +8 -0
- package/lib/components/list/context/ListContext.d.ts +3 -0
- package/lib/components/list/context/ListContext.js +8 -0
- package/lib/components/list/context/ListContextProps.d.ts +7 -0
- package/lib/components/list/context/ListContextProps.js +2 -0
- package/lib/components/list/context/ListContextPropsDefaults.js +24 -0
- package/lib/components/list/context/index.d.ts +2 -0
- package/lib/components/list/context/index.js +3 -0
- package/lib/components/list/item/ListItem.js +6 -8
- package/lib/components/list/item/ListItem.native.d.ts +1 -1
- package/lib/components/list/item/ListItem.native.js +19 -5
- package/lib/components/list/item/description/ListItemDescription.d.ts +2 -2
- package/lib/components/list/item/description/ListItemDescription.js +5 -7
- package/lib/components/modal/Modal.d.ts +1 -1
- package/lib/components/modal/Modal.js +14 -74
- package/lib/components/modal/Modal.native.js +51 -109
- package/lib/components/modal/ModalProps.d.ts +3 -2
- package/lib/components/modal/body/ModalBody.d.ts +1 -1
- package/lib/components/modal/body/ModalBody.js +3 -5
- package/lib/components/modal/body/ModalBody.native.js +13 -8
- package/lib/components/modal/context/ModalContext.d.ts +3 -0
- package/lib/components/modal/context/ModalContext.js +8 -0
- package/lib/components/modal/context/ModalContextProps.d.ts +8 -0
- package/lib/components/modal/context/ModalContextProps.js +2 -0
- package/lib/components/modal/context/ModalContextPropsDefaults.js +25 -0
- package/lib/components/modal/context/index.d.ts +2 -0
- package/lib/components/modal/context/index.js +3 -0
- package/lib/components/modal/footer/ModalFooter.d.ts +1 -1
- package/lib/components/modal/footer/ModalFooter.js +4 -6
- package/lib/components/modal/footer/ModalFooter.native.js +20 -10
- package/lib/components/modal/hooks/useModal.d.ts +26 -0
- package/lib/components/modal/hooks/useModal.js +86 -0
- package/lib/components/modal/index.d.ts +4 -4
- package/lib/components/modal/index.js +5 -5
- package/lib/components/otp/Otp.d.ts +1 -1
- package/lib/components/otp/Otp.js +22 -98
- package/lib/components/otp/hooks/useOtp.d.ts +20 -0
- package/lib/components/otp/hooks/useOtp.js +101 -0
- package/lib/components/otp/index.d.ts +1 -1
- package/lib/components/otp/index.js +2 -2
- package/lib/components/pagination/Pagination.d.ts +1 -1
- package/lib/components/pagination/Pagination.js +17 -66
- package/lib/components/pagination/PaginationProps.d.ts +3 -2
- package/lib/components/pagination/hooks/usePagination.d.ts +25 -0
- package/lib/components/pagination/hooks/usePagination.js +77 -0
- package/lib/components/pagination/index.d.ts +2 -2
- package/lib/components/pagination/index.js +3 -3
- package/lib/components/popover/Popover.js +5 -7
- package/lib/components/price/Price.js +11 -13
- package/lib/components/product-tour/ProductTour.js +13 -17
- package/lib/components/product-tour/hooks/useProductTour.d.ts +11 -0
- package/lib/components/product-tour/hooks/useProductTour.js +22 -0
- package/lib/components/progress/Progress.d.ts +2 -2
- package/lib/components/progress/Progress.js +11 -13
- package/lib/components/progress/ProgressProps.d.ts +1 -1
- package/lib/components/progress/index.d.ts +3 -3
- package/lib/components/progress/index.js +4 -4
- package/lib/components/progress/radial/ProgressRadial.d.ts +1 -1
- package/lib/components/progress/radial/ProgressRadial.js +11 -52
- package/lib/components/progress/radial/ProgressRadial.native.js +1 -1
- package/lib/components/progress/radial/ProgressRadialProps.d.ts +5 -3
- package/lib/components/progress/radial/hooks/useProgressRadial.d.ts +15 -0
- package/lib/components/progress/radial/hooks/useProgressRadial.js +57 -0
- package/lib/components/progress/radial/index.d.ts +1 -1
- package/lib/components/progress/radial/index.js +2 -2
- package/lib/components/progress/radial/item/ProgressRadialItemProps.d.ts +1 -1
- package/lib/components/progress/radial/item/ProgressRadialtem.d.ts +1 -1
- package/lib/components/progress/radial/item/ProgressRadialtem.js +4 -6
- package/lib/components/progress/radial/item/index.d.ts +1 -1
- package/lib/components/progress/radial/item/index.js +2 -2
- package/lib/components/radio/Radio.js +6 -8
- package/lib/components/radio/RadioProps.d.ts +1 -1
- package/lib/components/radio/index.d.ts +5 -5
- package/lib/components/radio/index.js +6 -6
- package/lib/components/radio/list/RadioList.d.ts +1 -1
- package/lib/components/radio/list/RadioList.js +5 -7
- package/lib/components/radio/list/RadioListProps.d.ts +1 -1
- package/lib/components/radio/list/index.d.ts +1 -1
- package/lib/components/radio/list/index.js +2 -2
- package/lib/components/radio/tiles/RadioTiles.js +5 -7
- package/lib/components/radio/tiles/RadioTilesProps.d.ts +1 -1
- package/lib/components/radio/tiles/index.d.ts +1 -1
- package/lib/components/radio/tiles/index.js +2 -2
- package/lib/components/radio/tiles/tile/RadioTile.js +10 -12
- package/lib/components/radio/tiles/tile/index.d.ts +1 -1
- package/lib/components/radio/tiles/tile/index.js +2 -2
- package/lib/components/range/Range.d.ts +1 -1
- package/lib/components/range/Range.js +15 -57
- package/lib/components/range/RangeProps.d.ts +2 -1
- package/lib/components/range/hooks/useRange.d.ts +30 -0
- package/lib/components/range/hooks/useRange.js +63 -0
- package/lib/components/range/index.d.ts +1 -1
- package/lib/components/range/index.js +2 -2
- package/lib/components/rows/Rows.js +4 -6
- package/lib/components/rows/row/Row.js +4 -6
- package/lib/components/scroll-view/ScrollView.d.ts +2 -2
- package/lib/components/scroll-view/ScrollView.js +11 -13
- package/lib/components/section/Section.js +5 -7
- package/lib/components/segment-control/SegmentControl.d.ts +8 -2
- package/lib/components/segment-control/SegmentControl.js +16 -28
- package/lib/components/segment-control/SegmentControlProps.d.ts +1 -1
- package/lib/components/segment-control/hooks/useSegmentControl.d.ts +14 -0
- package/lib/components/segment-control/hooks/useSegmentControl.js +31 -0
- package/lib/components/segment-control/item/SegmentControlItem.d.ts +6 -2
- package/lib/components/segment-control/item/SegmentControlItem.js +8 -18
- package/lib/components/segment-control/item/SegmentControlItemProps.d.ts +1 -1
- package/lib/components/segment-control/item/hooks/useSegmentControlItem.d.ts +14 -0
- package/lib/components/segment-control/item/hooks/useSegmentControlItem.js +24 -0
- package/lib/components/segment-control/item/index.d.ts +1 -1
- package/lib/components/segment-control/item/index.js +2 -2
- package/lib/components/select/Select.d.ts +1 -1
- package/lib/components/select/Select.js +3 -3
- package/lib/components/select/SelectProps.d.ts +3 -2
- package/lib/components/select/index.d.ts +2 -2
- package/lib/components/select/index.js +3 -3
- package/lib/components/select/option/SelectOption.d.ts +2 -2
- package/lib/components/select/option/SelectOption.js +7 -9
- package/lib/components/select/option/SelectOptionProps.d.ts +3 -2
- package/lib/components/select/option/index.d.ts +1 -1
- package/lib/components/select/option/index.js +2 -2
- package/lib/components/select/web/SelectDynamic.d.ts +1 -1
- package/lib/components/select/web/SelectDynamic.js +15 -131
- package/lib/components/select/web/SelectNative.js +15 -35
- package/lib/components/select/web/hooks/useSelectDynamic.d.ts +27 -0
- package/lib/components/select/web/hooks/useSelectDynamic.js +156 -0
- package/lib/components/select/web/hooks/useSelectNative.d.ts +22 -0
- package/lib/components/select/web/hooks/useSelectNative.js +38 -0
- package/lib/components/select/web/index.d.ts +2 -2
- package/lib/components/select/web/index.js +3 -3
- package/lib/components/spacer/Spacer.js +3 -5
- package/lib/components/stepper/Stepper.d.ts +2 -2
- package/lib/components/stepper/Stepper.js +9 -36
- package/lib/components/stepper/hooks/useStepper.d.ts +9 -0
- package/lib/components/stepper/hooks/useStepper.js +55 -0
- package/lib/components/stepper/step/Step.d.ts +1 -1
- package/lib/components/stepper/step/Step.js +8 -10
- package/lib/components/stepper/step/index.d.ts +1 -1
- package/lib/components/stepper/step/index.js +2 -2
- package/lib/components/sticker/Sticker.d.ts +1 -1
- package/lib/components/sticker/Sticker.js +9 -11
- package/lib/components/sticker/Sticker.native.d.ts +1 -1
- package/lib/components/sticker/Sticker.native.js +7 -7
- package/lib/components/sticker/StickerProps.d.ts +2 -2
- package/lib/components/sticker/StickerPropsDefaults.js +7 -0
- package/lib/components/switch/Switch.d.ts +1 -1
- package/lib/components/switch/Switch.js +11 -43
- package/lib/components/switch/SwitchProps.d.ts +2 -3
- package/lib/components/switch/hooks/useSwitch.d.ts +18 -0
- package/lib/components/switch/hooks/useSwitch.js +46 -0
- package/lib/components/switch/index.d.ts +1 -1
- package/lib/components/switch/index.js +2 -2
- package/lib/components/table/Table.js +5 -7
- package/lib/components/table/body/TableBody.js +5 -7
- package/lib/components/table/head/TableHead.js +5 -7
- package/lib/components/table/td/TableTd.js +4 -6
- package/lib/components/table/th/TableTh.js +4 -6
- package/lib/components/table/tr/TableTr.d.ts +1 -1
- package/lib/components/table/tr/TableTr.js +7 -9
- package/lib/components/tabs/Tabs.js +6 -18
- package/lib/components/tabs/TabsProps.d.ts +4 -1
- package/lib/components/tabs/context/index.js +2 -1
- package/lib/components/tabs/hooks/useTabs.d.ts +12 -0
- package/lib/components/tabs/hooks/useTabs.js +33 -0
- package/lib/components/tabs/tab-list/TabList.js +2 -4
- package/lib/components/tabs/tab-list/tab/Tab.js +4 -19
- package/lib/components/tabs/tab-list/tab/TabProps.d.ts +3 -1
- package/lib/components/tabs/tab-list/tab/hooks/useTab.d.ts +17 -0
- package/lib/components/tabs/tab-list/tab/hooks/useTab.js +28 -0
- package/lib/components/tabs/tab-panels/TabPanels.js +2 -4
- package/lib/components/tabs/tab-panels/tab-panel/TabPanel.js +4 -6
- package/lib/components/tabs/tab-panels/tab-panel/TabPanelProps.d.ts +1 -1
- package/lib/components/tabs/tab-panels/tab-panel/hooks/useTabPanel.d.ts +3 -0
- package/lib/components/tabs/tab-panels/tab-panel/hooks/useTabPanel.js +14 -0
- package/lib/components/tag/Tag.js +3 -5
- package/lib/components/tag/list/TagList.js +5 -7
- package/lib/components/text/Text.js +5 -7
- package/lib/components/textarea/Textarea.d.ts +1 -1
- package/lib/components/textarea/Textarea.js +15 -27
- package/lib/components/textarea/TextareaProps.d.ts +4 -3
- package/lib/components/textarea/hooks/useTextarea.d.ts +15 -0
- package/lib/components/textarea/hooks/useTextarea.js +30 -0
- package/lib/components/timeline/Timeline.js +4 -6
- package/lib/components/timeline/content/TimelineContent.js +5 -7
- package/lib/components/timeline/item/TimelineItem.js +4 -6
- package/lib/components/timeline/marker/TimelineMarker.js +5 -7
- package/lib/components/title/Title.js +7 -9
- package/lib/components/view/View.d.ts +1 -1
- package/lib/components/view/View.js +12 -15
- package/lib/context/index.d.ts +1 -1
- package/lib/context/index.js +3 -2
- package/lib/context/providerStates.js +3 -2
- package/lib/context/providerTheme.js +2 -1
- package/lib/helpers/hashClassesHelpers.d.ts +1 -3
- package/lib/helpers/hashClassesHelpers.js +18 -15
- package/lib/objects/Typography/TypographyBold.js +3 -2
- package/lib/version.d.ts +1 -1
- package/lib/version.js +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { __read } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export var useModal = function (_a) {
|
|
4
|
+
var active = _a.active, onClose = _a.onClose;
|
|
5
|
+
try {
|
|
6
|
+
var modal_1 = React.useRef(null);
|
|
7
|
+
var _b = __read(React.useState(active || false), 2), display_1 = _b[0], setDisplay_1 = _b[1];
|
|
8
|
+
var refsActions_1 = React.useRef([]);
|
|
9
|
+
var refBtnModal_1 = React.useRef(null);
|
|
10
|
+
var refModal_1 = React.useRef(null);
|
|
11
|
+
var _c = __read(React.useState(0), 2), setIndexFocusable_1 = _c[1];
|
|
12
|
+
var handleClose_1 = React.useCallback(function (onCloseFunc, e) {
|
|
13
|
+
setDisplay_1(false);
|
|
14
|
+
refBtnModal_1.current && refBtnModal_1.current.focus();
|
|
15
|
+
setIndexFocusable_1(0);
|
|
16
|
+
if (onCloseFunc)
|
|
17
|
+
onCloseFunc(e);
|
|
18
|
+
}, [refBtnModal_1.current]);
|
|
19
|
+
var onKeyDown = React.useCallback(function (event) {
|
|
20
|
+
if (display_1 && refsActions_1.current) {
|
|
21
|
+
var refs_1 = refsActions_1.current.filter(function (ref) { return ref; });
|
|
22
|
+
var key = event.key;
|
|
23
|
+
if (key === 'Tab') {
|
|
24
|
+
event.preventDefault();
|
|
25
|
+
setIndexFocusable_1(function (prev) {
|
|
26
|
+
var _a;
|
|
27
|
+
var nextIndex = (prev + 1) % refs_1.length;
|
|
28
|
+
refs_1[nextIndex] && ((_a = refs_1[nextIndex]) === null || _a === void 0 ? void 0 : _a.focus());
|
|
29
|
+
return nextIndex;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
if (key === 'Escape') {
|
|
33
|
+
event.preventDefault();
|
|
34
|
+
setDisplay_1(false);
|
|
35
|
+
refBtnModal_1.current && refBtnModal_1.current.focus();
|
|
36
|
+
setIndexFocusable_1(0);
|
|
37
|
+
onClose && onClose();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}, [refsActions_1.current.length, display_1]);
|
|
41
|
+
var handleClickModal = React.useCallback(function (e) {
|
|
42
|
+
var _a;
|
|
43
|
+
if (!((_a = modal_1 === null || modal_1 === void 0 ? void 0 : modal_1.current) === null || _a === void 0 ? void 0 : _a.contains(e.target))) {
|
|
44
|
+
handleClose_1(onClose, e);
|
|
45
|
+
}
|
|
46
|
+
}, [modal_1, handleClose_1]);
|
|
47
|
+
var handleCloseModal = React.useCallback(function (e) {
|
|
48
|
+
handleClose_1(onClose, e);
|
|
49
|
+
}, [handleClose_1, onClose]);
|
|
50
|
+
var buttonRef = React.useCallback(function (el) { return el && refsActions_1 && (refsActions_1.current[0] = el); }, []);
|
|
51
|
+
React.useEffect(function () {
|
|
52
|
+
display_1 && refsActions_1.current[0] && refsActions_1.current[0].focus();
|
|
53
|
+
}, [display_1, refsActions_1 === null || refsActions_1 === void 0 ? void 0 : refsActions_1.current.length]);
|
|
54
|
+
React.useEffect(function () {
|
|
55
|
+
setDisplay_1(function (prev) {
|
|
56
|
+
if (prev) {
|
|
57
|
+
refBtnModal_1.current && refBtnModal_1.current.focus();
|
|
58
|
+
setIndexFocusable_1(0);
|
|
59
|
+
}
|
|
60
|
+
return active || false;
|
|
61
|
+
});
|
|
62
|
+
}, [active]);
|
|
63
|
+
React.useEffect(function () {
|
|
64
|
+
if (refModal_1.current) {
|
|
65
|
+
var footer = refModal_1.current.querySelector('[data-modal-footer]');
|
|
66
|
+
var getCTA = footer === null || footer === void 0 ? void 0 : footer.querySelectorAll('button');
|
|
67
|
+
if (getCTA)
|
|
68
|
+
getCTA.forEach(function (el, i) { return (refsActions_1.current[i + 1] = el); });
|
|
69
|
+
}
|
|
70
|
+
}, [refModal_1.current]);
|
|
71
|
+
return {
|
|
72
|
+
modal: modal_1,
|
|
73
|
+
display: display_1,
|
|
74
|
+
onKeyDown: onKeyDown,
|
|
75
|
+
handleClickModal: handleClickModal,
|
|
76
|
+
refModal: refModal_1,
|
|
77
|
+
refBtnModal: refBtnModal_1,
|
|
78
|
+
handleCloseModal: handleCloseModal,
|
|
79
|
+
buttonRef: buttonRef,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
catch (_d) {
|
|
83
|
+
return { display: active || false };
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL21vZGFsL2hvb2tzL3VzZU1vZGFsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBT3pCLE1BQU0sQ0FBQyxJQUFNLFFBQVEsR0FBRyxVQUFDLEVBQTJCO1FBQXpCLE1BQU0sWUFBQSxFQUFFLE9BQU8sYUFBQTtJQUN4QyxJQUFJO1FBQ0YsSUFBTSxPQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBaUIsSUFBSSxDQUFDLENBQUE7UUFDMUMsSUFBQSxLQUFBLE9BQXdCLEtBQUssQ0FBQyxRQUFRLENBQVUsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFBLEVBQS9ELFNBQU8sUUFBQSxFQUFFLFlBQVUsUUFBNEMsQ0FBQTtRQUV0RSxJQUFNLGFBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFrQyxFQUFFLENBQUMsQ0FBQTtRQUNyRSxJQUFNLGFBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFNLElBQUksQ0FBQyxDQUFBO1FBQzNDLElBQU0sVUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQWlCLElBQUksQ0FBQyxDQUFBO1FBQzdDLElBQUEsS0FBQSxPQUF3QixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFBLEVBQXRDLG1CQUFpQixRQUFxQixDQUFBO1FBRS9DLElBQU0sYUFBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQ25DLFVBQUMsV0FBbUMsRUFBRSxDQUFlO1lBQ25ELFlBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNqQixhQUFXLENBQUMsT0FBTyxJQUFJLGFBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDbEQsbUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDcEIsSUFBSSxXQUFXO2dCQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNq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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Modal from '
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
export * from '
|
|
1
|
+
import Modal from '../../components/modal/Modal';
|
|
2
|
+
import ModalBody from '../../components/modal/body/ModalBody';
|
|
3
|
+
import ModalFooter from '../../components/modal/footer/ModalFooter';
|
|
4
|
+
export * from '../../components/modal/ModalEnum';
|
|
5
5
|
export { Modal, ModalBody, ModalFooter };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import Modal from '
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
export * from '
|
|
1
|
+
import Modal from '../../components/modal/Modal';
|
|
2
|
+
import ModalBody from '../../components/modal/body/ModalBody';
|
|
3
|
+
import ModalFooter from '../../components/modal/footer/ModalFooter';
|
|
4
|
+
export * from '../../components/modal/ModalEnum';
|
|
5
5
|
export { Modal, ModalBody, ModalFooter };
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL21vZGFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLDBCQUEwQixDQUFBO0FBQzVDLE9BQU8sU0FBUyxNQUFNLG1DQUFtQyxDQUFBO0FBQ3pELE9BQU8sV0FBVyxNQUFNLHVDQUF1QyxDQUFBO0FBRS9ELGNBQWMsOEJBQThCLENBQUE7QUFDNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLENBQUEifQ==
|
|
@@ -1,69 +1,11 @@
|
|
|
1
|
-
import { __assign, __read, __rest } from "tslib";
|
|
1
|
+
import { __assign, __read, __rest, __spreadArray } from "tslib";
|
|
2
|
+
import { useOtp } from '../../components/otp/hooks/useOtp';
|
|
2
3
|
import { Text, TextMarkup } from '../../components/text';
|
|
3
|
-
import { useTrilogyContext } from '../../context/index';
|
|
4
4
|
import { hashClass } from '../../helpers/hashClassesHelpers';
|
|
5
5
|
import { TypographyColor } from '../../objects/Typography';
|
|
6
6
|
import { is } from '../../services/classify';
|
|
7
7
|
import clsx from 'clsx';
|
|
8
|
-
import React
|
|
9
|
-
var stringToCode = function (str, codeSize) {
|
|
10
|
-
if (!str)
|
|
11
|
-
return new Array(codeSize).fill(null);
|
|
12
|
-
return str.split('').map(function (char) { return (char === '' ? null : Number(char)); });
|
|
13
|
-
};
|
|
14
|
-
var codeToString = function (code) {
|
|
15
|
-
return code.map(function (char) { return (char === null ? '_' : char); }).join('');
|
|
16
|
-
};
|
|
17
|
-
var isCompleted = function (myCode) {
|
|
18
|
-
return myCode.every(function (code) { return code !== null; });
|
|
19
|
-
};
|
|
20
|
-
var focusToNextInput = function (target, value) {
|
|
21
|
-
var nextElementSibling = target.nextElementSibling;
|
|
22
|
-
if (nextElementSibling) {
|
|
23
|
-
if (value)
|
|
24
|
-
nextElementSibling.value = value;
|
|
25
|
-
if (target.value.length)
|
|
26
|
-
nextElementSibling.focus();
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
target.focus();
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
var focusToPrevInput = function (target) {
|
|
33
|
-
var previousElementSibling = target.previousElementSibling;
|
|
34
|
-
if (previousElementSibling) {
|
|
35
|
-
previousElementSibling.focus();
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
target.focus();
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
var updateCodeInput = function (value, index, code) {
|
|
42
|
-
var numberValue = Number(value);
|
|
43
|
-
if (isNaN(numberValue) || value.length < 1) {
|
|
44
|
-
return code;
|
|
45
|
-
}
|
|
46
|
-
var newCodeInput = code.map(function (code, idx) {
|
|
47
|
-
return idx === index ? Number(value.slice(0, 1)) : code;
|
|
48
|
-
});
|
|
49
|
-
return updateCodeInput(value.slice(1), index + 1, newCodeInput);
|
|
50
|
-
};
|
|
51
|
-
var inputOnKeyUp = function (e) {
|
|
52
|
-
var key = e.key;
|
|
53
|
-
var target = e.target;
|
|
54
|
-
if (key === 'ArrowRight' || key === 'ArrowDown') {
|
|
55
|
-
return focusToNextInput(target);
|
|
56
|
-
}
|
|
57
|
-
if (key === 'ArrowLeft' || key === 'ArrowUp') {
|
|
58
|
-
return focusToPrevInput(target);
|
|
59
|
-
}
|
|
60
|
-
if (key === 'Backspace') {
|
|
61
|
-
return target.value === '' && focusToPrevInput(target);
|
|
62
|
-
}
|
|
63
|
-
if (key >= '0' && key <= '9') {
|
|
64
|
-
focusToNextInput(target);
|
|
65
|
-
}
|
|
66
|
-
};
|
|
8
|
+
import React from 'react';
|
|
67
9
|
/**
|
|
68
10
|
* OTP Code Component
|
|
69
11
|
* @param value {string} Code Text Input
|
|
@@ -81,47 +23,29 @@ var inputOnKeyUp = function (e) {
|
|
|
81
23
|
*/
|
|
82
24
|
var Otp = function (_a) {
|
|
83
25
|
var className = _a.className, id = _a.id, value = _a.value, _b = _a.length, length = _b === void 0 ? 6 : _b, disabled = _a.disabled, error = _a.error, onCompleted = _a.onCompleted, onChange = _a.onChange, onFocus = _a.onFocus, label = _a.label, help = _a.help, autoFocus = _a.autoFocus, others = __rest(_a, ["className", "id", "value", "length", "disabled", "error", "onCompleted", "onChange", "onFocus", "label", "help", "autoFocus"]);
|
|
84
|
-
var
|
|
85
|
-
var
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}, [length, codeInput, onCompleted, disabled]);
|
|
93
|
-
useEffect(function () {
|
|
94
|
-
hasChanged.current = codeInput.find(function (code) { return code !== null; }) !== undefined;
|
|
95
|
-
if (hasChanged.current) {
|
|
96
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(codeToString(codeInput));
|
|
97
|
-
}
|
|
98
|
-
}, [codeInput]);
|
|
99
|
-
var inputOnChange = function (e, idx) {
|
|
100
|
-
var target = e.target;
|
|
101
|
-
var targetValue = target.value.trim();
|
|
102
|
-
if (targetValue.length > 0) {
|
|
103
|
-
setCodeInput(updateCodeInput(targetValue, idx, codeInput));
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
setCodeInput(codeInput.map(function (code, index) {
|
|
107
|
-
return index === idx ? null : code;
|
|
108
|
-
}));
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
var inputOnFocus = function (e) {
|
|
112
|
-
var target = e.target;
|
|
113
|
-
target.setSelectionRange(0, target.value.length);
|
|
114
|
-
};
|
|
26
|
+
var classes = hashClass(clsx('otp-list', error && is('error'), className));
|
|
27
|
+
var _c = useOtp({
|
|
28
|
+
value: value,
|
|
29
|
+
disabled: disabled,
|
|
30
|
+
onChange: onChange,
|
|
31
|
+
onCompleted: onCompleted,
|
|
32
|
+
length: length,
|
|
33
|
+
}), codeInput = _c.codeInput, inputOnChange = _c.inputOnChange, inputOnFocus = _c.inputOnFocus, inputOnKeyUp = _c.inputOnKeyUp;
|
|
115
34
|
return (React.createElement(React.Fragment, null,
|
|
116
35
|
label && (React.createElement(Text, { markup: TextMarkup.P, typo: (disabled && TypographyColor.TEXT_NEUTRAL) ||
|
|
117
36
|
(error && TypographyColor.TEXT_ERROR) ||
|
|
118
37
|
TypographyColor.TEXT_MAIN }, label)),
|
|
119
|
-
React.createElement("div", { id: id, className: classes, onClick:
|
|
120
|
-
|
|
121
|
-
|
|
38
|
+
React.createElement("div", { id: id, className: classes, onClick: onFocus
|
|
39
|
+
? function () {
|
|
40
|
+
if (!disabled) {
|
|
41
|
+
onFocus === null || onFocus === void 0 ? void 0 : onFocus(true);
|
|
42
|
+
}
|
|
122
43
|
}
|
|
123
|
-
|
|
124
|
-
|
|
44
|
+
: undefined }, __spreadArray([], __read(Array(length).keys()), false).map(function (_, index) {
|
|
45
|
+
var _a;
|
|
46
|
+
return (React.createElement("input", __assign({ "aria-disabled": disabled, tabIndex: 0, key: index, type: 'text', inputMode: 'numeric', autoComplete: 'one-time-code', autoFocus: index === 0 && autoFocus, pattern: '\\d{1}', maxLength: length, className: hashClass(clsx('otp')), value: value ? "".concat((_a = codeInput[index]) !== null && _a !== void 0 ? _a : '') : undefined, onKeyUp: inputOnKeyUp, onFocus: inputOnFocus, onChange: inputOnChange ? function (e) { return inputOnChange(e, index); } : undefined, disabled: disabled }, others)));
|
|
47
|
+
})),
|
|
48
|
+
help && (React.createElement(Text, { className: hashClass(clsx('help')), markup: TextMarkup.P, typo: (error && TypographyColor.TEXT_ERROR) || TypographyColor.TEXT_MAIN }, help))));
|
|
125
49
|
};
|
|
126
50
|
export default Otp;
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3RwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY29tcG9uZW50cy9vdHAvT3RwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDeEMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBQ3ZCLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUV6Qjs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILElBQU0sR0FBRyxHQUFHLFVBQUMsRUFjRjtJQWJULElBQUEsU0FBUyxlQUFBLEVBQ1QsRUFBRSxRQUFBLEVBQ0YsS0FBSyxXQUFBLEVBQ0wsY0FBVSxFQUFWLE1BQU0sbUJBQUcsQ0FBQyxLQUFBLEVBQ1YsUUFBUSxjQUFBLEVBQ1IsS0FBSyxXQUFBLEVBQ0wsV0FBVyxpQkFBQSxFQUNYLFFBQVEsY0FBQSxFQUNSLE9BQU8sYUFBQSxFQUNQLEtBQUssV0FBQSxFQUNMLElBQUksVUFBQSxFQUNKLFNBQVMsZUFBQSxFQUNOLE1BQU0sY0FiRSwrSEFjWixDQURVO0lBRVQsSUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFBO0lBQ3RFLElBQUEsS0FBMkQsTUFBTSxDQUFDO1FBQ3RFLEtBQUssT0FBQTtRQUNMLFFBQVEsVUFBQTtRQUNSLFFBQVEsVUFBQTtRQUNSLFdBQVcsYUFBQTtRQUNYLE1BQU0sUUFBQTtLQUNQLENBQUMsRUFOTSxTQUFTLGVBQUEsRUFBRSxhQUFhLG1CQUFBLEVBQUUsWUFBWSxrQkFBQSxFQUFFLFlBQVksa0JBTTFELENBQUE7SUFFRixPQUFPLENBQ0w7UUFDRyxLQUFLLElBQUksQ0FDUixvQkFBQyxJQUFJLElBQ0gsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQ3BCLElBQUksRUFDRixDQUFDLFFBQVEsSUFBSSxlQUFlLENBQUMsWUFBWSxDQUFDO2dCQUMxQyxDQUFDLEtBQUssSUFBSSxlQUFlLENBQUMsVUFBVSxDQUFDO2dCQUNyQyxlQUFlLENBQUMsU0FBUyxJQUcxQixLQUFLLENBQ0QsQ0FDUjtRQUNELDZCQUNFLEVBQUUsRUFBRSxFQUFFLEVBQ04sU0FBUyxFQUFFLE9BQU8sRUFDbEIsT0FBTyxFQUNMLE9BQU87Z0JBQ0wsQ0FBQyxDQUFDO29CQUNFLElBQUksQ0FBQyxRQUFRLEVBQUU7d0JBQ2IsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFHLElBQUksQ0FBQyxDQUFBO3FCQUNoQjtnQkFDSCxDQUFDO2dCQUNILENBQUMsQ0FBQyxTQUFTLElBR2QseUJBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxVQUFFLEdBQUcsQ0FBQyxVQUFDLENBQUMsRUFBRSxLQUFLOztZQUFLLE9BQUEsQ0FDM0MseURBQ2lCLFFBQVEsRUFDdkIsUUFBUSxFQUFFLENBQUMsRUFDWCxHQUFHLEVBQUUsS0FBSyxFQUNWLElBQUksRUFBQyxNQUFNLEVBQ1gsU0FBUyxFQUFDLFNBQVMsRUFDbkIsWUFBWSxFQUFDLGVBQWUsRUFDNUIsU0FBUyxFQUFFLEtBQUssS0FBSyxDQUFDLElBQUksU0FBUyxFQUNuQyxPQUFPLEVBQUMsUUFBTyxFQUNmLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLFNBQVMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ2pDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQUcsTUFBQSxTQUFTLENBQUMsS0FBSyxDQUFDLG1DQUFJLEVBQUUsQ0FBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQ3JCLE9BQU8sRUFBRSxZQUFZLEVBQ3JCLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsYUFBYSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBdkIsQ0FBdUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUNwRSxRQUFRLEVBQUUsUUFBUSxJQUNkLE1BQU0sRUFDVixDQUNILENBQUE7U0FBQSxDQUFDLENBQ0U7UUFDTCxJQUFJLElBQUksQ0FDUCxvQkFBQyxJQUFJLElBQ0gsU0FBUyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDbEMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQ3BCLElBQUksRUFBRSxDQUFDLEtBQUssSUFBSSxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksZUFBZSxDQUFDLFNBQVMsSUFFdkUsSUFBSSxDQUNBLENBQ1IsQ0FDQSxDQUNKLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxlQUFlLEdBQUcsQ0FBQSJ9
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface IProps {
|
|
3
|
+
value?: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
onChange?: (code?: string) => void;
|
|
6
|
+
onCompleted?: (code?: string) => void;
|
|
7
|
+
length: number;
|
|
8
|
+
}
|
|
9
|
+
export declare const useOtp: ({ value, disabled, length, onChange, onCompleted }: IProps) => {
|
|
10
|
+
codeInput: (number | null)[];
|
|
11
|
+
inputOnKeyUp: (e: React.KeyboardEvent<HTMLInputElement>) => false | void;
|
|
12
|
+
inputOnFocus: (e: React.FocusEvent<HTMLInputElement>) => void;
|
|
13
|
+
inputOnChange: (e: React.ChangeEvent<HTMLInputElement>, idx: number) => void;
|
|
14
|
+
} | {
|
|
15
|
+
codeInput: (number | null)[];
|
|
16
|
+
inputOnKeyUp?: undefined;
|
|
17
|
+
inputOnFocus?: undefined;
|
|
18
|
+
inputOnChange?: undefined;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { __read } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export var useOtp = function (_a) {
|
|
4
|
+
var value = _a.value, disabled = _a.disabled, length = _a.length, onChange = _a.onChange, onCompleted = _a.onCompleted;
|
|
5
|
+
var stringToCode = function (str, codeSize) {
|
|
6
|
+
if (!str)
|
|
7
|
+
return new Array(codeSize).fill(null);
|
|
8
|
+
return str.split('').map(function (char) { return (char === '' ? null : Number(char)); });
|
|
9
|
+
};
|
|
10
|
+
var codeToString = function (code) {
|
|
11
|
+
return code.map(function (char) { return (char === null ? '_' : char); }).join('');
|
|
12
|
+
};
|
|
13
|
+
var isCompleted = function (myCode) {
|
|
14
|
+
return myCode.every(function (code) { return code !== null; });
|
|
15
|
+
};
|
|
16
|
+
var focusToNextInput = function (target, value) {
|
|
17
|
+
var nextElementSibling = target.nextElementSibling;
|
|
18
|
+
if (nextElementSibling) {
|
|
19
|
+
if (value)
|
|
20
|
+
nextElementSibling.value = value;
|
|
21
|
+
if (target.value.length)
|
|
22
|
+
nextElementSibling.focus();
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
target.focus();
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
var focusToPrevInput = function (target) {
|
|
29
|
+
var previousElementSibling = target.previousElementSibling;
|
|
30
|
+
if (previousElementSibling) {
|
|
31
|
+
previousElementSibling.focus();
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
target.focus();
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var updateCodeInput = function (value, index, code) {
|
|
38
|
+
var numberValue = Number(value);
|
|
39
|
+
if (isNaN(numberValue) || value.length < 1) {
|
|
40
|
+
return code;
|
|
41
|
+
}
|
|
42
|
+
var newCodeInput = code.map(function (code, idx) {
|
|
43
|
+
return idx === index ? Number(value.slice(0, 1)) : code;
|
|
44
|
+
});
|
|
45
|
+
return updateCodeInput(value.slice(1), index + 1, newCodeInput);
|
|
46
|
+
};
|
|
47
|
+
var inputOnKeyUp = function (e) {
|
|
48
|
+
var key = e.key;
|
|
49
|
+
var target = e.target;
|
|
50
|
+
if (key === 'ArrowRight' || key === 'ArrowDown') {
|
|
51
|
+
return focusToNextInput(target);
|
|
52
|
+
}
|
|
53
|
+
if (key === 'ArrowLeft' || key === 'ArrowUp') {
|
|
54
|
+
return focusToPrevInput(target);
|
|
55
|
+
}
|
|
56
|
+
if (key === 'Backspace') {
|
|
57
|
+
return target.value === '' && focusToPrevInput(target);
|
|
58
|
+
}
|
|
59
|
+
if (key >= '0' && key <= '9') {
|
|
60
|
+
focusToNextInput(target);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
try {
|
|
64
|
+
var _b = __read(React.useState(stringToCode(value, length) || new Array(length).fill(null)), 2), codeInput_1 = _b[0], setCodeInput_1 = _b[1];
|
|
65
|
+
var hasChanged_1 = React.useRef(false);
|
|
66
|
+
React.useEffect(function () {
|
|
67
|
+
if (!disabled) {
|
|
68
|
+
isCompleted(codeInput_1) && (onCompleted === null || onCompleted === void 0 ? void 0 : onCompleted(codeToString(codeInput_1)));
|
|
69
|
+
}
|
|
70
|
+
}, [length, codeInput_1, onCompleted, disabled]);
|
|
71
|
+
React.useEffect(function () {
|
|
72
|
+
hasChanged_1.current = codeInput_1.find(function (code) { return code !== null; }) !== undefined;
|
|
73
|
+
if (hasChanged_1.current) {
|
|
74
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(codeToString(codeInput_1));
|
|
75
|
+
}
|
|
76
|
+
}, [codeInput_1]);
|
|
77
|
+
var inputOnChange = function (e, idx) {
|
|
78
|
+
var target = e.target;
|
|
79
|
+
var targetValue = target.value.trim();
|
|
80
|
+
if (targetValue.length > 0) {
|
|
81
|
+
setCodeInput_1(updateCodeInput(targetValue, idx, codeInput_1));
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
setCodeInput_1(codeInput_1.map(function (code, index) {
|
|
85
|
+
return index === idx ? null : code;
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
var inputOnFocus = function (e) {
|
|
90
|
+
var target = e.target;
|
|
91
|
+
target.setSelectionRange(0, target.value.length);
|
|
92
|
+
};
|
|
93
|
+
return { codeInput: codeInput_1, inputOnKeyUp: inputOnKeyUp, inputOnFocus: inputOnFocus, inputOnChange: inputOnChange };
|
|
94
|
+
}
|
|
95
|
+
catch (_c) {
|
|
96
|
+
return {
|
|
97
|
+
codeInput: stringToCode(value, length) || new Array(length).fill(null),
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlT3RwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tcG9uZW50cy9vdHAvaG9va3MvdXNlT3RwLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBVXpCLE1BQU0sQ0FBQyxJQUFNLE1BQU0sR0FBRyxVQUFDLEVBQTBEO1FBQXhELEtBQUssV0FBQSxFQUFFLFFBQVEsY0FBQSxFQUFFLE1BQU0sWUFBQSxFQUFFLFFBQVEsY0FBQSxFQUFFLFdBQVcsaUJBQUE7SUFHckUsSUFBTSxZQUFZLEdBQUcsVUFBQyxHQUF1QixFQUFFLFFBQWdCO1FBQzdELElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDL0MsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBbkMsQ0FBbUMsQ0FBQyxDQUFBO0lBQ3pFLENBQUMsQ0FBQTtJQUVELElBQU0sWUFBWSxHQUFHLFVBQUMsSUFBb0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUEsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUE1QixDQUE0QixDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ2xFLENBQUMsQ0FBQTtJQUVELElBQU0sV0FBVyxHQUFHLFVBQUMsTUFBc0I7UUFDekMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUEsSUFBSSxL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
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import Otp from '
|
|
1
|
+
import Otp from '../../components/otp/Otp';
|
|
2
2
|
export { Otp };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import Otp from '
|
|
1
|
+
import Otp from '../../components/otp/Otp';
|
|
2
2
|
export { Otp };
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL290cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQTtBQUV0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUEifQ==
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { __assign,
|
|
2
|
-
import React, { useEffect, useRef, useState } from 'react';
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
3
2
|
import { Icon, IconName } from '../../components/icon';
|
|
4
|
-
import {
|
|
3
|
+
import { usePagination } from '../../components/pagination/hooks/usePagination';
|
|
4
|
+
import { hashClass } from '../../helpers/hashClassesHelpers';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
|
-
import
|
|
6
|
+
import React from 'react';
|
|
7
7
|
/**
|
|
8
8
|
* Pagination Component
|
|
9
9
|
* @param count {number} Number elements
|
|
@@ -17,73 +17,24 @@ import { useTrilogyContext } from '../../context';
|
|
|
17
17
|
*/
|
|
18
18
|
var Pagination = function (_a) {
|
|
19
19
|
var className = _a.className, id = _a.id, length = _a.length, _b = _a.defaultPage, defaultPage = _b === void 0 ? 1 : _b, onClick = _a.onClick, href = _a.href, others = __rest(_a, ["className", "id", "length", "defaultPage", "onClick", "href"]);
|
|
20
|
-
var
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
var startPage = 1;
|
|
27
|
-
var endPage = 5;
|
|
28
|
-
if (length <= 5) {
|
|
29
|
-
// less than pageSize(default is 5) total pages so show all
|
|
30
|
-
startPage = 1;
|
|
31
|
-
endPage = length;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
// more than 3 total pages so calculate start and end pages
|
|
35
|
-
if (currentPage <= 3) {
|
|
36
|
-
startPage = 1;
|
|
37
|
-
endPage = 4;
|
|
38
|
-
}
|
|
39
|
-
else if (currentPage + 3 >= length) {
|
|
40
|
-
startPage = length - 3;
|
|
41
|
-
endPage = length;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
startPage = currentPage - 1;
|
|
45
|
-
endPage = currentPage + 1;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
// Create an array of pages
|
|
49
|
-
var pages = __spreadArray([], __read(Array(endPage + 1 - startPage).keys()), false).map(function (i) { return startPage + i; });
|
|
50
|
-
// Set pager object
|
|
51
|
-
return {
|
|
52
|
-
currentPage: currentPage,
|
|
53
|
-
length: length,
|
|
54
|
-
endPage: endPage,
|
|
55
|
-
pages: pages,
|
|
56
|
-
};
|
|
57
|
-
}, [currentPage, length]);
|
|
58
|
-
useEffect(function () {
|
|
59
|
-
if (onClick && prevCurrentPage.current !== pager.currentPage) {
|
|
60
|
-
onClick(pager);
|
|
61
|
-
}
|
|
62
|
-
setCurrentPage(pager.currentPage);
|
|
63
|
-
prevCurrentPage.current = pager.currentPage;
|
|
64
|
-
}, [pager.currentPage]);
|
|
20
|
+
var classes = hashClass(clsx('pagination', className));
|
|
21
|
+
var _c = usePagination({
|
|
22
|
+
defaultPage: defaultPage,
|
|
23
|
+
onClick: onClick,
|
|
24
|
+
length: length,
|
|
25
|
+
}), currentPage = _c.currentPage, handleClickNext = _c.handleClickNext, handleClickPage = _c.handleClickPage, handleClickPrev = _c.handleClickPrev, pager = _c.pager;
|
|
65
26
|
return (React.createElement("nav", __assign({ id: id, className: classes }, others),
|
|
66
|
-
React.createElement("a", __assign({ className: hashClass(
|
|
67
|
-
if (currentPage !== 1) {
|
|
68
|
-
setCurrentPage(currentPage - 1);
|
|
69
|
-
}
|
|
70
|
-
}, href: href === null || href === void 0 ? void 0 : href(currentPage - 1) }),
|
|
27
|
+
React.createElement("a", __assign({ className: hashClass(clsx('pagination-previous')) }, (currentPage === 1 ? { 'aria-disabled': true } : {}), { onClick: handleClickPrev, href: href === null || href === void 0 ? void 0 : href(currentPage - 1) }),
|
|
71
28
|
React.createElement(Icon, { name: IconName.ARROW_LEFT })),
|
|
72
|
-
React.createElement("ul", { className: hashClass(
|
|
29
|
+
React.createElement("ul", { className: hashClass(clsx('pagination-list')) },
|
|
73
30
|
!pager.pages.includes(1) && (React.createElement("li", null,
|
|
74
|
-
React.createElement("span", { className: hashClass(
|
|
31
|
+
React.createElement("span", { className: hashClass(clsx('pagination-ellipsis')) }, "\u2026"))),
|
|
75
32
|
pager.pages.map(function (pageNumber) { return (React.createElement("li", { key: pageNumber },
|
|
76
|
-
React.createElement("a", __assign({ className: hashClass(
|
|
77
|
-
setCurrentPage(pageNumber);
|
|
78
|
-
}, href: href === null || href === void 0 ? void 0 : href(pageNumber) }), pageNumber))); }),
|
|
33
|
+
React.createElement("a", __assign({ className: hashClass(clsx('pagination-link')) }, (currentPage === pageNumber ? { 'aria-current': true } : {}), { "aria-label": "Aller \u00E0 la page ".concat(pageNumber), onClick: handleClickPage ? function () { return handleClickPage(pageNumber); } : undefined, href: href === null || href === void 0 ? void 0 : href(pageNumber) }), pageNumber))); }),
|
|
79
34
|
!pager.pages.includes(length) && (React.createElement("li", null,
|
|
80
|
-
React.createElement("span", { className: hashClass(
|
|
81
|
-
React.createElement("a", __assign({ className: hashClass(
|
|
82
|
-
if (currentPage !== Math.max(length)) {
|
|
83
|
-
setCurrentPage(currentPage + 1);
|
|
84
|
-
}
|
|
85
|
-
}, href: href === null || href === void 0 ? void 0 : href(currentPage + 1) }),
|
|
35
|
+
React.createElement("span", { className: hashClass(clsx('pagination-ellipsis')) }, "\u2026")))),
|
|
36
|
+
React.createElement("a", __assign({ className: hashClass(clsx('pagination-next')) }, (currentPage === Math.max(length) ? { 'aria-disabled': true } : {}), { onClick: handleClickNext, href: href === null || href === void 0 ? void 0 : href(currentPage + 1) }),
|
|
86
37
|
React.createElement(Icon, { name: IconName.ARROW_RIGHT }))));
|
|
87
38
|
};
|
|
88
39
|
export default Pagination;
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnaW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9QYWdpbmF0aW9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFFM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3hELE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUN2QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFFekI7Ozs7Ozs7Ozs7R0FVRztBQUNILElBQU0sVUFBVSxHQUFHLFVBQUMsRUFRRjtJQVBoQixJQUFBLFNBQVMsZUFBQSxFQUNULEVBQUUsUUFBQSxFQUNGLE1BQU0sWUFBQSxFQUNOLG1CQUFlLEVBQWYsV0FBVyxtQkFBRyxDQUFDLEtBQUEsRUFDZixPQUFPLGFBQUEsRUFDUCxJQUFJLFVBQUEsRUFDRCxNQUFNLGNBUFMsK0RBUW5CLENBRFU7SUFFVCxJQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFBO0lBRWxELElBQUEsS0FBNEUsYUFBYSxDQUFDO1FBQzlGLFdBQVcsYUFBQTtRQUNYLE9BQU8sU0FBQTtRQUNQLE1BQU0sUUFBQTtLQUNQLENBQUMsRUFKTSxXQUFXLGlCQUFBLEVBQUUsZUFBZSxxQkFBQSxFQUFFLGVBQWUscUJBQUEsRUFBRSxlQUFlLHFCQUFBLEVBQUUsS0FBSyxXQUkzRSxDQUFBO0lBRUYsT0FBTyxDQUNMLHNDQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sSUFBTSxNQUFNO1FBQ3pDLG9DQUNFLFNBQVMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFDN0MsQ0FBQyxXQUFXLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQ3hCLElBQUksRUFBRSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUcsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUU3QixvQkFBQyxJQUFJLElBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxVQUFVLEdBQUksQ0FDakM7UUFDSiw0QkFBSSxTQUFTLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzlDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDM0I7Z0JBQ0UsOEJBQU0sU0FBUyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxhQUFVLENBQzlELENBQ047WUFDQSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFDLFVBQVUsSUFBSyxPQUFBLENBQy9CLDRCQUFJLEdBQUcsRUFBRSxVQUFVO2dCQUNqQixvQ0FDRSxTQUFTLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQ3pDLENBQUMsV0FBVyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxrQkFDcEQsK0JBQW1CLFVBQVUsQ0FBRSxFQUMzQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxjQUFNLE9BQUEsZUFBZSxDQUFDLFVBQVUsQ0FBQyxFQUEzQixDQUEyQixDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQ3hFLElBQUksRUFBRSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUcsVUFBVSxDQUFDLEtBRXZCLFVBQVUsQ0FDVCxDQUNELENBQ04sRUFaZ0MsQ0FZaEMsQ0FBQztZQUNELENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDaEM7Z0JBQ0UsOEJBQU0sU0FBUyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxhQUFVLENBQzlELENBQ04sQ0FDRTtRQUNMLG9DQUNFLFNBQVMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFDekMsQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUN4QixJQUFJLEVBQUUsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFHLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFFN0Isb0JBQUMsSUFBSSxJQUFDLElBQUksRUFBRSxRQUFRLENBQUMsV0FBVyxHQUFJLENBQ2xDLENBQ0EsQ0FDUCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsZUFBZSxVQUFVLENBQUEifQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Pager } from '../../components/pagination/PaginationEnum';
|
|
2
|
+
import { Accessibility } from '../../objects/facets/Accessibility';
|
|
3
3
|
import { CommonProps } from '../../objects/facets/CommonProps';
|
|
4
|
+
import { Dev } from '../../objects/facets/Dev';
|
|
4
5
|
/**
|
|
5
6
|
* Pagination Interface
|
|
6
7
|
*/
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Pager } from '../../../components/pagination/PaginationEnum';
|
|
2
|
+
interface IProps {
|
|
3
|
+
length: number;
|
|
4
|
+
defaultPage: number;
|
|
5
|
+
onClick?: (pager: Pager) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const usePagination: ({ defaultPage, onClick, length }: IProps) => {
|
|
8
|
+
currentPage: number;
|
|
9
|
+
handleClickNext: () => void;
|
|
10
|
+
handleClickPage: (pageNumber: number) => void;
|
|
11
|
+
handleClickPrev: () => void;
|
|
12
|
+
pager: Pager;
|
|
13
|
+
} | {
|
|
14
|
+
currentPage: number;
|
|
15
|
+
pager: {
|
|
16
|
+
currentPage: number;
|
|
17
|
+
length: number;
|
|
18
|
+
endPage: number;
|
|
19
|
+
pages: number[];
|
|
20
|
+
};
|
|
21
|
+
handleClickNext?: undefined;
|
|
22
|
+
handleClickPage?: undefined;
|
|
23
|
+
handleClickPrev?: undefined;
|
|
24
|
+
};
|
|
25
|
+
export {};
|