rsuite 5.76.2 → 6.0.0-canary-20250103
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/Accordion/styles/index.css +12 -45
- package/Animation/styles/animation.less +0 -0
- package/Animation/styles/index.css +49 -214
- package/Animation/styles/mixin.less +0 -0
- package/AutoComplete/styles/index.css +122 -490
- package/Avatar/styles/index.css +10 -17
- package/AvatarGroup/styles/index.css +12 -16
- package/AvatarGroup/styles/index.less +3 -0
- package/Badge/styles/index.css +90 -31
- package/Badge/styles/index.less +68 -9
- package/Breadcrumb/styles/index.css +9 -16
- package/Button/styles/index.css +20 -97
- package/Button/styles/mixin.less +1 -2
- package/ButtonGroup/styles/index.css +8 -9
- package/ButtonGroup/styles/index.less +0 -0
- package/ButtonToolbar/styles/index.css +7 -6
- package/Calendar/styles/index.css +36 -214
- package/Calendar/styles/index.less +0 -5
- package/Card/styles/index.css +12 -28
- package/Carousel/styles/index.css +21 -75
- package/Carousel/styles/index.less +0 -0
- package/CascadeTree/styles/index.css +10 -39
- package/Cascader/styles/index.css +125 -519
- package/CheckPicker/styles/index.css +129 -554
- package/CheckTree/styles/index.css +133 -579
- package/CheckTreePicker/styles/index.css +134 -585
- package/Checkbox/styles/index.css +13 -68
- package/CheckboxGroup/styles/index.css +9 -14
- package/Col/styles/index.css +7 -4
- package/Container/styles/index.css +10 -17
- package/Container/styles/index.less +0 -0
- package/Content/styles/index.css +8 -7
- package/Content/styles/index.less +0 -0
- package/DateInput/styles/index.css +7 -43
- package/DatePicker/styles/index.css +138 -621
- package/DatePicker/styles/mixin.less +0 -0
- package/DateRangeInput/styles/index.css +7 -43
- package/DateRangePicker/styles/index.css +141 -637
- package/Divider/styles/index.css +11 -21
- package/Drawer/styles/index.css +15 -46
- package/Drawer/styles/mixin.less +0 -0
- package/Dropdown/styles/index.css +37 -178
- package/FlexboxGrid/styles/index.css +41 -108
- package/FlexboxGrid/styles/index.less +0 -0
- package/Footer/styles/index.css +11 -20
- package/Footer/styles/index.less +0 -0
- package/Form/styles/index.css +7 -4
- package/Form/styles/index.less +0 -0
- package/Form/styles/mixin.less +9 -5
- package/FormControl/styles/index.css +8 -6
- package/FormControl/styles/index.less +0 -0
- package/FormControlLabel/styles/index.css +7 -5
- package/FormControlLabel/styles/index.less +0 -0
- package/FormErrorMessage/styles/animation.less +0 -0
- package/FormErrorMessage/styles/index.css +22 -89
- package/FormErrorMessage/styles/index.less +0 -0
- package/FormGroup/styles/index.css +7 -4
- package/FormHelpText/styles/index.css +8 -10
- package/FormHelpText/styles/index.less +0 -0
- package/Grid/styles/grid-framework.less +0 -0
- package/Grid/styles/index.css +7 -4
- package/Grid/styles/mixin.less +0 -0
- package/Header/styles/index.css +11 -20
- package/Header/styles/index.less +0 -0
- package/Heading/styles/index.css +7 -4
- package/IconButton/styles/index.css +22 -110
- package/IconButton/styles/index.less +0 -0
- package/Image/styles/index.css +1 -5
- package/InlineEdit/styles/index.css +9 -29
- package/Input/styles/index.css +7 -43
- package/Input/styles/index.less +0 -0
- package/InputGroup/styles/index.css +25 -193
- package/InputNumber/styles/index.css +29 -251
- package/InputNumber/styles/index.less +0 -0
- package/InputPicker/styles/index.css +123 -506
- package/List/styles/index.css +8 -14
- package/Loader/styles/index.css +19 -57
- package/Message/styles/index.css +33 -155
- package/Modal/styles/animation.less +0 -0
- package/Modal/styles/index.css +13 -32
- package/Modal/styles/mixin.less +0 -0
- package/MultiCascadeTree/styles/index.css +131 -583
- package/MultiCascader/styles/index.css +131 -583
- package/Nav/styles/index.css +46 -236
- package/Navbar/styles/index.css +41 -214
- package/Notification/styles/index.css +24 -109
- package/Notification/styles/mixin.less +0 -0
- package/Pagination/styles/index.css +139 -592
- package/Pagination/styles/mixin.less +0 -0
- package/Panel/styles/index.css +12 -43
- package/PanelGroup/styles/index.css +7 -6
- package/PanelGroup/styles/index.less +0 -0
- package/Placeholder/styles/index.css +15 -47
- package/Popover/styles/index.css +16 -124
- package/Popover/styles/mixins.less +0 -12
- package/Progress/styles/animation.less +0 -0
- package/Progress/styles/index.css +19 -89
- package/README.md +9 -5
- package/Radio/styles/index.css +12 -66
- package/Radio/styles/mixin.less +0 -0
- package/RadioGroup/styles/index.css +9 -25
- package/RadioTile/styles/index.css +7 -13
- package/RangeSlider/styles/index.css +20 -144
- package/Rate/styles/index.css +29 -40
- package/Rate/styles/index.less +6 -2
- package/Row/styles/index.css +7 -4
- package/Row/styles/index.less +0 -0
- package/SelectPicker/styles/index.css +123 -498
- package/SelectPicker/styles/index.less +1 -1
- package/Sidebar/styles/index.css +10 -20
- package/Sidebar/styles/index.less +0 -0
- package/Sidenav/styles/index.css +21 -108
- package/Sidenav/styles/mixin.less +0 -0
- package/Slider/styles/index.css +20 -144
- package/Stack/styles/index.css +7 -6
- package/Stack/styles/index.less +0 -0
- package/Stat/styles/index.css +37 -263
- package/Steps/styles/index.css +14 -46
- package/Table/styles/index.css +21 -70
- package/Table/styles/mixin.less +0 -0
- package/Tabs/styles/index.css +51 -259
- package/Tag/styles/index.css +36 -36
- package/Tag/styles/index.less +6 -3
- package/TagGroup/styles/index.css +7 -4
- package/TagInput/styles/index.css +133 -578
- package/TagPicker/styles/index.css +133 -578
- package/Text/styles/index.css +8 -23
- package/TimePicker/styles/index.css +138 -621
- package/TimeRangePicker/styles/index.css +141 -637
- package/Timeline/styles/index.css +9 -22
- package/Timeline/styles/index.less +0 -3
- package/Timeline/styles/mixin.less +0 -0
- package/Toggle/styles/index.css +13 -60
- package/Tooltip/styles/index.css +15 -113
- package/Tooltip/styles/index.less +0 -0
- package/Tooltip/styles/mixins.less +0 -12
- package/Tree/styles/index.css +2737 -59
- package/Tree/styles/index.less +1 -1
- package/TreePicker/styles/index.css +2737 -59
- package/Uploader/styles/index.css +41 -225
- package/Uploader/styles/mixin.less +0 -0
- package/cjs/Accordion/Accordion.js +4 -3
- package/cjs/Affix/Affix.d.ts +1 -1
- package/cjs/Affix/Affix.js +55 -66
- package/cjs/Affix/index.js +0 -0
- package/cjs/Animation/Bounce.js +11 -10
- package/cjs/Animation/Collapse.js +41 -49
- package/cjs/Animation/Fade.js +13 -12
- package/cjs/Animation/Slide.js +14 -14
- package/cjs/Animation/Transition.d.ts +1 -40
- package/cjs/Animation/Transition.js +97 -115
- package/cjs/Animation/index.js +1 -1
- package/cjs/Animation/utils.d.ts +0 -9
- package/cjs/Animation/utils.js +2 -13
- package/cjs/AutoComplete/AutoComplete.d.ts +2 -2
- package/cjs/AutoComplete/AutoComplete.js +87 -128
- package/cjs/AutoComplete/Combobox.js +11 -10
- package/cjs/AutoComplete/index.js +0 -0
- package/cjs/AutoComplete/utils.js +7 -6
- package/cjs/Avatar/Avatar.js +54 -76
- package/cjs/Avatar/AvatarIcon.js +12 -14
- package/cjs/Avatar/index.js +0 -0
- package/cjs/Avatar/useImage.js +19 -19
- package/cjs/AvatarGroup/AvatarGroup.js +31 -43
- package/cjs/AvatarGroup/index.js +0 -0
- package/cjs/Badge/Badge.d.ts +40 -5
- package/cjs/Badge/Badge.js +48 -49
- package/cjs/Badge/index.js +0 -0
- package/cjs/Breadcrumb/Breadcrumb.js +34 -49
- package/cjs/Breadcrumb/BreadcrumbItem.d.ts +1 -1
- package/cjs/Breadcrumb/BreadcrumbItem.js +21 -34
- package/cjs/Breadcrumb/index.js +0 -0
- package/cjs/Button/Button.d.ts +5 -1
- package/cjs/Button/Button.js +60 -65
- package/cjs/Button/index.js +0 -0
- package/cjs/ButtonGroup/ButtonGroup.js +28 -44
- package/cjs/ButtonGroup/ButtonGroupContext.js +1 -1
- package/cjs/ButtonGroup/index.js +0 -0
- package/cjs/ButtonToolbar/ButtonToolbar.js +17 -23
- package/cjs/ButtonToolbar/index.js +0 -0
- package/cjs/Calendar/Calendar.js +46 -66
- package/cjs/Calendar/CalendarBody.js +26 -26
- package/cjs/Calendar/CalendarContainer.js +88 -95
- package/cjs/Calendar/CalendarHeader.js +50 -50
- package/cjs/Calendar/CalendarProvider.js +2 -2
- package/cjs/Calendar/Grid/Grid.js +22 -25
- package/cjs/Calendar/Grid/GridCell.js +39 -37
- package/cjs/Calendar/Grid/GridHeaderRow.js +27 -29
- package/cjs/Calendar/Grid/GridRow.js +48 -53
- package/cjs/Calendar/MonthDropdown/MonthDropdown.js +62 -63
- package/cjs/Calendar/MonthDropdown/MonthDropdownItem.js +36 -39
- package/cjs/Calendar/TimeDropdown/TimeColumn.js +7 -7
- package/cjs/Calendar/TimeDropdown/TimeDropdown.js +64 -64
- package/cjs/Calendar/TimeDropdown/utils/formatWithLeadingZero.js +3 -2
- package/cjs/Calendar/TimeDropdown/utils/getClockTime.js +7 -5
- package/cjs/Calendar/TimeDropdown/utils/getTimeLimits.js +3 -3
- package/cjs/Calendar/TimeDropdown/utils/scrollToTime.js +6 -7
- package/cjs/Calendar/hooks/useCalendar.js +3 -2
- package/cjs/Calendar/hooks/useCalendarDate.d.ts +1 -1
- package/cjs/Calendar/hooks/useCalendarDate.js +11 -12
- package/cjs/Calendar/hooks/useCalendarState.js +18 -19
- package/cjs/Calendar/utils/isEveryDateInMonth.js +2 -2
- package/cjs/Card/Card.js +30 -39
- package/cjs/Card/CardBody.d.ts +1 -1
- package/cjs/Card/CardBody.js +1 -1
- package/cjs/Card/CardFooter.d.ts +1 -1
- package/cjs/Card/CardFooter.js +1 -1
- package/cjs/Card/CardHeader.d.ts +1 -1
- package/cjs/Card/CardHeader.js +1 -1
- package/cjs/CardGroup/CardGroup.js +24 -28
- package/cjs/Carousel/Carousel.js +75 -97
- package/cjs/Carousel/index.js +0 -0
- package/cjs/CascadeTree/CascadeTree.d.ts +0 -1
- package/cjs/CascadeTree/CascadeTree.js +93 -105
- package/cjs/CascadeTree/SearchView.js +49 -54
- package/cjs/CascadeTree/TreeView.js +84 -92
- package/cjs/CascadeTree/hooks/usePaths.js +18 -19
- package/cjs/CascadeTree/hooks/useSearch.js +22 -22
- package/cjs/CascadeTree/hooks/useSelect.js +26 -24
- package/cjs/CascadeTree/utils.js +10 -8
- package/cjs/Cascader/Cascader.d.ts +0 -1
- package/cjs/Cascader/Cascader.js +203 -239
- package/cjs/Cascader/index.js +0 -0
- package/cjs/Cascader/useActive.js +15 -15
- package/cjs/CheckPicker/CheckPicker.d.ts +0 -1
- package/cjs/CheckPicker/CheckPicker.js +146 -200
- package/cjs/CheckPicker/index.js +0 -0
- package/cjs/CheckTree/CheckTree.js +72 -77
- package/cjs/CheckTree/CheckTreeNode.js +53 -51
- package/cjs/CheckTree/CheckTreeView.js +178 -185
- package/cjs/CheckTree/hooks/useTreeCheckState.js +26 -25
- package/cjs/CheckTree/hooks/useTreeNodeProps.js +40 -37
- package/cjs/CheckTree/hooks/useTreeValue.js +6 -7
- package/cjs/CheckTree/utils.js +62 -65
- package/cjs/CheckTreePicker/CheckTreePicker.js +175 -190
- package/cjs/CheckTreePicker/hooks/useFocusState.js +13 -15
- package/cjs/CheckTreePicker/index.js +0 -0
- package/cjs/Checkbox/Checkbox.js +65 -102
- package/cjs/Checkbox/index.js +0 -0
- package/cjs/CheckboxGroup/CheckboxGroup.js +40 -62
- package/cjs/CheckboxGroup/CheckboxGroupContext.js +1 -1
- package/cjs/CheckboxGroup/index.js +0 -0
- package/cjs/Col/Col.js +32 -66
- package/cjs/Col/index.js +0 -0
- package/cjs/Container/Container.d.ts +1 -1
- package/cjs/Container/Container.js +22 -32
- package/cjs/Container/index.js +0 -0
- package/cjs/Content/Content.d.ts +1 -1
- package/cjs/Content/Content.js +1 -1
- package/cjs/Content/index.js +0 -0
- package/cjs/CustomProvider/CustomProvider.d.ts +19 -17
- package/cjs/CustomProvider/CustomProvider.js +48 -56
- package/cjs/CustomProvider/FormattedDate.js +8 -5
- package/cjs/CustomProvider/FormattedNumber.js +10 -9
- package/cjs/CustomProvider/index.js +1 -1
- package/cjs/CustomProvider/useCustom.js +44 -47
- package/cjs/DOMHelper/index.js +4 -4
- package/cjs/DOMHelper/isElement.js +1 -1
- package/cjs/DateInput/DateField.js +106 -105
- package/cjs/DateInput/DateInput.js +124 -139
- package/cjs/DateInput/hooks/useDateInputState.js +55 -49
- package/cjs/DateInput/hooks/useFieldCursor.js +16 -16
- package/cjs/DateInput/hooks/useIsFocused.js +9 -9
- package/cjs/DateInput/hooks/useKeyboardInputEvent.js +10 -7
- package/cjs/DateInput/hooks/useSelectedState.js +4 -6
- package/cjs/DateInput/utils.d.ts +1 -1
- package/cjs/DateInput/utils.js +76 -72
- package/cjs/DatePicker/DatePicker.js +190 -225
- package/cjs/DatePicker/PredefinedRanges.js +24 -29
- package/cjs/DatePicker/Toolbar.d.ts +1 -1
- package/cjs/DatePicker/Toolbar.js +28 -26
- package/cjs/DatePicker/hooks/useCustomizedInput.d.ts +1 -1
- package/cjs/DatePicker/hooks/useCustomizedInput.js +21 -26
- package/cjs/DatePicker/hooks/useFocus.js +45 -39
- package/cjs/DatePicker/hooks/useMonthView.js +8 -8
- package/cjs/DatePicker/utils.d.ts +0 -7
- package/cjs/DatePicker/utils.js +29 -36
- package/cjs/DateRangeInput/DateRangeInput.js +131 -152
- package/cjs/DateRangeInput/utils.js +50 -50
- package/cjs/DateRangePicker/Calendar.js +24 -29
- package/cjs/DateRangePicker/DateRangePicker.js +260 -323
- package/cjs/DateRangePicker/DateRangePickerProvider.js +5 -4
- package/cjs/DateRangePicker/Header.js +20 -23
- package/cjs/DateRangePicker/disabledDateUtils.js +17 -35
- package/cjs/DateRangePicker/hooks/useCalendarHandlers.js +14 -14
- package/cjs/DateRangePicker/hooks/useDateDisabled.js +10 -6
- package/cjs/DateRangePicker/hooks/useDateRangePicker.js +3 -2
- package/cjs/DateRangePicker/index.js +2 -2
- package/cjs/DateRangePicker/utils.js +24 -20
- package/cjs/Divider/Divider.js +18 -26
- package/cjs/Divider/index.js +0 -0
- package/cjs/Drawer/Drawer.d.ts +2 -2
- package/cjs/Drawer/Drawer.js +19 -29
- package/cjs/Drawer/DrawerActions.d.ts +1 -1
- package/cjs/Drawer/DrawerActions.js +1 -1
- package/cjs/Drawer/DrawerBody.js +1 -1
- package/cjs/Drawer/DrawerFooter.js +1 -1
- package/cjs/Drawer/DrawerHeader.js +1 -1
- package/cjs/Drawer/DrawerTitle.js +1 -1
- package/cjs/Drawer/index.js +0 -0
- package/cjs/Dropdown/Dropdown.d.ts +3 -3
- package/cjs/Dropdown/Dropdown.js +74 -106
- package/cjs/Dropdown/DropdownContext.d.ts +1 -1
- package/cjs/Dropdown/DropdownContext.js +1 -1
- package/cjs/Dropdown/DropdownItem.js +54 -73
- package/cjs/Dropdown/DropdownMenu.d.ts +2 -2
- package/cjs/Dropdown/DropdownMenu.js +79 -97
- package/cjs/Dropdown/DropdownSeparator.js +11 -16
- package/cjs/Dropdown/DropdownState.js +22 -23
- package/cjs/Dropdown/DropdownToggle.d.ts +2 -2
- package/cjs/Dropdown/DropdownToggle.js +20 -34
- package/cjs/Dropdown/index.js +0 -0
- package/cjs/Dropdown/useRenderDropdownItem.js +2 -2
- package/cjs/FlexboxGrid/FlexboxGrid.js +17 -27
- package/cjs/FlexboxGrid/FlexboxGridItem.js +17 -26
- package/cjs/FlexboxGrid/index.js +0 -0
- package/cjs/Footer/Footer.d.ts +1 -1
- package/cjs/Footer/Footer.js +1 -1
- package/cjs/Footer/index.js +0 -0
- package/cjs/Form/Form.js +108 -133
- package/cjs/Form/FormContext.js +5 -5
- package/cjs/Form/hooks/useFormClassNames.js +15 -14
- package/cjs/Form/hooks/useFormRef.js +9 -8
- package/cjs/Form/hooks/useFormValidate.js +77 -77
- package/cjs/Form/hooks/useFormValue.js +22 -19
- package/cjs/Form/hooks/useSchemaModel.js +31 -33
- package/cjs/FormControl/FormControl.d.ts +3 -3
- package/cjs/FormControl/FormControl.js +83 -97
- package/cjs/FormControl/hooks/useField.js +23 -18
- package/cjs/FormControl/hooks/useRegisterModel.js +7 -6
- package/cjs/FormControl/index.js +0 -0
- package/cjs/FormControlLabel/FormControlLabel.js +21 -28
- package/cjs/FormControlLabel/index.js +0 -0
- package/cjs/FormErrorMessage/FormErrorMessage.d.ts +2 -2
- package/cjs/FormErrorMessage/FormErrorMessage.js +24 -34
- package/cjs/FormErrorMessage/index.js +0 -0
- package/cjs/FormGroup/FormGroup.js +33 -40
- package/cjs/FormGroup/index.js +1 -1
- package/cjs/FormHelpText/FormHelpText.js +22 -29
- package/cjs/FormHelpText/index.js +0 -0
- package/cjs/Grid/Grid.js +18 -25
- package/cjs/Grid/index.js +0 -0
- package/cjs/Header/Header.d.ts +1 -1
- package/cjs/Header/Header.js +1 -1
- package/cjs/Header/index.js +0 -0
- package/cjs/Heading/Heading.js +17 -24
- package/cjs/HeadingGroup/HeadingGroup.d.ts +1 -1
- package/cjs/HeadingGroup/HeadingGroup.js +1 -1
- package/cjs/Highlight/Highlight.js +21 -28
- package/cjs/Highlight/utils/highlightText.js +10 -10
- package/cjs/IconButton/IconButton.js +19 -29
- package/cjs/IconButton/index.js +0 -0
- package/cjs/Image/Image.js +61 -68
- package/cjs/Image/ImageWrapper.d.ts +1 -1
- package/cjs/Image/ImageWrapper.js +1 -1
- package/cjs/Image/hooks/useImage.js +26 -29
- package/cjs/InlineEdit/EditableControls.js +6 -6
- package/cjs/InlineEdit/InlineEdit.d.ts +3 -3
- package/cjs/InlineEdit/InlineEdit.js +54 -72
- package/cjs/InlineEdit/renderChildren.js +19 -20
- package/cjs/InlineEdit/useEditState.js +23 -30
- package/cjs/InlineEdit/useFocusEvent.js +17 -15
- package/cjs/Input/Input.js +41 -60
- package/cjs/Input/index.js +0 -0
- package/cjs/InputGroup/InputGroup.js +34 -48
- package/cjs/InputGroup/InputGroupAddon.js +14 -21
- package/cjs/InputGroup/InputGroupButton.js +14 -13
- package/cjs/InputGroup/index.js +0 -0
- package/cjs/InputNumber/InputNumber.js +73 -107
- package/cjs/InputNumber/index.js +0 -0
- package/cjs/InputPicker/InputAutosize.js +49 -66
- package/cjs/InputPicker/InputPicker.js +246 -295
- package/cjs/InputPicker/InputPickerContext.js +2 -2
- package/cjs/InputPicker/InputSearch.js +21 -24
- package/cjs/InputPicker/TagList.js +15 -14
- package/cjs/InputPicker/TextBox.js +21 -21
- package/cjs/InputPicker/hooks/useData.js +14 -18
- package/cjs/InputPicker/hooks/useInput.js +15 -13
- package/cjs/InputPicker/hooks/useMaxWidth.js +2 -5
- package/cjs/InputPicker/utils.js +3 -2
- package/cjs/List/List.js +55 -79
- package/cjs/List/ListContext.js +4 -6
- package/cjs/List/ListItem.js +39 -46
- package/cjs/List/helper/AutoScroller.js +35 -35
- package/cjs/List/helper/useManager.js +14 -18
- package/cjs/List/helper/useSortHelper.js +88 -101
- package/cjs/List/helper/utils.js +11 -16
- package/cjs/List/index.js +0 -0
- package/cjs/Loader/Loader.js +27 -42
- package/cjs/Loader/index.js +0 -0
- package/cjs/MaskedInput/MaskedInput.js +8 -5
- package/cjs/MaskedInput/TextMask.js +29 -43
- package/cjs/MaskedInput/adjustCaretPosition.js +64 -82
- package/cjs/MaskedInput/conformToMask.js +52 -56
- package/cjs/MaskedInput/createTextMaskInputElement.js +62 -58
- package/cjs/MaskedInput/index.js +0 -0
- package/cjs/MaskedInput/types.js +0 -0
- package/cjs/MaskedInput/utilities.js +8 -8
- package/cjs/Message/Message.js +51 -71
- package/cjs/Message/index.js +0 -0
- package/cjs/Modal/Modal.js +91 -118
- package/cjs/Modal/ModalBody.js +28 -31
- package/cjs/Modal/ModalContext.js +1 -1
- package/cjs/Modal/ModalDialog.d.ts +0 -10
- package/cjs/Modal/ModalDialog.js +25 -40
- package/cjs/Modal/ModalFooter.d.ts +1 -1
- package/cjs/Modal/ModalFooter.js +1 -1
- package/cjs/Modal/ModalHeader.js +23 -32
- package/cjs/Modal/ModalTitle.js +16 -24
- package/cjs/Modal/utils.js +28 -30
- package/cjs/MultiCascadeTree/MultiCascadeTree.js +76 -80
- package/cjs/MultiCascadeTree/SearchView.js +53 -58
- package/cjs/MultiCascadeTree/TreeView.js +84 -99
- package/cjs/MultiCascadeTree/hooks/useCascadeValue.js +68 -100
- package/cjs/MultiCascadeTree/hooks/useColumnData.js +10 -16
- package/cjs/MultiCascadeTree/hooks/useFlattenData.js +10 -10
- package/cjs/MultiCascadeTree/hooks/useSearch.js +17 -19
- package/cjs/MultiCascadeTree/hooks/useSelect.js +39 -37
- package/cjs/MultiCascadeTree/utils.js +44 -42
- package/cjs/MultiCascader/MultiCascader.js +190 -224
- package/cjs/MultiCascader/index.js +0 -0
- package/cjs/Nav/AdaptiveNavItem.js +12 -13
- package/cjs/Nav/Nav.js +52 -73
- package/cjs/Nav/NavContext.js +1 -1
- package/cjs/Nav/NavDropdown.d.ts +3 -3
- package/cjs/Nav/NavDropdown.js +63 -93
- package/cjs/Nav/NavDropdownItem.js +56 -72
- package/cjs/Nav/NavDropdownMenu.d.ts +1 -1
- package/cjs/Nav/NavDropdownMenu.js +67 -81
- package/cjs/Nav/NavDropdownToggle.d.ts +2 -2
- package/cjs/Nav/NavDropdownToggle.js +19 -30
- package/cjs/Nav/NavItem.js +34 -49
- package/cjs/Nav/NavMenu.js +18 -20
- package/cjs/Nav/index.js +0 -0
- package/cjs/Navbar/Navbar.js +17 -18
- package/cjs/Navbar/NavbarBody.d.ts +1 -1
- package/cjs/Navbar/NavbarBody.js +1 -1
- package/cjs/Navbar/NavbarBrand.d.ts +1 -1
- package/cjs/Navbar/NavbarBrand.js +1 -1
- package/cjs/Navbar/NavbarDropdown.d.ts +3 -3
- package/cjs/Navbar/NavbarDropdown.js +52 -79
- package/cjs/Navbar/NavbarDropdownItem.js +50 -72
- package/cjs/Navbar/NavbarDropdownMenu.d.ts +1 -1
- package/cjs/Navbar/NavbarDropdownMenu.js +60 -76
- package/cjs/Navbar/NavbarDropdownToggle.d.ts +2 -2
- package/cjs/Navbar/NavbarDropdownToggle.js +18 -30
- package/cjs/Navbar/NavbarHeader.d.ts +1 -1
- package/cjs/Navbar/NavbarHeader.js +1 -1
- package/cjs/Navbar/NavbarItem.js +31 -45
- package/cjs/Navbar/index.js +1 -1
- package/cjs/Notification/Notification.d.ts +4 -3
- package/cjs/Notification/Notification.js +40 -56
- package/cjs/Notification/index.js +0 -0
- package/cjs/Pagination/LimitPicker.js +16 -18
- package/cjs/Pagination/Pagination.js +58 -81
- package/cjs/Pagination/PaginationButton.js +23 -24
- package/cjs/Pagination/PaginationGroup.js +44 -60
- package/cjs/Pagination/index.js +0 -0
- package/cjs/Panel/AccordionButton.js +17 -20
- package/cjs/Panel/Panel.js +56 -81
- package/cjs/Panel/PanelBody.js +35 -34
- package/cjs/Panel/PanelHeader.js +24 -25
- package/cjs/Panel/hooks/useExpanded.js +14 -13
- package/cjs/Panel/index.js +0 -0
- package/cjs/PanelGroup/PanelGroup.js +32 -47
- package/cjs/PanelGroup/index.js +1 -1
- package/cjs/Placeholder/Placeholder.js +1 -1
- package/cjs/Placeholder/PlaceholderGraph.js +24 -33
- package/cjs/Placeholder/PlaceholderGrid.js +49 -60
- package/cjs/Placeholder/PlaceholderParagraph.js +31 -48
- package/cjs/Placeholder/index.js +0 -0
- package/cjs/Popover/Popover.js +30 -44
- package/cjs/Popover/index.js +0 -0
- package/cjs/Progress/Progress.js +1 -1
- package/cjs/Progress/ProgressCircle.js +55 -76
- package/cjs/Progress/ProgressLine.js +39 -50
- package/cjs/Progress/index.js +0 -0
- package/cjs/Radio/Radio.js +56 -85
- package/cjs/Radio/index.js +0 -0
- package/cjs/RadioGroup/RadioGroup.js +40 -60
- package/cjs/RadioGroup/index.js +0 -0
- package/cjs/RadioTile/RadioTile.js +43 -62
- package/cjs/RadioTileGroup/RadioTileGroup.js +32 -47
- package/cjs/RangeSlider/RangeSlider.js +116 -141
- package/cjs/RangeSlider/index.js +0 -0
- package/cjs/Rate/Character.js +33 -46
- package/cjs/Rate/Rate.d.ts +4 -4
- package/cjs/Rate/Rate.js +72 -105
- package/cjs/Rate/index.js +0 -0
- package/cjs/Rate/utils.js +8 -8
- package/cjs/Row/Row.js +32 -40
- package/cjs/Row/index.js +0 -0
- package/cjs/SafeAnchor/SafeAnchor.js +14 -20
- package/cjs/SafeAnchor/index.js +0 -0
- package/cjs/Schema/Schema.js +1 -1
- package/cjs/Schema/index.js +0 -0
- package/cjs/SelectPicker/SelectPicker.d.ts +0 -1
- package/cjs/SelectPicker/SelectPicker.js +131 -169
- package/cjs/SelectPicker/index.js +0 -0
- package/cjs/Sidebar/Sidebar.js +28 -35
- package/cjs/Sidebar/index.js +0 -0
- package/cjs/Sidenav/ExpandedSidenavDropdown.d.ts +3 -3
- package/cjs/Sidenav/ExpandedSidenavDropdown.js +70 -96
- package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +51 -74
- package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +48 -65
- package/cjs/Sidenav/Node.js +26 -37
- package/cjs/Sidenav/Sidenav.js +43 -65
- package/cjs/Sidenav/SidenavBody.d.ts +1 -1
- package/cjs/Sidenav/SidenavBody.js +1 -1
- package/cjs/Sidenav/SidenavDropdown.d.ts +3 -3
- package/cjs/Sidenav/SidenavDropdown.js +81 -111
- package/cjs/Sidenav/SidenavDropdownCollapse.js +22 -30
- package/cjs/Sidenav/SidenavDropdownItem.d.ts +1 -1
- package/cjs/Sidenav/SidenavDropdownItem.js +57 -75
- package/cjs/Sidenav/SidenavDropdownMenu.d.ts +1 -1
- package/cjs/Sidenav/SidenavDropdownMenu.js +67 -78
- package/cjs/Sidenav/SidenavDropdownToggle.d.ts +2 -2
- package/cjs/Sidenav/SidenavDropdownToggle.js +17 -29
- package/cjs/Sidenav/SidenavHeader.d.ts +1 -1
- package/cjs/Sidenav/SidenavHeader.js +1 -1
- package/cjs/Sidenav/SidenavItem.js +64 -82
- package/cjs/Sidenav/SidenavToggle.js +20 -29
- package/cjs/Sidenav/index.js +0 -0
- package/cjs/Slider/Graduated.js +28 -37
- package/cjs/Slider/Handle.js +52 -68
- package/cjs/Slider/Input.js +10 -7
- package/cjs/Slider/Mark.js +16 -24
- package/cjs/Slider/ProgressBar.js +24 -34
- package/cjs/Slider/Slider.d.ts +0 -26
- package/cjs/Slider/Slider.js +77 -118
- package/cjs/Slider/index.js +0 -0
- package/cjs/Slider/useDrag.js +29 -29
- package/cjs/Slider/utils.js +3 -4
- package/cjs/Stack/HStack.js +8 -10
- package/cjs/Stack/Stack.js +37 -58
- package/cjs/Stack/StackItem.d.ts +0 -11
- package/cjs/Stack/StackItem.js +25 -36
- package/cjs/Stack/VStack.js +9 -12
- package/cjs/Stat/Stat.js +20 -25
- package/cjs/Stat/StatHelpText.d.ts +1 -1
- package/cjs/Stat/StatHelpText.js +1 -1
- package/cjs/Stat/StatLabel.js +16 -22
- package/cjs/Stat/StatTrend.js +20 -28
- package/cjs/Stat/StatValue.js +15 -21
- package/cjs/Stat/StatValueUnit.d.ts +1 -1
- package/cjs/Stat/StatValueUnit.js +1 -1
- package/cjs/StatGroup/StatGroup.js +24 -28
- package/cjs/Steps/StepItem.js +31 -43
- package/cjs/Steps/Steps.js +33 -45
- package/cjs/Steps/index.js +0 -0
- package/cjs/Table/Table.js +13 -13
- package/cjs/Tabs/Tab.js +1 -9
- package/cjs/Tabs/TabPanel.js +13 -14
- package/cjs/Tabs/Tabs.js +85 -101
- package/cjs/Tag/Tag.d.ts +2 -2
- package/cjs/Tag/Tag.js +39 -45
- package/cjs/Tag/index.js +0 -0
- package/cjs/TagGroup/TagGroup.d.ts +1 -1
- package/cjs/TagGroup/TagGroup.js +1 -1
- package/cjs/TagGroup/index.js +0 -0
- package/cjs/TagInput/index.js +24 -31
- package/cjs/TagPicker/index.js +19 -22
- package/cjs/Text/Text.js +32 -43
- package/cjs/TimePicker/TimePicker.js +11 -14
- package/cjs/TimeRangePicker/TimeRangePicker.js +9 -7
- package/cjs/Timeline/Timeline.js +33 -48
- package/cjs/Timeline/TimelineItem.js +18 -28
- package/cjs/Timeline/index.js +0 -0
- package/cjs/Toggle/Toggle.js +45 -70
- package/cjs/Toggle/index.js +0 -0
- package/cjs/Tooltip/Tooltip.d.ts +2 -2
- package/cjs/Tooltip/Tooltip.js +24 -33
- package/cjs/Tooltip/index.js +0 -0
- package/cjs/Tree/IndentLine.js +4 -3
- package/cjs/Tree/Tree.js +63 -66
- package/cjs/Tree/TreeNode.js +62 -61
- package/cjs/Tree/TreeNodeToggle.js +19 -16
- package/cjs/Tree/TreeView.js +175 -186
- package/cjs/Tree/hooks/useExpandTree.js +33 -38
- package/cjs/Tree/hooks/useFlattenTree.js +31 -34
- package/cjs/Tree/hooks/useFocusTree.d.ts +1 -1
- package/cjs/Tree/hooks/useFocusTree.js +77 -81
- package/cjs/Tree/hooks/useForceUpdate.js +2 -3
- package/cjs/Tree/hooks/useTreeDrag.js +86 -86
- package/cjs/Tree/hooks/useTreeNodeProps.js +52 -48
- package/cjs/Tree/hooks/useTreeNodeRefs.d.ts +1 -1
- package/cjs/Tree/hooks/useTreeNodeRefs.js +3 -3
- package/cjs/Tree/hooks/useTreeSearch.js +33 -39
- package/cjs/Tree/hooks/useTreeWithChildren.js +21 -35
- package/cjs/Tree/hooks/useVirtualizedTreeData.js +25 -22
- package/cjs/Tree/index.js +0 -0
- package/cjs/Tree/types.js +1 -1
- package/cjs/Tree/utils/flattenTree.js +16 -24
- package/cjs/Tree/utils/focusableTree.js +66 -59
- package/cjs/Tree/utils/formatNodeRefKey.js +1 -1
- package/cjs/Tree/utils/getExpandItemValues.js +7 -5
- package/cjs/Tree/utils/getNodeParentKeys.js +4 -4
- package/cjs/Tree/utils/getTreeActiveNode.js +2 -2
- package/cjs/Tree/utils/hasVisibleChildren.js +1 -3
- package/cjs/Tree/utils/indentTreeNode.js +7 -5
- package/cjs/Tree/utils/treeKeyboardInteractions.js +13 -9
- package/cjs/TreePicker/TreePicker.js +172 -182
- package/cjs/TreePicker/hooks/useFocusState.js +17 -19
- package/cjs/TreePicker/index.js +0 -0
- package/cjs/Uploader/UploadFileItem.js +70 -92
- package/cjs/Uploader/UploadTrigger.js +52 -90
- package/cjs/Uploader/Uploader.js +156 -216
- package/cjs/Uploader/index.js +0 -0
- package/cjs/Uploader/utils/ajaxUpload.js +27 -28
- package/cjs/Uploader/utils/previewFile.js +3 -3
- package/cjs/VisuallyHidden/VisuallyHidden.d.ts +1 -1
- package/cjs/VisuallyHidden/VisuallyHidden.js +1 -1
- package/cjs/Whisper/Whisper.js +14 -32
- package/cjs/Whisper/index.js +0 -0
- package/cjs/index.js +1 -1
- package/cjs/internals/CloseButton/CloseButton.js +19 -18
- package/cjs/internals/Disclosure/Disclosure.js +42 -42
- package/cjs/internals/Disclosure/DisclosureButton.js +16 -13
- package/cjs/internals/Disclosure/DisclosureContent.js +9 -5
- package/cjs/internals/Disclosure/DisclosureContext.js +2 -2
- package/cjs/internals/Disclosure/useDisclosureContext.js +2 -2
- package/cjs/internals/Menu/Menu.d.ts +1 -5
- package/cjs/internals/Menu/Menu.js +80 -80
- package/cjs/internals/Menu/MenuContext.js +3 -3
- package/cjs/internals/Menu/MenuItem.d.ts +0 -7
- package/cjs/internals/Menu/MenuItem.js +22 -30
- package/cjs/internals/Menu/Menubar.js +25 -25
- package/cjs/internals/Menu/useMenu.js +75 -69
- package/cjs/internals/Overlay/Modal.d.ts +6 -20
- package/cjs/internals/Overlay/Modal.js +78 -117
- package/cjs/internals/Overlay/ModalManager.js +22 -28
- package/cjs/internals/Overlay/Overlay.d.ts +2 -23
- package/cjs/internals/Overlay/Overlay.js +57 -76
- package/cjs/internals/Overlay/OverlayContext.js +1 -1
- package/cjs/internals/Overlay/OverlayTrigger.d.ts +2 -2
- package/cjs/internals/Overlay/OverlayTrigger.js +139 -152
- package/cjs/internals/Overlay/Position.d.ts +2 -2
- package/cjs/internals/Overlay/Position.js +63 -86
- package/cjs/internals/Overlay/positionUtils.d.ts +2 -2
- package/cjs/internals/Overlay/positionUtils.js +114 -107
- package/cjs/internals/Picker/ListCheckItem.js +44 -49
- package/cjs/internals/Picker/ListItem.js +32 -35
- package/cjs/internals/Picker/ListItemGroup.js +16 -19
- package/cjs/internals/Picker/Listbox.d.ts +1 -1
- package/cjs/internals/Picker/Listbox.js +99 -119
- package/cjs/internals/Picker/PickerIndicator.js +21 -17
- package/cjs/internals/Picker/PickerLabel.js +7 -8
- package/cjs/internals/Picker/PickerPopup.js +26 -30
- package/cjs/internals/Picker/PickerToggle.d.ts +2 -2
- package/cjs/internals/Picker/PickerToggle.js +50 -57
- package/cjs/internals/Picker/PickerToggleTrigger.d.ts +2 -2
- package/cjs/internals/Picker/PickerToggleTrigger.js +21 -22
- package/cjs/internals/Picker/SelectedElement.js +19 -18
- package/cjs/internals/Picker/ToggleButton.js +1 -1
- package/cjs/internals/Picker/hooks/useCombobox.js +10 -9
- package/cjs/internals/Picker/hooks/useFocusItemValue.js +92 -98
- package/cjs/internals/Picker/hooks/usePickerClassName.d.ts +2 -2
- package/cjs/internals/Picker/hooks/usePickerClassName.js +30 -21
- package/cjs/internals/Picker/hooks/usePickerRef.js +23 -19
- package/cjs/internals/Picker/hooks/useSearch.js +19 -23
- package/cjs/internals/Picker/hooks/useToggleKeyDownEvent.js +21 -20
- package/cjs/internals/Picker/index.d.ts +0 -1
- package/cjs/internals/Picker/index.js +1 -8
- package/cjs/internals/Picker/utils.js +19 -18
- package/cjs/internals/Plaintext/Plaintext.js +18 -20
- package/cjs/internals/Ripple/Ripple.js +42 -51
- package/cjs/internals/ScrollView/ScrollView.js +31 -30
- package/cjs/internals/ScrollView/hooks/useScrollState.d.ts +1 -1
- package/cjs/internals/ScrollView/hooks/useScrollState.js +16 -18
- package/cjs/internals/SearchBox/SearchBox.js +19 -22
- package/cjs/internals/Tree/TreeProvider.d.ts +4 -1
- package/cjs/internals/Tree/TreeProvider.js +49 -37
- package/cjs/internals/Tree/TreeView.js +28 -25
- package/cjs/internals/Tree/utils/filterNodesOfTree.js +6 -6
- package/cjs/internals/Tree/utils/findNodeOfTree.js +5 -5
- package/cjs/internals/Tree/utils/getParentMap.js +10 -15
- package/cjs/internals/Tree/utils/getPathTowardsItem.js +2 -2
- package/cjs/internals/Windowing/AutoSizer.js +35 -35
- package/cjs/internals/Windowing/List.d.ts +1 -1
- package/cjs/internals/Windowing/List.js +43 -46
- package/cjs/internals/Windowing/index.js +1 -1
- package/cjs/internals/constants/index.js +12 -12
- package/cjs/internals/constants/statusIcons.js +2 -2
- package/cjs/internals/hooks/useClassNames.d.ts +1 -2
- package/cjs/internals/hooks/useClassNames.js +16 -26
- package/cjs/internals/hooks/useClickOutside.js +11 -10
- package/cjs/internals/hooks/useControlled.js +4 -6
- package/cjs/internals/hooks/useElementResize.js +4 -4
- package/cjs/internals/hooks/useEnsuredRef.js +1 -1
- package/cjs/internals/hooks/useEventCallback.js +3 -3
- package/cjs/internals/hooks/useEventListener.js +4 -4
- package/cjs/internals/hooks/useFocus.js +7 -7
- package/cjs/internals/hooks/useFocusVirtualListItem.js +5 -5
- package/cjs/internals/hooks/useInternalId.js +2 -2
- package/cjs/internals/hooks/useIsMounted.js +4 -6
- package/cjs/internals/hooks/useIsomorphicLayoutEffect.js +1 -1
- package/cjs/internals/hooks/useMap.js +8 -12
- package/cjs/internals/hooks/useMount.js +4 -3
- package/cjs/internals/hooks/usePortal.js +21 -25
- package/cjs/internals/hooks/useRootClose.js +16 -15
- package/cjs/internals/hooks/useTimeout.js +8 -8
- package/cjs/internals/hooks/useToggleCaret.d.ts +2 -2
- package/cjs/internals/hooks/useToggleCaret.js +5 -4
- package/cjs/internals/hooks/useUniqueId.js +3 -15
- package/cjs/internals/hooks/useUpdateEffect.js +4 -4
- package/cjs/internals/hooks/useUpdatedRef.js +1 -1
- package/cjs/internals/hooks/useWillUnmount.js +2 -8
- package/cjs/internals/symbols.d.ts +1 -0
- package/cjs/internals/symbols.js +4 -3
- package/cjs/internals/types/colours.d.ts +10 -0
- package/cjs/internals/types/colours.js +15 -0
- package/cjs/internals/types/index.d.ts +29 -26
- package/cjs/internals/types/index.js +13 -1
- package/cjs/internals/types/placement.d.ts +5 -0
- package/cjs/internals/types/placement.js +4 -0
- package/cjs/internals/utils/BrowserDetection.d.ts +0 -10
- package/cjs/internals/utils/BrowserDetection.js +5 -61
- package/cjs/internals/utils/ReactChildren.js +23 -27
- package/cjs/internals/utils/colours.d.ts +21 -0
- package/cjs/internals/utils/colours.js +86 -0
- package/cjs/internals/utils/composeFunctions.js +1 -5
- package/cjs/internals/utils/createChainedFunction.js +1 -3
- package/cjs/internals/utils/createComponent.d.ts +1 -1
- package/cjs/internals/utils/createComponent.js +22 -28
- package/cjs/internals/utils/css.d.ts +16 -0
- package/cjs/internals/utils/css.js +61 -0
- package/cjs/internals/utils/date/copyTime.js +14 -13
- package/cjs/internals/utils/date/disableTime.js +13 -13
- package/cjs/internals/utils/date/extractTimeFormat.js +1 -1
- package/cjs/internals/utils/date/formatCheck.js +10 -15
- package/cjs/internals/utils/date/getWeekKeys.js +1 -1
- package/cjs/internals/utils/date/getWeekStartDates.js +14 -14
- package/cjs/internals/utils/date/index.d.ts +46 -46
- package/cjs/internals/utils/date/index.js +92 -93
- package/cjs/internals/utils/date/omitHideDisabledProps.js +2 -5
- package/cjs/internals/utils/date/reverseDateRangeOmitTime.js +1 -2
- package/cjs/internals/utils/date/types.js +2 -2
- package/cjs/internals/utils/date/useDateMode.js +8 -7
- package/cjs/internals/utils/deprecateComponent.js +3 -3
- package/cjs/internals/utils/dom.js +2 -6
- package/cjs/internals/utils/getDOMNode.js +4 -4
- package/cjs/internals/utils/getDataGroupBy.js +11 -13
- package/cjs/internals/utils/getSafeRegExpString.js +2 -1
- package/cjs/internals/utils/getStringLength.js +2 -2
- package/cjs/internals/utils/htmlPropsUtils.js +15 -15
- package/cjs/internals/utils/index.d.ts +2 -0
- package/cjs/internals/utils/index.js +14 -0
- package/cjs/internals/utils/mergeRefs.js +5 -7
- package/cjs/internals/utils/placementPolyfill.js +1 -3
- package/cjs/internals/utils/prefix.js +8 -12
- package/cjs/internals/utils/safeSetSelection.js +2 -4
- package/cjs/internals/utils/shallowEqual.js +5 -5
- package/cjs/internals/utils/stringifyReactNode.js +6 -6
- package/cjs/internals/utils/tplTransform.js +4 -10
- package/cjs/internals/utils/warnOnce.js +3 -3
- package/cjs/locales/ar_EG.js +12 -12
- package/cjs/locales/ca_ES.d.ts +4 -4
- package/cjs/locales/ca_ES.js +12 -12
- package/cjs/locales/cs_CZ.js +12 -12
- package/cjs/locales/da_DK.js +12 -12
- package/cjs/locales/de_DE.js +12 -12
- package/cjs/locales/en_GB.js +12 -12
- package/cjs/locales/en_US.js +12 -12
- package/cjs/locales/es_AR.js +12 -12
- package/cjs/locales/es_ES.js +12 -12
- package/cjs/locales/fa_IR.js +12 -12
- package/cjs/locales/fi_FI.js +12 -12
- package/cjs/locales/fr_FR.js +12 -12
- package/cjs/locales/hu_HU.js +12 -12
- package/cjs/locales/it_IT.js +12 -12
- package/cjs/locales/ja_JP.js +12 -12
- package/cjs/locales/kk_KZ.js +12 -12
- package/cjs/locales/ko_KR.js +12 -12
- package/cjs/locales/ne_NP.js +12 -12
- package/cjs/locales/nl_NL.js +12 -12
- package/cjs/locales/pt_BR.js +12 -12
- package/cjs/locales/ru_RU.js +12 -12
- package/cjs/locales/sv_SE.js +12 -12
- package/cjs/locales/tr_TR.js +12 -12
- package/cjs/locales/zh_CN.js +12 -12
- package/cjs/locales/zh_TW.js +12 -12
- package/cjs/toaster/ToastContainer.d.ts +2 -2
- package/cjs/toaster/ToastContainer.js +106 -130
- package/cjs/toaster/ToastContext.js +1 -1
- package/cjs/toaster/hooks/useDelayedClosure.js +20 -17
- package/cjs/toaster/render.d.ts +0 -1
- package/cjs/toaster/render.js +12 -30
- package/cjs/toaster/toaster.js +29 -56
- package/cjs/useBreakpointValue/useBreakpointValue.js +7 -6
- package/cjs/useMediaQuery/useMediaQuery.d.ts +1 -7
- package/cjs/useMediaQuery/useMediaQuery.js +18 -81
- package/cjs/useToaster/useToaster.js +42 -43
- package/dist/rsuite-no-reset-rtl.css +656 -3131
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +656 -3131
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +669 -3154
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +669 -3154
- package/dist/rsuite.js +3345 -3618
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.LICENSE.txt +0 -2
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Accordion/Accordion.js +4 -3
- package/esm/Affix/Affix.d.ts +1 -1
- package/esm/Affix/Affix.js +54 -65
- package/esm/Affix/index.js +0 -0
- package/esm/Animation/Bounce.js +11 -10
- package/esm/Animation/Collapse.js +40 -48
- package/esm/Animation/Fade.js +13 -12
- package/esm/Animation/Slide.js +14 -14
- package/esm/Animation/Transition.d.ts +1 -40
- package/esm/Animation/Transition.js +97 -115
- package/esm/Animation/index.js +6 -6
- package/esm/Animation/utils.d.ts +0 -9
- package/esm/Animation/utils.js +2 -11
- package/esm/AutoComplete/AutoComplete.d.ts +2 -2
- package/esm/AutoComplete/AutoComplete.js +85 -126
- package/esm/AutoComplete/Combobox.js +11 -10
- package/esm/AutoComplete/index.js +0 -0
- package/esm/AutoComplete/utils.js +5 -5
- package/esm/Avatar/Avatar.js +50 -72
- package/esm/Avatar/AvatarIcon.js +12 -14
- package/esm/Avatar/index.js +0 -0
- package/esm/Avatar/useImage.js +19 -19
- package/esm/AvatarGroup/AvatarGroup.js +30 -42
- package/esm/AvatarGroup/index.js +0 -0
- package/esm/Badge/Badge.d.ts +40 -5
- package/esm/Badge/Badge.js +46 -49
- package/esm/Badge/index.js +0 -0
- package/esm/Breadcrumb/Breadcrumb.js +33 -48
- package/esm/Breadcrumb/BreadcrumbItem.d.ts +1 -1
- package/esm/Breadcrumb/BreadcrumbItem.js +21 -34
- package/esm/Breadcrumb/index.js +0 -0
- package/esm/Button/Button.d.ts +5 -1
- package/esm/Button/Button.js +60 -65
- package/esm/Button/index.js +0 -0
- package/esm/ButtonGroup/ButtonGroup.js +27 -43
- package/esm/ButtonGroup/ButtonGroupContext.js +1 -1
- package/esm/ButtonGroup/index.js +0 -0
- package/esm/ButtonToolbar/ButtonToolbar.js +17 -23
- package/esm/ButtonToolbar/index.js +0 -0
- package/esm/Calendar/Calendar.js +46 -66
- package/esm/Calendar/CalendarBody.js +26 -26
- package/esm/Calendar/CalendarContainer.js +87 -94
- package/esm/Calendar/CalendarHeader.js +49 -49
- package/esm/Calendar/CalendarProvider.js +2 -2
- package/esm/Calendar/Grid/Grid.js +22 -25
- package/esm/Calendar/Grid/GridCell.js +39 -37
- package/esm/Calendar/Grid/GridHeaderRow.js +27 -29
- package/esm/Calendar/Grid/GridRow.js +47 -52
- package/esm/Calendar/MonthDropdown/MonthDropdown.js +61 -62
- package/esm/Calendar/MonthDropdown/MonthDropdownItem.js +35 -38
- package/esm/Calendar/TimeDropdown/TimeColumn.js +7 -7
- package/esm/Calendar/TimeDropdown/TimeDropdown.js +63 -63
- package/esm/Calendar/TimeDropdown/utils/formatWithLeadingZero.js +1 -1
- package/esm/Calendar/TimeDropdown/utils/getClockTime.js +7 -5
- package/esm/Calendar/TimeDropdown/utils/getTimeLimits.js +3 -3
- package/esm/Calendar/TimeDropdown/utils/scrollToTime.js +6 -7
- package/esm/Calendar/hooks/useCalendar.js +1 -1
- package/esm/Calendar/hooks/useCalendarDate.d.ts +1 -1
- package/esm/Calendar/hooks/useCalendarDate.js +9 -11
- package/esm/Calendar/hooks/useCalendarState.js +16 -18
- package/esm/Calendar/utils/isEveryDateInMonth.js +2 -2
- package/esm/Card/Card.js +30 -39
- package/esm/Card/CardBody.d.ts +1 -1
- package/esm/Card/CardBody.js +1 -1
- package/esm/Card/CardFooter.d.ts +1 -1
- package/esm/Card/CardFooter.js +1 -1
- package/esm/Card/CardHeader.d.ts +1 -1
- package/esm/Card/CardHeader.js +1 -1
- package/esm/CardGroup/CardGroup.js +24 -28
- package/esm/Carousel/Carousel.js +72 -94
- package/esm/Carousel/index.js +0 -0
- package/esm/CascadeTree/CascadeTree.d.ts +0 -1
- package/esm/CascadeTree/CascadeTree.js +92 -104
- package/esm/CascadeTree/SearchView.js +47 -52
- package/esm/CascadeTree/TreeView.js +83 -91
- package/esm/CascadeTree/hooks/usePaths.js +18 -19
- package/esm/CascadeTree/hooks/useSearch.js +22 -22
- package/esm/CascadeTree/hooks/useSelect.js +26 -24
- package/esm/CascadeTree/utils.js +10 -8
- package/esm/Cascader/Cascader.d.ts +0 -1
- package/esm/Cascader/Cascader.js +202 -239
- package/esm/Cascader/index.js +0 -0
- package/esm/Cascader/useActive.js +15 -15
- package/esm/CheckPicker/CheckPicker.d.ts +0 -1
- package/esm/CheckPicker/CheckPicker.js +146 -200
- package/esm/CheckPicker/index.js +0 -0
- package/esm/CheckTree/CheckTree.js +68 -73
- package/esm/CheckTree/CheckTreeNode.js +52 -50
- package/esm/CheckTree/CheckTreeView.js +174 -181
- package/esm/CheckTree/hooks/useTreeCheckState.js +26 -25
- package/esm/CheckTree/hooks/useTreeNodeProps.js +39 -36
- package/esm/CheckTree/hooks/useTreeValue.js +6 -7
- package/esm/CheckTree/utils.js +62 -65
- package/esm/CheckTreePicker/CheckTreePicker.js +170 -185
- package/esm/CheckTreePicker/hooks/useFocusState.js +13 -15
- package/esm/CheckTreePicker/index.js +0 -0
- package/esm/Checkbox/Checkbox.js +64 -101
- package/esm/Checkbox/index.js +0 -0
- package/esm/CheckboxGroup/CheckboxGroup.js +39 -61
- package/esm/CheckboxGroup/CheckboxGroupContext.js +1 -1
- package/esm/CheckboxGroup/index.js +0 -0
- package/esm/Col/Col.js +32 -66
- package/esm/Col/index.js +0 -0
- package/esm/Container/Container.d.ts +1 -1
- package/esm/Container/Container.js +21 -31
- package/esm/Container/index.js +0 -0
- package/esm/Content/Content.d.ts +1 -1
- package/esm/Content/Content.js +1 -1
- package/esm/Content/index.js +0 -0
- package/esm/CustomProvider/CustomProvider.d.ts +19 -17
- package/esm/CustomProvider/CustomProvider.js +47 -55
- package/esm/CustomProvider/FormattedDate.js +7 -4
- package/esm/CustomProvider/FormattedNumber.js +8 -7
- package/esm/CustomProvider/useCustom.js +44 -47
- package/esm/DOMHelper/index.js +4 -4
- package/esm/DOMHelper/isElement.js +1 -1
- package/esm/DateInput/DateField.js +101 -102
- package/esm/DateInput/DateInput.js +119 -134
- package/esm/DateInput/hooks/useDateInputState.js +55 -49
- package/esm/DateInput/hooks/useFieldCursor.js +16 -16
- package/esm/DateInput/hooks/useIsFocused.js +9 -9
- package/esm/DateInput/hooks/useKeyboardInputEvent.js +10 -7
- package/esm/DateInput/hooks/useSelectedState.js +4 -6
- package/esm/DateInput/utils.d.ts +1 -1
- package/esm/DateInput/utils.js +76 -71
- package/esm/DatePicker/DatePicker.js +188 -223
- package/esm/DatePicker/PredefinedRanges.js +23 -28
- package/esm/DatePicker/Toolbar.d.ts +1 -1
- package/esm/DatePicker/Toolbar.js +28 -26
- package/esm/DatePicker/hooks/useCustomizedInput.d.ts +1 -1
- package/esm/DatePicker/hooks/useCustomizedInput.js +21 -26
- package/esm/DatePicker/hooks/useFocus.js +45 -39
- package/esm/DatePicker/hooks/useMonthView.js +8 -8
- package/esm/DatePicker/utils.d.ts +0 -7
- package/esm/DatePicker/utils.js +26 -34
- package/esm/DateRangeInput/DateRangeInput.js +130 -151
- package/esm/DateRangeInput/utils.js +50 -49
- package/esm/DateRangePicker/Calendar.js +23 -28
- package/esm/DateRangePicker/DateRangePicker.js +259 -322
- package/esm/DateRangePicker/DateRangePickerProvider.js +3 -3
- package/esm/DateRangePicker/Header.js +20 -23
- package/esm/DateRangePicker/disabledDateUtils.js +16 -34
- package/esm/DateRangePicker/hooks/useCalendarHandlers.js +14 -14
- package/esm/DateRangePicker/hooks/useDateDisabled.js +10 -6
- package/esm/DateRangePicker/hooks/useDateRangePicker.js +1 -1
- package/esm/DateRangePicker/index.js +1 -1
- package/esm/DateRangePicker/utils.js +20 -19
- package/esm/Divider/Divider.js +18 -26
- package/esm/Divider/index.js +0 -0
- package/esm/Drawer/Drawer.d.ts +2 -2
- package/esm/Drawer/Drawer.js +19 -29
- package/esm/Drawer/DrawerActions.d.ts +1 -1
- package/esm/Drawer/DrawerActions.js +1 -1
- package/esm/Drawer/DrawerBody.js +1 -1
- package/esm/Drawer/DrawerFooter.js +1 -1
- package/esm/Drawer/DrawerHeader.js +1 -1
- package/esm/Drawer/DrawerTitle.js +1 -1
- package/esm/Drawer/index.js +0 -0
- package/esm/Dropdown/Dropdown.d.ts +3 -3
- package/esm/Dropdown/Dropdown.js +73 -105
- package/esm/Dropdown/DropdownContext.d.ts +1 -1
- package/esm/Dropdown/DropdownContext.js +1 -1
- package/esm/Dropdown/DropdownItem.js +53 -72
- package/esm/Dropdown/DropdownMenu.d.ts +2 -2
- package/esm/Dropdown/DropdownMenu.js +76 -94
- package/esm/Dropdown/DropdownSeparator.js +11 -16
- package/esm/Dropdown/DropdownState.js +22 -22
- package/esm/Dropdown/DropdownToggle.d.ts +2 -2
- package/esm/Dropdown/DropdownToggle.js +20 -34
- package/esm/Dropdown/index.js +0 -0
- package/esm/Dropdown/useRenderDropdownItem.js +1 -1
- package/esm/FlexboxGrid/FlexboxGrid.js +17 -27
- package/esm/FlexboxGrid/FlexboxGridItem.js +17 -26
- package/esm/FlexboxGrid/index.js +0 -0
- package/esm/Footer/Footer.d.ts +1 -1
- package/esm/Footer/Footer.js +1 -1
- package/esm/Footer/index.js +0 -0
- package/esm/Form/Form.js +105 -130
- package/esm/Form/FormContext.js +4 -4
- package/esm/Form/hooks/useFormClassNames.js +15 -14
- package/esm/Form/hooks/useFormRef.js +9 -7
- package/esm/Form/hooks/useFormValidate.js +77 -77
- package/esm/Form/hooks/useFormValue.js +22 -19
- package/esm/Form/hooks/useSchemaModel.js +31 -33
- package/esm/FormControl/FormControl.d.ts +3 -3
- package/esm/FormControl/FormControl.js +81 -95
- package/esm/FormControl/hooks/useField.js +23 -18
- package/esm/FormControl/hooks/useRegisterModel.js +7 -6
- package/esm/FormControl/index.js +0 -0
- package/esm/FormControlLabel/FormControlLabel.js +21 -28
- package/esm/FormControlLabel/index.js +0 -0
- package/esm/FormErrorMessage/FormErrorMessage.d.ts +2 -2
- package/esm/FormErrorMessage/FormErrorMessage.js +24 -34
- package/esm/FormErrorMessage/index.js +0 -0
- package/esm/FormGroup/FormGroup.js +31 -39
- package/esm/FormHelpText/FormHelpText.js +22 -29
- package/esm/FormHelpText/index.js +0 -0
- package/esm/Grid/Grid.js +18 -25
- package/esm/Grid/index.js +0 -0
- package/esm/Header/Header.d.ts +1 -1
- package/esm/Header/Header.js +1 -1
- package/esm/Header/index.js +0 -0
- package/esm/Heading/Heading.js +17 -24
- package/esm/HeadingGroup/HeadingGroup.d.ts +1 -1
- package/esm/HeadingGroup/HeadingGroup.js +1 -1
- package/esm/Highlight/Highlight.js +21 -28
- package/esm/Highlight/utils/highlightText.js +10 -10
- package/esm/IconButton/IconButton.js +19 -29
- package/esm/IconButton/index.js +0 -0
- package/esm/Image/Image.js +59 -66
- package/esm/Image/ImageWrapper.d.ts +1 -1
- package/esm/Image/ImageWrapper.js +1 -1
- package/esm/Image/hooks/useImage.js +24 -28
- package/esm/InlineEdit/EditableControls.js +6 -6
- package/esm/InlineEdit/InlineEdit.d.ts +3 -3
- package/esm/InlineEdit/InlineEdit.js +52 -70
- package/esm/InlineEdit/renderChildren.js +19 -20
- package/esm/InlineEdit/useEditState.js +23 -29
- package/esm/InlineEdit/useFocusEvent.js +17 -15
- package/esm/Input/Input.js +40 -59
- package/esm/Input/index.js +0 -0
- package/esm/InputGroup/InputGroup.js +33 -47
- package/esm/InputGroup/InputGroupAddon.js +14 -21
- package/esm/InputGroup/InputGroupButton.js +14 -13
- package/esm/InputGroup/index.js +0 -0
- package/esm/InputNumber/InputNumber.js +72 -106
- package/esm/InputNumber/index.js +0 -0
- package/esm/InputPicker/InputAutosize.js +48 -65
- package/esm/InputPicker/InputPicker.js +241 -290
- package/esm/InputPicker/InputPickerContext.js +2 -2
- package/esm/InputPicker/InputSearch.js +21 -24
- package/esm/InputPicker/TagList.js +14 -13
- package/esm/InputPicker/TextBox.js +21 -21
- package/esm/InputPicker/hooks/useData.js +14 -18
- package/esm/InputPicker/hooks/useInput.js +15 -13
- package/esm/InputPicker/hooks/useMaxWidth.js +2 -5
- package/esm/InputPicker/utils.js +1 -1
- package/esm/List/List.js +53 -77
- package/esm/List/ListContext.js +4 -6
- package/esm/List/ListItem.js +38 -45
- package/esm/List/helper/AutoScroller.js +35 -35
- package/esm/List/helper/useManager.js +14 -18
- package/esm/List/helper/useSortHelper.js +87 -100
- package/esm/List/helper/utils.js +11 -16
- package/esm/List/index.js +0 -0
- package/esm/Loader/Loader.js +27 -42
- package/esm/Loader/index.js +0 -0
- package/esm/MaskedInput/MaskedInput.js +8 -5
- package/esm/MaskedInput/TextMask.js +28 -42
- package/esm/MaskedInput/adjustCaretPosition.js +64 -82
- package/esm/MaskedInput/conformToMask.js +52 -56
- package/esm/MaskedInput/createTextMaskInputElement.js +61 -57
- package/esm/MaskedInput/index.js +0 -0
- package/esm/MaskedInput/types.js +0 -0
- package/esm/MaskedInput/utilities.js +8 -8
- package/esm/Message/Message.js +49 -69
- package/esm/Message/index.js +0 -0
- package/esm/Modal/Modal.js +90 -117
- package/esm/Modal/ModalBody.js +27 -30
- package/esm/Modal/ModalContext.js +1 -1
- package/esm/Modal/ModalDialog.d.ts +0 -10
- package/esm/Modal/ModalDialog.js +24 -39
- package/esm/Modal/ModalFooter.d.ts +1 -1
- package/esm/Modal/ModalFooter.js +1 -1
- package/esm/Modal/ModalHeader.js +22 -31
- package/esm/Modal/ModalTitle.js +15 -23
- package/esm/Modal/utils.js +26 -29
- package/esm/MultiCascadeTree/MultiCascadeTree.js +76 -80
- package/esm/MultiCascadeTree/SearchView.js +51 -56
- package/esm/MultiCascadeTree/TreeView.js +84 -99
- package/esm/MultiCascadeTree/hooks/useCascadeValue.js +68 -100
- package/esm/MultiCascadeTree/hooks/useColumnData.js +10 -16
- package/esm/MultiCascadeTree/hooks/useFlattenData.js +10 -10
- package/esm/MultiCascadeTree/hooks/useSearch.js +17 -19
- package/esm/MultiCascadeTree/hooks/useSelect.js +37 -35
- package/esm/MultiCascadeTree/utils.js +40 -45
- package/esm/MultiCascader/MultiCascader.js +189 -224
- package/esm/MultiCascader/index.js +0 -0
- package/esm/Nav/AdaptiveNavItem.js +11 -12
- package/esm/Nav/Nav.js +51 -72
- package/esm/Nav/NavContext.js +1 -1
- package/esm/Nav/NavDropdown.d.ts +3 -3
- package/esm/Nav/NavDropdown.js +62 -92
- package/esm/Nav/NavDropdownItem.js +55 -71
- package/esm/Nav/NavDropdownMenu.d.ts +1 -1
- package/esm/Nav/NavDropdownMenu.js +64 -78
- package/esm/Nav/NavDropdownToggle.d.ts +2 -2
- package/esm/Nav/NavDropdownToggle.js +19 -30
- package/esm/Nav/NavItem.js +33 -48
- package/esm/Nav/NavMenu.js +17 -19
- package/esm/Nav/index.js +0 -0
- package/esm/Navbar/Navbar.js +17 -18
- package/esm/Navbar/NavbarBody.d.ts +1 -1
- package/esm/Navbar/NavbarBody.js +1 -1
- package/esm/Navbar/NavbarBrand.d.ts +1 -1
- package/esm/Navbar/NavbarBrand.js +1 -1
- package/esm/Navbar/NavbarDropdown.d.ts +3 -3
- package/esm/Navbar/NavbarDropdown.js +51 -78
- package/esm/Navbar/NavbarDropdownItem.js +49 -71
- package/esm/Navbar/NavbarDropdownMenu.d.ts +1 -1
- package/esm/Navbar/NavbarDropdownMenu.js +58 -74
- package/esm/Navbar/NavbarDropdownToggle.d.ts +2 -2
- package/esm/Navbar/NavbarDropdownToggle.js +18 -30
- package/esm/Navbar/NavbarHeader.d.ts +1 -1
- package/esm/Navbar/NavbarHeader.js +1 -1
- package/esm/Navbar/NavbarItem.js +30 -44
- package/esm/Notification/Notification.d.ts +4 -3
- package/esm/Notification/Notification.js +38 -54
- package/esm/Notification/index.js +0 -0
- package/esm/Pagination/LimitPicker.js +15 -17
- package/esm/Pagination/Pagination.js +58 -81
- package/esm/Pagination/PaginationButton.js +23 -24
- package/esm/Pagination/PaginationGroup.js +44 -60
- package/esm/Pagination/index.js +0 -0
- package/esm/Panel/AccordionButton.js +17 -20
- package/esm/Panel/Panel.js +54 -79
- package/esm/Panel/PanelBody.js +35 -34
- package/esm/Panel/PanelHeader.js +23 -24
- package/esm/Panel/hooks/useExpanded.js +14 -13
- package/esm/Panel/index.js +0 -0
- package/esm/PanelGroup/PanelGroup.js +31 -46
- package/esm/PanelGroup/index.js +0 -0
- package/esm/Placeholder/Placeholder.js +1 -1
- package/esm/Placeholder/PlaceholderGraph.js +24 -33
- package/esm/Placeholder/PlaceholderGrid.js +47 -60
- package/esm/Placeholder/PlaceholderParagraph.js +30 -47
- package/esm/Placeholder/index.js +0 -0
- package/esm/Popover/Popover.js +30 -44
- package/esm/Popover/index.js +0 -0
- package/esm/Progress/Progress.js +1 -1
- package/esm/Progress/ProgressCircle.js +54 -75
- package/esm/Progress/ProgressLine.js +39 -50
- package/esm/Progress/index.js +0 -0
- package/esm/Radio/Radio.js +55 -84
- package/esm/Radio/index.js +0 -0
- package/esm/RadioGroup/RadioGroup.js +39 -59
- package/esm/RadioGroup/index.js +0 -0
- package/esm/RadioTile/RadioTile.js +42 -61
- package/esm/RadioTileGroup/RadioTileGroup.js +31 -46
- package/esm/RangeSlider/RangeSlider.js +115 -140
- package/esm/RangeSlider/index.js +0 -0
- package/esm/Rate/Character.js +34 -47
- package/esm/Rate/Rate.d.ts +4 -4
- package/esm/Rate/Rate.js +75 -108
- package/esm/Rate/index.js +0 -0
- package/esm/Rate/utils.js +6 -8
- package/esm/Row/Row.js +32 -40
- package/esm/Row/index.js +0 -0
- package/esm/SafeAnchor/SafeAnchor.js +13 -19
- package/esm/SafeAnchor/index.js +0 -0
- package/esm/Schema/Schema.js +8 -8
- package/esm/Schema/index.js +0 -0
- package/esm/SelectPicker/SelectPicker.d.ts +0 -1
- package/esm/SelectPicker/SelectPicker.js +131 -169
- package/esm/SelectPicker/index.js +0 -0
- package/esm/Sidebar/Sidebar.js +27 -34
- package/esm/Sidebar/index.js +0 -0
- package/esm/Sidenav/ExpandedSidenavDropdown.d.ts +3 -3
- package/esm/Sidenav/ExpandedSidenavDropdown.js +69 -95
- package/esm/Sidenav/ExpandedSidenavDropdownItem.js +50 -73
- package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +47 -64
- package/esm/Sidenav/Node.js +25 -36
- package/esm/Sidenav/Sidenav.js +42 -64
- package/esm/Sidenav/SidenavBody.d.ts +1 -1
- package/esm/Sidenav/SidenavBody.js +1 -1
- package/esm/Sidenav/SidenavDropdown.d.ts +3 -3
- package/esm/Sidenav/SidenavDropdown.js +80 -110
- package/esm/Sidenav/SidenavDropdownCollapse.js +22 -30
- package/esm/Sidenav/SidenavDropdownItem.d.ts +1 -1
- package/esm/Sidenav/SidenavDropdownItem.js +56 -74
- package/esm/Sidenav/SidenavDropdownMenu.d.ts +1 -1
- package/esm/Sidenav/SidenavDropdownMenu.js +63 -74
- package/esm/Sidenav/SidenavDropdownToggle.d.ts +2 -2
- package/esm/Sidenav/SidenavDropdownToggle.js +17 -29
- package/esm/Sidenav/SidenavHeader.d.ts +1 -1
- package/esm/Sidenav/SidenavHeader.js +1 -1
- package/esm/Sidenav/SidenavItem.js +63 -81
- package/esm/Sidenav/SidenavToggle.js +19 -28
- package/esm/Sidenav/index.js +0 -0
- package/esm/Slider/Graduated.js +28 -37
- package/esm/Slider/Handle.js +49 -65
- package/esm/Slider/Input.js +10 -7
- package/esm/Slider/Mark.js +16 -24
- package/esm/Slider/ProgressBar.js +24 -34
- package/esm/Slider/Slider.d.ts +0 -26
- package/esm/Slider/Slider.js +75 -116
- package/esm/Slider/index.js +0 -0
- package/esm/Slider/useDrag.js +29 -29
- package/esm/Slider/utils.js +2 -4
- package/esm/Stack/HStack.js +8 -10
- package/esm/Stack/Stack.js +38 -59
- package/esm/Stack/StackItem.d.ts +0 -11
- package/esm/Stack/StackItem.js +25 -36
- package/esm/Stack/VStack.js +9 -12
- package/esm/Stat/Stat.js +20 -25
- package/esm/Stat/StatHelpText.d.ts +1 -1
- package/esm/Stat/StatHelpText.js +1 -1
- package/esm/Stat/StatLabel.js +16 -22
- package/esm/Stat/StatTrend.js +20 -28
- package/esm/Stat/StatValue.js +15 -21
- package/esm/Stat/StatValueUnit.d.ts +1 -1
- package/esm/Stat/StatValueUnit.js +1 -1
- package/esm/StatGroup/StatGroup.js +24 -28
- package/esm/Steps/StepItem.js +31 -43
- package/esm/Steps/Steps.js +33 -45
- package/esm/Steps/index.js +0 -0
- package/esm/Table/Table.js +13 -13
- package/esm/Tabs/Tab.js +1 -9
- package/esm/Tabs/TabPanel.js +13 -14
- package/esm/Tabs/Tabs.js +85 -101
- package/esm/Tag/Tag.d.ts +2 -2
- package/esm/Tag/Tag.js +37 -45
- package/esm/Tag/index.js +0 -0
- package/esm/TagGroup/TagGroup.d.ts +1 -1
- package/esm/TagGroup/TagGroup.js +1 -1
- package/esm/TagGroup/index.js +0 -0
- package/esm/TagInput/index.js +23 -30
- package/esm/TagPicker/index.js +18 -21
- package/esm/Text/Text.js +32 -43
- package/esm/TimePicker/TimePicker.js +10 -13
- package/esm/TimeRangePicker/TimeRangePicker.js +9 -7
- package/esm/Timeline/Timeline.js +33 -48
- package/esm/Timeline/TimelineItem.js +18 -28
- package/esm/Timeline/index.js +0 -0
- package/esm/Toggle/Toggle.js +44 -69
- package/esm/Toggle/index.js +0 -0
- package/esm/Tooltip/Tooltip.d.ts +2 -2
- package/esm/Tooltip/Tooltip.js +24 -33
- package/esm/Tooltip/index.js +0 -0
- package/esm/Tree/IndentLine.js +4 -3
- package/esm/Tree/Tree.js +60 -63
- package/esm/Tree/TreeNode.js +61 -60
- package/esm/Tree/TreeNodeToggle.js +19 -16
- package/esm/Tree/TreeView.js +171 -182
- package/esm/Tree/hooks/useExpandTree.js +33 -38
- package/esm/Tree/hooks/useFlattenTree.js +31 -34
- package/esm/Tree/hooks/useFocusTree.d.ts +1 -1
- package/esm/Tree/hooks/useFocusTree.js +76 -80
- package/esm/Tree/hooks/useForceUpdate.js +2 -3
- package/esm/Tree/hooks/useTreeDrag.js +86 -86
- package/esm/Tree/hooks/useTreeNodeProps.js +51 -47
- package/esm/Tree/hooks/useTreeNodeRefs.d.ts +1 -1
- package/esm/Tree/hooks/useTreeNodeRefs.js +3 -3
- package/esm/Tree/hooks/useTreeSearch.js +33 -39
- package/esm/Tree/hooks/useTreeWithChildren.js +21 -35
- package/esm/Tree/hooks/useVirtualizedTreeData.js +25 -22
- package/esm/Tree/index.js +0 -0
- package/esm/Tree/types.js +1 -1
- package/esm/Tree/utils/flattenTree.js +16 -24
- package/esm/Tree/utils/focusableTree.js +59 -58
- package/esm/Tree/utils/formatNodeRefKey.js +1 -1
- package/esm/Tree/utils/getExpandItemValues.js +7 -5
- package/esm/Tree/utils/getNodeParentKeys.js +4 -4
- package/esm/Tree/utils/getTreeActiveNode.js +2 -2
- package/esm/Tree/utils/hasVisibleChildren.js +1 -3
- package/esm/Tree/utils/indentTreeNode.js +7 -5
- package/esm/Tree/utils/treeKeyboardInteractions.js +13 -9
- package/esm/TreePicker/TreePicker.js +168 -178
- package/esm/TreePicker/hooks/useFocusState.js +17 -19
- package/esm/TreePicker/index.js +0 -0
- package/esm/Uploader/UploadFileItem.js +68 -91
- package/esm/Uploader/UploadTrigger.js +53 -91
- package/esm/Uploader/Uploader.js +154 -214
- package/esm/Uploader/index.js +0 -0
- package/esm/Uploader/utils/ajaxUpload.js +27 -28
- package/esm/Uploader/utils/previewFile.js +3 -3
- package/esm/VisuallyHidden/VisuallyHidden.d.ts +1 -1
- package/esm/VisuallyHidden/VisuallyHidden.js +1 -1
- package/esm/Whisper/Whisper.js +14 -32
- package/esm/Whisper/index.js +0 -0
- package/esm/internals/CloseButton/CloseButton.js +19 -18
- package/esm/internals/Disclosure/Disclosure.js +41 -41
- package/esm/internals/Disclosure/DisclosureButton.js +15 -12
- package/esm/internals/Disclosure/DisclosureContent.js +9 -5
- package/esm/internals/Disclosure/DisclosureContext.js +2 -2
- package/esm/internals/Disclosure/useDisclosureContext.js +2 -2
- package/esm/internals/Menu/Menu.d.ts +1 -5
- package/esm/internals/Menu/Menu.js +79 -79
- package/esm/internals/Menu/MenuContext.js +3 -3
- package/esm/internals/Menu/MenuItem.d.ts +0 -7
- package/esm/internals/Menu/MenuItem.js +21 -29
- package/esm/internals/Menu/Menubar.js +24 -24
- package/esm/internals/Menu/useMenu.js +75 -68
- package/esm/internals/Overlay/Modal.d.ts +6 -20
- package/esm/internals/Overlay/Modal.js +76 -115
- package/esm/internals/Overlay/ModalManager.js +22 -28
- package/esm/internals/Overlay/Overlay.d.ts +2 -23
- package/esm/internals/Overlay/Overlay.js +55 -74
- package/esm/internals/Overlay/OverlayContext.js +1 -1
- package/esm/internals/Overlay/OverlayTrigger.d.ts +2 -2
- package/esm/internals/Overlay/OverlayTrigger.js +138 -151
- package/esm/internals/Overlay/Position.d.ts +2 -2
- package/esm/internals/Overlay/Position.js +62 -85
- package/esm/internals/Overlay/positionUtils.d.ts +2 -2
- package/esm/internals/Overlay/positionUtils.js +113 -107
- package/esm/internals/Picker/ListCheckItem.js +43 -48
- package/esm/internals/Picker/ListItem.js +31 -34
- package/esm/internals/Picker/ListItemGroup.js +16 -19
- package/esm/internals/Picker/Listbox.d.ts +1 -1
- package/esm/internals/Picker/Listbox.js +97 -117
- package/esm/internals/Picker/PickerIndicator.js +21 -17
- package/esm/internals/Picker/PickerLabel.js +7 -8
- package/esm/internals/Picker/PickerPopup.js +25 -29
- package/esm/internals/Picker/PickerToggle.d.ts +2 -2
- package/esm/internals/Picker/PickerToggle.js +48 -55
- package/esm/internals/Picker/PickerToggleTrigger.d.ts +2 -2
- package/esm/internals/Picker/PickerToggleTrigger.js +21 -22
- package/esm/internals/Picker/SelectedElement.js +19 -18
- package/esm/internals/Picker/ToggleButton.js +1 -1
- package/esm/internals/Picker/hooks/useCombobox.js +10 -9
- package/esm/internals/Picker/hooks/useFocusItemValue.js +92 -98
- package/esm/internals/Picker/hooks/usePickerClassName.d.ts +2 -2
- package/esm/internals/Picker/hooks/usePickerClassName.js +30 -21
- package/esm/internals/Picker/hooks/usePickerRef.js +23 -19
- package/esm/internals/Picker/hooks/useSearch.js +19 -23
- package/esm/internals/Picker/hooks/useToggleKeyDownEvent.js +21 -20
- package/esm/internals/Picker/index.d.ts +0 -1
- package/esm/internals/Picker/index.js +1 -2
- package/esm/internals/Picker/utils.js +19 -18
- package/esm/internals/Plaintext/Plaintext.js +18 -20
- package/esm/internals/Ripple/Ripple.js +41 -50
- package/esm/internals/ScrollView/ScrollView.js +30 -29
- package/esm/internals/ScrollView/hooks/useScrollState.d.ts +1 -1
- package/esm/internals/ScrollView/hooks/useScrollState.js +16 -18
- package/esm/internals/SearchBox/SearchBox.js +19 -22
- package/esm/internals/Tree/TreeProvider.d.ts +4 -1
- package/esm/internals/Tree/TreeProvider.js +43 -36
- package/esm/internals/Tree/TreeView.js +27 -24
- package/esm/internals/Tree/utils/filterNodesOfTree.js +6 -6
- package/esm/internals/Tree/utils/findNodeOfTree.js +5 -5
- package/esm/internals/Tree/utils/getParentMap.js +10 -15
- package/esm/internals/Tree/utils/getPathTowardsItem.js +2 -2
- package/esm/internals/Windowing/AutoSizer.js +34 -34
- package/esm/internals/Windowing/List.d.ts +1 -1
- package/esm/internals/Windowing/List.js +41 -45
- package/esm/internals/constants/index.js +12 -12
- package/esm/internals/constants/statusIcons.js +2 -2
- package/esm/internals/hooks/useClassNames.d.ts +1 -2
- package/esm/internals/hooks/useClassNames.js +16 -26
- package/esm/internals/hooks/useClickOutside.js +11 -10
- package/esm/internals/hooks/useControlled.js +4 -6
- package/esm/internals/hooks/useElementResize.js +4 -4
- package/esm/internals/hooks/useEnsuredRef.js +1 -1
- package/esm/internals/hooks/useEventCallback.js +3 -3
- package/esm/internals/hooks/useEventListener.js +4 -4
- package/esm/internals/hooks/useFocus.js +7 -7
- package/esm/internals/hooks/useFocusVirtualListItem.js +5 -5
- package/esm/internals/hooks/useInternalId.js +2 -2
- package/esm/internals/hooks/useIsMounted.js +4 -6
- package/esm/internals/hooks/useIsomorphicLayoutEffect.js +1 -1
- package/esm/internals/hooks/useMap.js +8 -12
- package/esm/internals/hooks/useMount.js +3 -3
- package/esm/internals/hooks/usePortal.js +20 -24
- package/esm/internals/hooks/useRootClose.js +16 -15
- package/esm/internals/hooks/useTimeout.js +8 -8
- package/esm/internals/hooks/useToggleCaret.d.ts +2 -2
- package/esm/internals/hooks/useToggleCaret.js +5 -4
- package/esm/internals/hooks/useUniqueId.js +3 -11
- package/esm/internals/hooks/useUpdateEffect.js +3 -4
- package/esm/internals/hooks/useUpdatedRef.js +1 -1
- package/esm/internals/hooks/useWillUnmount.js +2 -8
- package/esm/internals/symbols.d.ts +1 -0
- package/esm/internals/symbols.js +3 -2
- package/esm/internals/types/colours.d.ts +10 -0
- package/esm/internals/types/colours.js +11 -0
- package/esm/internals/types/index.d.ts +29 -26
- package/esm/internals/types/index.js +6 -0
- package/esm/internals/types/placement.d.ts +5 -0
- package/esm/internals/types/placement.js +2 -0
- package/esm/internals/utils/BrowserDetection.d.ts +0 -10
- package/esm/internals/utils/BrowserDetection.js +2 -60
- package/esm/internals/utils/ReactChildren.js +23 -27
- package/esm/internals/utils/colours.d.ts +21 -0
- package/esm/internals/utils/colours.js +77 -0
- package/esm/internals/utils/composeFunctions.js +1 -5
- package/esm/internals/utils/createChainedFunction.js +1 -3
- package/esm/internals/utils/createComponent.d.ts +1 -1
- package/esm/internals/utils/createComponent.js +22 -28
- package/esm/internals/utils/css.d.ts +16 -0
- package/esm/internals/utils/css.js +55 -0
- package/esm/internals/utils/date/copyTime.js +9 -7
- package/esm/internals/utils/date/disableTime.js +10 -10
- package/esm/internals/utils/date/extractTimeFormat.js +1 -1
- package/esm/internals/utils/date/formatCheck.js +5 -15
- package/esm/internals/utils/date/getWeekKeys.js +1 -1
- package/esm/internals/utils/date/getWeekStartDates.js +13 -12
- package/esm/internals/utils/date/index.d.ts +46 -46
- package/esm/internals/utils/date/index.js +46 -46
- package/esm/internals/utils/date/omitHideDisabledProps.js +1 -5
- package/esm/internals/utils/date/reverseDateRangeOmitTime.js +1 -2
- package/esm/internals/utils/date/types.js +2 -2
- package/esm/internals/utils/date/useDateMode.js +6 -6
- package/esm/internals/utils/deprecateComponent.js +3 -3
- package/esm/internals/utils/dom.js +2 -6
- package/esm/internals/utils/getDOMNode.js +3 -4
- package/esm/internals/utils/getDataGroupBy.js +11 -13
- package/esm/internals/utils/getSafeRegExpString.js +2 -1
- package/esm/internals/utils/getStringLength.js +2 -2
- package/esm/internals/utils/htmlPropsUtils.js +13 -14
- package/esm/internals/utils/index.d.ts +2 -0
- package/esm/internals/utils/index.js +2 -0
- package/esm/internals/utils/mergeRefs.js +5 -7
- package/esm/internals/utils/placementPolyfill.js +1 -3
- package/esm/internals/utils/prefix.js +6 -12
- package/esm/internals/utils/safeSetSelection.js +2 -4
- package/esm/internals/utils/shallowEqual.js +5 -5
- package/esm/internals/utils/stringifyReactNode.js +6 -6
- package/esm/internals/utils/tplTransform.js +4 -10
- package/esm/internals/utils/warnOnce.js +3 -3
- package/esm/locales/ar_EG.js +11 -10
- package/esm/locales/ca_ES.d.ts +4 -4
- package/esm/locales/ca_ES.js +11 -10
- package/esm/locales/cs_CZ.js +11 -10
- package/esm/locales/da_DK.js +11 -10
- package/esm/locales/de_DE.js +11 -10
- package/esm/locales/en_GB.js +11 -10
- package/esm/locales/en_US.js +11 -10
- package/esm/locales/es_AR.js +11 -10
- package/esm/locales/es_ES.js +11 -10
- package/esm/locales/fa_IR.js +11 -10
- package/esm/locales/fi_FI.js +11 -10
- package/esm/locales/fr_FR.js +11 -10
- package/esm/locales/hu_HU.js +11 -10
- package/esm/locales/it_IT.js +11 -10
- package/esm/locales/ja_JP.js +11 -10
- package/esm/locales/kk_KZ.js +11 -10
- package/esm/locales/ko_KR.js +11 -10
- package/esm/locales/ne_NP.js +11 -10
- package/esm/locales/nl_NL.js +11 -10
- package/esm/locales/pt_BR.js +11 -10
- package/esm/locales/ru_RU.js +11 -10
- package/esm/locales/sv_SE.js +11 -10
- package/esm/locales/tr_TR.js +11 -10
- package/esm/locales/zh_CN.js +11 -10
- package/esm/locales/zh_TW.js +11 -10
- package/esm/toaster/ToastContainer.d.ts +2 -2
- package/esm/toaster/ToastContainer.js +104 -129
- package/esm/toaster/ToastContext.js +1 -1
- package/esm/toaster/hooks/useDelayedClosure.js +20 -17
- package/esm/toaster/render.d.ts +0 -1
- package/esm/toaster/render.js +12 -26
- package/esm/toaster/toaster.js +28 -54
- package/esm/useBreakpointValue/useBreakpointValue.js +7 -6
- package/esm/useMediaQuery/useMediaQuery.d.ts +1 -7
- package/esm/useMediaQuery/useMediaQuery.js +18 -78
- package/esm/useToaster/useToaster.js +42 -43
- package/internals/Picker/styles/index.less +7 -11
- package/internals/Picker/styles/mixin.less +6 -3
- package/package.json +16 -13
- package/styles/color-modes/dark.less +1 -0
- package/styles/color-modes/high-contrast.less +1 -0
- package/styles/color-modes/light.less +1 -0
- package/styles/common.less +1 -0
- package/styles/mixins/hacks.less +0 -73
- package/styles/mixins/menu.less +0 -0
- package/styles/mixins/utilities.less +25 -3
- package/styles/scaffolding.less +1 -1
- package/styles/typography.less +11 -6
- package/styles/variables.less +28 -73
- package/toaster/styles/animation.less +0 -0
- package/toaster/styles/index.css +35 -128
- package/useToaster/styles/index.css +35 -128
- package/cjs/internals/Picker/propTypes.d.ts +0 -71
- package/cjs/internals/Picker/propTypes.js +0 -46
- package/cjs/internals/propTypes/deprecatePropType.d.ts +0 -16
- package/cjs/internals/propTypes/deprecatePropType.js +0 -49
- package/cjs/internals/propTypes/index.d.ts +0 -5
- package/cjs/internals/propTypes/index.js +0 -28
- package/cjs/internals/propTypes/oneOf.d.ts +0 -3
- package/cjs/internals/propTypes/oneOf.js +0 -18
- package/cjs/internals/utils/render.d.ts +0 -7
- package/cjs/internals/utils/render.js +0 -48
- package/esm/internals/Picker/propTypes.d.ts +0 -71
- package/esm/internals/Picker/propTypes.js +0 -41
- package/esm/internals/propTypes/deprecatePropType.d.ts +0 -16
- package/esm/internals/propTypes/deprecatePropType.js +0 -45
- package/esm/internals/propTypes/index.d.ts +0 -5
- package/esm/internals/propTypes/index.js +0 -17
- package/esm/internals/propTypes/oneOf.d.ts +0 -3
- package/esm/internals/propTypes/oneOf.js +0 -13
- package/esm/internals/utils/render.d.ts +0 -7
- package/esm/internals/utils/render.js +0 -40
|
@@ -9,14 +9,17 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
9
9
|
var _TextMask = _interopRequireDefault(require("./TextMask"));
|
|
10
10
|
var _Input = _interopRequireDefault(require("../Input"));
|
|
11
11
|
var _CustomProvider = require("../CustomProvider");
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
propsWithDefaults
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
const MaskedInput = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
13
|
+
const {
|
|
14
|
+
propsWithDefaults
|
|
15
|
+
} = (0, _CustomProvider.useCustom)('MaskedInput', props);
|
|
16
|
+
const {
|
|
17
|
+
as: inputAs = _TextMask.default
|
|
18
|
+
} = propsWithDefaults;
|
|
17
19
|
return /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({}, propsWithDefaults, {
|
|
18
20
|
as: inputAs,
|
|
19
21
|
ref: ref
|
|
20
22
|
}));
|
|
21
23
|
});
|
|
24
|
+
MaskedInput.displayName = 'MaskedInput';
|
|
22
25
|
var _default = exports.default = MaskedInput;
|
|
@@ -4,74 +4,60 @@
|
|
|
4
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
5
|
exports.__esModule = true;
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
8
7
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
9
|
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
11
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
10
|
var _createTextMaskInputElement = _interopRequireDefault(require("./createTextMaskInputElement"));
|
|
13
11
|
var _utils = require("../internals/utils");
|
|
14
|
-
|
|
15
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
13
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
14
|
/**
|
|
18
15
|
* https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#guide
|
|
19
16
|
*/
|
|
20
17
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}, props));
|
|
25
|
-
};
|
|
18
|
+
const defaultRender = (ref, props) => /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({
|
|
19
|
+
ref: ref
|
|
20
|
+
}, props));
|
|
26
21
|
|
|
27
22
|
/**
|
|
28
23
|
* The `TextMask` component is used to format the user input data.
|
|
29
24
|
* @see https://rsuitejs.com/components/input/#masked-input
|
|
30
25
|
*/
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
guide =
|
|
35
|
-
placeholderChar
|
|
36
|
-
value
|
|
37
|
-
showMask
|
|
38
|
-
pipe
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
26
|
+
const TextMask = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
27
|
+
const {
|
|
28
|
+
mask,
|
|
29
|
+
guide = true,
|
|
30
|
+
placeholderChar,
|
|
31
|
+
value,
|
|
32
|
+
showMask,
|
|
33
|
+
pipe,
|
|
34
|
+
render = defaultRender,
|
|
35
|
+
onChange,
|
|
36
|
+
...rest
|
|
37
|
+
} = props;
|
|
38
|
+
const inputRef = (0, _react.useRef)(null);
|
|
39
|
+
const textMaskInputElement = (0, _react.useRef)();
|
|
40
|
+
const initTextMask = (0, _react.useCallback)(() => {
|
|
46
41
|
var _textMaskInputElement;
|
|
47
|
-
textMaskInputElement.current = (0, _createTextMaskInputElement.default)(
|
|
48
|
-
inputElement: inputRef.current
|
|
49
|
-
|
|
42
|
+
textMaskInputElement.current = (0, _createTextMaskInputElement.default)({
|
|
43
|
+
inputElement: inputRef.current,
|
|
44
|
+
...props
|
|
45
|
+
});
|
|
50
46
|
(_textMaskInputElement = textMaskInputElement.current) === null || _textMaskInputElement === void 0 || _textMaskInputElement.update(value);
|
|
51
47
|
}, [props, value]);
|
|
52
|
-
|
|
48
|
+
const handleChange = (0, _react.useCallback)(event => {
|
|
53
49
|
var _textMaskInputElement2;
|
|
54
50
|
(_textMaskInputElement2 = textMaskInputElement.current) === null || _textMaskInputElement2 === void 0 || _textMaskInputElement2.update();
|
|
55
51
|
onChange === null || onChange === void 0 || onChange(event);
|
|
56
52
|
}, [onChange]);
|
|
57
|
-
(0, _react.useEffect)(
|
|
53
|
+
(0, _react.useEffect)(() => {
|
|
58
54
|
initTextMask();
|
|
59
55
|
}, [guide, placeholderChar, showMask, pipe, mask, value, initTextMask]);
|
|
60
|
-
return render((0, _utils.mergeRefs)(inputRef, ref),
|
|
56
|
+
return render((0, _utils.mergeRefs)(inputRef, ref), {
|
|
61
57
|
onChange: handleChange,
|
|
62
|
-
defaultValue: value
|
|
63
|
-
|
|
58
|
+
defaultValue: value,
|
|
59
|
+
...(0, _omit.default)(rest, ['keepCharPositions'])
|
|
60
|
+
});
|
|
64
61
|
});
|
|
65
62
|
TextMask.displayName = 'TextMask';
|
|
66
|
-
TextMask.propTypes = {
|
|
67
|
-
render: _propTypes.default.func,
|
|
68
|
-
onChange: _propTypes.default.func,
|
|
69
|
-
mask: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.func, _propTypes.default.bool]).isRequired,
|
|
70
|
-
guide: _propTypes.default.bool,
|
|
71
|
-
value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
|
|
72
|
-
pipe: _propTypes.default.func,
|
|
73
|
-
placeholderChar: _propTypes.default.string,
|
|
74
|
-
keepCharPositions: _propTypes.default.bool,
|
|
75
|
-
showMask: _propTypes.default.bool
|
|
76
|
-
};
|
|
77
63
|
var _default = exports.default = TextMask;
|
|
@@ -3,42 +3,39 @@
|
|
|
3
3
|
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = adjustCaretPosition;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const defaultArray = [];
|
|
7
|
+
const emptyString = '';
|
|
8
8
|
function adjustCaretPosition(_ref) {
|
|
9
|
-
|
|
10
|
-
previousConformedValue =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
indexesOfPipedChars = _ref$indexesOfPipedCh === void 0 ? defaultArray : _ref$indexesOfPipedCh,
|
|
21
|
-
_ref$caretTrapIndexes = _ref.caretTrapIndexes,
|
|
22
|
-
caretTrapIndexes = _ref$caretTrapIndexes === void 0 ? defaultArray : _ref$caretTrapIndexes;
|
|
9
|
+
let {
|
|
10
|
+
previousConformedValue = emptyString,
|
|
11
|
+
previousPlaceholder = emptyString,
|
|
12
|
+
currentCaretPosition = 0,
|
|
13
|
+
conformedValue,
|
|
14
|
+
rawValue,
|
|
15
|
+
placeholderChar,
|
|
16
|
+
placeholder,
|
|
17
|
+
indexesOfPipedChars = defaultArray,
|
|
18
|
+
caretTrapIndexes = defaultArray
|
|
19
|
+
} = _ref;
|
|
23
20
|
if (currentCaretPosition === 0 || !rawValue.length) {
|
|
24
21
|
return 0;
|
|
25
22
|
}
|
|
26
23
|
|
|
27
24
|
// Store lengths for faster performance?
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
const rawValueLength = rawValue.length;
|
|
26
|
+
const previousConformedValueLength = previousConformedValue.length;
|
|
27
|
+
const placeholderLength = placeholder.length;
|
|
28
|
+
const conformedValueLength = conformedValue.length;
|
|
32
29
|
|
|
33
30
|
// This tells us how long the edit is. If user modified input from `(2__)` to `(243__)`,
|
|
34
31
|
// we know the user in this instance pasted two characters
|
|
35
|
-
|
|
32
|
+
const editLength = rawValueLength - previousConformedValueLength;
|
|
36
33
|
|
|
37
34
|
// If the edit length is positive, that means the user is adding characters, not deleting.
|
|
38
|
-
|
|
35
|
+
const isAddition = editLength > 0;
|
|
39
36
|
|
|
40
37
|
// This is the first raw value the user entered that needs to be conformed to mask
|
|
41
|
-
|
|
38
|
+
const isFirstRawValue = previousConformedValueLength === 0;
|
|
42
39
|
|
|
43
40
|
// A partial multi-character edit happens when the user makes a partial selection in their
|
|
44
41
|
// input and edits that selection. That is going from `(123) 432-4348` to `() 432-4348` by
|
|
@@ -46,7 +43,7 @@ function adjustCaretPosition(_ref) {
|
|
|
46
43
|
//
|
|
47
44
|
// Such cases can also happen when the user presses the backspace while holding down the ALT
|
|
48
45
|
// key.
|
|
49
|
-
|
|
46
|
+
const isPartialMultiCharEdit = editLength > 1 && !isFirstRawValue;
|
|
50
47
|
|
|
51
48
|
// This algorithm doesn't support all cases of multi-character edits, so we just return
|
|
52
49
|
// the current caret position.
|
|
@@ -60,10 +57,10 @@ function adjustCaretPosition(_ref) {
|
|
|
60
57
|
// `f` so the `rawValue` becomes (1f__), the new `conformedValue` would be (1__), which is the
|
|
61
58
|
// same as the original `previousConformedValue`. We handle this case differently for caret
|
|
62
59
|
// positioning.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
60
|
+
const possiblyHasRejectedChar = isAddition && (previousConformedValue === conformedValue || conformedValue === placeholder);
|
|
61
|
+
let startingSearchIndex = 0;
|
|
62
|
+
let trackRightCharacter;
|
|
63
|
+
let targetChar;
|
|
67
64
|
if (possiblyHasRejectedChar) {
|
|
68
65
|
startingSearchIndex = currentCaretPosition - editLength;
|
|
69
66
|
} else {
|
|
@@ -75,17 +72,15 @@ function adjustCaretPosition(_ref) {
|
|
|
75
72
|
|
|
76
73
|
// First, we need to normalize the inputs so that letter capitalization between raw input and
|
|
77
74
|
// conformed input wouldn't matter.
|
|
78
|
-
|
|
79
|
-
|
|
75
|
+
const normalizedConformedValue = conformedValue.toLowerCase();
|
|
76
|
+
const normalizedRawValue = rawValue.toLowerCase();
|
|
80
77
|
|
|
81
78
|
// Then we take all characters that come before where the caret currently is.
|
|
82
|
-
|
|
79
|
+
const leftHalfChars = normalizedRawValue.substr(0, currentCaretPosition).split(emptyString);
|
|
83
80
|
|
|
84
81
|
// Now we find all the characters in the left half that exist in the conformed input
|
|
85
82
|
// This step ensures that we don't look for a character that was filtered out or rejected by `conformToMask`.
|
|
86
|
-
|
|
87
|
-
return normalizedConformedValue.indexOf(char) !== -1;
|
|
88
|
-
});
|
|
83
|
+
const intersection = leftHalfChars.filter(char => normalizedConformedValue.indexOf(char) !== -1);
|
|
89
84
|
|
|
90
85
|
// The last character in the intersection is the character we want to look for in the conformed
|
|
91
86
|
// value and the one we want to adjust the caret close to
|
|
@@ -93,21 +88,17 @@ function adjustCaretPosition(_ref) {
|
|
|
93
88
|
|
|
94
89
|
// Calculate the number of mask characters in the previous placeholder
|
|
95
90
|
// from the start of the string up to the place where the caret is
|
|
96
|
-
|
|
97
|
-
return char !== placeholderChar;
|
|
98
|
-
}).length;
|
|
91
|
+
const previousLeftMaskChars = previousPlaceholder.substr(0, intersection.length).split(emptyString).filter(char => char !== placeholderChar).length;
|
|
99
92
|
|
|
100
93
|
// Calculate the number of mask characters in the current placeholder
|
|
101
94
|
// from the start of the string up to the place where the caret is
|
|
102
|
-
|
|
103
|
-
return char !== placeholderChar;
|
|
104
|
-
}).length;
|
|
95
|
+
const leftMaskChars = placeholder.substr(0, intersection.length).split(emptyString).filter(char => char !== placeholderChar).length;
|
|
105
96
|
|
|
106
97
|
// Has the number of mask characters up to the caret changed?
|
|
107
|
-
|
|
98
|
+
const masklengthChanged = leftMaskChars !== previousLeftMaskChars;
|
|
108
99
|
|
|
109
100
|
// Detect if `targetChar` is a mask character and has moved to the left
|
|
110
|
-
|
|
101
|
+
const targetIsMaskMovingLeft = previousPlaceholder[intersection.length - 1] !== undefined && placeholder[intersection.length - 2] !== undefined && previousPlaceholder[intersection.length - 1] !== placeholderChar && previousPlaceholder[intersection.length - 1] !== placeholder[intersection.length - 1] && previousPlaceholder[intersection.length - 1] === placeholder[intersection.length - 2];
|
|
111
102
|
|
|
112
103
|
// If deleting and the `targetChar` `is a mask character and `masklengthChanged` is true
|
|
113
104
|
// or the mask is moving to the left, we can't use the selected `targetChar` any longer
|
|
@@ -125,36 +116,27 @@ function adjustCaretPosition(_ref) {
|
|
|
125
116
|
|
|
126
117
|
// If the `conformedValue` got piped, we need to know which characters were piped in so that when we look for
|
|
127
118
|
// our `targetChar`, we don't select a piped char by mistake
|
|
128
|
-
|
|
129
|
-
return normalizedConformedValue[index];
|
|
130
|
-
});
|
|
119
|
+
const pipedChars = indexesOfPipedChars.map(index => normalizedConformedValue[index]);
|
|
131
120
|
|
|
132
121
|
// We need to know how many times the `targetChar` occurs in the piped characters.
|
|
133
|
-
|
|
134
|
-
return char === targetChar;
|
|
135
|
-
}).length;
|
|
122
|
+
const countTargetCharInPipedChars = pipedChars.filter(char => char === targetChar).length;
|
|
136
123
|
|
|
137
124
|
// We need to know how many times it occurs in the intersection
|
|
138
|
-
|
|
139
|
-
return char === targetChar;
|
|
140
|
-
}).length;
|
|
125
|
+
const countTargetCharInIntersection = intersection.filter(char => char === targetChar).length;
|
|
141
126
|
|
|
142
127
|
// We need to know if the placeholder contains characters that look like
|
|
143
128
|
// our `targetChar`, so we don't select one of those by mistake.
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
rawValue[index] !== char
|
|
152
|
-
);
|
|
153
|
-
}).length;
|
|
129
|
+
const countTargetCharInPlaceholder = placeholder.substr(0, placeholder.indexOf(placeholderChar)).split(emptyString).filter((char, index) =>
|
|
130
|
+
// Check if `char` is the same as our `targetChar`, so we account for it
|
|
131
|
+
char === targetChar &&
|
|
132
|
+
// but also make sure that both the `rawValue` and placeholder don't have the same character at the same
|
|
133
|
+
// index because if they are equal, that means we are already counting those characters in
|
|
134
|
+
// `countTargetCharInIntersection`
|
|
135
|
+
rawValue[index] !== char).length;
|
|
154
136
|
|
|
155
137
|
// The number of times we need to see occurrences of the `targetChar` before we know it is the one we're looking
|
|
156
138
|
// for is:
|
|
157
|
-
|
|
139
|
+
const requiredNumberOfMatches = countTargetCharInPlaceholder + countTargetCharInIntersection + countTargetCharInPipedChars + (
|
|
158
140
|
// The character to the right of the caret isn't included in `intersection`
|
|
159
141
|
// so add one if we are tracking the character to the right
|
|
160
142
|
trackRightCharacter ? 1 : 0);
|
|
@@ -163,9 +145,9 @@ function adjustCaretPosition(_ref) {
|
|
|
163
145
|
// We keep looping forward and store the index in every iteration. Once we have encountered
|
|
164
146
|
// enough occurrences of the target character, we break out of the loop
|
|
165
147
|
// If are searching for the second `1` in `1214`, `startingSearchIndex` will point at `4`.
|
|
166
|
-
|
|
167
|
-
for (
|
|
168
|
-
|
|
148
|
+
let numberOfEncounteredMatches = 0;
|
|
149
|
+
for (let i = 0; i < conformedValueLength; i++) {
|
|
150
|
+
const conformedValueChar = normalizedConformedValue[i];
|
|
169
151
|
startingSearchIndex = i + 1;
|
|
170
152
|
if (conformedValueChar === targetChar) {
|
|
171
153
|
numberOfEncounteredMatches++;
|
|
@@ -186,18 +168,18 @@ function adjustCaretPosition(_ref) {
|
|
|
186
168
|
// We want to remember the last placeholder character encountered so that if the mask
|
|
187
169
|
// contains more characters after the last placeholder character, we don't forward the caret
|
|
188
170
|
// that far to the right. Instead, we stop it at the last encountered placeholder character.
|
|
189
|
-
|
|
190
|
-
for (
|
|
191
|
-
if (placeholder[
|
|
192
|
-
lastPlaceholderChar =
|
|
171
|
+
let lastPlaceholderChar = startingSearchIndex;
|
|
172
|
+
for (let i = startingSearchIndex; i <= placeholderLength; i++) {
|
|
173
|
+
if (placeholder[i] === placeholderChar) {
|
|
174
|
+
lastPlaceholderChar = i;
|
|
193
175
|
}
|
|
194
176
|
if (
|
|
195
177
|
// If we're adding, we can position the caret at the next placeholder character.
|
|
196
|
-
placeholder[
|
|
178
|
+
placeholder[i] === placeholderChar ||
|
|
197
179
|
// If a caret trap was set by a mask function, we need to stop at the trap.
|
|
198
|
-
caretTrapIndexes.indexOf(
|
|
180
|
+
caretTrapIndexes.indexOf(i) !== -1 ||
|
|
199
181
|
// This is the end of the placeholder. We cannot move any further. Let's put the caret there.
|
|
200
|
-
|
|
182
|
+
i === placeholderLength) {
|
|
201
183
|
return lastPlaceholderChar;
|
|
202
184
|
}
|
|
203
185
|
}
|
|
@@ -206,26 +188,26 @@ function adjustCaretPosition(_ref) {
|
|
|
206
188
|
if (trackRightCharacter) {
|
|
207
189
|
// Searching for the character that was to the right of the caret
|
|
208
190
|
// We start at `startingSearchIndex` - 1 because it includes one character extra to the right
|
|
209
|
-
for (
|
|
191
|
+
for (let i = startingSearchIndex - 1; i >= 0; i--) {
|
|
210
192
|
// If tracking the character to the right of the cursor, we move to the left until
|
|
211
193
|
// we found the character and then place the caret right before it
|
|
212
194
|
|
|
213
195
|
if (
|
|
214
196
|
// `targetChar` should be in `conformedValue`, since it was in `rawValue`, just
|
|
215
197
|
// to the right of the caret
|
|
216
|
-
conformedValue[
|
|
198
|
+
conformedValue[i] === targetChar ||
|
|
217
199
|
// If a caret trap was set by a mask function, we need to stop at the trap.
|
|
218
|
-
caretTrapIndexes.indexOf(
|
|
200
|
+
caretTrapIndexes.indexOf(i) !== -1 ||
|
|
219
201
|
// This is the beginning of the placeholder. We cannot move any further.
|
|
220
202
|
// Let's put the caret there.
|
|
221
|
-
|
|
222
|
-
return
|
|
203
|
+
i === 0) {
|
|
204
|
+
return i;
|
|
223
205
|
}
|
|
224
206
|
}
|
|
225
207
|
} else {
|
|
226
208
|
// Searching for the first placeholder or caret trap to the left
|
|
227
209
|
|
|
228
|
-
for (
|
|
210
|
+
for (let i = startingSearchIndex; i >= 0; i--) {
|
|
229
211
|
// If we're deleting, we stop the caret right before the placeholder character.
|
|
230
212
|
// For example, for mask `(111) 11`, current conformed input `(456) 86`. If user
|
|
231
213
|
// modifies input to `(456 86`. That is, they deleted the `)`, we place the caret
|
|
@@ -233,13 +215,13 @@ function adjustCaretPosition(_ref) {
|
|
|
233
215
|
|
|
234
216
|
if (
|
|
235
217
|
// If we're deleting, we can position the caret right before the placeholder character
|
|
236
|
-
placeholder[
|
|
218
|
+
placeholder[i - 1] === placeholderChar ||
|
|
237
219
|
// If a caret trap was set by a mask function, we need to stop at the trap.
|
|
238
|
-
caretTrapIndexes.indexOf(
|
|
220
|
+
caretTrapIndexes.indexOf(i) !== -1 ||
|
|
239
221
|
// This is the beginning of the placeholder. We cannot move any further.
|
|
240
222
|
// Let's put the caret there.
|
|
241
|
-
|
|
242
|
-
return
|
|
223
|
+
i === 0) {
|
|
224
|
+
return i;
|
|
243
225
|
}
|
|
244
226
|
}
|
|
245
227
|
}
|
|
@@ -36,39 +36,35 @@ function conformToMask(rawValue, mask, config) {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
// These configurations tell us how to conform the mask
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
placeholder = _config$placeholder === void 0 ? (0, _utilities.convertMaskToPlaceholder)(mask, placeholderChar) : _config$placeholder,
|
|
48
|
-
_config$currentCaretP = _config.currentCaretPosition,
|
|
49
|
-
currentCaretPosition = _config$currentCaretP === void 0 ? 0 : _config$currentCaretP,
|
|
50
|
-
keepCharPositions = _config.keepCharPositions;
|
|
39
|
+
const {
|
|
40
|
+
guide = true,
|
|
41
|
+
previousConformedValue = '',
|
|
42
|
+
placeholderChar = _utilities.defaultPlaceholderChar,
|
|
43
|
+
placeholder = (0, _utilities.convertMaskToPlaceholder)(mask, placeholderChar),
|
|
44
|
+
currentCaretPosition = 0,
|
|
45
|
+
keepCharPositions
|
|
46
|
+
} = config;
|
|
51
47
|
|
|
52
48
|
// The configs below indicate that the user wants the algorithm to work in *no guide* mode
|
|
53
|
-
|
|
49
|
+
const suppressGuide = guide === false && previousConformedValue !== undefined;
|
|
54
50
|
|
|
55
51
|
// Calculate lengths once for performance
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
const rawValueLength = rawValue.length;
|
|
53
|
+
const previousConformedValueLength = previousConformedValue.length;
|
|
54
|
+
const placeholderLength = placeholder.length;
|
|
55
|
+
const maskLength = mask.length;
|
|
60
56
|
|
|
61
57
|
// This tells us the number of edited characters and the direction in which they were edited (+/-)
|
|
62
|
-
|
|
58
|
+
const editDistance = rawValueLength - previousConformedValueLength;
|
|
63
59
|
|
|
64
60
|
// In *no guide* mode, we need to know if the user is trying to add a character or not
|
|
65
|
-
|
|
61
|
+
const isAddition = editDistance > 0;
|
|
66
62
|
|
|
67
63
|
// Tells us the index of the first change. For (438) 394-4938 to (38) 394-4938, that would be 1
|
|
68
|
-
|
|
64
|
+
const indexOfFirstChange = currentCaretPosition + (isAddition ? -editDistance : 0);
|
|
69
65
|
|
|
70
66
|
// We're also gonna need the index of last change, which we can derive as follows...
|
|
71
|
-
|
|
67
|
+
const indexOfLastChange = indexOfFirstChange + Math.abs(editDistance);
|
|
72
68
|
|
|
73
69
|
// If `conformToMask` is configured to keep character positions, that is, for mask 111, previous value
|
|
74
70
|
// _2_ and raw value 3_2_, the new conformed value should be 32_, not 3_2 (default behavior). That's in the case of
|
|
@@ -80,10 +76,10 @@ function conformToMask(rawValue, mask, config) {
|
|
|
80
76
|
// To do this, we want to compensate for all characters that were deleted
|
|
81
77
|
if (keepCharPositions === true && !isAddition) {
|
|
82
78
|
// We will be storing the new placeholder characters in this variable.
|
|
83
|
-
|
|
79
|
+
let compensatingPlaceholderChars = '';
|
|
84
80
|
|
|
85
81
|
// For every character that was deleted from a placeholder position, we add a placeholder char
|
|
86
|
-
for (
|
|
82
|
+
for (let i = indexOfFirstChange; i < indexOfLastChange; i++) {
|
|
87
83
|
if (placeholder[i] === placeholderChar) {
|
|
88
84
|
compensatingPlaceholderChars += placeholderChar;
|
|
89
85
|
}
|
|
@@ -98,35 +94,35 @@ function conformToMask(rawValue, mask, config) {
|
|
|
98
94
|
// Convert `rawValue` string to an array, and mark characters based on whether they are newly added or have
|
|
99
95
|
// existed in the previous conformed value. Identifying new and old characters is needed for `conformToMask`
|
|
100
96
|
// to work if it is configured to keep character positions.
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
};
|
|
106
|
-
});
|
|
97
|
+
const rawValueArr = rawValue.split('').map((char, i) => ({
|
|
98
|
+
char,
|
|
99
|
+
isNew: i >= indexOfFirstChange && i < indexOfLastChange
|
|
100
|
+
}));
|
|
107
101
|
|
|
108
102
|
// The loop below removes masking characters from user input. For example, for mask
|
|
109
103
|
// `00 (111)`, the placeholder would be `00 (___)`. If user input is `00 (234)`, the loop below
|
|
110
104
|
// would remove all characters but `234` from the `rawValueArr`. The rest of the algorithm
|
|
111
105
|
// then would lay `234` on top of the available placeholder positions in the mask.
|
|
112
|
-
for (
|
|
113
|
-
|
|
106
|
+
for (let i = rawValueLength - 1; i >= 0; i--) {
|
|
107
|
+
const {
|
|
108
|
+
char
|
|
109
|
+
} = rawValueArr[i];
|
|
114
110
|
if (char !== placeholderChar) {
|
|
115
|
-
|
|
116
|
-
if (char === placeholder[shouldOffset ?
|
|
117
|
-
rawValueArr.splice(
|
|
111
|
+
const shouldOffset = i >= indexOfFirstChange && previousConformedValueLength === maskLength;
|
|
112
|
+
if (char === placeholder[shouldOffset ? i - editDistance : i]) {
|
|
113
|
+
rawValueArr.splice(i, 1);
|
|
118
114
|
}
|
|
119
115
|
}
|
|
120
116
|
}
|
|
121
117
|
|
|
122
118
|
// This is the variable that we will be filling with characters as we figure them out
|
|
123
119
|
// in the algorithm below
|
|
124
|
-
|
|
125
|
-
|
|
120
|
+
let conformedValue = '';
|
|
121
|
+
let someCharsRejected = false;
|
|
126
122
|
|
|
127
123
|
// Ok, so first we loop through the placeholder looking for placeholder characters to fill up.
|
|
128
|
-
placeholderLoop: for (
|
|
129
|
-
|
|
124
|
+
placeholderLoop: for (let i = 0; i < placeholderLength; i++) {
|
|
125
|
+
const charInPlaceholder = placeholder[i];
|
|
130
126
|
|
|
131
127
|
// We see one. Let's find out what we can put in it.
|
|
132
128
|
if (charInPlaceholder === placeholderChar) {
|
|
@@ -136,10 +132,10 @@ function conformToMask(rawValue, mask, config) {
|
|
|
136
132
|
// or we find at least one character that we can map.
|
|
137
133
|
while (rawValueArr.length > 0) {
|
|
138
134
|
// Let's retrieve the first user character in the queue of characters we have left
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
135
|
+
const {
|
|
136
|
+
char: rawValueChar,
|
|
137
|
+
isNew
|
|
138
|
+
} = rawValueArr.shift();
|
|
143
139
|
|
|
144
140
|
// If the character we got from the user input is a placeholder character (which happens
|
|
145
141
|
// regularly because user input could be something like (540) 90_-____, which includes
|
|
@@ -153,7 +149,7 @@ function conformToMask(rawValue, mask, config) {
|
|
|
153
149
|
|
|
154
150
|
// Else if, the character we got from the user input is not a placeholder, let's see
|
|
155
151
|
// if the current position in the mask can accept it.
|
|
156
|
-
} else if (mask[
|
|
152
|
+
} else if (mask[i].test(rawValueChar)) {
|
|
157
153
|
// we map the character differently based on whether we are keeping character positions or not.
|
|
158
154
|
// If any of the conditions below are met, we simply map the raw value character to the
|
|
159
155
|
// placeholder position.
|
|
@@ -167,20 +163,20 @@ function conformToMask(rawValue, mask, config) {
|
|
|
167
163
|
// For example, for mask `1111`, previous conformed value `_2__`, raw value `942_2__`. We can map the
|
|
168
164
|
// `9`, to the first available placeholder position, but then, there are no more spots available for the
|
|
169
165
|
// `4` and `2`. So, we discard them and end up with a conformed value of `92__`.
|
|
170
|
-
|
|
171
|
-
|
|
166
|
+
const rawValueArrLength = rawValueArr.length;
|
|
167
|
+
let indexOfNextAvailablePlaceholderChar = null;
|
|
172
168
|
|
|
173
169
|
// Let's loop through the remaining raw value characters. We are looking for either a suitable spot, ie,
|
|
174
170
|
// a placeholder character or a non-suitable spot, ie, a non-placeholder character that is not new.
|
|
175
171
|
// If we see a suitable spot first, we store its position and exit the loop. If we see a non-suitable
|
|
176
172
|
// spot first, we exit the loop and our `indexOfNextAvailablePlaceholderChar` will stay as `null`.
|
|
177
|
-
for (
|
|
178
|
-
|
|
173
|
+
for (let i = 0; i < rawValueArrLength; i++) {
|
|
174
|
+
const charData = rawValueArr[i];
|
|
179
175
|
if (charData.char !== placeholderChar && charData.isNew === false) {
|
|
180
176
|
break;
|
|
181
177
|
}
|
|
182
178
|
if (charData.char === placeholderChar) {
|
|
183
|
-
indexOfNextAvailablePlaceholderChar =
|
|
179
|
+
indexOfNextAvailablePlaceholderChar = i;
|
|
184
180
|
break;
|
|
185
181
|
}
|
|
186
182
|
}
|
|
@@ -195,7 +191,7 @@ function conformToMask(rawValue, mask, config) {
|
|
|
195
191
|
// If `indexOfNextAvailablePlaceholderChar` is `null`, that means the character is blocked. We have to
|
|
196
192
|
// discard it.
|
|
197
193
|
} else {
|
|
198
|
-
|
|
194
|
+
i--;
|
|
199
195
|
}
|
|
200
196
|
}
|
|
201
197
|
|
|
@@ -213,7 +209,7 @@ function conformToMask(rawValue, mask, config) {
|
|
|
213
209
|
//
|
|
214
210
|
// That is, for mask `(111)` and user input `2`, we want to return `(2`, not `(2__)`.
|
|
215
211
|
if (suppressGuide === false) {
|
|
216
|
-
conformedValue += placeholder.substr(
|
|
212
|
+
conformedValue += placeholder.substr(i, placeholderLength);
|
|
217
213
|
}
|
|
218
214
|
|
|
219
215
|
// And we break
|
|
@@ -233,12 +229,12 @@ function conformToMask(rawValue, mask, config) {
|
|
|
233
229
|
// That's why the logic below finds the last filled placeholder character, and removes everything
|
|
234
230
|
// from that point on.
|
|
235
231
|
if (suppressGuide && isAddition === false) {
|
|
236
|
-
|
|
232
|
+
let indexOfLastFilledPlaceholderChar = null;
|
|
237
233
|
|
|
238
234
|
// Find the last filled placeholder position and substring from there
|
|
239
|
-
for (
|
|
240
|
-
if (placeholder[
|
|
241
|
-
indexOfLastFilledPlaceholderChar =
|
|
235
|
+
for (let i = 0; i < conformedValue.length; i++) {
|
|
236
|
+
if (placeholder[i] === placeholderChar) {
|
|
237
|
+
indexOfLastFilledPlaceholderChar = i;
|
|
242
238
|
}
|
|
243
239
|
}
|
|
244
240
|
if (indexOfLastFilledPlaceholderChar !== null) {
|
|
@@ -251,9 +247,9 @@ function conformToMask(rawValue, mask, config) {
|
|
|
251
247
|
}
|
|
252
248
|
}
|
|
253
249
|
return {
|
|
254
|
-
conformedValue
|
|
250
|
+
conformedValue,
|
|
255
251
|
meta: {
|
|
256
|
-
someCharsRejected
|
|
252
|
+
someCharsRejected
|
|
257
253
|
}
|
|
258
254
|
};
|
|
259
255
|
}
|