@salutejs/plasma-new-hope 0.77.1-canary.1199.8844794649.0 → 0.78.0-canary.1185.8884845022.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Combobox/Combobox.css +12 -7
- package/cjs/components/Combobox/Combobox.js +1 -1
- package/cjs/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +10 -6
- package/cjs/components/Combobox/ui/ComboboxDivider/ComboboxDivider.js +3 -3
- package/cjs/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +10 -6
- package/cjs/components/Combobox/ui/ComboboxFooter/ComboboxFooter.js +3 -3
- package/cjs/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +10 -6
- package/cjs/components/Combobox/ui/ComboboxGroup/ComboboxGroup.js +3 -3
- package/cjs/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +10 -6
- package/cjs/components/Combobox/ui/ComboboxHeader/ComboboxHeader.js +3 -3
- package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.css +4 -23
- package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js +81 -10
- package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js.map +1 -1
- package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +21 -9
- package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
- package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_s4sk53.css +4 -0
- package/cjs/components/Combobox/utils/index.js +23 -0
- package/cjs/components/Combobox/utils/index.js.map +1 -0
- package/cjs/components/Dropdown/Dropdown.css +20 -2
- package/cjs/components/Dropdown/Dropdown.js +136 -53
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.styles.js +40 -7
- package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.styles_1tihqkp.css +3 -0
- package/cjs/components/Dropdown/Dropdown.tokens.js +12 -24
- package/cjs/components/Dropdown/Dropdown.tokens.js.map +1 -1
- package/cjs/components/Dropdown/hooks/useHashMaps.js +31 -0
- package/cjs/components/Dropdown/hooks/useHashMaps.js.map +1 -0
- package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +200 -0
- package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -0
- package/cjs/components/Dropdown/reducers/focusedPathReducer.js +37 -0
- package/cjs/components/Dropdown/reducers/focusedPathReducer.js.map +1 -0
- package/cjs/components/Dropdown/reducers/pathReducer.js +41 -0
- package/cjs/components/Dropdown/reducers/pathReducer.js.map +1 -0
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +116 -0
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -0
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.css +7 -4
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +79 -100
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +31 -4
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1o4szyu.css +5 -0
- package/cjs/components/Dropdown/utils/index.js +14 -13
- package/cjs/components/Dropdown/utils/index.js.map +1 -1
- package/cjs/components/Pagination/Pagination.css +39 -7
- package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +39 -7
- package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +2 -2
- package/cjs/components/Select/Select.css +39 -7
- package/cjs/components/Select/Select.js +3 -3
- package/cjs/components/Select/ui/SelectDivider/SelectDivider.css +10 -6
- package/cjs/components/Select/ui/SelectDivider/SelectDivider.js +3 -3
- package/cjs/components/Select/ui/SelectFooter/SelectFooter.css +10 -6
- package/cjs/components/Select/ui/SelectFooter/SelectFooter.js +3 -3
- package/cjs/components/Select/ui/SelectGroup/SelectGroup.css +10 -6
- package/cjs/components/Select/ui/SelectGroup/SelectGroup.js +3 -3
- package/cjs/components/Select/ui/SelectHeader/SelectHeader.css +10 -6
- package/cjs/components/Select/ui/SelectHeader/SelectHeader.js +3 -3
- package/cjs/components/Select/ui/SelectItem/SelectItem.css +59 -7
- package/cjs/components/Select/ui/SelectItem/SelectItem.js +4 -4
- package/cjs/components/Select/ui/SelectItem/SelectItem.js.map +1 -1
- package/cjs/components/Select/ui/SelectItem/SelectItem.styles.js +3 -3
- package/cjs/components/Select/ui/SelectItem/SelectItem.styles.js.map +1 -1
- package/cjs/components/Select/ui/SelectItem/SelectItem.styles_1jgsd1a.css +1 -0
- package/cjs/components/_Icon/Icon.assets/DisclosureRight.js +1 -2
- package/cjs/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
- package/cjs/index.css +13 -8
- package/cjs/index.js +5 -2
- package/cjs/index.js.map +1 -1
- package/es/components/Combobox/Combobox.css +12 -7
- package/es/components/Combobox/Combobox.js +1 -1
- package/es/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +10 -6
- package/es/components/Combobox/ui/ComboboxDivider/ComboboxDivider.js +3 -3
- package/es/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +10 -6
- package/es/components/Combobox/ui/ComboboxFooter/ComboboxFooter.js +3 -3
- package/es/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +10 -6
- package/es/components/Combobox/ui/ComboboxGroup/ComboboxGroup.js +3 -3
- package/es/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +10 -6
- package/es/components/Combobox/ui/ComboboxHeader/ComboboxHeader.js +3 -3
- package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.css +4 -23
- package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js +82 -11
- package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js.map +1 -1
- package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +19 -10
- package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
- package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_s4sk53.css +4 -0
- package/es/components/Combobox/utils/index.js +19 -0
- package/es/components/Combobox/utils/index.js.map +1 -0
- package/es/components/Dropdown/Dropdown.css +20 -2
- package/es/components/Dropdown/Dropdown.js +142 -59
- package/es/components/Dropdown/Dropdown.js.map +1 -1
- package/es/components/Dropdown/Dropdown.styles.js +39 -7
- package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
- package/es/components/Dropdown/Dropdown.styles_1tihqkp.css +3 -0
- package/es/components/Dropdown/Dropdown.tokens.js +12 -24
- package/es/components/Dropdown/Dropdown.tokens.js.map +1 -1
- package/es/components/Dropdown/hooks/useHashMaps.js +27 -0
- package/es/components/Dropdown/hooks/useHashMaps.js.map +1 -0
- package/es/components/Dropdown/hooks/useKeyboardNavigation.js +196 -0
- package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -0
- package/es/components/Dropdown/reducers/focusedPathReducer.js +33 -0
- package/es/components/Dropdown/reducers/focusedPathReducer.js.map +1 -0
- package/es/components/Dropdown/reducers/pathReducer.js +37 -0
- package/es/components/Dropdown/reducers/pathReducer.js.map +1 -0
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +112 -0
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -0
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.css +7 -4
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +80 -100
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +30 -4
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1o4szyu.css +5 -0
- package/es/components/Dropdown/utils/index.js +14 -14
- package/es/components/Dropdown/utils/index.js.map +1 -1
- package/es/components/Pagination/Pagination.css +39 -7
- package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +39 -7
- package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +2 -2
- package/es/components/Select/Select.css +39 -7
- package/es/components/Select/Select.js +3 -3
- package/es/components/Select/ui/SelectDivider/SelectDivider.css +10 -6
- package/es/components/Select/ui/SelectDivider/SelectDivider.js +3 -3
- package/es/components/Select/ui/SelectFooter/SelectFooter.css +10 -6
- package/es/components/Select/ui/SelectFooter/SelectFooter.js +3 -3
- package/es/components/Select/ui/SelectGroup/SelectGroup.css +10 -6
- package/es/components/Select/ui/SelectGroup/SelectGroup.js +3 -3
- package/es/components/Select/ui/SelectHeader/SelectHeader.css +10 -6
- package/es/components/Select/ui/SelectHeader/SelectHeader.js +3 -3
- package/es/components/Select/ui/SelectItem/SelectItem.css +59 -7
- package/es/components/Select/ui/SelectItem/SelectItem.js +4 -4
- package/es/components/Select/ui/SelectItem/SelectItem.js.map +1 -1
- package/es/components/Select/ui/SelectItem/SelectItem.styles.js +3 -3
- package/es/components/Select/ui/SelectItem/SelectItem.styles.js.map +1 -1
- package/es/components/Select/ui/SelectItem/SelectItem.styles_1jgsd1a.css +1 -0
- package/es/components/_Icon/Icon.assets/DisclosureRight.js +1 -2
- package/es/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
- package/es/index.css +13 -8
- package/es/index.js +3 -1
- package/es/index.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js +91 -2
- package/styled-components/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +27 -7
- package/styled-components/cjs/components/Combobox/utils/index.js +23 -0
- package/styled-components/cjs/components/Dropdown/Dropdown.js +138 -53
- package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +22 -7
- package/styled-components/cjs/components/Dropdown/Dropdown.tokens.js +12 -24
- package/styled-components/cjs/components/Dropdown/hooks/useHashMaps.js +29 -0
- package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +199 -0
- package/styled-components/cjs/components/Dropdown/index.js +9 -1
- package/styled-components/cjs/components/Dropdown/reducers/focusedPathReducer.js +40 -0
- package/styled-components/cjs/components/Dropdown/reducers/pathReducer.js +44 -0
- package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +113 -0
- package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.type.js +5 -0
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +77 -105
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +30 -15
- package/styled-components/cjs/components/Dropdown/ui/index.js +14 -13
- package/styled-components/cjs/components/Dropdown/utils/index.js +14 -13
- package/styled-components/cjs/components/Dropdown/variations/_size/tokens.json +1 -9
- package/styled-components/cjs/components/Dropdown/variations/_view/tokens.json +1 -1
- package/styled-components/cjs/components/Select/ui/SelectItem/SelectItem.js +2 -2
- package/styled-components/cjs/components/Select/ui/SelectItem/SelectItem.styles.js +2 -2
- package/styled-components/cjs/components/_Icon/Icon.assets/DisclosureRight.js +1 -2
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +25 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.js +11 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +295 -0
- package/styled-components/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js +90 -3
- package/styled-components/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +23 -6
- package/styled-components/es/components/Combobox/utils/index.js +15 -0
- package/styled-components/es/components/Dropdown/Dropdown.js +140 -54
- package/styled-components/es/components/Dropdown/Dropdown.styles.js +18 -5
- package/styled-components/es/components/Dropdown/Dropdown.tokens.js +12 -24
- package/styled-components/es/components/Dropdown/hooks/useHashMaps.js +23 -0
- package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +193 -0
- package/styled-components/es/components/Dropdown/index.js +1 -0
- package/styled-components/es/components/Dropdown/reducers/focusedPathReducer.js +34 -0
- package/styled-components/es/components/Dropdown/reducers/pathReducer.js +38 -0
- package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +107 -0
- package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.type.js +1 -0
- package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +78 -107
- package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +27 -11
- package/styled-components/es/components/Dropdown/ui/index.js +2 -1
- package/styled-components/es/components/Dropdown/utils/index.js +13 -13
- package/styled-components/es/components/Dropdown/variations/_size/tokens.json +1 -9
- package/styled-components/es/components/Dropdown/variations/_view/tokens.json +1 -1
- package/styled-components/es/components/Select/ui/SelectItem/SelectItem.js +2 -2
- package/styled-components/es/components/Select/ui/SelectItem/SelectItem.styles.js +2 -2
- package/styled-components/es/components/_Icon/Icon.assets/DisclosureRight.js +1 -2
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +19 -0
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.js +5 -0
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +295 -0
- package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.d.ts +15 -13
- package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.d.ts.map +1 -1
- package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.d.ts +5 -1
- package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.d.ts.map +1 -1
- package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.type.d.ts +59 -2
- package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.type.d.ts.map +1 -1
- package/types/components/Combobox/utils/index.d.ts +4 -0
- package/types/components/Combobox/utils/index.d.ts.map +1 -0
- package/types/components/Dropdown/Dropdown.d.ts +4 -4
- package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.styles.d.ts +8 -1
- package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.tokens.d.ts +9 -22
- package/types/components/Dropdown/Dropdown.tokens.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.types.d.ts +64 -40
- package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
- package/types/components/Dropdown/hooks/useHashMaps.d.ts +6 -0
- package/types/components/Dropdown/hooks/useHashMaps.d.ts.map +1 -0
- package/types/components/Dropdown/hooks/useKeyboardNavigation.d.ts +23 -0
- package/types/components/Dropdown/hooks/useKeyboardNavigation.d.ts.map +1 -0
- package/types/components/Dropdown/index.d.ts +3 -1
- package/types/components/Dropdown/index.d.ts.map +1 -1
- package/types/components/Dropdown/reducers/focusedPathReducer.d.ts +16 -0
- package/types/components/Dropdown/reducers/focusedPathReducer.d.ts.map +1 -0
- package/types/components/Dropdown/reducers/pathReducer.d.ts +20 -0
- package/types/components/Dropdown/reducers/pathReducer.d.ts.map +1 -0
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts +5 -0
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -0
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +26 -0
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +1 -0
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts +2 -56
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts +5 -1
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +44 -38
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
- package/types/components/Dropdown/ui/index.d.ts +2 -1
- package/types/components/Dropdown/ui/index.d.ts.map +1 -1
- package/types/components/Dropdown/utils/index.d.ts +5 -3
- package/types/components/Dropdown/utils/index.d.ts.map +1 -1
- package/types/components/Select/ui/SelectItem/SelectItem.d.ts +2 -2
- package/types/components/Select/ui/SelectItem/SelectItem.type.d.ts +2 -2
- package/types/components/Select/utils/index.d.ts +1 -1
- package/types/components/_Icon/Icon.assets/DisclosureRight.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Dropdown/Dropdown.config.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts +13 -0
- package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts.map +1 -0
- package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_936wgl.css +0 -1
- package/cjs/components/Dropdown/Dropdown.styles_1daxhqh.css +0 -2
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1juhjtq.css +0 -4
- package/cjs/components/Dropdown/ui/DropdownItem/variations/_size/base.js +0 -9
- package/cjs/components/Dropdown/ui/DropdownItem/variations/_size/base.js.map +0 -1
- package/cjs/components/Dropdown/ui/DropdownItem/variations/_size/base_x642ct.css +0 -1
- package/cjs/components/Dropdown/ui/DropdownItem/variations/_view/base.js +0 -9
- package/cjs/components/Dropdown/ui/DropdownItem/variations/_view/base.js.map +0 -1
- package/cjs/components/Dropdown/ui/DropdownItem/variations/_view/base_x642ct.css +0 -1
- package/cjs/components/Select/ui/SelectItem/SelectItem.styles_6h17aw.css +0 -1
- package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_936wgl.css +0 -1
- package/es/components/Dropdown/Dropdown.styles_1daxhqh.css +0 -2
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1juhjtq.css +0 -4
- package/es/components/Dropdown/ui/DropdownItem/variations/_size/base.js +0 -5
- package/es/components/Dropdown/ui/DropdownItem/variations/_size/base.js.map +0 -1
- package/es/components/Dropdown/ui/DropdownItem/variations/_size/base_x642ct.css +0 -1
- package/es/components/Dropdown/ui/DropdownItem/variations/_view/base.js +0 -5
- package/es/components/Dropdown/ui/DropdownItem/variations/_view/base.js.map +0 -1
- package/es/components/Dropdown/ui/DropdownItem/variations/_view/base_x642ct.css +0 -1
- package/es/components/Select/ui/SelectItem/SelectItem.styles_6h17aw.css +0 -1
- package/styled-components/cjs/components/Dropdown/Dropdown.template-doc.mdx +0 -80
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_size/base.js +0 -8
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_size/tokens.json +0 -19
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_view/base.js +0 -8
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_view/tokens.json +0 -9
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.js +0 -27
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.js +0 -13
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +0 -194
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.js +0 -27
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.js +0 -13
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +0 -195
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.js +0 -27
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.js +0 -13
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +0 -195
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.js +0 -27
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.js +0 -13
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +0 -195
- package/styled-components/cjs/examples/sds_engineer/components/Dropdown/Dropdown.config.js +0 -22
- package/styled-components/cjs/examples/sds_engineer/components/Dropdown/Dropdown.js +0 -21
- package/styled-components/cjs/examples/sds_engineer/components/Dropdown/Dropdown.stories.tsx +0 -277
- package/styled-components/es/components/Dropdown/Dropdown.template-doc.mdx +0 -80
- package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_size/base.js +0 -2
- package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_size/tokens.json +0 -19
- package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_view/base.js +0 -2
- package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_view/tokens.json +0 -9
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.js +0 -21
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.js +0 -7
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +0 -194
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.js +0 -21
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.js +0 -7
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +0 -195
- package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.js +0 -21
- package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.js +0 -7
- package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +0 -195
- package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.js +0 -21
- package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.js +0 -7
- package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +0 -195
- package/styled-components/es/examples/sds_engineer/components/Dropdown/Dropdown.config.js +0 -16
- package/styled-components/es/examples/sds_engineer/components/Dropdown/Dropdown.js +0 -15
- package/styled-components/es/examples/sds_engineer/components/Dropdown/Dropdown.stories.tsx +0 -277
- package/types/components/Dropdown/ui/DropdownItem/variations/_size/base.d.ts +0 -2
- package/types/components/Dropdown/ui/DropdownItem/variations/_size/base.d.ts.map +0 -1
- package/types/components/Dropdown/ui/DropdownItem/variations/_view/base.d.ts +0 -2
- package/types/components/Dropdown/ui/DropdownItem/variations/_view/base.d.ts.map +0 -1
- package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.d.ts.map +0 -1
- package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.d.ts +0 -30
- package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.d.ts.map +0 -1
- package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.d.ts +0 -18
- package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.d.ts.map +0 -1
- package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.d.ts +0 -30
- package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.d.ts.map +0 -1
- package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.d.ts +0 -18
- package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.d.ts.map +0 -1
- package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.d.ts +0 -30
- package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.d.ts.map +0 -1
- package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.d.ts +0 -18
- package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.d.ts.map +0 -1
- package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.d.ts +0 -30
- package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.d.ts.map +0 -1
- package/types/examples/sds_engineer/components/Dropdown/Dropdown.config.d.ts +0 -15
- package/types/examples/sds_engineer/components/Dropdown/Dropdown.config.d.ts.map +0 -1
- package/types/examples/sds_engineer/components/Dropdown/Dropdown.d.ts +0 -51
- package/types/examples/sds_engineer/components/Dropdown/Dropdown.d.ts.map +0 -1
- /package/types/examples/plasma_b2c/components/Dropdown/{Normal/Dropdown.config.d.ts → Dropdown.config.d.ts} +0 -0
@@ -0,0 +1,193 @@
|
|
1
|
+
var getFurtherPath = function getFurtherPath(focusedPath, focusedToValueMap) {
|
2
|
+
var focusedPathAsString = focusedPath.reduce(function (acc, n) {
|
3
|
+
return "".concat(acc, "/").concat(n);
|
4
|
+
}, '').replace(/^(\/)/, '');
|
5
|
+
return focusedToValueMap.get(focusedPathAsString);
|
6
|
+
};
|
7
|
+
export var useKeyNavigation = function useKeyNavigation(_ref) {
|
8
|
+
var focusedPath = _ref.focusedPath,
|
9
|
+
dispatchFocusedPath = _ref.dispatchFocusedPath,
|
10
|
+
path = _ref.path,
|
11
|
+
dispatchPath = _ref.dispatchPath,
|
12
|
+
pathMap = _ref.pathMap,
|
13
|
+
focusedToValueMap = _ref.focusedToValueMap,
|
14
|
+
handleGlobalToggle = _ref.handleGlobalToggle,
|
15
|
+
closeOnSelect = _ref.closeOnSelect,
|
16
|
+
onItemSelect = _ref.onItemSelect,
|
17
|
+
onItemClick = _ref.onItemClick;
|
18
|
+
var currentLength = pathMap.get(path === null || path === void 0 ? void 0 : path[path.length - 1]) || 0;
|
19
|
+
var currentIndex = (focusedPath === null || focusedPath === void 0 ? void 0 : focusedPath[focusedPath.length - 1]) || 0;
|
20
|
+
var onKeyDown = function onKeyDown(event) {
|
21
|
+
var code = event.code;
|
22
|
+
if (code === 'ArrowUp') {
|
23
|
+
if (focusedPath.length) {
|
24
|
+
var newIndex = currentIndex <= 0 ? currentLength - 1 : currentIndex - 1;
|
25
|
+
dispatchFocusedPath({
|
26
|
+
type: 'change_last_focus',
|
27
|
+
value: newIndex
|
28
|
+
});
|
29
|
+
} else {
|
30
|
+
dispatchPath({
|
31
|
+
type: 'opened_first_level'
|
32
|
+
});
|
33
|
+
dispatchFocusedPath({
|
34
|
+
type: 'set_initial_focus'
|
35
|
+
});
|
36
|
+
handleGlobalToggle(true, event);
|
37
|
+
}
|
38
|
+
}
|
39
|
+
if (code === 'ArrowDown') {
|
40
|
+
if (focusedPath.length) {
|
41
|
+
var _newIndex = currentIndex + 1 >= currentLength ? 0 : currentIndex + 1;
|
42
|
+
dispatchFocusedPath({
|
43
|
+
type: 'change_last_focus',
|
44
|
+
value: _newIndex
|
45
|
+
});
|
46
|
+
} else {
|
47
|
+
dispatchPath({
|
48
|
+
type: 'opened_first_level'
|
49
|
+
});
|
50
|
+
dispatchFocusedPath({
|
51
|
+
type: 'set_initial_focus'
|
52
|
+
});
|
53
|
+
handleGlobalToggle(true, event);
|
54
|
+
}
|
55
|
+
}
|
56
|
+
if (code === 'ArrowLeft') {
|
57
|
+
if (focusedPath.length) {
|
58
|
+
dispatchPath({
|
59
|
+
type: 'removed_last_level'
|
60
|
+
});
|
61
|
+
dispatchFocusedPath({
|
62
|
+
type: 'return_prev_focus'
|
63
|
+
});
|
64
|
+
}
|
65
|
+
if (focusedPath.length === 1) {
|
66
|
+
handleGlobalToggle(false, event);
|
67
|
+
}
|
68
|
+
}
|
69
|
+
if (code === 'ArrowRight') {
|
70
|
+
if (focusedPath.length) {
|
71
|
+
var currentItem = getFurtherPath(focusedPath, focusedToValueMap);
|
72
|
+
if (currentItem !== null && currentItem !== void 0 && currentItem.items) {
|
73
|
+
dispatchPath({
|
74
|
+
type: 'added_next_level',
|
75
|
+
value: currentItem.value.toString()
|
76
|
+
});
|
77
|
+
dispatchFocusedPath({
|
78
|
+
type: 'add_focus',
|
79
|
+
value: 0
|
80
|
+
});
|
81
|
+
}
|
82
|
+
}
|
83
|
+
}
|
84
|
+
if (code === 'Enter' || code === 'Space') {
|
85
|
+
event.preventDefault();
|
86
|
+
if (path[0]) {
|
87
|
+
var _currentItem = getFurtherPath(focusedPath, focusedToValueMap);
|
88
|
+
if (_currentItem !== null && _currentItem !== void 0 && _currentItem.disabled || _currentItem !== null && _currentItem !== void 0 && _currentItem.isDisabled) return;
|
89
|
+
if (_currentItem !== null && _currentItem !== void 0 && _currentItem.items) {
|
90
|
+
dispatchPath({
|
91
|
+
type: 'added_next_level',
|
92
|
+
value: _currentItem.value.toString()
|
93
|
+
});
|
94
|
+
dispatchFocusedPath({
|
95
|
+
type: 'add_focus',
|
96
|
+
value: 0
|
97
|
+
});
|
98
|
+
} else {
|
99
|
+
if (closeOnSelect) {
|
100
|
+
handleGlobalToggle(false, event);
|
101
|
+
}
|
102
|
+
if (onItemSelect && _currentItem) {
|
103
|
+
onItemSelect(_currentItem, event);
|
104
|
+
}
|
105
|
+
if (onItemClick && _currentItem) {
|
106
|
+
onItemClick(_currentItem, event);
|
107
|
+
}
|
108
|
+
}
|
109
|
+
} else {
|
110
|
+
dispatchPath({
|
111
|
+
type: 'opened_first_level'
|
112
|
+
});
|
113
|
+
dispatchFocusedPath({
|
114
|
+
type: 'set_initial_focus'
|
115
|
+
});
|
116
|
+
}
|
117
|
+
}
|
118
|
+
if (code === 'Tab') {
|
119
|
+
dispatchFocusedPath({
|
120
|
+
type: 'reset'
|
121
|
+
});
|
122
|
+
dispatchPath({
|
123
|
+
type: 'reset'
|
124
|
+
});
|
125
|
+
handleGlobalToggle(false, event);
|
126
|
+
}
|
127
|
+
if (code === 'Home') {
|
128
|
+
if (path[0]) {
|
129
|
+
dispatchFocusedPath({
|
130
|
+
type: 'change_last_focus',
|
131
|
+
value: 0
|
132
|
+
});
|
133
|
+
} else {
|
134
|
+
dispatchPath({
|
135
|
+
type: 'opened_first_level'
|
136
|
+
});
|
137
|
+
dispatchFocusedPath({
|
138
|
+
type: 'set_initial_focus'
|
139
|
+
});
|
140
|
+
handleGlobalToggle(true, event);
|
141
|
+
}
|
142
|
+
}
|
143
|
+
if (code === 'End') {
|
144
|
+
if (path[0]) {
|
145
|
+
dispatchFocusedPath({
|
146
|
+
type: 'change_last_focus',
|
147
|
+
value: currentLength - 1
|
148
|
+
});
|
149
|
+
} else {
|
150
|
+
dispatchPath({
|
151
|
+
type: 'opened_first_level'
|
152
|
+
});
|
153
|
+
dispatchFocusedPath({
|
154
|
+
type: 'change_last_focus',
|
155
|
+
value: (pathMap.get('root') || 0) - 1
|
156
|
+
});
|
157
|
+
handleGlobalToggle(true, event);
|
158
|
+
}
|
159
|
+
}
|
160
|
+
if (code === 'PageUp') {
|
161
|
+
if (path[0]) {
|
162
|
+
if (currentIndex <= 10) {
|
163
|
+
dispatchFocusedPath({
|
164
|
+
type: 'set_initial_focus'
|
165
|
+
});
|
166
|
+
} else {
|
167
|
+
dispatchFocusedPath({
|
168
|
+
type: 'change_last_focus',
|
169
|
+
value: currentIndex - 10
|
170
|
+
});
|
171
|
+
}
|
172
|
+
}
|
173
|
+
}
|
174
|
+
if (code === 'PageDown') {
|
175
|
+
if (path[0]) {
|
176
|
+
if (currentLength - currentIndex <= 10) {
|
177
|
+
dispatchFocusedPath({
|
178
|
+
type: 'change_last_focus',
|
179
|
+
value: currentLength - 1
|
180
|
+
});
|
181
|
+
} else {
|
182
|
+
dispatchFocusedPath({
|
183
|
+
type: 'change_last_focus',
|
184
|
+
value: currentIndex + 10
|
185
|
+
});
|
186
|
+
}
|
187
|
+
}
|
188
|
+
}
|
189
|
+
};
|
190
|
+
return {
|
191
|
+
onKeyDown: onKeyDown
|
192
|
+
};
|
193
|
+
};
|
@@ -0,0 +1,34 @@
|
|
1
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
2
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
4
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
5
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
6
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
7
|
+
export function focusedPathReducer(state, action) {
|
8
|
+
switch (action.type) {
|
9
|
+
case 'reset':
|
10
|
+
{
|
11
|
+
return [];
|
12
|
+
}
|
13
|
+
case 'set_initial_focus':
|
14
|
+
{
|
15
|
+
return [0];
|
16
|
+
}
|
17
|
+
case 'change_last_focus':
|
18
|
+
{
|
19
|
+
return [].concat(_toConsumableArray(state.slice(0, -1)), [action.value]);
|
20
|
+
}
|
21
|
+
case 'add_focus':
|
22
|
+
{
|
23
|
+
return [].concat(_toConsumableArray(state), [action.value]);
|
24
|
+
}
|
25
|
+
case 'return_prev_focus':
|
26
|
+
{
|
27
|
+
return _toConsumableArray(state.slice(0, -1));
|
28
|
+
}
|
29
|
+
default:
|
30
|
+
{
|
31
|
+
return state;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
2
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
4
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
5
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
6
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
7
|
+
export function pathReducer(state, action) {
|
8
|
+
switch (action.type) {
|
9
|
+
case 'reset':
|
10
|
+
{
|
11
|
+
return [];
|
12
|
+
}
|
13
|
+
case 'opened_first_level':
|
14
|
+
{
|
15
|
+
return ['root'];
|
16
|
+
}
|
17
|
+
case 'added_next_level':
|
18
|
+
{
|
19
|
+
return [].concat(_toConsumableArray(state), [action.value]);
|
20
|
+
}
|
21
|
+
case 'removed_last_level':
|
22
|
+
{
|
23
|
+
return _toConsumableArray(state.slice(0, -1));
|
24
|
+
}
|
25
|
+
case 'changed_on_level':
|
26
|
+
{
|
27
|
+
return [].concat(_toConsumableArray(state.slice(0, action.level)), [action.value]);
|
28
|
+
}
|
29
|
+
case 'cut_by_level':
|
30
|
+
{
|
31
|
+
return state.slice(0, action.level);
|
32
|
+
}
|
33
|
+
default:
|
34
|
+
{
|
35
|
+
return state;
|
36
|
+
}
|
37
|
+
}
|
38
|
+
}
|
@@ -0,0 +1,107 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { DropdownItem } from '..';
|
3
|
+
import { Ul, StyledPopover } from '../../Dropdown.styles';
|
4
|
+
var DropdownInner = function DropdownInner(_ref) {
|
5
|
+
var item = _ref.item,
|
6
|
+
currentLevel = _ref.currentLevel,
|
7
|
+
focusedPath = _ref.focusedPath,
|
8
|
+
path = _ref.path,
|
9
|
+
dispatchPath = _ref.dispatchPath,
|
10
|
+
index = _ref.index,
|
11
|
+
trigger = _ref.trigger,
|
12
|
+
itemRole = _ref.itemRole,
|
13
|
+
listHeight = _ref.listHeight,
|
14
|
+
listOverflow = _ref.listOverflow,
|
15
|
+
handleGlobalToggle = _ref.handleGlobalToggle,
|
16
|
+
closeOnSelect = _ref.closeOnSelect,
|
17
|
+
onHover = _ref.onHover,
|
18
|
+
onItemSelect = _ref.onItemSelect,
|
19
|
+
onItemClick = _ref.onItemClick,
|
20
|
+
listWidth = _ref.listWidth,
|
21
|
+
variant = _ref.variant,
|
22
|
+
hasArrow = _ref.hasArrow;
|
23
|
+
var handleToggle = function handleToggle(opened) {
|
24
|
+
if (opened) {
|
25
|
+
dispatchPath({
|
26
|
+
type: 'changed_on_level',
|
27
|
+
value: item.value.toString(),
|
28
|
+
level: currentLevel + 1
|
29
|
+
});
|
30
|
+
} else {
|
31
|
+
dispatchPath({
|
32
|
+
type: 'cut_by_level',
|
33
|
+
level: currentLevel + 1
|
34
|
+
});
|
35
|
+
}
|
36
|
+
};
|
37
|
+
var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
|
38
|
+
if (item !== null && item !== void 0 && item.items) {
|
39
|
+
return /*#__PURE__*/React.createElement(StyledPopover, {
|
40
|
+
isOpen: isCurrentListOpen,
|
41
|
+
usePortal: false,
|
42
|
+
placement: "right-start",
|
43
|
+
trigger: trigger,
|
44
|
+
target: /*#__PURE__*/React.createElement(DropdownItem, {
|
45
|
+
item: item,
|
46
|
+
index: index,
|
47
|
+
path: path,
|
48
|
+
focusedPath: focusedPath,
|
49
|
+
currentLevel: currentLevel,
|
50
|
+
onHover: onHover,
|
51
|
+
onItemSelect: onItemSelect,
|
52
|
+
onItemClick: onItemClick,
|
53
|
+
ariaControls: "listbox".concat(currentLevel + 2),
|
54
|
+
ariaExpanded: isCurrentListOpen,
|
55
|
+
ariaHasPopup: "listbox",
|
56
|
+
ariaLevel: currentLevel + 1,
|
57
|
+
ariaLabel: item.label,
|
58
|
+
variant: variant
|
59
|
+
}),
|
60
|
+
onToggle: handleToggle,
|
61
|
+
isFocusTrapped: false
|
62
|
+
}, /*#__PURE__*/React.createElement(Ul, {
|
63
|
+
listHeight: listHeight,
|
64
|
+
listOverflow: listOverflow,
|
65
|
+
role: "listbox",
|
66
|
+
id: "listbox".concat(currentLevel + 2),
|
67
|
+
listWidth: listWidth,
|
68
|
+
isInnerUl: true
|
69
|
+
}, item.items.map(function (innerItem, innerIndex) {
|
70
|
+
return /*#__PURE__*/React.createElement(DropdownInner, {
|
71
|
+
key: "".concat(innerIndex, "/currentLevel"),
|
72
|
+
item: innerItem,
|
73
|
+
currentLevel: currentLevel + 1,
|
74
|
+
focusedPath: focusedPath,
|
75
|
+
path: path,
|
76
|
+
dispatchPath: dispatchPath,
|
77
|
+
index: innerIndex,
|
78
|
+
trigger: trigger,
|
79
|
+
itemRole: itemRole,
|
80
|
+
listHeight: listHeight,
|
81
|
+
listOverflow: listOverflow,
|
82
|
+
handleGlobalToggle: handleGlobalToggle,
|
83
|
+
closeOnSelect: closeOnSelect,
|
84
|
+
onHover: onHover,
|
85
|
+
onItemSelect: onItemSelect,
|
86
|
+
onItemClick: onItemClick,
|
87
|
+
listWidth: listWidth,
|
88
|
+
variant: variant,
|
89
|
+
hasArrow: hasArrow
|
90
|
+
});
|
91
|
+
})));
|
92
|
+
}
|
93
|
+
return /*#__PURE__*/React.createElement(DropdownItem, {
|
94
|
+
item: item,
|
95
|
+
index: index,
|
96
|
+
focusedPath: focusedPath,
|
97
|
+
currentLevel: currentLevel,
|
98
|
+
itemRole: itemRole,
|
99
|
+
handleGlobalToggle: handleGlobalToggle,
|
100
|
+
closeOnSelect: closeOnSelect,
|
101
|
+
onHover: onHover,
|
102
|
+
onItemSelect: onItemSelect,
|
103
|
+
onItemClick: onItemClick,
|
104
|
+
variant: variant
|
105
|
+
});
|
106
|
+
};
|
107
|
+
export { DropdownInner };
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -1,111 +1,82 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
4
|
-
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; }
|
5
|
-
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; }
|
6
|
-
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; }
|
7
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
8
|
-
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); }
|
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
|
-
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, useCallback, useMemo } from 'react';
|
12
|
-
import { safeUseId } from '@salutejs/plasma-core';
|
1
|
+
var _DisclosureIconWrappe;
|
2
|
+
import React, { useEffect, useRef } from 'react';
|
13
3
|
import { classes } from '../../Dropdown.tokens';
|
14
4
|
import { cx } from '../../../../utils';
|
15
|
-
import {
|
16
|
-
import {
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
}
|
54
|
-
}, [onSelect, disabled]);
|
55
|
-
var handleOnChange = useCallback(function (event) {
|
56
|
-
if (disabled) {
|
57
|
-
return;
|
58
|
-
}
|
59
|
-
onChange === null || onChange === void 0 || onChange(event);
|
60
|
-
if (onSelect && ContentLeftComponent) {
|
61
|
-
onSelect(value, text);
|
62
|
-
}
|
63
|
-
}, [onSelect, disabled]);
|
64
|
-
var contentProps = _objectSpread({
|
65
|
-
name: name,
|
66
|
-
value: value,
|
67
|
-
checked: checked || isSelected,
|
68
|
-
disabled: disabled,
|
69
|
-
tabIndex: 0
|
70
|
-
}, !disabled && {
|
71
|
-
onChange: handleOnChange
|
72
|
-
});
|
73
|
-
var ContentLeft = useMemo(function () {
|
74
|
-
return getValidComponent(ContentLeftComponent, contentProps);
|
75
|
-
}, [ContentRightComponent, contentProps]);
|
76
|
-
var ContentRight = useMemo(function () {
|
77
|
-
return getValidComponent(ContentRightComponent, contentProps);
|
78
|
-
}, [ContentRightComponent, contentProps]);
|
79
|
-
return /*#__PURE__*/React.createElement(Root, _extends({
|
80
|
-
className: cx(withDropdownItemIsSelected, withDropdownItemIsDisabled, className),
|
81
|
-
view: view,
|
82
|
-
size: size,
|
83
|
-
id: innerId,
|
84
|
-
isSelected: isSelected,
|
85
|
-
role: role,
|
86
|
-
ref: outerRootRef,
|
87
|
-
tabIndex: 0,
|
88
|
-
"aria-disabled": disabled,
|
89
|
-
onClick: handleOnClick,
|
90
|
-
"data-value": value
|
91
|
-
}, rest), text ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledContentLeft, null, ContentLeftComponent && ContentLeft), /*#__PURE__*/React.createElement(StyledText, null, text), /*#__PURE__*/React.createElement(StyledContentRight, null, ContentRightComponent && ContentRight)) : children);
|
92
|
-
});
|
93
|
-
};
|
94
|
-
export var dropdownItemConfig = {
|
95
|
-
name: 'DropdownItem',
|
96
|
-
tag: 'div',
|
97
|
-
layout: dropdownItemRoot,
|
98
|
-
base: base,
|
99
|
-
variations: {
|
100
|
-
view: {
|
101
|
-
css: viewCSS
|
102
|
-
},
|
103
|
-
size: {
|
104
|
-
css: sizeCSS
|
5
|
+
import { IconDisclosureRight } from '../../../_Icon';
|
6
|
+
import { StyledContentLeft, StyledContentRight, StyledText, Wrapper, DisclosureIconWrapper } from './DropdownItem.styles';
|
7
|
+
export var DropdownItem = function DropdownItem(_ref) {
|
8
|
+
var item = _ref.item,
|
9
|
+
path = _ref.path,
|
10
|
+
focusedPath = _ref.focusedPath,
|
11
|
+
currentLevel = _ref.currentLevel,
|
12
|
+
index = _ref.index,
|
13
|
+
itemRole = _ref.itemRole,
|
14
|
+
closeOnSelect = _ref.closeOnSelect,
|
15
|
+
handleGlobalToggle = _ref.handleGlobalToggle,
|
16
|
+
onHover = _ref.onHover,
|
17
|
+
onItemSelect = _ref.onItemSelect,
|
18
|
+
onItemClick = _ref.onItemClick,
|
19
|
+
ariaControls = _ref.ariaControls,
|
20
|
+
ariaExpanded = _ref.ariaExpanded,
|
21
|
+
ariaHasPopup = _ref.ariaHasPopup,
|
22
|
+
ariaLevel = _ref.ariaLevel,
|
23
|
+
ariaLabel = _ref.ariaLabel,
|
24
|
+
variant = _ref.variant,
|
25
|
+
hasArrow = _ref.hasArrow;
|
26
|
+
var value = item.value,
|
27
|
+
label = item.label,
|
28
|
+
disabled = item.disabled,
|
29
|
+
isDisabled = item.isDisabled,
|
30
|
+
contentLeft = item.contentLeft,
|
31
|
+
contentRight = item.contentRight;
|
32
|
+
var ref = useRef(null);
|
33
|
+
var isDisabledClassName = disabled || isDisabled ? classes.dropdownItemIsDisabled : undefined;
|
34
|
+
var focusedClass = currentLevel === focusedPath.length - 1 && index === (focusedPath === null || focusedPath === void 0 ? void 0 : focusedPath[currentLevel]) ? classes.dropdownItemIsFocused : undefined;
|
35
|
+
var activeClass = value === (path === null || path === void 0 ? void 0 : path[currentLevel + 1]) ? classes.dropdownItemIsActive : undefined;
|
36
|
+
useEffect(function () {
|
37
|
+
if (focusedClass && ref !== null && ref !== void 0 && ref.current) {
|
38
|
+
ref.current.scrollIntoView({
|
39
|
+
behavior: 'smooth',
|
40
|
+
block: 'center',
|
41
|
+
inline: 'center'
|
42
|
+
});
|
105
43
|
}
|
106
|
-
},
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
44
|
+
}, [focusedClass]);
|
45
|
+
var handleClick = function handleClick(event) {
|
46
|
+
if (disabled || isDisabled) {
|
47
|
+
return;
|
48
|
+
}
|
49
|
+
if (onItemSelect) {
|
50
|
+
onItemSelect(item, event);
|
51
|
+
}
|
52
|
+
if (onItemClick) {
|
53
|
+
onItemClick(item, event);
|
54
|
+
}
|
55
|
+
if (handleGlobalToggle && closeOnSelect) {
|
56
|
+
handleGlobalToggle(false, event);
|
57
|
+
}
|
58
|
+
};
|
59
|
+
var handleHover = function handleHover() {
|
60
|
+
if (onHover) {
|
61
|
+
onHover(index);
|
62
|
+
}
|
63
|
+
};
|
64
|
+
return /*#__PURE__*/React.createElement(Wrapper, {
|
65
|
+
className: cx(isDisabledClassName, focusedClass, activeClass),
|
66
|
+
id: value.toString(),
|
67
|
+
role: itemRole,
|
68
|
+
ref: ref,
|
69
|
+
"aria-disabled": disabled || isDisabled,
|
70
|
+
onClick: handleClick,
|
71
|
+
onMouseEnter: handleHover,
|
72
|
+
variant: variant,
|
73
|
+
"aria-controls": ariaControls,
|
74
|
+
"aria-expanded": ariaExpanded,
|
75
|
+
"aria-haspopup": ariaHasPopup,
|
76
|
+
"aria-level": ariaLevel,
|
77
|
+
"aria-label": ariaLabel
|
78
|
+
}, contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(StyledText, null, label), contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight), item.items && hasArrow && (_DisclosureIconWrappe || (_DisclosureIconWrappe = /*#__PURE__*/React.createElement(DisclosureIconWrapper, null, /*#__PURE__*/React.createElement(IconDisclosureRight, {
|
79
|
+
size: "xs",
|
80
|
+
color: "inherit"
|
81
|
+
})))));
|
111
82
|
};
|
@@ -1,25 +1,41 @@
|
|
1
|
-
var _templateObject;
|
2
|
-
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
3
|
-
import { css } from 'styled-components';
|
4
1
|
import styled from 'styled-components';
|
5
2
|
import { classes, tokens } from '../../Dropdown.tokens';
|
6
3
|
import { addFocus, applyEllipsis } from '../../../../mixins';
|
7
4
|
export var StyledContentLeft = /*#__PURE__*/styled.div.withConfig({
|
8
5
|
componentId: "plasma-new-hope__sc-hs0ek1-0"
|
9
|
-
})(["display:inline-flex;
|
6
|
+
})(["display:inline-flex;"]);
|
10
7
|
export var StyledContentRight = /*#__PURE__*/styled.div.withConfig({
|
11
8
|
componentId: "plasma-new-hope__sc-hs0ek1-1"
|
12
|
-
})(["margin-left:auto;display:inline-flex;
|
13
|
-
export var
|
9
|
+
})(["margin-left:auto;display:inline-flex;"]);
|
10
|
+
export var DisclosureIconWrapper = /*#__PURE__*/styled.div.withConfig({
|
14
11
|
componentId: "plasma-new-hope__sc-hs0ek1-2"
|
15
|
-
})(["", ";"],
|
12
|
+
})(["line-height:0;color:var(", ");"], tokens.disclosureIconColor);
|
13
|
+
export var StyledText = /*#__PURE__*/styled.div.withConfig({
|
14
|
+
componentId: "plasma-new-hope__sc-hs0ek1-3"
|
15
|
+
})(["", ";flex:1;"], /*#__PURE__*/applyEllipsis());
|
16
16
|
|
17
|
-
//
|
17
|
+
// TODO: Remove baseContent after refactoring a Select component
|
18
18
|
export var baseContent = /*#__PURE__*/"\n box-sizing: content-box;\n display: flex;\n align-items: center;\n user-select: none;\n\n :focus {\n outline: none;\n }\n\n ".concat(addFocus({
|
19
19
|
outlineSize: '0.0625rem',
|
20
20
|
outlineOffset: '0',
|
21
21
|
outlineColor: "var(".concat(tokens.focusColor, ")"),
|
22
22
|
outlineRadius: "var(".concat(tokens.itemBorderRadius, ")"),
|
23
|
-
hasTransition: false
|
24
|
-
|
25
|
-
|
23
|
+
hasTransition: false,
|
24
|
+
customFocusRules: "\n &.".concat(classes.dropdownItemIsFocused, ":before {\n outline: none;\n box-shadow: 0 0 0 0.0625rem var(").concat(tokens.focusColor, ");\n }\n ")
|
25
|
+
}), ";\n\n width: 100%;\n\n font-family: var(").concat(tokens.itemFontFamily, ");\n font-size: var(").concat(tokens.itemFontSize, ");\n font-style: var(").concat(tokens.itemFontStyle, ");\n font-weight: var(").concat(tokens.itemFontWeightBold, ");\n letter-spacing: var(").concat(tokens.itemFontLetterSpacing, ");\n line-height: var(").concat(tokens.itemFontLineHeight, ");\n\n background: var(").concat(tokens.itemBackground, ");\n color: var(").concat(tokens.itemColor, ");\n border-radius: var(").concat(tokens.itemBorderRadius, ");\n\n padding: var(").concat(tokens.itemPaddingTop, ") var(").concat(tokens.itemPaddingRight, ") var(").concat(tokens.itemPaddingBottom, ") var(").concat(tokens.itemPaddingLeft, ");\n\n margin: 0;\n\n &:hover:not(.").concat(classes.dropdownItemIsDisabled, ") {\n cursor: pointer;\n background: var(").concat(tokens.itemBackgroundHover, ");\n }\n\n &.").concat(classes.dropdownItemIsActive, " {\n background: var(").concat(tokens.itemBackgroundHover, ");\n }\n\n &.").concat(classes.dropdownItemIsDisabled, " {\n opacity: var(").concat(tokens.disabledOpacity, ");\n cursor: not-allowed;\n }\n");
|
26
|
+
export var Wrapper = /*#__PURE__*/styled.li.withConfig({
|
27
|
+
componentId: "plasma-new-hope__sc-hs0ek1-4"
|
28
|
+
})(["display:flex;align-items:center;margin:0;box-sizing:content-box;padding-top:", ";padding-right:var(", ");padding-bottom:", ";padding-left:var(", ");font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");background:var(", ");color:var(", ");border-radius:var(", ");user-select:none;&:hover:not(.", "){cursor:pointer;background:var(", ");}&.", "{background:var(", ");}&.", "{opacity:var(", ");cursor:not-allowed;}:focus{outline:none;}", ";"], function (_ref) {
|
29
|
+
var variant = _ref.variant;
|
30
|
+
return "var(".concat(variant === 'tight' ? tokens.itemPaddingTopTight : tokens.itemPaddingTop, ")");
|
31
|
+
}, tokens.itemPaddingRight, function (_ref2) {
|
32
|
+
var variant = _ref2.variant;
|
33
|
+
return "var(".concat(variant === 'tight' ? tokens.itemPaddingBottomTight : tokens.itemPaddingBottom, ")");
|
34
|
+
}, tokens.itemPaddingLeft, tokens.itemFontFamily, tokens.itemFontSize, tokens.itemFontStyle, tokens.itemFontWeightBold, tokens.itemFontLetterSpacing, tokens.itemFontLineHeight, tokens.itemBackground, tokens.itemColor, tokens.itemBorderRadius, classes.dropdownItemIsDisabled, tokens.itemBackgroundHover, classes.dropdownItemIsActive, tokens.itemBackgroundHover, classes.dropdownItemIsDisabled, tokens.disabledOpacity, /*#__PURE__*/addFocus({
|
35
|
+
outlineSize: '0.0625rem',
|
36
|
+
outlineOffset: '0',
|
37
|
+
outlineColor: /*#__PURE__*/"var(".concat(tokens.focusColor, ")"),
|
38
|
+
outlineRadius: /*#__PURE__*/"var(".concat(tokens.itemBorderRadius, ")"),
|
39
|
+
hasTransition: false,
|
40
|
+
customFocusRules: /*#__PURE__*/"\n &.".concat(classes.dropdownItemIsFocused, ":before {\n outline: none;\n box-shadow: 0 0 0 0.0625rem var(").concat(tokens.focusColor, ");\n }\n ")
|
41
|
+
}));
|
@@ -2,4 +2,5 @@ export { dropdownDividerRoot, dropdownDividerConfig } from './DropdownDivider/Dr
|
|
2
2
|
export { dropdownFooterRoot, dropdownFooterConfig } from './DropdownFooter/DropdownFooter';
|
3
3
|
export { dropdownGroupRoot, dropdownGroupConfig } from './DropdownGroup/DropdownGroup';
|
4
4
|
export { dropdownHeaderRoot, dropdownHeaderConfig } from './DropdownHeader/DropdownHeader';
|
5
|
-
export {
|
5
|
+
export { DropdownItem } from './DropdownItem/DropdownItem';
|
6
|
+
export { DropdownInner } from './DropdownInner/DropdownInner';
|