rsuite 6.0.0-canary-20250416 → 6.0.0-canary-20250507
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/AutoComplete/styles/index.css +32 -71
- package/Button/styles/index.css +4 -6
- package/CHANGELOG.md +15 -0
- package/Calendar/styles/index.css +8 -16
- package/CascadeTree/styles/index.css +8 -16
- package/Cascader/styles/index.css +36 -79
- package/CheckPicker/styles/index.css +32 -66
- package/CheckTree/styles/index.css +34 -70
- package/CheckTreePicker/styles/index.css +34 -70
- package/Checkbox/styles/index.css +7 -9
- package/Checkbox/styles/index.less +1 -1
- package/DateInput/styles/index.css +6 -9
- package/DatePicker/styles/index.css +38 -81
- package/DateRangeInput/styles/index.css +6 -9
- package/DateRangePicker/styles/index.css +38 -81
- package/Dropdown/styles/index.css +6 -10
- package/FormControl/styles/index.css +2 -2
- package/FormControl/styles/index.less +2 -2
- package/IconButton/styles/index.css +4 -6
- package/Input/styles/index.css +6 -9
- package/Input/styles/mixin.less +2 -3
- package/InputGroup/styles/index.css +7 -13
- package/InputGroup/styles/index.less +3 -4
- package/InputNumber/styles/index.css +36 -35
- package/InputNumber/styles/index.less +1 -67
- package/InputPicker/styles/index.css +32 -71
- package/Message/styles/index.css +5 -15
- package/Message/styles/index.less +4 -3
- package/MultiCascadeTree/styles/index.css +38 -80
- package/MultiCascader/styles/index.css +38 -80
- package/Nav/styles/index.css +8 -14
- package/Navbar/styles/index.css +16 -40
- package/NumberInput/package.json +7 -0
- package/NumberInput/styles/index.css +1402 -0
- package/NumberInput/styles/index.less +74 -0
- package/{InputNumber → NumberInput}/styles/mixin.less +0 -0
- package/Pagination/styles/index.css +34 -75
- package/PasswordInput/styles/index.css +6 -9
- package/PinInput/package.json +7 -0
- package/PinInput/styles/index.css +212 -0
- package/PinInput/styles/index.less +66 -0
- package/Radio/styles/index.css +7 -9
- package/Radio/styles/index.less +1 -1
- package/RangeSlider/styles/index.css +2 -0
- package/SelectPicker/styles/index.css +32 -71
- package/Sidenav/styles/index.css +30 -67
- package/Slider/styles/index.css +2 -0
- package/Slider/styles/index.less +2 -0
- package/Stat/styles/index.css +4 -6
- package/Tabs/styles/index.css +8 -14
- package/Tag/styles/index.css +0 -15
- package/TagInput/styles/index.css +34 -72
- package/TagPicker/styles/index.css +34 -72
- package/TimePicker/styles/index.css +38 -81
- package/TimeRangePicker/styles/index.css +38 -81
- package/Toggle/styles/index.css +9 -13
- package/Toggle/styles/index.less +3 -4
- package/Tree/styles/index.css +34 -75
- package/TreePicker/styles/index.css +34 -75
- package/Uploader/styles/index.css +6 -10
- package/cjs/Accordion/Accordion.js +2 -2
- package/cjs/Affix/Affix.js +1 -2
- package/cjs/Animation/Bounce.js +1 -2
- package/cjs/Animation/Collapse.js +1 -2
- package/cjs/Animation/Fade.js +1 -2
- package/cjs/Animation/Slide.js +1 -2
- package/cjs/AutoComplete/AutoComplete.d.ts +2 -2
- package/cjs/AutoComplete/AutoComplete.js +1 -2
- package/cjs/Avatar/Avatar.js +1 -2
- package/cjs/AvatarGroup/AvatarGroup.js +1 -2
- package/cjs/Badge/Badge.js +1 -2
- package/cjs/Breadcrumb/Breadcrumb.js +1 -2
- package/cjs/Button/Button.d.ts +2 -2
- package/cjs/Button/Button.js +1 -2
- package/cjs/ButtonGroup/ButtonGroup.d.ts +2 -2
- package/cjs/ButtonGroup/ButtonGroup.js +1 -2
- package/cjs/ButtonToolbar/ButtonToolbar.js +1 -2
- package/cjs/Calendar/Calendar.js +4 -4
- package/cjs/Calendar/CalendarBody.js +1 -4
- package/cjs/Calendar/CalendarContainer.js +1 -1
- package/cjs/Calendar/CalendarHeader.js +3 -3
- package/cjs/Calendar/CalendarProvider.d.ts +1 -1
- package/cjs/Calendar/Grid/GridCell.js +1 -2
- package/cjs/Calendar/Grid/GridHeaderRow.js +1 -2
- package/cjs/Calendar/Grid/GridRow.d.ts +2 -0
- package/cjs/Calendar/Grid/GridRow.js +5 -4
- package/cjs/Calendar/MonthDropdown/MonthDropdownItem.js +1 -2
- package/cjs/Calendar/hooks/useCalendar.d.ts +24 -2
- package/cjs/Calendar/hooks/useCalendar.js +34 -1
- package/cjs/Card/Card.js +1 -2
- package/cjs/CardGroup/CardGroup.js +1 -2
- package/cjs/Carousel/Carousel.js +1 -2
- package/cjs/CascadeTree/CascadeTree.js +1 -2
- package/cjs/CascadeTree/SearchView.js +1 -2
- package/cjs/CascadeTree/TreeView.js +1 -2
- package/cjs/Cascader/Cascader.js +1 -2
- package/cjs/CheckPicker/CheckPicker.js +1 -2
- package/cjs/CheckTree/CheckTree.js +1 -2
- package/cjs/CheckTree/CheckTreeNode.js +1 -2
- package/cjs/CheckTree/CheckTreeView.js +1 -2
- package/cjs/CheckTreePicker/CheckTreePicker.js +1 -2
- package/cjs/Checkbox/Checkbox.js +1 -2
- package/cjs/CheckboxGroup/CheckboxGroup.js +1 -2
- package/cjs/Container/Container.js +1 -2
- package/cjs/CustomProvider/CustomProvider.d.ts +1 -271
- package/cjs/CustomProvider/CustomProvider.js +2 -3
- package/cjs/CustomProvider/index.d.ts +1 -6
- package/cjs/CustomProvider/index.js +3 -12
- package/cjs/DateInput/DateInput.js +1 -2
- package/cjs/DateInput/hooks/useDateInputState.js +2 -2
- package/cjs/DatePicker/DatePicker.js +2 -3
- package/cjs/DatePicker/hooks/useFocus.js +1 -2
- package/cjs/DateRangeInput/DateRangeInput.js +1 -2
- package/cjs/DateRangePicker/DateRangePicker.js +2 -3
- package/cjs/DateRangePicker/Header.js +3 -3
- package/cjs/DateRangePicker/utils.d.ts +1 -1
- package/cjs/DateRangePicker/utils.js +1 -1
- package/cjs/Divider/Divider.js +1 -2
- package/cjs/Drawer/Drawer.js +1 -2
- package/cjs/Dropdown/Dropdown.js +1 -2
- package/cjs/Dropdown/DropdownMenu.js +1 -2
- package/cjs/FlexboxGrid/FlexboxGrid.js +1 -2
- package/cjs/Form/Form.js +1 -2
- package/cjs/Form/FormContext.d.ts +1 -1
- package/cjs/Form/hooks/useFormValidate.js +5 -5
- package/cjs/FormControl/FormControl.js +54 -86
- package/cjs/FormControlLabel/FormControlLabel.js +1 -2
- package/cjs/FormErrorMessage/FormErrorMessage.js +1 -2
- package/cjs/FormGroup/FormGroup.js +1 -2
- package/cjs/FormHelpText/FormHelpText.js +1 -2
- package/cjs/FormStack/FormStack.js +1 -2
- package/cjs/Grid/Col.js +1 -2
- package/cjs/Grid/Grid.js +1 -2
- package/cjs/Grid/Row.js +1 -2
- package/cjs/Heading/Heading.js +1 -2
- package/cjs/Highlight/Highlight.js +2 -3
- package/cjs/IconButton/IconButton.js +1 -2
- package/cjs/Image/Image.js +2 -3
- package/cjs/InlineEdit/InlineEdit.js +1 -2
- package/cjs/Input/Input.js +3 -3
- package/cjs/InputGroup/InputGroup.js +1 -2
- package/cjs/InputNumber/index.d.ts +12 -2
- package/cjs/InputNumber/index.js +11 -4
- package/cjs/InputPicker/InputPicker.js +1 -2
- package/cjs/InputPicker/utils.d.ts +1 -1
- package/cjs/Kbd/Kbd.js +1 -2
- package/cjs/Link/Link.js +1 -2
- package/cjs/List/List.js +1 -2
- package/cjs/Loader/Loader.js +1 -2
- package/cjs/MaskedInput/MaskedInput.js +2 -2
- package/cjs/Message/Message.js +1 -2
- package/cjs/Modal/Modal.js +1 -2
- package/cjs/Modal/ModalHeader.js +1 -2
- package/cjs/MultiCascadeTree/MultiCascadeTree.js +1 -2
- package/cjs/MultiCascadeTree/SearchView.js +1 -2
- package/cjs/MultiCascadeTree/TreeView.js +1 -2
- package/cjs/MultiCascader/MultiCascader.js +1 -2
- package/cjs/Nav/Nav.js +1 -2
- package/cjs/Nav/NavDropdownMenu.js +1 -2
- package/cjs/Navbar/Navbar.d.ts +1 -1
- package/cjs/Navbar/Navbar.js +1 -2
- package/cjs/Navbar/NavbarDropdownMenu.js +1 -2
- package/cjs/Navbar/NavbarToggle.d.ts +8 -3
- package/cjs/Navbar/NavbarToggle.js +9 -14
- package/cjs/Notification/Notification.js +1 -2
- package/{esm/InputNumber/InputNumber.d.ts → cjs/NumberInput/NumberInput.d.ts} +20 -8
- package/cjs/NumberInput/NumberInput.js +162 -0
- package/cjs/NumberInput/hooks/useEvents.d.ts +22 -0
- package/cjs/NumberInput/hooks/useEvents.js +114 -0
- package/cjs/NumberInput/hooks/useNumberInputValue.d.ts +7 -0
- package/cjs/NumberInput/hooks/useNumberInputValue.js +34 -0
- package/cjs/NumberInput/hooks/useWheelHandler.d.ts +5 -0
- package/cjs/NumberInput/hooks/useWheelHandler.js +25 -0
- package/cjs/NumberInput/index.d.ts +4 -0
- package/cjs/NumberInput/index.js +11 -0
- package/cjs/NumberInput/utils/number.d.ts +17 -0
- package/cjs/NumberInput/utils/number.js +67 -0
- package/cjs/Pagination/LimitPicker.d.ts +2 -2
- package/cjs/Pagination/Pagination.d.ts +2 -2
- package/cjs/Pagination/Pagination.js +1 -2
- package/cjs/Pagination/PaginationGroup.js +1 -2
- package/cjs/Panel/Panel.js +1 -2
- package/cjs/PanelGroup/PanelGroup.js +1 -2
- package/cjs/PasswordInput/PasswordInput.d.ts +4 -0
- package/cjs/PasswordInput/PasswordInput.js +5 -4
- package/cjs/PasswordStrengthMeter/PasswordStrengthMeter.js +1 -2
- package/cjs/PinInput/PinInput.d.ts +36 -0
- package/cjs/PinInput/PinInput.js +224 -0
- package/cjs/PinInput/hooks/usePinInputRefs.d.ts +12 -0
- package/cjs/PinInput/hooks/usePinInputRefs.js +62 -0
- package/cjs/PinInput/hooks/usePinValue.d.ts +14 -0
- package/cjs/PinInput/hooks/usePinValue.js +73 -0
- package/cjs/PinInput/index.d.ts +4 -0
- package/cjs/PinInput/index.js +9 -0
- package/cjs/Placeholder/PlaceholderGraph.js +1 -2
- package/cjs/Placeholder/PlaceholderGrid.js +1 -2
- package/cjs/Placeholder/PlaceholderParagraph.js +1 -2
- package/cjs/Popover/Popover.js +1 -2
- package/cjs/Progress/ProgressCircle.js +1 -2
- package/cjs/Progress/ProgressLine.js +1 -2
- package/cjs/Radio/Radio.js +1 -2
- package/cjs/RadioGroup/RadioGroup.js +1 -2
- package/cjs/RadioTile/RadioTile.js +1 -2
- package/cjs/RadioTileGroup/RadioTileGroup.js +1 -2
- package/cjs/RangeSlider/RangeSlider.js +2 -3
- package/cjs/Rate/Rate.js +1 -2
- package/cjs/SelectPicker/SelectPicker.js +1 -2
- package/cjs/Sidebar/Sidebar.js +1 -2
- package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +1 -2
- package/cjs/Sidenav/Sidenav.js +1 -2
- package/cjs/Sidenav/SidenavDropdownMenu.js +1 -2
- package/cjs/Slider/Slider.d.ts +5 -1
- package/cjs/Slider/Slider.js +13 -14
- package/cjs/Stack/Stack.js +1 -2
- package/cjs/Stat/Stat.js +1 -2
- package/cjs/Stat/StatValue.js +2 -2
- package/cjs/StatGroup/StatGroup.js +1 -2
- package/cjs/Steps/Steps.js +1 -2
- package/cjs/Table/Table.js +2 -2
- package/cjs/Tabs/Tabs.js +1 -2
- package/cjs/Tag/Tag.js +1 -2
- package/cjs/TagInput/TagInput.js +2 -2
- package/cjs/TagPicker/TagPicker.js +2 -2
- package/cjs/Text/Text.js +1 -2
- package/cjs/Textarea/Textarea.js +1 -2
- package/cjs/TimePicker/TimePicker.d.ts +1 -2
- package/cjs/TimePicker/TimePicker.js +2 -2
- package/cjs/TimeRangePicker/TimeRangePicker.js +2 -2
- package/cjs/Timeline/Timeline.js +1 -2
- package/cjs/Toggle/Toggle.js +1 -2
- package/cjs/Tooltip/Tooltip.js +1 -2
- package/cjs/Tree/Tree.js +1 -2
- package/cjs/Tree/TreeNode.js +1 -2
- package/cjs/Tree/TreeNodeToggle.js +1 -2
- package/cjs/Tree/TreeView.js +1 -2
- package/cjs/Tree/hooks/useFocusTree.js +1 -2
- package/cjs/TreePicker/TreePicker.js +1 -2
- package/cjs/Uploader/Uploader.js +1 -2
- package/cjs/Whisper/Whisper.js +2 -2
- package/cjs/index.d.ts +3 -0
- package/cjs/index.js +18 -0
- package/cjs/internals/Box/index.d.ts +1 -0
- package/cjs/internals/Box/index.js +1 -0
- package/cjs/internals/Burger/Burger.d.ts +16 -0
- package/cjs/internals/Burger/Burger.js +46 -0
- package/cjs/internals/Burger/index.d.ts +4 -0
- package/cjs/internals/Burger/index.js +11 -0
- package/cjs/internals/CloseButton/CloseButton.js +1 -2
- package/cjs/internals/Menu/Menu.js +1 -2
- package/cjs/internals/Menu/Menubar.js +2 -2
- package/cjs/internals/Picker/PickerIndicator.js +1 -2
- package/cjs/internals/Picker/hooks/useCombobox.d.ts +1 -1
- package/cjs/internals/Plaintext/Plaintext.js +1 -2
- package/cjs/internals/Provider/CustomContext.d.ts +253 -0
- package/cjs/internals/Provider/CustomContext.js +8 -0
- package/cjs/internals/Provider/types.d.ts +236 -0
- package/cjs/internals/Ripple/Ripple.js +1 -2
- package/cjs/internals/SafeAnchor/SafeAnchor.js +2 -2
- package/cjs/internals/Windowing/List.js +2 -2
- package/cjs/internals/hooks/index.d.ts +1 -0
- package/cjs/internals/hooks/index.js +3 -1
- package/cjs/{CustomProvider → internals/hooks}/useCustom.d.ts +4 -4
- package/cjs/{CustomProvider → internals/hooks}/useCustom.js +5 -5
- package/cjs/internals/hooks/useStyles.js +2 -2
- package/cjs/internals/hooks/useToggleCaret.js +2 -2
- package/cjs/{CustomProvider → internals/intl}/FormattedDate.js +2 -2
- package/cjs/{CustomProvider → internals/intl}/FormattedNumber.js +2 -2
- package/cjs/internals/types/picker.d.ts +2 -2
- package/cjs/internals/types/sizes.d.ts +2 -0
- package/cjs/internals/types/sizes.js +2 -1
- package/cjs/internals/utils/date/getWeekStartDates.d.ts +0 -1
- package/cjs/internals/utils/date/getWeekStartDates.js +2 -4
- package/cjs/internals/utils/react/createComponent.js +15 -4
- package/cjs/{FormControl → useFormControl}/hooks/useField.d.ts +3 -3
- package/cjs/{FormControl → useFormControl}/hooks/useField.js +5 -6
- package/cjs/useFormControl/hooks/useRegisterModel.d.ts +2 -0
- package/cjs/{FormControl → useFormControl}/hooks/useRegisterModel.js +2 -3
- package/cjs/useFormControl/index.d.ts +4 -0
- package/cjs/useFormControl/index.js +11 -0
- package/cjs/useFormControl/useFormControl.d.ts +38 -0
- package/cjs/useFormControl/useFormControl.js +138 -0
- package/cjs/{FormControl/utils.js → useFormControl/utils/nameToPath.js} +0 -0
- package/cjs/useToaster/useToaster.js +2 -5
- package/dist/rsuite-no-reset-rtl.css +246 -265
- 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 +246 -265
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +246 -265
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +246 -265
- package/dist/rsuite.js +389 -257
- 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.map +1 -1
- package/esm/Accordion/Accordion.js +1 -1
- package/esm/Affix/Affix.js +1 -2
- package/esm/Animation/Bounce.js +1 -2
- package/esm/Animation/Collapse.js +1 -2
- package/esm/Animation/Fade.js +1 -2
- package/esm/Animation/Slide.js +1 -2
- package/esm/AutoComplete/AutoComplete.d.ts +2 -2
- package/esm/AutoComplete/AutoComplete.js +1 -2
- package/esm/Avatar/Avatar.js +1 -2
- package/esm/AvatarGroup/AvatarGroup.js +1 -2
- package/esm/Badge/Badge.js +1 -2
- package/esm/Breadcrumb/Breadcrumb.js +1 -2
- package/esm/Button/Button.d.ts +2 -2
- package/esm/Button/Button.js +1 -2
- package/esm/ButtonGroup/ButtonGroup.d.ts +2 -2
- package/esm/ButtonGroup/ButtonGroup.js +1 -2
- package/esm/ButtonToolbar/ButtonToolbar.js +1 -2
- package/esm/Calendar/Calendar.js +3 -4
- package/esm/Calendar/CalendarBody.js +1 -4
- package/esm/Calendar/CalendarContainer.js +1 -1
- package/esm/Calendar/CalendarHeader.js +1 -1
- package/esm/Calendar/CalendarProvider.d.ts +1 -1
- package/esm/Calendar/Grid/GridCell.js +1 -2
- package/esm/Calendar/Grid/GridHeaderRow.js +1 -2
- package/esm/Calendar/Grid/GridRow.d.ts +2 -0
- package/esm/Calendar/Grid/GridRow.js +5 -4
- package/esm/Calendar/MonthDropdown/MonthDropdownItem.js +1 -2
- package/esm/Calendar/hooks/useCalendar.d.ts +24 -2
- package/esm/Calendar/hooks/useCalendar.js +35 -2
- package/esm/Card/Card.js +1 -2
- package/esm/CardGroup/CardGroup.js +1 -2
- package/esm/Carousel/Carousel.js +1 -2
- package/esm/CascadeTree/CascadeTree.js +1 -2
- package/esm/CascadeTree/SearchView.js +1 -2
- package/esm/CascadeTree/TreeView.js +1 -2
- package/esm/Cascader/Cascader.js +1 -2
- package/esm/CheckPicker/CheckPicker.js +1 -2
- package/esm/CheckTree/CheckTree.js +1 -2
- package/esm/CheckTree/CheckTreeNode.js +1 -2
- package/esm/CheckTree/CheckTreeView.js +1 -2
- package/esm/CheckTreePicker/CheckTreePicker.js +1 -2
- package/esm/Checkbox/Checkbox.js +1 -2
- package/esm/CheckboxGroup/CheckboxGroup.js +1 -2
- package/esm/Container/Container.js +1 -2
- package/esm/CustomProvider/CustomProvider.d.ts +1 -271
- package/esm/CustomProvider/CustomProvider.js +1 -1
- package/esm/CustomProvider/index.d.ts +1 -6
- package/esm/CustomProvider/index.js +0 -6
- package/esm/DateInput/DateInput.js +1 -2
- package/esm/DateInput/hooks/useDateInputState.js +1 -1
- package/esm/DatePicker/DatePicker.js +2 -3
- package/esm/DatePicker/hooks/useFocus.js +1 -2
- package/esm/DateRangeInput/DateRangeInput.js +1 -2
- package/esm/DateRangePicker/DateRangePicker.js +2 -3
- package/esm/DateRangePicker/Header.js +1 -1
- package/esm/DateRangePicker/utils.d.ts +1 -1
- package/esm/DateRangePicker/utils.js +1 -1
- package/esm/Divider/Divider.js +1 -2
- package/esm/Drawer/Drawer.js +1 -2
- package/esm/Dropdown/Dropdown.js +1 -2
- package/esm/Dropdown/DropdownMenu.js +1 -2
- package/esm/FlexboxGrid/FlexboxGrid.js +1 -2
- package/esm/Form/Form.js +1 -2
- package/esm/Form/FormContext.d.ts +1 -1
- package/esm/Form/hooks/useFormValidate.js +1 -1
- package/esm/FormControl/FormControl.js +54 -85
- package/esm/FormControlLabel/FormControlLabel.js +1 -2
- package/esm/FormErrorMessage/FormErrorMessage.js +1 -2
- package/esm/FormGroup/FormGroup.js +1 -2
- package/esm/FormHelpText/FormHelpText.js +1 -2
- package/esm/FormStack/FormStack.js +1 -2
- package/esm/Grid/Col.js +1 -2
- package/esm/Grid/Grid.js +1 -2
- package/esm/Grid/Row.js +1 -2
- package/esm/Heading/Heading.js +1 -2
- package/esm/Highlight/Highlight.js +2 -3
- package/esm/IconButton/IconButton.js +1 -2
- package/esm/Image/Image.js +2 -3
- package/esm/InlineEdit/InlineEdit.js +1 -2
- package/esm/Input/Input.js +2 -2
- package/esm/InputGroup/InputGroup.js +1 -2
- package/esm/InputNumber/index.d.ts +12 -2
- package/esm/InputNumber/index.js +8 -1
- package/esm/InputPicker/InputPicker.js +1 -2
- package/esm/InputPicker/utils.d.ts +1 -1
- package/esm/Kbd/Kbd.js +1 -2
- package/esm/Link/Link.js +1 -2
- package/esm/List/List.js +1 -2
- package/esm/Loader/Loader.js +1 -2
- package/esm/MaskedInput/MaskedInput.js +1 -1
- package/esm/Message/Message.js +1 -2
- package/esm/Modal/Modal.js +1 -2
- package/esm/Modal/ModalHeader.js +1 -2
- package/esm/MultiCascadeTree/MultiCascadeTree.js +1 -2
- package/esm/MultiCascadeTree/SearchView.js +1 -2
- package/esm/MultiCascadeTree/TreeView.js +1 -2
- package/esm/MultiCascader/MultiCascader.js +1 -2
- package/esm/Nav/Nav.js +1 -2
- package/esm/Nav/NavDropdownMenu.js +1 -2
- package/esm/Navbar/Navbar.d.ts +1 -1
- package/esm/Navbar/Navbar.js +1 -2
- package/esm/Navbar/NavbarDropdownMenu.js +1 -2
- package/esm/Navbar/NavbarToggle.d.ts +8 -3
- package/esm/Navbar/NavbarToggle.js +10 -15
- package/esm/Notification/Notification.js +1 -2
- package/{cjs/InputNumber/InputNumber.d.ts → esm/NumberInput/NumberInput.d.ts} +20 -8
- package/esm/NumberInput/NumberInput.js +157 -0
- package/esm/NumberInput/hooks/useEvents.d.ts +22 -0
- package/esm/NumberInput/hooks/useEvents.js +110 -0
- package/esm/NumberInput/hooks/useNumberInputValue.d.ts +7 -0
- package/esm/NumberInput/hooks/useNumberInputValue.js +29 -0
- package/esm/NumberInput/hooks/useWheelHandler.d.ts +5 -0
- package/esm/NumberInput/hooks/useWheelHandler.js +21 -0
- package/esm/NumberInput/index.d.ts +4 -0
- package/esm/NumberInput/index.js +8 -0
- package/esm/NumberInput/utils/number.d.ts +17 -0
- package/esm/NumberInput/utils/number.js +59 -0
- package/esm/Pagination/LimitPicker.d.ts +2 -2
- package/esm/Pagination/Pagination.d.ts +2 -2
- package/esm/Pagination/Pagination.js +1 -2
- package/esm/Pagination/PaginationGroup.js +1 -2
- package/esm/Panel/Panel.js +1 -2
- package/esm/PanelGroup/PanelGroup.js +1 -2
- package/esm/PasswordInput/PasswordInput.d.ts +4 -0
- package/esm/PasswordInput/PasswordInput.js +5 -4
- package/esm/PasswordStrengthMeter/PasswordStrengthMeter.js +1 -2
- package/esm/PinInput/PinInput.d.ts +36 -0
- package/esm/PinInput/PinInput.js +219 -0
- package/esm/PinInput/hooks/usePinInputRefs.d.ts +12 -0
- package/esm/PinInput/hooks/usePinInputRefs.js +58 -0
- package/esm/PinInput/hooks/usePinValue.d.ts +14 -0
- package/esm/PinInput/hooks/usePinValue.js +69 -0
- package/esm/PinInput/index.d.ts +4 -0
- package/esm/PinInput/index.js +4 -0
- package/esm/Placeholder/PlaceholderGraph.js +1 -2
- package/esm/Placeholder/PlaceholderGrid.js +1 -2
- package/esm/Placeholder/PlaceholderParagraph.js +1 -2
- package/esm/Popover/Popover.js +1 -2
- package/esm/Progress/ProgressCircle.js +1 -2
- package/esm/Progress/ProgressLine.js +1 -2
- package/esm/Radio/Radio.js +1 -2
- package/esm/RadioGroup/RadioGroup.js +1 -2
- package/esm/RadioTile/RadioTile.js +1 -2
- package/esm/RadioTileGroup/RadioTileGroup.js +1 -2
- package/esm/RangeSlider/RangeSlider.js +1 -2
- package/esm/Rate/Rate.js +1 -2
- package/esm/SelectPicker/SelectPicker.js +1 -2
- package/esm/Sidebar/Sidebar.js +1 -2
- package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +1 -2
- package/esm/Sidenav/Sidenav.js +1 -2
- package/esm/Sidenav/SidenavDropdownMenu.js +1 -2
- package/esm/Slider/Slider.d.ts +5 -1
- package/esm/Slider/Slider.js +12 -13
- package/esm/Stack/Stack.js +1 -2
- package/esm/Stat/Stat.js +1 -2
- package/esm/Stat/StatValue.js +1 -1
- package/esm/StatGroup/StatGroup.js +1 -2
- package/esm/Steps/Steps.js +1 -2
- package/esm/Table/Table.js +1 -1
- package/esm/Tabs/Tabs.js +1 -2
- package/esm/Tag/Tag.js +1 -2
- package/esm/TagInput/TagInput.js +1 -1
- package/esm/TagPicker/TagPicker.js +1 -1
- package/esm/Text/Text.js +1 -2
- package/esm/Textarea/Textarea.js +1 -2
- package/esm/TimePicker/TimePicker.d.ts +1 -2
- package/esm/TimePicker/TimePicker.js +1 -1
- package/esm/TimeRangePicker/TimeRangePicker.js +1 -1
- package/esm/Timeline/Timeline.js +1 -2
- package/esm/Toggle/Toggle.js +1 -2
- package/esm/Tooltip/Tooltip.js +1 -2
- package/esm/Tree/Tree.js +1 -2
- package/esm/Tree/TreeNode.js +1 -2
- package/esm/Tree/TreeNodeToggle.js +1 -2
- package/esm/Tree/TreeView.js +1 -2
- package/esm/Tree/hooks/useFocusTree.js +1 -2
- package/esm/TreePicker/TreePicker.js +1 -2
- package/esm/Uploader/Uploader.js +1 -2
- package/esm/Whisper/Whisper.js +1 -1
- package/esm/index.d.ts +3 -0
- package/esm/index.js +3 -0
- package/esm/internals/Box/index.d.ts +1 -0
- package/esm/internals/Box/index.js +1 -0
- package/esm/internals/Burger/Burger.d.ts +16 -0
- package/esm/internals/Burger/Burger.js +41 -0
- package/esm/internals/Burger/index.d.ts +4 -0
- package/esm/internals/Burger/index.js +8 -0
- package/esm/internals/CloseButton/CloseButton.js +1 -2
- package/esm/internals/Menu/Menu.js +1 -1
- package/esm/internals/Menu/Menubar.js +1 -1
- package/esm/internals/Picker/PickerIndicator.js +1 -2
- package/esm/internals/Picker/hooks/useCombobox.d.ts +1 -1
- package/esm/internals/Plaintext/Plaintext.js +1 -2
- package/esm/internals/Provider/CustomContext.d.ts +253 -0
- package/esm/internals/Provider/CustomContext.js +3 -0
- package/esm/internals/Provider/types.d.ts +236 -0
- package/esm/internals/Ripple/Ripple.js +1 -2
- package/esm/internals/SafeAnchor/SafeAnchor.js +1 -1
- package/esm/internals/Windowing/List.js +1 -1
- package/esm/internals/hooks/index.d.ts +1 -0
- package/esm/internals/hooks/index.js +1 -0
- package/esm/{CustomProvider → internals/hooks}/useCustom.d.ts +4 -4
- package/esm/{CustomProvider → internals/hooks}/useCustom.js +4 -4
- package/esm/internals/hooks/useStyles.js +1 -1
- package/esm/internals/hooks/useToggleCaret.js +1 -1
- package/esm/{CustomProvider → internals/intl}/FormattedDate.js +1 -1
- package/esm/{CustomProvider → internals/intl}/FormattedNumber.js +1 -1
- package/esm/internals/types/picker.d.ts +2 -2
- package/esm/internals/types/sizes.d.ts +2 -0
- package/esm/internals/types/sizes.js +3 -1
- package/esm/internals/utils/date/getWeekStartDates.d.ts +0 -1
- package/esm/internals/utils/date/getWeekStartDates.js +2 -4
- package/esm/internals/utils/react/createComponent.js +12 -2
- package/esm/{FormControl → useFormControl}/hooks/useField.d.ts +3 -3
- package/esm/{FormControl → useFormControl}/hooks/useField.js +4 -5
- package/esm/useFormControl/hooks/useRegisterModel.d.ts +2 -0
- package/esm/{FormControl → useFormControl}/hooks/useRegisterModel.js +2 -3
- package/esm/useFormControl/index.d.ts +4 -0
- package/esm/useFormControl/index.js +8 -0
- package/esm/useFormControl/useFormControl.d.ts +38 -0
- package/esm/useFormControl/useFormControl.js +133 -0
- package/esm/{FormControl/utils.js → useFormControl/utils/nameToPath.js} +0 -0
- package/esm/useToaster/useToaster.js +1 -3
- package/internals/Burger/styles/index.less +67 -0
- package/internals/CloseButton/styles/index.less +0 -10
- package/internals/Picker/styles/index.less +13 -10
- package/internals/Picker/styles/mixin.less +3 -3
- package/package.json +3 -3
- package/styles/color-modes/dark.less +7 -10
- package/styles/color-modes/high-contrast.less +3 -6
- package/styles/color-modes/light.less +5 -8
- package/styles/index.less +3 -1
- package/styles/mixins/utilities.less +2 -5
- package/useFormControl/package.json +7 -0
- package/cjs/CustomProvider/types.d.ts +0 -234
- package/cjs/FormControl/hooks/useRegisterModel.d.ts +0 -3
- package/cjs/InputNumber/InputNumber.js +0 -300
- package/esm/CustomProvider/types.d.ts +0 -234
- package/esm/FormControl/hooks/useRegisterModel.d.ts +0 -3
- package/esm/InputNumber/InputNumber.js +0 -293
- /package/cjs/{CustomProvider → internals/Provider}/types.js +0 -0
- /package/cjs/{CustomProvider → internals/intl}/FormattedDate.d.ts +0 -0
- /package/cjs/{CustomProvider → internals/intl}/FormattedNumber.d.ts +0 -0
- /package/cjs/{FormControl/utils.d.ts → useFormControl/utils/nameToPath.d.ts} +0 -0
- /package/esm/{CustomProvider → internals/Provider}/types.js +0 -0
- /package/esm/{CustomProvider → internals/intl}/FormattedDate.d.ts +0 -0
- /package/esm/{CustomProvider → internals/intl}/FormattedNumber.d.ts +0 -0
- /package/esm/{FormControl/utils.d.ts → useFormControl/utils/nameToPath.d.ts} +0 -0
|
@@ -10,13 +10,11 @@ import { startOfWeek } from 'date-fns/startOfWeek';
|
|
|
10
10
|
*/
|
|
11
11
|
export function getWeekStartDates(firstDayOfMonth, options) {
|
|
12
12
|
const {
|
|
13
|
-
weekStart
|
|
14
|
-
isoWeek,
|
|
13
|
+
weekStart,
|
|
15
14
|
locale
|
|
16
15
|
} = options;
|
|
17
|
-
const weekStartsOn = isoWeek ? 1 : weekStart;
|
|
18
16
|
const firstDay = startOfWeek(firstDayOfMonth, {
|
|
19
|
-
weekStartsOn,
|
|
17
|
+
weekStartsOn: weekStart,
|
|
20
18
|
locale
|
|
21
19
|
});
|
|
22
20
|
const days = [firstDay];
|
|
@@ -3,9 +3,19 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import kebabCase from 'lodash/kebabCase';
|
|
5
5
|
import Box from "../../Box/Box.js";
|
|
6
|
-
import { useStyles } from "../../hooks/index.js";
|
|
7
6
|
import { forwardRef } from "./forwardRef.js";
|
|
8
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Why not import like this:
|
|
9
|
+
* ```
|
|
10
|
+
* import { useStyles, useCustom } from '../../hooks/index.js';
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* We import useStyles and useCustom separately to prevent Vite from displaying Rollup warnings
|
|
14
|
+
* during the build process. This approach avoids circular dependency issues that could affect
|
|
15
|
+
* chunk division and optimizes the build output.
|
|
16
|
+
*/
|
|
17
|
+
import { useStyles } from "../../hooks/useStyles.js";
|
|
18
|
+
import { useCustom } from "../../hooks/useCustom.js";
|
|
9
19
|
/**
|
|
10
20
|
* Create a component with `classPrefix` and `as` attributes.
|
|
11
21
|
* By default, the component is based on Box component and inherits all Box props.
|
|
@@ -4,15 +4,15 @@ interface FieldProps {
|
|
|
4
4
|
formValue?: Record<string, any>;
|
|
5
5
|
formError?: Record<string, any>;
|
|
6
6
|
value: any;
|
|
7
|
-
nestedField
|
|
7
|
+
nestedField?: boolean;
|
|
8
8
|
errorMessage: React.ReactNode;
|
|
9
9
|
errorFromContext?: boolean;
|
|
10
10
|
}
|
|
11
|
-
declare function useField(props: FieldProps): {
|
|
11
|
+
export declare function useField(props: FieldProps): {
|
|
12
12
|
fieldValue: any;
|
|
13
13
|
fieldError: import("react").ReactNode;
|
|
14
14
|
setFieldValue: (fieldName: string, fieldValue: any) => {
|
|
15
15
|
[x: string]: any;
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
|
-
export
|
|
18
|
+
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { isValidElement, useCallback, useMemo } from 'react';
|
|
3
2
|
import get from 'lodash/get';
|
|
4
3
|
import set from 'lodash/set';
|
|
5
|
-
import {
|
|
4
|
+
import { isValidElement, useCallback, useMemo } from 'react';
|
|
5
|
+
import { nameToPath } from "../utils/nameToPath.js";
|
|
6
6
|
function getErrorMessage(error) {
|
|
7
7
|
var _error$array;
|
|
8
8
|
if (typeof error === 'string') {
|
|
@@ -22,7 +22,7 @@ function getErrorMessage(error) {
|
|
|
22
22
|
}
|
|
23
23
|
return error === null || error === void 0 ? void 0 : error.errorMessage;
|
|
24
24
|
}
|
|
25
|
-
function useField(props) {
|
|
25
|
+
export function useField(props) {
|
|
26
26
|
const {
|
|
27
27
|
name,
|
|
28
28
|
formValue,
|
|
@@ -67,5 +67,4 @@ function useField(props) {
|
|
|
67
67
|
fieldError,
|
|
68
68
|
setFieldValue
|
|
69
69
|
};
|
|
70
|
-
}
|
|
71
|
-
export default useField;
|
|
70
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { useRef, useEffect } from 'react';
|
|
3
3
|
import { useFormContext } from "../../Form/FormContext.js";
|
|
4
|
-
function useRegisterModel(name, rule) {
|
|
4
|
+
export function useRegisterModel(name, rule) {
|
|
5
5
|
const {
|
|
6
6
|
pushFieldRule,
|
|
7
7
|
removeFieldRule
|
|
@@ -14,5 +14,4 @@ function useRegisterModel(name, rule) {
|
|
|
14
14
|
removeFieldRule === null || removeFieldRule === void 0 || removeFieldRule(name);
|
|
15
15
|
};
|
|
16
16
|
}, [name, pushFieldRule, removeFieldRule]);
|
|
17
|
-
}
|
|
18
|
-
export default useRegisterModel;
|
|
17
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { CheckType } from 'schema-typed';
|
|
3
|
+
import type { CheckTriggerType } from '../internals/types';
|
|
4
|
+
export interface UseFormControlProps {
|
|
5
|
+
/** The name of form field */
|
|
6
|
+
name: string;
|
|
7
|
+
/** The current value (controlled) */
|
|
8
|
+
value?: any;
|
|
9
|
+
/** The data validation trigger type */
|
|
10
|
+
checkTrigger?: CheckTriggerType;
|
|
11
|
+
/** Show error messages */
|
|
12
|
+
errorMessage?: React.ReactNode;
|
|
13
|
+
/** Asynchronous check value */
|
|
14
|
+
checkAsync?: boolean;
|
|
15
|
+
/** Remove field value and error message when component is unmounted */
|
|
16
|
+
shouldResetWithUnmount?: boolean;
|
|
17
|
+
/** Validation rule */
|
|
18
|
+
rule?: CheckType<unknown, any>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Hook for accessing form control functionality.
|
|
22
|
+
* Must be used within a Form component.
|
|
23
|
+
*
|
|
24
|
+
* @param props The form control properties
|
|
25
|
+
* @returns Form control functionality for the specified field
|
|
26
|
+
*/
|
|
27
|
+
export declare function useFormControl(props: UseFormControlProps): {
|
|
28
|
+
value: any;
|
|
29
|
+
error: React.ReactNode;
|
|
30
|
+
plaintext: boolean | undefined;
|
|
31
|
+
readOnly: boolean | undefined;
|
|
32
|
+
disabled: boolean | undefined;
|
|
33
|
+
onChange: (...args: any[]) => any;
|
|
34
|
+
onCheck: (...args: any[]) => any;
|
|
35
|
+
onBlur: (...args: any[]) => any;
|
|
36
|
+
setValue: (value: any, shouldValidate?: boolean) => void;
|
|
37
|
+
};
|
|
38
|
+
export default useFormControl;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useCallback, useContext } from 'react';
|
|
3
|
+
import { FormValueContext, useFormContext } from "../Form/FormContext.js";
|
|
4
|
+
import { useWillUnmount, useEventCallback } from "../internals/hooks/index.js";
|
|
5
|
+
import { useRegisterModel } from "./hooks/useRegisterModel.js";
|
|
6
|
+
import { useField } from "./hooks/useField.js";
|
|
7
|
+
/**
|
|
8
|
+
* Hook for accessing form control functionality.
|
|
9
|
+
* Must be used within a Form component.
|
|
10
|
+
*
|
|
11
|
+
* @param props The form control properties
|
|
12
|
+
* @returns Form control functionality for the specified field
|
|
13
|
+
*/
|
|
14
|
+
export function useFormControl(props) {
|
|
15
|
+
const {
|
|
16
|
+
name,
|
|
17
|
+
value: controlledValue,
|
|
18
|
+
checkTrigger,
|
|
19
|
+
errorMessage,
|
|
20
|
+
checkAsync = false,
|
|
21
|
+
shouldResetWithUnmount = false,
|
|
22
|
+
rule
|
|
23
|
+
} = props;
|
|
24
|
+
const {
|
|
25
|
+
readOnly,
|
|
26
|
+
plaintext,
|
|
27
|
+
disabled,
|
|
28
|
+
errorFromContext,
|
|
29
|
+
formError,
|
|
30
|
+
nestedField,
|
|
31
|
+
onFieldChange,
|
|
32
|
+
removeFieldValue,
|
|
33
|
+
removeFieldError,
|
|
34
|
+
checkTrigger: contextCheckTrigger,
|
|
35
|
+
checkFieldForNextValue,
|
|
36
|
+
checkFieldAsyncForNextValue
|
|
37
|
+
} = useFormContext();
|
|
38
|
+
|
|
39
|
+
// Throw an error if not used within a Form component
|
|
40
|
+
if (!onFieldChange) {
|
|
41
|
+
console.error(`<useFormControl> must be used inside a component decorated with <Form>. And need to update React to 16.6.0 +.`);
|
|
42
|
+
}
|
|
43
|
+
const formValue = useContext(FormValueContext);
|
|
44
|
+
|
|
45
|
+
// Register form field model
|
|
46
|
+
useRegisterModel(name, rule);
|
|
47
|
+
|
|
48
|
+
// Cleanup on unmount if shouldResetWithUnmount is true
|
|
49
|
+
useWillUnmount(() => {
|
|
50
|
+
if (shouldResetWithUnmount) {
|
|
51
|
+
removeFieldValue === null || removeFieldValue === void 0 || removeFieldValue(name);
|
|
52
|
+
removeFieldError === null || removeFieldError === void 0 || removeFieldError(name);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
// Use the useField hook to handle field value and error
|
|
57
|
+
const {
|
|
58
|
+
fieldValue: value,
|
|
59
|
+
fieldError: error,
|
|
60
|
+
setFieldValue
|
|
61
|
+
} = useField({
|
|
62
|
+
name,
|
|
63
|
+
errorMessage,
|
|
64
|
+
formValue,
|
|
65
|
+
formError,
|
|
66
|
+
value: controlledValue,
|
|
67
|
+
nestedField,
|
|
68
|
+
errorFromContext
|
|
69
|
+
});
|
|
70
|
+
const trigger = checkTrigger || contextCheckTrigger;
|
|
71
|
+
|
|
72
|
+
// Handler for field check (validation)
|
|
73
|
+
const onCheck = useEventCallback(value => {
|
|
74
|
+
// Don't perform validation when checkTrigger is null
|
|
75
|
+
if (trigger === null) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const nextFormValue = setFieldValue(name, value);
|
|
79
|
+
if (checkAsync) {
|
|
80
|
+
checkFieldAsyncForNextValue === null || checkFieldAsyncForNextValue === void 0 || checkFieldAsyncForNextValue(name, nextFormValue);
|
|
81
|
+
} else {
|
|
82
|
+
checkFieldForNextValue === null || checkFieldForNextValue === void 0 || checkFieldForNextValue(name, nextFormValue);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
// Handler for field change
|
|
87
|
+
const onChange = useEventCallback((value, event) => {
|
|
88
|
+
if (trigger === 'change') {
|
|
89
|
+
onCheck(value);
|
|
90
|
+
}
|
|
91
|
+
onFieldChange === null || onFieldChange === void 0 || onFieldChange(name, value, event);
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
// Handler for field blur
|
|
95
|
+
const onBlur = useEventCallback(() => {
|
|
96
|
+
if (trigger === 'blur') {
|
|
97
|
+
onCheck(value);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Directly sets the field value without triggering validation or onChange events.
|
|
103
|
+
* Useful for programmatically updating field values.
|
|
104
|
+
* @param value The new value to set
|
|
105
|
+
* @param shouldValidate Whether to trigger validation (defaults to false)
|
|
106
|
+
*/
|
|
107
|
+
const setValue = useCallback(function (value, shouldValidate) {
|
|
108
|
+
if (shouldValidate === void 0) {
|
|
109
|
+
shouldValidate = false;
|
|
110
|
+
}
|
|
111
|
+
const nextFormValue = setFieldValue(name, value);
|
|
112
|
+
onFieldChange === null || onFieldChange === void 0 || onFieldChange(name, value);
|
|
113
|
+
if (shouldValidate && trigger !== null) {
|
|
114
|
+
if (checkAsync) {
|
|
115
|
+
checkFieldAsyncForNextValue === null || checkFieldAsyncForNextValue === void 0 || checkFieldAsyncForNextValue(name, nextFormValue);
|
|
116
|
+
} else {
|
|
117
|
+
checkFieldForNextValue === null || checkFieldForNextValue === void 0 || checkFieldForNextValue(name, nextFormValue);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}, [name, setFieldValue, trigger, checkAsync, checkFieldAsyncForNextValue, checkFieldForNextValue]);
|
|
121
|
+
return {
|
|
122
|
+
value,
|
|
123
|
+
error,
|
|
124
|
+
plaintext,
|
|
125
|
+
readOnly,
|
|
126
|
+
disabled,
|
|
127
|
+
onChange,
|
|
128
|
+
onCheck,
|
|
129
|
+
onBlur,
|
|
130
|
+
setValue
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
export default useFormControl;
|
|
File without changes
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { useMemo, useContext } from 'react';
|
|
3
3
|
import toaster from "../toaster/index.js";
|
|
4
|
-
|
|
5
|
-
// because babel compiles commonjs, which causes CustomContext to be undefined
|
|
6
|
-
import { CustomContext } from "../CustomProvider/CustomProvider.js";
|
|
4
|
+
import { CustomContext } from "../internals/Provider/CustomContext.js";
|
|
7
5
|
/**
|
|
8
6
|
* Toaster display brief, temporary notifications of actions, errors, or other events in an application.
|
|
9
7
|
* It is often used with the Message and Notification components.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
.rs-burger {
|
|
2
|
+
--rs-burger-size: 36px;
|
|
3
|
+
--rs-burger-thickness: 2px;
|
|
4
|
+
--rs-burger-color: currentColor;
|
|
5
|
+
--rs-burger-spacing: calc(var(--rs-spacing) * 1.5);
|
|
6
|
+
--rs-burger-line-size: calc(var(--rs-burger-size) - var(--rs-burger-spacing) * 2);
|
|
7
|
+
|
|
8
|
+
border: none;
|
|
9
|
+
background: transparent;
|
|
10
|
+
cursor: pointer;
|
|
11
|
+
outline: none;
|
|
12
|
+
transition: background 0.2s;
|
|
13
|
+
box-sizing: border-box;
|
|
14
|
+
width: var(--rs-burger-size);
|
|
15
|
+
height: var(--rs-burger-size);
|
|
16
|
+
padding: var(--rs-burger-spacing);
|
|
17
|
+
|
|
18
|
+
// The burger line (middle)
|
|
19
|
+
&-line {
|
|
20
|
+
position: relative;
|
|
21
|
+
display: block;
|
|
22
|
+
width: var(--rs-burger-line-size);
|
|
23
|
+
height: var(--rs-burger-thickness);
|
|
24
|
+
background: var(--rs-burger-color);
|
|
25
|
+
border-radius: var(--rs-burger-thickness);
|
|
26
|
+
transition-property: background, transform;
|
|
27
|
+
transition-duration: 0.2s, 0.3s;
|
|
28
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
29
|
+
pointer-events: none;
|
|
30
|
+
|
|
31
|
+
// Top and bottom lines
|
|
32
|
+
&::before,
|
|
33
|
+
&::after {
|
|
34
|
+
content: '';
|
|
35
|
+
position: absolute;
|
|
36
|
+
display: block;
|
|
37
|
+
inset-inline-start: 0;
|
|
38
|
+
width: 100%;
|
|
39
|
+
height: var(--rs-burger-thickness);
|
|
40
|
+
background: var(--rs-burger-color);
|
|
41
|
+
border-radius: var(--rs-burger-thickness);
|
|
42
|
+
transition-property: transform;
|
|
43
|
+
transition-duration: 0.3s;
|
|
44
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&::before {
|
|
48
|
+
top: calc(var(--rs-burger-line-size) / -3);
|
|
49
|
+
}
|
|
50
|
+
&::after {
|
|
51
|
+
top: calc(var(--rs-burger-line-size) / 3);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Opened state animation
|
|
56
|
+
&:where([data-opened='true']) {
|
|
57
|
+
.rs-burger-line {
|
|
58
|
+
background: transparent;
|
|
59
|
+
&::before {
|
|
60
|
+
transform: translateY(calc(var(--rs-burger-line-size) / 3)) rotate(45deg);
|
|
61
|
+
}
|
|
62
|
+
&::after {
|
|
63
|
+
transform: translateY(calc(var(--rs-burger-line-size) / -3)) rotate(-45deg);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
--rs-picker-loader-size: 20px;
|
|
25
25
|
--rs-picker-toggle-border-width: 1px;
|
|
26
26
|
--rs-picker-toggle-bg: var(--rs-input-bg);
|
|
27
|
+
--rs-picker-toggle-border-color: var(--rs-border-primary);
|
|
27
28
|
|
|
28
29
|
display: inline-block;
|
|
29
30
|
vertical-align: middle;
|
|
@@ -46,6 +47,10 @@
|
|
|
46
47
|
.rs-picker-value-count {
|
|
47
48
|
opacity: 0.5;
|
|
48
49
|
}
|
|
50
|
+
|
|
51
|
+
.rs-picker-toggle {
|
|
52
|
+
pointer-events: none;
|
|
53
|
+
}
|
|
49
54
|
}
|
|
50
55
|
|
|
51
56
|
&-toggle &-toggle-placeholder {
|
|
@@ -73,14 +78,14 @@
|
|
|
73
78
|
margin: 0 var(--rs-spacing) 0 0;
|
|
74
79
|
}
|
|
75
80
|
|
|
76
|
-
&:not([data-disabled='true']):hover,
|
|
77
81
|
&.rs-picker-focused {
|
|
78
82
|
border-color: var(--rs-input-focus-border);
|
|
79
83
|
}
|
|
80
84
|
|
|
81
85
|
&-toggle-active,
|
|
82
86
|
&.rs-picker-focused {
|
|
83
|
-
|
|
87
|
+
--rs-picker-toggle-border-color: var(--rs-input-focus-border);
|
|
88
|
+
.focus-ring();
|
|
84
89
|
}
|
|
85
90
|
|
|
86
91
|
&-label.rs-input-group-addon {
|
|
@@ -278,11 +283,8 @@
|
|
|
278
283
|
});
|
|
279
284
|
}
|
|
280
285
|
|
|
281
|
-
.rs-picker[data-variant='default']
|
|
282
|
-
|
|
283
|
-
&:hover,
|
|
284
|
-
&:focus,
|
|
285
|
-
&-active {
|
|
286
|
+
.rs-picker[data-variant='default'] {
|
|
287
|
+
&:focus {
|
|
286
288
|
border-color: var(--rs-input-focus-border);
|
|
287
289
|
}
|
|
288
290
|
}
|
|
@@ -351,13 +353,14 @@
|
|
|
351
353
|
|
|
352
354
|
// Picker clear button
|
|
353
355
|
.rs-picker-clean {
|
|
354
|
-
.combobox-indicator-icon();
|
|
355
|
-
|
|
356
|
-
background: inherit;
|
|
357
356
|
color: var(--rs-text-secondary);
|
|
358
357
|
transition: 0.2s color linear;
|
|
359
358
|
cursor: pointer;
|
|
360
359
|
|
|
360
|
+
&:hover {
|
|
361
|
+
color: var(--rs-text-primary);
|
|
362
|
+
}
|
|
363
|
+
|
|
361
364
|
&.rs-btn-close {
|
|
362
365
|
padding: 0;
|
|
363
366
|
}
|
|
@@ -93,7 +93,9 @@
|
|
|
93
93
|
.picker-default-toggle() {
|
|
94
94
|
[data-variant='default'] & {
|
|
95
95
|
color: var(--rs-text-primary);
|
|
96
|
-
border: var(--rs-picker-toggle-border-width)
|
|
96
|
+
border-width: var(--rs-picker-toggle-border-width);
|
|
97
|
+
border-color: var(--rs-picker-toggle-border-color);
|
|
98
|
+
border-style: solid;
|
|
97
99
|
}
|
|
98
100
|
|
|
99
101
|
[data-disabled='true'] & {
|
|
@@ -101,7 +103,6 @@
|
|
|
101
103
|
}
|
|
102
104
|
|
|
103
105
|
[data-variant='default']:not([data-disabled='true']) {
|
|
104
|
-
&:hover,
|
|
105
106
|
&:focus {
|
|
106
107
|
border-color: var(--rs-input-focus-border);
|
|
107
108
|
}
|
|
@@ -118,7 +119,6 @@
|
|
|
118
119
|
.rs-picker[data-variant='subtle'][data-disabled='true'] & {
|
|
119
120
|
cursor: @cursor-disabled;
|
|
120
121
|
|
|
121
|
-
&:hover,
|
|
122
122
|
&:focus,
|
|
123
123
|
&:active {
|
|
124
124
|
background: none;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rsuite",
|
|
3
|
-
"version": "6.0.0-canary-
|
|
3
|
+
"version": "6.0.0-canary-20250507",
|
|
4
4
|
"description": "A suite of react components",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"react-use-set": "^1.0.0",
|
|
39
39
|
"react-window": "^1.8.11",
|
|
40
40
|
"rsuite-table": "^5.19.1",
|
|
41
|
-
"schema-typed": "^2.4.
|
|
41
|
+
"schema-typed": "^2.4.2"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"react": ">=18",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"size-limit": [
|
|
61
61
|
{
|
|
62
62
|
"path": "lib/dist/rsuite.min.js",
|
|
63
|
-
"limit": "
|
|
63
|
+
"limit": "300 kB",
|
|
64
64
|
"gzip": true
|
|
65
65
|
}
|
|
66
66
|
]
|
|
@@ -76,10 +76,10 @@
|
|
|
76
76
|
--rs-bg-active: var(--rs-primary-700);
|
|
77
77
|
--rs-bg-backdrop: rgb(from var(--rs-gray-900) r g b / 80%);
|
|
78
78
|
--rs-state-hover-bg: var(--rs-gray-600);
|
|
79
|
-
--rs-color-focus-ring: 0 0 0
|
|
80
|
-
--rs-state-focus-shadow: 0 0 0
|
|
81
|
-
--rs-state-focus-outline:
|
|
82
|
-
--rs-state-error-outline:
|
|
79
|
+
--rs-color-focus-ring: 0 0 0 2px rgb(from var(--rs-gray-500) r g b / 25%);
|
|
80
|
+
--rs-state-focus-shadow: 0 0 0 2px rgb(from var(--rs-gray-500) r g b / 25%);
|
|
81
|
+
--rs-state-focus-outline: 2px solid rgb(from var(--rs-gray-500) r g b / 25%);
|
|
82
|
+
--rs-state-error-outline: 2px solid rgb(from var(--rs-color-red) r g b / 25%);
|
|
83
83
|
|
|
84
84
|
// Kbd
|
|
85
85
|
--rs-kbd-bg: var(--rs-gray-600);
|
|
@@ -336,9 +336,6 @@
|
|
|
336
336
|
--rs-badge-text: var(--rs-gray-0);
|
|
337
337
|
--rs-badge-border: var(--rs-gray-900);
|
|
338
338
|
|
|
339
|
-
// Close Button
|
|
340
|
-
--rs-close-button-hover-color: var(--rs-color-red);
|
|
341
|
-
|
|
342
339
|
// Tag
|
|
343
340
|
--rs-tag-bg: var(--rs-gray-600);
|
|
344
341
|
|
|
@@ -407,9 +404,9 @@
|
|
|
407
404
|
@supports not (color: rgb(from white r g b)) {
|
|
408
405
|
// Misc
|
|
409
406
|
--rs-bg-backdrop: fade(@B900-dark, 80%);
|
|
410
|
-
--rs-color-focus-ring: 0 0 0
|
|
411
|
-
--rs-state-focus-shadow: 0 0 0
|
|
412
|
-
--rs-state-focus-outline:
|
|
407
|
+
--rs-color-focus-ring: 0 0 0 2px fade(@H500-dark, 25%);
|
|
408
|
+
--rs-state-focus-shadow: 0 0 0 2px fade(@H500-dark, 25%);
|
|
409
|
+
--rs-state-focus-outline: 2px solid fade(@H500-dark, 25%);
|
|
413
410
|
|
|
414
411
|
// Loader
|
|
415
412
|
--rs-loader-ring: fade(@B050-dark, 30);
|
|
@@ -78,10 +78,10 @@
|
|
|
78
78
|
--rs-bg-backdrop: rgb(from var(--rs-gray-900) r g b / 80%);
|
|
79
79
|
--rs-state-hover-bg: var(--rs-gray-600);
|
|
80
80
|
--rs-color-focus-ring: var(--rs-gray-0);
|
|
81
|
-
--rs-state-focus-shadow: 0 0 0
|
|
81
|
+
--rs-state-focus-shadow: 0 0 0 2px var(--rs-gray-900), 0 0 0 5px var(--rs-gray-0);
|
|
82
82
|
--rs-state-focus-shadow-slim: 0 0 0 2px var(--rs-gray-0);
|
|
83
|
-
--rs-state-focus-outline:
|
|
84
|
-
--rs-state-error-outline:
|
|
83
|
+
--rs-state-focus-outline: 2px solid rgb(from var(--rs-primary-500) r g b / 25%);
|
|
84
|
+
--rs-state-error-outline: 2px solid rgb(from var(--rs-color-red) r g b / 25%);
|
|
85
85
|
|
|
86
86
|
// Kbd
|
|
87
87
|
--rs-kbd-bg: var(--rs-gray-600);
|
|
@@ -342,9 +342,6 @@
|
|
|
342
342
|
--rs-badge-text: var(--rs-gray-0);
|
|
343
343
|
--rs-badge-border: var(--rs-gray-900);
|
|
344
344
|
|
|
345
|
-
// Close Button
|
|
346
|
-
--rs-close-button-hover-color: var(--rs-color-red);
|
|
347
|
-
|
|
348
345
|
// Tag
|
|
349
346
|
--rs-tag-bg: var(--rs-gray-600);
|
|
350
347
|
|
|
@@ -85,9 +85,9 @@
|
|
|
85
85
|
--rs-bg-backdrop: rgb(from var(--rs-gray-900) r g b / 30%);
|
|
86
86
|
--rs-state-hover-bg: var(--rs-primary-50);
|
|
87
87
|
--rs-color-focus-ring: rgb(from var(--rs-primary-500) r g b / 25%);
|
|
88
|
-
--rs-state-focus-shadow: 0 0 0
|
|
89
|
-
--rs-state-focus-outline:
|
|
90
|
-
--rs-state-error-outline:
|
|
88
|
+
--rs-state-focus-shadow: 0 0 0 2px rgb(from var(--rs-primary-500) r g b / 25%);
|
|
89
|
+
--rs-state-focus-outline: 2px solid rgb(from var(--rs-primary-500) r g b / 25%);
|
|
90
|
+
--rs-state-error-outline: 2px solid rgb(from var(--rs-color-red) r g b / 25%);
|
|
91
91
|
|
|
92
92
|
// Kbd
|
|
93
93
|
--rs-kbd-bg: var(--rs-gray-50);
|
|
@@ -351,9 +351,6 @@
|
|
|
351
351
|
--rs-badge-text: var(--rs-gray-0);
|
|
352
352
|
--rs-badge-border: var(--rs-gray-0);
|
|
353
353
|
|
|
354
|
-
// Close Button
|
|
355
|
-
--rs-close-button-hover-color: var(--rs-color-red);
|
|
356
|
-
|
|
357
354
|
// Tag
|
|
358
355
|
--rs-tag-bg: var(--rs-gray-50);
|
|
359
356
|
|
|
@@ -425,8 +422,8 @@
|
|
|
425
422
|
// Misc
|
|
426
423
|
--rs-bg-backdrop: fade(@B900, 30%);
|
|
427
424
|
--rs-color-focus-ring: fade(@H500, 25%);
|
|
428
|
-
--rs-state-focus-shadow: 0 0 0
|
|
429
|
-
--rs-state-focus-outline:
|
|
425
|
+
--rs-state-focus-shadow: 0 0 0 2px fade(@H500, 25%);
|
|
426
|
+
--rs-state-focus-outline: 2px solid fade(@H500, 25%);
|
|
430
427
|
|
|
431
428
|
// Loader
|
|
432
429
|
--rs-loader-ring: fade(@B050, 80);
|
package/styles/index.less
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
@import '../Image/styles/index';
|
|
44
44
|
@import '../Input/styles/index';
|
|
45
45
|
@import '../InputGroup/styles/index';
|
|
46
|
-
@import '../
|
|
46
|
+
@import '../NumberInput/styles/index';
|
|
47
47
|
@import '../InputPicker/styles/index';
|
|
48
48
|
@import '../Textarea/styles/index';
|
|
49
49
|
@import '../InlineEdit/styles/index';
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
@import '../Placeholder/styles/index';
|
|
67
67
|
@import '../Popover/styles/index';
|
|
68
68
|
@import '../Progress/styles/index';
|
|
69
|
+
@import '../PinInput/styles/index';
|
|
69
70
|
@import '../Radio/styles/index';
|
|
70
71
|
@import '../RadioGroup/styles/index';
|
|
71
72
|
@import '../RadioTile/styles/index';
|
|
@@ -102,3 +103,4 @@
|
|
|
102
103
|
@import '../internals/Picker/styles/index';
|
|
103
104
|
@import '../internals/SearchBox/styles/index';
|
|
104
105
|
@import '../internals/Box/styles/index';
|
|
106
|
+
@import '../internals/Burger/styles/index';
|
|
@@ -124,11 +124,8 @@
|
|
|
124
124
|
|
|
125
125
|
// Useful when appending the ring into an existing :focus rule
|
|
126
126
|
.focus-ring() {
|
|
127
|
-
outline:
|
|
128
|
-
|
|
129
|
-
.high-contrast-mode({
|
|
130
|
-
outline-offset: 2px;
|
|
131
|
-
});
|
|
127
|
+
outline: 2px solid var(--rs-color-focus-ring);
|
|
128
|
+
outline-offset: -1px;
|
|
132
129
|
}
|
|
133
130
|
|
|
134
131
|
.focus-ring(slim) {
|