@broxus/react-uikit 0.22.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/accordion.css +135 -0
- package/dist/assets/alert.css +120 -0
- package/dist/assets/align.css +105 -0
- package/dist/assets/animation.css +387 -0
- package/dist/assets/article.css +51 -0
- package/dist/assets/background.css +209 -0
- package/dist/assets/badge.css +46 -0
- package/dist/assets/base.css +571 -0
- package/dist/assets/breadcrumb.css +69 -0
- package/dist/assets/button.css +491 -0
- package/dist/assets/card.css +255 -0
- package/dist/assets/checkbox.css +240 -0
- package/dist/assets/close.css +24 -0
- package/dist/assets/column.css +145 -0
- package/dist/assets/comment.css +87 -0
- package/dist/assets/container.css +171 -0
- package/dist/assets/control.css +262 -0
- package/dist/assets/cover.css +55 -0
- package/dist/assets/datepicker.css +662 -0
- package/dist/assets/description-list.css +39 -0
- package/dist/assets/divider.css +98 -0
- package/dist/assets/dotnav.css +100 -0
- package/dist/assets/drawer.css +562 -0
- package/dist/assets/drop.css +47 -0
- package/dist/assets/dropdown.css +118 -0
- package/dist/assets/flex.css +392 -0
- package/dist/assets/form.css +486 -0
- package/dist/assets/grid.css +545 -0
- package/dist/assets/heading.css +175 -0
- package/dist/assets/height.css +63 -0
- package/dist/assets/icon.css +188 -0
- package/dist/assets/iconnav.css +83 -0
- package/dist/assets/input-number.css +89 -0
- package/dist/assets/input-password.css +24 -0
- package/dist/assets/inverse.css +746 -0
- package/dist/assets/label.css +70 -0
- package/dist/assets/leader.css +44 -0
- package/dist/assets/link.css +79 -0
- package/dist/assets/list.css +211 -0
- package/dist/assets/margin.css +362 -0
- package/dist/assets/marker.css +28 -0
- package/dist/assets/mixin.css +1 -0
- package/dist/assets/mixins.css +1 -0
- package/dist/assets/modal.css +227 -0
- package/dist/assets/motion.css +492 -0
- package/dist/assets/nav.css +406 -0
- package/dist/assets/navbar.css +468 -0
- package/dist/assets/overlay.css +38 -0
- package/dist/assets/padding.css +70 -0
- package/dist/assets/pagination.css +78 -0
- package/dist/assets/placeholder.css +27 -0
- package/dist/assets/position.css +216 -0
- package/dist/assets/print.css +43 -0
- package/dist/assets/progress.css +79 -0
- package/dist/assets/radio.css +196 -0
- package/dist/assets/search.css +258 -0
- package/dist/assets/section.css +138 -0
- package/dist/assets/segmented.css +193 -0
- package/dist/assets/select.css +515 -0
- package/dist/assets/slider.css +392 -0
- package/dist/assets/spinner.css +51 -0
- package/dist/assets/sticky.css +31 -0
- package/dist/assets/subnav.css +171 -0
- package/dist/assets/svg.css +23 -0
- package/dist/assets/switch.css +167 -0
- package/dist/assets/table.css +224 -0
- package/dist/assets/tabs.css +631 -0
- package/dist/assets/text.css +385 -0
- package/dist/assets/textarea.css +54 -0
- package/dist/assets/thumbnav.css +67 -0
- package/dist/assets/tile.css +138 -0
- package/dist/assets/tooltip.css +47 -0
- package/dist/assets/totop.css +32 -0
- package/dist/assets/transition.css +154 -0
- package/dist/assets/uikit.min.css +1 -0
- package/dist/assets/utility.css +494 -0
- package/dist/assets/variables.css +1 -0
- package/dist/assets/vars.css +89 -0
- package/dist/assets/visibility.css +140 -0
- package/dist/assets/width.css +538 -0
- package/dist/cjs/components/Accordion/Accordion.d.ts +3 -2
- package/dist/cjs/components/Accordion/Item.d.ts +1 -5
- package/dist/cjs/components/Accordion/Item.js +0 -4
- package/dist/cjs/components/Accordion/index.d.ts +1 -1
- package/dist/cjs/components/Alert/index.js +1 -3
- package/dist/cjs/components/Align/Align.d.ts +1 -1
- package/dist/cjs/components/Align/Center.d.ts +1 -1
- package/dist/cjs/components/Align/Left.d.ts +1 -1
- package/dist/cjs/components/Align/Right.d.ts +1 -1
- package/dist/cjs/components/Article/Article.d.ts +1 -1
- package/dist/cjs/components/Article/Meta.d.ts +1 -1
- package/dist/cjs/components/Article/Title.d.ts +1 -1
- package/dist/cjs/components/Badge/index.d.ts +1 -1
- package/dist/cjs/components/Breadcrumb/Breadcrumb.d.ts +1 -1
- package/dist/cjs/components/Breadcrumb/Item.d.ts +1 -1
- package/dist/cjs/components/Button/Group.d.ts +1 -1
- package/dist/cjs/components/Card/Badge.d.ts +1 -1
- package/dist/cjs/components/Card/Body.d.ts +1 -1
- package/dist/cjs/components/Card/Card.d.ts +1 -1
- package/dist/cjs/components/Card/Footer.d.ts +1 -1
- package/dist/cjs/components/Card/Header.d.ts +1 -1
- package/dist/cjs/components/Card/Media.d.ts +1 -1
- package/dist/cjs/components/Card/Title.d.ts +1 -1
- package/dist/cjs/components/Close/index.d.ts +1 -1
- package/dist/cjs/components/Component/index.d.ts +1 -1
- package/dist/cjs/components/ConfigProvider/index.d.ts +55 -40
- package/dist/cjs/components/Container/index.d.ts +1 -1
- package/dist/cjs/components/Control/Checkbox/Checkbox.d.ts +2 -2
- package/dist/cjs/components/Control/Checkbox/Group.d.ts +2 -2
- package/dist/cjs/components/Control/Checkbox/index.d.ts +1 -1
- package/dist/cjs/components/Control/Input/Input.js +2 -2
- package/dist/cjs/components/Control/Input/Number/index.js +4 -4
- package/dist/cjs/components/Control/Input/useInput.js +2 -1
- package/dist/cjs/components/Control/Radio/Group.js +2 -4
- package/dist/cjs/components/Control/Radio/index.d.ts +1 -1
- package/dist/cjs/components/Control/Select/Select.d.ts +18 -0
- package/dist/cjs/components/Control/Select/Select.js +248 -0
- package/dist/cjs/components/Control/Select/index.d.ts +4 -21
- package/dist/cjs/components/Control/Select/index.js +2 -246
- package/dist/cjs/components/Control/Select/placements.d.ts +1 -1
- package/dist/cjs/components/Control/TextArea/index.d.ts +3 -3
- package/dist/cjs/components/Control/TextArea/index.js +6 -5
- package/dist/cjs/components/Cover/index.d.ts +1 -1
- package/dist/cjs/components/DatePicker/PickerButton.d.ts +1 -1
- package/dist/cjs/components/DatePicker/generatePurePicker.js +1 -3
- package/dist/cjs/components/DescriptionList/Description.d.ts +1 -1
- package/dist/cjs/components/DescriptionList/DescriptionList.d.ts +1 -1
- package/dist/cjs/components/DescriptionList/Term.d.ts +1 -1
- package/dist/cjs/components/Divider/index.d.ts +1 -1
- package/dist/cjs/components/Dotnav/Dotnav.d.ts +1 -1
- package/dist/cjs/components/Dotnav/Item.d.ts +1 -1
- package/dist/cjs/components/Drawer/index.d.ts +1 -1
- package/dist/cjs/components/Drop/index.d.ts +1 -2
- package/dist/cjs/components/Drop/index.js +2 -1
- package/dist/cjs/components/Flex/Flex.d.ts +1 -1
- package/dist/cjs/components/Flex/Item.d.ts +1 -1
- package/dist/cjs/components/Flex/index.d.ts +1 -1
- package/dist/cjs/components/Form/Controls.d.ts +1 -1
- package/dist/cjs/components/Form/ControlsText.d.ts +1 -1
- package/dist/cjs/components/Form/Fieldset.d.ts +1 -1
- package/dist/cjs/components/Form/Form.d.ts +1 -1
- package/dist/cjs/components/Form/Label.d.ts +1 -1
- package/dist/cjs/components/Form/Legend.d.ts +1 -1
- package/dist/cjs/components/Grid/index.d.ts +1 -1
- package/dist/cjs/components/Heading/index.d.ts +1 -1
- package/dist/cjs/components/Icon/Button.d.ts +1 -1
- package/dist/cjs/components/Icon/Icon.d.ts +1 -1
- package/dist/cjs/components/Icon/Link.d.ts +1 -1
- package/dist/cjs/components/Icon/index.d.ts +1 -1
- package/dist/cjs/components/Iconnav/Iconnav.d.ts +1 -1
- package/dist/cjs/components/Iconnav/Item.d.ts +1 -1
- package/dist/cjs/components/Inverse/index.d.ts +2 -2
- package/dist/cjs/components/Label/index.d.ts +1 -1
- package/dist/cjs/components/List/Item.d.ts +1 -1
- package/dist/cjs/components/List/List.d.ts +1 -1
- package/dist/cjs/components/Modal/index.d.ts +1 -1
- package/dist/cjs/components/Nav/Divider.d.ts +1 -1
- package/dist/cjs/components/Nav/Divider.js +4 -8
- package/dist/cjs/components/Nav/Group/InternalNavGroup.d.ts +10 -0
- package/dist/cjs/components/Nav/Group/{InternalNavItemGroup.js → InternalNavGroup.js} +9 -9
- package/dist/cjs/components/Nav/Group/index.d.ts +4 -5
- package/dist/cjs/components/Nav/Group/index.js +12 -15
- package/dist/cjs/components/Nav/Header.d.ts +1 -3
- package/dist/cjs/components/Nav/Header.js +4 -4
- package/dist/cjs/components/Nav/Icon/index.d.ts +7 -0
- package/dist/cjs/components/Nav/{context/PrivateContext.js → Icon/index.js} +13 -5
- package/dist/cjs/components/Nav/Item/InternalNavItem.d.ts +1 -5
- package/dist/cjs/components/Nav/Item/InternalNavItem.js +26 -47
- package/dist/cjs/components/Nav/Item/LegacyNavItem.js +12 -6
- package/dist/cjs/components/Nav/Item/index.d.ts +1 -4
- package/dist/cjs/components/Nav/Item/index.js +9 -12
- package/dist/cjs/components/Nav/Nav.d.ts +8 -21
- package/dist/cjs/components/Nav/Nav.js +84 -89
- package/dist/cjs/components/Nav/Sub/InlineSubNavList.d.ts +1 -1
- package/dist/cjs/components/Nav/Sub/InlineSubNavList.js +6 -6
- package/dist/cjs/components/Nav/Sub/InternalSubNav.d.ts +15 -0
- package/dist/cjs/components/Nav/Sub/InternalSubNav.js +196 -0
- package/dist/cjs/components/Nav/Sub/PopupTrigger.d.ts +2 -1
- package/dist/cjs/components/Nav/Sub/PopupTrigger.js +10 -11
- package/dist/cjs/components/Nav/Sub/SubNavList.d.ts +1 -2
- package/dist/cjs/components/Nav/Sub/SubNavList.js +5 -5
- package/dist/cjs/components/Nav/Sub/index.d.ts +4 -15
- package/dist/cjs/components/Nav/Sub/index.js +11 -174
- package/dist/cjs/components/Nav/context/NavContext.d.ts +7 -3
- package/dist/cjs/components/Nav/context/NavContext.js +6 -6
- package/dist/cjs/components/Nav/context/index.d.ts +3 -0
- package/dist/cjs/components/Nav/context/index.js +19 -0
- package/dist/cjs/components/Nav/hooks/index.d.ts +5 -0
- package/dist/cjs/components/Nav/hooks/index.js +21 -0
- package/dist/cjs/components/Nav/hooks/useAccessibility.d.ts +11 -0
- package/dist/cjs/components/Nav/hooks/useAccessibility.js +97 -99
- package/dist/cjs/components/Nav/hooks/useActive.js +5 -13
- package/dist/cjs/components/Nav/hooks/useDirectionStyle.js +2 -2
- package/dist/cjs/components/Nav/hooks/useKeyRecords.d.ts +3 -3
- package/dist/cjs/components/Nav/hooks/useKeyRecords.js +5 -8
- package/dist/cjs/components/Nav/types.d.ts +14 -1
- package/dist/cjs/components/Nav/utils/alignUtil.d.ts +1 -1
- package/dist/cjs/components/Nav/utils/alignUtil.js +1 -4
- package/dist/cjs/components/Nav/utils/index.d.ts +5 -0
- package/dist/cjs/components/Nav/utils/index.js +21 -0
- package/dist/cjs/components/Nav/utils/nodeUtil.d.ts +2 -2
- package/dist/cjs/components/Nav/utils/nodeUtil.js +38 -34
- package/dist/cjs/components/Nav/utils/warnUtil.js +2 -5
- package/dist/cjs/components/Navbar/Center.d.ts +1 -1
- package/dist/cjs/components/Navbar/Container.d.ts +1 -1
- package/dist/cjs/components/Navbar/Item.d.ts +1 -1
- package/dist/cjs/components/Navbar/Left.d.ts +1 -1
- package/dist/cjs/components/Navbar/Navbar.d.ts +1 -1
- package/dist/cjs/components/Navbar/Right.d.ts +1 -1
- package/dist/cjs/components/Navbar/Toggle.d.ts +1 -1
- package/dist/cjs/components/Overlay/index.d.ts +1 -1
- package/dist/cjs/components/Progress/index.d.ts +1 -1
- package/dist/cjs/components/Section/index.d.ts +1 -1
- package/dist/cjs/components/Segmented/index.d.ts +1 -1
- package/dist/cjs/components/Slider/index.d.ts +1 -2
- package/dist/cjs/components/Spinner/index.d.ts +1 -1
- package/dist/cjs/components/Subnav/Item.d.ts +1 -1
- package/dist/cjs/components/Subnav/Subnav.d.ts +1 -1
- package/dist/cjs/components/Tabs/index.d.ts +6 -4
- package/dist/cjs/components/Tabs/index.js +8 -7
- package/dist/cjs/components/Text/index.d.ts +1 -1
- package/dist/cjs/components/Tile/index.d.ts +1 -1
- package/dist/cjs/components/Width/Width.d.ts +1 -1
- package/dist/cjs/constants.d.ts +12 -0
- package/dist/cjs/constants.js +16 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/utils/motion.d.ts +1 -1
- package/dist/esm/components/Accordion/Accordion.d.ts +3 -2
- package/dist/esm/components/Accordion/Item.d.ts +1 -5
- package/dist/esm/components/Accordion/Item.js +0 -4
- package/dist/esm/components/Accordion/index.d.ts +1 -1
- package/dist/esm/components/Alert/index.js +1 -3
- package/dist/esm/components/Align/Align.d.ts +1 -1
- package/dist/esm/components/Align/Center.d.ts +1 -1
- package/dist/esm/components/Align/Left.d.ts +1 -1
- package/dist/esm/components/Align/Right.d.ts +1 -1
- package/dist/esm/components/Article/Article.d.ts +1 -1
- package/dist/esm/components/Article/Meta.d.ts +1 -1
- package/dist/esm/components/Article/Title.d.ts +1 -1
- package/dist/esm/components/Badge/index.d.ts +1 -1
- package/dist/esm/components/Breadcrumb/Breadcrumb.d.ts +1 -1
- package/dist/esm/components/Breadcrumb/Item.d.ts +1 -1
- package/dist/esm/components/Button/Group.d.ts +1 -1
- package/dist/esm/components/Card/Badge.d.ts +1 -1
- package/dist/esm/components/Card/Body.d.ts +1 -1
- package/dist/esm/components/Card/Card.d.ts +1 -1
- package/dist/esm/components/Card/Footer.d.ts +1 -1
- package/dist/esm/components/Card/Header.d.ts +1 -1
- package/dist/esm/components/Card/Media.d.ts +1 -1
- package/dist/esm/components/Card/Title.d.ts +1 -1
- package/dist/esm/components/Close/index.d.ts +1 -1
- package/dist/esm/components/Component/index.d.ts +1 -1
- package/dist/esm/components/ConfigProvider/index.d.ts +55 -40
- package/dist/esm/components/Container/index.d.ts +1 -1
- package/dist/esm/components/Control/Checkbox/Checkbox.d.ts +2 -2
- package/dist/esm/components/Control/Checkbox/Group.d.ts +2 -2
- package/dist/esm/components/Control/Checkbox/index.d.ts +1 -1
- package/dist/esm/components/Control/Input/Input.js +1 -1
- package/dist/esm/components/Control/Input/Number/index.js +3 -3
- package/dist/esm/components/Control/Input/useInput.js +2 -1
- package/dist/esm/components/Control/Radio/Group.js +2 -4
- package/dist/esm/components/Control/Radio/index.d.ts +1 -1
- package/dist/esm/components/Control/Select/Select.d.ts +18 -0
- package/dist/esm/components/Control/Select/Select.js +209 -0
- package/dist/esm/components/Control/Select/index.d.ts +4 -21
- package/dist/esm/components/Control/Select/index.js +1 -210
- package/dist/esm/components/Control/Select/placements.d.ts +1 -1
- package/dist/esm/components/Control/TextArea/index.d.ts +3 -3
- package/dist/esm/components/Control/TextArea/index.js +5 -4
- package/dist/esm/components/Cover/index.d.ts +1 -1
- package/dist/esm/components/DatePicker/PickerButton.d.ts +1 -1
- package/dist/esm/components/DatePicker/generatePurePicker.js +1 -3
- package/dist/esm/components/DescriptionList/Description.d.ts +1 -1
- package/dist/esm/components/DescriptionList/DescriptionList.d.ts +1 -1
- package/dist/esm/components/DescriptionList/Term.d.ts +1 -1
- package/dist/esm/components/Divider/index.d.ts +1 -1
- package/dist/esm/components/Dotnav/Dotnav.d.ts +1 -1
- package/dist/esm/components/Dotnav/Item.d.ts +1 -1
- package/dist/esm/components/Drawer/index.d.ts +1 -1
- package/dist/esm/components/Drop/index.d.ts +1 -2
- package/dist/esm/components/Drop/index.js +2 -1
- package/dist/esm/components/Flex/Flex.d.ts +1 -1
- package/dist/esm/components/Flex/Item.d.ts +1 -1
- package/dist/esm/components/Flex/index.d.ts +1 -1
- package/dist/esm/components/Form/Controls.d.ts +1 -1
- package/dist/esm/components/Form/ControlsText.d.ts +1 -1
- package/dist/esm/components/Form/Fieldset.d.ts +1 -1
- package/dist/esm/components/Form/Form.d.ts +1 -1
- package/dist/esm/components/Form/Label.d.ts +1 -1
- package/dist/esm/components/Form/Legend.d.ts +1 -1
- package/dist/esm/components/Grid/index.d.ts +1 -1
- package/dist/esm/components/Heading/index.d.ts +1 -1
- package/dist/esm/components/Icon/Button.d.ts +1 -1
- package/dist/esm/components/Icon/Icon.d.ts +1 -1
- package/dist/esm/components/Icon/Link.d.ts +1 -1
- package/dist/esm/components/Icon/index.d.ts +1 -1
- package/dist/esm/components/Iconnav/Iconnav.d.ts +1 -1
- package/dist/esm/components/Iconnav/Item.d.ts +1 -1
- package/dist/esm/components/Inverse/index.d.ts +2 -2
- package/dist/esm/components/Label/index.d.ts +1 -1
- package/dist/esm/components/List/Item.d.ts +1 -1
- package/dist/esm/components/List/List.d.ts +1 -1
- package/dist/esm/components/Modal/index.d.ts +1 -1
- package/dist/esm/components/Nav/Divider.d.ts +1 -1
- package/dist/esm/components/Nav/Divider.js +2 -6
- package/dist/esm/components/Nav/Group/InternalNavGroup.d.ts +10 -0
- package/dist/esm/components/Nav/Group/InternalNavGroup.js +16 -0
- package/dist/esm/components/Nav/Group/index.d.ts +4 -5
- package/dist/esm/components/Nav/Group/index.js +7 -7
- package/dist/esm/components/Nav/Header.d.ts +1 -3
- package/dist/esm/components/Nav/Header.js +3 -3
- package/dist/esm/components/Nav/Icon/index.d.ts +7 -0
- package/dist/esm/components/Nav/Icon/index.js +14 -0
- package/dist/esm/components/Nav/Item/InternalNavItem.d.ts +1 -5
- package/dist/esm/components/Nav/Item/InternalNavItem.js +16 -37
- package/dist/esm/components/Nav/Item/LegacyNavItem.js +11 -5
- package/dist/esm/components/Nav/Item/index.d.ts +1 -4
- package/dist/esm/components/Nav/Item/index.js +5 -8
- package/dist/esm/components/Nav/Nav.d.ts +8 -21
- package/dist/esm/components/Nav/Nav.js +70 -75
- package/dist/esm/components/Nav/Sub/InlineSubNavList.d.ts +1 -1
- package/dist/esm/components/Nav/Sub/InlineSubNavList.js +3 -3
- package/dist/esm/components/Nav/Sub/InternalSubNav.d.ts +15 -0
- package/dist/esm/components/Nav/Sub/InternalSubNav.js +157 -0
- package/dist/esm/components/Nav/Sub/PopupTrigger.d.ts +2 -1
- package/dist/esm/components/Nav/Sub/PopupTrigger.js +9 -10
- package/dist/esm/components/Nav/Sub/SubNavList.d.ts +1 -2
- package/dist/esm/components/Nav/Sub/SubNavList.js +4 -4
- package/dist/esm/components/Nav/Sub/index.d.ts +4 -15
- package/dist/esm/components/Nav/Sub/index.js +7 -167
- package/dist/esm/components/Nav/context/NavContext.d.ts +7 -3
- package/dist/esm/components/Nav/context/NavContext.js +6 -6
- package/dist/esm/components/Nav/context/index.d.ts +3 -0
- package/dist/esm/components/Nav/context/index.js +3 -0
- package/dist/esm/components/Nav/hooks/index.d.ts +5 -0
- package/dist/esm/components/Nav/hooks/index.js +5 -0
- package/dist/esm/components/Nav/hooks/useAccessibility.d.ts +11 -0
- package/dist/esm/components/Nav/hooks/useAccessibility.js +96 -100
- package/dist/esm/components/Nav/hooks/useActive.js +5 -13
- package/dist/esm/components/Nav/hooks/useDirectionStyle.js +1 -1
- package/dist/esm/components/Nav/hooks/useKeyRecords.d.ts +3 -3
- package/dist/esm/components/Nav/hooks/useKeyRecords.js +3 -3
- package/dist/esm/components/Nav/types.d.ts +14 -1
- package/dist/esm/components/Nav/utils/alignUtil.d.ts +1 -1
- package/dist/esm/components/Nav/utils/alignUtil.js +1 -4
- package/dist/esm/components/Nav/utils/index.d.ts +5 -0
- package/dist/esm/components/Nav/utils/index.js +5 -0
- package/dist/esm/components/Nav/utils/nodeUtil.d.ts +2 -2
- package/dist/esm/components/Nav/utils/nodeUtil.js +38 -31
- package/dist/esm/components/Nav/utils/warnUtil.js +1 -1
- package/dist/esm/components/Navbar/Center.d.ts +1 -1
- package/dist/esm/components/Navbar/Container.d.ts +1 -1
- package/dist/esm/components/Navbar/Item.d.ts +1 -1
- package/dist/esm/components/Navbar/Left.d.ts +1 -1
- package/dist/esm/components/Navbar/Navbar.d.ts +1 -1
- package/dist/esm/components/Navbar/Right.d.ts +1 -1
- package/dist/esm/components/Navbar/Toggle.d.ts +1 -1
- package/dist/esm/components/Overlay/index.d.ts +1 -1
- package/dist/esm/components/Progress/index.d.ts +1 -1
- package/dist/esm/components/Section/index.d.ts +1 -1
- package/dist/esm/components/Segmented/index.d.ts +1 -1
- package/dist/esm/components/Slider/index.d.ts +1 -2
- package/dist/esm/components/Spinner/index.d.ts +1 -1
- package/dist/esm/components/Subnav/Item.d.ts +1 -1
- package/dist/esm/components/Subnav/Subnav.d.ts +1 -1
- package/dist/esm/components/Tabs/index.d.ts +6 -4
- package/dist/esm/components/Tabs/index.js +8 -7
- package/dist/esm/components/Text/index.d.ts +1 -1
- package/dist/esm/components/Tile/index.d.ts +1 -1
- package/dist/esm/components/Width/Width.d.ts +1 -1
- package/dist/esm/constants.d.ts +12 -0
- package/dist/esm/constants.js +13 -0
- package/dist/esm/utils/motion.d.ts +1 -1
- package/package.json +23 -20
- package/styles/accordion.scss +56 -30
- package/styles/alert.scss +6 -5
- package/styles/animation.scss +64 -213
- package/styles/background.scss +34 -131
- package/styles/base.scss +37 -65
- package/styles/breadcrumb.scss +6 -9
- package/styles/button.scss +22 -62
- package/styles/control.scss +1 -0
- package/styles/datepicker.scss +3 -2
- package/styles/input-number.scss +11 -21
- package/styles/leader.scss +2 -2
- package/styles/mixins.scss +10 -19
- package/styles/nav.scss +7 -28
- package/styles/navbar.scss +185 -160
- package/styles/search.scss +16 -46
- package/styles/select.scss +9 -4
- package/styles/subnav.scss +1 -1
- package/styles/switch.scss +12 -0
- package/styles/tabs.scss +65 -37
- package/styles/text.scss +65 -65
- package/styles/thumbnav.scss +4 -4
- package/styles/variables.scss +36 -19
- package/dist/cjs/components/Nav/Group/InternalNavItemGroup.d.ts +0 -14
- package/dist/cjs/components/Nav/context/PrivateContext.d.ts +0 -7
- package/dist/cjs/components/Nav/hooks/useUUID.d.ts +0 -1
- package/dist/cjs/components/Nav/hooks/useUUID.js +0 -56
- package/dist/esm/components/Nav/Group/InternalNavItemGroup.d.ts +0 -14
- package/dist/esm/components/Nav/Group/InternalNavItemGroup.js +0 -16
- package/dist/esm/components/Nav/context/PrivateContext.d.ts +0 -7
- package/dist/esm/components/Nav/context/PrivateContext.js +0 -6
- package/dist/esm/components/Nav/hooks/useUUID.d.ts +0 -1
- package/dist/esm/components/Nav/hooks/useUUID.js +0 -17
|
@@ -5,7 +5,7 @@ export interface CardFooterOwnProps {
|
|
|
5
5
|
}
|
|
6
6
|
export type CardFooterProps<E extends React.ElementType = React.ElementType> = CardFooterOwnProps & PolymorphicProps<E> & PolymorphicProps<E, CardFooterOwnProps>;
|
|
7
7
|
declare const defaultElement = "footer";
|
|
8
|
-
export declare function Footer<E extends React.ElementType = typeof defaultElement>({ className, component, ...props }: React.PropsWithChildren<CardFooterProps<E>>): React.
|
|
8
|
+
export declare function Footer<E extends React.ElementType = typeof defaultElement>({ className, component, ...props }: React.PropsWithChildren<CardFooterProps<E>>): React.ReactElement;
|
|
9
9
|
export declare namespace Footer {
|
|
10
10
|
var displayName: string;
|
|
11
11
|
}
|
|
@@ -5,7 +5,7 @@ export interface CardHeaderOwnProps {
|
|
|
5
5
|
}
|
|
6
6
|
export type CardHeaderProps<E extends React.ElementType = React.ElementType> = CardHeaderOwnProps & PolymorphicProps<E> & PolymorphicProps<E, CardHeaderOwnProps>;
|
|
7
7
|
declare const defaultElement = "header";
|
|
8
|
-
export declare function Header<E extends React.ElementType = typeof defaultElement>({ className, component, ...props }: React.PropsWithChildren<CardHeaderProps<E>>): React.
|
|
8
|
+
export declare function Header<E extends React.ElementType = typeof defaultElement>({ className, component, ...props }: React.PropsWithChildren<CardHeaderProps<E>>): React.ReactElement;
|
|
9
9
|
export declare namespace Header {
|
|
10
10
|
var displayName: string;
|
|
11
11
|
}
|
|
@@ -6,7 +6,7 @@ export interface CardMediaOwnProps {
|
|
|
6
6
|
}
|
|
7
7
|
export type CardMediaProps<E extends React.ElementType = React.ElementType> = CardMediaOwnProps & PolymorphicProps<E> & PolymorphicProps<E, CardMediaOwnProps>;
|
|
8
8
|
declare const defaultElement = "div";
|
|
9
|
-
export declare function Media<E extends React.ElementType = typeof defaultElement>({ className, component, position, ...props }: React.PropsWithChildren<CardMediaProps<E>>): React.
|
|
9
|
+
export declare function Media<E extends React.ElementType = typeof defaultElement>({ className, component, position, ...props }: React.PropsWithChildren<CardMediaProps<E>>): React.ReactElement;
|
|
10
10
|
export declare namespace Media {
|
|
11
11
|
var displayName: string;
|
|
12
12
|
}
|
|
@@ -5,7 +5,7 @@ export interface CardTitleOwnProps {
|
|
|
5
5
|
}
|
|
6
6
|
export type CardTitleProps<E extends React.ElementType = React.ElementType> = CardTitleOwnProps & PolymorphicProps<E> & PolymorphicProps<E, CardTitleOwnProps>;
|
|
7
7
|
declare const defaultElement = "h3";
|
|
8
|
-
export declare function Title<E extends React.ElementType = typeof defaultElement>({ className, component, ...props }: React.PropsWithChildren<CardTitleProps<E>>): React.
|
|
8
|
+
export declare function Title<E extends React.ElementType = typeof defaultElement>({ className, component, ...props }: React.PropsWithChildren<CardTitleProps<E>>): React.ReactElement;
|
|
9
9
|
export declare namespace Title {
|
|
10
10
|
var displayName: string;
|
|
11
11
|
}
|
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { type IconProps } from '../../components/Icon';
|
|
3
3
|
export type CloseProps<E extends React.ElementType = React.ElementType> = Omit<IconProps<E>, 'icon'>;
|
|
4
4
|
declare const defaultElement = "button";
|
|
5
|
-
export declare function Close<E extends React.ElementType = typeof defaultElement>({ className, ...props }: CloseProps<E>): React.
|
|
5
|
+
export declare function Close<E extends React.ElementType = typeof defaultElement>({ className, ...props }: CloseProps<E>): React.ReactElement;
|
|
6
6
|
export declare namespace Close {
|
|
7
7
|
var displayName: string;
|
|
8
8
|
}
|
|
@@ -5,7 +5,7 @@ type ComponentOwnProp<T extends React.ElementType = React.ElementType> = React.C
|
|
|
5
5
|
type PropsToOmit<E extends React.ElementType = React.ElementType, Props extends object = object> = Omit<React.ComponentPropsWithoutRef<E>, keyof Props>;
|
|
6
6
|
export type PolymorphicProps<E extends React.ElementType = React.ElementType, Props extends object = object> = ComponentOwnProp<E> & PropsToOmit<E, Props>;
|
|
7
7
|
export interface PolymorphicComponent<Component extends React.ElementType = React.ElementType, Props extends object = object> {
|
|
8
|
-
<E extends React.ElementType = Component>(props: PolymorphicProps<E, Props>): React.
|
|
8
|
+
<E extends React.ElementType = Component>(props: PolymorphicProps<E, Props>): React.ReactElement;
|
|
9
9
|
defaultProps?: Partial<any>;
|
|
10
10
|
displayName?: string;
|
|
11
11
|
id?: string;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { type AccordionItemProps } from '../../components/Accordion';
|
|
2
3
|
import { type ButtonProps } from '../../components/Button';
|
|
3
4
|
import { type PickerLocale } from '../../components/DatePicker';
|
|
4
5
|
import { type ColorMode } from '../../components/Inverse';
|
|
@@ -8,7 +9,52 @@ interface PropsWithMouseHandler {
|
|
|
8
9
|
onClick: React.HTMLAttributes<HTMLElement>['onClick'];
|
|
9
10
|
}
|
|
10
11
|
export { SizeContext } from '../../components/ConfigProvider/SizeContext';
|
|
11
|
-
|
|
12
|
+
interface ConfigDeprecatedProps {
|
|
13
|
+
/** @deprecated Use `button['shape']` config instead */
|
|
14
|
+
buttonShape?: ButtonProps['shape'];
|
|
15
|
+
/** @deprecated Use `button['size']` config instead */
|
|
16
|
+
buttonSize?: ButtonProps['size'];
|
|
17
|
+
/** @deprecated Use `card['primaryColorMode']` config instead */
|
|
18
|
+
cardPrimaryColorMode?: ColorMode;
|
|
19
|
+
/** @deprecated Use `card['secondaryColorMode']` config instead */
|
|
20
|
+
cardSecondaryColorMode?: ColorMode;
|
|
21
|
+
/** @deprecated Use `card['tertiaryColorMode']` config instead */
|
|
22
|
+
cardTertiaryColorMode?: ColorMode;
|
|
23
|
+
/** @deprecated Use `control['clearIcon']` config instead */
|
|
24
|
+
controlClearIcon?: React.ReactNode | ((props: PropsWithMouseHandler) => React.ReactElement);
|
|
25
|
+
/** @deprecated Use `section['primaryColorMode']` config instead */
|
|
26
|
+
sectionPrimaryColorMode?: ColorMode;
|
|
27
|
+
/** @deprecated Use `section['secondaryColorMode']` config instead */
|
|
28
|
+
sectionSecondaryColorMode?: ColorMode;
|
|
29
|
+
/** @deprecated Use `section['tertiaryColorMode']` config instead */
|
|
30
|
+
sectionTertiaryColorMode?: ColorMode;
|
|
31
|
+
/** @deprecated Use `select['addIcon']` config instead */
|
|
32
|
+
selectAddIcon?: React.ReactNode | ((props: PropsWithMouseHandler) => React.ReactElement);
|
|
33
|
+
/** @deprecated Use `select['arrowIcon']` config instead */
|
|
34
|
+
selectArrowIcon?: React.ReactNode | ((props: {
|
|
35
|
+
isOpen: boolean;
|
|
36
|
+
} & PropsWithMouseHandler) => React.ReactElement);
|
|
37
|
+
/** @deprecated Use `select['clearIcon']` config instead */
|
|
38
|
+
selectClearIcon?: React.ReactNode | (() => React.ReactElement);
|
|
39
|
+
/** @deprecated Use `select['loadingIcon']` config instead */
|
|
40
|
+
selectLoadingIcon?: React.ReactNode | (() => React.ReactElement);
|
|
41
|
+
/** @deprecated Use `select['notFoundContent']` config instead */
|
|
42
|
+
selectNotFoundContent?: React.ReactNode | (() => React.ReactElement);
|
|
43
|
+
/** @deprecated Use `select['searchIcon']` config instead */
|
|
44
|
+
selectSearchIcon?: React.ReactNode | (() => React.ReactElement);
|
|
45
|
+
/** @deprecated Use `tile['primaryColorMode']` config instead */
|
|
46
|
+
tilePrimaryColorMode?: ColorMode;
|
|
47
|
+
/** @deprecated Use `tile['secondaryColorMode']` config instead */
|
|
48
|
+
tileSecondaryColorMode?: ColorMode;
|
|
49
|
+
/** @deprecated Use `tile['tertiaryColorMode']` config instead */
|
|
50
|
+
tileTertiaryColorMode?: ColorMode;
|
|
51
|
+
}
|
|
52
|
+
export interface ConfigContextConsumedProps extends ConfigDeprecatedProps {
|
|
53
|
+
accordion?: {
|
|
54
|
+
direction?: Direction;
|
|
55
|
+
expandIcon?: (props: AccordionItemProps) => React.ReactNode;
|
|
56
|
+
prefixCls?: string;
|
|
57
|
+
};
|
|
12
58
|
alert?: {
|
|
13
59
|
closeIcon?: React.ReactNode | (() => React.ReactElement);
|
|
14
60
|
};
|
|
@@ -19,22 +65,12 @@ export interface ConfigContextConsumedProps {
|
|
|
19
65
|
shape?: ButtonProps['shape'];
|
|
20
66
|
size?: ButtonProps['size'];
|
|
21
67
|
};
|
|
22
|
-
/** @deprecated Use `button['shape']` config instead */
|
|
23
|
-
buttonShape?: ButtonProps['shape'];
|
|
24
|
-
/** @deprecated Use `button['size']` config instead */
|
|
25
|
-
buttonSize?: ButtonProps['size'];
|
|
26
68
|
card?: {
|
|
27
69
|
prefixCls?: string;
|
|
28
70
|
primaryColorMode?: ColorMode;
|
|
29
71
|
secondaryColorMode?: ColorMode;
|
|
30
72
|
tertiaryColorMode?: ColorMode;
|
|
31
73
|
};
|
|
32
|
-
/** @deprecated Use `card['primaryColorMode']` config instead */
|
|
33
|
-
cardPrimaryColorMode?: ColorMode;
|
|
34
|
-
/** @deprecated Use `card['secondaryColorMode']` config instead */
|
|
35
|
-
cardSecondaryColorMode?: ColorMode;
|
|
36
|
-
/** @deprecated Use `card['tertiaryColorMode']` config instead */
|
|
37
|
-
cardTertiaryColorMode?: ColorMode;
|
|
38
74
|
checkbox?: {
|
|
39
75
|
direction?: Direction;
|
|
40
76
|
prefixCls?: string;
|
|
@@ -44,8 +80,6 @@ export interface ConfigContextConsumedProps {
|
|
|
44
80
|
direction?: Direction;
|
|
45
81
|
prefixCls?: string;
|
|
46
82
|
};
|
|
47
|
-
/** @deprecated Use `control['clearIcon']` config instead */
|
|
48
|
-
controlClearIcon?: React.ReactNode | ((props: PropsWithMouseHandler) => React.ReactElement);
|
|
49
83
|
datePicker?: {
|
|
50
84
|
clearIcon?: React.ReactNode | (() => React.ReactElement);
|
|
51
85
|
direction?: Direction;
|
|
@@ -75,12 +109,6 @@ export interface ConfigContextConsumedProps {
|
|
|
75
109
|
secondaryColorMode?: ColorMode;
|
|
76
110
|
tertiaryColorMode?: ColorMode;
|
|
77
111
|
};
|
|
78
|
-
/** @deprecated Use `section['primaryColorMode']` config instead */
|
|
79
|
-
sectionPrimaryColorMode?: ColorMode;
|
|
80
|
-
/** @deprecated Use `section['secondaryColorMode']` config instead */
|
|
81
|
-
sectionSecondaryColorMode?: ColorMode;
|
|
82
|
-
/** @deprecated Use `section['tertiaryColorMode']` config instead */
|
|
83
|
-
sectionTertiaryColorMode?: ColorMode;
|
|
84
112
|
select?: {
|
|
85
113
|
addIcon?: React.ReactNode | ((props: PropsWithMouseHandler) => React.ReactElement);
|
|
86
114
|
arrowIcon?: React.ReactNode | ((props: {
|
|
@@ -93,32 +121,19 @@ export interface ConfigContextConsumedProps {
|
|
|
93
121
|
prefixCls?: string;
|
|
94
122
|
searchIcon?: React.ReactNode | (() => React.ReactElement);
|
|
95
123
|
};
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
selectClearIcon?: React.ReactNode | (() => React.ReactElement);
|
|
104
|
-
/** @deprecated Use `select['loadingIcon']` config instead */
|
|
105
|
-
selectLoadingIcon?: React.ReactNode | (() => React.ReactElement);
|
|
106
|
-
/** @deprecated Use `select['notFoundContent']` config instead */
|
|
107
|
-
selectNotFoundContent?: React.ReactNode | (() => React.ReactElement);
|
|
108
|
-
/** @deprecated Use `select['searchIcon']` config instead */
|
|
109
|
-
selectSearchIcon?: React.ReactNode | (() => React.ReactElement);
|
|
124
|
+
tabs?: {
|
|
125
|
+
addIcon?: React.ReactNode;
|
|
126
|
+
direction?: Direction;
|
|
127
|
+
moreIcon?: React.ReactNode;
|
|
128
|
+
prefixCls?: string;
|
|
129
|
+
removeIcon?: React.ReactNode;
|
|
130
|
+
};
|
|
110
131
|
tile?: {
|
|
111
132
|
prefixCls?: string;
|
|
112
133
|
primaryColorMode?: ColorMode;
|
|
113
134
|
secondaryColorMode?: ColorMode;
|
|
114
135
|
tertiaryColorMode?: ColorMode;
|
|
115
136
|
};
|
|
116
|
-
/** @deprecated Use `tile['primaryColorMode']` config instead */
|
|
117
|
-
tilePrimaryColorMode?: ColorMode;
|
|
118
|
-
/** @deprecated Use `tile['secondaryColorMode']` config instead */
|
|
119
|
-
tileSecondaryColorMode?: ColorMode;
|
|
120
|
-
/** @deprecated Use `tile['tertiaryColorMode']` config instead */
|
|
121
|
-
tileTertiaryColorMode?: ColorMode;
|
|
122
137
|
timePicker?: {
|
|
123
138
|
clearIcon?: React.ReactNode | (() => React.ReactElement);
|
|
124
139
|
direction?: Direction;
|
|
@@ -129,4 +144,4 @@ export interface ConfigContextConsumedProps {
|
|
|
129
144
|
}
|
|
130
145
|
export declare const ConfigContext: React.Context<ConfigContextConsumedProps>;
|
|
131
146
|
export declare function useConfig(): ConfigContextConsumedProps;
|
|
132
|
-
export declare function ConfigContextProvider({ children, ...props }: Partial<React.PropsWithChildren<ConfigContextConsumedProps>>): React.
|
|
147
|
+
export declare function ConfigContextProvider({ children, ...props }: Partial<React.PropsWithChildren<ConfigContextConsumedProps>>): React.ReactElement;
|
|
@@ -9,7 +9,7 @@ export interface ContainerOwnProps {
|
|
|
9
9
|
}
|
|
10
10
|
export type ContainerProps<E extends React.ElementType = React.ElementType> = ContainerOwnProps & PolymorphicProps<E> & PolymorphicProps<E, ContainerOwnProps>;
|
|
11
11
|
declare const defaultElement = "div";
|
|
12
|
-
export declare function Container<E extends React.ElementType = typeof defaultElement>({ className, component, expandLeft, expandRight, preserve, size, ...props }: React.PropsWithChildren<ContainerProps<E>>): React.
|
|
12
|
+
export declare function Container<E extends React.ElementType = typeof defaultElement>({ className, component, expandLeft, expandRight, preserve, size, ...props }: React.PropsWithChildren<ContainerProps<E>>): React.ReactElement;
|
|
13
13
|
export declare namespace Container {
|
|
14
14
|
var displayName: string;
|
|
15
15
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { type SizeType } from '../../../types';
|
|
2
|
+
import { type Direction, type SizeType } from '../../../types';
|
|
3
3
|
export interface AbstractCheckboxProps<T> extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'onChange' | 'onMouseEnter' | 'onMouseLeave'> {
|
|
4
4
|
autoFocus?: boolean;
|
|
5
5
|
block?: boolean;
|
|
6
6
|
children?: React.ReactNode;
|
|
7
7
|
defaultChecked?: boolean;
|
|
8
|
-
direction?:
|
|
8
|
+
direction?: Direction;
|
|
9
9
|
id?: string;
|
|
10
10
|
name?: string;
|
|
11
11
|
prefixCls?: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { type CheckboxChangeEvent } from '../../../components/Control/Checkbox/Checkbox';
|
|
3
|
-
import { type SizeType } from '../../../types';
|
|
3
|
+
import { type Direction, type SizeType } from '../../../types';
|
|
4
4
|
export interface CheckboxOptionType<T = any> {
|
|
5
5
|
disabled?: boolean;
|
|
6
6
|
id?: string;
|
|
@@ -15,7 +15,7 @@ export interface AbstractCheckboxGroupProps<T = any> {
|
|
|
15
15
|
block?: boolean;
|
|
16
16
|
children?: React.ReactNode;
|
|
17
17
|
className?: string;
|
|
18
|
-
direction?:
|
|
18
|
+
direction?: Direction;
|
|
19
19
|
disabled?: boolean;
|
|
20
20
|
id?: string;
|
|
21
21
|
name?: string;
|
|
@@ -2,7 +2,7 @@ import type * as React from 'react';
|
|
|
2
2
|
import { type AbstractCheckboxProps, type CheckboxChangeEvent, type CheckboxProps } from '../../../components/Control/Checkbox/Checkbox';
|
|
3
3
|
import { type CheckboxGroupConsumer } from '../../../components/Control/Checkbox/CheckboxGroupContext';
|
|
4
4
|
import { type AbstractCheckboxGroupProps, type CheckboxGroupProps, type CheckboxOptionType, Group } from '../../../components/Control/Checkbox/Group';
|
|
5
|
-
export type {
|
|
5
|
+
export type { AbstractCheckboxGroupProps, AbstractCheckboxProps, CheckboxChangeEvent, CheckboxGroupConsumer, CheckboxGroupProps, CheckboxOptionType, CheckboxProps, };
|
|
6
6
|
export interface Checkbox extends React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>> {
|
|
7
7
|
Group: typeof Group;
|
|
8
8
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import RcInputNumber from '@rc-component/input-number';
|
|
2
|
-
import omit from '@rc-component/util
|
|
2
|
+
import { omit } from '@rc-component/util';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { useConfig } from '../../../../components/ConfigProvider';
|
|
5
5
|
import { useInput } from '../../../../components/Control/Input/useInput';
|
|
@@ -21,8 +21,8 @@ export const InputNumber = React.forwardRef((props, ref) => {
|
|
|
21
21
|
}));
|
|
22
22
|
const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls, 'number'), [config, prefixCls]);
|
|
23
23
|
const controlCls = React.useMemo(() => config.getRootPrefixCls(prefixCls, 'control'), [config, prefixCls]);
|
|
24
|
-
const upIcon = React.useMemo(() => React.createElement(Icon, { className: `${rootCls}-
|
|
25
|
-
const downIcon = React.useMemo(() => React.createElement(Icon, { className: `${rootCls}-
|
|
24
|
+
const upIcon = React.useMemo(() => React.createElement(Icon, { className: `${rootCls}-action-up-inner`, icon: "keyboard_arrow_up" }), [rootCls]);
|
|
25
|
+
const downIcon = React.useMemo(() => React.createElement(Icon, { className: `${rootCls}-action-down-inner`, icon: "keyboard_arrow_down" }), [rootCls]);
|
|
26
26
|
const inputProps = omit({ ...restProps, className: `${rootCls}-wrapper` }, [
|
|
27
27
|
'allowClear',
|
|
28
28
|
'prefix',
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useConfig } from '../../../components/ConfigProvider';
|
|
4
|
+
import { KeyCode } from '../../../constants';
|
|
4
5
|
export function fixControlledValue(value) {
|
|
5
6
|
if (value == null) {
|
|
6
7
|
return '';
|
|
@@ -40,7 +41,7 @@ export function useInput(props) {
|
|
|
40
41
|
restProps.onFocus?.(event);
|
|
41
42
|
}, [restProps]);
|
|
42
43
|
const onKeyDown = React.useCallback(event => {
|
|
43
|
-
if (onPressEnter && (event.
|
|
44
|
+
if (onPressEnter && (event.code === KeyCode.Enter)) {
|
|
44
45
|
onPressEnter(event);
|
|
45
46
|
}
|
|
46
47
|
restProps.onKeyDown?.(event);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useControlledState } from '@rc-component/util';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { useConfig } from '../../../components/ConfigProvider';
|
|
@@ -7,9 +7,7 @@ import { RadioGroupContext } from '../../../components/Control/Radio/RadioGroupC
|
|
|
7
7
|
export const Group = React.forwardRef(({ block, children, className, defaultValue, disabled, id, options, size, stack, style, ...props }, ref) => {
|
|
8
8
|
const config = useConfig();
|
|
9
9
|
const { direction = config.radio?.direction || config.direction, prefixCls = config.radio?.prefixCls || config.prefixCls, ...restProps } = props;
|
|
10
|
-
const [value, setValue] =
|
|
11
|
-
value: restProps.value,
|
|
12
|
-
});
|
|
10
|
+
const [value, setValue] = useControlledState(defaultValue, restProps.value);
|
|
13
11
|
const onChange = React.useCallback(event => {
|
|
14
12
|
const lastValue = value;
|
|
15
13
|
const val = event.target.value;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { type RadioGroupProps, Group } from '../../../components/Control/Radio/Group';
|
|
3
3
|
import { type RadioChangeEvent, type RadioProps } from '../../../components/Control/Radio/Radio';
|
|
4
4
|
export type { RadioChangeEvent, RadioGroupProps, RadioProps };
|
|
5
5
|
export interface Radio extends React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>> {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type BaseSelectRef, type SelectProps as RcSelectProps, OptGroup, Option } from '@rc-component/select';
|
|
2
|
+
import { type BaseOptionType, type DefaultOptionType } from '@rc-component/select/es/Select';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { type ControlProps, type SelectPlacement } from '../../../components/Control/types';
|
|
5
|
+
import { type SizeType } from '../../../types';
|
|
6
|
+
export interface InternalSelectProps<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType> extends Omit<RcSelectProps<ValueType, OptionType>, 'placement'> {
|
|
7
|
+
size?: SizeType;
|
|
8
|
+
}
|
|
9
|
+
export interface SelectProps<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType> extends Omit<ControlProps<ValueType>, 'allowClear' | 'defaultValue' | 'suffix' | 'value'>, Omit<InternalSelectProps<ValueType, OptionType>, 'inputIcon' | 'getInputElement' | 'backfill'> {
|
|
10
|
+
placement?: SelectPlacement;
|
|
11
|
+
showArrow?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare const Select: (<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(props: SelectProps<ValueType, OptionType> & {
|
|
14
|
+
ref?: React.Ref<BaseSelectRef>;
|
|
15
|
+
}) => React.ReactElement) & {
|
|
16
|
+
OptGroup: typeof OptGroup;
|
|
17
|
+
Option: typeof Option;
|
|
18
|
+
};
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/* eslint-disable jsx-a11y/label-has-associated-control */
|
|
2
|
+
import RcSelect, { OptGroup, Option } from '@rc-component/select';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { useConfig } from '../../../components/ConfigProvider';
|
|
6
|
+
import { getBuiltInPlacements } from '../../../components/Control/Select/placements';
|
|
7
|
+
import { Icon } from '../../../components/Icon';
|
|
8
|
+
import { Spinner } from '../../../components/Spinner';
|
|
9
|
+
import { KeyCode } from '../../../constants';
|
|
10
|
+
function InternalSelect({ allowClear, popupMatchSelectWidth, builtinPlacements = getBuiltInPlacements(popupMatchSelectWidth), className, listHeight = 256, listItemHeight = 24, mode, placement = 'bottom-left', showArrow = true, showSearch = false, onPressEnter, ...props }, ref) {
|
|
11
|
+
const config = useConfig();
|
|
12
|
+
const { direction = config.select?.direction || config.direction, prefixCls = config.select?.prefixCls || config.prefixCls, ...restProps } = props;
|
|
13
|
+
const inputRef = React.useRef(null);
|
|
14
|
+
const labelRef = React.useRef(null);
|
|
15
|
+
const [focused, setFocused] = React.useState(false);
|
|
16
|
+
const [internalOpen, setInternalOpen] = React.useState(restProps.defaultOpen || restProps.open || false);
|
|
17
|
+
const [offsetY, setOffsetY] = React.useState(2);
|
|
18
|
+
const onBlur = React.useCallback(event => {
|
|
19
|
+
setFocused(false);
|
|
20
|
+
setInternalOpen(false);
|
|
21
|
+
restProps.onBlur?.(event);
|
|
22
|
+
}, [restProps]);
|
|
23
|
+
const onFocus = React.useCallback(event => {
|
|
24
|
+
setFocused(true);
|
|
25
|
+
restProps.onFocus?.(event);
|
|
26
|
+
}, [restProps]);
|
|
27
|
+
const onKeyDown = React.useCallback(event => {
|
|
28
|
+
if (event.code === KeyCode.Enter) {
|
|
29
|
+
setInternalOpen(true);
|
|
30
|
+
onPressEnter?.(event);
|
|
31
|
+
}
|
|
32
|
+
else if (event.code === KeyCode.Space) {
|
|
33
|
+
setInternalOpen(true);
|
|
34
|
+
}
|
|
35
|
+
restProps.onKeyDown?.(event);
|
|
36
|
+
}, [onPressEnter, restProps]);
|
|
37
|
+
const onPopupVisibleChange = React.useCallback((open) => {
|
|
38
|
+
setInternalOpen(open);
|
|
39
|
+
restProps.onPopupVisibleChange?.(open);
|
|
40
|
+
}, [restProps]);
|
|
41
|
+
const onClickIcon = React.useCallback(() => {
|
|
42
|
+
setInternalOpen(!internalOpen);
|
|
43
|
+
}, [internalOpen]);
|
|
44
|
+
React.useEffect(() => {
|
|
45
|
+
setInternalOpen(restProps.defaultOpen || restProps.open || internalOpen);
|
|
46
|
+
}, [restProps.open, restProps.defaultOpen, internalOpen]);
|
|
47
|
+
React.useEffect(() => {
|
|
48
|
+
const select = labelRef.current?.firstElementChild;
|
|
49
|
+
if (select) {
|
|
50
|
+
let offset = parseInt(getComputedStyle?.(select).getPropertyValue('border-left-width'), 10);
|
|
51
|
+
if (direction !== 'rtl') {
|
|
52
|
+
offset *= -1;
|
|
53
|
+
}
|
|
54
|
+
setOffsetY(offset);
|
|
55
|
+
}
|
|
56
|
+
}, [direction]);
|
|
57
|
+
const rootCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.select?.prefixCls || config.prefixCls, 'select'), [config, prefixCls]);
|
|
58
|
+
const controlCls = React.useMemo(() => config.getRootPrefixCls(prefixCls || config.select?.prefixCls || config.prefixCls, 'control'), [config, prefixCls]);
|
|
59
|
+
const wrapperClasses = React.useMemo(() => classNames([controlCls, `${controlCls}-select`], {
|
|
60
|
+
[`${controlCls}-${restProps.size}`]: restProps.size,
|
|
61
|
+
[`${controlCls}-rtl`]: direction === 'rtl',
|
|
62
|
+
[`${prefixCls || config.select?.prefixCls || config.prefixCls}-disabled`]: restProps.disabled,
|
|
63
|
+
[`${prefixCls || config.select?.prefixCls || config.prefixCls}-focused`]: focused,
|
|
64
|
+
}, className), [
|
|
65
|
+
className,
|
|
66
|
+
config.select?.prefixCls,
|
|
67
|
+
config.prefixCls,
|
|
68
|
+
controlCls,
|
|
69
|
+
focused,
|
|
70
|
+
prefixCls,
|
|
71
|
+
direction,
|
|
72
|
+
restProps.disabled,
|
|
73
|
+
restProps.size,
|
|
74
|
+
]);
|
|
75
|
+
const inputProps = React.useMemo(() => {
|
|
76
|
+
// Arrow or loading icon
|
|
77
|
+
let suffixIcon;
|
|
78
|
+
if (restProps.loading) {
|
|
79
|
+
if (typeof config.select?.loadingIcon === 'function') {
|
|
80
|
+
suffixIcon = config.select.loadingIcon();
|
|
81
|
+
}
|
|
82
|
+
else if (React.isValidElement(config.select?.loadingIcon)) {
|
|
83
|
+
suffixIcon = config.select.loadingIcon;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
suffixIcon = React.createElement(Spinner, { key: "spinner", ratio: 0.7 });
|
|
87
|
+
}
|
|
88
|
+
suffixIcon = React.createElement("div", { className: `${rootCls}-arrow ${rootCls}-arrow-loading` }, suffixIcon);
|
|
89
|
+
}
|
|
90
|
+
else if (showArrow) {
|
|
91
|
+
const isMultiple = mode === 'multiple' || mode === 'tags';
|
|
92
|
+
if (isMultiple) {
|
|
93
|
+
if (typeof config.select?.addIcon === 'function') {
|
|
94
|
+
suffixIcon = config.select.addIcon({ onClick: onClickIcon });
|
|
95
|
+
}
|
|
96
|
+
else if (React.isValidElement(config.select?.addIcon)) {
|
|
97
|
+
suffixIcon = config.select.addIcon;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
suffixIcon = React.createElement(Icon, { key: "add_box", icon: "add_box", onClick: onClickIcon });
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else if (showSearch && internalOpen) {
|
|
104
|
+
if (typeof config.select?.searchIcon === 'function') {
|
|
105
|
+
suffixIcon = config.select.searchIcon();
|
|
106
|
+
}
|
|
107
|
+
else if (React.isValidElement(config.select?.searchIcon)) {
|
|
108
|
+
suffixIcon = config.select.searchIcon;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
suffixIcon = React.createElement(Icon, { key: "manage_search", icon: "manage_search" });
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
else if (typeof config.select?.arrowIcon === 'function') {
|
|
115
|
+
suffixIcon = config.select.arrowIcon({ isOpen: internalOpen, onClick: onClickIcon });
|
|
116
|
+
}
|
|
117
|
+
else if (React.isValidElement(config.select?.arrowIcon)) {
|
|
118
|
+
suffixIcon = config.select.arrowIcon;
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
suffixIcon = internalOpen
|
|
122
|
+
? React.createElement(Icon, { key: "expand_less", icon: "expand_less", onClick: onClickIcon })
|
|
123
|
+
: React.createElement(Icon, { key: "expand_more", icon: "expand_more", onClick: onClickIcon });
|
|
124
|
+
}
|
|
125
|
+
suffixIcon = React.createElement("div", { className: `${rootCls}-arrow` }, suffixIcon);
|
|
126
|
+
}
|
|
127
|
+
// Not found content
|
|
128
|
+
let mergedNotFound;
|
|
129
|
+
if (restProps.notFoundContent !== undefined) {
|
|
130
|
+
mergedNotFound = restProps.notFoundContent;
|
|
131
|
+
}
|
|
132
|
+
else if (mode === 'combobox') {
|
|
133
|
+
mergedNotFound = null;
|
|
134
|
+
}
|
|
135
|
+
if (typeof config.select?.notFoundContent === 'function') {
|
|
136
|
+
mergedNotFound = config.select.notFoundContent();
|
|
137
|
+
}
|
|
138
|
+
else if (React.isValidElement(config.select?.notFoundContent)) {
|
|
139
|
+
mergedNotFound = config.select.notFoundContent;
|
|
140
|
+
}
|
|
141
|
+
let clearIcon = React.createElement(Icon, { icon: "clear" });
|
|
142
|
+
if (typeof config.select?.clearIcon === 'function') {
|
|
143
|
+
clearIcon = config.select.clearIcon();
|
|
144
|
+
}
|
|
145
|
+
else if (React.isValidElement(config.select?.clearIcon)) {
|
|
146
|
+
clearIcon = config.select.clearIcon;
|
|
147
|
+
}
|
|
148
|
+
return {
|
|
149
|
+
allowClear: (allowClear || allowClear === undefined) && {
|
|
150
|
+
clearIcon,
|
|
151
|
+
},
|
|
152
|
+
listHeight,
|
|
153
|
+
listItemHeight,
|
|
154
|
+
menuItemSelectedIcon: React.createElement(Icon, { icon: "check" }),
|
|
155
|
+
open: internalOpen,
|
|
156
|
+
prefixCls: rootCls,
|
|
157
|
+
removeIcon: React.createElement(Icon, { icon: "clear" }),
|
|
158
|
+
showSearch,
|
|
159
|
+
suffix: suffixIcon,
|
|
160
|
+
transitionName: `${prefixCls || config.select?.prefixCls || config.prefixCls}-motion-slide-bottom-small`,
|
|
161
|
+
...restProps,
|
|
162
|
+
notFoundContent: mergedNotFound,
|
|
163
|
+
popupClassName: classNames(restProps.popupClassName, {
|
|
164
|
+
[`${prefixCls || config.select?.prefixCls || config.prefixCls}-dropdown-rtl`]: direction === 'rtl',
|
|
165
|
+
}),
|
|
166
|
+
popupMatchSelectWidth: true,
|
|
167
|
+
onBlur,
|
|
168
|
+
onFocus,
|
|
169
|
+
onKeyDown,
|
|
170
|
+
onPopupVisibleChange,
|
|
171
|
+
};
|
|
172
|
+
}, [
|
|
173
|
+
restProps,
|
|
174
|
+
showArrow,
|
|
175
|
+
mode,
|
|
176
|
+
config,
|
|
177
|
+
allowClear,
|
|
178
|
+
listHeight,
|
|
179
|
+
listItemHeight,
|
|
180
|
+
internalOpen,
|
|
181
|
+
rootCls,
|
|
182
|
+
showSearch,
|
|
183
|
+
prefixCls,
|
|
184
|
+
direction,
|
|
185
|
+
onBlur,
|
|
186
|
+
onFocus,
|
|
187
|
+
onKeyDown,
|
|
188
|
+
onClickIcon,
|
|
189
|
+
onPopupVisibleChange,
|
|
190
|
+
]);
|
|
191
|
+
React.useImperativeHandle(ref, () => ({
|
|
192
|
+
blur() {
|
|
193
|
+
inputRef.current?.blur();
|
|
194
|
+
},
|
|
195
|
+
focus() {
|
|
196
|
+
inputRef.current?.focus();
|
|
197
|
+
},
|
|
198
|
+
scrollTo() {
|
|
199
|
+
return inputRef.current?.scrollTo;
|
|
200
|
+
},
|
|
201
|
+
}));
|
|
202
|
+
return (React.createElement("label", { ref: labelRef, className: wrapperClasses, htmlFor: restProps.id },
|
|
203
|
+
React.createElement(RcSelect, { ref: inputRef, builtinPlacements: builtinPlacements, placement: placement, popupAlign: {
|
|
204
|
+
offset: [offsetY, 5],
|
|
205
|
+
}, ...inputProps, mode: mode })));
|
|
206
|
+
}
|
|
207
|
+
export const Select = React.forwardRef(InternalSelect);
|
|
208
|
+
Select.Option = Option;
|
|
209
|
+
Select.OptGroup = OptGroup;
|
|
@@ -1,21 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import { type ControlProps, type SelectPlacement } from '../../../components/Control/types';
|
|
6
|
-
import { type SizeType } from '../../../types';
|
|
7
|
-
export type { BaseSelectRef, OptionProps };
|
|
8
|
-
export interface InternalSelectProps<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType> extends Omit<RcSelectProps<ValueType, OptionType>, 'placement'> {
|
|
9
|
-
size?: SizeType;
|
|
10
|
-
}
|
|
11
|
-
export interface SelectProps<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType> extends Omit<ControlProps<ValueType>, 'allowClear' | 'defaultValue' | 'suffix' | 'value'>, Omit<InternalSelectProps<ValueType, OptionType>, 'inputIcon' | 'getInputElement' | 'backfill'> {
|
|
12
|
-
placement?: SelectPlacement;
|
|
13
|
-
showArrow?: boolean;
|
|
14
|
-
}
|
|
15
|
-
export declare const Select: (<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(props: SelectProps<ValueType, OptionType> & {
|
|
16
|
-
ref?: React.Ref<BaseSelectRef>;
|
|
17
|
-
}) => React.ReactElement) & {
|
|
18
|
-
SECRET_COMBOBOX_MODE_DO_NOT_USE: string;
|
|
19
|
-
Option: typeof Option;
|
|
20
|
-
OptGroup: typeof OptGroup;
|
|
21
|
-
};
|
|
1
|
+
export { Select } from '../../../components/Control/Select/Select';
|
|
2
|
+
export { type SelectProps } from '../../../components/Control/Select/Select';
|
|
3
|
+
export { type BaseSelectRef } from '@rc-component/select';
|
|
4
|
+
export { type OptionProps } from '@rc-component/select/es/Option';
|