@broxus/react-uikit 0.1.3 → 0.2.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/LICENSE +154 -167
- package/dist/cjs/components/Accordion/Accordion.d.ts +3 -2
- package/dist/cjs/components/Accordion/Accordion.js +8 -5
- package/dist/cjs/components/Accordion/Item.d.ts +3 -6
- package/dist/cjs/components/Accordion/Item.js +4 -5
- package/dist/cjs/components/Accordion/index.d.ts +6 -5
- package/dist/cjs/components/Accordion/index.js +2 -2
- package/dist/cjs/components/Alert/index.d.ts +3 -3
- package/dist/cjs/components/Alert/index.js +17 -10
- package/dist/cjs/components/Align/Align.d.ts +5 -7
- package/dist/cjs/components/Align/Align.js +9 -6
- package/dist/cjs/components/Align/Left.d.ts +3 -5
- package/dist/cjs/components/Align/Left.js +3 -6
- package/dist/cjs/components/Align/Right.d.ts +3 -5
- package/dist/cjs/components/Align/Right.js +3 -6
- package/dist/cjs/components/Align/index.d.ts +8 -7
- package/dist/cjs/components/Align/index.js +3 -3
- package/dist/cjs/components/Article/Article.d.ts +1 -1
- package/dist/cjs/components/Article/Article.js +9 -4
- package/dist/cjs/components/Article/Meta.d.ts +4 -9
- package/dist/cjs/components/Article/Meta.js +8 -6
- package/dist/cjs/components/Article/Title.d.ts +4 -9
- package/dist/cjs/components/Article/Title.js +8 -6
- package/dist/cjs/components/Article/index.d.ts +7 -9
- package/dist/cjs/components/Article/index.js +3 -3
- package/dist/cjs/components/Badge/index.d.ts +4 -6
- package/dist/cjs/components/Badge/index.js +7 -4
- package/dist/cjs/components/Breadcrumb/Breadcrumb.d.ts +1 -1
- package/dist/cjs/components/Breadcrumb/Breadcrumb.js +7 -4
- package/dist/cjs/components/Breadcrumb/Item.d.ts +1 -4
- package/dist/cjs/components/Breadcrumb/Item.js +3 -4
- package/dist/cjs/components/Breadcrumb/index.d.ts +5 -5
- package/dist/cjs/components/Breadcrumb/index.js +2 -2
- package/dist/cjs/components/Button/Button.d.ts +1 -1
- package/dist/cjs/components/Button/Button.js +16 -14
- package/dist/cjs/components/Button/Group.d.ts +1 -4
- package/dist/cjs/components/Button/Group.js +6 -6
- package/dist/cjs/components/Button/index.d.ts +5 -5
- package/dist/cjs/components/Button/index.js +2 -2
- package/dist/cjs/components/Card/Badge.d.ts +3 -7
- package/dist/cjs/components/Card/Badge.js +10 -7
- package/dist/cjs/components/Card/Body.d.ts +1 -4
- package/dist/cjs/components/Card/Body.js +8 -6
- package/dist/cjs/components/Card/Card.d.ts +4 -6
- package/dist/cjs/components/Card/Card.js +17 -11
- package/dist/cjs/components/Card/Footer.d.ts +4 -9
- package/dist/cjs/components/Card/Footer.js +8 -6
- package/dist/cjs/components/Card/Header.d.ts +4 -9
- package/dist/cjs/components/Card/Header.js +8 -6
- package/dist/cjs/components/Card/Media.d.ts +1 -4
- package/dist/cjs/components/Card/Media.js +8 -6
- package/dist/cjs/components/Card/Title.d.ts +4 -9
- package/dist/cjs/components/Card/Title.js +9 -7
- package/dist/cjs/components/Card/index.d.ts +10 -10
- package/dist/cjs/components/Card/index.js +7 -7
- package/dist/cjs/components/Close/index.d.ts +3 -7
- package/dist/cjs/components/Close/index.js +7 -4
- package/dist/cjs/components/Component/index.d.ts +9 -4
- package/dist/cjs/components/Component/index.js +26 -2
- package/dist/cjs/components/ComponentProvider/index.d.ts +11 -0
- package/dist/cjs/components/ComponentProvider/index.js +49 -0
- package/dist/cjs/components/ConfrigProvider/index.d.ts +9 -7
- package/dist/cjs/components/ConfrigProvider/index.js +37 -7
- package/dist/cjs/components/Container/index.d.ts +4 -5
- package/dist/cjs/components/Container/index.js +12 -7
- package/dist/cjs/components/Control/Checkbox/Checkbox.d.ts +7 -2
- package/dist/cjs/components/Control/Checkbox/Checkbox.js +66 -46
- package/dist/cjs/components/Control/Checkbox/CheckboxGroupContext.d.ts +26 -0
- package/dist/cjs/components/Control/Checkbox/{Context.js → CheckboxGroupContext.js} +6 -3
- package/dist/cjs/components/Control/Checkbox/Group.d.ts +14 -2
- package/dist/cjs/components/Control/Checkbox/Group.js +31 -28
- package/dist/cjs/components/Control/Checkbox/index.d.ts +8 -6
- package/dist/cjs/components/Control/Checkbox/index.js +3 -3
- package/dist/cjs/components/Control/Checkbox/index.scss +7 -2
- package/dist/cjs/components/Control/Checkbox/types.d.ts +3 -66
- package/dist/cjs/components/Control/Input/Input.d.ts +2 -2
- package/dist/cjs/components/Control/Input/Input.js +22 -13
- package/dist/cjs/components/Control/Input/Number/index.d.ts +2 -2
- package/dist/cjs/components/Control/Input/Number/index.js +24 -19
- package/dist/cjs/components/Control/Input/Password/index.d.ts +2 -2
- package/dist/cjs/components/Control/Input/Password/index.js +39 -27
- package/dist/cjs/components/Control/Input/index.d.ts +7 -7
- package/dist/cjs/components/Control/Input/index.js +5 -5
- package/dist/cjs/components/Control/Input/types.d.ts +5 -5
- package/dist/cjs/components/Control/Input/useInput.d.ts +5 -4
- package/dist/cjs/components/Control/Input/useInput.js +47 -50
- package/dist/cjs/components/Control/Radio/Group.d.ts +7 -2
- package/dist/cjs/components/Control/Radio/Group.js +24 -17
- package/dist/cjs/components/Control/Radio/Radio.d.ts +6 -2
- package/dist/cjs/components/Control/Radio/Radio.js +57 -40
- package/dist/cjs/components/Control/Radio/RadioGroupContext.d.ts +9 -0
- package/dist/cjs/components/Control/Radio/{Context.js → RadioGroupContext.js} +6 -3
- package/dist/cjs/components/Control/Radio/index.d.ts +6 -6
- package/dist/cjs/components/Control/Radio/index.js +2 -17
- package/dist/cjs/components/Control/Radio/index.scss +1 -0
- package/dist/cjs/components/Control/Select/index.d.ts +8 -12
- package/dist/cjs/components/Control/Select/index.js +72 -49
- package/dist/cjs/components/Control/TextArea/index.d.ts +3 -10
- package/dist/cjs/components/Control/TextArea/index.js +51 -47
- package/dist/cjs/components/Control/TextArea/index.scss +1 -1
- package/dist/cjs/components/Control/index.d.ts +6 -6
- package/dist/cjs/components/Control/index.js +6 -6
- package/dist/cjs/components/Control/types.d.ts +8 -7
- package/dist/cjs/components/Cover/index.d.ts +2 -1
- package/dist/cjs/components/Cover/index.js +24 -17
- package/dist/cjs/components/DescriptionList/Description.d.ts +1 -6
- package/dist/cjs/components/DescriptionList/Description.js +2 -5
- package/dist/cjs/components/DescriptionList/DescriptionList.d.ts +2 -1
- package/dist/cjs/components/DescriptionList/DescriptionList.js +10 -5
- package/dist/cjs/components/DescriptionList/Term.d.ts +1 -6
- package/dist/cjs/components/DescriptionList/Term.js +2 -5
- package/dist/cjs/components/DescriptionList/index.d.ts +6 -6
- package/dist/cjs/components/DescriptionList/index.js +3 -3
- package/dist/cjs/components/Divider/index.d.ts +2 -1
- package/dist/cjs/components/Divider/index.js +11 -6
- package/dist/cjs/components/Dotnav/Dotnav.d.ts +2 -1
- package/dist/cjs/components/Dotnav/Dotnav.js +10 -5
- package/dist/cjs/components/Dotnav/Item.d.ts +1 -4
- package/dist/cjs/components/Dotnav/Item.js +7 -6
- package/dist/cjs/components/Dotnav/index.d.ts +5 -5
- package/dist/cjs/components/Dotnav/index.js +2 -2
- package/dist/cjs/components/Drawer/index.d.ts +7 -44
- package/dist/cjs/components/Drawer/index.js +40 -139
- package/dist/cjs/components/Drawer/index.scss +11 -14
- package/dist/cjs/components/Drop/index.d.ts +12 -4
- package/dist/cjs/components/Drop/index.js +38 -21
- package/dist/cjs/components/Drop/index.scss +0 -26
- package/dist/cjs/components/Dropdown/index.d.ts +3 -3
- package/dist/cjs/components/Dropdown/index.js +5 -2
- package/dist/cjs/components/Flex/index.d.ts +14 -15
- package/dist/cjs/components/Flex/index.js +15 -13
- package/dist/cjs/components/Form/Controls.d.ts +3 -4
- package/dist/cjs/components/Form/Controls.js +10 -6
- package/dist/cjs/components/Form/ControlsText.d.ts +3 -4
- package/dist/cjs/components/Form/ControlsText.js +10 -6
- package/dist/cjs/components/Form/Fieldset.d.ts +4 -4
- package/dist/cjs/components/Form/Fieldset.js +10 -6
- package/dist/cjs/components/Form/Form.d.ts +4 -5
- package/dist/cjs/components/Form/Form.js +11 -7
- package/dist/cjs/components/Form/Label.d.ts +3 -4
- package/dist/cjs/components/Form/Label.js +9 -6
- package/dist/cjs/components/Form/Legend.d.ts +3 -4
- package/dist/cjs/components/Form/Legend.js +8 -6
- package/dist/cjs/components/Form/index.d.ts +9 -9
- package/dist/cjs/components/Form/index.js +6 -6
- package/dist/cjs/components/Grid/index.d.ts +7 -8
- package/dist/cjs/components/Grid/index.js +13 -11
- package/dist/cjs/components/Heading/index.d.ts +5 -6
- package/dist/cjs/components/Heading/index.js +11 -6
- package/dist/cjs/components/Icon/Button.d.ts +3 -5
- package/dist/cjs/components/Icon/Button.js +3 -6
- package/dist/cjs/components/Icon/Icon.d.ts +4 -6
- package/dist/cjs/components/Icon/Icon.js +9 -9
- package/dist/cjs/components/Icon/Link.d.ts +3 -5
- package/dist/cjs/components/Icon/Link.js +3 -6
- package/dist/cjs/components/Icon/default-svg-props.d.ts +1 -1
- package/dist/cjs/components/Icon/default-svg-props.js +2 -2
- package/dist/cjs/components/Icon/index.d.ts +9 -9
- package/dist/cjs/components/Icon/index.js +5 -5
- package/dist/cjs/components/Iconnav/Iconnav.d.ts +1 -1
- package/dist/cjs/components/Iconnav/Iconnav.js +6 -6
- package/dist/cjs/components/Iconnav/Item.d.ts +1 -5
- package/dist/cjs/components/Iconnav/Item.js +4 -5
- package/dist/cjs/components/Iconnav/index.d.ts +5 -5
- package/dist/cjs/components/Iconnav/index.js +2 -2
- package/dist/cjs/components/Label/index.d.ts +1 -1
- package/dist/cjs/components/Label/index.js +7 -7
- package/dist/cjs/components/Label/index.scss +1 -1
- package/dist/cjs/components/Link/index.d.ts +3 -3
- package/dist/cjs/components/Link/index.js +9 -3
- package/dist/cjs/components/List/Item.d.ts +2 -5
- package/dist/cjs/components/List/Item.js +2 -5
- package/dist/cjs/components/List/List.d.ts +1 -1
- package/dist/cjs/components/List/List.js +8 -8
- package/dist/cjs/components/List/index.d.ts +5 -5
- package/dist/cjs/components/List/index.js +2 -2
- package/dist/cjs/components/Modal/Modal.d.ts +4 -3
- package/dist/cjs/components/Modal/Modal.js +19 -16
- package/dist/cjs/components/Modal/index.d.ts +1 -1
- package/dist/cjs/components/Modal/index.js +1 -1
- package/dist/cjs/components/Nav/Divider.d.ts +3 -8
- package/dist/cjs/components/Nav/Divider.js +6 -7
- package/dist/cjs/components/Nav/Group/InternalNavItemGroup.d.ts +11 -0
- package/dist/cjs/components/Nav/Group/InternalNavItemGroup.js +42 -0
- package/dist/cjs/components/Nav/Group/index.d.ts +3 -0
- package/dist/cjs/components/Nav/{Group.js → Group/index.js} +10 -19
- package/dist/cjs/components/Nav/Header.d.ts +1 -1
- package/dist/cjs/components/Nav/Header.js +2 -2
- package/dist/cjs/components/Nav/Item/InternalNavItem.d.ts +16 -2
- package/dist/cjs/components/Nav/Item/InternalNavItem.js +54 -35
- package/dist/cjs/components/Nav/Item/LegacyNavItem.js +1 -1
- package/dist/cjs/components/Nav/Item/index.d.ts +2 -28
- package/dist/cjs/components/Nav/Item/index.js +6 -7
- package/dist/cjs/components/Nav/Nav.d.ts +23 -5
- package/dist/cjs/components/Nav/Nav.js +165 -123
- package/dist/cjs/components/Nav/Sub/InlineSubNavList.js +3 -3
- package/dist/cjs/components/Nav/Sub/PopupTrigger.d.ts +6 -6
- package/dist/cjs/components/Nav/Sub/PopupTrigger.js +21 -14
- package/dist/cjs/components/Nav/Sub/SubNavList.d.ts +1 -1
- package/dist/cjs/components/Nav/Sub/SubNavList.js +5 -3
- package/dist/cjs/components/Nav/Sub/index.d.ts +3 -19
- package/dist/cjs/components/Nav/Sub/index.js +58 -41
- package/dist/cjs/components/Nav/context/IdContext.js +3 -0
- package/dist/cjs/components/Nav/context/NavContext.d.ts +5 -4
- package/dist/cjs/components/Nav/context/NavContext.js +9 -3
- package/dist/cjs/components/Nav/context/PathContext.js +5 -0
- package/dist/cjs/components/Nav/context/PrivateContext.d.ts +7 -0
- package/dist/cjs/components/{Component/Component.js → Nav/context/PrivateContext.js} +2 -3
- package/dist/cjs/components/Nav/hooks/useAccessibility.d.ts +2 -2
- package/dist/cjs/components/Nav/hooks/useAccessibility.js +4 -3
- package/dist/cjs/components/Nav/hooks/useActive.d.ts +2 -2
- package/dist/cjs/components/Nav/hooks/useActive.js +6 -5
- package/dist/cjs/components/Nav/hooks/useDirectionStyle.d.ts +2 -0
- package/dist/cjs/components/Nav/hooks/useDirectionStyle.js +37 -0
- package/dist/cjs/components/Nav/hooks/useKeyRecords.d.ts +3 -3
- package/dist/cjs/components/Nav/hooks/useKeyRecords.js +14 -14
- package/dist/cjs/components/Nav/hooks/useMemoCallback.d.ts +1 -1
- package/dist/cjs/components/Nav/hooks/useMemoCallback.js +3 -1
- package/dist/cjs/components/Nav/hooks/useUUID.d.ts +1 -1
- package/dist/cjs/components/Nav/hooks/useUUID.js +3 -2
- package/dist/cjs/components/Nav/index.d.ts +9 -9
- package/dist/cjs/components/Nav/index.js +6 -6
- package/dist/cjs/components/Nav/index.scss +10 -7
- package/dist/cjs/components/Nav/types.d.ts +58 -10
- package/dist/cjs/components/Nav/utils/alignUtil.d.ts +1 -1
- package/dist/cjs/components/Nav/utils/motionUtil.d.ts +1 -1
- package/dist/cjs/components/Nav/utils/nodeUtil.d.ts +3 -1
- package/dist/cjs/components/Nav/utils/nodeUtil.js +38 -1
- package/dist/cjs/components/Nav/utils/warnUtil.d.ts +1 -1
- package/dist/cjs/components/Navbar/Center.d.ts +5 -7
- package/dist/cjs/components/Navbar/Center.js +8 -6
- package/dist/cjs/components/Navbar/Container.d.ts +4 -8
- package/dist/cjs/components/Navbar/Container.js +9 -7
- package/dist/cjs/components/Navbar/Item.d.ts +5 -8
- package/dist/cjs/components/Navbar/Item.js +8 -6
- package/dist/cjs/components/Navbar/Left.d.ts +5 -7
- package/dist/cjs/components/Navbar/Left.js +8 -6
- package/dist/cjs/components/Navbar/Nav.d.ts +2 -1
- package/dist/cjs/components/Navbar/Nav.js +5 -2
- package/dist/cjs/components/Navbar/Right.d.ts +3 -3
- package/dist/cjs/components/Navbar/Toggle.d.ts +5 -4
- package/dist/cjs/components/Navbar/index.d.ts +11 -11
- package/dist/cjs/components/Navbar/index.js +8 -8
- package/dist/cjs/components/Progress/index.d.ts +6 -0
- package/dist/cjs/components/Progress/index.js +39 -0
- package/dist/cjs/components/Progress/index.scss +129 -0
- package/dist/cjs/components/Section/index.d.ts +4 -6
- package/dist/cjs/components/Section/index.js +10 -8
- package/dist/cjs/components/Spinner/index.d.ts +3 -3
- package/dist/cjs/components/Spinner/index.js +7 -5
- package/dist/cjs/components/Tabs/index.d.ts +7 -11
- package/dist/cjs/components/Tabs/index.js +17 -18
- package/dist/cjs/components/Tabs/index.scss +9 -1
- package/dist/cjs/components/Text/index.d.ts +7 -8
- package/dist/cjs/components/Text/index.js +22 -20
- package/dist/cjs/components/Tile/index.d.ts +5 -6
- package/dist/cjs/components/Tile/index.js +10 -8
- package/dist/cjs/components/Tile/index.scss +8 -8
- package/dist/cjs/components/Width/Width.d.ts +5 -6
- package/dist/cjs/components/Width/Width.js +12 -6
- package/dist/cjs/components/Width/index.d.ts +3 -3
- package/dist/cjs/components/Width/index.js +3 -3
- package/dist/cjs/components/Width/types.d.ts +6 -6
- package/dist/cjs/components/Width/utils.d.ts +1 -1
- package/dist/cjs/components/Width/utils.js +3 -1
- package/dist/cjs/hooks/index.d.ts +3 -0
- package/dist/cjs/{utils/hooks → hooks}/index.js +3 -1
- package/dist/cjs/hooks/useContext.d.ts +2 -0
- package/dist/cjs/hooks/useContext.js +35 -0
- package/dist/cjs/hooks/useMounted.d.ts +1 -0
- package/dist/cjs/hooks/useMounted.js +38 -0
- package/dist/cjs/index.d.ts +33 -30
- package/dist/cjs/index.js +33 -30
- package/dist/cjs/styles/_import.components.scss +1 -2
- package/dist/cjs/styles/_import.scss +1 -2
- package/dist/cjs/styles/animation.scss +35 -35
- package/dist/cjs/styles/column.scss +0 -1
- package/dist/cjs/styles/mixins.scss +30 -8
- package/dist/cjs/styles/motion.scss +367 -44
- package/dist/cjs/styles/progress.scss +1 -129
- package/dist/cjs/styles/variables.scss +6 -4
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/cjs/types.d.ts +15 -3
- package/dist/cjs/utils/get-breakpoints-config-classes.d.ts +1 -1
- package/dist/cjs/utils/index.d.ts +3 -4
- package/dist/cjs/utils/index.js +3 -4
- package/dist/cjs/utils/motion.d.ts +3 -3
- package/dist/cjs/utils/motion.js +23 -21
- package/dist/esm/components/Accordion/Accordion.d.ts +3 -2
- package/dist/esm/components/Accordion/Accordion.js +8 -4
- package/dist/esm/components/Accordion/Item.d.ts +3 -6
- package/dist/esm/components/Accordion/Item.js +3 -3
- package/dist/esm/components/Accordion/index.d.ts +6 -5
- package/dist/esm/components/Accordion/index.js +2 -2
- package/dist/esm/components/Alert/index.d.ts +3 -3
- package/dist/esm/components/Alert/index.js +17 -10
- package/dist/esm/components/Align/Align.d.ts +5 -7
- package/dist/esm/components/Align/Align.js +9 -5
- package/dist/esm/components/Align/Left.d.ts +3 -5
- package/dist/esm/components/Align/Left.js +2 -4
- package/dist/esm/components/Align/Right.d.ts +3 -5
- package/dist/esm/components/Align/Right.js +2 -4
- package/dist/esm/components/Align/index.d.ts +8 -7
- package/dist/esm/components/Align/index.js +3 -3
- package/dist/esm/components/Article/Article.d.ts +1 -1
- package/dist/esm/components/Article/Article.js +9 -3
- package/dist/esm/components/Article/Meta.d.ts +4 -9
- package/dist/esm/components/Article/Meta.js +7 -4
- package/dist/esm/components/Article/Title.d.ts +4 -9
- package/dist/esm/components/Article/Title.js +7 -4
- package/dist/esm/components/Article/index.d.ts +7 -9
- package/dist/esm/components/Article/index.js +3 -3
- package/dist/esm/components/Badge/index.d.ts +4 -6
- package/dist/esm/components/Badge/index.js +7 -3
- package/dist/esm/components/Breadcrumb/Breadcrumb.d.ts +1 -1
- package/dist/esm/components/Breadcrumb/Breadcrumb.js +7 -3
- package/dist/esm/components/Breadcrumb/Item.d.ts +1 -4
- package/dist/esm/components/Breadcrumb/Item.js +2 -2
- package/dist/esm/components/Breadcrumb/index.d.ts +5 -5
- package/dist/esm/components/Breadcrumb/index.js +3 -3
- package/dist/esm/components/Button/Button.d.ts +1 -1
- package/dist/esm/components/Button/Button.js +16 -14
- package/dist/esm/components/Button/Group.d.ts +1 -4
- package/dist/esm/components/Button/Group.js +5 -4
- package/dist/esm/components/Button/index.d.ts +5 -5
- package/dist/esm/components/Button/index.js +2 -2
- package/dist/esm/components/Card/Badge.d.ts +3 -7
- package/dist/esm/components/Card/Badge.js +9 -5
- package/dist/esm/components/Card/Body.d.ts +1 -4
- package/dist/esm/components/Card/Body.js +7 -4
- package/dist/esm/components/Card/Card.d.ts +4 -6
- package/dist/esm/components/Card/Card.js +17 -10
- package/dist/esm/components/Card/Footer.d.ts +4 -9
- package/dist/esm/components/Card/Footer.js +7 -4
- package/dist/esm/components/Card/Header.d.ts +4 -9
- package/dist/esm/components/Card/Header.js +7 -4
- package/dist/esm/components/Card/Media.d.ts +1 -4
- package/dist/esm/components/Card/Media.js +7 -4
- package/dist/esm/components/Card/Title.d.ts +4 -9
- package/dist/esm/components/Card/Title.js +8 -5
- package/dist/esm/components/Card/index.d.ts +10 -10
- package/dist/esm/components/Card/index.js +7 -7
- package/dist/esm/components/Close/index.d.ts +3 -7
- package/dist/esm/components/Close/index.js +7 -3
- package/dist/esm/components/Component/index.d.ts +9 -4
- package/dist/esm/components/Component/index.js +3 -1
- package/dist/esm/components/ComponentProvider/index.d.ts +11 -0
- package/dist/esm/components/ComponentProvider/index.js +21 -0
- package/dist/esm/components/ConfrigProvider/index.d.ts +9 -7
- package/dist/esm/components/ConfrigProvider/index.js +37 -7
- package/dist/esm/components/Container/index.d.ts +4 -5
- package/dist/esm/components/Container/index.js +12 -6
- package/dist/esm/components/Control/Checkbox/Checkbox.d.ts +7 -2
- package/dist/esm/components/Control/Checkbox/Checkbox.js +65 -45
- package/dist/esm/components/Control/Checkbox/CheckboxGroupContext.d.ts +26 -0
- package/dist/esm/components/Control/Checkbox/CheckboxGroupContext.js +8 -0
- package/dist/esm/components/Control/Checkbox/Group.d.ts +14 -2
- package/dist/esm/components/Control/Checkbox/Group.js +31 -28
- package/dist/esm/components/Control/Checkbox/index.d.ts +8 -6
- package/dist/esm/components/Control/Checkbox/index.js +3 -3
- package/dist/esm/components/Control/Checkbox/index.scss +7 -2
- package/dist/esm/components/Control/Checkbox/types.d.ts +3 -66
- package/dist/esm/components/Control/Input/Input.d.ts +2 -2
- package/dist/esm/components/Control/Input/Input.js +22 -13
- package/dist/esm/components/Control/Input/Number/index.d.ts +2 -2
- package/dist/esm/components/Control/Input/Number/index.js +24 -19
- package/dist/esm/components/Control/Input/Password/index.d.ts +2 -2
- package/dist/esm/components/Control/Input/Password/index.js +39 -27
- package/dist/esm/components/Control/Input/index.d.ts +7 -7
- package/dist/esm/components/Control/Input/index.js +5 -5
- package/dist/esm/components/Control/Input/types.d.ts +5 -5
- package/dist/esm/components/Control/Input/useInput.d.ts +5 -4
- package/dist/esm/components/Control/Input/useInput.js +47 -50
- package/dist/esm/components/Control/Radio/Group.d.ts +7 -2
- package/dist/esm/components/Control/Radio/Group.js +24 -17
- package/dist/esm/components/Control/Radio/Radio.d.ts +6 -2
- package/dist/esm/components/Control/Radio/Radio.js +56 -39
- package/dist/esm/components/Control/Radio/RadioGroupContext.d.ts +9 -0
- package/dist/esm/components/Control/Radio/RadioGroupContext.js +8 -0
- package/dist/esm/components/Control/Radio/index.d.ts +6 -6
- package/dist/esm/components/Control/Radio/index.js +2 -3
- package/dist/esm/components/Control/Radio/index.scss +1 -0
- package/dist/esm/components/Control/Select/index.d.ts +8 -12
- package/dist/esm/components/Control/Select/index.js +73 -50
- package/dist/esm/components/Control/TextArea/index.d.ts +3 -10
- package/dist/esm/components/Control/TextArea/index.js +51 -47
- package/dist/esm/components/Control/TextArea/index.scss +1 -1
- package/dist/esm/components/Control/index.d.ts +6 -6
- package/dist/esm/components/Control/index.js +6 -6
- package/dist/esm/components/Control/types.d.ts +8 -7
- package/dist/esm/components/Cover/index.d.ts +2 -1
- package/dist/esm/components/Cover/index.js +24 -16
- package/dist/esm/components/DescriptionList/Description.d.ts +1 -6
- package/dist/esm/components/DescriptionList/Description.js +1 -3
- package/dist/esm/components/DescriptionList/DescriptionList.d.ts +2 -1
- package/dist/esm/components/DescriptionList/DescriptionList.js +10 -4
- package/dist/esm/components/DescriptionList/Term.d.ts +1 -6
- package/dist/esm/components/DescriptionList/Term.js +1 -3
- package/dist/esm/components/DescriptionList/index.d.ts +6 -6
- package/dist/esm/components/DescriptionList/index.js +3 -3
- package/dist/esm/components/Divider/index.d.ts +2 -1
- package/dist/esm/components/Divider/index.js +11 -5
- package/dist/esm/components/Dotnav/Dotnav.d.ts +2 -1
- package/dist/esm/components/Dotnav/Dotnav.js +10 -4
- package/dist/esm/components/Dotnav/Item.d.ts +1 -4
- package/dist/esm/components/Dotnav/Item.js +6 -4
- package/dist/esm/components/Dotnav/index.d.ts +5 -5
- package/dist/esm/components/Dotnav/index.js +2 -2
- package/dist/esm/components/Drawer/index.d.ts +7 -44
- package/dist/esm/components/Drawer/index.js +42 -141
- package/dist/esm/components/Drawer/index.scss +11 -14
- package/dist/esm/components/Drop/index.d.ts +12 -4
- package/dist/esm/components/Drop/index.js +38 -21
- package/dist/esm/components/Drop/index.scss +0 -26
- package/dist/esm/components/Dropdown/index.d.ts +3 -3
- package/dist/esm/components/Dropdown/index.js +5 -2
- package/dist/esm/components/Flex/index.d.ts +14 -15
- package/dist/esm/components/Flex/index.js +15 -12
- package/dist/esm/components/Form/Controls.d.ts +3 -4
- package/dist/esm/components/Form/Controls.js +9 -4
- package/dist/esm/components/Form/ControlsText.d.ts +3 -4
- package/dist/esm/components/Form/ControlsText.js +9 -4
- package/dist/esm/components/Form/Fieldset.d.ts +4 -4
- package/dist/esm/components/Form/Fieldset.js +9 -4
- package/dist/esm/components/Form/Form.d.ts +4 -5
- package/dist/esm/components/Form/Form.js +11 -6
- package/dist/esm/components/Form/Label.d.ts +3 -4
- package/dist/esm/components/Form/Label.js +8 -4
- package/dist/esm/components/Form/Legend.d.ts +3 -4
- package/dist/esm/components/Form/Legend.js +7 -4
- package/dist/esm/components/Form/index.d.ts +9 -9
- package/dist/esm/components/Form/index.js +6 -6
- package/dist/esm/components/Grid/index.d.ts +7 -8
- package/dist/esm/components/Grid/index.js +14 -11
- package/dist/esm/components/Heading/index.d.ts +5 -6
- package/dist/esm/components/Heading/index.js +11 -5
- package/dist/esm/components/Icon/Button.d.ts +3 -5
- package/dist/esm/components/Icon/Button.js +2 -4
- package/dist/esm/components/Icon/Icon.d.ts +4 -6
- package/dist/esm/components/Icon/Icon.js +9 -8
- package/dist/esm/components/Icon/Link.d.ts +3 -5
- package/dist/esm/components/Icon/Link.js +2 -4
- package/dist/esm/components/Icon/default-svg-props.d.ts +1 -1
- package/dist/esm/components/Icon/default-svg-props.js +1 -1
- package/dist/esm/components/Icon/index.d.ts +9 -9
- package/dist/esm/components/Icon/index.js +5 -5
- package/dist/esm/components/Iconnav/Iconnav.d.ts +1 -1
- package/dist/esm/components/Iconnav/Iconnav.js +6 -5
- package/dist/esm/components/Iconnav/Item.d.ts +1 -5
- package/dist/esm/components/Iconnav/Item.js +3 -3
- package/dist/esm/components/Iconnav/index.d.ts +5 -5
- package/dist/esm/components/Iconnav/index.js +2 -2
- package/dist/esm/components/Label/index.d.ts +1 -1
- package/dist/esm/components/Label/index.js +7 -6
- package/dist/esm/components/Label/index.scss +1 -1
- package/dist/esm/components/Link/index.d.ts +3 -3
- package/dist/esm/components/Link/index.js +9 -3
- package/dist/esm/components/List/Item.d.ts +2 -5
- package/dist/esm/components/List/Item.js +1 -3
- package/dist/esm/components/List/List.d.ts +1 -1
- package/dist/esm/components/List/List.js +8 -7
- package/dist/esm/components/List/index.d.ts +5 -5
- package/dist/esm/components/List/index.js +2 -2
- package/dist/esm/components/Modal/Modal.d.ts +4 -3
- package/dist/esm/components/Modal/Modal.js +19 -15
- package/dist/esm/components/Modal/index.d.ts +1 -1
- package/dist/esm/components/Modal/index.js +1 -1
- package/dist/esm/components/Nav/Divider.d.ts +3 -8
- package/dist/esm/components/Nav/Divider.js +5 -5
- package/dist/esm/components/Nav/Group/InternalNavItemGroup.d.ts +11 -0
- package/dist/esm/components/Nav/Group/InternalNavItemGroup.js +13 -0
- package/dist/esm/components/Nav/Group/index.d.ts +3 -0
- package/dist/esm/components/Nav/Group/index.js +18 -0
- package/dist/esm/components/Nav/Header.d.ts +1 -1
- package/dist/esm/components/Nav/Header.js +2 -2
- package/dist/esm/components/Nav/Item/InternalNavItem.d.ts +16 -2
- package/dist/esm/components/Nav/Item/InternalNavItem.js +54 -34
- package/dist/esm/components/Nav/Item/LegacyNavItem.js +1 -1
- package/dist/esm/components/Nav/Item/index.d.ts +2 -28
- package/dist/esm/components/Nav/Item/index.js +5 -5
- package/dist/esm/components/Nav/Nav.d.ts +23 -5
- package/dist/esm/components/Nav/Nav.js +161 -118
- package/dist/esm/components/Nav/Sub/InlineSubNavList.js +3 -3
- package/dist/esm/components/Nav/Sub/PopupTrigger.d.ts +6 -6
- package/dist/esm/components/Nav/Sub/PopupTrigger.js +21 -13
- package/dist/esm/components/Nav/Sub/SubNavList.d.ts +1 -1
- package/dist/esm/components/Nav/Sub/SubNavList.js +5 -3
- package/dist/esm/components/Nav/Sub/index.d.ts +3 -19
- package/dist/esm/components/Nav/Sub/index.js +55 -37
- package/dist/esm/components/Nav/context/IdContext.js +3 -0
- package/dist/esm/components/Nav/context/NavContext.d.ts +5 -4
- package/dist/esm/components/Nav/context/NavContext.js +9 -3
- package/dist/esm/components/Nav/context/PathContext.js +5 -0
- package/dist/esm/components/Nav/context/PrivateContext.d.ts +7 -0
- package/dist/esm/components/Nav/context/PrivateContext.js +2 -0
- package/dist/esm/components/Nav/hooks/useAccessibility.d.ts +2 -2
- package/dist/esm/components/Nav/hooks/useAccessibility.js +3 -3
- package/dist/esm/components/Nav/hooks/useActive.d.ts +2 -2
- package/dist/esm/components/Nav/hooks/useActive.js +5 -5
- package/dist/esm/components/Nav/hooks/useDirectionStyle.d.ts +2 -0
- package/dist/esm/components/Nav/hooks/useDirectionStyle.js +10 -0
- package/dist/esm/components/Nav/hooks/useKeyRecords.d.ts +3 -3
- package/dist/esm/components/Nav/hooks/useKeyRecords.js +13 -13
- package/dist/esm/components/Nav/hooks/useMemoCallback.d.ts +1 -1
- package/dist/esm/components/Nav/hooks/useMemoCallback.js +2 -1
- package/dist/esm/components/Nav/hooks/useUUID.d.ts +1 -1
- package/dist/esm/components/Nav/hooks/useUUID.js +2 -2
- package/dist/esm/components/Nav/index.d.ts +9 -9
- package/dist/esm/components/Nav/index.js +6 -6
- package/dist/esm/components/Nav/index.scss +10 -7
- package/dist/esm/components/Nav/types.d.ts +58 -10
- package/dist/esm/components/Nav/utils/alignUtil.d.ts +1 -1
- package/dist/esm/components/Nav/utils/motionUtil.d.ts +1 -1
- package/dist/esm/components/Nav/utils/nodeUtil.d.ts +3 -1
- package/dist/esm/components/Nav/utils/nodeUtil.js +36 -0
- package/dist/esm/components/Nav/utils/warnUtil.d.ts +1 -1
- package/dist/esm/components/Navbar/Center.d.ts +5 -7
- package/dist/esm/components/Navbar/Center.js +7 -4
- package/dist/esm/components/Navbar/Container.d.ts +4 -8
- package/dist/esm/components/Navbar/Container.js +8 -5
- package/dist/esm/components/Navbar/Item.d.ts +5 -8
- package/dist/esm/components/Navbar/Item.js +7 -4
- package/dist/esm/components/Navbar/Left.d.ts +5 -7
- package/dist/esm/components/Navbar/Left.js +7 -4
- package/dist/esm/components/Navbar/Nav.d.ts +2 -1
- package/dist/esm/components/Navbar/Nav.js +5 -2
- package/dist/esm/components/Navbar/Right.d.ts +3 -3
- package/dist/esm/components/Navbar/Toggle.d.ts +5 -4
- package/dist/esm/components/Navbar/index.d.ts +11 -11
- package/dist/esm/components/Navbar/index.js +8 -8
- package/dist/esm/components/Progress/index.d.ts +6 -0
- package/dist/esm/components/Progress/index.js +10 -0
- package/dist/esm/components/Progress/index.scss +129 -0
- package/dist/esm/components/Section/index.d.ts +4 -6
- package/dist/esm/components/Section/index.js +10 -7
- package/dist/esm/components/Spinner/index.d.ts +3 -3
- package/dist/esm/components/Spinner/index.js +8 -6
- package/dist/esm/components/Tabs/index.d.ts +7 -11
- package/dist/esm/components/Tabs/index.js +17 -17
- package/dist/esm/components/Tabs/index.scss +9 -1
- package/dist/esm/components/Text/index.d.ts +7 -8
- package/dist/esm/components/Text/index.js +22 -19
- package/dist/esm/components/Tile/index.d.ts +5 -6
- package/dist/esm/components/Tile/index.js +10 -7
- package/dist/esm/components/Tile/index.scss +8 -8
- package/dist/esm/components/Width/Width.d.ts +5 -6
- package/dist/esm/components/Width/Width.js +12 -5
- package/dist/esm/components/Width/index.d.ts +3 -3
- package/dist/esm/components/Width/index.js +3 -3
- package/dist/esm/components/Width/types.d.ts +6 -6
- package/dist/esm/components/Width/utils.d.ts +1 -1
- package/dist/esm/components/Width/utils.js +3 -1
- package/dist/esm/hooks/index.d.ts +3 -0
- package/dist/esm/hooks/index.js +3 -0
- package/dist/esm/hooks/useContext.d.ts +2 -0
- package/dist/esm/hooks/useContext.js +8 -0
- package/dist/esm/hooks/useMounted.d.ts +1 -0
- package/dist/esm/hooks/useMounted.js +11 -0
- package/dist/esm/index.d.ts +33 -30
- package/dist/esm/index.js +33 -30
- package/dist/esm/styles/_import.components.scss +1 -2
- package/dist/esm/styles/_import.scss +1 -2
- package/dist/esm/styles/animation.scss +35 -35
- package/dist/esm/styles/column.scss +0 -1
- package/dist/esm/styles/mixins.scss +30 -8
- package/dist/esm/styles/motion.scss +367 -44
- package/dist/esm/styles/progress.scss +1 -129
- package/dist/esm/styles/variables.scss +6 -4
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/esm/types.d.ts +15 -3
- package/dist/esm/utils/get-breakpoints-config-classes.d.ts +1 -1
- package/dist/esm/utils/index.d.ts +3 -4
- package/dist/esm/utils/index.js +3 -4
- package/dist/esm/utils/motion.d.ts +3 -3
- package/dist/esm/utils/motion.js +20 -19
- package/package.json +36 -34
- package/dist/cjs/components/Component/Component.d.ts +0 -8
- package/dist/cjs/components/Control/Checkbox/Context.d.ts +0 -4
- package/dist/cjs/components/Control/Radio/Context.d.ts +0 -4
- package/dist/cjs/components/Control/Radio/types.d.ts +0 -25
- package/dist/cjs/components/Control/Radio/types.js +0 -2
- package/dist/cjs/components/Nav/Group.d.ts +0 -14
- package/dist/cjs/utils/hooks/index.d.ts +0 -1
- package/dist/esm/components/Component/Component.d.ts +0 -8
- package/dist/esm/components/Component/Component.js +0 -3
- package/dist/esm/components/Control/Checkbox/Context.d.ts +0 -4
- package/dist/esm/components/Control/Checkbox/Context.js +0 -5
- package/dist/esm/components/Control/Radio/Context.d.ts +0 -4
- package/dist/esm/components/Control/Radio/Context.js +0 -5
- package/dist/esm/components/Control/Radio/types.d.ts +0 -25
- package/dist/esm/components/Control/Radio/types.js +0 -1
- package/dist/esm/components/Nav/Group.d.ts +0 -14
- package/dist/esm/components/Nav/Group.js +0 -26
- package/dist/esm/utils/hooks/index.d.ts +0 -1
- package/dist/esm/utils/hooks/index.js +0 -1
- /package/dist/cjs/{utils/hooks → hooks}/useForceUpdate.d.ts +0 -0
- /package/dist/cjs/{utils/hooks → hooks}/useForceUpdate.js +0 -0
- /package/dist/esm/{utils/hooks → hooks}/useForceUpdate.d.ts +0 -0
- /package/dist/esm/{utils/hooks → hooks}/useForceUpdate.js +0 -0
|
@@ -3,21 +3,26 @@ import { noop } from '@broxus/js-utils';
|
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import Overflow from 'rc-overflow';
|
|
5
5
|
import warning from 'rc-util/lib/warning';
|
|
6
|
-
import { useNavId } from '
|
|
7
|
-
import { NavContext, NavContextProvider } from '
|
|
8
|
-
import { PathTrackerContext, PathUserContext, useFullPath, useMeasure, } from '
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
6
|
+
import { useNavId } from '../../Nav/context/IdContext';
|
|
7
|
+
import { NavContext, NavContextProvider } from '../../Nav/context/NavContext';
|
|
8
|
+
import { PathTrackerContext, PathUserContext, useFullPath, useMeasure, } from '../../Nav/context/PathContext';
|
|
9
|
+
import { PrivateContext } from '../../Nav/context/PrivateContext';
|
|
10
|
+
import { useActive } from '../../Nav/hooks/useActive';
|
|
11
|
+
import { useDirectionStyle } from '../../Nav/hooks/useDirectionStyle';
|
|
12
|
+
import { useMemoCallback } from '../../Nav/hooks/useMemoCallback';
|
|
13
|
+
import { InlineSubNavList } from '../../Nav/Sub/InlineSubNavList';
|
|
14
|
+
import { PopupTrigger } from '../../Nav/Sub/PopupTrigger';
|
|
15
|
+
import { SubNavList } from '../../Nav/Sub/SubNavList';
|
|
16
|
+
import { parseChildren } from '../../Nav/utils/nodeUtil';
|
|
17
|
+
import { warnItemProp } from '../../Nav/utils/warnUtil';
|
|
18
|
+
const InternalSubNav = React.memo((props) => {
|
|
19
|
+
const { children, className, disabled, eventKey, expandIcon, internalPopupClose, itemIcon, popupClassName, popupOffset, style, title, warnKey, onClick, onMouseEnter, onMouseLeave, onTitleClick, onTitleMouseEnter, onTitleMouseLeave, ...restProps } = props;
|
|
17
20
|
const domDataId = useNavId(eventKey);
|
|
18
|
-
const { activeKey, disabled
|
|
21
|
+
const { activeKey, disabled: contextDisabled, expandIcon: contextExpandIcon, itemIcon: contextItemIcon, mode, openKeys, overflowDisabled, popupPrefixCls, selectedKeys, onActive, onItemClick, onOpenChange, } = React.useContext(NavContext);
|
|
19
22
|
const pathUser = React.useContext(PathUserContext);
|
|
20
23
|
const connectedPath = useFullPath();
|
|
24
|
+
const { _internalRenderSubMenuItem } = React.useContext(PrivateContext);
|
|
25
|
+
const mergedDisabled = contextDisabled || disabled;
|
|
21
26
|
const elementRef = React.useRef(null);
|
|
22
27
|
const popupRef = React.useRef();
|
|
23
28
|
// ================================ Warn ================================
|
|
@@ -44,7 +49,7 @@ function InternalSubNav({ children, className, eventKey, expandIcon, internalPop
|
|
|
44
49
|
const onInternalMouseEnter = domEvent => {
|
|
45
50
|
triggerChildrenActive(true);
|
|
46
51
|
if (eventKey) {
|
|
47
|
-
|
|
52
|
+
onMouseEnter?.({
|
|
48
53
|
domEvent,
|
|
49
54
|
key: eventKey,
|
|
50
55
|
});
|
|
@@ -53,7 +58,7 @@ function InternalSubNav({ children, className, eventKey, expandIcon, internalPop
|
|
|
53
58
|
const onInternalMouseLeave = domEvent => {
|
|
54
59
|
triggerChildrenActive(false);
|
|
55
60
|
if (eventKey) {
|
|
56
|
-
|
|
61
|
+
onMouseLeave?.({
|
|
57
62
|
domEvent,
|
|
58
63
|
key: eventKey,
|
|
59
64
|
});
|
|
@@ -67,7 +72,9 @@ function InternalSubNav({ children, className, eventKey, expandIcon, internalPop
|
|
|
67
72
|
return childrenActive || pathUser?.isSubPathKey([activeKey], eventKey);
|
|
68
73
|
}
|
|
69
74
|
return false;
|
|
70
|
-
}, [
|
|
75
|
+
}, [active, mode, eventKey, childrenActive, pathUser, activeKey]);
|
|
76
|
+
// ========================== DirectionStyle ==========================
|
|
77
|
+
const directionStyle = useDirectionStyle(connectedPath.length);
|
|
71
78
|
// =============================== Events ===============================
|
|
72
79
|
// Title click
|
|
73
80
|
const onInternalTitleClick = e => {
|
|
@@ -98,7 +105,7 @@ function InternalSubNav({ children, className, eventKey, expandIcon, internalPop
|
|
|
98
105
|
}
|
|
99
106
|
};
|
|
100
107
|
/**
|
|
101
|
-
* Used for accessibility. Helper will focus element without
|
|
108
|
+
* Used for accessibility. Helper will focus element without keyboard.
|
|
102
109
|
* We should manually trigger an active
|
|
103
110
|
*/
|
|
104
111
|
const onInternalFocus = () => {
|
|
@@ -107,38 +114,49 @@ function InternalSubNav({ children, className, eventKey, expandIcon, internalPop
|
|
|
107
114
|
}
|
|
108
115
|
};
|
|
109
116
|
// =============================== Render ===============================
|
|
110
|
-
const popupId = domDataId ? `${domDataId}-
|
|
117
|
+
const popupId = domDataId ? `${domDataId}-dropdown` : undefined;
|
|
111
118
|
// Title
|
|
112
|
-
let titleNode = (React.createElement("a", { role: disabled ? undefined : 'menuitem', tabIndex: disabled ? undefined : -1, ref: elementRef, title: typeof title === 'string' ? title : undefined, "aria-controls": popupId, "aria-disabled": disabled, "aria-expanded": open, "aria-haspopup": true, "data-nav-id": overflowDisabled && domDataId ? null : domDataId, onClick: onInternalTitleClick, onFocus: onInternalFocus, ...activeProps }, title));
|
|
113
|
-
// Cache mode if it
|
|
119
|
+
let titleNode = (React.createElement("a", { role: disabled ? undefined : 'menuitem', tabIndex: disabled ? undefined : -1, ref: elementRef, title: typeof title === 'string' ? title : undefined, "aria-controls": popupId, "aria-disabled": disabled, "aria-expanded": open, "aria-haspopup": true, "data-nav-id": overflowDisabled && domDataId ? null : domDataId, style: { ...directionStyle }, onClick: onInternalTitleClick, onFocus: onInternalFocus, ...activeProps }, title));
|
|
120
|
+
// Cache mode if it changes to `inline` which do not have popup motion
|
|
114
121
|
const triggerModeRef = React.useRef(mode);
|
|
115
|
-
if (mode !== 'inline') {
|
|
116
|
-
triggerModeRef.current =
|
|
122
|
+
if (mode !== 'inline' && connectedPath.length > 1) {
|
|
123
|
+
triggerModeRef.current = 'vertical';
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
triggerModeRef.current = mode;
|
|
117
127
|
}
|
|
118
128
|
if (!overflowDisabled) {
|
|
119
129
|
const triggerMode = triggerModeRef.current;
|
|
120
130
|
// Still wrap with Trigger here since we need avoid react re-mount dom node
|
|
121
131
|
// Which makes motion failed
|
|
122
|
-
titleNode = (React.createElement(PopupTrigger, { disabled: disabled, mode: triggerMode, popup:
|
|
132
|
+
titleNode = (React.createElement(PopupTrigger, { disabled: disabled, mode: triggerMode, popup: React.createElement(NavContextProvider
|
|
123
133
|
// Special handle of horizontal mode
|
|
124
134
|
, {
|
|
125
135
|
// Special handle of horizontal mode
|
|
126
136
|
mode: triggerMode === 'horizontal' ? 'vertical' : triggerMode },
|
|
127
|
-
React.createElement(SubNavList, { className:
|
|
137
|
+
React.createElement(SubNavList, { className: `${popupPrefixCls}-nav`, id: popupId, ref: popupRef }, children)), popupClassName: popupClassName, popupOffset: popupOffset, prefixCls: popupPrefixCls, visible: !internalPopupClose && open && mode !== 'inline', onVisibleChange: onPopupVisibleChange }, titleNode));
|
|
128
138
|
}
|
|
129
|
-
//
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
139
|
+
// List node
|
|
140
|
+
let listNode = (React.createElement(Overflow.Item, { className: classNames('uk-parent', className, {
|
|
141
|
+
'uk-active': childrenSelected,
|
|
142
|
+
'uk-disabled': disabled,
|
|
143
|
+
'uk-hover': mergedActive,
|
|
144
|
+
'uk-open': open,
|
|
145
|
+
}), role: "none", ...restProps, component: "li", style: style, onMouseEnter: onInternalMouseEnter, onMouseLeave: onInternalMouseLeave },
|
|
146
|
+
titleNode,
|
|
147
|
+
!overflowDisabled && (React.createElement(InlineSubNavList, { id: popupId, open: open, keyPath: connectedPath }, children))));
|
|
148
|
+
if (_internalRenderSubMenuItem) {
|
|
149
|
+
listNode = _internalRenderSubMenuItem(listNode, props, {
|
|
150
|
+
active: !!mergedActive,
|
|
151
|
+
disabled: !!mergedDisabled,
|
|
152
|
+
open,
|
|
153
|
+
selected: !!childrenSelected,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
return (React.createElement(NavContextProvider, { expandIcon: mergedExpandIcon, itemIcon: mergedItemIcon, mode: mode === 'horizontal' ? 'vertical' : mode, onItemClick: onMergedItemClick }, listNode));
|
|
157
|
+
});
|
|
140
158
|
// eslint-disable-next-line react/no-multi-comp
|
|
141
|
-
export
|
|
159
|
+
export const Sub = React.memo((props) => {
|
|
142
160
|
const { eventKey, children } = props;
|
|
143
161
|
const connectedKeyPath = useFullPath(eventKey);
|
|
144
162
|
const childList = parseChildren(children, connectedKeyPath);
|
|
@@ -151,9 +169,9 @@ export function Sub(props) {
|
|
|
151
169
|
};
|
|
152
170
|
}
|
|
153
171
|
return noop;
|
|
154
|
-
}, [connectedKeyPath]);
|
|
172
|
+
}, [connectedKeyPath, eventKey, measure]);
|
|
155
173
|
return (React.createElement(PathTrackerContext.Provider, { value: connectedKeyPath }, measure ? childList : React.createElement(InternalSubNav, { ...props }, childList)));
|
|
156
|
-
}
|
|
174
|
+
});
|
|
157
175
|
if (process.env.NODE_ENV !== 'production') {
|
|
158
176
|
Sub.displayName = 'Nav.Sub';
|
|
159
177
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type
|
|
3
|
-
import type
|
|
2
|
+
import { type CSSMotionProps } from 'rc-motion';
|
|
3
|
+
import { type BuiltinPlacements, type NavClickEventHandler, type NavMode, type RenderIconType, type TriggerSubNavAction } from '../../Nav/types';
|
|
4
4
|
export interface NavContextProps {
|
|
5
5
|
activeKey: string;
|
|
6
6
|
builtinPlacements?: BuiltinPlacements;
|
|
@@ -11,6 +11,7 @@ export interface NavContextProps {
|
|
|
11
11
|
expandIcon?: RenderIconType;
|
|
12
12
|
forceSubNavRender?: boolean;
|
|
13
13
|
getPopupContainer: (node: HTMLElement) => HTMLElement;
|
|
14
|
+
inlineIndent?: number;
|
|
14
15
|
itemIcon?: RenderIconType;
|
|
15
16
|
mode: NavMode;
|
|
16
17
|
motion?: CSSMotionProps;
|
|
@@ -22,7 +23,7 @@ export interface NavContextProps {
|
|
|
22
23
|
selectedKeys: string[];
|
|
23
24
|
subNavOpenDelay: number;
|
|
24
25
|
subNavCloseDelay: number;
|
|
25
|
-
triggerSubNavAction?:
|
|
26
|
+
triggerSubNavAction?: TriggerSubNavAction;
|
|
26
27
|
onActive: (key: string) => void;
|
|
27
28
|
onInactive: (key: string) => void;
|
|
28
29
|
onItemClick: NavClickEventHandler;
|
|
@@ -33,4 +34,4 @@ export interface InheritableContextProps extends Partial<NavContextProps> {
|
|
|
33
34
|
children?: React.ReactNode;
|
|
34
35
|
locked?: boolean;
|
|
35
36
|
}
|
|
36
|
-
export declare function NavContextProvider(
|
|
37
|
+
export declare function NavContextProvider(props: InheritableContextProps): JSX.Element;
|
|
@@ -18,13 +18,19 @@ function mergeProps(origin, target) {
|
|
|
18
18
|
});
|
|
19
19
|
return clone;
|
|
20
20
|
}
|
|
21
|
-
export function NavContextProvider(
|
|
21
|
+
export function NavContextProvider(props) {
|
|
22
22
|
const config = useConfig();
|
|
23
23
|
const context = React.useContext(NavContext);
|
|
24
|
+
const { children, locked, ...restProps } = props;
|
|
24
25
|
const inheritableContext = useMemo(() => mergeProps({
|
|
25
26
|
...context,
|
|
26
27
|
popupPrefixCls: `${config.prefixCls}-dropdown`,
|
|
27
28
|
prefixCls: `${config.prefixCls}-nav`,
|
|
28
|
-
},
|
|
29
|
-
|
|
29
|
+
}, restProps),
|
|
30
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
31
|
+
[context, restProps], (prev, next) => !locked && (prev[0] !== next[0] || !shallowEqual(prev[1], next[1])));
|
|
32
|
+
return React.createElement(NavContext.Provider, { value: inheritableContext }, children);
|
|
33
|
+
}
|
|
34
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
35
|
+
NavContext.displayName = 'NavContext';
|
|
30
36
|
}
|
|
@@ -10,3 +10,8 @@ export function useFullPath(eventKey) {
|
|
|
10
10
|
return React.useMemo(() => (eventKey !== undefined ? [...parentKeyPath, eventKey] : parentKeyPath), [parentKeyPath, eventKey]);
|
|
11
11
|
}
|
|
12
12
|
export const PathUserContext = React.createContext(null);
|
|
13
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
14
|
+
PathRegisterContext.displayName = 'PathRegisterContext';
|
|
15
|
+
PathTrackerContext.displayName = 'PathTrackerContext';
|
|
16
|
+
PathUserContext.displayName = 'PathUserContext';
|
|
17
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type NavProps } from '../../Nav/Nav';
|
|
3
|
+
export interface PrivateContextProps {
|
|
4
|
+
_internalRenderMenuItem?: NavProps['_internalRenderMenuItem'];
|
|
5
|
+
_internalRenderSubMenuItem?: NavProps['_internalRenderSubMenuItem'];
|
|
6
|
+
}
|
|
7
|
+
export declare const PrivateContext: React.Context<PrivateContextProps>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type
|
|
3
|
-
export
|
|
2
|
+
import { type NavMode } from '../../Nav/types';
|
|
3
|
+
export declare function useAccessibility<T extends HTMLElement>(mode: NavMode, activeKey: string, isRtl: boolean, id: string, containerRef: React.RefObject<HTMLUListElement>, getKeys: () => string[], getKeyPath: (key: string, includeOverflow?: boolean) => string[], triggerActiveKey: (key: string) => void, triggerAccessibilityOpen: (key: string, open?: boolean) => void, originOnKeyDown?: React.KeyboardEventHandler<T>): React.KeyboardEventHandler<T>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { getFocusNodeList } from 'rc-util/lib/Dom/focus';
|
|
2
3
|
import KeyCode from 'rc-util/lib/KeyCode';
|
|
3
4
|
import raf from 'rc-util/lib/raf';
|
|
4
|
-
import {
|
|
5
|
-
import { getNavId } from '../context/IdContext';
|
|
5
|
+
import { getNavId } from '../../Nav/context/IdContext';
|
|
6
6
|
// destruct to reduce minify size
|
|
7
7
|
const { LEFT, RIGHT, UP, DOWN, ENTER, ESC } = KeyCode;
|
|
8
8
|
const ArrowKeys = [UP, DOWN, LEFT, RIGHT];
|
|
@@ -126,7 +126,7 @@ function getNextFocusElement(parentQueryContainer, elements, focusMenuElement, o
|
|
|
126
126
|
// Focus menu item
|
|
127
127
|
return sameLevelFocusableMenuElementList[focusIndex];
|
|
128
128
|
}
|
|
129
|
-
export
|
|
129
|
+
export function useAccessibility(mode, activeKey, isRtl, id, containerRef, getKeys, getKeyPath, triggerActiveKey, triggerAccessibilityOpen, originOnKeyDown) {
|
|
130
130
|
const rafRef = React.useRef();
|
|
131
131
|
const activeRef = React.useRef();
|
|
132
132
|
activeRef.current = activeKey;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type
|
|
2
|
+
import { type NavHoverEventHandler } from '../../Nav/types';
|
|
3
3
|
interface ActiveObj {
|
|
4
4
|
active: boolean;
|
|
5
5
|
onMouseEnter?: React.MouseEventHandler<HTMLElement>;
|
|
6
6
|
onMouseLeave?: React.MouseEventHandler<HTMLElement>;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
8
|
+
export declare function useActive(eventKey?: string, disabled?: boolean, onMouseEnter?: NavHoverEventHandler, onMouseLeave?: NavHoverEventHandler): ActiveObj;
|
|
9
9
|
export {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { NavContext } from '
|
|
3
|
-
export
|
|
4
|
-
if (eventKey === undefined) {
|
|
5
|
-
return { active: false };
|
|
6
|
-
}
|
|
2
|
+
import { NavContext } from '../../Nav/context/NavContext';
|
|
3
|
+
export function useActive(eventKey, disabled, onMouseEnter, onMouseLeave) {
|
|
7
4
|
const {
|
|
8
5
|
// Active
|
|
9
6
|
activeKey, onActive, onInactive, } = React.useContext(NavContext);
|
|
7
|
+
if (eventKey === undefined) {
|
|
8
|
+
return { active: false };
|
|
9
|
+
}
|
|
10
10
|
const ret = {
|
|
11
11
|
active: activeKey === eventKey,
|
|
12
12
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { NavContext } from '../../Nav/context/NavContext';
|
|
3
|
+
export function useDirectionStyle(level) {
|
|
4
|
+
const { mode, rtl, inlineIndent } = React.useContext(NavContext);
|
|
5
|
+
if (mode !== 'inline') {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
const len = level;
|
|
9
|
+
return rtl ? { paddingRight: len * (inlineIndent ?? 0) } : { paddingLeft: len * (inlineIndent ?? 0) };
|
|
10
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export declare const OVERFLOW_KEY = "rc-menu-more";
|
|
2
|
-
|
|
2
|
+
type KeyRecords = {
|
|
3
3
|
registerPath: (key: string, keyPath: string[]) => void;
|
|
4
4
|
unregisterPath: (key: string, keyPath: string[]) => void;
|
|
5
5
|
refreshOverflowKeys: (keys: string[]) => void;
|
|
6
6
|
isSubPathKey: (pathKeys: string[], eventKey: string) => boolean;
|
|
7
|
-
getKeyPath: (eventKey: string, includeOverflow?:
|
|
7
|
+
getKeyPath: (eventKey: string, includeOverflow?: boolean | undefined) => string[];
|
|
8
8
|
getKeys: () => string[];
|
|
9
9
|
getSubPathKeys: (key: string) => Set<string>;
|
|
10
10
|
};
|
|
11
|
-
export
|
|
11
|
+
export declare function useKeyRecords(): KeyRecords;
|
|
12
12
|
export {};
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import warning from 'rc-util/lib/warning';
|
|
3
|
-
import { nextSlice } from '
|
|
3
|
+
import { nextSlice } from '../../Nav/utils/timeUtil';
|
|
4
|
+
import { useForceUpdate } from '../../../hooks';
|
|
4
5
|
const PATH_SPLIT = '__RC_UTIL_PATH_SPLIT__';
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
function getPathStr(keyPath) {
|
|
7
|
+
return keyPath.join(PATH_SPLIT);
|
|
8
|
+
}
|
|
9
|
+
function getPathKeys(keyPathStr) {
|
|
10
|
+
return keyPathStr.split(PATH_SPLIT);
|
|
11
|
+
}
|
|
7
12
|
export const OVERFLOW_KEY = 'rc-menu-more';
|
|
8
|
-
export
|
|
9
|
-
const
|
|
13
|
+
export function useKeyRecords() {
|
|
14
|
+
const forceUpdate = useForceUpdate();
|
|
10
15
|
const key2pathRef = React.useRef(new Map());
|
|
11
16
|
const path2keyRef = React.useRef(new Map());
|
|
12
|
-
const [overflowKeys, setOverflowKeys] = React.useState([]);
|
|
13
17
|
const updateRef = React.useRef(0);
|
|
14
18
|
const destroyRef = React.useRef(false);
|
|
15
|
-
const
|
|
16
|
-
if (!destroyRef.current) {
|
|
17
|
-
internalForceUpdate({});
|
|
18
|
-
}
|
|
19
|
-
};
|
|
19
|
+
const [overflowKeys, setOverflowKeys] = React.useState([]);
|
|
20
20
|
const registerPath = React.useCallback((key, keyPath) => {
|
|
21
21
|
// Warning for invalidate or duplicated `key`
|
|
22
22
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -29,11 +29,11 @@ export default function useKeyRecords() {
|
|
|
29
29
|
updateRef.current += 1;
|
|
30
30
|
const id = updateRef.current;
|
|
31
31
|
nextSlice(() => {
|
|
32
|
-
if (id === updateRef.current) {
|
|
32
|
+
if (id === updateRef.current && !destroyRef.current) {
|
|
33
33
|
forceUpdate();
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
-
}, []);
|
|
36
|
+
}, [forceUpdate]);
|
|
37
37
|
const unregisterPath = React.useCallback((key, keyPath) => {
|
|
38
38
|
const connectedPath = getPathStr(keyPath);
|
|
39
39
|
path2keyRef.current.delete(connectedPath);
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Cache callback function that always return same ref instead.
|
|
3
3
|
* This is used for context optimization.
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
5
|
+
export declare function useMemoCallback<T extends (...args: any[]) => void>(func: T): T;
|
|
@@ -3,9 +3,10 @@ import * as React from 'react';
|
|
|
3
3
|
* Cache callback function that always return same ref instead.
|
|
4
4
|
* This is used for context optimization.
|
|
5
5
|
*/
|
|
6
|
-
export
|
|
6
|
+
export function useMemoCallback(func) {
|
|
7
7
|
const funRef = React.useRef(func);
|
|
8
8
|
funRef.current = func;
|
|
9
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
9
10
|
const callback = React.useCallback(((...args) => funRef.current?.(...args)), []);
|
|
10
11
|
return typeof func === 'function' ? callback : undefined;
|
|
11
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare function useUUID(id?: string): string | undefined;
|
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import useMergedState from 'rc-util/lib/hooks/useMergedState';
|
|
3
3
|
const uniquePrefix = Math.random().toFixed(5).toString().slice(2);
|
|
4
4
|
let internalId = 0;
|
|
5
|
-
export
|
|
5
|
+
export function useUUID(id) {
|
|
6
6
|
const [uuid, setUUID] = useMergedState(id, {
|
|
7
7
|
value: id,
|
|
8
8
|
});
|
|
@@ -12,6 +12,6 @@ export default function useUUID(id) {
|
|
|
12
12
|
? 'test'
|
|
13
13
|
: `${uniquePrefix}-${internalId}`;
|
|
14
14
|
setUUID(`uk-nav-uuid-${newId}`);
|
|
15
|
-
}, []);
|
|
15
|
+
}, [setUUID]);
|
|
16
16
|
return uuid;
|
|
17
17
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { Divider } from '
|
|
3
|
-
import { Group } from '
|
|
4
|
-
import { Header } from '
|
|
5
|
-
import { Item } from '
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
import { Divider } from '../Nav/Divider';
|
|
3
|
+
import { Group } from '../Nav/Group';
|
|
4
|
+
import { Header } from '../Nav/Header';
|
|
5
|
+
import { Item } from '../Nav/Item';
|
|
6
|
+
import { type NavProps } from '../Nav/Nav';
|
|
7
|
+
import { Sub } from '../Nav/Sub';
|
|
8
8
|
import './index.scss';
|
|
9
9
|
export type { NavProps };
|
|
10
|
-
export interface
|
|
10
|
+
export interface Nav extends React.MemoExoticComponent<React.ForwardRefExoticComponent<NavProps>> {
|
|
11
11
|
Divider: typeof Divider;
|
|
12
12
|
Group: typeof Group;
|
|
13
13
|
Header: typeof Header;
|
|
14
14
|
Item: typeof Item;
|
|
15
15
|
Sub: typeof Sub;
|
|
16
16
|
}
|
|
17
|
-
export declare const Nav:
|
|
17
|
+
export declare const Nav: Nav;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Divider } from '
|
|
2
|
-
import { Group } from '
|
|
3
|
-
import { Header } from '
|
|
4
|
-
import { Item } from '
|
|
5
|
-
import { Nav as InternalNav } from '
|
|
6
|
-
import { Sub } from '
|
|
1
|
+
import { Divider } from '../Nav/Divider';
|
|
2
|
+
import { Group } from '../Nav/Group';
|
|
3
|
+
import { Header } from '../Nav/Header';
|
|
4
|
+
import { Item } from '../Nav/Item';
|
|
5
|
+
import { Nav as InternalNav } from '../Nav/Nav';
|
|
6
|
+
import { Sub } from '../Nav/Sub';
|
|
7
7
|
import './index.scss';
|
|
8
8
|
export const Nav = InternalNav;
|
|
9
9
|
Nav.Divider = Divider;
|
|
@@ -90,13 +90,13 @@
|
|
|
90
90
|
.uk-nav-item {
|
|
91
91
|
position: relative;
|
|
92
92
|
white-space: nowrap;
|
|
93
|
+
}
|
|
93
94
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
95
|
+
/* Disabled */
|
|
96
|
+
.uk-nav-item-disabled {
|
|
97
|
+
cursor: not-allowed;
|
|
98
|
+
opacity: 0.85;
|
|
99
|
+
pointer-events: none;
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
|
|
@@ -258,7 +258,7 @@
|
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
260
|
|
|
261
|
-
&-placement-
|
|
261
|
+
&-placement-right-top::before {
|
|
262
262
|
left: -7px;
|
|
263
263
|
top: 0;
|
|
264
264
|
}
|
|
@@ -320,6 +320,7 @@ ul.uk-nav-sub {
|
|
|
320
320
|
========================================================================== */
|
|
321
321
|
|
|
322
322
|
.uk-nav-divider {
|
|
323
|
+
border-top: var(--nav-divider-border-width) solid var(--nav-divider-border);
|
|
323
324
|
margin: var(--nav-divider-margin-vertical) var(--nav-divider-margin-horizontal);
|
|
324
325
|
@if mixin-exists(hook-nav-divider) {
|
|
325
326
|
@include hook-nav-divider;
|
|
@@ -547,6 +548,8 @@ ul.uk-nav-sub {
|
|
|
547
548
|
--nav-header-font-size: var(--global-small-font-size);
|
|
548
549
|
--nav-header-text-transform: #{$nav-header-text-transform};
|
|
549
550
|
--nav-header-margin-top: var(--global-margin);
|
|
551
|
+
--nav-divider-border-width: var(--global-border-width);
|
|
552
|
+
--nav-divider-border: var(--global-border);
|
|
550
553
|
--nav-divider-margin-vertical: #{$nav-divider-margin-vertical};
|
|
551
554
|
--nav-divider-margin-horizontal: #{$nav-divider-margin-horizontal};
|
|
552
555
|
--nav-default-item-color: var(--global-muted-color);
|
|
@@ -1,18 +1,65 @@
|
|
|
1
1
|
import type * as React from 'react';
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
export type NavRef = {
|
|
3
|
+
/**
|
|
4
|
+
* Focus active child if any, or the first child which is not disabled will be focused.
|
|
5
|
+
* @param {FocusOptions} [options]
|
|
6
|
+
*/
|
|
7
|
+
focus: (options?: FocusOptions) => void;
|
|
8
|
+
list: HTMLUListElement | null;
|
|
9
|
+
};
|
|
10
|
+
interface ItemSharedProps {
|
|
11
|
+
className?: string;
|
|
12
|
+
style?: React.CSSProperties;
|
|
13
|
+
}
|
|
14
|
+
export interface SubNavType extends ItemSharedProps {
|
|
15
|
+
label?: React.ReactNode;
|
|
16
|
+
children: ItemType[];
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
key: string;
|
|
19
|
+
rootClassName?: string;
|
|
20
|
+
itemIcon?: RenderIconType;
|
|
21
|
+
expandIcon?: RenderIconType;
|
|
22
|
+
onMouseEnter?: NavHoverEventHandler;
|
|
23
|
+
onMouseLeave?: NavHoverEventHandler;
|
|
24
|
+
popupClassName?: string;
|
|
25
|
+
popupOffset?: number[];
|
|
26
|
+
onClick?: NavClickEventHandler;
|
|
27
|
+
onTitleClick?: (info: NavTitleInfo) => void;
|
|
28
|
+
onTitleMouseEnter?: NavHoverEventHandler;
|
|
29
|
+
onTitleMouseLeave?: NavHoverEventHandler;
|
|
30
|
+
}
|
|
31
|
+
export interface NavItemType extends ItemSharedProps {
|
|
32
|
+
label?: React.ReactNode;
|
|
33
|
+
disabled?: boolean;
|
|
34
|
+
itemIcon?: RenderIconType;
|
|
35
|
+
key: React.Key;
|
|
36
|
+
onMouseEnter?: NavHoverEventHandler;
|
|
37
|
+
onMouseLeave?: NavHoverEventHandler;
|
|
38
|
+
onClick?: NavClickEventHandler;
|
|
39
|
+
}
|
|
40
|
+
export interface NavItemGroupType extends ItemSharedProps {
|
|
41
|
+
type: 'group';
|
|
42
|
+
label?: React.ReactNode;
|
|
43
|
+
children?: ItemType[];
|
|
44
|
+
}
|
|
45
|
+
export interface NavDividerType extends ItemSharedProps {
|
|
46
|
+
type: 'divider';
|
|
47
|
+
}
|
|
48
|
+
export type ItemType = SubNavType | NavItemType | NavItemGroupType | NavDividerType | null;
|
|
49
|
+
export type NavMode = 'inline' | 'vertical' | 'vertical-left' | 'vertical-right' | 'horizontal';
|
|
50
|
+
export type NavModifier = 'default' | 'primary' | 'center' | 'divider';
|
|
51
|
+
export type BuiltinPlacements = Record<string, any>;
|
|
52
|
+
export type TriggerSubNavAction = 'click' | 'hover';
|
|
6
53
|
export interface RenderIconInfo {
|
|
7
54
|
disabled?: boolean;
|
|
8
55
|
isOpen?: boolean;
|
|
9
56
|
isSelected?: boolean;
|
|
10
|
-
|
|
57
|
+
isSubNav?: boolean;
|
|
11
58
|
}
|
|
12
|
-
export
|
|
59
|
+
export type RenderIconType = React.ReactNode | ((props: RenderIconInfo) => React.ReactNode);
|
|
13
60
|
export interface NavInfo {
|
|
14
61
|
domEvent: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>;
|
|
15
|
-
/** @deprecated This will not support in future. You should avoid to use this */
|
|
62
|
+
/** @deprecated This will not support in the future. You should avoid to use this */
|
|
16
63
|
item: React.ReactInstance;
|
|
17
64
|
key: string;
|
|
18
65
|
keyPath: string[];
|
|
@@ -21,12 +68,13 @@ export interface NavTitleInfo {
|
|
|
21
68
|
domEvent: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>;
|
|
22
69
|
key: string;
|
|
23
70
|
}
|
|
24
|
-
export
|
|
71
|
+
export type NavHoverEventHandler = (info: {
|
|
25
72
|
domEvent: React.MouseEvent<HTMLElement>;
|
|
26
73
|
key: string;
|
|
27
74
|
}) => void;
|
|
28
75
|
export interface SelectInfo extends NavInfo {
|
|
29
76
|
selectedKeys: string[];
|
|
30
77
|
}
|
|
31
|
-
export
|
|
32
|
-
export
|
|
78
|
+
export type SelectEventHandler = (info: SelectInfo) => void;
|
|
79
|
+
export type NavClickEventHandler = (info: NavInfo) => void;
|
|
80
|
+
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AlignType, type BuildInPlacements } from 'rc-trigger/lib/interface';
|
|
2
2
|
export declare function getAlignFromPlacement(builtinPlacements: BuildInPlacements, placementStr: string, align: AlignType): AlignType;
|
|
3
3
|
export declare function getAlignPopupClassName(builtinPlacements: BuildInPlacements, prefixCls: string, align: AlignType, isAlignPoint: boolean): string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type CSSMotionProps } from 'rc-motion';
|
|
2
2
|
export declare function getMotion(mode: string, motion?: CSSMotionProps, defaultMotions?: Record<string, CSSMotionProps>): CSSMotionProps | undefined;
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
2
|
+
import { type ItemType } from '../../Nav/types';
|
|
3
|
+
export declare function parseChildren(children: React.ReactNode | undefined, keyPath: string[]): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>[];
|
|
4
|
+
export declare function parseItems(children: React.ReactNode | undefined, items: ItemType[] | undefined, keyPath: string[]): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>[];
|