@salutejs/plasma-new-hope 0.175.3-canary.1512.11555735717.0 → 0.176.0-canary.1511.11555353496.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
- package/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
- package/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
- package/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
- package/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +2 -4
- package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
- package/cjs/components/NumberInput/NumberInput.css +52 -0
- package/cjs/components/NumberInput/NumberInput.js +183 -0
- package/cjs/components/NumberInput/NumberInput.js.map +1 -0
- package/cjs/components/NumberInput/NumberInput.styles.js +9 -0
- package/cjs/components/NumberInput/NumberInput.styles.js.map +1 -0
- package/cjs/components/NumberInput/NumberInput.styles_jeawjl.css +1 -0
- package/cjs/components/NumberInput/NumberInput.tokens.js +91 -0
- package/cjs/components/NumberInput/NumberInput.tokens.js.map +1 -0
- package/cjs/components/NumberInput/ui/ActionButton/ActionButton.js +19 -0
- package/cjs/components/NumberInput/ui/ActionButton/ActionButton.js.map +1 -0
- package/cjs/components/NumberInput/ui/ActionButton/ActionButton.styles.js +22 -0
- package/cjs/components/NumberInput/ui/ActionButton/ActionButton.styles.js.map +1 -0
- package/cjs/components/NumberInput/ui/ActionButton/ActionButton.styles_x642ct.css +1 -0
- package/cjs/components/NumberInput/ui/Input/Input.css +15 -0
- package/cjs/components/NumberInput/ui/Input/Input.js +197 -0
- package/cjs/components/NumberInput/ui/Input/Input.js.map +1 -0
- package/cjs/components/NumberInput/ui/Input/Input.styles.js +96 -0
- package/cjs/components/NumberInput/ui/Input/Input.styles.js.map +1 -0
- package/cjs/components/NumberInput/ui/Input/Input.styles_fhgb95.css +8 -0
- package/cjs/components/NumberInput/utils/index.js +8 -0
- package/cjs/components/NumberInput/utils/index.js.map +1 -0
- package/cjs/components/NumberInput/variations/_background-type/base.js +9 -0
- package/cjs/components/NumberInput/variations/_background-type/base.js.map +1 -0
- package/cjs/components/NumberInput/variations/_background-type/base_dx9knv.css +1 -0
- package/cjs/components/NumberInput/variations/_disabled/base.js +9 -0
- package/cjs/components/NumberInput/variations/_disabled/base.js.map +1 -0
- package/cjs/components/NumberInput/variations/_disabled/base_1sl0mh8.css +1 -0
- package/cjs/components/NumberInput/variations/_segmentation/base.js +9 -0
- package/cjs/components/NumberInput/variations/_segmentation/base.js.map +1 -0
- package/cjs/components/NumberInput/variations/_segmentation/base_1mg9wqg.css +1 -0
- package/cjs/components/NumberInput/variations/_shape/base.js +9 -0
- package/cjs/components/NumberInput/variations/_shape/base.js.map +1 -0
- package/cjs/components/NumberInput/variations/_shape/base_k05biw.css +1 -0
- package/cjs/components/NumberInput/variations/_size/base.js +9 -0
- package/cjs/components/NumberInput/variations/_size/base.js.map +1 -0
- package/cjs/components/NumberInput/variations/_size/base_yqdmk4.css +1 -0
- package/cjs/components/NumberInput/variations/_view/base.js +9 -0
- package/cjs/components/NumberInput/variations/_view/base.js.map +1 -0
- package/cjs/components/NumberInput/variations/_view/base_3gefjm.css +1 -0
- package/cjs/components/Popover/Popover.js +1 -2
- package/cjs/components/Popover/Popover.js.map +1 -1
- package/cjs/index.css +23 -0
- package/cjs/index.js +6 -0
- package/cjs/index.js.map +1 -1
- package/emotion/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
- package/emotion/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
- package/emotion/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
- package/emotion/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
- package/emotion/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +4 -6
- package/emotion/cjs/components/NumberInput/NumberInput.js +193 -0
- package/emotion/cjs/components/NumberInput/NumberInput.styles.js +17 -0
- package/emotion/cjs/components/NumberInput/NumberInput.tokens.js +88 -0
- package/emotion/cjs/components/NumberInput/NumberInput.types.js +5 -0
- package/emotion/cjs/components/NumberInput/index.js +31 -0
- package/emotion/cjs/components/NumberInput/ui/ActionButton/ActionButton.js +18 -0
- package/emotion/cjs/components/NumberInput/ui/ActionButton/ActionButton.styles.js +16 -0
- package/emotion/cjs/components/NumberInput/ui/ActionButton/ActionButton.types.js +5 -0
- package/emotion/cjs/components/NumberInput/ui/Input/Input.js +205 -0
- package/emotion/cjs/components/NumberInput/ui/Input/Input.styles.js +81 -0
- package/emotion/cjs/components/NumberInput/ui/Input/Input.types.js +5 -0
- package/emotion/cjs/components/NumberInput/ui/index.js +19 -0
- package/emotion/cjs/components/NumberInput/utils/index.js +7 -0
- package/emotion/cjs/components/NumberInput/variations/_background-type/base.js +10 -0
- package/emotion/cjs/components/NumberInput/variations/_background-type/tokens.json +6 -0
- package/emotion/cjs/components/NumberInput/variations/_disabled/base.js +9 -0
- package/emotion/cjs/components/NumberInput/variations/_disabled/tokens.json +4 -0
- package/emotion/cjs/components/NumberInput/variations/_segmentation/base.js +12 -0
- package/emotion/cjs/components/NumberInput/variations/_segmentation/tokens.json +1 -0
- package/emotion/cjs/components/NumberInput/variations/_shape/base.js +11 -0
- package/emotion/cjs/components/NumberInput/variations/_shape/tokens.json +1 -0
- package/emotion/cjs/components/NumberInput/variations/_size/base.js +13 -0
- package/emotion/cjs/components/NumberInput/variations/_size/tokens.json +22 -0
- package/emotion/cjs/components/NumberInput/variations/_view/base.js +13 -0
- package/emotion/cjs/components/NumberInput/variations/_view/tokens.json +14 -0
- package/emotion/cjs/components/Popover/Popover.js +1 -2
- package/emotion/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.config.js +46 -0
- package/emotion/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.js +11 -0
- package/emotion/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +108 -0
- package/emotion/cjs/examples/plasma_web/components/NumberInput/NumberInput.config.js +46 -0
- package/emotion/cjs/examples/plasma_web/components/NumberInput/NumberInput.js +11 -0
- package/emotion/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +108 -0
- package/emotion/cjs/index.js +11 -0
- package/emotion/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
- package/emotion/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
- package/emotion/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
- package/emotion/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
- package/emotion/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +2 -4
- package/emotion/es/components/NumberInput/NumberInput.js +185 -0
- package/emotion/es/components/NumberInput/NumberInput.styles.js +11 -0
- package/emotion/es/components/NumberInput/NumberInput.tokens.js +82 -0
- package/emotion/es/components/NumberInput/NumberInput.types.js +1 -0
- package/emotion/es/components/NumberInput/index.js +2 -0
- package/emotion/es/components/NumberInput/ui/ActionButton/ActionButton.js +11 -0
- package/emotion/es/components/NumberInput/ui/ActionButton/ActionButton.styles.js +9 -0
- package/emotion/es/components/NumberInput/ui/ActionButton/ActionButton.types.js +1 -0
- package/emotion/es/components/NumberInput/ui/Input/Input.js +196 -0
- package/emotion/es/components/NumberInput/ui/Input/Input.styles.js +74 -0
- package/emotion/es/components/NumberInput/ui/Input/Input.types.js +1 -0
- package/emotion/es/components/NumberInput/ui/index.js +2 -0
- package/emotion/es/components/NumberInput/utils/index.js +1 -0
- package/emotion/es/components/NumberInput/variations/_background-type/base.js +4 -0
- package/emotion/es/components/NumberInput/variations/_background-type/tokens.json +6 -0
- package/emotion/es/components/NumberInput/variations/_disabled/base.js +3 -0
- package/emotion/es/components/NumberInput/variations/_disabled/tokens.json +4 -0
- package/emotion/es/components/NumberInput/variations/_segmentation/base.js +6 -0
- package/emotion/es/components/NumberInput/variations/_segmentation/tokens.json +1 -0
- package/emotion/es/components/NumberInput/variations/_shape/base.js +5 -0
- package/emotion/es/components/NumberInput/variations/_shape/tokens.json +1 -0
- package/emotion/es/components/NumberInput/variations/_size/base.js +7 -0
- package/emotion/es/components/NumberInput/variations/_size/tokens.json +22 -0
- package/emotion/es/components/NumberInput/variations/_view/base.js +7 -0
- package/emotion/es/components/NumberInput/variations/_view/tokens.json +14 -0
- package/emotion/es/components/Popover/Popover.js +1 -2
- package/emotion/es/examples/plasma_b2c/components/NumberInput/NumberInput.config.js +40 -0
- package/emotion/es/examples/plasma_b2c/components/NumberInput/NumberInput.js +5 -0
- package/emotion/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +108 -0
- package/emotion/es/examples/plasma_web/components/NumberInput/NumberInput.config.js +40 -0
- package/emotion/es/examples/plasma_web/components/NumberInput/NumberInput.js +5 -0
- package/emotion/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +108 -0
- package/emotion/es/index.js +2 -1
- package/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
- package/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
- package/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
- package/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
- package/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +2 -4
- package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
- package/es/components/NumberInput/NumberInput.css +52 -0
- package/es/components/NumberInput/NumberInput.js +178 -0
- package/es/components/NumberInput/NumberInput.js.map +1 -0
- package/es/components/NumberInput/NumberInput.styles.js +5 -0
- package/es/components/NumberInput/NumberInput.styles.js.map +1 -0
- package/es/components/NumberInput/NumberInput.styles_jeawjl.css +1 -0
- package/es/components/NumberInput/NumberInput.tokens.js +85 -0
- package/es/components/NumberInput/NumberInput.tokens.js.map +1 -0
- package/es/components/NumberInput/ui/ActionButton/ActionButton.js +15 -0
- package/es/components/NumberInput/ui/ActionButton/ActionButton.js.map +1 -0
- package/es/components/NumberInput/ui/ActionButton/ActionButton.styles.js +18 -0
- package/es/components/NumberInput/ui/ActionButton/ActionButton.styles.js.map +1 -0
- package/es/components/NumberInput/ui/ActionButton/ActionButton.styles_x642ct.css +1 -0
- package/es/components/NumberInput/ui/Input/Input.css +15 -0
- package/es/components/NumberInput/ui/Input/Input.js +193 -0
- package/es/components/NumberInput/ui/Input/Input.js.map +1 -0
- package/es/components/NumberInput/ui/Input/Input.styles.js +85 -0
- package/es/components/NumberInput/ui/Input/Input.styles.js.map +1 -0
- package/es/components/NumberInput/ui/Input/Input.styles_fhgb95.css +8 -0
- package/es/components/NumberInput/utils/index.js +4 -0
- package/es/components/NumberInput/utils/index.js.map +1 -0
- package/es/components/NumberInput/variations/_background-type/base.js +5 -0
- package/es/components/NumberInput/variations/_background-type/base.js.map +1 -0
- package/es/components/NumberInput/variations/_background-type/base_dx9knv.css +1 -0
- package/es/components/NumberInput/variations/_disabled/base.js +5 -0
- package/es/components/NumberInput/variations/_disabled/base.js.map +1 -0
- package/es/components/NumberInput/variations/_disabled/base_1sl0mh8.css +1 -0
- package/es/components/NumberInput/variations/_segmentation/base.js +5 -0
- package/es/components/NumberInput/variations/_segmentation/base.js.map +1 -0
- package/es/components/NumberInput/variations/_segmentation/base_1mg9wqg.css +1 -0
- package/es/components/NumberInput/variations/_shape/base.js +5 -0
- package/es/components/NumberInput/variations/_shape/base.js.map +1 -0
- package/es/components/NumberInput/variations/_shape/base_k05biw.css +1 -0
- package/es/components/NumberInput/variations/_size/base.js +5 -0
- package/es/components/NumberInput/variations/_size/base.js.map +1 -0
- package/es/components/NumberInput/variations/_size/base_yqdmk4.css +1 -0
- package/es/components/NumberInput/variations/_view/base.js +5 -0
- package/es/components/NumberInput/variations/_view/base.js.map +1 -0
- package/es/components/NumberInput/variations/_view/base_3gefjm.css +1 -0
- package/es/components/Popover/Popover.js +1 -2
- package/es/components/Popover/Popover.js.map +1 -1
- package/es/index.css +23 -0
- package/es/index.js +2 -0
- package/es/index.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
- package/styled-components/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
- package/styled-components/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
- package/styled-components/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
- package/styled-components/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +4 -6
- package/styled-components/cjs/components/NumberInput/NumberInput.js +193 -0
- package/styled-components/cjs/components/NumberInput/NumberInput.styles.js +8 -0
- package/styled-components/cjs/components/NumberInput/NumberInput.tokens.js +88 -0
- package/styled-components/cjs/components/NumberInput/NumberInput.types.js +5 -0
- package/styled-components/cjs/components/NumberInput/index.js +31 -0
- package/styled-components/cjs/components/NumberInput/ui/ActionButton/ActionButton.js +18 -0
- package/styled-components/cjs/components/NumberInput/ui/ActionButton/ActionButton.styles.js +15 -0
- package/styled-components/cjs/components/NumberInput/ui/ActionButton/ActionButton.types.js +5 -0
- package/styled-components/cjs/components/NumberInput/ui/Input/Input.js +205 -0
- package/styled-components/cjs/components/NumberInput/ui/Input/Input.styles.js +48 -0
- package/styled-components/cjs/components/NumberInput/ui/Input/Input.types.js +5 -0
- package/styled-components/cjs/components/NumberInput/ui/index.js +19 -0
- package/styled-components/cjs/components/NumberInput/utils/index.js +7 -0
- package/styled-components/cjs/components/NumberInput/variations/_background-type/base.js +10 -0
- package/styled-components/cjs/components/NumberInput/variations/_background-type/tokens.json +6 -0
- package/styled-components/cjs/components/NumberInput/variations/_disabled/base.js +9 -0
- package/styled-components/cjs/components/NumberInput/variations/_disabled/tokens.json +4 -0
- package/styled-components/cjs/components/NumberInput/variations/_segmentation/base.js +12 -0
- package/styled-components/cjs/components/NumberInput/variations/_segmentation/tokens.json +1 -0
- package/styled-components/cjs/components/NumberInput/variations/_shape/base.js +11 -0
- package/styled-components/cjs/components/NumberInput/variations/_shape/tokens.json +1 -0
- package/styled-components/cjs/components/NumberInput/variations/_size/base.js +13 -0
- package/styled-components/cjs/components/NumberInput/variations/_size/tokens.json +22 -0
- package/styled-components/cjs/components/NumberInput/variations/_view/base.js +13 -0
- package/styled-components/cjs/components/NumberInput/variations/_view/tokens.json +14 -0
- package/styled-components/cjs/components/Popover/Popover.js +1 -2
- package/styled-components/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.config.js +46 -0
- package/styled-components/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.js +11 -0
- package/styled-components/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +108 -0
- package/styled-components/cjs/examples/plasma_web/components/NumberInput/NumberInput.config.js +46 -0
- package/styled-components/cjs/examples/plasma_web/components/NumberInput/NumberInput.js +11 -0
- package/styled-components/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +108 -0
- package/styled-components/cjs/index.js +11 -0
- package/styled-components/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js +2 -2
- package/styled-components/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js +2 -2
- package/styled-components/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js +2 -2
- package/styled-components/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js +2 -2
- package/styled-components/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +2 -4
- package/styled-components/es/components/NumberInput/NumberInput.js +185 -0
- package/styled-components/es/components/NumberInput/NumberInput.styles.js +2 -0
- package/styled-components/es/components/NumberInput/NumberInput.tokens.js +82 -0
- package/styled-components/es/components/NumberInput/NumberInput.types.js +1 -0
- package/styled-components/es/components/NumberInput/index.js +2 -0
- package/styled-components/es/components/NumberInput/ui/ActionButton/ActionButton.js +11 -0
- package/styled-components/es/components/NumberInput/ui/ActionButton/ActionButton.styles.js +8 -0
- package/styled-components/es/components/NumberInput/ui/ActionButton/ActionButton.types.js +1 -0
- package/styled-components/es/components/NumberInput/ui/Input/Input.js +196 -0
- package/styled-components/es/components/NumberInput/ui/Input/Input.styles.js +41 -0
- package/styled-components/es/components/NumberInput/ui/Input/Input.types.js +1 -0
- package/styled-components/es/components/NumberInput/ui/index.js +2 -0
- package/styled-components/es/components/NumberInput/utils/index.js +1 -0
- package/styled-components/es/components/NumberInput/variations/_background-type/base.js +4 -0
- package/styled-components/es/components/NumberInput/variations/_background-type/tokens.json +6 -0
- package/styled-components/es/components/NumberInput/variations/_disabled/base.js +3 -0
- package/styled-components/es/components/NumberInput/variations/_disabled/tokens.json +4 -0
- package/styled-components/es/components/NumberInput/variations/_segmentation/base.js +6 -0
- package/styled-components/es/components/NumberInput/variations/_segmentation/tokens.json +1 -0
- package/styled-components/es/components/NumberInput/variations/_shape/base.js +5 -0
- package/styled-components/es/components/NumberInput/variations/_shape/tokens.json +1 -0
- package/styled-components/es/components/NumberInput/variations/_size/base.js +7 -0
- package/styled-components/es/components/NumberInput/variations/_size/tokens.json +22 -0
- package/styled-components/es/components/NumberInput/variations/_view/base.js +7 -0
- package/styled-components/es/components/NumberInput/variations/_view/tokens.json +14 -0
- package/styled-components/es/components/Popover/Popover.js +1 -2
- package/styled-components/es/examples/plasma_b2c/components/NumberInput/NumberInput.config.js +40 -0
- package/styled-components/es/examples/plasma_b2c/components/NumberInput/NumberInput.js +5 -0
- package/styled-components/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +108 -0
- package/styled-components/es/examples/plasma_web/components/NumberInput/NumberInput.config.js +40 -0
- package/styled-components/es/examples/plasma_web/components/NumberInput/NumberInput.js +5 -0
- package/styled-components/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +108 -0
- package/styled-components/es/index.js +2 -1
- package/types/components/Dropdown/ui/DropdownDivider/DropdownDivider.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownFooter/DropdownFooter.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownGroup/DropdownGroup.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownHeader/DropdownHeader.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts.map +1 -1
- package/types/components/NumberInput/NumberInput.d.ts +38 -0
- package/types/components/NumberInput/NumberInput.d.ts.map +1 -0
- package/types/components/NumberInput/NumberInput.styles.d.ts +2 -0
- package/types/components/NumberInput/NumberInput.styles.d.ts.map +1 -0
- package/types/components/NumberInput/NumberInput.tokens.d.ts +77 -0
- package/types/components/NumberInput/NumberInput.tokens.d.ts.map +1 -0
- package/types/components/NumberInput/NumberInput.types.d.ts +112 -0
- package/types/components/NumberInput/NumberInput.types.d.ts.map +1 -0
- package/types/components/NumberInput/index.d.ts +3 -0
- package/types/components/NumberInput/index.d.ts.map +1 -0
- package/types/components/NumberInput/ui/ActionButton/ActionButton.d.ts +4 -0
- package/types/components/NumberInput/ui/ActionButton/ActionButton.d.ts.map +1 -0
- package/types/components/NumberInput/ui/ActionButton/ActionButton.styles.d.ts +45 -0
- package/types/components/NumberInput/ui/ActionButton/ActionButton.styles.d.ts.map +1 -0
- package/types/components/NumberInput/ui/ActionButton/ActionButton.types.d.ts +7 -0
- package/types/components/NumberInput/ui/ActionButton/ActionButton.types.d.ts.map +1 -0
- package/types/components/NumberInput/ui/Input/Input.d.ts +16 -0
- package/types/components/NumberInput/ui/Input/Input.d.ts.map +1 -0
- package/types/components/NumberInput/ui/Input/Input.styles.d.ts +30 -0
- package/types/components/NumberInput/ui/Input/Input.styles.d.ts.map +1 -0
- package/types/components/NumberInput/ui/Input/Input.types.d.ts +16 -0
- package/types/components/NumberInput/ui/Input/Input.types.d.ts.map +1 -0
- package/types/components/NumberInput/ui/index.d.ts +3 -0
- package/types/components/NumberInput/ui/index.d.ts.map +1 -0
- package/types/components/NumberInput/utils/index.d.ts +2 -0
- package/types/components/NumberInput/utils/index.d.ts.map +1 -0
- package/types/components/NumberInput/variations/_background-type/base.d.ts +2 -0
- package/types/components/NumberInput/variations/_background-type/base.d.ts.map +1 -0
- package/types/components/NumberInput/variations/_disabled/base.d.ts +2 -0
- package/types/components/NumberInput/variations/_disabled/base.d.ts.map +1 -0
- package/types/components/NumberInput/variations/_segmentation/base.d.ts +2 -0
- package/types/components/NumberInput/variations/_segmentation/base.d.ts.map +1 -0
- package/types/components/NumberInput/variations/_shape/base.d.ts +2 -0
- package/types/components/NumberInput/variations/_shape/base.d.ts.map +1 -0
- package/types/components/NumberInput/variations/_size/base.d.ts +2 -0
- package/types/components/NumberInput/variations/_size/base.d.ts.map +1 -0
- package/types/components/NumberInput/variations/_view/base.d.ts +2 -0
- package/types/components/NumberInput/variations/_view/base.d.ts.map +1 -0
- package/types/components/Popover/Popover.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/NumberInput/NumberInput.config.d.ts +39 -0
- package/types/examples/plasma_b2c/components/NumberInput/NumberInput.config.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts +82 -0
- package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts.map +1 -0
- package/types/examples/plasma_web/components/NumberInput/NumberInput.config.d.ts +39 -0
- package/types/examples/plasma_web/components/NumberInput/NumberInput.config.d.ts.map +1 -0
- package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts +82 -0
- package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
@@ -0,0 +1,196 @@
|
|
1
|
+
var _StyledSpinner;
|
2
|
+
var _excluded = ["value", "min", "max", "isLoading", "loader", "disabled", "segmentation", "textBefore", "textAfter", "isManualInput", "setInnerValue", "onChange", "onBlur", "onKeyDown"];
|
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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
5
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
6
|
+
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); }
|
7
|
+
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; }
|
8
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
9
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
10
|
+
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; }
|
11
|
+
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; }
|
12
|
+
import React, { forwardRef, useEffect, useRef, useState } from 'react';
|
13
|
+
import { useForkRef } from '@salutejs/plasma-core';
|
14
|
+
import { classes } from '../../NumberInput.tokens';
|
15
|
+
import { cx, isNumber } from '../../../../utils';
|
16
|
+
import { useDidMountEffect } from '../../../../hooks';
|
17
|
+
import { numberPettern } from '../../utils';
|
18
|
+
import { keyCodes } from '../../../../utils/constants';
|
19
|
+
import { AdditionalText, Input, InputWrapper, DynamicInput, InputWidthHelper, TextWrapper, StyledSpinner, Loader } from './Input.styles';
|
20
|
+
export var NumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
21
|
+
var value = _ref.value,
|
22
|
+
min = _ref.min,
|
23
|
+
max = _ref.max,
|
24
|
+
isLoading = _ref.isLoading,
|
25
|
+
loader = _ref.loader,
|
26
|
+
disabled = _ref.disabled,
|
27
|
+
segmentation = _ref.segmentation,
|
28
|
+
textBefore = _ref.textBefore,
|
29
|
+
textAfter = _ref.textAfter,
|
30
|
+
isManualInput = _ref.isManualInput,
|
31
|
+
setInnerValue = _ref.setInnerValue,
|
32
|
+
onChange = _ref.onChange,
|
33
|
+
onBlur = _ref.onBlur,
|
34
|
+
onKeyDown = _ref.onKeyDown,
|
35
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
36
|
+
var _useState = useState(value ? "".concat(String(value).length, "ch") : '1ch'),
|
37
|
+
_useState2 = _slicedToArray(_useState, 2),
|
38
|
+
dynamicWidth = _useState2[0],
|
39
|
+
setDynamicWidth = _useState2[1];
|
40
|
+
var _useState3 = useState(Number(value)),
|
41
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
42
|
+
lastValidValue = _useState4[0],
|
43
|
+
setLastValidValue = _useState4[1];
|
44
|
+
var _useState5 = useState(undefined),
|
45
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
46
|
+
errorClass = _useState6[0],
|
47
|
+
setErrorClass = _useState6[1];
|
48
|
+
var _useState7 = useState(),
|
49
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
50
|
+
errorValue = _useState8[0],
|
51
|
+
setErrorValue = _useState8[1];
|
52
|
+
var _useState9 = useState(false),
|
53
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
54
|
+
isEditing = _useState10[0],
|
55
|
+
setIsEditing = _useState10[1];
|
56
|
+
var inputHelperRef = useRef(null);
|
57
|
+
var wrapperRef = useRef(null);
|
58
|
+
var textWrapperRef = useRef(null);
|
59
|
+
var inputRef = useRef(null);
|
60
|
+
var inputForkRef = useForkRef(inputRef, ref);
|
61
|
+
var solidViewClass = segmentation === 'solid' ? classes.solidView : undefined;
|
62
|
+
var manualInputClass = isManualInput ? classes.manualInput : undefined;
|
63
|
+
var getInputWidth = function getInputWidth() {
|
64
|
+
var _inputHelperRef$curre;
|
65
|
+
var firstRender = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
66
|
+
if (!firstRender && (_inputHelperRef$curre = inputHelperRef.current) !== null && _inputHelperRef$curre !== void 0 && _inputHelperRef$curre.clientWidth) {
|
67
|
+
var _inputHelperRef$curre2;
|
68
|
+
return "".concat((_inputHelperRef$curre2 = inputHelperRef.current) === null || _inputHelperRef$curre2 === void 0 ? void 0 : _inputHelperRef$curre2.clientWidth, "px");
|
69
|
+
}
|
70
|
+
if (value) {
|
71
|
+
return "".concat(String(value).length, "ch");
|
72
|
+
}
|
73
|
+
return '1ch';
|
74
|
+
};
|
75
|
+
var setValues = function setValues(event, newValue) {
|
76
|
+
setLastValidValue(newValue);
|
77
|
+
setInnerValue(newValue);
|
78
|
+
if (onChange) {
|
79
|
+
onChange(event, newValue);
|
80
|
+
}
|
81
|
+
};
|
82
|
+
var handleManualInputChange = function handleManualInputChange(event) {
|
83
|
+
var _textWrapperRef$curre, _wrapperRef$current;
|
84
|
+
if (!isManualInput || disabled) {
|
85
|
+
return;
|
86
|
+
}
|
87
|
+
var newValue = event.target.value;
|
88
|
+
if (!newValue) {
|
89
|
+
setInnerValue('');
|
90
|
+
if (onChange) {
|
91
|
+
onChange(event, '');
|
92
|
+
}
|
93
|
+
return;
|
94
|
+
}
|
95
|
+
var cleanValue = newValue.replace(/[^-.\d]/g, '');
|
96
|
+
if (cleanValue.endsWith('.')) {
|
97
|
+
setInnerValue(cleanValue);
|
98
|
+
if (onChange) {
|
99
|
+
onChange(event, cleanValue);
|
100
|
+
}
|
101
|
+
return;
|
102
|
+
}
|
103
|
+
var isValid = numberPettern.test(cleanValue);
|
104
|
+
if (!isValid) {
|
105
|
+
setValues(event, lastValidValue);
|
106
|
+
return;
|
107
|
+
}
|
108
|
+
var resValue = Number(cleanValue);
|
109
|
+
if (max && resValue > max) {
|
110
|
+
setErrorClass(classes.errorAnimation);
|
111
|
+
setErrorValue(max);
|
112
|
+
return;
|
113
|
+
}
|
114
|
+
if (min && resValue < min) {
|
115
|
+
setErrorClass(classes.errorAnimation);
|
116
|
+
setErrorValue(min);
|
117
|
+
return;
|
118
|
+
}
|
119
|
+
if (textWrapperRef !== null && textWrapperRef !== void 0 && textWrapperRef.current && wrapperRef !== null && wrapperRef !== void 0 && wrapperRef.current && (textWrapperRef === null || textWrapperRef === void 0 || (_textWrapperRef$curre = textWrapperRef.current) === null || _textWrapperRef$curre === void 0 ? void 0 : _textWrapperRef$curre.clientWidth) > (wrapperRef === null || wrapperRef === void 0 || (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.clientWidth)) {
|
120
|
+
wrapperRef.current.scrollLeft = textWrapperRef.current.offsetWidth - textWrapperRef.current.offsetLeft || 0;
|
121
|
+
}
|
122
|
+
setValues(event, resValue);
|
123
|
+
};
|
124
|
+
var handleClickInputWrapper = function handleClickInputWrapper() {
|
125
|
+
if (!isManualInput || !inputRef.current) {
|
126
|
+
return;
|
127
|
+
}
|
128
|
+
if (!isEditing) {
|
129
|
+
inputRef.current.select();
|
130
|
+
}
|
131
|
+
setIsEditing(true);
|
132
|
+
};
|
133
|
+
var handleBlur = function handleBlur(event) {
|
134
|
+
setIsEditing(false);
|
135
|
+
if (!value || !isNumber(value)) {
|
136
|
+
setValues(null, lastValidValue);
|
137
|
+
} else if (String(value).endsWith('.')) {
|
138
|
+
setValues(null, Number(value));
|
139
|
+
}
|
140
|
+
if (onBlur) {
|
141
|
+
onBlur(event);
|
142
|
+
}
|
143
|
+
};
|
144
|
+
var handleKeyDown = function handleKeyDown(event) {
|
145
|
+
if (!isManualInput || disabled) {
|
146
|
+
return;
|
147
|
+
}
|
148
|
+
if (event.keyCode === keyCodes.Enter) {
|
149
|
+
event.preventDefault();
|
150
|
+
if (!value || !isNumber(value)) {
|
151
|
+
setValues(null, lastValidValue);
|
152
|
+
} else if (String(value).endsWith('.')) {
|
153
|
+
setValues(null, Number(value));
|
154
|
+
}
|
155
|
+
if (onKeyDown) {
|
156
|
+
onKeyDown(event);
|
157
|
+
}
|
158
|
+
}
|
159
|
+
};
|
160
|
+
var handleEndErrorAnimation = function handleEndErrorAnimation(correctValue) {
|
161
|
+
setErrorClass(undefined);
|
162
|
+
setValues(null, correctValue);
|
163
|
+
};
|
164
|
+
useEffect(function () {
|
165
|
+
setDynamicWidth(getInputWidth());
|
166
|
+
}, []);
|
167
|
+
useDidMountEffect(function () {
|
168
|
+
setDynamicWidth(getInputWidth(false));
|
169
|
+
}, [value]);
|
170
|
+
return /*#__PURE__*/React.createElement(InputWrapper, {
|
171
|
+
ref: wrapperRef,
|
172
|
+
className: cx(solidViewClass, errorClass, manualInputClass),
|
173
|
+
isManualInput: Boolean(isManualInput),
|
174
|
+
onClick: handleClickInputWrapper
|
175
|
+
}, /*#__PURE__*/React.createElement(TextWrapper, {
|
176
|
+
ref: textWrapperRef
|
177
|
+
}, textBefore && /*#__PURE__*/React.createElement(AdditionalText, {
|
178
|
+
className: classes.textBefore
|
179
|
+
}, textBefore), isLoading ? /*#__PURE__*/React.createElement(Loader, null, loader || _StyledSpinner || (_StyledSpinner = /*#__PURE__*/React.createElement(StyledSpinner, null))) : /*#__PURE__*/React.createElement(DynamicInput, null, /*#__PURE__*/React.createElement(Input, _extends({
|
180
|
+
ref: inputForkRef,
|
181
|
+
dynamicWidth: dynamicWidth,
|
182
|
+
value: value,
|
183
|
+
isManualInput: Boolean(isManualInput),
|
184
|
+
tabIndex: disabled || !isManualInput ? -1 : 0,
|
185
|
+
onChange: handleManualInputChange,
|
186
|
+
onBlur: handleBlur,
|
187
|
+
onKeyDown: handleKeyDown,
|
188
|
+
onAnimationEnd: function onAnimationEnd() {
|
189
|
+
return handleEndErrorAnimation(Number(errorValue));
|
190
|
+
}
|
191
|
+
}, rest)), /*#__PURE__*/React.createElement(InputWidthHelper, {
|
192
|
+
ref: inputHelperRef
|
193
|
+
}, value)), textAfter && /*#__PURE__*/React.createElement(AdditionalText, {
|
194
|
+
className: classes.textAfter
|
195
|
+
}, textAfter)));
|
196
|
+
});
|
@@ -0,0 +1,41 @@
|
|
1
|
+
import styled from 'styled-components';
|
2
|
+
import { component, mergeConfig } from '../../../../engines';
|
3
|
+
import { spinnerConfig } from '../../../Spinner';
|
4
|
+
var mergedConfig = /*#__PURE__*/mergeConfig(spinnerConfig);
|
5
|
+
var Spinner = /*#__PURE__*/component(mergedConfig);
|
6
|
+
export var InputWrapper = /*#__PURE__*/styled.div.withConfig({
|
7
|
+
componentId: "plasma-new-hope__sc-i0o2ki-0"
|
8
|
+
})(["overflow-x:auto;overflow-y:hidden;flex:1;cursor:", ";::-webkit-scrollbar{display:none;}scrollbar-width:none;overscroll-behavior:contain;"], function (_ref) {
|
9
|
+
var isManualInput = _ref.isManualInput;
|
10
|
+
return isManualInput ? 'text' : 'default';
|
11
|
+
});
|
12
|
+
export var TextWrapper = /*#__PURE__*/styled.div.withConfig({
|
13
|
+
componentId: "plasma-new-hope__sc-i0o2ki-1"
|
14
|
+
})(["display:flex;align-items:center;justify-content:center;width:fit-content;margin:0 auto;box-sizing:border-box;"]);
|
15
|
+
export var AdditionalText = /*#__PURE__*/styled.span.withConfig({
|
16
|
+
componentId: "plasma-new-hope__sc-i0o2ki-2"
|
17
|
+
})([""]);
|
18
|
+
export var Loader = /*#__PURE__*/styled.div.withConfig({
|
19
|
+
componentId: "plasma-new-hope__sc-i0o2ki-3"
|
20
|
+
})([""]);
|
21
|
+
export var StyledSpinner = /*#__PURE__*/styled(Spinner).withConfig({
|
22
|
+
componentId: "plasma-new-hope__sc-i0o2ki-4"
|
23
|
+
})([""]);
|
24
|
+
export var DynamicInput = /*#__PURE__*/styled.div.withConfig({
|
25
|
+
componentId: "plasma-new-hope__sc-i0o2ki-5"
|
26
|
+
})(["position:relative;"]);
|
27
|
+
export var Input = /*#__PURE__*/styled.input.withConfig({
|
28
|
+
componentId: "plasma-new-hope__sc-i0o2ki-6"
|
29
|
+
})(["box-sizing:border-box;appearance:none;border:0;padding:0;background-color:transparent;outline:none;width:", ";box-sizing:border-box;cursor:", ";pointer-events:", ";transition:width 0.1s;"], function (_ref2) {
|
30
|
+
var dynamicWidth = _ref2.dynamicWidth;
|
31
|
+
return dynamicWidth;
|
32
|
+
}, function (_ref3) {
|
33
|
+
var isManualInput = _ref3.isManualInput;
|
34
|
+
return isManualInput ? 'text' : 'default';
|
35
|
+
}, function (_ref4) {
|
36
|
+
var isManualInput = _ref4.isManualInput;
|
37
|
+
return isManualInput ? 'initial' : 'none';
|
38
|
+
});
|
39
|
+
export var InputWidthHelper = /*#__PURE__*/styled.span.withConfig({
|
40
|
+
componentId: "plasma-new-hope__sc-i0o2ki-7"
|
41
|
+
})(["position:absolute;z-index:-999;visibility:hidden;top:0;left:0;opacity:0;height:0;white-space:pre;"]);
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
export var numberPettern = /^(-)?\d+(\.\d+)?$/;
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { classes, tokens } from '../../NumberInput.tokens';
|
3
|
+
import { InputWrapper } from '../../ui/Input/Input.styles';
|
4
|
+
export var base = /*#__PURE__*/css(["", "{background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");&.", ":hover{background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");}}"], InputWrapper, tokens.backgroundColor, tokens.inputWrapperBorderWidth, tokens.borderColor, classes.manualInput, tokens.backgroundColorHover, tokens.inputWrapperBorderWidth, tokens.borderColorHover);
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { classes, privateTokens, tokens } from '../../NumberInput.tokens';
|
3
|
+
import { StyledIconButton } from '../../ui/ActionButton/ActionButton.styles';
|
4
|
+
import { AdditionalText, Input, InputWrapper, StyledSpinner } from '../../ui/Input/Input.styles';
|
5
|
+
import { spinnerTokens } from '../../../Spinner';
|
6
|
+
export var base = /*#__PURE__*/css(["", "{border-radius:var(", ");}", "{", ":var(", ");&.", ",&.", "{", ":var(", ",var(", "));}&.", "{border-radius:var(", ") var(", ") var(", ") var(", ");}&.", "{border-radius:var(", ") var(", ") var(", ") var(", ");}}&.", "{", "{border-radius:var(", ");}}&.", "{position:relative;&:before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:calc(100% - var(", ") * 2);height:100%;background:var(", ");}", "{position:relative;color:var(", ");&:not(", ").", ":focus-within{background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");}}&.", "{", "{&.", ",&.", "{:hover,:active{background-color:transparent;}}&.", ",&.", "{opacity:1;svg{opacity:var(", ");}:hover,:active{svg{opacity:var(", ");}}}}}", "{", ":var(", ");}", "{caret-color:var(", ",var(", "));&:not(.", "){color:var(", ");}}", "{color:var(", ");}}"], InputWrapper, tokens.inputWrapperBorderRadius, StyledIconButton, privateTokens.segmentationBorderRadius, tokens.iconButtonRadius, classes.segmentedView, classes.solidView, privateTokens.segmentationBorderRadius, tokens.iconButtonSegmentationRadius, tokens.iconButtonRadius, classes.actionButtonDecrement, tokens.iconButtonRadius, privateTokens.segmentationBorderRadius, privateTokens.segmentationBorderRadius, tokens.iconButtonRadius, classes.actionButtonIncrement, privateTokens.segmentationBorderRadius, tokens.iconButtonRadius, tokens.iconButtonRadius, privateTokens.segmentationBorderRadius, classes.segmentedView, InputWrapper, tokens.iconButtonSegmentationRadius, classes.solidView, tokens.iconButtonWidth, tokens.backgroundColorSolid, InputWrapper, tokens.colorSolid, classes.errorAnimation, classes.manualInput, tokens.backgroundColorSolidFocus, tokens.inputWrapperBorderWidth, tokens.borderColorSolidFocus, classes.clearView, StyledIconButton, classes.actionButtonDecrementDisabled, classes.actionButtonIncrementDisabled, classes.actionButtonDecrementDisabled, classes.actionButtonIncrementDisabled, tokens.actionButtonDisabledOpacity, tokens.actionButtonDisabledOpacity, StyledSpinner, spinnerTokens.color, tokens.loaderSpinnerColorSolid, Input, tokens.caretColorSolid, tokens.caretColor, classes.errorAnimation, tokens.colorSolid, AdditionalText, tokens.additionalTextColorSolid);
|
@@ -0,0 +1 @@
|
|
1
|
+
["--plasma-number-input_icon-button_segmentation_radius", "--plasma-number-input_background-color-solid"]
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { tokens } from '../../NumberInput.tokens';
|
3
|
+
import { iconButtonTokens } from '../../../IconButton';
|
4
|
+
import { StyledIconButton } from '../../ui/ActionButton/ActionButton.styles';
|
5
|
+
export var base = /*#__PURE__*/css(["", "{", ":var(", ");}"], StyledIconButton, iconButtonTokens.iconButtonRadius, tokens.iconButtonRadius);
|
@@ -0,0 +1 @@
|
|
1
|
+
["--plasma-number-input_icon-button_radius"]
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { classes, privateTokens, tokens } from '../../NumberInput.tokens';
|
3
|
+
import { iconButtonTokens } from '../../../IconButton';
|
4
|
+
import { StyledIconButton } from '../../ui/ActionButton/ActionButton.styles';
|
5
|
+
import { AdditionalText, DynamicInput, Input, InputWrapper, StyledSpinner, TextWrapper } from '../../ui/Input/Input.styles';
|
6
|
+
import { spinnerTokens } from '../../../Spinner';
|
7
|
+
export var base = /*#__PURE__*/css(["width:var(", ");min-width:var(", ");", "{", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");}", "{margin:var(", ");}", "{height:var(", ");padding:var(", ");}", ",", ",", "{font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");}", "{&.", "{margin-right:var(", ");}&.", "{margin-left:var(", ");}}", "{", ":var(", ");}"], privateTokens.inputWidth, tokens.rootMinWidth, StyledIconButton, iconButtonTokens.iconButtonHeight, tokens.iconButtonHeight, iconButtonTokens.iconButtonWidth, tokens.iconButtonWidth, iconButtonTokens.iconButtonPadding, tokens.iconButtonPadding, iconButtonTokens.iconButtonFontFamily, tokens.iconButtonFontFamily, iconButtonTokens.iconButtonFontSize, tokens.iconButtonFontSize, iconButtonTokens.iconButtonFontStyle, tokens.iconButtonFontStyle, iconButtonTokens.iconButtonFontWeight, tokens.iconButtonFontWeight, iconButtonTokens.iconButtonLetterSpacing, tokens.iconButtonLetterSpacing, iconButtonTokens.iconButtonLineHeight, tokens.iconButtonLineHeight, InputWrapper, tokens.inputWrapperMargin, TextWrapper, tokens.textWrapperHeight, tokens.textWrapperPadding, DynamicInput, Input, AdditionalText, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, AdditionalText, classes.textBefore, tokens.textBeforeMarginRight, classes.textAfter, tokens.textAfterMarginLeft, StyledSpinner, spinnerTokens.size, tokens.loaderSpinnerSize);
|
@@ -0,0 +1,22 @@
|
|
1
|
+
[
|
2
|
+
"--plasma-number-input_icon-button_height",
|
3
|
+
"--plasma-number-input_icon-button_width",
|
4
|
+
"--plasma-number-input_icon-button_padding",
|
5
|
+
"--plasma-number-input_icon-button_font-family",
|
6
|
+
"--plasma-number-input_icon-button_font-size",
|
7
|
+
"--plasma-number-input_icon-button_font-style",
|
8
|
+
"--plasma-number-input_icon-button_font-weight",
|
9
|
+
"--plasma-number-input_icon-button_letter-spacing",
|
10
|
+
"--plasma-number-input_icon-button_line-height",
|
11
|
+
"--plasma-number-input_font-family",
|
12
|
+
"--plasma-number-input_font-style",
|
13
|
+
"--plasma-number-input_font-size",
|
14
|
+
"--plasma-number-input_font-weight",
|
15
|
+
"--plasma-number-input_letter-spacing",
|
16
|
+
"--plasma-number-input_line-height",
|
17
|
+
"--plasma-number-input_text-wrapper_height",
|
18
|
+
"--plasma-number-input_text-wrapper_padding",
|
19
|
+
"--plasma-number-input_loader-spinner_size",
|
20
|
+
"--plasma-number-input_text-before_margin-right",
|
21
|
+
"--plasma-number-input_text-after_margin-left"
|
22
|
+
]
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { classes, tokens } from '../../NumberInput.tokens';
|
3
|
+
import { iconButtonTokens } from '../../../IconButton';
|
4
|
+
import { StyledIconButton } from '../../ui/ActionButton/ActionButton.styles';
|
5
|
+
import { AdditionalText, Input, InputWrapper, StyledSpinner } from '../../ui/Input/Input.styles';
|
6
|
+
import { spinnerTokens } from '../../../Spinner';
|
7
|
+
export var base = /*#__PURE__*/css(["", "{", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");&.", ",&.", "{opacity:var(", ");cursor:not-allowed;:hover,:active{scale:none;color:var(", ");background-color:var(", ");}}}&& ", "{&.", ":focus-within{background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");}&.", ".", "{background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");animation:shakingError 0.5s forwards;", "{color:var(", ");animation:fadeError 0.5s forwards;}&:focus-within{background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");}}@keyframes shakingError{12.5%{transform:translateX(0.188rem);}25%{transform:translateX(-0.188rem);}37.5%{transform:translateX(0.188rem);}50%{transform:translateX(-0.188rem);}62.5%{transform:translateX(0.188rem);}75%{transform:translateX(-0.188rem);}87.5%{transform:translateX(0.188rem);}100%{transform:translateX(-0.188rem);}}@keyframes fadeError{50%{opacity:1;}100%{opacity:0;}}}", "{", ":var(", ");}", "{color:var(", ");caret-color:var(", ");}", "{color:var(", ");}"], StyledIconButton, iconButtonTokens.iconButtonColor, tokens.iconButtonColor, iconButtonTokens.iconButtonBackgroundColor, tokens.iconButtonBackgroundColor, iconButtonTokens.iconButtonColorHover, tokens.iconButtonColorHover, iconButtonTokens.iconButtonBackgroundColorHover, tokens.iconButtonBackgroundColorHover, iconButtonTokens.iconButtonColorActive, tokens.iconButtonColorActive, iconButtonTokens.iconButtonBackgroundColorActive, tokens.iconButtonBackgroundColorActive, classes.actionButtonDecrementDisabled, classes.actionButtonIncrementDisabled, tokens.actionButtonDisabledOpacity, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, InputWrapper, classes.manualInput, tokens.backgroundColorFocus, tokens.inputWrapperBorderWidth, tokens.borderColorFocus, classes.manualInput, classes.errorAnimation, tokens.backgroundErrorColor, tokens.inputWrapperBorderWidth, tokens.borderErrorColor, Input, tokens.errorColor, tokens.backgroundErrorColor, tokens.inputWrapperBorderWidth, tokens.borderErrorColor, StyledSpinner, spinnerTokens.color, tokens.loaderSpinnerColor, Input, tokens.color, tokens.caretColor, AdditionalText, tokens.additionalTextColor);
|
@@ -0,0 +1,14 @@
|
|
1
|
+
[
|
2
|
+
"--plasma-number-input_icon-button_color",
|
3
|
+
"--plasma-number-input_icon-button_background-color",
|
4
|
+
"--plasma-number-input_icon-button_color-hover",
|
5
|
+
"--plasma-number-input_icon-button_background-color-hover",
|
6
|
+
"--plasma-number-input_icon-button_color-active",
|
7
|
+
"--plasma-number-input_icon-button_background-color-active",
|
8
|
+
"--plasma-number-input_loader-spinner_color",
|
9
|
+
"--plasma-number-input_color",
|
10
|
+
"--plasma-number-input_additional-text_color",
|
11
|
+
"--plasma-number-input_action-button_disabled-opacity",
|
12
|
+
"--plasma-number-input_background-color-focus",
|
13
|
+
"--plasma-number-input_border-color-focus"
|
14
|
+
]
|
@@ -16,8 +16,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
16
16
|
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; }
|
17
17
|
import React, { useRef, useCallback, useEffect, useState, forwardRef } from 'react';
|
18
18
|
import { usePopper } from 'react-popper';
|
19
|
-
import { useForkRef } from '@salutejs/plasma-core';
|
20
|
-
import { useFocusTrap } from '../../hooks';
|
19
|
+
import { useFocusTrap, useForkRef } from '@salutejs/plasma-core';
|
21
20
|
import { cx } from '../../utils';
|
22
21
|
import { Portal } from '../Portal';
|
23
22
|
import { base as viewCSS } from './variations/_view/base';
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { numberInputTokens as tokens } from '../../../../components/NumberInput';
|
3
|
+
export var config = {
|
4
|
+
defaults: {
|
5
|
+
view: 'default',
|
6
|
+
size: 'l',
|
7
|
+
shape: 'cornered',
|
8
|
+
inputBackgroundType: 'fill'
|
9
|
+
},
|
10
|
+
variations: {
|
11
|
+
view: {
|
12
|
+
"default": /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--text-negative);", ":var(--surface-transparent-negative);", ":var(--text-primary);", ":var(--inverse-text-primary);", ":var(--text-tertiary);", ":var(--on-dark-text-tertiary);", ":var(--surface-transparent-secondary);", ":var(--on-dark-surface-transparent-secondary);", ":var(--surface-solid-default);", ":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);", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.errorColor, tokens.backgroundErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.backgroundColorFocus, tokens.backgroundColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid),
|
13
|
+
secondary: /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--text-negative);", ":var(--surface-transparent-negative);", ":var(--text-primary);", ":var(--text-primary);", ":var(--text-tertiary);", ":var(--text-tertiary);", ":var(--surface-transparent-secondary);", ":var(--surface-transparent-secondary);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--surface-transparent-secondary-hover);", ":var(--text-primary);", ":var(--surface-transparent-secondary-active);", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.errorColor, tokens.backgroundErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.backgroundColorFocus, tokens.backgroundColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid),
|
14
|
+
accent: /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--inverse-text-primary);", ":var(--text-negative);", ":var(--surface-transparent-negative);", ":var(--text-primary);", ":var(--inverse-text-primary);", ":var(--text-tertiary);", ":var(--on-dark-text-tertiary);", ":var(--surface-transparent-secondary);", ":var(--surface-transparent-secondary);", ":var(--surface-accent);", ":var(--inverse-text-primary);", ":var(--surface-accent);", ":var(--inverse-text-primary);", ":var(--surface-accent-hover);", ":var(--inverse-text-primary);", ":var(--surface-accent-active);", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.caretColorSolid, tokens.errorColor, tokens.backgroundErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.backgroundColorFocus, tokens.backgroundColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid),
|
15
|
+
clear: /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--text-accent);", ":var(--text-negative);", ":var(--surface-transparent-negative);", ":var(--text-primary);", ":var(--text-primary);", ":var(--text-tertiary);", ":var(--text-tertiary);", ":var(--surface-transparent-secondary);", ":var(--surface-transparent-secondary);", ":transparent;", ":var(--text-primary);", ":transparent;", ":var(--text-primary);", ":transparent;", ":var(--text-primary);", ":transparent;", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.caretColorSolid, tokens.errorColor, tokens.backgroundErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.backgroundColorFocus, tokens.backgroundColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid)
|
16
|
+
},
|
17
|
+
size: {
|
18
|
+
l: /*#__PURE__*/css(["", ":11.75rem;", ":3.5rem;", ":3.5rem;", ":1.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);", ":0.875rem;", ":0.375rem;", ":0 0.125rem;", ":0.875rem;", ":3.5rem;", ":1.063rem 1.125rem;", ":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);", ":0.25rem;", ":0.25rem;", ":1.375rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize),
|
19
|
+
m: /*#__PURE__*/css(["", ":10.25rem;", ":3rem;", ":3rem;", ":1.25rem;", ":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);", ":0.75rem;", ":0.25rem;", ":0 0.125rem;", ":0.75rem;", ":3rem;", ":0.875rem 1rem;", ":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);", ":0.25rem;", ":0.25rem;", ":1.375rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize),
|
20
|
+
s: /*#__PURE__*/css(["", ":8.75rem;", ":2.5rem;", ":2.5rem;", ":1rem;", ":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);", ":0.625rem;", ":0.25rem;", ":0 0.125rem;", ":0.625rem;", ":2.5rem;", ":0.688rem 0.875rem;", ":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);", ":0.25rem;", ":0.25rem;", ":1.375rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize),
|
21
|
+
xs: /*#__PURE__*/css(["", ":6.875rem;", ":2rem;", ":2rem;", ":0.75rem;", ":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);", ":0.5rem;", ":0.125rem;", ":0 0.125rem;", ":0.5rem;", ":2rem;", ":0.563rem 0.625rem;", ":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);", ":0.25rem;", ":0.25rem;", ":1rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize)
|
22
|
+
},
|
23
|
+
shape: {
|
24
|
+
cornered: /*#__PURE__*/css([""]),
|
25
|
+
pilled: /*#__PURE__*/css(["", ":50%;"], tokens.iconButtonRadius)
|
26
|
+
},
|
27
|
+
inputBackgroundType: {
|
28
|
+
fill: /*#__PURE__*/css(["", ":var(--surface-transparent-primary);", ":var(--surface-transparent-primary);"], tokens.backgroundColor, tokens.backgroundColorHover),
|
29
|
+
clear: /*#__PURE__*/css(["", ":transparent;", ":transparent;"], tokens.backgroundColor, tokens.backgroundColorHover)
|
30
|
+
},
|
31
|
+
segmentation: {
|
32
|
+
"default": /*#__PURE__*/css([""]),
|
33
|
+
segmented: /*#__PURE__*/css([""]),
|
34
|
+
solid: /*#__PURE__*/css(["", ":0;"], tokens.iconButtonSegmentationRadius)
|
35
|
+
},
|
36
|
+
disabled: {
|
37
|
+
"true": /*#__PURE__*/css(["", ":0.4;"], tokens.disabledOpacity)
|
38
|
+
}
|
39
|
+
}
|
40
|
+
};
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import { numberInputConfig } from '../../../../components/NumberInput';
|
2
|
+
import { component, mergeConfig } from '../../../../engines';
|
3
|
+
import { config } from './NumberInput.config';
|
4
|
+
var mergedConfig = /*#__PURE__*/mergeConfig(numberInputConfig, config);
|
5
|
+
export var NumberInput = /*#__PURE__*/component(mergedConfig);
|
package/styled-components/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx
ADDED
@@ -0,0 +1,108 @@
|
|
1
|
+
import React, { ComponentProps, useState } from 'react';
|
2
|
+
import type { StoryObj, Meta } from '@storybook/react';
|
3
|
+
import { action } from '@storybook/addon-actions';
|
4
|
+
|
5
|
+
import { WithTheme } from '../../../_helpers';
|
6
|
+
|
7
|
+
import { NumberInput } from './NumberInput';
|
8
|
+
|
9
|
+
const onChange = action('onChange');
|
10
|
+
const onDecrement = action('onDecrement');
|
11
|
+
const onIncrement = action('onIncrement');
|
12
|
+
|
13
|
+
const views = ['default', 'secondary', 'accent', 'clear'];
|
14
|
+
const sizes = ['l', 'm', 's', 'xs'];
|
15
|
+
const shapes = ['cornered', 'pilled'];
|
16
|
+
const inputBackgroundTypes = ['fill', 'clear'];
|
17
|
+
const segmentation = ['default', 'segmented', 'solid'];
|
18
|
+
|
19
|
+
const meta: Meta<typeof NumberInput> = {
|
20
|
+
title: 'plasma_b2c/NumberInput',
|
21
|
+
component: NumberInput,
|
22
|
+
decorators: [WithTheme],
|
23
|
+
argTypes: {
|
24
|
+
min: {
|
25
|
+
control: {
|
26
|
+
type: 'number',
|
27
|
+
},
|
28
|
+
},
|
29
|
+
max: {
|
30
|
+
control: {
|
31
|
+
type: 'number',
|
32
|
+
},
|
33
|
+
},
|
34
|
+
view: {
|
35
|
+
options: views,
|
36
|
+
control: {
|
37
|
+
type: 'select',
|
38
|
+
},
|
39
|
+
},
|
40
|
+
size: {
|
41
|
+
options: sizes,
|
42
|
+
control: {
|
43
|
+
type: 'inline-radio',
|
44
|
+
},
|
45
|
+
},
|
46
|
+
shape: {
|
47
|
+
options: shapes,
|
48
|
+
control: {
|
49
|
+
type: 'inline-radio',
|
50
|
+
},
|
51
|
+
},
|
52
|
+
inputBackgroundType: {
|
53
|
+
options: inputBackgroundTypes,
|
54
|
+
control: {
|
55
|
+
type: 'inline-radio',
|
56
|
+
},
|
57
|
+
},
|
58
|
+
segmentation: {
|
59
|
+
options: segmentation,
|
60
|
+
control: {
|
61
|
+
type: 'select',
|
62
|
+
},
|
63
|
+
},
|
64
|
+
},
|
65
|
+
};
|
66
|
+
|
67
|
+
export default meta;
|
68
|
+
|
69
|
+
type StoryPropsDefault = ComponentProps<typeof NumberInput>;
|
70
|
+
|
71
|
+
const StoryDefault = (args: StoryPropsDefault) => {
|
72
|
+
const [value, setValue] = useState(5);
|
73
|
+
|
74
|
+
const handleChange = (_: any, newValue: number) => {
|
75
|
+
setValue(newValue);
|
76
|
+
onChange(newValue);
|
77
|
+
};
|
78
|
+
|
79
|
+
return (
|
80
|
+
<NumberInput
|
81
|
+
{...args}
|
82
|
+
value={value}
|
83
|
+
onChange={handleChange}
|
84
|
+
onDecrement={onDecrement}
|
85
|
+
onIncrement={onIncrement}
|
86
|
+
/>
|
87
|
+
);
|
88
|
+
};
|
89
|
+
|
90
|
+
export const Default: StoryObj<StoryPropsDefault> = {
|
91
|
+
args: {
|
92
|
+
view: 'default',
|
93
|
+
size: 'l',
|
94
|
+
shape: 'cornered',
|
95
|
+
inputBackgroundType: 'fill',
|
96
|
+
segmentation: 'default',
|
97
|
+
min: 0,
|
98
|
+
max: 9,
|
99
|
+
step: 1,
|
100
|
+
width: 188,
|
101
|
+
isManualInput: false,
|
102
|
+
textBefore: '',
|
103
|
+
textAfter: '',
|
104
|
+
isLoading: false,
|
105
|
+
disabled: false,
|
106
|
+
},
|
107
|
+
render: StoryDefault,
|
108
|
+
};
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { numberInputTokens as tokens } from '../../../../components/NumberInput';
|
3
|
+
export var config = {
|
4
|
+
defaults: {
|
5
|
+
view: 'default',
|
6
|
+
size: 'l',
|
7
|
+
shape: 'cornered',
|
8
|
+
inputBackgroundType: 'fill'
|
9
|
+
},
|
10
|
+
variations: {
|
11
|
+
view: {
|
12
|
+
"default": /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--text-negative);", ":var(--surface-negative);", ":var(--text-primary);", ":var(--inverse-text-primary);", ":var(--text-tertiary);", ":var(--on-dark-text-tertiary);", ":var(--surface-accent);", ":var(--surface-accent);", ":var(--surface-solid-default);", ":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);", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.errorColor, tokens.borderErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.borderColorFocus, tokens.borderColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid),
|
13
|
+
secondary: /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--text-negative);", ":var(--surface-negative);", ":var(--text-primary);", ":var(--text-primary);", ":var(--text-tertiary);", ":var(--text-tertiary);", ":var(--surface-accent);", ":var(--surface-accent);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--surface-transparent-secondary-hover);", ":var(--text-primary);", ":var(--surface-transparent-secondary-active);", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.errorColor, tokens.borderErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.borderColorFocus, tokens.borderColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid),
|
14
|
+
accent: /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--inverse-text-primary);", ":var(--text-negative);", ":var(--surface-negative);", ":var(--text-primary);", ":var(--inverse-text-primary);", ":var(--text-tertiary);", ":var(--on-dark-text-tertiary);", ":var(--surface-accent);", ":var(--light-background-primary);", ":var(--surface-accent);", ":var(--inverse-text-primary);", ":var(--surface-accent);", ":var(--inverse-text-primary);", ":var(--surface-accent-hover);", ":var(--inverse-text-primary);", ":var(--surface-accent-active);", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.caretColorSolid, tokens.errorColor, tokens.borderErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.borderColorFocus, tokens.borderColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid),
|
15
|
+
clear: /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--text-negative);", ":var(--surface-negative);", ":var(--text-primary);", ":var(--text-primary);", ":var(--text-tertiary);", ":var(--text-tertiary);", ":var(--surface-accent);", ":var(--surface-accent);", ":transparent;", ":var(--text-primary);", ":transparent;", ":var(--text-primary);", ":transparent;", ":var(--text-primary);", ":transparent;", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.errorColor, tokens.borderErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.borderColorFocus, tokens.borderColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid)
|
16
|
+
},
|
17
|
+
size: {
|
18
|
+
l: /*#__PURE__*/css(["", ":11.75rem;", ":3.5rem;", ":3.5rem;", ":1.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);", ":0.875rem;", ":0.375rem;", ":0 0.125rem;", ":0.875rem;", ":3.5rem;", ":0.063rem;", ":1.063rem 1.125rem;", ":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);", ":0.25rem;", ":0.25rem;", ":1.375rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.inputWrapperBorderWidth, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize),
|
19
|
+
m: /*#__PURE__*/css(["", ":10.25rem;", ":3rem;", ":3rem;", ":1.25rem;", ":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);", ":0.75rem;", ":0.25rem;", ":0 0.125rem;", ":0.75rem;", ":3rem;", ":0.063rem;", ":0.875rem 1rem;", ":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);", ":0.25rem;", ":0.25rem;", ":1.375rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.inputWrapperBorderWidth, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize),
|
20
|
+
s: /*#__PURE__*/css(["", ":8.75rem;", ":2.5rem;", ":2.5rem;", ":1rem;", ":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);", ":0.625rem;", ":0.25rem;", ":0 0.125rem;", ":0.625rem;", ":2.5rem;", ":0.063rem;", ":0.688rem 0.875rem;", ":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);", ":0.25rem;", ":0.25rem;", ":1.375rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.inputWrapperBorderWidth, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize),
|
21
|
+
xs: /*#__PURE__*/css(["", ":6.875rem;", ":2rem;", ":2rem;", ":0.75rem;", ":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);", ":0.5rem;", ":0.125rem;", ":0 0.125rem;", ":0.5rem;", ":2rem;", ":0.063rem;", ":0.563rem 0.625rem;", ":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);", ":0.25rem;", ":0.25rem;", ":1rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.inputWrapperBorderWidth, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize)
|
22
|
+
},
|
23
|
+
shape: {
|
24
|
+
cornered: /*#__PURE__*/css([""]),
|
25
|
+
pilled: /*#__PURE__*/css(["", ":50%;"], tokens.iconButtonRadius)
|
26
|
+
},
|
27
|
+
inputBackgroundType: {
|
28
|
+
fill: /*#__PURE__*/css(["", ":var(--surface-transparent-tertiary);", ":var(--text-secondary);"], tokens.borderColor, tokens.borderColorHover),
|
29
|
+
clear: /*#__PURE__*/css(["", ":transparent;", ":transparent;"], tokens.borderColor, tokens.borderColorHover)
|
30
|
+
},
|
31
|
+
segmentation: {
|
32
|
+
"default": /*#__PURE__*/css([""]),
|
33
|
+
segmented: /*#__PURE__*/css([""]),
|
34
|
+
solid: /*#__PURE__*/css(["", ":0;"], tokens.iconButtonSegmentationRadius)
|
35
|
+
},
|
36
|
+
disabled: {
|
37
|
+
"true": /*#__PURE__*/css(["", ":0.4;"], tokens.disabledOpacity)
|
38
|
+
}
|
39
|
+
}
|
40
|
+
};
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import { numberInputConfig } from '../../../../components/NumberInput';
|
2
|
+
import { component, mergeConfig } from '../../../../engines';
|
3
|
+
import { config } from './NumberInput.config';
|
4
|
+
var mergedConfig = /*#__PURE__*/mergeConfig(numberInputConfig, config);
|
5
|
+
export var NumberInput = /*#__PURE__*/component(mergedConfig);
|