@salutejs/plasma-new-hope 0.78.0-canary.1185.8913944828.0 → 0.78.0-canary.1195.8913931601.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Combobox/Combobox.css +7 -12
- package/cjs/components/Combobox/Combobox.js +1 -1
- package/cjs/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +6 -10
- package/cjs/components/Combobox/ui/ComboboxDivider/ComboboxDivider.js +3 -3
- package/cjs/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +6 -10
- package/cjs/components/Combobox/ui/ComboboxFooter/ComboboxFooter.js +3 -3
- package/cjs/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +6 -10
- package/cjs/components/Combobox/ui/ComboboxGroup/ComboboxGroup.js +3 -3
- package/cjs/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +6 -10
- package/cjs/components/Combobox/ui/ComboboxHeader/ComboboxHeader.js +3 -3
- package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.css +23 -4
- package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js +10 -81
- package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js.map +1 -1
- package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +9 -21
- package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
- package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_936wgl.css +1 -0
- package/cjs/components/Dropdown/Dropdown.css +2 -20
- package/cjs/components/Dropdown/Dropdown.js +54 -138
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.styles.js +7 -40
- package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.styles_1daxhqh.css +2 -0
- package/cjs/components/Dropdown/Dropdown.tokens.js +24 -12
- package/cjs/components/Dropdown/Dropdown.tokens.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.css +4 -7
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +100 -79
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +4 -31
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1juhjtq.css +4 -0
- package/cjs/components/Dropdown/ui/DropdownItem/variations/_size/base.js +9 -0
- package/cjs/components/Dropdown/ui/DropdownItem/variations/_size/base.js.map +1 -0
- package/cjs/components/Dropdown/ui/DropdownItem/variations/_size/base_x642ct.css +1 -0
- package/cjs/components/Dropdown/ui/DropdownItem/variations/_view/base.js +9 -0
- package/cjs/components/Dropdown/ui/DropdownItem/variations/_view/base.js.map +1 -0
- package/cjs/components/Dropdown/ui/DropdownItem/variations/_view/base_x642ct.css +1 -0
- package/cjs/components/Dropdown/utils/index.js +13 -14
- package/cjs/components/Dropdown/utils/index.js.map +1 -1
- package/cjs/components/IconButton/IconButton.css +25 -0
- package/cjs/components/IconButton/IconButton.js +84 -0
- package/cjs/components/IconButton/IconButton.js.map +1 -0
- package/cjs/components/IconButton/IconButton.styles.js +25 -0
- package/cjs/components/IconButton/IconButton.styles.js.map +1 -0
- package/cjs/components/IconButton/IconButton.styles_12iyaye.css +2 -0
- package/cjs/components/IconButton/IconButton.tokens.js +36 -0
- package/cjs/components/IconButton/IconButton.tokens.js.map +1 -0
- package/cjs/components/IconButton/variations/_disabled/base.js +9 -0
- package/cjs/components/IconButton/variations/_disabled/base.js.map +1 -0
- package/cjs/components/IconButton/variations/_disabled/base_x642ct.css +1 -0
- package/cjs/components/IconButton/variations/_focused/base.js +9 -0
- package/cjs/components/IconButton/variations/_focused/base.js.map +1 -0
- package/cjs/components/IconButton/variations/_focused/base_x642ct.css +1 -0
- package/cjs/components/IconButton/variations/_size/base.js +9 -0
- package/cjs/components/IconButton/variations/_size/base.js.map +1 -0
- package/cjs/components/IconButton/variations/_size/base_x642ct.css +1 -0
- package/cjs/components/IconButton/variations/_view/base.js +9 -0
- package/cjs/components/IconButton/variations/_view/base.js.map +1 -0
- package/cjs/components/IconButton/variations/_view/base_x642ct.css +1 -0
- package/cjs/components/Pagination/Pagination.css +7 -39
- package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +7 -39
- package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +2 -2
- package/cjs/components/Select/Select.css +7 -39
- package/cjs/components/Select/Select.js +3 -3
- package/cjs/components/Select/ui/SelectDivider/SelectDivider.css +6 -10
- package/cjs/components/Select/ui/SelectDivider/SelectDivider.js +3 -3
- package/cjs/components/Select/ui/SelectFooter/SelectFooter.css +6 -10
- package/cjs/components/Select/ui/SelectFooter/SelectFooter.js +3 -3
- package/cjs/components/Select/ui/SelectGroup/SelectGroup.css +6 -10
- package/cjs/components/Select/ui/SelectGroup/SelectGroup.js +3 -3
- package/cjs/components/Select/ui/SelectHeader/SelectHeader.css +6 -10
- package/cjs/components/Select/ui/SelectHeader/SelectHeader.js +3 -3
- package/cjs/components/Select/ui/SelectItem/SelectItem.css +7 -59
- 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_6h17aw.css +1 -0
- package/cjs/components/_Icon/Icon.assets/DisclosureRight.js +2 -1
- package/cjs/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
- package/cjs/index.css +11 -13
- package/cjs/index.js +8 -5
- package/cjs/index.js.map +1 -1
- package/es/components/Combobox/Combobox.css +7 -12
- package/es/components/Combobox/Combobox.js +1 -1
- package/es/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +6 -10
- package/es/components/Combobox/ui/ComboboxDivider/ComboboxDivider.js +3 -3
- package/es/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +6 -10
- package/es/components/Combobox/ui/ComboboxFooter/ComboboxFooter.js +3 -3
- package/es/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +6 -10
- package/es/components/Combobox/ui/ComboboxGroup/ComboboxGroup.js +3 -3
- package/es/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +6 -10
- package/es/components/Combobox/ui/ComboboxHeader/ComboboxHeader.js +3 -3
- package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.css +23 -4
- package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js +11 -82
- package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js.map +1 -1
- package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +10 -19
- package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js.map +1 -1
- package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_936wgl.css +1 -0
- package/es/components/Dropdown/Dropdown.css +2 -20
- package/es/components/Dropdown/Dropdown.js +60 -144
- package/es/components/Dropdown/Dropdown.js.map +1 -1
- package/es/components/Dropdown/Dropdown.styles.js +7 -39
- package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
- package/es/components/Dropdown/Dropdown.styles_1daxhqh.css +2 -0
- package/es/components/Dropdown/Dropdown.tokens.js +24 -12
- package/es/components/Dropdown/Dropdown.tokens.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.css +4 -7
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +100 -80
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +4 -30
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1juhjtq.css +4 -0
- package/es/components/Dropdown/ui/DropdownItem/variations/_size/base.js +5 -0
- package/es/components/Dropdown/ui/DropdownItem/variations/_size/base.js.map +1 -0
- package/es/components/Dropdown/ui/DropdownItem/variations/_size/base_x642ct.css +1 -0
- package/es/components/Dropdown/ui/DropdownItem/variations/_view/base.js +5 -0
- package/es/components/Dropdown/ui/DropdownItem/variations/_view/base.js.map +1 -0
- package/es/components/Dropdown/ui/DropdownItem/variations/_view/base_x642ct.css +1 -0
- package/es/components/Dropdown/utils/index.js +14 -14
- package/es/components/Dropdown/utils/index.js.map +1 -1
- package/es/components/IconButton/IconButton.css +25 -0
- package/es/components/IconButton/IconButton.js +79 -0
- package/es/components/IconButton/IconButton.js.map +1 -0
- package/es/components/IconButton/IconButton.styles.js +20 -0
- package/es/components/IconButton/IconButton.styles.js.map +1 -0
- package/es/components/IconButton/IconButton.styles_12iyaye.css +2 -0
- package/es/components/IconButton/IconButton.tokens.js +31 -0
- package/es/components/IconButton/IconButton.tokens.js.map +1 -0
- package/es/components/IconButton/variations/_disabled/base.js +5 -0
- package/es/components/IconButton/variations/_disabled/base.js.map +1 -0
- package/es/components/IconButton/variations/_disabled/base_x642ct.css +1 -0
- package/es/components/IconButton/variations/_focused/base.js +5 -0
- package/es/components/IconButton/variations/_focused/base.js.map +1 -0
- package/es/components/IconButton/variations/_focused/base_x642ct.css +1 -0
- package/es/components/IconButton/variations/_size/base.js +5 -0
- package/es/components/IconButton/variations/_size/base.js.map +1 -0
- package/es/components/IconButton/variations/_size/base_x642ct.css +1 -0
- package/es/components/IconButton/variations/_view/base.js +5 -0
- package/es/components/IconButton/variations/_view/base.js.map +1 -0
- package/es/components/IconButton/variations/_view/base_x642ct.css +1 -0
- package/es/components/Pagination/Pagination.css +7 -39
- package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +7 -39
- package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +2 -2
- package/es/components/Select/Select.css +7 -39
- package/es/components/Select/Select.js +3 -3
- package/es/components/Select/ui/SelectDivider/SelectDivider.css +6 -10
- package/es/components/Select/ui/SelectDivider/SelectDivider.js +3 -3
- package/es/components/Select/ui/SelectFooter/SelectFooter.css +6 -10
- package/es/components/Select/ui/SelectFooter/SelectFooter.js +3 -3
- package/es/components/Select/ui/SelectGroup/SelectGroup.css +6 -10
- package/es/components/Select/ui/SelectGroup/SelectGroup.js +3 -3
- package/es/components/Select/ui/SelectHeader/SelectHeader.css +6 -10
- package/es/components/Select/ui/SelectHeader/SelectHeader.js +3 -3
- package/es/components/Select/ui/SelectItem/SelectItem.css +7 -59
- 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_6h17aw.css +1 -0
- package/es/components/_Icon/Icon.assets/DisclosureRight.js +2 -1
- package/es/components/_Icon/Icon.assets/DisclosureRight.js.map +1 -1
- package/es/index.css +11 -13
- package/es/index.js +3 -3
- package/package.json +2 -2
- package/styled-components/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js +2 -91
- package/styled-components/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +7 -27
- package/styled-components/cjs/components/Dropdown/Dropdown.js +54 -140
- package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +7 -22
- package/styled-components/cjs/components/Dropdown/Dropdown.template-doc.mdx +80 -0
- package/styled-components/cjs/components/Dropdown/Dropdown.tokens.js +24 -12
- package/styled-components/cjs/components/Dropdown/index.js +1 -9
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +105 -77
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +15 -30
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_size/base.js +8 -0
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_size/tokens.json +19 -0
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_view/base.js +8 -0
- package/styled-components/cjs/components/Dropdown/ui/DropdownItem/variations/_view/tokens.json +9 -0
- package/styled-components/cjs/components/Dropdown/ui/index.js +13 -14
- package/styled-components/cjs/components/Dropdown/utils/index.js +13 -14
- package/styled-components/cjs/components/Dropdown/variations/_size/tokens.json +9 -1
- package/styled-components/cjs/components/Dropdown/variations/_view/tokens.json +1 -1
- package/styled-components/cjs/components/IconButton/IconButton.js +86 -0
- package/styled-components/cjs/components/IconButton/IconButton.styles.js +19 -0
- package/styled-components/cjs/components/IconButton/IconButton.tokens.js +34 -0
- package/styled-components/cjs/components/IconButton/index.js +31 -0
- package/styled-components/cjs/components/IconButton/variations/_disabled/base.js +8 -0
- package/styled-components/cjs/components/IconButton/variations/_disabled/tokens.json +1 -0
- package/styled-components/cjs/components/IconButton/variations/_focused/base.js +8 -0
- package/styled-components/cjs/components/IconButton/variations/_focused/tokens.json +1 -0
- package/styled-components/cjs/components/IconButton/variations/_size/base.js +8 -0
- package/styled-components/cjs/components/IconButton/variations/_size/tokens.json +1 -0
- package/styled-components/cjs/components/IconButton/variations/_view/base.js +8 -0
- package/styled-components/cjs/components/IconButton/variations/_view/tokens.json +1 -0
- 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 +2 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.js +27 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.js +13 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +194 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.js +27 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.js +13 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +195 -0
- package/styled-components/cjs/examples/plasma_b2c/components/IconButton/IconButton.config.js +46 -0
- package/styled-components/cjs/examples/plasma_b2c/components/IconButton/IconButton.js +11 -0
- package/styled-components/cjs/examples/plasma_b2c/components/IconButton/IconButton.stories.tsx +65 -0
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.js +27 -0
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.js +13 -0
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +195 -0
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.js +27 -0
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.js +13 -0
- package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +195 -0
- package/styled-components/cjs/examples/plasma_web/components/IconButton/IconButton.config.js +46 -0
- package/styled-components/cjs/examples/plasma_web/components/IconButton/IconButton.js +11 -0
- package/styled-components/cjs/examples/plasma_web/components/IconButton/IconButton.stories.tsx +65 -0
- package/styled-components/cjs/examples/sds_engineer/components/Dropdown/Dropdown.config.js +22 -0
- package/styled-components/cjs/examples/sds_engineer/components/Dropdown/Dropdown.js +21 -0
- package/styled-components/cjs/examples/sds_engineer/components/Dropdown/Dropdown.stories.tsx +277 -0
- package/styled-components/cjs/index.js +11 -0
- package/styled-components/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js +3 -90
- package/styled-components/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +6 -23
- package/styled-components/es/components/Dropdown/Dropdown.js +55 -142
- package/styled-components/es/components/Dropdown/Dropdown.styles.js +5 -18
- package/styled-components/es/components/Dropdown/Dropdown.template-doc.mdx +80 -0
- package/styled-components/es/components/Dropdown/Dropdown.tokens.js +24 -12
- package/styled-components/es/components/Dropdown/index.js +0 -1
- package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +107 -78
- package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +11 -27
- package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_size/base.js +2 -0
- package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_size/tokens.json +19 -0
- package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_view/base.js +2 -0
- package/styled-components/es/components/Dropdown/ui/DropdownItem/variations/_view/tokens.json +9 -0
- package/styled-components/es/components/Dropdown/ui/index.js +1 -2
- package/styled-components/es/components/Dropdown/utils/index.js +13 -13
- package/styled-components/es/components/Dropdown/variations/_size/tokens.json +9 -1
- package/styled-components/es/components/Dropdown/variations/_view/tokens.json +1 -1
- package/styled-components/es/components/IconButton/IconButton.js +77 -0
- package/styled-components/es/components/IconButton/IconButton.styles.js +11 -0
- package/styled-components/es/components/IconButton/IconButton.tokens.js +28 -0
- package/styled-components/es/components/IconButton/index.js +2 -0
- package/styled-components/es/components/IconButton/variations/_disabled/base.js +2 -0
- package/styled-components/es/components/IconButton/variations/_disabled/tokens.json +1 -0
- package/styled-components/es/components/IconButton/variations/_focused/base.js +2 -0
- package/styled-components/es/components/IconButton/variations/_focused/tokens.json +1 -0
- package/styled-components/es/components/IconButton/variations/_size/base.js +2 -0
- package/styled-components/es/components/IconButton/variations/_size/tokens.json +1 -0
- package/styled-components/es/components/IconButton/variations/_view/base.js +2 -0
- package/styled-components/es/components/IconButton/variations/_view/tokens.json +1 -0
- 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 +2 -1
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.js +21 -0
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.js +7 -0
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +194 -0
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.js +21 -0
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.js +7 -0
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +195 -0
- package/styled-components/es/examples/plasma_b2c/components/IconButton/IconButton.config.js +40 -0
- package/styled-components/es/examples/plasma_b2c/components/IconButton/IconButton.js +5 -0
- package/styled-components/es/examples/plasma_b2c/components/IconButton/IconButton.stories.tsx +65 -0
- package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.js +21 -0
- package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.js +7 -0
- package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +195 -0
- package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.js +21 -0
- package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.js +7 -0
- package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +195 -0
- package/styled-components/es/examples/plasma_web/components/IconButton/IconButton.config.js +40 -0
- package/styled-components/es/examples/plasma_web/components/IconButton/IconButton.js +5 -0
- package/styled-components/es/examples/plasma_web/components/IconButton/IconButton.stories.tsx +65 -0
- package/styled-components/es/examples/sds_engineer/components/Dropdown/Dropdown.config.js +16 -0
- package/styled-components/es/examples/sds_engineer/components/Dropdown/Dropdown.js +15 -0
- package/styled-components/es/examples/sds_engineer/components/Dropdown/Dropdown.stories.tsx +277 -0
- package/styled-components/es/index.js +1 -0
- package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.d.ts +13 -15
- package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.d.ts.map +1 -1
- package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.d.ts +1 -5
- package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.d.ts.map +1 -1
- package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.type.d.ts +2 -59
- package/types/components/Combobox/ui/ComboboxItem/ComboboxItem.type.d.ts.map +1 -1
- 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 +1 -8
- package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.tokens.d.ts +22 -9
- package/types/components/Dropdown/Dropdown.tokens.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.types.d.ts +40 -64
- package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
- package/types/components/Dropdown/index.d.ts +1 -3
- package/types/components/Dropdown/index.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts +56 -2
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts +1 -5
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +38 -44
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownItem/variations/_size/base.d.ts +2 -0
- package/types/components/Dropdown/ui/DropdownItem/variations/_size/base.d.ts.map +1 -0
- package/types/components/Dropdown/ui/DropdownItem/variations/_view/base.d.ts +2 -0
- package/types/components/Dropdown/ui/DropdownItem/variations/_view/base.d.ts.map +1 -0
- package/types/components/Dropdown/ui/index.d.ts +1 -2
- package/types/components/Dropdown/ui/index.d.ts.map +1 -1
- package/types/components/Dropdown/utils/index.d.ts +3 -5
- package/types/components/Dropdown/utils/index.d.ts.map +1 -1
- package/types/components/IconButton/IconButton.d.ts +30 -0
- package/types/components/IconButton/IconButton.d.ts.map +1 -0
- package/types/components/IconButton/IconButton.styles.d.ts +4 -0
- package/types/components/IconButton/IconButton.styles.d.ts.map +1 -0
- package/types/components/IconButton/IconButton.tokens.d.ts +29 -0
- package/types/components/IconButton/IconButton.tokens.d.ts.map +1 -0
- package/types/components/IconButton/IconButton.types.d.ts +13 -0
- package/types/components/IconButton/IconButton.types.d.ts.map +1 -0
- package/types/components/IconButton/index.d.ts +4 -0
- package/types/components/IconButton/index.d.ts.map +1 -0
- package/types/components/IconButton/variations/_disabled/base.d.ts +2 -0
- package/types/components/IconButton/variations/_disabled/base.d.ts.map +1 -0
- package/types/components/IconButton/variations/_focused/base.d.ts +2 -0
- package/types/components/IconButton/variations/_focused/base.d.ts.map +1 -0
- package/types/components/IconButton/variations/_size/base.d.ts +2 -0
- package/types/components/IconButton/variations/_size/base.d.ts.map +1 -0
- package/types/components/IconButton/variations/_view/base.d.ts +2 -0
- package/types/components/IconButton/variations/_view/base.d.ts.map +1 -0
- 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/Normal/Dropdown.config.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.d.ts +30 -0
- package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.d.ts +18 -0
- package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.d.ts +30 -0
- package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/IconButton/IconButton.config.d.ts +39 -0
- package/types/examples/plasma_b2c/components/IconButton/IconButton.config.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/IconButton/IconButton.d.ts +33 -0
- package/types/examples/plasma_b2c/components/IconButton/IconButton.d.ts.map +1 -0
- package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.d.ts +18 -0
- package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.d.ts.map +1 -0
- package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.d.ts +30 -0
- package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.d.ts.map +1 -0
- package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.d.ts +18 -0
- package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.d.ts.map +1 -0
- package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.d.ts +30 -0
- package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.d.ts.map +1 -0
- package/types/examples/plasma_web/components/IconButton/IconButton.config.d.ts +39 -0
- package/types/examples/plasma_web/components/IconButton/IconButton.config.d.ts.map +1 -0
- package/types/examples/plasma_web/components/IconButton/IconButton.d.ts +33 -0
- package/types/examples/plasma_web/components/IconButton/IconButton.d.ts.map +1 -0
- package/types/examples/sds_engineer/components/Dropdown/Dropdown.config.d.ts +15 -0
- package/types/examples/sds_engineer/components/Dropdown/Dropdown.config.d.ts.map +1 -0
- package/types/examples/sds_engineer/components/Dropdown/Dropdown.d.ts +51 -0
- package/types/examples/sds_engineer/components/Dropdown/Dropdown.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_s4sk53.css +0 -4
- package/cjs/components/Combobox/utils/index.js +0 -23
- package/cjs/components/Combobox/utils/index.js.map +0 -1
- package/cjs/components/Dropdown/Dropdown.styles_1tihqkp.css +0 -3
- package/cjs/components/Dropdown/hooks/useHashMaps.js +0 -31
- package/cjs/components/Dropdown/hooks/useHashMaps.js.map +0 -1
- package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +0 -200
- package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +0 -1
- package/cjs/components/Dropdown/reducers/focusedPathReducer.js +0 -37
- package/cjs/components/Dropdown/reducers/focusedPathReducer.js.map +0 -1
- package/cjs/components/Dropdown/reducers/pathReducer.js +0 -41
- package/cjs/components/Dropdown/reducers/pathReducer.js.map +0 -1
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +0 -117
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +0 -1
- package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1o4szyu.css +0 -5
- package/cjs/components/Select/ui/SelectItem/SelectItem.styles_1jgsd1a.css +0 -1
- package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles_s4sk53.css +0 -4
- package/es/components/Combobox/utils/index.js +0 -19
- package/es/components/Combobox/utils/index.js.map +0 -1
- package/es/components/Dropdown/Dropdown.styles_1tihqkp.css +0 -3
- package/es/components/Dropdown/hooks/useHashMaps.js +0 -27
- package/es/components/Dropdown/hooks/useHashMaps.js.map +0 -1
- package/es/components/Dropdown/hooks/useKeyboardNavigation.js +0 -196
- package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +0 -1
- package/es/components/Dropdown/reducers/focusedPathReducer.js +0 -33
- package/es/components/Dropdown/reducers/focusedPathReducer.js.map +0 -1
- package/es/components/Dropdown/reducers/pathReducer.js +0 -37
- package/es/components/Dropdown/reducers/pathReducer.js.map +0 -1
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +0 -113
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +0 -1
- package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1o4szyu.css +0 -5
- package/es/components/Select/ui/SelectItem/SelectItem.styles_1jgsd1a.css +0 -1
- package/styled-components/cjs/components/Combobox/utils/index.js +0 -23
- package/styled-components/cjs/components/Dropdown/hooks/useHashMaps.js +0 -29
- package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +0 -199
- package/styled-components/cjs/components/Dropdown/reducers/focusedPathReducer.js +0 -40
- package/styled-components/cjs/components/Dropdown/reducers/pathReducer.js +0 -44
- package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +0 -114
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +0 -25
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.js +0 -11
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +0 -294
- package/styled-components/es/components/Combobox/utils/index.js +0 -15
- package/styled-components/es/components/Dropdown/hooks/useHashMaps.js +0 -23
- package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +0 -193
- package/styled-components/es/components/Dropdown/reducers/focusedPathReducer.js +0 -34
- package/styled-components/es/components/Dropdown/reducers/pathReducer.js +0 -38
- package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +0 -108
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.config.js +0 -19
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.js +0 -5
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +0 -294
- package/types/components/Combobox/utils/index.d.ts +0 -4
- package/types/components/Combobox/utils/index.d.ts.map +0 -1
- package/types/components/Dropdown/hooks/useHashMaps.d.ts +0 -6
- package/types/components/Dropdown/hooks/useHashMaps.d.ts.map +0 -1
- package/types/components/Dropdown/hooks/useKeyboardNavigation.d.ts +0 -23
- package/types/components/Dropdown/hooks/useKeyboardNavigation.d.ts.map +0 -1
- package/types/components/Dropdown/reducers/focusedPathReducer.d.ts +0 -16
- package/types/components/Dropdown/reducers/focusedPathReducer.d.ts.map +0 -1
- package/types/components/Dropdown/reducers/pathReducer.d.ts +0 -20
- package/types/components/Dropdown/reducers/pathReducer.d.ts.map +0 -1
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts +0 -5
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +0 -1
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +0 -26
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +0 -1
- package/types/examples/plasma_b2c/components/Dropdown/Dropdown.config.d.ts.map +0 -1
- package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts +0 -13
- package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts.map +0 -1
- /package/styled-components/cjs/components/{Dropdown/ui/DropdownInner/DropdownInner.type.js → IconButton/IconButton.types.js} +0 -0
- /package/styled-components/es/components/{Dropdown/ui/DropdownInner/DropdownInner.type.js → IconButton/IconButton.types.js} +0 -0
- /package/types/examples/plasma_b2c/components/Dropdown/{Dropdown.config.d.ts → Normal/Dropdown.config.d.ts} +0 -0
@@ -0,0 +1,21 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { dropdownTokens } from '../../../../../components/Dropdown';
|
3
|
+
var dropdownSizeCommon = /*#__PURE__*/"\n ".concat(dropdownTokens.width, ": 12.5rem;\n ").concat(dropdownTokens.height, ": auto;\n ").concat(dropdownTokens.borderRadius, ": 0.5rem;\n ").concat(dropdownTokens.paddingTop, ": 0.125rem;\n ").concat(dropdownTokens.paddingRight, ": 0.0625rem;\n ").concat(dropdownTokens.paddingBottom, ": 0.125rem;\n ").concat(dropdownTokens.paddingLeft, ": 0.125rem;\n");
|
4
|
+
var dropdownItemSizeCommon = /*#__PURE__*/"\n ".concat(dropdownTokens.itemWidth, ": auto;\n ").concat(dropdownTokens.itemHeight, ": auto;\n ").concat(dropdownTokens.itemMarginTop, ": 0;\n ").concat(dropdownTokens.itemMarginRight, ": 0;\n ").concat(dropdownTokens.itemMarginBottom, ": 0;\n ").concat(dropdownTokens.itemMarginLeft, ": 0;\n");
|
5
|
+
export var config = {
|
6
|
+
defaults: {
|
7
|
+
view: 'default',
|
8
|
+
size: 'm'
|
9
|
+
},
|
10
|
+
variations: {
|
11
|
+
size: {
|
12
|
+
xs: /*#__PURE__*/css(["", ";", ";", ":0.3125rem;", ":0.5rem;", ":0.3125rem;", ":0.5rem;", ":0.375rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], dropdownSizeCommon, dropdownItemSizeCommon, dropdownTokens.itemPaddingTop, dropdownTokens.itemPaddingRight, dropdownTokens.itemPaddingBottom, dropdownTokens.itemPaddingLeft, dropdownTokens.itemBorderRadius, dropdownTokens.itemFontFamily, dropdownTokens.itemFontSize, dropdownTokens.itemFontStyle, dropdownTokens.itemFontWeightBold, dropdownTokens.itemFontLetterSpacing, dropdownTokens.itemFontLineHeight),
|
13
|
+
s: /*#__PURE__*/css(["", ";", ";", ":0.4375rem;", ":0.75rem;", ":0.4375rem;", ":0.75rem;", ":0.5rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);"], dropdownSizeCommon, dropdownItemSizeCommon, dropdownTokens.itemPaddingTop, dropdownTokens.itemPaddingRight, dropdownTokens.itemPaddingBottom, dropdownTokens.itemPaddingLeft, dropdownTokens.itemBorderRadius, dropdownTokens.itemFontFamily, dropdownTokens.itemFontSize, dropdownTokens.itemFontStyle, dropdownTokens.itemFontWeightBold, dropdownTokens.itemFontLetterSpacing, dropdownTokens.itemFontLineHeight),
|
14
|
+
m: /*#__PURE__*/css(["", ";", ";", ":0.625rem;", ":0.875rem;", ":0.625rem;", ":0.875rem;", ":0.625rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);"], dropdownSizeCommon, dropdownItemSizeCommon, dropdownTokens.itemPaddingTop, dropdownTokens.itemPaddingRight, dropdownTokens.itemPaddingBottom, dropdownTokens.itemPaddingLeft, dropdownTokens.itemBorderRadius, dropdownTokens.itemFontFamily, dropdownTokens.itemFontSize, dropdownTokens.itemFontStyle, dropdownTokens.itemFontWeightBold, dropdownTokens.itemFontLetterSpacing, dropdownTokens.itemFontLineHeight),
|
15
|
+
l: /*#__PURE__*/css(["", ";", ";", ":0.8125rem;", ":1rem;", ":0.8125rem;", ":1rem;", ":0.75rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);"], dropdownSizeCommon, dropdownItemSizeCommon, dropdownTokens.itemPaddingTop, dropdownTokens.itemPaddingRight, dropdownTokens.itemPaddingBottom, dropdownTokens.itemPaddingLeft, dropdownTokens.itemBorderRadius, dropdownTokens.itemFontFamily, dropdownTokens.itemFontSize, dropdownTokens.itemFontStyle, dropdownTokens.itemFontWeightBold, dropdownTokens.itemFontLetterSpacing, dropdownTokens.itemFontLineHeight)
|
16
|
+
},
|
17
|
+
view: {
|
18
|
+
"default": /*#__PURE__*/css(["", ":0.4;", ":var(--surface-solid-card);", ":var(--shadow-down-soft-s);", ":var(--plasma-colors-transparent);", ":var(--surface-transparent-secondary);", ":inherit;", ":inherit;", ":inherit;", ":inherit;", ":var(--text-primary);"], dropdownTokens.disabledOpacity, dropdownTokens.background, dropdownTokens.boxShadow, dropdownTokens.itemBackground, dropdownTokens.itemBackgroundHover, dropdownTokens.itemBackgroundSelected, dropdownTokens.itemColorSelected, dropdownTokens.itemBackgroundSelectedHover, dropdownTokens.itemColorSelectedHover, dropdownTokens.itemColor)
|
19
|
+
}
|
20
|
+
}
|
21
|
+
};
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { dropdownConfig, dropdownItemConfig } from '../../../../../components/Dropdown';
|
2
|
+
import { component, mergeConfig } from '../../../../../engines';
|
3
|
+
import { config } from './Dropdown.config';
|
4
|
+
var mergedConfig = /*#__PURE__*/mergeConfig(dropdownConfig, config);
|
5
|
+
export var Dropdown = /*#__PURE__*/component(mergedConfig);
|
6
|
+
var mergedItemConfig = /*#__PURE__*/mergeConfig(dropdownItemConfig);
|
7
|
+
export var DropdownItem = /*#__PURE__*/component(mergedItemConfig);
|
package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx
ADDED
@@ -0,0 +1,195 @@
|
|
1
|
+
import React, { useState } from 'react';
|
2
|
+
import type { ComponentProps } from 'react';
|
3
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
4
|
+
import { action } from '@storybook/addon-actions';
|
5
|
+
import styled from 'styled-components';
|
6
|
+
|
7
|
+
import { WithTheme, argTypesFromConfig } from '../../../../_helpers';
|
8
|
+
import { mergeConfig } from '../../../../../engines';
|
9
|
+
import { dropdownConfig } from '../../../../../components/Dropdown';
|
10
|
+
import { Button } from '../../Button/Button';
|
11
|
+
import { Radiobox } from '../../Radiobox/Radiobox';
|
12
|
+
import { Checkbox } from '../../Checkbox/Checkbox';
|
13
|
+
import type { DropdownPlacement, DropdownTrigger } from '../../../../../components/Dropdown/Dropdown.types';
|
14
|
+
|
15
|
+
import { Dropdown, DropdownItem } from './Dropdown';
|
16
|
+
import { config } from './Dropdown.config';
|
17
|
+
|
18
|
+
const placements: Array<DropdownPlacement> = ['top', 'bottom', 'right', 'left', 'auto'];
|
19
|
+
const triggers: Array<DropdownTrigger> = ['click', 'hover'];
|
20
|
+
|
21
|
+
type StoryDropdownPropsCustom = {
|
22
|
+
skidding?: number;
|
23
|
+
distance?: number;
|
24
|
+
};
|
25
|
+
|
26
|
+
type StoryDropdownProps = ComponentProps<typeof Dropdown> & StoryDropdownPropsCustom;
|
27
|
+
|
28
|
+
const meta: Meta<StoryDropdownProps> = {
|
29
|
+
title: 'plasma_b2c/Dropdown',
|
30
|
+
decorators: [WithTheme],
|
31
|
+
component: Dropdown,
|
32
|
+
argTypes: {
|
33
|
+
placement: {
|
34
|
+
options: placements,
|
35
|
+
control: {
|
36
|
+
type: 'select',
|
37
|
+
},
|
38
|
+
},
|
39
|
+
trigger: {
|
40
|
+
options: triggers,
|
41
|
+
control: {
|
42
|
+
type: 'select',
|
43
|
+
},
|
44
|
+
},
|
45
|
+
...argTypesFromConfig(mergeConfig(dropdownConfig, config)),
|
46
|
+
},
|
47
|
+
args: {
|
48
|
+
placement: 'bottom',
|
49
|
+
trigger: 'click',
|
50
|
+
closeOnOverlayClick: false,
|
51
|
+
closeOnEsc: true,
|
52
|
+
isFocusTrapped: true,
|
53
|
+
skidding: 0,
|
54
|
+
distance: 0,
|
55
|
+
},
|
56
|
+
};
|
57
|
+
|
58
|
+
export default meta;
|
59
|
+
|
60
|
+
const onSelect = action('onSelect');
|
61
|
+
const onClick = action('onClick');
|
62
|
+
const onChange = action('onChange');
|
63
|
+
|
64
|
+
const getDropdownItems = (slug: string, elemCount: number) =>
|
65
|
+
[...Array(elemCount).keys()].map((num) => ({
|
66
|
+
value: `${slug}_${num}`,
|
67
|
+
child: `${slug} ${num}`,
|
68
|
+
}));
|
69
|
+
|
70
|
+
const StyledRadiobox = styled(Radiobox)`
|
71
|
+
margin-right: 0.5rem;
|
72
|
+
`;
|
73
|
+
|
74
|
+
const StyledCheckbox = styled(Checkbox)`
|
75
|
+
margin-left: auto;
|
76
|
+
`;
|
77
|
+
|
78
|
+
const StyledDisclosureRightIcon = styled.div`
|
79
|
+
width: 1.25rem;
|
80
|
+
height: 1.25rem;
|
81
|
+
margin-left: auto;
|
82
|
+
`;
|
83
|
+
|
84
|
+
const DisclosureRightIcon = (props) => (
|
85
|
+
<StyledDisclosureRightIcon>
|
86
|
+
<svg width="100%" viewBox="0 0 24 24" fill="none" {...props}>
|
87
|
+
<path
|
88
|
+
d="M9.883 8.707a1 1 0 011.414-1.414L16.004 12l-4.707 4.707a1 1 0 01-1.414-1.414L13.176 12 9.883 8.707z"
|
89
|
+
fill="currentColor"
|
90
|
+
/>
|
91
|
+
</svg>
|
92
|
+
</StyledDisclosureRightIcon>
|
93
|
+
);
|
94
|
+
|
95
|
+
const StoryTight = (args: StoryDropdownProps) => {
|
96
|
+
const [selected, setSelected] = useState('');
|
97
|
+
const [isOpen, setIsOpen] = useState(false);
|
98
|
+
const [isOpenDropdown2, setIsOpenDropdown2] = useState(false);
|
99
|
+
|
100
|
+
const { skidding, distance, placement, ...rest } = args;
|
101
|
+
|
102
|
+
const onMainClose = () => {
|
103
|
+
setIsOpen(false);
|
104
|
+
setIsOpenDropdown2(false);
|
105
|
+
};
|
106
|
+
|
107
|
+
const onMainToggle = (openValue: boolean) => {
|
108
|
+
setIsOpen(openValue);
|
109
|
+
|
110
|
+
if (!openValue) {
|
111
|
+
onMainClose();
|
112
|
+
}
|
113
|
+
};
|
114
|
+
|
115
|
+
const handleSelect = (value: string, text: string) => {
|
116
|
+
setSelected(value);
|
117
|
+
onSelect(value, text);
|
118
|
+
setIsOpen(false);
|
119
|
+
};
|
120
|
+
|
121
|
+
return (
|
122
|
+
<div>
|
123
|
+
<h3>This is header</h3>
|
124
|
+
<Dropdown
|
125
|
+
target={<Button>Target</Button>}
|
126
|
+
isOpen={isOpen}
|
127
|
+
onToggle={onMainToggle}
|
128
|
+
offset={[Number(skidding), Number(distance)]}
|
129
|
+
placement={placement}
|
130
|
+
{...rest}
|
131
|
+
>
|
132
|
+
{getDropdownItems('item', 6).map((item) => (
|
133
|
+
<DropdownItem
|
134
|
+
key={item.value}
|
135
|
+
isSelected={Boolean(item.value === selected)}
|
136
|
+
onSelect={() => handleSelect(item.value, item.child)}
|
137
|
+
onClick={onClick}
|
138
|
+
value={item.value}
|
139
|
+
>
|
140
|
+
{item.child}
|
141
|
+
</DropdownItem>
|
142
|
+
))}
|
143
|
+
<Dropdown
|
144
|
+
target={<DropdownItem contentRight={DisclosureRightIcon} name="test" text="Nested dropdown" />}
|
145
|
+
onToggle={(is) => setIsOpenDropdown2(is)}
|
146
|
+
isOpen={isOpenDropdown2}
|
147
|
+
offset={[0, 0]}
|
148
|
+
isNested
|
149
|
+
{...rest}
|
150
|
+
>
|
151
|
+
<DropdownItem contentRight={StyledCheckbox} value="checked" onChange={onChange} text="Checkbox" />
|
152
|
+
{getDropdownItems('nested', 4).map((item) => (
|
153
|
+
<DropdownItem
|
154
|
+
key={item.value}
|
155
|
+
isSelected={Boolean(item.value === selected)}
|
156
|
+
onSelect={() => handleSelect(item.value, item.child)}
|
157
|
+
onClick={onClick}
|
158
|
+
value={item.value}
|
159
|
+
>
|
160
|
+
{item.child}
|
161
|
+
</DropdownItem>
|
162
|
+
))}
|
163
|
+
<DropdownItem
|
164
|
+
contentLeft={StyledRadiobox}
|
165
|
+
name="radio"
|
166
|
+
value="1"
|
167
|
+
onChange={onChange}
|
168
|
+
text="Radiobox 1"
|
169
|
+
/>
|
170
|
+
<DropdownItem
|
171
|
+
contentLeft={StyledRadiobox}
|
172
|
+
name="radio"
|
173
|
+
value="2"
|
174
|
+
onChange={onChange}
|
175
|
+
text="Radiobox 2"
|
176
|
+
/>
|
177
|
+
</Dropdown>
|
178
|
+
|
179
|
+
<DropdownItem
|
180
|
+
isSelected={selected === 'disabled'}
|
181
|
+
onSelect={() => handleSelect('disabled', 'disabled')}
|
182
|
+
onClick={onClick}
|
183
|
+
value="disabled"
|
184
|
+
disabled
|
185
|
+
>
|
186
|
+
disabled
|
187
|
+
</DropdownItem>
|
188
|
+
</Dropdown>
|
189
|
+
</div>
|
190
|
+
);
|
191
|
+
};
|
192
|
+
|
193
|
+
export const Tight: StoryObj<StoryDropdownProps> = {
|
194
|
+
render: (args) => <StoryTight {...args} />,
|
195
|
+
};
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { iconButtonTokens } from '../../../../components/IconButton';
|
3
|
+
export var config = {
|
4
|
+
defaults: {
|
5
|
+
view: 'default',
|
6
|
+
focused: 'true',
|
7
|
+
size: 'm'
|
8
|
+
},
|
9
|
+
variations: {
|
10
|
+
view: {
|
11
|
+
"default": /*#__PURE__*/css(["", ":var(--inverse-text-primary);", ":var(--surface-solid-default);", ":var(--inverse-text-primary);", ":var(--surface-solid-default-hover);", ":var(--inverse-text-primary);", ":var(--surface-solid-default-active);"], iconButtonTokens.iconButtonColor, iconButtonTokens.iconButtonBackgroundColor, iconButtonTokens.iconButtonColorHover, iconButtonTokens.iconButtonBackgroundColorHover, iconButtonTokens.iconButtonColorActive, iconButtonTokens.iconButtonBackgroundColorActive),
|
12
|
+
primary: /*#__PURE__*/css(["", ":var(--inverse-text-primary);", ":var(--surface-solid-default);", ":var(--inverse-text-primary);", ":var(--surface-solid-default-hover);", ":var(--inverse-text-primary);", ":var(--surface-solid-default-active);"], iconButtonTokens.iconButtonColor, iconButtonTokens.iconButtonBackgroundColor, iconButtonTokens.iconButtonColorHover, iconButtonTokens.iconButtonBackgroundColorHover, iconButtonTokens.iconButtonColorActive, iconButtonTokens.iconButtonBackgroundColorActive),
|
13
|
+
accent: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--surface-accent);", ":var(--on-dark-text-primary);", ":var(--surface-accent-hover);", ":var(--on-dark-text-primary);", ":var(--surface-accent-active);"], iconButtonTokens.iconButtonColor, iconButtonTokens.iconButtonBackgroundColor, iconButtonTokens.iconButtonColorHover, iconButtonTokens.iconButtonBackgroundColorHover, iconButtonTokens.iconButtonColorActive, iconButtonTokens.iconButtonBackgroundColorActive),
|
14
|
+
secondary: /*#__PURE__*/css(["", ":var(--text-primary);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--surface-transparent-secondary-hover);", ":var(--text-primary);", ":var(--surface-transparent-secondary-active);"], iconButtonTokens.iconButtonColor, iconButtonTokens.iconButtonBackgroundColor, iconButtonTokens.iconButtonColorHover, iconButtonTokens.iconButtonBackgroundColorHover, iconButtonTokens.iconButtonColorActive, iconButtonTokens.iconButtonBackgroundColorActive),
|
15
|
+
clear: /*#__PURE__*/css(["", ":var(--text-primary);", ":var(--surface-clear);", ":var(--text-primary-hover);", ":var(--surface-clear);", ":var(--text-primary-active);", ":var(--surface-clear);"], iconButtonTokens.iconButtonColor, iconButtonTokens.iconButtonBackgroundColor, iconButtonTokens.iconButtonColorHover, iconButtonTokens.iconButtonBackgroundColorHover, iconButtonTokens.iconButtonColorActive, iconButtonTokens.iconButtonBackgroundColorActive),
|
16
|
+
success: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--surface-positive);", ":var(--on-dark-text-primary);", ":var(--surface-positive-hover);", ":var(--on-dark-text-primary);", ":var(--surface-positive-active);"], iconButtonTokens.iconButtonColor, iconButtonTokens.iconButtonBackgroundColor, iconButtonTokens.iconButtonColorHover, iconButtonTokens.iconButtonBackgroundColorHover, iconButtonTokens.iconButtonColorActive, iconButtonTokens.iconButtonBackgroundColorActive),
|
17
|
+
warning: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--surface-warning);", ":var(--on-dark-text-primary);", ":var(--surface-warning-hover);", ":var(--on-dark-text-primary);", ":var(--surface-warning-active);"], iconButtonTokens.iconButtonColor, iconButtonTokens.iconButtonBackgroundColor, iconButtonTokens.iconButtonColorHover, iconButtonTokens.iconButtonBackgroundColorHover, iconButtonTokens.iconButtonColorActive, iconButtonTokens.iconButtonBackgroundColorActive),
|
18
|
+
critical: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--surface-negative);", ":var(--on-dark-text-primary);", ":var(--surface-negative-hover);", ":var(--on-dark-text-primary);", ":var(--surface-negative-active);"], iconButtonTokens.iconButtonColor, iconButtonTokens.iconButtonBackgroundColor, iconButtonTokens.iconButtonColorHover, iconButtonTokens.iconButtonBackgroundColorHover, iconButtonTokens.iconButtonColorActive, iconButtonTokens.iconButtonBackgroundColorActive),
|
19
|
+
dark: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--on-light-surface-transparent-deep);", ":var(--on-dark-text-primary);", ":var(--on-light-surface-transparent-deep-hover);", ":var(--on-dark-text-primary);", ":var(--on-light-surface-transparent-deep-active);"], iconButtonTokens.iconButtonColor, iconButtonTokens.iconButtonBackgroundColor, iconButtonTokens.iconButtonColorHover, iconButtonTokens.iconButtonBackgroundColorHover, iconButtonTokens.iconButtonColorActive, iconButtonTokens.iconButtonBackgroundColorActive),
|
20
|
+
black: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--on-light-surface-solid-default);", ":var(--on-dark-text-primary);", ":var(--on-light-surface-solid-default-hover);", ":var(--on-dark-text-primary);", ":var(--on-light-surface-solid-default-active);"], iconButtonTokens.iconButtonColor, iconButtonTokens.iconButtonBackgroundColor, iconButtonTokens.iconButtonColorHover, iconButtonTokens.iconButtonBackgroundColorHover, iconButtonTokens.iconButtonColorActive, iconButtonTokens.iconButtonBackgroundColorActive),
|
21
|
+
white: /*#__PURE__*/css(["", ":var(--on-light-text-primary);", ":var(--on-dark-surface-solid-default);", ":var(--on-light-text-primary);", ":var(--on-dark-surface-solid-default-hover);", ":var(--on-light-text-primary);", ":var(--on-dark-surface-solid-default-active);"], iconButtonTokens.iconButtonColor, iconButtonTokens.iconButtonBackgroundColor, iconButtonTokens.iconButtonColorHover, iconButtonTokens.iconButtonBackgroundColorHover, iconButtonTokens.iconButtonColorActive, iconButtonTokens.iconButtonBackgroundColorActive)
|
22
|
+
},
|
23
|
+
size: {
|
24
|
+
l: /*#__PURE__*/css(["", ":3.5rem;", ":3.5rem;", ":1.5rem;", ":0.875rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-bold-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);", ":1.375rem;", ":inherit;"], iconButtonTokens.iconButtonHeight, iconButtonTokens.iconButtonWidth, iconButtonTokens.iconButtonPadding, iconButtonTokens.iconButtonRadius, iconButtonTokens.iconButtonFontFamily, iconButtonTokens.iconButtonFontSize, iconButtonTokens.iconButtonFontStyle, iconButtonTokens.iconButtonFontWeight, iconButtonTokens.iconButtonLetterSpacing, iconButtonTokens.iconButtonLineHeight, iconButtonTokens.iconButtonSpinnerSize, iconButtonTokens.iconButtonSpinnerColor),
|
25
|
+
lr: /*#__PURE__*/css(["", ":3.5rem;", ":3.5rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-bold-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);", ":1.375rem;", ":inherit;"], iconButtonTokens.iconButtonHeight, iconButtonTokens.iconButtonWidth, iconButtonTokens.iconButtonFontFamily, iconButtonTokens.iconButtonFontSize, iconButtonTokens.iconButtonFontStyle, iconButtonTokens.iconButtonFontWeight, iconButtonTokens.iconButtonLetterSpacing, iconButtonTokens.iconButtonLineHeight, iconButtonTokens.iconButtonSpinnerSize, iconButtonTokens.iconButtonSpinnerColor),
|
26
|
+
m: /*#__PURE__*/css(["", ":3rem;", ":3rem;", ":1.25rem;", ":0.75rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-bold-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":1.375rem;", ":inherit;"], iconButtonTokens.iconButtonHeight, iconButtonTokens.iconButtonWidth, iconButtonTokens.iconButtonPadding, iconButtonTokens.iconButtonRadius, iconButtonTokens.iconButtonFontFamily, iconButtonTokens.iconButtonFontSize, iconButtonTokens.iconButtonFontStyle, iconButtonTokens.iconButtonFontWeight, iconButtonTokens.iconButtonLetterSpacing, iconButtonTokens.iconButtonLineHeight, iconButtonTokens.iconButtonSpinnerSize, iconButtonTokens.iconButtonSpinnerColor),
|
27
|
+
mr: /*#__PURE__*/css(["", ":3rem;", ":3rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-bold-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":1.375rem;", ":inherit;"], iconButtonTokens.iconButtonHeight, iconButtonTokens.iconButtonWidth, iconButtonTokens.iconButtonFontFamily, iconButtonTokens.iconButtonFontSize, iconButtonTokens.iconButtonFontStyle, iconButtonTokens.iconButtonFontWeight, iconButtonTokens.iconButtonLetterSpacing, iconButtonTokens.iconButtonLineHeight, iconButtonTokens.iconButtonSpinnerSize, iconButtonTokens.iconButtonSpinnerColor),
|
28
|
+
s: /*#__PURE__*/css(["", ":2.5rem;", ":2.5remm;", ":1rem;", ":0.625rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-bold-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);", ":1.375rem;", ":inherit;"], iconButtonTokens.iconButtonHeight, iconButtonTokens.iconButtonWidth, iconButtonTokens.iconButtonPadding, iconButtonTokens.iconButtonRadius, iconButtonTokens.iconButtonFontFamily, iconButtonTokens.iconButtonFontSize, iconButtonTokens.iconButtonFontStyle, iconButtonTokens.iconButtonFontWeight, iconButtonTokens.iconButtonLetterSpacing, iconButtonTokens.iconButtonLineHeight, iconButtonTokens.iconButtonSpinnerSize, iconButtonTokens.iconButtonSpinnerColor),
|
29
|
+
sr: /*#__PURE__*/css(["", ":2.5rem;", ":2.5rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-bold-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);", ":1.375rem;", ":inherit;"], iconButtonTokens.iconButtonHeight, iconButtonTokens.iconButtonWidth, iconButtonTokens.iconButtonFontFamily, iconButtonTokens.iconButtonFontSize, iconButtonTokens.iconButtonFontStyle, iconButtonTokens.iconButtonFontWeight, iconButtonTokens.iconButtonLetterSpacing, iconButtonTokens.iconButtonLineHeight, iconButtonTokens.iconButtonSpinnerSize, iconButtonTokens.iconButtonSpinnerColor),
|
30
|
+
xs: /*#__PURE__*/css(["", ":2rem;", ":2rem;", ":0.75rem;", ":0.5rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-bold-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":1rem;", ":inherit;"], iconButtonTokens.iconButtonHeight, iconButtonTokens.iconButtonWidth, iconButtonTokens.iconButtonPadding, iconButtonTokens.iconButtonRadius, iconButtonTokens.iconButtonFontFamily, iconButtonTokens.iconButtonFontSize, iconButtonTokens.iconButtonFontStyle, iconButtonTokens.iconButtonFontWeight, iconButtonTokens.iconButtonLetterSpacing, iconButtonTokens.iconButtonLineHeight, iconButtonTokens.iconButtonSpinnerSize, iconButtonTokens.iconButtonSpinnerColor),
|
31
|
+
xsr: /*#__PURE__*/css(["", ":2rem;", ":2rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-bold-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":1rem;", ":inherit;"], iconButtonTokens.iconButtonHeight, iconButtonTokens.iconButtonWidth, iconButtonTokens.iconButtonFontFamily, iconButtonTokens.iconButtonFontSize, iconButtonTokens.iconButtonFontStyle, iconButtonTokens.iconButtonFontWeight, iconButtonTokens.iconButtonLetterSpacing, iconButtonTokens.iconButtonLineHeight, iconButtonTokens.iconButtonSpinnerSize, iconButtonTokens.iconButtonSpinnerColor)
|
32
|
+
},
|
33
|
+
disabled: {
|
34
|
+
"true": /*#__PURE__*/css(["", ":0.4;"], iconButtonTokens.iconButtonDisabledOpacity)
|
35
|
+
},
|
36
|
+
focused: {
|
37
|
+
"true": /*#__PURE__*/css(["", ":var(--surface-accent);"], iconButtonTokens.iconButtonFocusColor)
|
38
|
+
}
|
39
|
+
}
|
40
|
+
};
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import { iconButtonConfig } from '../../../../components/IconButton';
|
2
|
+
import { component, mergeConfig } from '../../../../engines';
|
3
|
+
import { config } from './IconButton.config';
|
4
|
+
var mergedConfig = /*#__PURE__*/mergeConfig(iconButtonConfig, config);
|
5
|
+
export var IconButton = /*#__PURE__*/component(mergedConfig);
|
@@ -0,0 +1,65 @@
|
|
1
|
+
import React, { ComponentProps } from 'react';
|
2
|
+
import type { StoryObj, Meta } from '@storybook/react';
|
3
|
+
|
4
|
+
import { iconButtonConfig } from '../../../../components/IconButton';
|
5
|
+
import { mergeConfig } from '../../../../engines';
|
6
|
+
import { WithTheme, argTypesFromConfig } from '../../../_helpers';
|
7
|
+
import { IconChevronLeft } from '../../../../components/_Icon';
|
8
|
+
|
9
|
+
import { config } from './IconButton.config';
|
10
|
+
import { IconButton } from './IconButton';
|
11
|
+
|
12
|
+
const meta: Meta<typeof IconButton> = {
|
13
|
+
title: 'plasma_b2c/IconButton',
|
14
|
+
decorators: [WithTheme],
|
15
|
+
component: IconButton,
|
16
|
+
argTypes: {
|
17
|
+
...argTypesFromConfig(mergeConfig(iconButtonConfig, config)),
|
18
|
+
pin: {
|
19
|
+
options: [
|
20
|
+
'square-square',
|
21
|
+
'square-clear',
|
22
|
+
'clear-square',
|
23
|
+
'clear-clear',
|
24
|
+
'clear-circle',
|
25
|
+
'circle-clear',
|
26
|
+
'circle-circle',
|
27
|
+
'',
|
28
|
+
],
|
29
|
+
control: {
|
30
|
+
type: 'select',
|
31
|
+
},
|
32
|
+
table: { defaultValue: { summary: 'bottom' } },
|
33
|
+
},
|
34
|
+
},
|
35
|
+
};
|
36
|
+
|
37
|
+
export default meta;
|
38
|
+
|
39
|
+
const getSizeForIcon = (size) => {
|
40
|
+
if (size === 'mr') {
|
41
|
+
return 'm';
|
42
|
+
}
|
43
|
+
if (size === 'lr') {
|
44
|
+
return 'l';
|
45
|
+
}
|
46
|
+
if (size === 'sr') {
|
47
|
+
return 's';
|
48
|
+
}
|
49
|
+
if (size === 'xsr') {
|
50
|
+
return 'xs';
|
51
|
+
}
|
52
|
+
return size;
|
53
|
+
};
|
54
|
+
|
55
|
+
export const Default: StoryObj<ComponentProps<typeof IconButton>> = {
|
56
|
+
args: {
|
57
|
+
children: <IconChevronLeft />,
|
58
|
+
view: 'default',
|
59
|
+
size: 'm',
|
60
|
+
disabled: false,
|
61
|
+
focused: true,
|
62
|
+
isLoading: false,
|
63
|
+
},
|
64
|
+
render: (args) => <IconButton {...args} icon={<IconChevronLeft size={getSizeForIcon(args.size)} />} />,
|
65
|
+
};
|
package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.js
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { dropdownTokens } from '../../../../../components/Dropdown';
|
3
|
+
var dropdownSizeCommon = /*#__PURE__*/"\n ".concat(dropdownTokens.width, ": 12.5rem;\n ").concat(dropdownTokens.height, ": auto;\n ").concat(dropdownTokens.borderRadius, ": 0.5rem;\n ").concat(dropdownTokens.paddingTop, ": 0.125rem;\n ").concat(dropdownTokens.paddingRight, ": 0.0625rem;\n ").concat(dropdownTokens.paddingBottom, ": 0.125rem;\n ").concat(dropdownTokens.paddingLeft, ": 0.125rem;\n");
|
4
|
+
var dropdownItemSizeCommon = /*#__PURE__*/"\n ".concat(dropdownTokens.itemWidth, ": auto;\n ").concat(dropdownTokens.itemHeight, ": auto;\n ").concat(dropdownTokens.itemMarginTop, ": 0;\n ").concat(dropdownTokens.itemMarginRight, ": 0;\n ").concat(dropdownTokens.itemMarginBottom, ": 0;\n ").concat(dropdownTokens.itemMarginLeft, ": 0;\n");
|
5
|
+
export var config = {
|
6
|
+
defaults: {
|
7
|
+
view: 'default',
|
8
|
+
size: 'm'
|
9
|
+
},
|
10
|
+
variations: {
|
11
|
+
size: {
|
12
|
+
xs: /*#__PURE__*/css(["", ";", ";", ":0.5625rem;", ":0.5rem;", ":0.5625rem;", ":0.5rem;", ":0.375rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], dropdownSizeCommon, dropdownItemSizeCommon, dropdownTokens.itemPaddingTop, dropdownTokens.itemPaddingRight, dropdownTokens.itemPaddingBottom, dropdownTokens.itemPaddingLeft, dropdownTokens.itemBorderRadius, dropdownTokens.itemFontFamily, dropdownTokens.itemFontSize, dropdownTokens.itemFontStyle, dropdownTokens.itemFontWeightBold, dropdownTokens.itemFontLetterSpacing, dropdownTokens.itemFontLineHeight),
|
13
|
+
s: /*#__PURE__*/css(["", ";", ";", ":0.6875rem;", ":0.75rem;", ":0.6875rem;", ":0.75rem;", ":0.5rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);"], dropdownSizeCommon, dropdownItemSizeCommon, dropdownTokens.itemPaddingTop, dropdownTokens.itemPaddingRight, dropdownTokens.itemPaddingBottom, dropdownTokens.itemPaddingLeft, dropdownTokens.itemBorderRadius, dropdownTokens.itemFontFamily, dropdownTokens.itemFontSize, dropdownTokens.itemFontStyle, dropdownTokens.itemFontWeightBold, dropdownTokens.itemFontLetterSpacing, dropdownTokens.itemFontLineHeight),
|
14
|
+
m: /*#__PURE__*/css(["", ";", ";", ":0.875rem;", ":0.875rem;", ":0.875rem;", ":0.875rem;", ":0.625rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);"], dropdownSizeCommon, dropdownItemSizeCommon, dropdownTokens.itemPaddingTop, dropdownTokens.itemPaddingRight, dropdownTokens.itemPaddingBottom, dropdownTokens.itemPaddingLeft, dropdownTokens.itemBorderRadius, dropdownTokens.itemFontFamily, dropdownTokens.itemFontSize, dropdownTokens.itemFontStyle, dropdownTokens.itemFontWeightBold, dropdownTokens.itemFontLetterSpacing, dropdownTokens.itemFontLineHeight),
|
15
|
+
l: /*#__PURE__*/css(["", ";", ";", ":1.0625rem;", ":1rem;", ":1.0625rem;", ":1rem;", ":0.75rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);"], dropdownSizeCommon, dropdownItemSizeCommon, dropdownTokens.itemPaddingTop, dropdownTokens.itemPaddingRight, dropdownTokens.itemPaddingBottom, dropdownTokens.itemPaddingLeft, dropdownTokens.itemBorderRadius, dropdownTokens.itemFontFamily, dropdownTokens.itemFontSize, dropdownTokens.itemFontStyle, dropdownTokens.itemFontWeightBold, dropdownTokens.itemFontLetterSpacing, dropdownTokens.itemFontLineHeight)
|
16
|
+
},
|
17
|
+
view: {
|
18
|
+
"default": /*#__PURE__*/css(["", ":0.4;", ":var(--surface-solid-card);", ":var(--shadow-down-soft-s);", ":var(--plasma-colors-transparent);", ":var(--surface-transparent-secondary);", ":inherit;", ":inherit;", ":inherit;", ":inherit;", ":var(--text-primary);"], dropdownTokens.disabledOpacity, dropdownTokens.background, dropdownTokens.boxShadow, dropdownTokens.itemBackground, dropdownTokens.itemBackgroundHover, dropdownTokens.itemBackgroundSelected, dropdownTokens.itemColorSelected, dropdownTokens.itemBackgroundSelectedHover, dropdownTokens.itemColorSelectedHover, dropdownTokens.itemColor)
|
19
|
+
}
|
20
|
+
}
|
21
|
+
};
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { dropdownConfig, dropdownItemConfig } from '../../../../../components/Dropdown';
|
2
|
+
import { component, mergeConfig } from '../../../../../engines';
|
3
|
+
import { config } from './Dropdown.config';
|
4
|
+
var mergedConfig = /*#__PURE__*/mergeConfig(dropdownConfig, config);
|
5
|
+
export var Dropdown = /*#__PURE__*/component(mergedConfig);
|
6
|
+
var mergedItemConfig = /*#__PURE__*/mergeConfig(dropdownItemConfig);
|
7
|
+
export var DropdownItem = /*#__PURE__*/component(mergedItemConfig);
|
package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx
ADDED
@@ -0,0 +1,195 @@
|
|
1
|
+
import React, { useState } from 'react';
|
2
|
+
import type { ComponentProps } from 'react';
|
3
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
4
|
+
import { action } from '@storybook/addon-actions';
|
5
|
+
import styled from 'styled-components';
|
6
|
+
|
7
|
+
import { WithTheme, argTypesFromConfig } from '../../../../_helpers';
|
8
|
+
import { mergeConfig } from '../../../../../engines';
|
9
|
+
import { dropdownConfig } from '../../../../../components/Dropdown';
|
10
|
+
import { Button } from '../../Button/Button';
|
11
|
+
import { Radiobox } from '../../Radiobox/Radiobox';
|
12
|
+
import { Checkbox } from '../../Checkbox/Checkbox';
|
13
|
+
import type { DropdownPlacement, DropdownTrigger } from '../../../../../components/Dropdown/Dropdown.types';
|
14
|
+
|
15
|
+
import { Dropdown, DropdownItem } from './Dropdown';
|
16
|
+
import { config } from './Dropdown.config';
|
17
|
+
|
18
|
+
const placements: Array<DropdownPlacement> = ['top', 'bottom', 'right', 'left', 'auto'];
|
19
|
+
const triggers: Array<DropdownTrigger> = ['click', 'hover'];
|
20
|
+
|
21
|
+
type StoryDropdownPropsCustom = {
|
22
|
+
skidding?: number;
|
23
|
+
distance?: number;
|
24
|
+
};
|
25
|
+
|
26
|
+
type StoryDropdownProps = ComponentProps<typeof Dropdown> & StoryDropdownPropsCustom;
|
27
|
+
|
28
|
+
const meta: Meta<StoryDropdownProps> = {
|
29
|
+
title: 'plasma_web/Dropdown',
|
30
|
+
decorators: [WithTheme],
|
31
|
+
component: Dropdown,
|
32
|
+
argTypes: {
|
33
|
+
placement: {
|
34
|
+
options: placements,
|
35
|
+
control: {
|
36
|
+
type: 'select',
|
37
|
+
},
|
38
|
+
},
|
39
|
+
trigger: {
|
40
|
+
options: triggers,
|
41
|
+
control: {
|
42
|
+
type: 'select',
|
43
|
+
},
|
44
|
+
},
|
45
|
+
...argTypesFromConfig(mergeConfig(dropdownConfig, config)),
|
46
|
+
},
|
47
|
+
args: {
|
48
|
+
placement: 'bottom',
|
49
|
+
trigger: 'click',
|
50
|
+
closeOnOverlayClick: false,
|
51
|
+
closeOnEsc: true,
|
52
|
+
isFocusTrapped: true,
|
53
|
+
skidding: 0,
|
54
|
+
distance: 0,
|
55
|
+
},
|
56
|
+
};
|
57
|
+
|
58
|
+
export default meta;
|
59
|
+
|
60
|
+
const onSelect = action('onSelect');
|
61
|
+
const onClick = action('onClick');
|
62
|
+
const onChange = action('onChange');
|
63
|
+
|
64
|
+
const getDropdownItems = (slug: string, elemCount: number) =>
|
65
|
+
[...Array(elemCount).keys()].map((num) => ({
|
66
|
+
value: `${slug}_${num}`,
|
67
|
+
child: `${slug} ${num}`,
|
68
|
+
}));
|
69
|
+
|
70
|
+
const StyledRadiobox = styled(Radiobox)`
|
71
|
+
margin-right: 0.5rem;
|
72
|
+
`;
|
73
|
+
|
74
|
+
const StyledCheckbox = styled(Checkbox)`
|
75
|
+
margin-left: auto;
|
76
|
+
`;
|
77
|
+
|
78
|
+
const StyledDisclosureRightIcon = styled.div`
|
79
|
+
width: 1.25rem;
|
80
|
+
height: 1.25rem;
|
81
|
+
margin-left: auto;
|
82
|
+
`;
|
83
|
+
|
84
|
+
const DisclosureRightIcon = (props) => (
|
85
|
+
<StyledDisclosureRightIcon>
|
86
|
+
<svg width="100%" viewBox="0 0 24 24" fill="none" {...props}>
|
87
|
+
<path
|
88
|
+
d="M9.883 8.707a1 1 0 011.414-1.414L16.004 12l-4.707 4.707a1 1 0 01-1.414-1.414L13.176 12 9.883 8.707z"
|
89
|
+
fill="currentColor"
|
90
|
+
/>
|
91
|
+
</svg>
|
92
|
+
</StyledDisclosureRightIcon>
|
93
|
+
);
|
94
|
+
|
95
|
+
const StoryNormal = (args: StoryDropdownProps) => {
|
96
|
+
const [selected, setSelected] = useState('');
|
97
|
+
const [isOpen, setIsOpen] = useState(false);
|
98
|
+
const [isOpenDropdown2, setIsOpenDropdown2] = useState(false);
|
99
|
+
|
100
|
+
const { skidding, distance, placement, ...rest } = args;
|
101
|
+
|
102
|
+
const onMainClose = () => {
|
103
|
+
setIsOpen(false);
|
104
|
+
setIsOpenDropdown2(false);
|
105
|
+
};
|
106
|
+
|
107
|
+
const onMainToggle = (openValue: boolean) => {
|
108
|
+
setIsOpen(openValue);
|
109
|
+
|
110
|
+
if (!openValue) {
|
111
|
+
onMainClose();
|
112
|
+
}
|
113
|
+
};
|
114
|
+
|
115
|
+
const handleSelect = (value: string, text: string) => {
|
116
|
+
setSelected(value);
|
117
|
+
onSelect(value, text);
|
118
|
+
setIsOpen(false);
|
119
|
+
};
|
120
|
+
|
121
|
+
return (
|
122
|
+
<div>
|
123
|
+
<h3>This is header</h3>
|
124
|
+
<Dropdown
|
125
|
+
target={<Button>Target</Button>}
|
126
|
+
isOpen={isOpen}
|
127
|
+
onToggle={onMainToggle}
|
128
|
+
offset={[Number(skidding), Number(distance)]}
|
129
|
+
placement={placement}
|
130
|
+
{...rest}
|
131
|
+
>
|
132
|
+
{getDropdownItems('item', 6).map((item) => (
|
133
|
+
<DropdownItem
|
134
|
+
key={item.value}
|
135
|
+
isSelected={Boolean(item.value === selected)}
|
136
|
+
onSelect={() => handleSelect(item.value, item.child)}
|
137
|
+
onClick={onClick}
|
138
|
+
value={item.value}
|
139
|
+
>
|
140
|
+
{item.child}
|
141
|
+
</DropdownItem>
|
142
|
+
))}
|
143
|
+
<Dropdown
|
144
|
+
target={<DropdownItem contentRight={DisclosureRightIcon} name="test" text="Nested dropdown" />}
|
145
|
+
onToggle={(is) => setIsOpenDropdown2(is)}
|
146
|
+
isOpen={isOpenDropdown2}
|
147
|
+
offset={[0, 0]}
|
148
|
+
isNested
|
149
|
+
{...rest}
|
150
|
+
>
|
151
|
+
<DropdownItem contentRight={StyledCheckbox} value="checked" onChange={onChange} text="Checkbox" />
|
152
|
+
{getDropdownItems('nested', 4).map((item) => (
|
153
|
+
<DropdownItem
|
154
|
+
key={item.value}
|
155
|
+
isSelected={Boolean(item.value === selected)}
|
156
|
+
onSelect={() => handleSelect(item.value, item.child)}
|
157
|
+
onClick={onClick}
|
158
|
+
value={item.value}
|
159
|
+
>
|
160
|
+
{item.child}
|
161
|
+
</DropdownItem>
|
162
|
+
))}
|
163
|
+
<DropdownItem
|
164
|
+
contentLeft={StyledRadiobox}
|
165
|
+
name="radio"
|
166
|
+
value="1"
|
167
|
+
onChange={onChange}
|
168
|
+
text="Radiobox 1"
|
169
|
+
/>
|
170
|
+
<DropdownItem
|
171
|
+
contentLeft={StyledRadiobox}
|
172
|
+
name="radio"
|
173
|
+
value="2"
|
174
|
+
onChange={onChange}
|
175
|
+
text="Radiobox 2"
|
176
|
+
/>
|
177
|
+
</Dropdown>
|
178
|
+
|
179
|
+
<DropdownItem
|
180
|
+
isSelected={selected === 'disabled'}
|
181
|
+
onSelect={() => handleSelect('disabled', 'disabled')}
|
182
|
+
onClick={onClick}
|
183
|
+
value="disabled"
|
184
|
+
disabled
|
185
|
+
>
|
186
|
+
disabled
|
187
|
+
</DropdownItem>
|
188
|
+
</Dropdown>
|
189
|
+
</div>
|
190
|
+
);
|
191
|
+
};
|
192
|
+
|
193
|
+
export const Normal: StoryObj<StoryDropdownProps> = {
|
194
|
+
render: (args) => <StoryNormal {...args} />,
|
195
|
+
};
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { dropdownTokens } from '../../../../../components/Dropdown';
|
3
|
+
var dropdownSizeCommon = /*#__PURE__*/"\n ".concat(dropdownTokens.width, ": 12.5rem;\n ").concat(dropdownTokens.height, ": auto;\n ").concat(dropdownTokens.borderRadius, ": 0.5rem;\n ").concat(dropdownTokens.paddingTop, ": 0.125rem;\n ").concat(dropdownTokens.paddingRight, ": 0.0625rem;\n ").concat(dropdownTokens.paddingBottom, ": 0.125rem;\n ").concat(dropdownTokens.paddingLeft, ": 0.125rem;\n");
|
4
|
+
var dropdownItemSizeCommon = /*#__PURE__*/"\n ".concat(dropdownTokens.itemWidth, ": auto;\n ").concat(dropdownTokens.itemHeight, ": auto;\n ").concat(dropdownTokens.itemMarginTop, ": 0;\n ").concat(dropdownTokens.itemMarginRight, ": 0;\n ").concat(dropdownTokens.itemMarginBottom, ": 0;\n ").concat(dropdownTokens.itemMarginLeft, ": 0;\n");
|
5
|
+
export var config = {
|
6
|
+
defaults: {
|
7
|
+
view: 'default',
|
8
|
+
size: 'm'
|
9
|
+
},
|
10
|
+
variations: {
|
11
|
+
size: {
|
12
|
+
xs: /*#__PURE__*/css(["", ";", ";", ":0.3125rem;", ":0.5rem;", ":0.3125rem;", ":0.5rem;", ":0.375rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], dropdownSizeCommon, dropdownItemSizeCommon, dropdownTokens.itemPaddingTop, dropdownTokens.itemPaddingRight, dropdownTokens.itemPaddingBottom, dropdownTokens.itemPaddingLeft, dropdownTokens.itemBorderRadius, dropdownTokens.itemFontFamily, dropdownTokens.itemFontSize, dropdownTokens.itemFontStyle, dropdownTokens.itemFontWeightBold, dropdownTokens.itemFontLetterSpacing, dropdownTokens.itemFontLineHeight),
|
13
|
+
s: /*#__PURE__*/css(["", ";", ";", ":0.4375rem;", ":0.75rem;", ":0.4375rem;", ":0.75rem;", ":0.5rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);"], dropdownSizeCommon, dropdownItemSizeCommon, dropdownTokens.itemPaddingTop, dropdownTokens.itemPaddingRight, dropdownTokens.itemPaddingBottom, dropdownTokens.itemPaddingLeft, dropdownTokens.itemBorderRadius, dropdownTokens.itemFontFamily, dropdownTokens.itemFontSize, dropdownTokens.itemFontStyle, dropdownTokens.itemFontWeightBold, dropdownTokens.itemFontLetterSpacing, dropdownTokens.itemFontLineHeight),
|
14
|
+
m: /*#__PURE__*/css(["", ";", ";", ":0.625rem;", ":0.875rem;", ":0.625rem;", ":0.875rem;", ":0.625rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);"], dropdownSizeCommon, dropdownItemSizeCommon, dropdownTokens.itemPaddingTop, dropdownTokens.itemPaddingRight, dropdownTokens.itemPaddingBottom, dropdownTokens.itemPaddingLeft, dropdownTokens.itemBorderRadius, dropdownTokens.itemFontFamily, dropdownTokens.itemFontSize, dropdownTokens.itemFontStyle, dropdownTokens.itemFontWeightBold, dropdownTokens.itemFontLetterSpacing, dropdownTokens.itemFontLineHeight),
|
15
|
+
l: /*#__PURE__*/css(["", ";", ";", ":0.8125rem;", ":1rem;", ":0.8125rem;", ":1rem;", ":0.75rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);"], dropdownSizeCommon, dropdownItemSizeCommon, dropdownTokens.itemPaddingTop, dropdownTokens.itemPaddingRight, dropdownTokens.itemPaddingBottom, dropdownTokens.itemPaddingLeft, dropdownTokens.itemBorderRadius, dropdownTokens.itemFontFamily, dropdownTokens.itemFontSize, dropdownTokens.itemFontStyle, dropdownTokens.itemFontWeightBold, dropdownTokens.itemFontLetterSpacing, dropdownTokens.itemFontLineHeight)
|
16
|
+
},
|
17
|
+
view: {
|
18
|
+
"default": /*#__PURE__*/css(["", ":0.4;", ":var(--surface-solid-card);", ":var(--shadow-down-soft-s);", ":var(--plasma-colors-transparent);", ":var(--surface-transparent-secondary);", ":inherit;", ":inherit;", ":inherit;", ":inherit;", ":var(--text-primary);"], dropdownTokens.disabledOpacity, dropdownTokens.background, dropdownTokens.boxShadow, dropdownTokens.itemBackground, dropdownTokens.itemBackgroundHover, dropdownTokens.itemBackgroundSelected, dropdownTokens.itemColorSelected, dropdownTokens.itemBackgroundSelectedHover, dropdownTokens.itemColorSelectedHover, dropdownTokens.itemColor)
|
19
|
+
}
|
20
|
+
}
|
21
|
+
};
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { dropdownConfig, dropdownItemConfig } from '../../../../../components/Dropdown';
|
2
|
+
import { component, mergeConfig } from '../../../../../engines';
|
3
|
+
import { config } from './Dropdown.config';
|
4
|
+
var mergedConfig = /*#__PURE__*/mergeConfig(dropdownConfig, config);
|
5
|
+
export var Dropdown = /*#__PURE__*/component(mergedConfig);
|
6
|
+
var mergedItemConfig = /*#__PURE__*/mergeConfig(dropdownItemConfig);
|
7
|
+
export var DropdownItem = /*#__PURE__*/component(mergedItemConfig);
|