@salutejs/plasma-new-hope 0.173.1-canary.1502.11462220468.0 → 0.174.0-canary.1497.11463811587.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Combobox/ComboboxOld/Combobox.css +28 -14
- package/cjs/components/Combobox/ComboboxOld/Combobox.js +2 -1
- package/cjs/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +32 -18
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js +3 -2
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js.map +1 -1
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +32 -18
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js +3 -2
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js.map +1 -1
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +32 -18
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js +3 -2
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js.map +1 -1
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +32 -18
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js +3 -2
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.css +30 -16
- package/cjs/components/Dropdown/Dropdown.js +67 -45
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.styles.js +14 -27
- package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.styles_18f0qpm.css +2 -0
- package/cjs/components/Dropdown/Dropdown.tokens.js +24 -1
- package/cjs/components/Dropdown/Dropdown.tokens.js.map +1 -1
- package/cjs/components/Dropdown/FloatingPopover.js +104 -0
- package/cjs/components/Dropdown/FloatingPopover.js.map +1 -0
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +17 -52
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.css +46 -6
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +29 -18
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +27 -31
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_17va0nk.css +5 -0
- package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +1 -1
- package/cjs/components/Dropdown/ui/DropdownItemOld/{DropdownItem.styles_12e50g5.css → DropdownItem.styles_1lyg81y.css} +1 -1
- package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.css +4 -4
- package/cjs/components/Dropdown/utils/getItemByFocused.js +13 -0
- package/cjs/components/Dropdown/utils/getItemByFocused.js.map +1 -0
- package/cjs/components/Dropdown/utils/getItemId.js +10 -0
- package/cjs/components/Dropdown/utils/getItemId.js.map +1 -0
- package/cjs/components/Dropdown/utils/getPlacement.js +16 -0
- package/cjs/components/Dropdown/utils/getPlacement.js.map +1 -0
- package/cjs/components/Dropdown/utils/index.js.map +1 -1
- package/cjs/components/Select/utils/getCorrectHeight.js.map +1 -1
- package/cjs/components/Tabs/createTabsController.js.map +1 -1
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +3 -8
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.css +1 -1
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +5 -15
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js.map +1 -1
- package/{es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base_4ob3q5.css → cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base_9miwn.css} +1 -1
- package/cjs/hooks/useOutsideClick.js +1 -1
- package/cjs/hooks/useOutsideClick.js.map +1 -1
- package/cjs/index.css +13 -15
- package/emotion/cjs/components/Dropdown/Dropdown.js +58 -37
- package/emotion/cjs/components/Dropdown/Dropdown.styles.js +9 -25
- package/emotion/cjs/components/Dropdown/Dropdown.tokens.js +36 -2
- package/emotion/cjs/components/Dropdown/FloatingPopover.js +109 -0
- package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +17 -51
- package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +29 -18
- package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +21 -41
- package/emotion/cjs/components/Dropdown/utils/getItemByFocused.js +12 -0
- package/emotion/cjs/components/Dropdown/utils/getItemId.js +9 -0
- package/emotion/cjs/components/Dropdown/utils/getPlacement.js +15 -0
- package/emotion/cjs/components/Dropdown/utils/index.js +23 -1
- package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +3 -13
- package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +5 -20
- package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
- package/emotion/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
- package/emotion/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +6 -5
- package/emotion/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +33 -72
- package/emotion/cjs/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
- package/emotion/cjs/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +6 -5
- package/emotion/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +33 -72
- package/emotion/cjs/hooks/useOutsideClick.js +1 -1
- package/emotion/es/components/Dropdown/Dropdown.js +60 -40
- package/emotion/es/components/Dropdown/Dropdown.styles.js +9 -25
- package/emotion/es/components/Dropdown/Dropdown.tokens.js +35 -1
- package/emotion/es/components/Dropdown/FloatingPopover.js +102 -0
- package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +18 -52
- package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +31 -20
- package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +22 -42
- package/emotion/es/components/Dropdown/utils/getItemByFocused.js +6 -0
- package/emotion/es/components/Dropdown/utils/getItemId.js +3 -0
- package/emotion/es/components/Dropdown/utils/getPlacement.js +9 -0
- package/emotion/es/components/Dropdown/utils/index.js +4 -1
- package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +3 -14
- package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +5 -21
- package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
- package/emotion/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +6 -6
- package/emotion/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +6 -5
- package/emotion/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +33 -72
- package/emotion/es/examples/plasma_web/components/Dropdown/Dropdown.config.js +6 -6
- package/emotion/es/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +6 -5
- package/emotion/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +33 -72
- package/emotion/es/hooks/useOutsideClick.js +1 -1
- package/es/components/Combobox/ComboboxOld/Combobox.css +28 -14
- package/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
- package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +32 -18
- package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js +3 -2
- package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.js.map +1 -1
- package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +32 -18
- package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js +3 -2
- package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.js.map +1 -1
- package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +32 -18
- package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js +3 -2
- package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.js.map +1 -1
- package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +32 -18
- package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js +3 -2
- package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.js.map +1 -1
- package/es/components/Dropdown/Dropdown.css +30 -16
- package/es/components/Dropdown/Dropdown.js +68 -47
- package/es/components/Dropdown/Dropdown.js.map +1 -1
- package/es/components/Dropdown/Dropdown.styles.js +15 -27
- package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
- package/es/components/Dropdown/Dropdown.styles_18f0qpm.css +2 -0
- package/es/components/Dropdown/Dropdown.tokens.js +24 -1
- package/es/components/Dropdown/Dropdown.tokens.js.map +1 -1
- package/es/components/Dropdown/FloatingPopover.js +100 -0
- package/es/components/Dropdown/FloatingPopover.js.map +1 -0
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +18 -53
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.css +46 -6
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +31 -20
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +26 -29
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_17va0nk.css +5 -0
- package/es/components/Dropdown/ui/DropdownItemOld/DropdownItem.styles.js +1 -1
- package/es/components/Dropdown/ui/DropdownItemOld/{DropdownItem.styles_12e50g5.css → DropdownItem.styles_1lyg81y.css} +1 -1
- package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.css +4 -4
- package/es/components/Dropdown/utils/getItemByFocused.js +9 -0
- package/es/components/Dropdown/utils/getItemByFocused.js.map +1 -0
- package/es/components/Dropdown/utils/getItemId.js +6 -0
- package/es/components/Dropdown/utils/getItemId.js.map +1 -0
- package/es/components/Dropdown/utils/getPlacement.js +12 -0
- package/es/components/Dropdown/utils/getPlacement.js.map +1 -0
- package/es/components/Dropdown/utils/index.js.map +1 -1
- package/es/components/Select/utils/getCorrectHeight.js.map +1 -1
- package/es/components/Tabs/createTabsController.js.map +1 -1
- package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +4 -9
- package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
- package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.css +1 -1
- package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +6 -16
- package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
- package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
- package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js.map +1 -1
- package/{cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base_4ob3q5.css → es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base_9miwn.css} +1 -1
- package/es/hooks/useOutsideClick.js +1 -1
- package/es/hooks/useOutsideClick.js.map +1 -1
- package/es/index.css +13 -15
- package/package.json +2 -2
- package/styled-components/cjs/components/Dropdown/Dropdown.js +58 -37
- package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +9 -15
- package/styled-components/cjs/components/Dropdown/Dropdown.tokens.js +36 -2
- package/styled-components/cjs/components/Dropdown/FloatingPopover.js +109 -0
- package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +17 -51
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +29 -18
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +17 -19
- package/styled-components/cjs/components/Dropdown/utils/getItemByFocused.js +12 -0
- package/styled-components/cjs/components/Dropdown/utils/getItemId.js +9 -0
- package/styled-components/cjs/components/Dropdown/utils/getPlacement.js +15 -0
- package/styled-components/cjs/components/Dropdown/utils/index.js +23 -1
- package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +3 -13
- package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +5 -20
- package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +5 -5
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +6 -5
- package/styled-components/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +33 -72
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.config.js +5 -5
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +6 -5
- package/styled-components/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +33 -72
- package/styled-components/cjs/hooks/useOutsideClick.js +1 -1
- package/styled-components/es/components/Dropdown/Dropdown.js +60 -40
- package/styled-components/es/components/Dropdown/Dropdown.styles.js +9 -15
- package/styled-components/es/components/Dropdown/Dropdown.tokens.js +35 -1
- package/styled-components/es/components/Dropdown/FloatingPopover.js +102 -0
- package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +18 -52
- package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +31 -20
- package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +18 -20
- package/styled-components/es/components/Dropdown/utils/getItemByFocused.js +6 -0
- package/styled-components/es/components/Dropdown/utils/getItemId.js +3 -0
- package/styled-components/es/components/Dropdown/utils/getPlacement.js +9 -0
- package/styled-components/es/components/Dropdown/utils/index.js +4 -1
- package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +3 -14
- package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +5 -21
- package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +6 -6
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +6 -5
- package/styled-components/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +33 -72
- package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.config.js +6 -6
- package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +6 -5
- package/styled-components/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +33 -72
- package/styled-components/es/hooks/useOutsideClick.js +1 -1
- package/types/components/Combobox/ComboboxOld/Combobox.types.d.ts +2 -1
- package/types/components/Combobox/ComboboxOld/Combobox.types.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.d.ts +2 -1
- package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.styles.d.ts +1 -6
- package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.tokens.d.ts +25 -0
- package/types/components/Dropdown/Dropdown.tokens.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.types.d.ts +30 -4
- package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
- package/types/components/Dropdown/FloatingPopover.d.ts +5 -0
- package/types/components/Dropdown/FloatingPopover.d.ts.map +1 -0
- package/types/components/Dropdown/index.d.ts +1 -1
- package/types/components/Dropdown/index.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +1 -12
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts +32 -3
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +1 -14
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
- package/types/components/Dropdown/utils/getItemByFocused.d.ts +4 -0
- package/types/components/Dropdown/utils/getItemByFocused.d.ts.map +1 -0
- package/types/components/Dropdown/utils/getItemId.d.ts +2 -0
- package/types/components/Dropdown/utils/getItemId.d.ts.map +1 -0
- package/types/components/Dropdown/utils/getPlacement.d.ts +3 -0
- package/types/components/Dropdown/utils/getPlacement.d.ts.map +1 -0
- package/types/components/Dropdown/utils/index.d.ts +3 -0
- package/types/components/Dropdown/utils/index.d.ts.map +1 -1
- package/types/components/Select/utils/getCorrectHeight.d.ts +2 -2
- package/types/components/Select/utils/getCorrectHeight.d.ts.map +1 -1
- package/types/components/Tabs/TabItem.types.d.ts +8 -50
- package/types/components/Tabs/TabItem.types.d.ts.map +1 -1
- package/types/components/Tabs/Tabs.types.d.ts +2 -44
- package/types/components/Tabs/Tabs.types.d.ts.map +1 -1
- package/types/components/Tabs/createTabsController.d.ts +2 -2
- package/types/components/Tabs/createTabsController.d.ts.map +1 -1
- package/types/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.d.ts.map +1 -1
- package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts +2 -2
- package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts.map +1 -1
- package/types/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Dropdown/Dropdown.config.d.ts +3 -3
- package/types/examples/plasma_b2c/components/Dropdown/Dropdown.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts +4 -4
- package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts +2 -17
- package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts +1 -1
- package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Dropdown/Dropdown.config.d.ts +3 -3
- package/types/examples/plasma_web/components/Dropdown/Dropdown.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Dropdown/Dropdown.d.ts +4 -4
- package/types/examples/plasma_web/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Tabs/TabItem.d.ts +2 -17
- package/types/examples/plasma_web/components/Tabs/TabItem.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Tabs/Tabs.d.ts +1 -1
- package/types/examples/plasma_web/components/Tabs/Tabs.d.ts.map +1 -1
- package/types/hooks/useOutsideClick.d.ts +1 -1
- package/types/hooks/useOutsideClick.d.ts.map +1 -1
- package/cjs/components/Dropdown/Dropdown.styles_1tihqkp.css +0 -3
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_blclup.css +0 -6
- package/cjs/components/Tabs/ui/horizontal/const.js +0 -11
- package/cjs/components/Tabs/ui/horizontal/const.js.map +0 -1
- package/emotion/cjs/components/Tabs/ui/horizontal/const.js +0 -10
- package/emotion/es/components/Tabs/ui/horizontal/const.js +0 -4
- package/es/components/Dropdown/Dropdown.styles_1tihqkp.css +0 -3
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_blclup.css +0 -6
- package/es/components/Tabs/ui/horizontal/const.js +0 -7
- package/es/components/Tabs/ui/horizontal/const.js.map +0 -1
- package/styled-components/cjs/components/Tabs/ui/horizontal/const.js +0 -10
- package/styled-components/es/components/Tabs/ui/horizontal/const.js +0 -4
- package/types/components/Tabs/ui/horizontal/const.d.ts +0 -2
- package/types/components/Tabs/ui/horizontal/const.d.ts.map +0 -1
@@ -12,7 +12,6 @@ import { Tabs } from './Tabs';
|
|
12
12
|
import { TabItem } from './TabItem';
|
13
13
|
|
14
14
|
const clips = ['none', 'scroll', 'showAll'];
|
15
|
-
const headerClips = ['none', 'scroll'];
|
16
15
|
const sizes = ['xs', 's', 'm', 'l'] as const;
|
17
16
|
const headerSizes = ['h5', 'h4', 'h3', 'h2', 'h1'] as const;
|
18
17
|
|
@@ -21,6 +20,7 @@ type HeaderSize = typeof headerSizes[number];
|
|
21
20
|
|
22
21
|
type CustomStoryTabsProps = {
|
23
22
|
itemQuantity: number;
|
23
|
+
hasDivider: boolean;
|
24
24
|
contentLeft: string;
|
25
25
|
contentRight: string;
|
26
26
|
stretch: boolean;
|
@@ -30,12 +30,12 @@ type CustomStoryTabsProps = {
|
|
30
30
|
const contentLeftOptions = ['none', 'icon'];
|
31
31
|
const contentRightOptions = ['none', 'counter', 'icon'];
|
32
32
|
|
33
|
-
const getContentLeft = (contentLeftOption: string, size:
|
33
|
+
const getContentLeft = (contentLeftOption: string, size: Size) => {
|
34
34
|
const iconSize = size === 'xs' ? 'xs' : 's';
|
35
35
|
return contentLeftOption === 'icon' ? <IconMic size={iconSize} color="inherit" /> : undefined;
|
36
36
|
};
|
37
37
|
|
38
|
-
const getContentRight = (contentRightOption: string, size:
|
38
|
+
const getContentRight = (contentRightOption: string, size: Size) => {
|
39
39
|
const iconSize = size === 'xs' ? 'xs' : 's';
|
40
40
|
const counterSize = size === 'xs' ? 'xxs' : 'xs';
|
41
41
|
|
@@ -96,7 +96,7 @@ const StoryHorizontalDefault = (props: HorizontalStoryTabsProps) => {
|
|
96
96
|
const [index, setIndex] = useState(0);
|
97
97
|
|
98
98
|
return (
|
99
|
-
<Tabs view=
|
99
|
+
<Tabs view={hasDivider ? 'divider' : 'clear'} stretch={stretch} disabled={disabled} size={size}>
|
100
100
|
{items.map((_, i) => {
|
101
101
|
if (helperText !== '') {
|
102
102
|
return (
|
@@ -152,7 +152,7 @@ const StoryHorizontalScroll = (props: HorizontalStoryTabsProps) => {
|
|
152
152
|
const [index, setIndex] = useState(0);
|
153
153
|
|
154
154
|
return (
|
155
|
-
<Tabs clip={clip} view=
|
155
|
+
<Tabs clip={clip} view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size} style={{ width }}>
|
156
156
|
{items.map((_, i) => {
|
157
157
|
if (helperText !== '') {
|
158
158
|
return (
|
@@ -220,7 +220,7 @@ const StoryHorizontalShowAll = (props: HorizontalStoryTabsProps) => {
|
|
220
220
|
});
|
221
221
|
|
222
222
|
return (
|
223
|
-
<Tabs clip={clip} view=
|
223
|
+
<Tabs clip={clip} view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size}>
|
224
224
|
{visibleItems.map((_, i) => {
|
225
225
|
if (helperText !== '') {
|
226
226
|
return (
|
@@ -603,47 +603,31 @@ export const VerticalTabs: StoryObj<VerticalStoryTabsProps> = {
|
|
603
603
|
},
|
604
604
|
};
|
605
605
|
|
606
|
-
const
|
607
|
-
const {
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
view="clear"
|
617
|
-
selected={i === index}
|
618
|
-
onClick={() => !disabled && setIndex(i)}
|
619
|
-
tabIndex={!disabled ? 0 : -1}
|
620
|
-
disabled={disabled}
|
621
|
-
value={helperText}
|
622
|
-
size={size as HeaderSize}
|
623
|
-
>
|
624
|
-
{`Label${i + 1}`}
|
625
|
-
</TabItem>
|
626
|
-
))}
|
627
|
-
</Tabs>
|
628
|
-
);
|
629
|
-
};
|
630
|
-
|
631
|
-
const StoryHeaderScroll = (props: HorizontalStoryTabsProps) => {
|
632
|
-
const { disabled, itemQuantity, size, helperText, width } = props;
|
606
|
+
const StoryHeaderTabs = (props: StoryTabsProps) => {
|
607
|
+
const {
|
608
|
+
disabled,
|
609
|
+
itemQuantity,
|
610
|
+
size,
|
611
|
+
contentLeft: contentLeftOption,
|
612
|
+
contentRight: contentRightOption,
|
613
|
+
hasDivider,
|
614
|
+
stretch,
|
615
|
+
} = props;
|
633
616
|
const items = Array(itemQuantity).fill(0);
|
634
617
|
const [index, setIndex] = useState(0);
|
635
618
|
|
636
619
|
return (
|
637
|
-
<Tabs view=
|
620
|
+
<Tabs view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size} stretch={stretch}>
|
638
621
|
{items.map((_, i) => (
|
639
622
|
<TabItem
|
640
623
|
key={`item:${i}`}
|
641
|
-
view="
|
624
|
+
view="divider"
|
642
625
|
selected={i === index}
|
643
626
|
onClick={() => !disabled && setIndex(i)}
|
644
627
|
tabIndex={!disabled ? 0 : -1}
|
645
628
|
disabled={disabled}
|
646
|
-
|
629
|
+
contentLeft={getContentLeft(contentLeftOption, size as Size)}
|
630
|
+
contentRight={getContentRight(contentRightOption, size as Size)}
|
647
631
|
size={size as HeaderSize}
|
648
632
|
>
|
649
633
|
{`Label${i + 1}`}
|
@@ -653,60 +637,37 @@ const StoryHeaderScroll = (props: HorizontalStoryTabsProps) => {
|
|
653
637
|
);
|
654
638
|
};
|
655
639
|
|
656
|
-
export const HeaderTabs: StoryObj<
|
640
|
+
export const HeaderTabs: StoryObj<StoryTabsProps> = {
|
657
641
|
args: {
|
658
642
|
size: 'h5',
|
659
643
|
disabled: false,
|
660
|
-
|
661
|
-
itemQuantity:
|
662
|
-
width: '12rem',
|
644
|
+
hasDivider: true,
|
645
|
+
itemQuantity: 4,
|
663
646
|
},
|
664
647
|
argTypes: {
|
665
|
-
|
666
|
-
options:
|
648
|
+
size: {
|
649
|
+
options: headerSizes,
|
667
650
|
control: {
|
668
651
|
type: 'select',
|
669
652
|
},
|
670
653
|
},
|
671
|
-
width: {
|
672
|
-
control: {
|
673
|
-
type: 'text',
|
674
|
-
},
|
675
|
-
if: { arg: 'clip', eq: 'scroll' },
|
676
|
-
},
|
677
|
-
stretch: {
|
678
|
-
table: {
|
679
|
-
disable: true,
|
680
|
-
},
|
681
|
-
},
|
682
654
|
contentLeft: {
|
683
|
-
|
684
|
-
|
655
|
+
options: contentLeftOptions,
|
656
|
+
control: {
|
657
|
+
type: 'select',
|
685
658
|
},
|
686
659
|
},
|
687
660
|
contentRight: {
|
688
|
-
|
689
|
-
|
661
|
+
options: contentRightOptions,
|
662
|
+
control: {
|
663
|
+
type: 'select',
|
690
664
|
},
|
691
665
|
},
|
692
|
-
|
666
|
+
clip: {
|
693
667
|
table: {
|
694
668
|
disable: true,
|
695
669
|
},
|
696
670
|
},
|
697
|
-
size: {
|
698
|
-
options: headerSizes,
|
699
|
-
control: {
|
700
|
-
type: 'select',
|
701
|
-
},
|
702
|
-
},
|
703
|
-
},
|
704
|
-
render: (args) => {
|
705
|
-
switch (args.clip) {
|
706
|
-
case 'scroll':
|
707
|
-
return <StoryHeaderScroll {...args} />;
|
708
|
-
default:
|
709
|
-
return <StoryHeaderDefault {...args} />;
|
710
|
-
}
|
711
671
|
},
|
672
|
+
render: (args) => <StoryHeaderTabs {...args} />,
|
712
673
|
};
|
@@ -11,7 +11,7 @@ var useOutsideClick = exports.useOutsideClick = function useOutsideClick(callbac
|
|
11
11
|
var handleClickOutside = function handleClickOutside(event) {
|
12
12
|
if (ref.current && !ref.current.contains(event.target)) {
|
13
13
|
if (!(secondaryRef !== null && secondaryRef !== void 0 && secondaryRef.current) || secondaryRef.current && !secondaryRef.current.contains(event.target)) {
|
14
|
-
callback();
|
14
|
+
callback(event);
|
15
15
|
}
|
16
16
|
}
|
17
17
|
};
|
@@ -8,30 +8,33 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
8
8
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
9
9
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
10
10
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
11
|
-
import React, { forwardRef, useReducer } from 'react';
|
12
|
-
import {
|
11
|
+
import React, { createContext, forwardRef, useReducer, useRef } from 'react';
|
12
|
+
import { safeUseId } from '@salutejs/plasma-core';
|
13
|
+
import { cx } from '../../utils';
|
14
|
+
import { useOutsideClick } from '../../hooks';
|
13
15
|
import { pathReducer } from './reducers/pathReducer';
|
14
16
|
import { focusedPathReducer } from './reducers/focusedPathReducer';
|
15
17
|
import { DropdownInner } from './ui';
|
16
18
|
import { base as viewCSS } from './variations/_view/base';
|
17
19
|
import { base as sizeCSS } from './variations/_size/base';
|
18
|
-
import { Ul,
|
19
|
-
import { childrenWithProps } from './utils';
|
20
|
+
import { Ul, base } from './Dropdown.styles';
|
21
|
+
import { childrenWithProps, getItemByFocused, getItemId, getPlacement } from './utils';
|
20
22
|
import { classes } from './Dropdown.tokens';
|
21
23
|
import { useKeyNavigation } from './hooks/useKeyboardNavigation';
|
22
24
|
import { useHashMaps } from './hooks/useHashMaps';
|
25
|
+
import { FloatingPopover } from './FloatingPopover';
|
26
|
+
export var Context = /*#__PURE__*/createContext({});
|
23
27
|
|
24
28
|
/**
|
25
29
|
* Выпадающий список.
|
26
30
|
*/
|
27
31
|
export var dropdownRoot = function dropdownRoot(Root) {
|
28
32
|
return /*#__PURE__*/forwardRef(function (_ref, ref) {
|
33
|
+
var _getItemByFocused;
|
29
34
|
var items = _ref.items,
|
30
35
|
children = _ref.children,
|
31
|
-
|
32
|
-
|
33
|
-
_ref$offset = _ref.offset,
|
34
|
-
offset = _ref$offset === void 0 ? [0, 0] : _ref$offset,
|
36
|
+
placement = _ref.placement,
|
37
|
+
offset = _ref.offset,
|
35
38
|
_ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
|
36
39
|
closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
|
37
40
|
onToggle = _ref.onToggle,
|
@@ -68,6 +71,25 @@ export var dropdownRoot = function dropdownRoot(Root) {
|
|
68
71
|
_useHashMaps2 = _slicedToArray(_useHashMaps, 2),
|
69
72
|
pathMap = _useHashMaps2[0],
|
70
73
|
focusedToValueMap = _useHashMaps2[1];
|
74
|
+
var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value) || '';
|
75
|
+
var floatingPopoverRef = useRef(null);
|
76
|
+
var treeId = safeUseId();
|
77
|
+
|
78
|
+
// Логика работы при клике за пределами выпадающего списка
|
79
|
+
var targetRef = useOutsideClick(function (event) {
|
80
|
+
if (!isCurrentListOpen || !closeOnOverlayClick) {
|
81
|
+
return;
|
82
|
+
}
|
83
|
+
dispatchPath({
|
84
|
+
type: 'reset'
|
85
|
+
});
|
86
|
+
dispatchFocusedPath({
|
87
|
+
type: 'reset'
|
88
|
+
});
|
89
|
+
if (onToggle) {
|
90
|
+
onToggle(false, event);
|
91
|
+
}
|
92
|
+
}, floatingPopoverRef);
|
71
93
|
var handleGlobalToggle = function handleGlobalToggle(opened, event) {
|
72
94
|
if (opened) {
|
73
95
|
dispatchPath({
|
@@ -99,66 +121,64 @@ export var dropdownRoot = function dropdownRoot(Root) {
|
|
99
121
|
}),
|
100
122
|
onKeyDown = _useKeyNavigation.onKeyDown;
|
101
123
|
var isCurrentListOpen = Boolean(path[0]);
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
124
|
+
return /*#__PURE__*/React.createElement(Context.Provider, {
|
125
|
+
value: {
|
126
|
+
focusedPath: focusedPath,
|
127
|
+
size: size,
|
128
|
+
variant: variant,
|
129
|
+
itemRole: itemRole,
|
130
|
+
handleGlobalToggle: handleGlobalToggle,
|
131
|
+
closeOnSelect: closeOnSelect,
|
132
|
+
onHover: onHover,
|
133
|
+
onItemClick: onItemClick,
|
134
|
+
onItemSelect: onItemSelect,
|
135
|
+
hasArrow: hasArrow,
|
136
|
+
treeId: treeId
|
137
|
+
}
|
138
|
+
}, /*#__PURE__*/React.createElement(FloatingPopover, {
|
139
|
+
ref: floatingPopoverRef,
|
110
140
|
opened: isCurrentListOpen,
|
111
141
|
onToggle: handleGlobalToggle,
|
142
|
+
placement: getPlacement(placement),
|
112
143
|
offset: offset,
|
113
|
-
|
144
|
+
portal: portal,
|
114
145
|
trigger: trigger,
|
115
|
-
closeOnOverlayClick: closeOnOverlayClick,
|
116
|
-
isFocusTrapped: false,
|
117
146
|
target: childrenWithProps(children, {
|
118
147
|
role: 'combobox',
|
119
|
-
'aria-controls':
|
148
|
+
'aria-controls': "".concat(treeId, "_tree_level_1"),
|
120
149
|
'aria-expanded': isCurrentListOpen,
|
121
|
-
'aria-activedescendant':
|
150
|
+
'aria-activedescendant': activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue.toString()) : '',
|
122
151
|
onKeyDown: onKeyDown
|
123
|
-
})
|
124
|
-
preventOverflow: false,
|
125
|
-
usePortal: Boolean(portal),
|
126
|
-
frame: portal
|
152
|
+
})
|
127
153
|
}, /*#__PURE__*/React.createElement(Root, _extends({
|
128
154
|
className: cx(className, classes.dropdownRoot),
|
129
155
|
ref: ref,
|
130
156
|
view: view,
|
131
|
-
size: size
|
157
|
+
size: size,
|
158
|
+
style: {
|
159
|
+
display: 'inline-block'
|
160
|
+
}
|
132
161
|
}, rest), /*#__PURE__*/React.createElement(Ul, {
|
162
|
+
ref: targetRef,
|
163
|
+
id: "".concat(treeId, "_tree_level_1"),
|
164
|
+
role: "tree",
|
133
165
|
listHeight: listHeight,
|
134
166
|
listOverflow: listOverflow,
|
135
|
-
role: "tree",
|
136
|
-
id: "tree_level_1",
|
137
167
|
listWidth: listWidth
|
138
168
|
}, items.map(function (item, index) {
|
139
169
|
return /*#__PURE__*/React.createElement(DropdownInner, {
|
140
170
|
key: "".concat(index, "/0"),
|
141
171
|
item: item,
|
142
172
|
currentLevel: 0,
|
143
|
-
focusedPath: focusedPath,
|
144
173
|
trigger: trigger,
|
145
174
|
path: path,
|
146
175
|
dispatchPath: dispatchPath,
|
147
176
|
index: index,
|
148
|
-
itemRole: itemRole,
|
149
177
|
listHeight: listHeight,
|
150
178
|
listOverflow: listOverflow,
|
151
|
-
|
152
|
-
closeOnSelect: closeOnSelect,
|
153
|
-
onHover: onHover,
|
154
|
-
onItemSelect: onItemSelect,
|
155
|
-
onItemClick: onItemClick,
|
156
|
-
listWidth: listWidth,
|
157
|
-
variant: variant,
|
158
|
-
hasArrow: hasArrow,
|
159
|
-
size: size
|
179
|
+
listWidth: listWidth
|
160
180
|
});
|
161
|
-
}))));
|
181
|
+
})))));
|
162
182
|
});
|
163
183
|
};
|
164
184
|
export var dropdownConfig = {
|
@@ -1,26 +1,20 @@
|
|
1
1
|
import styled from 'styled-components';
|
2
2
|
import { css } from 'styled-components';
|
3
|
-
import { component } from '../../engines';
|
4
|
-
import { popoverConfig, popoverClasses } from '../Popover';
|
5
3
|
import { getCorrectHeight } from './utils';
|
6
|
-
import { tokens } from './Dropdown.tokens';
|
7
|
-
var Popover = /*#__PURE__*/component(popoverConfig);
|
8
|
-
export var StyledPopover = /*#__PURE__*/styled(Popover).withConfig({
|
9
|
-
componentId: "plasma-new-hope__sc-13ezpo5-0"
|
10
|
-
})([".", ",.", "{display:block;}"], /*#__PURE__*/String(popoverClasses.wrapper), /*#__PURE__*/String(popoverClasses.target));
|
4
|
+
import { tokens, constants } from './Dropdown.tokens';
|
11
5
|
export var Ul = /*#__PURE__*/styled.ul.withConfig({
|
12
|
-
componentId: "plasma-new-hope__sc-13ezpo5-
|
13
|
-
})(["box-sizing:border-box;
|
6
|
+
componentId: "plasma-new-hope__sc-13ezpo5-0"
|
7
|
+
})(["box-sizing:border-box;width:", ";height:", ";margin:", ";padding:var(", ") 0;overflow:", ";background:var(", ");box-shadow:", ";border-radius:var(", ");"], function (_ref) {
|
14
8
|
var listWidth = _ref.listWidth;
|
15
9
|
return listWidth || "var(".concat(tokens.width, ")");
|
16
10
|
}, function (_ref2) {
|
17
11
|
var listHeight = _ref2.listHeight;
|
18
12
|
return listHeight ? getCorrectHeight(listHeight) : 'auto';
|
19
13
|
}, function (_ref3) {
|
20
|
-
var
|
14
|
+
var isInnerUl = _ref3.isInnerUl;
|
15
|
+
return isInnerUl ? "calc(var(".concat(tokens.padding, ") * -1) 0.125rem 0") : 0;
|
16
|
+
}, tokens.padding, function (_ref4) {
|
17
|
+
var listOverflow = _ref4.listOverflow;
|
21
18
|
return listOverflow || 'initial';
|
22
|
-
},
|
23
|
-
|
24
|
-
return isInnerUl ? "calc(var(".concat(tokens.padding, ") * -1) 0 0 var(").concat(tokens.padding, ")") : 0;
|
25
|
-
}, tokens.padding);
|
26
|
-
export var base = /*#__PURE__*/css(["display:inline-block;"]);
|
19
|
+
}, constants.background, constants.boxShadow, tokens.borderRadius);
|
20
|
+
export var base = /*#__PURE__*/css([""]);
|
@@ -3,7 +3,7 @@ export var classes = {
|
|
3
3
|
dropdownItemIsFocused: 'dropdown-item-is-focused',
|
4
4
|
dropdownItemIsDisabled: 'dropdown-item-is-disabled',
|
5
5
|
dropdownItemIsActive: 'dropdown-item-is-active',
|
6
|
-
dropdownItemIsSelected: '
|
6
|
+
dropdownItemIsSelected: 'dropdown-item-is-selected'
|
7
7
|
};
|
8
8
|
export var tokens = {
|
9
9
|
background: '--plasma-dropdown-background',
|
@@ -14,6 +14,8 @@ export var tokens = {
|
|
14
14
|
disclosureIconColor: '--plasma-dropdown-disclosure-icon-color',
|
15
15
|
disabledOpacity: '--plasma-dropdown-disabled-opacity',
|
16
16
|
focusColor: '--plasma-dropdown-focus-color',
|
17
|
+
// Old
|
18
|
+
|
17
19
|
dividerColor: '--plasma-dropdown-divider-color',
|
18
20
|
dividerMarginTop: '--plasma-dropdown-divider-margin-top',
|
19
21
|
dividerMarginTopTight: '--plasma-dropdown-divider-margin-top-tight',
|
@@ -28,6 +30,7 @@ export var tokens = {
|
|
28
30
|
itemBackgroundSelectedHover: '--plasma-dropdown-item-background-selected-hover',
|
29
31
|
// Old
|
30
32
|
itemColor: '--plasma-dropdown-item-color',
|
33
|
+
// Old
|
31
34
|
itemColorSelected: '--plasma-dropdown-item-color-selected',
|
32
35
|
// Old
|
33
36
|
itemColorSelectedHover: '--plasma-dropdown-item-color-selected-hover',
|
@@ -46,11 +49,17 @@ export var tokens = {
|
|
46
49
|
itemMarginLeft: '--plasma-dropdown-item-margin-left',
|
47
50
|
// Old
|
48
51
|
itemPaddingTop: '--plasma-dropdown-item-padding-top',
|
52
|
+
// Old
|
49
53
|
itemPaddingTopTight: '--plasma-dropdown-item-padding-top-tight',
|
54
|
+
// Old
|
50
55
|
itemPaddingRight: '--plasma-dropdown-item-padding-right',
|
56
|
+
// Old
|
51
57
|
itemPaddingBottom: '--plasma-dropdown-item-padding-bottom',
|
58
|
+
// Old
|
52
59
|
itemPaddingBottomTight: '--plasma-dropdown-item-padding-bottom-tight',
|
60
|
+
// Old
|
53
61
|
itemPaddingLeft: '--plasma-dropdown-item-padding-left',
|
62
|
+
// Old
|
54
63
|
itemContentLeftWidth: '--plasma-dropdown-item-content-left-width',
|
55
64
|
// Old
|
56
65
|
itemContentLeftColor: '--plasma-dropdown-item-content-left-color',
|
@@ -65,6 +74,20 @@ export var tokens = {
|
|
65
74
|
itemFontWeightBold: '--plasma-dropdown-item-letter-spacing',
|
66
75
|
itemFontLetterSpacing: '--plasma-dropdown-item-line-height',
|
67
76
|
itemFontLineHeight: '--plasma-dropdown-item-font-weight',
|
77
|
+
itemPadding: '--plasma-dropdown-item-padding',
|
78
|
+
itemPaddingTight: '--plasma-dropdown-item-padding-tight',
|
79
|
+
cellPadding: '--plasma-dropdown-cell-padding',
|
80
|
+
cellPaddingLeftContent: '--plasma-dropdown-cell-padding-left-content',
|
81
|
+
cellPaddingContent: '--plasma-dropdown-cell-padding-content',
|
82
|
+
cellPaddingRightContent: '--plasma-dropdown-cell-padding-right-content',
|
83
|
+
cellTextboxGap: '--plasma-dropdown-cell-textbox-gap',
|
84
|
+
cellGap: '--plasma-dropdown-cell-gap',
|
85
|
+
cellTitleFontFamily: '--plasma-dropdown-cell-title-font-family',
|
86
|
+
cellTitleFontSize: '--plasma-dropdown-cell-title-font-size',
|
87
|
+
cellTitleFontStyle: '--plasma-dropdown-cell-title-font-style',
|
88
|
+
cellTitleFontWeight: '--plasma-dropdown-cell-title-font-weight',
|
89
|
+
cellTitleLetterSpacing: '--plasma-dropdown-cell-title-letter-spacing',
|
90
|
+
cellTitleLineHeight: '--plasma-dropdown-cell-title-line-height',
|
68
91
|
// TODO: Remove below tokens as soon as they are no longer needed
|
69
92
|
footerBackground: '--plasma-dropdown-footer-background',
|
70
93
|
footerWidth: '--plasma-dropdown-footer-width',
|
@@ -128,4 +151,15 @@ export var tokens = {
|
|
128
151
|
groupLabelMarginRight: '--plasma-dropdown-group-label-margin-right',
|
129
152
|
groupLabelMarginBottom: '--plasma-dropdown-group-label-margin-bottom',
|
130
153
|
groupLabelMarginLeft: '--plasma-dropdown-group-label-margin-left'
|
154
|
+
};
|
155
|
+
export var constants = {
|
156
|
+
focusColor: '--surface-accent',
|
157
|
+
background: '--surface-solid-card',
|
158
|
+
boxShadow: '0px 4px 14px -4px rgba(8, 8, 8, 0.08), 0px 1px 4px -1px rgba(0, 0, 0, 0.04)',
|
159
|
+
disclosureIconColor: '--text-secondary',
|
160
|
+
itemBackground: '--plasma-colors-transparent',
|
161
|
+
itemBackgroundHover: '--surface-transparent-secondary',
|
162
|
+
opacity: '0.4',
|
163
|
+
cellTitleColor: '--text-primary',
|
164
|
+
cellBackgroundColor: '--plasma-colors-transparent'
|
131
165
|
};
|
@@ -0,0 +1,102 @@
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
7
|
+
import { flip, shift, useFloating, FloatingPortal, offset as offsetMiddleware, autoPlacement } from '@floating-ui/react';
|
8
|
+
import React, { forwardRef } from 'react';
|
9
|
+
import { safeUseId } from '@salutejs/plasma-core';
|
10
|
+
var FloatingPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
11
|
+
var target = _ref.target,
|
12
|
+
children = _ref.children,
|
13
|
+
opened = _ref.opened,
|
14
|
+
onToggle = _ref.onToggle,
|
15
|
+
placement = _ref.placement,
|
16
|
+
portal = _ref.portal,
|
17
|
+
_ref$offset = _ref.offset,
|
18
|
+
offset = _ref$offset === void 0 ? [0, 0] : _ref$offset,
|
19
|
+
isInner = _ref.isInner,
|
20
|
+
trigger = _ref.trigger;
|
21
|
+
var _useFloating = useFloating({
|
22
|
+
placement: placement === 'auto' ? undefined : placement,
|
23
|
+
open: opened,
|
24
|
+
middleware: [placement === 'auto' && autoPlacement(), offsetMiddleware({
|
25
|
+
mainAxis: offset[1],
|
26
|
+
crossAxis: offset[0]
|
27
|
+
}), flip({
|
28
|
+
fallbackAxisSideDirection: 'end'
|
29
|
+
}), shift()]
|
30
|
+
}),
|
31
|
+
refs = _useFloating.refs,
|
32
|
+
floatingStyles = _useFloating.floatingStyles;
|
33
|
+
var wrappedId = safeUseId();
|
34
|
+
var handleTargetClick = function handleTargetClick(event) {
|
35
|
+
if (trigger === 'hover') {
|
36
|
+
return;
|
37
|
+
}
|
38
|
+
if (onToggle) {
|
39
|
+
onToggle(!opened, event);
|
40
|
+
}
|
41
|
+
};
|
42
|
+
var handleTargetMouseEnter = function handleTargetMouseEnter(event) {
|
43
|
+
if (trigger === 'click' || opened) {
|
44
|
+
return;
|
45
|
+
}
|
46
|
+
onToggle(true, event);
|
47
|
+
};
|
48
|
+
var handleTargetMouseLeave = function handleTargetMouseLeave(event) {
|
49
|
+
if (event.relatedTarget instanceof HTMLElement && refs.floating.current instanceof HTMLElement) {
|
50
|
+
var _refs$floating$curren;
|
51
|
+
if (trigger === 'click' || !opened || event.relatedTarget && refs.floating && (_refs$floating$curren = refs.floating.current) !== null && _refs$floating$curren !== void 0 && _refs$floating$curren.contains(event.relatedTarget)) {
|
52
|
+
return;
|
53
|
+
}
|
54
|
+
onToggle(false, event);
|
55
|
+
}
|
56
|
+
};
|
57
|
+
var handleFloatingMouseLeave = function handleFloatingMouseLeave(event) {
|
58
|
+
if (event.relatedTarget instanceof HTMLElement && refs.reference.current instanceof HTMLElement) {
|
59
|
+
var _refs$reference$curre;
|
60
|
+
if (trigger === 'click' || !opened || event.relatedTarget && refs.reference && (_refs$reference$curre = refs.reference.current) !== null && _refs$reference$curre !== void 0 && _refs$reference$curre.contains(event.relatedTarget)) {
|
61
|
+
return;
|
62
|
+
}
|
63
|
+
onToggle(false, event);
|
64
|
+
}
|
65
|
+
};
|
66
|
+
return /*#__PURE__*/React.createElement("div", {
|
67
|
+
id: wrappedId,
|
68
|
+
style: {
|
69
|
+
display: isInner ? 'block' : 'inline-block'
|
70
|
+
},
|
71
|
+
ref: ref
|
72
|
+
}, /*#__PURE__*/React.createElement("div", {
|
73
|
+
ref: refs.setReference,
|
74
|
+
onClick: handleTargetClick,
|
75
|
+
onMouseEnter: handleTargetMouseEnter,
|
76
|
+
onMouseLeave: handleTargetMouseLeave
|
77
|
+
}, target), opened && /*#__PURE__*/React.createElement(FloatingPortal, getFloatingPortalProps(portal, wrappedId), /*#__PURE__*/React.createElement("div", {
|
78
|
+
ref: refs.setFloating,
|
79
|
+
onMouseLeave: handleFloatingMouseLeave,
|
80
|
+
style: _objectSpread(_objectSpread({}, floatingStyles), {}, {
|
81
|
+
zIndex: 1
|
82
|
+
})
|
83
|
+
}, children)));
|
84
|
+
});
|
85
|
+
// root - принимает ref контейнера портала.
|
86
|
+
// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.
|
87
|
+
var getFloatingPortalProps = function getFloatingPortalProps(portal, wrappedId) {
|
88
|
+
if (!portal) {
|
89
|
+
return {
|
90
|
+
id: wrappedId
|
91
|
+
};
|
92
|
+
}
|
93
|
+
if (typeof portal === 'string') {
|
94
|
+
return {
|
95
|
+
id: portal
|
96
|
+
};
|
97
|
+
}
|
98
|
+
return {
|
99
|
+
root: portal
|
100
|
+
};
|
101
|
+
};
|
102
|
+
export { FloatingPopover };
|