@salutejs/plasma-new-hope 0.239.0-canary.1696.12711678920.0 → 0.239.0-canary.1699.12748300760.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Avatar/Avatar.js +3 -39
- package/cjs/components/Avatar/Avatar.js.map +1 -1
- package/cjs/components/Avatar/Avatar.styles.js +1 -32
- package/cjs/components/Avatar/Avatar.styles.js.map +1 -1
- package/cjs/components/Avatar/Avatar.styles_1gd252x.css +5 -0
- package/cjs/components/Avatar/Avatar.tokens.js +2 -41
- package/cjs/components/Avatar/Avatar.tokens.js.map +1 -1
- package/cjs/components/NumberInput/NumberInput.js +10 -3
- package/cjs/components/NumberInput/NumberInput.js.map +1 -1
- package/cjs/components/NumberInput/ui/Input/Input.js +16 -7
- package/cjs/components/NumberInput/ui/Input/Input.js.map +1 -1
- package/cjs/components/NumberInput/utils/index.js +10 -0
- package/cjs/components/NumberInput/utils/index.js.map +1 -1
- package/cjs/index.css +5 -8
- package/emotion/cjs/components/Avatar/Avatar.js +4 -39
- package/emotion/cjs/components/Avatar/Avatar.styles.js +10 -29
- package/emotion/cjs/components/Avatar/Avatar.template-doc.mdx +0 -54
- package/emotion/cjs/components/Avatar/Avatar.tokens.js +2 -41
- package/emotion/cjs/components/Avatar/utils/index.js +1 -15
- package/emotion/cjs/components/NumberInput/NumberInput.js +10 -3
- package/emotion/cjs/components/NumberInput/ui/Input/Input.js +16 -7
- package/emotion/cjs/components/NumberInput/utils/index.js +11 -2
- package/emotion/cjs/examples/plasma_b2c/components/Avatar/Avatar.config.js +7 -25
- package/emotion/cjs/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +1 -134
- package/emotion/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/emotion/cjs/examples/plasma_web/components/Avatar/Avatar.config.js +7 -25
- package/emotion/cjs/examples/plasma_web/components/Avatar/Avatar.stories.tsx +1 -134
- package/emotion/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/emotion/es/components/Avatar/Avatar.js +6 -41
- package/emotion/es/components/Avatar/Avatar.styles.js +10 -29
- package/emotion/es/components/Avatar/Avatar.template-doc.mdx +0 -54
- package/emotion/es/components/Avatar/Avatar.tokens.js +2 -41
- package/emotion/es/components/Avatar/utils/index.js +1 -14
- package/emotion/es/components/NumberInput/NumberInput.js +10 -3
- package/emotion/es/components/NumberInput/ui/Input/Input.js +17 -8
- package/emotion/es/components/NumberInput/utils/index.js +10 -1
- package/emotion/es/examples/plasma_b2c/components/Avatar/Avatar.config.js +7 -25
- package/emotion/es/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +1 -134
- package/emotion/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/emotion/es/examples/plasma_web/components/Avatar/Avatar.config.js +7 -25
- package/emotion/es/examples/plasma_web/components/Avatar/Avatar.stories.tsx +1 -134
- package/emotion/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/es/components/Avatar/Avatar.js +4 -40
- package/es/components/Avatar/Avatar.js.map +1 -1
- package/es/components/Avatar/Avatar.styles.js +2 -30
- package/es/components/Avatar/Avatar.styles.js.map +1 -1
- package/es/components/Avatar/Avatar.styles_1gd252x.css +5 -0
- package/es/components/Avatar/Avatar.tokens.js +2 -41
- package/es/components/Avatar/Avatar.tokens.js.map +1 -1
- package/es/components/NumberInput/NumberInput.js +10 -3
- package/es/components/NumberInput/NumberInput.js.map +1 -1
- package/es/components/NumberInput/ui/Input/Input.js +17 -8
- package/es/components/NumberInput/ui/Input/Input.js.map +1 -1
- package/es/components/NumberInput/utils/index.js +10 -1
- package/es/components/NumberInput/utils/index.js.map +1 -1
- package/es/index.css +5 -8
- package/package.json +2 -2
- package/styled-components/cjs/components/Avatar/Avatar.js +3 -38
- package/styled-components/cjs/components/Avatar/Avatar.styles.js +2 -18
- package/styled-components/cjs/components/Avatar/Avatar.template-doc.mdx +0 -54
- package/styled-components/cjs/components/Avatar/Avatar.tokens.js +2 -41
- package/styled-components/cjs/components/Avatar/utils/index.js +1 -15
- package/styled-components/cjs/components/NumberInput/NumberInput.js +10 -3
- package/styled-components/cjs/components/NumberInput/ui/Input/Input.js +16 -7
- package/styled-components/cjs/components/NumberInput/utils/index.js +11 -2
- package/styled-components/cjs/examples/plasma_b2c/components/Avatar/Avatar.config.js +4 -22
- package/styled-components/cjs/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +1 -134
- package/styled-components/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/styled-components/cjs/examples/plasma_web/components/Avatar/Avatar.config.js +4 -22
- package/styled-components/cjs/examples/plasma_web/components/Avatar/Avatar.stories.tsx +1 -134
- package/styled-components/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/styled-components/es/components/Avatar/Avatar.js +5 -40
- package/styled-components/es/components/Avatar/Avatar.styles.js +2 -18
- package/styled-components/es/components/Avatar/Avatar.template-doc.mdx +0 -54
- package/styled-components/es/components/Avatar/Avatar.tokens.js +2 -41
- package/styled-components/es/components/Avatar/utils/index.js +1 -14
- package/styled-components/es/components/NumberInput/NumberInput.js +10 -3
- package/styled-components/es/components/NumberInput/ui/Input/Input.js +17 -8
- package/styled-components/es/components/NumberInput/utils/index.js +10 -1
- package/styled-components/es/examples/plasma_b2c/components/Avatar/Avatar.config.js +4 -22
- package/styled-components/es/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +1 -134
- package/styled-components/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/styled-components/es/examples/plasma_web/components/Avatar/Avatar.config.js +4 -22
- package/styled-components/es/examples/plasma_web/components/Avatar/Avatar.stories.tsx +1 -134
- package/styled-components/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
- package/types/components/Avatar/Avatar.d.ts +21 -3
- package/types/components/Avatar/Avatar.d.ts.map +1 -1
- package/types/components/Avatar/Avatar.styles.d.ts +0 -59
- package/types/components/Avatar/Avatar.styles.d.ts.map +1 -1
- package/types/components/Avatar/Avatar.tokens.d.ts +0 -37
- package/types/components/Avatar/Avatar.tokens.d.ts.map +1 -1
- package/types/components/Avatar/Avatar.types.d.ts +2 -47
- package/types/components/Avatar/Avatar.types.d.ts.map +1 -1
- package/types/components/Avatar/utils/index.d.ts +0 -1
- package/types/components/Avatar/utils/index.d.ts.map +1 -1
- package/types/components/Badge/Badge.types.d.ts +21 -8
- package/types/components/Badge/Badge.types.d.ts.map +1 -1
- package/types/components/Counter/Counter.d.ts +12 -2
- package/types/components/Counter/Counter.d.ts.map +1 -1
- package/types/components/Counter/Counter.types.d.ts +2 -1
- package/types/components/Counter/Counter.types.d.ts.map +1 -1
- package/types/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/types/components/NumberInput/NumberInput.types.d.ts +5 -0
- package/types/components/NumberInput/NumberInput.types.d.ts.map +1 -1
- package/types/components/NumberInput/ui/Input/Input.d.ts +1 -0
- package/types/components/NumberInput/ui/Input/Input.d.ts.map +1 -1
- package/types/components/NumberInput/ui/Input/Input.types.d.ts +1 -0
- package/types/components/NumberInput/ui/Input/Input.types.d.ts.map +1 -1
- package/types/components/NumberInput/utils/index.d.ts +1 -0
- package/types/components/NumberInput/utils/index.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Avatar/Avatar.config.d.ts +0 -18
- package/types/examples/plasma_b2c/components/Avatar/Avatar.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Avatar/Avatar.d.ts +6 -138
- package/types/examples/plasma_b2c/components/Avatar/Avatar.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Badge/Badge.d.ts +48 -8
- package/types/examples/plasma_b2c/components/Badge/Badge.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Counter/Counter.d.ts +6 -1
- package/types/examples/plasma_b2c/components/Counter/Counter.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts +2 -0
- package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Avatar/Avatar.config.d.ts +0 -18
- package/types/examples/plasma_web/components/Avatar/Avatar.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Avatar/Avatar.d.ts +6 -138
- package/types/examples/plasma_web/components/Avatar/Avatar.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Badge/Badge.d.ts +48 -8
- package/types/examples/plasma_web/components/Badge/Badge.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Counter/Counter.d.ts +6 -1
- package/types/examples/plasma_web/components/Counter/Counter.d.ts.map +1 -1
- package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts +2 -0
- package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/cjs/components/Avatar/Avatar.styles_131qvfx.css +0 -8
- package/cjs/components/Avatar/utils/index.js +0 -21
- package/cjs/components/Avatar/utils/index.js.map +0 -1
- package/es/components/Avatar/Avatar.styles_131qvfx.css +0 -8
- package/es/components/Avatar/utils/index.js +0 -17
- package/es/components/Avatar/utils/index.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NumberInput.js","sources":["../../../src/components/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { CSSProperties, forwardRef, useEffect, useState } from 'react';\n\nimport type { RootProps } from '../../engines';\nimport { cx, getSizeValueFromProp, isNumber } from '../../utils';\nimport { IconMinus, IconPlus } from '../_Icon';\n\nimport type { NumberInputProps, NumberInputRootProps } from './NumberInput.types';\nimport { ActionButton, NumberInput } from './ui';\nimport { classes, privateTokens } from './NumberInput.tokens';\nimport { base } from './NumberInput.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as shapeCSS } from './variations/_shape/base';\nimport { base as inputBackgroundTypeCSS } from './variations/_background-type/base';\nimport { base as segmentationCSS } from './variations/_segmentation/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\n\nexport const numberInputRoot = (Root: RootProps<HTMLDivElement, NumberInputRootProps>) =>\n forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n className,\n style,\n width,\n value,\n min,\n max,\n step = 1,\n isLoading,\n loader,\n size,\n view,\n clear,\n shape,\n segmentation,\n inputBackgroundType = 'fill',\n disabled,\n textBefore,\n textAfter,\n customIncrementButton,\n incrementIcon,\n customDecrementButton,\n decrementIcon,\n isManualInput,\n onChange,\n onIncrement,\n onDecrement,\n ...rest\n },\n ref,\n ) => {\n const [innerValue, setInnerValue] = useState<number | string>(value ?? min ?? 0);\n const [isInputFocused, setIsInputFocused] = useState(false);\n const [isAnimationRun, setIsAnimationRun] = useState(false);\n\n const innerWidth = width ? getSizeValueFromProp(width) : '100%';\n\n const actionIconSize = size === 'xs' ? 'xs' : 's';\n const solidViewClass = segmentation === 'solid' ? classes.solidView : undefined;\n const segmentedViewClass = segmentation === 'segmented' ? classes.segmentedView : undefined;\n const clearViewClass = clear ? classes.clearView : undefined;\n const disabledClass = disabled ? classes.disabled : undefined;\n const loadingClass = isLoading ? classes.loading : undefined;\n const focusedClass = isInputFocused ? classes.focused : undefined;\n\n const isMinValue = (currentValue: number) => min !== undefined && currentValue <= min;\n const isMaxValue = (currentValue: number) => max !== undefined && currentValue >= max;\n\n const decrementButtonDisabled =\n (isMinValue(Number(innerValue)) && !isAnimationRun) || isLoading\n ? classes.actionButtonDecrementDisabled\n : undefined;\n const incrementButtonDisabled =\n (isMaxValue(Number(innerValue)) && !isAnimationRun) || isLoading\n ? classes.actionButtonIncrementDisabled\n : undefined;\n\n const handleDecrement = () => {\n if (isLoading || disabled || isAnimationRun) {\n return;\n }\n\n const diffValue = Number(innerValue) - step;\n const resValue = min !== undefined && diffValue <= min ? min : diffValue;\n\n setInnerValue(resValue);\n\n if (onDecrement) {\n onDecrement(resValue);\n }\n\n if (onChange) {\n onChange(null, resValue);\n }\n };\n\n const handleIncrement = () => {\n if (isLoading || disabled || isAnimationRun) {\n return;\n }\n\n const diffValue = Number(innerValue) + step;\n const resValue = max !== undefined && diffValue >= max ? max : diffValue;\n\n setInnerValue(resValue);\n\n if (onIncrement) {\n onIncrement(resValue);\n }\n\n if (onChange) {\n onChange(null, resValue);\n }\n };\n\n useEffect(() => {\n if (value === undefined || !isNumber(value)) {\n return;\n }\n\n setInnerValue((prevValue) => (prevValue !== value ? value : prevValue));\n }, [value]);\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n clear={clear}\n shape={shape}\n segmentation={segmentation}\n isLoading={isLoading}\n {...(segmentation === 'solid' ? { inputBackgroundType: 'clear' } : { inputBackgroundType })}\n className={cx(\n className,\n solidViewClass,\n segmentedViewClass,\n clearViewClass,\n disabledClass,\n loadingClass,\n focusedClass,\n )}\n style={\n {\n ...style,\n [privateTokens.inputWidth]: innerWidth,\n } as CSSProperties\n }\n >\n {customDecrementButton || (\n <ActionButton\n className={cx(\n classes.actionButtonDecrement,\n decrementButtonDisabled,\n solidViewClass,\n segmentedViewClass,\n )}\n icon={decrementIcon || <IconMinus color=\"inherit\" size={actionIconSize} />}\n onClick={handleDecrement}\n />\n )}\n <NumberInput\n ref={ref}\n segmentation={segmentation}\n value={innerValue}\n min={min}\n max={max}\n isManualInput={isManualInput}\n textBefore={textBefore}\n textAfter={textAfter}\n isLoading={isLoading}\n loader={loader}\n disabled={disabled}\n isInputFocused={isInputFocused}\n setIsInputFocused={setIsInputFocused}\n setIsAnimationRun={setIsAnimationRun}\n setInnerValue={setInnerValue}\n onChange={onChange}\n {...rest}\n />\n {customIncrementButton || (\n <ActionButton\n className={cx(\n classes.actionButtonIncrement,\n incrementButtonDisabled,\n solidViewClass,\n segmentedViewClass,\n )}\n icon={incrementIcon || <IconPlus color=\"inherit\" size={actionIconSize} />}\n onClick={handleIncrement}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const numberInputConfig = {\n name: 'NumberInput',\n tag: 'div',\n layout: numberInputRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n shape: {\n css: shapeCSS,\n },\n inputBackgroundType: {\n css: inputBackgroundTypeCSS,\n },\n segmentation: {\n css: segmentationCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'default',\n size: 'l',\n shape: 'cornered',\n segmentation: 'default',\n },\n};\n"],"names":["numberInputRoot","Root","forwardRef","_ref","ref","_ref2","className","style","width","value","min","max","_ref$step","step","isLoading","loader","size","view","clear","shape","segmentation","_ref$inputBackgroundT","inputBackgroundType","disabled","textBefore","textAfter","customIncrementButton","incrementIcon","customDecrementButton","decrementIcon","isManualInput","onChange","onIncrement","onDecrement","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","innerValue","setInnerValue","_useState3","_useState4","isInputFocused","setIsInputFocused","_useState5","_useState6","isAnimationRun","setIsAnimationRun","innerWidth","getSizeValueFromProp","actionIconSize","solidViewClass","classes","solidView","undefined","segmentedViewClass","segmentedView","clearViewClass","clearView","disabledClass","loadingClass","loading","focusedClass","focused","isMinValue","currentValue","isMaxValue","decrementButtonDisabled","Number","actionButtonDecrementDisabled","incrementButtonDisabled","actionButtonIncrementDisabled","handleDecrement","diffValue","resValue","handleIncrement","useEffect","isNumber","prevValue","React","createElement","_extends","cx","_objectSpread","_defineProperty","privateTokens","inputWidth","ActionButton","actionButtonDecrement","icon","IconMinus","color","onClick","NumberInput","actionButtonIncrement","IconPlus","numberInputConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","shapeCSS","inputBackgroundTypeCSS","segmentationCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"NumberInput.js","sources":["../../../src/components/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { CSSProperties, forwardRef, useEffect, useState } from 'react';\n\nimport type { RootProps } from '../../engines';\nimport { cx, getSizeValueFromProp, isNumber } from '../../utils';\nimport { IconMinus, IconPlus } from '../_Icon';\n\nimport type { NumberInputProps, NumberInputRootProps } from './NumberInput.types';\nimport { ActionButton, NumberInput } from './ui';\nimport { classes, privateTokens } from './NumberInput.tokens';\nimport { base } from './NumberInput.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as shapeCSS } from './variations/_shape/base';\nimport { base as inputBackgroundTypeCSS } from './variations/_background-type/base';\nimport { base as segmentationCSS } from './variations/_segmentation/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { getPreciseValue } from './utils';\n\nexport const numberInputRoot = (Root: RootProps<HTMLDivElement, NumberInputRootProps>) =>\n forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n className,\n style,\n width,\n value,\n min,\n max,\n step = 1,\n precision = 2,\n isLoading,\n loader,\n size,\n view,\n clear,\n shape,\n segmentation,\n inputBackgroundType = 'fill',\n disabled,\n textBefore,\n textAfter,\n customIncrementButton,\n incrementIcon,\n customDecrementButton,\n decrementIcon,\n isManualInput,\n onChange,\n onIncrement,\n onDecrement,\n ...rest\n },\n ref,\n ) => {\n const [innerValue, setInnerValue] = useState<number | string>(value ?? min ?? 0);\n const [isInputFocused, setIsInputFocused] = useState(false);\n const [isAnimationRun, setIsAnimationRun] = useState(false);\n\n console.log('innerValue', innerValue);\n\n const innerWidth = width ? getSizeValueFromProp(width) : '100%';\n\n const actionIconSize = size === 'xs' ? 'xs' : 's';\n const solidViewClass = segmentation === 'solid' ? classes.solidView : undefined;\n const segmentedViewClass = segmentation === 'segmented' ? classes.segmentedView : undefined;\n const clearViewClass = clear ? classes.clearView : undefined;\n const disabledClass = disabled ? classes.disabled : undefined;\n const loadingClass = isLoading ? classes.loading : undefined;\n const focusedClass = isInputFocused ? classes.focused : undefined;\n\n const isMinValue = (currentValue: number) => min !== undefined && currentValue <= min;\n const isMaxValue = (currentValue: number) => max !== undefined && currentValue >= max;\n\n const decrementButtonDisabled =\n (isMinValue(Number(innerValue)) && !isAnimationRun) || isLoading\n ? classes.actionButtonDecrementDisabled\n : undefined;\n const incrementButtonDisabled =\n (isMaxValue(Number(innerValue)) && !isAnimationRun) || isLoading\n ? classes.actionButtonIncrementDisabled\n : undefined;\n\n const handleDecrement = () => {\n if (isLoading || disabled || isAnimationRun) {\n return;\n }\n\n const preciseDiff = getPreciseValue(Number(innerValue) - step, precision);\n const diffValue = Number(preciseDiff);\n const resValue = min !== undefined && diffValue <= min ? min : diffValue;\n\n setInnerValue(resValue);\n\n if (onDecrement) {\n onDecrement(resValue);\n }\n\n if (onChange) {\n onChange(null, resValue);\n }\n };\n\n const handleIncrement = () => {\n if (isLoading || disabled || isAnimationRun) {\n return;\n }\n\n const preciseDiff = getPreciseValue(Number(innerValue) + step, precision);\n const diffValue = Number(preciseDiff);\n const resValue = max !== undefined && diffValue >= max ? max : diffValue;\n\n setInnerValue(resValue);\n\n if (onIncrement) {\n onIncrement(resValue);\n }\n\n if (onChange) {\n onChange(null, resValue);\n }\n };\n\n useEffect(() => {\n if (value === undefined || !isNumber(value)) {\n return;\n }\n\n setInnerValue((prevValue) => (prevValue !== value ? value : prevValue));\n }, [value]);\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n clear={clear}\n shape={shape}\n segmentation={segmentation}\n isLoading={isLoading}\n {...(segmentation === 'solid' ? { inputBackgroundType: 'clear' } : { inputBackgroundType })}\n className={cx(\n className,\n solidViewClass,\n segmentedViewClass,\n clearViewClass,\n disabledClass,\n loadingClass,\n focusedClass,\n )}\n style={\n {\n ...style,\n [privateTokens.inputWidth]: innerWidth,\n } as CSSProperties\n }\n >\n {customDecrementButton || (\n <ActionButton\n className={cx(\n classes.actionButtonDecrement,\n decrementButtonDisabled,\n solidViewClass,\n segmentedViewClass,\n )}\n icon={decrementIcon || <IconMinus color=\"inherit\" size={actionIconSize} />}\n onClick={handleDecrement}\n />\n )}\n <NumberInput\n ref={ref}\n segmentation={segmentation}\n value={innerValue}\n precision={precision}\n min={min}\n max={max}\n isManualInput={isManualInput}\n textBefore={textBefore}\n textAfter={textAfter}\n isLoading={isLoading}\n loader={loader}\n disabled={disabled}\n isInputFocused={isInputFocused}\n setIsInputFocused={setIsInputFocused}\n setIsAnimationRun={setIsAnimationRun}\n setInnerValue={setInnerValue}\n onChange={onChange}\n {...rest}\n />\n {customIncrementButton || (\n <ActionButton\n className={cx(\n classes.actionButtonIncrement,\n incrementButtonDisabled,\n solidViewClass,\n segmentedViewClass,\n )}\n icon={incrementIcon || <IconPlus color=\"inherit\" size={actionIconSize} />}\n onClick={handleIncrement}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const numberInputConfig = {\n name: 'NumberInput',\n tag: 'div',\n layout: numberInputRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n shape: {\n css: shapeCSS,\n },\n inputBackgroundType: {\n css: inputBackgroundTypeCSS,\n },\n segmentation: {\n css: segmentationCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'default',\n size: 'l',\n shape: 'cornered',\n segmentation: 'default',\n },\n};\n"],"names":["numberInputRoot","Root","forwardRef","_ref","ref","_ref2","className","style","width","value","min","max","_ref$step","step","_ref$precision","precision","isLoading","loader","size","view","clear","shape","segmentation","_ref$inputBackgroundT","inputBackgroundType","disabled","textBefore","textAfter","customIncrementButton","incrementIcon","customDecrementButton","decrementIcon","isManualInput","onChange","onIncrement","onDecrement","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","innerValue","setInnerValue","_useState3","_useState4","isInputFocused","setIsInputFocused","_useState5","_useState6","isAnimationRun","setIsAnimationRun","console","log","innerWidth","getSizeValueFromProp","actionIconSize","solidViewClass","classes","solidView","undefined","segmentedViewClass","segmentedView","clearViewClass","clearView","disabledClass","loadingClass","loading","focusedClass","focused","isMinValue","currentValue","isMaxValue","decrementButtonDisabled","Number","actionButtonDecrementDisabled","incrementButtonDisabled","actionButtonIncrementDisabled","handleDecrement","preciseDiff","getPreciseValue","diffValue","resValue","handleIncrement","useEffect","isNumber","prevValue","React","createElement","_extends","cx","_objectSpread","_defineProperty","privateTokens","inputWidth","ActionButton","actionButtonDecrement","icon","IconMinus","color","onClick","NumberInput","actionButtonIncrement","IconPlus","numberInputConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","shapeCSS","inputBackgroundTypeCSS","segmentationCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
@@ -3,16 +3,17 @@ import React, { forwardRef, useState, useRef, useEffect } from 'react';
|
|
3
3
|
import { useForkRef } from '@salutejs/plasma-core';
|
4
4
|
import { classes } from '../../NumberInput.tokens.js';
|
5
5
|
import { cx } from '../../../../utils/index.js';
|
6
|
-
import { defaultCharacterWidth, excludingNumberSchema, numberSchema } from '../../utils/index.js';
|
6
|
+
import { defaultCharacterWidth, excludingNumberSchema, numberSchema, getPreciseValue } from '../../utils/index.js';
|
7
7
|
import { keyCodes } from '../../../../utils/constants.js';
|
8
8
|
import { InputWrapper, TextWrapper, AdditionalText, Loader, StyledSpinner, DynamicInput, Input, InputWidthHelper } from './Input.styles.js';
|
9
9
|
import { useDidMountEffect } from '../../../../hooks/useDidMountEffect.js';
|
10
10
|
import { isNumber } from '../../../../utils/isNumber.js';
|
11
11
|
|
12
12
|
var _StyledSpinner;
|
13
|
-
var _excluded = ["value", "min", "max", "isLoading", "loader", "disabled", "segmentation", "textBefore", "textAfter", "isManualInput", "isInputFocused", "setIsInputFocused", "setIsAnimationRun", "setInnerValue", "onChange", "onBlur", "onKeyDown"];
|
13
|
+
var _excluded = ["value", "precision", "min", "max", "isLoading", "loader", "disabled", "segmentation", "textBefore", "textAfter", "isManualInput", "isInputFocused", "setIsInputFocused", "setIsAnimationRun", "setInnerValue", "onChange", "onBlur", "onKeyDown"];
|
14
14
|
var NumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
15
15
|
var value = _ref.value,
|
16
|
+
precision = _ref.precision,
|
16
17
|
min = _ref.min,
|
17
18
|
max = _ref.max,
|
18
19
|
isLoading = _ref.isLoading,
|
@@ -78,11 +79,6 @@ var NumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
78
79
|
setIsAnimationRun(false);
|
79
80
|
return;
|
80
81
|
}
|
81
|
-
if (String(newValue).endsWith('.')) {
|
82
|
-
setValues(null, Number(newValue));
|
83
|
-
setIsAnimationRun(false);
|
84
|
-
return;
|
85
|
-
}
|
86
82
|
var resValue = Number(newValue);
|
87
83
|
if (max !== undefined && resValue > max) {
|
88
84
|
setErrorClass(classes.errorAnimation);
|
@@ -94,6 +90,16 @@ var NumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
94
90
|
setErrorClass(classes.errorAnimation);
|
95
91
|
setErrorValue(min);
|
96
92
|
setIsAnimationRun(true);
|
93
|
+
return;
|
94
|
+
}
|
95
|
+
if (String(newValue).endsWith('.')) {
|
96
|
+
setValues(null, Number(newValue));
|
97
|
+
setIsAnimationRun(false);
|
98
|
+
return;
|
99
|
+
}
|
100
|
+
if (precision !== undefined) {
|
101
|
+
var preciseNewValue = Number(getPreciseValue(newValue, precision));
|
102
|
+
setValues(null, preciseNewValue);
|
97
103
|
}
|
98
104
|
setIsAnimationRun(false);
|
99
105
|
};
|
@@ -119,15 +125,18 @@ var NumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
119
125
|
}
|
120
126
|
return;
|
121
127
|
}
|
128
|
+
console.log('here');
|
122
129
|
var isValid = numberSchema.test(cleanValue);
|
123
130
|
if (!isValid) {
|
131
|
+
console.log('not valid', cleanValue);
|
124
132
|
setValues(event, lastValidValue);
|
125
133
|
return;
|
126
134
|
}
|
135
|
+
console.log('valid!', cleanValue);
|
127
136
|
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)) {
|
128
137
|
wrapperRef.current.scrollLeft = textWrapperRef.current.offsetWidth - textWrapperRef.current.offsetLeft || 0;
|
129
138
|
}
|
130
|
-
setValues(event,
|
139
|
+
setValues(event, cleanValue);
|
131
140
|
};
|
132
141
|
var handleClickInputWrapper = function handleClickInputWrapper() {
|
133
142
|
if (!isManualInput || !inputRef.current) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Input.js","sources":["../../../../../src/components/NumberInput/ui/Input/Input.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { KeyboardEvent, ChangeEvent, FocusEvent } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { classes } from '../../NumberInput.tokens';\nimport { cx, isNumber } from '../../../../utils';\nimport { useDidMountEffect } from '../../../../hooks';\nimport { defaultCharacterWidth, excludingNumberSchema, numberSchema } from '../../utils';\nimport { keyCodes } from '../../../../utils/constants';\n\nimport type { InputProps } from './Input.types';\nimport {\n AdditionalText,\n Input,\n InputWrapper,\n DynamicInput,\n InputWidthHelper,\n TextWrapper,\n StyledSpinner,\n Loader,\n} from './Input.styles';\n\nexport const NumberInput = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n value,\n min,\n max,\n isLoading,\n loader,\n disabled,\n segmentation,\n textBefore,\n textAfter,\n isManualInput,\n isInputFocused,\n setIsInputFocused,\n setIsAnimationRun,\n setInnerValue,\n onChange,\n onBlur,\n onKeyDown,\n ...rest\n },\n ref,\n ) => {\n const [dynamicWidth, setDynamicWidth] = useState(value ? `${String(value).length}ch` : defaultCharacterWidth);\n const [lastValidValue, setLastValidValue] = useState(Number(value));\n const [errorClass, setErrorClass] = useState<string | undefined>(undefined);\n const [errorValue, setErrorValue] = useState<number>();\n\n const inputHelperRef = useRef<HTMLSpanElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const textWrapperRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n\n const solidViewClass = segmentation === 'solid' ? classes.solidView : undefined;\n const manualInputClass = isManualInput ? classes.manualInput : undefined;\n\n const getInputWidth = (firstRender = true) => {\n if (!firstRender && inputHelperRef.current?.clientWidth) {\n return `${inputHelperRef.current?.clientWidth}px`;\n }\n\n if (value) {\n return `${String(value).length}ch`;\n }\n\n return defaultCharacterWidth;\n };\n\n const setValues = (event: ChangeEvent<HTMLInputElement> | null, newValue: number) => {\n setLastValidValue(newValue);\n setInnerValue(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n };\n\n const validateValue = (newValue: number | string) => {\n if (!newValue || !isNumber(newValue)) {\n setValues(null, lastValidValue);\n setIsAnimationRun(false);\n return;\n }\n\n if (String(newValue).endsWith('.')) {\n setValues(null, Number(newValue));\n setIsAnimationRun(false);\n return;\n }\n\n const resValue = Number(newValue);\n if (max !== undefined && resValue > max) {\n setErrorClass(classes.errorAnimation);\n setErrorValue(max);\n setIsAnimationRun(true);\n return;\n }\n\n if (min !== undefined && resValue < min) {\n setErrorClass(classes.errorAnimation);\n setErrorValue(min);\n setIsAnimationRun(true);\n }\n\n setIsAnimationRun(false);\n };\n\n const handleManualInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (!isManualInput || disabled) {\n return;\n }\n\n setIsAnimationRun(true);\n\n const { value: newValue } = event.target;\n\n if (!newValue) {\n setInnerValue('');\n\n if (onChange) {\n onChange(event, '');\n }\n return;\n }\n\n const cleanValue = newValue.replace(excludingNumberSchema, '');\n if (cleanValue.endsWith('.') || cleanValue === '-') {\n setInnerValue(cleanValue);\n\n if (onChange) {\n onChange(event, cleanValue);\n }\n return;\n }\n\n const isValid = numberSchema.test(cleanValue);\n\n if (!isValid) {\n setValues(event, lastValidValue);\n return;\n }\n\n if (\n textWrapperRef?.current &&\n wrapperRef?.current &&\n textWrapperRef?.current?.clientWidth > wrapperRef?.current?.clientWidth\n ) {\n wrapperRef.current.scrollLeft =\n textWrapperRef.current.offsetWidth - textWrapperRef.current.offsetLeft || 0;\n }\n\n setValues(event, Number(cleanValue));\n };\n\n const handleClickInputWrapper = () => {\n if (!isManualInput || !inputRef.current) {\n return;\n }\n\n if (!isInputFocused) {\n inputRef.current.select();\n }\n\n setIsInputFocused(true);\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n validateValue(value);\n setIsInputFocused(false);\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (!isManualInput || disabled) {\n return;\n }\n\n if (event.keyCode === keyCodes.Enter) {\n event.preventDefault();\n\n validateValue(value);\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n }\n };\n\n const handleEndErrorAnimation = (correctValue: number) => {\n setIsAnimationRun(false);\n setIsInputFocused(false);\n\n setErrorClass(undefined);\n setValues(null, correctValue);\n };\n\n useEffect(() => {\n setDynamicWidth(getInputWidth());\n }, []);\n\n useDidMountEffect(() => {\n setDynamicWidth(getInputWidth(false));\n }, [value]);\n\n return (\n <InputWrapper\n ref={wrapperRef}\n className={cx(solidViewClass, errorClass, manualInputClass)}\n isManualInput={Boolean(isManualInput)}\n onClick={handleClickInputWrapper}\n >\n <TextWrapper ref={textWrapperRef}>\n {!isLoading && textBefore && (\n <AdditionalText className={classes.textBefore}>{textBefore}</AdditionalText>\n )}\n {isLoading ? (\n <Loader>{loader || <StyledSpinner />}</Loader>\n ) : (\n <DynamicInput>\n <Input\n ref={inputForkRef}\n dynamicWidth={dynamicWidth}\n value={value}\n isManualInput={Boolean(isManualInput)}\n tabIndex={disabled || !isManualInput ? -1 : 0}\n onChange={handleManualInputChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onAnimationEnd={() => handleEndErrorAnimation(Number(errorValue))}\n {...rest}\n />\n <InputWidthHelper ref={inputHelperRef}>{value}</InputWidthHelper>\n </DynamicInput>\n )}\n {!isLoading && textAfter && (\n <AdditionalText className={classes.textAfter}>{textAfter}</AdditionalText>\n )}\n </TextWrapper>\n </InputWrapper>\n );\n },\n);\n"],"names":["NumberInput","forwardRef","_ref","ref","value","min","max","isLoading","loader","disabled","segmentation","textBefore","textAfter","isManualInput","isInputFocused","setIsInputFocused","setIsAnimationRun","setInnerValue","onChange","onBlur","onKeyDown","rest","_objectWithoutProperties","_excluded","_useState","useState","concat","String","length","defaultCharacterWidth","_useState2","_slicedToArray","dynamicWidth","setDynamicWidth","_useState3","Number","_useState4","lastValidValue","setLastValidValue","_useState5","undefined","_useState6","errorClass","setErrorClass","_useState7","_useState8","errorValue","setErrorValue","inputHelperRef","useRef","wrapperRef","textWrapperRef","inputRef","inputForkRef","useForkRef","solidViewClass","classes","solidView","manualInputClass","manualInput","getInputWidth","_inputHelperRef$curre","firstRender","arguments","current","clientWidth","_inputHelperRef$curre2","setValues","event","newValue","validateValue","isNumber","endsWith","resValue","errorAnimation","handleManualInputChange","_textWrapperRef$curre","_wrapperRef$current","target","cleanValue","replace","excludingNumberSchema","isValid","numberSchema","test","scrollLeft","offsetWidth","offsetLeft","handleClickInputWrapper","select","handleBlur","handleKeyDown","keyCode","keyCodes","Enter","preventDefault","handleEndErrorAnimation","correctValue","useEffect","useDidMountEffect","React","createElement","InputWrapper","className","cx","Boolean","onClick","TextWrapper","AdditionalText","Loader","_StyledSpinner","StyledSpinner","DynamicInput","Input","_extends","tabIndex","onAnimationEnd","InputWidthHelper"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Input.js","sources":["../../../../../src/components/NumberInput/ui/Input/Input.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { KeyboardEvent, ChangeEvent, FocusEvent } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { classes } from '../../NumberInput.tokens';\nimport { cx, isNumber } from '../../../../utils';\nimport { useDidMountEffect } from '../../../../hooks';\nimport { defaultCharacterWidth, excludingNumberSchema, getPreciseValue, numberSchema } from '../../utils';\nimport { keyCodes } from '../../../../utils/constants';\n\nimport type { InputProps } from './Input.types';\nimport {\n AdditionalText,\n Input,\n InputWrapper,\n DynamicInput,\n InputWidthHelper,\n TextWrapper,\n StyledSpinner,\n Loader,\n} from './Input.styles';\n\nexport const NumberInput = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n value,\n precision,\n min,\n max,\n isLoading,\n loader,\n disabled,\n segmentation,\n textBefore,\n textAfter,\n isManualInput,\n isInputFocused,\n setIsInputFocused,\n setIsAnimationRun,\n setInnerValue,\n onChange,\n onBlur,\n onKeyDown,\n ...rest\n },\n ref,\n ) => {\n const [dynamicWidth, setDynamicWidth] = useState(value ? `${String(value).length}ch` : defaultCharacterWidth);\n const [lastValidValue, setLastValidValue] = useState<number | string>(Number(value));\n const [errorClass, setErrorClass] = useState<string | undefined>(undefined);\n const [errorValue, setErrorValue] = useState<number>();\n\n const inputHelperRef = useRef<HTMLSpanElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const textWrapperRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n\n const solidViewClass = segmentation === 'solid' ? classes.solidView : undefined;\n const manualInputClass = isManualInput ? classes.manualInput : undefined;\n\n const getInputWidth = (firstRender = true) => {\n if (!firstRender && inputHelperRef.current?.clientWidth) {\n return `${inputHelperRef.current?.clientWidth}px`;\n }\n\n if (value) {\n return `${String(value).length}ch`;\n }\n\n return defaultCharacterWidth;\n };\n\n const setValues = (event: ChangeEvent<HTMLInputElement> | null, newValue: number | string) => {\n setLastValidValue(newValue);\n setInnerValue(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n };\n\n const validateValue = (newValue: number | string) => {\n if (!newValue || !isNumber(newValue)) {\n setValues(null, lastValidValue);\n setIsAnimationRun(false);\n return;\n }\n\n const resValue = Number(newValue);\n if (max !== undefined && resValue > max) {\n setErrorClass(classes.errorAnimation);\n setErrorValue(max);\n setIsAnimationRun(true);\n return;\n }\n\n if (min !== undefined && resValue < min) {\n setErrorClass(classes.errorAnimation);\n setErrorValue(min);\n setIsAnimationRun(true);\n return;\n }\n\n if (String(newValue).endsWith('.')) {\n setValues(null, Number(newValue));\n setIsAnimationRun(false);\n return;\n }\n\n if (precision !== undefined) {\n const preciseNewValue = Number(getPreciseValue(newValue, precision));\n setValues(null, preciseNewValue);\n }\n\n setIsAnimationRun(false);\n };\n\n const handleManualInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (!isManualInput || disabled) {\n return;\n }\n\n setIsAnimationRun(true);\n\n const { value: newValue } = event.target;\n\n if (!newValue) {\n setInnerValue('');\n\n if (onChange) {\n onChange(event, '');\n }\n return;\n }\n\n const cleanValue = newValue.replace(excludingNumberSchema, '');\n if (cleanValue.endsWith('.') || cleanValue === '-') {\n setInnerValue(cleanValue);\n\n if (onChange) {\n onChange(event, cleanValue);\n }\n return;\n }\n\n console.log('here');\n const isValid = numberSchema.test(cleanValue);\n\n if (!isValid) {\n console.log('not valid', cleanValue);\n setValues(event, lastValidValue);\n return;\n }\n console.log('valid!', cleanValue);\n\n if (\n textWrapperRef?.current &&\n wrapperRef?.current &&\n textWrapperRef?.current?.clientWidth > wrapperRef?.current?.clientWidth\n ) {\n wrapperRef.current.scrollLeft =\n textWrapperRef.current.offsetWidth - textWrapperRef.current.offsetLeft || 0;\n }\n\n setValues(event, cleanValue);\n };\n\n const handleClickInputWrapper = () => {\n if (!isManualInput || !inputRef.current) {\n return;\n }\n\n if (!isInputFocused) {\n inputRef.current.select();\n }\n\n setIsInputFocused(true);\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n validateValue(value);\n setIsInputFocused(false);\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (!isManualInput || disabled) {\n return;\n }\n\n if (event.keyCode === keyCodes.Enter) {\n event.preventDefault();\n\n validateValue(value);\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n }\n };\n\n const handleEndErrorAnimation = (correctValue: number) => {\n setIsAnimationRun(false);\n setIsInputFocused(false);\n\n setErrorClass(undefined);\n setValues(null, correctValue);\n };\n\n useEffect(() => {\n setDynamicWidth(getInputWidth());\n }, []);\n\n useDidMountEffect(() => {\n setDynamicWidth(getInputWidth(false));\n }, [value]);\n\n return (\n <InputWrapper\n ref={wrapperRef}\n className={cx(solidViewClass, errorClass, manualInputClass)}\n isManualInput={Boolean(isManualInput)}\n onClick={handleClickInputWrapper}\n >\n <TextWrapper ref={textWrapperRef}>\n {!isLoading && textBefore && (\n <AdditionalText className={classes.textBefore}>{textBefore}</AdditionalText>\n )}\n {isLoading ? (\n <Loader>{loader || <StyledSpinner />}</Loader>\n ) : (\n <DynamicInput>\n <Input\n ref={inputForkRef}\n dynamicWidth={dynamicWidth}\n value={value}\n isManualInput={Boolean(isManualInput)}\n tabIndex={disabled || !isManualInput ? -1 : 0}\n onChange={handleManualInputChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onAnimationEnd={() => handleEndErrorAnimation(Number(errorValue))}\n {...rest}\n />\n <InputWidthHelper ref={inputHelperRef}>{value}</InputWidthHelper>\n </DynamicInput>\n )}\n {!isLoading && textAfter && (\n <AdditionalText className={classes.textAfter}>{textAfter}</AdditionalText>\n )}\n </TextWrapper>\n </InputWrapper>\n );\n },\n);\n"],"names":["NumberInput","forwardRef","_ref","ref","value","precision","min","max","isLoading","loader","disabled","segmentation","textBefore","textAfter","isManualInput","isInputFocused","setIsInputFocused","setIsAnimationRun","setInnerValue","onChange","onBlur","onKeyDown","rest","_objectWithoutProperties","_excluded","_useState","useState","concat","String","length","defaultCharacterWidth","_useState2","_slicedToArray","dynamicWidth","setDynamicWidth","_useState3","Number","_useState4","lastValidValue","setLastValidValue","_useState5","undefined","_useState6","errorClass","setErrorClass","_useState7","_useState8","errorValue","setErrorValue","inputHelperRef","useRef","wrapperRef","textWrapperRef","inputRef","inputForkRef","useForkRef","solidViewClass","classes","solidView","manualInputClass","manualInput","getInputWidth","_inputHelperRef$curre","firstRender","arguments","current","clientWidth","_inputHelperRef$curre2","setValues","event","newValue","validateValue","isNumber","resValue","errorAnimation","endsWith","preciseNewValue","getPreciseValue","handleManualInputChange","_textWrapperRef$curre","_wrapperRef$current","target","cleanValue","replace","excludingNumberSchema","console","log","isValid","numberSchema","test","scrollLeft","offsetWidth","offsetLeft","handleClickInputWrapper","select","handleBlur","handleKeyDown","keyCode","keyCodes","Enter","preventDefault","handleEndErrorAnimation","correctValue","useEffect","useDidMountEffect","React","createElement","InputWrapper","className","cx","Boolean","onClick","TextWrapper","AdditionalText","Loader","_StyledSpinner","StyledSpinner","DynamicInput","Input","_extends","tabIndex","onAnimationEnd","InputWidthHelper"],"mappings":"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"}
|
@@ -1,6 +1,15 @@
|
|
1
1
|
var defaultCharacterWidth = '1ch';
|
2
2
|
var numberSchema = /^(-)?\d+(\.\d+)?$/;
|
3
3
|
var excludingNumberSchema = /[^-.\d]/g;
|
4
|
+
var getPreciseValue = function getPreciseValue(value, precision) {
|
5
|
+
var innerValue = String(value);
|
6
|
+
if (precision !== undefined) {
|
7
|
+
var factor = Math.pow(10, precision);
|
8
|
+
var preparedValue = Number(innerValue) < 0 ? Number(innerValue) - Number.EPSILON : Number(innerValue) + Number.EPSILON;
|
9
|
+
return String(Math.round(preparedValue * factor) / factor);
|
10
|
+
}
|
11
|
+
return innerValue;
|
12
|
+
};
|
4
13
|
|
5
|
-
export { defaultCharacterWidth, excludingNumberSchema, numberSchema };
|
14
|
+
export { defaultCharacterWidth, excludingNumberSchema, getPreciseValue, numberSchema };
|
6
15
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/NumberInput/utils/index.ts"],"sourcesContent":["export const defaultCharacterWidth = '1ch';\nexport const numberSchema = /^(-)?\\d+(\\.\\d+)?$/;\nexport const excludingNumberSchema = /[^-.\\d]/g;\n"],"names":["defaultCharacterWidth","numberSchema","excludingNumberSchema"],"mappings":"AAAO,IAAMA,qBAAqB,GAAG,MAAK;AACnC,IAAMC,YAAY,GAAG,oBAAmB;AACxC,IAAMC,qBAAqB,GAAG;;;;"}
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/NumberInput/utils/index.ts"],"sourcesContent":["export const defaultCharacterWidth = '1ch';\nexport const numberSchema = /^(-)?\\d+(\\.\\d+)?$/;\nexport const excludingNumberSchema = /[^-.\\d]/g;\n\nexport const getPreciseValue = (value: number | string, precision?: number) => {\n const innerValue = String(value);\n\n if (precision !== undefined) {\n const factor = 10 ** precision;\n const preparedValue =\n Number(innerValue) < 0 ? Number(innerValue) - Number.EPSILON : Number(innerValue) + Number.EPSILON;\n\n return String(Math.round(preparedValue * factor) / factor);\n }\n\n return innerValue;\n};\n"],"names":["defaultCharacterWidth","numberSchema","excludingNumberSchema","getPreciseValue","value","precision","innerValue","String","undefined","factor","Math","pow","preparedValue","Number","EPSILON","round"],"mappings":"AAAO,IAAMA,qBAAqB,GAAG,MAAK;AACnC,IAAMC,YAAY,GAAG,oBAAmB;AACxC,IAAMC,qBAAqB,GAAG,WAAU;AAExC,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,KAAsB,EAAEC,SAAkB,EAAK;AAC3E,EAAA,IAAMC,UAAU,GAAGC,MAAM,CAACH,KAAK,CAAC,CAAA;EAEhC,IAAIC,SAAS,KAAKG,SAAS,EAAE;IACzB,IAAMC,MAAM,GAAAC,IAAA,CAAAC,GAAA,CAAG,EAAE,EAAIN,SAAS,CAAA,CAAA;IAC9B,IAAMO,aAAa,GACfC,MAAM,CAACP,UAAU,CAAC,GAAG,CAAC,GAAGO,MAAM,CAACP,UAAU,CAAC,GAAGO,MAAM,CAACC,OAAO,GAAGD,MAAM,CAACP,UAAU,CAAC,GAAGO,MAAM,CAACC,OAAO,CAAA;AAEtG,IAAA,OAAOP,MAAM,CAACG,IAAI,CAACK,KAAK,CAACH,aAAa,GAAGH,MAAM,CAAC,GAAGA,MAAM,CAAC,CAAA;AAC9D,GAAA;AAEA,EAAA,OAAOH,UAAU,CAAA;AACrB;;;;"}
|
package/es/index.css
CHANGED
@@ -496,14 +496,11 @@
|
|
496
496
|
|
497
497
|
.Counter_styles_1uue90v_b1dqw7l5__00d0b847{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;box-sizing:border-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:-webkit-max-content;width:-moz-max-content;width:max-content;}
|
498
498
|
|
499
|
-
.
|
500
|
-
.
|
501
|
-
.
|
502
|
-
.
|
503
|
-
.
|
504
|
-
.Avatar_styles_131qvfx_e1i3umn2__45209762{max-width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;z-index:2;}.Avatar_styles_131qvfx_e1i3umn2__45209762.Avatar_styles_131qvfx_avatarExtraPlacementTopLeft__45209762{top:calc(-0.063rem * var(--plasma-avatar-extra-placement-factor,0));left:calc(-0.063rem * var(--plasma-avatar-extra-placement-factor,0));}.Avatar_styles_131qvfx_e1i3umn2__45209762.Avatar_styles_131qvfx_avatarExtraPlacementTopRight__45209762{top:calc(-0.063rem * var(--plasma-avatar-extra-placement-factor,0));right:calc(-0.063rem * var(--plasma-avatar-extra-placement-factor,0));}.Avatar_styles_131qvfx_e1i3umn2__45209762.Avatar_styles_131qvfx_avatarExtraPlacementBottomRight__45209762{bottom:calc(-0.063rem * var(--plasma-avatar-extra-placement-factor,0));right:calc(-0.063rem * var(--plasma-avatar-extra-placement-factor,0));}.Avatar_styles_131qvfx_e1i3umn2__45209762.Avatar_styles_131qvfx_avatarExtraPlacementBottomLeft__45209762{bottom:calc(-0.063rem * var(--plasma-avatar-extra-placement-factor,0));left:calc(-0.063rem * var(--plasma-avatar-extra-placement-factor,0));}
|
505
|
-
.Avatar_styles_131qvfx_eqy70yy__45209762{--plasma-badge-background:var(--plasma-avatar-extra-badge-background);--plasma-badge-color:var(--plasma-avatar-extra-badge-color);--plasma-badge-background-transparent:var(--plasma-avatar-extra-badge-background-transparent);--plasma-badge-color-transparent:var(--plasma-avatar-extra-badge-color-transparent);--plasma-badge-color-clear:var(--plasma-avatar-extra-badge-color-clear);--plasma-badge-background-clear:var(--plasma-avatar-extra-badge-background-clear);--plasma-badge-border-radius:var(--plasma-avatar-extra-badge-border-radius);--plasma-badge-pilled-border-radius:var(--plasma-avatar-extra-badge-pilled-border-radius);--plasma-badge-height:var(--plasma-avatar-extra-badge-height);--plasma-badge-padding:var(--plasma-avatar-extra-badge-padding);--plasma-badge-padding-icon-only:var(--plasma-avatar-extra-badge-padding-icon-only);--plasma-badge-font-family:var(--plasma-avatar-extra-badge-font-family);--plasma-badge-font-size:var(--plasma-avatar-extra-badge-font-size);--plasma-badge-font-style:var(--plasma-avatar-extra-badge-font-style);--plasma-badge-font-weight:var(--plasma-avatar-extra-badge-font-weight);--plasma-badge-letter-spacing:var(--plasma-avatar-extra-badge-letter-spacing);--plasma-badge-lineheight:var(--plasma-avatar-extra-badge-lineheight);--plasma-badge-left-content-margin-left:var(--plasma-avatar-extra-badge-left-content-margin-left);--plasma-badge-left-content-margin-right:var(--plasma-avatar-extra-badge-left-content-margin-right);--plasma-badge-right-content-margin-left:var(--plasma-avatar-extra-badge-right-content-margin-left);--plasma-badge-right-content-margin-right:var(--plasma-avatar-extra-badge-right-content-margin-right);}
|
506
|
-
.Avatar_styles_131qvfx_e4nvvok__45209762{--plasma-counter-background:var(--plasma-avatar-extra-counter-background);--plasma-counter-color:var(--plasma-avatar-extra-counter-color);--plasma-counter-border-radius:var(--plasma-avatar-extra-counter-border-radius);--plasma-counter-height:var(--plasma-avatar-extra-counter-height);--plasma-counter-padding:var(--plasma-avatar-extra-counter-padding);--plasma-counter-font-family:var(--plasma-avatar-extra-counter-font-family);--plasma-counter-font-size:var(--plasma-avatar-extra-counter-font-size);--plasma-counter-font-style:var(--plasma-avatar-extra-counter-font-style);--plasma-counter-font-weight:var(--plasma-avatar-extra-counter-font-weight);--plasma-counter-letter-spacing:var(--plasma-avatar-extra-counter-letter-spacing);--plasma-counter-lineheight:var(--plasma-avatar-extra-counter-lineheight);}
|
499
|
+
.Avatar_styles_1gd252x_b1d1rtx8__7885bc3b{position:relative;}
|
500
|
+
.Avatar_styles_1gd252x_wxwn3we__7885bc3b{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:100%;border-radius:50%;background:var(--plasma-avatar-background);overflow:hidden;}.Avatar_styles_1gd252x_wxwn3we__7885bc3b:hover{scale:var(--wxwn3we-0);cursor:var(--wxwn3we-1);}
|
501
|
+
.Avatar_styles_1gd252x_sf2jhi1__7885bc3b{position:absolute;top:calc(1.02 * 0.85 * var(--plasma-avatar-size) - var(--plasma-status-icon-size) / 2);left:calc(1.02 * 0.85 * var(--plasma-avatar-size) - var(--plasma-status-icon-size) / 2);}
|
502
|
+
.Avatar_styles_1gd252x_igq6ihg__7885bc3b{width:100%;height:100%;border-radius:50%;}
|
503
|
+
.Avatar_styles_1gd252x_t1kfsxcq__7885bc3b{font-size:var(--plasma-avatar-font-size);font-family:var(--plasma-avatar-font-family);font-weight:var(--plasma-avatar-font-weight);line-height:var(--plasma-avatar-line-height);background-image:var(--plasma-avatar-color);background-color:var(--plasma-avatar-color);background-size:100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
|
507
504
|
|
508
505
|
.base_1vhlhpd_bf4ss7k__c5337153{width:var(--plasma-avatar-size);height:var(--plasma-avatar-size);}
|
509
506
|
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@salutejs/plasma-new-hope",
|
3
|
-
"version": "0.239.0-canary.
|
3
|
+
"version": "0.239.0-canary.1699.12748300760.0",
|
4
4
|
"description": "Salute Design System blueprint",
|
5
5
|
"main": "./cjs/index.js",
|
6
6
|
"module": "./es/index.js",
|
@@ -148,5 +148,5 @@
|
|
148
148
|
"sideEffects": [
|
149
149
|
"*.css"
|
150
150
|
],
|
151
|
-
"gitHead": "
|
151
|
+
"gitHead": "f205302dd98ccc9640f914d0d6a8468f82bdc7b2"
|
152
152
|
}
|
@@ -15,7 +15,7 @@ var _Avatar2 = /*#__PURE__*/require("./Avatar.styles");
|
|
15
15
|
var _base = /*#__PURE__*/require("./variations/_size/base");
|
16
16
|
var _base2 = /*#__PURE__*/require("./variations/_focused/base");
|
17
17
|
var _utils2 = /*#__PURE__*/require("./utils");
|
18
|
-
var _excluded = ["size", "name", "url", "customText", "status", "className", "focused", "isScalable", "statusLabels"
|
18
|
+
var _excluded = ["size", "name", "url", "customText", "status", "className", "focused", "isScalable", "statusLabels"];
|
19
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
20
20
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
21
21
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
@@ -82,19 +82,6 @@ var avatarRoot = exports.avatarRoot = function avatarRoot(Root) {
|
|
82
82
|
isScalable = props.isScalable,
|
83
83
|
_props$statusLabels = props.statusLabels,
|
84
84
|
statusLabels = _props$statusLabels === void 0 ? StatusLabelsDefault : _props$statusLabels,
|
85
|
-
hasExtra = props.hasExtra,
|
86
|
-
extraPlacement = props.extraPlacement,
|
87
|
-
type = props.type,
|
88
|
-
counterView = props.counterView,
|
89
|
-
count = props.count,
|
90
|
-
maxCount = props.maxCount,
|
91
|
-
badgeView = props.badgeView,
|
92
|
-
text = props.text,
|
93
|
-
customColor = props.customColor,
|
94
|
-
customBackgroundColor = props.customBackgroundColor,
|
95
|
-
contentLeft = props.contentLeft,
|
96
|
-
contentRight = props.contentRight,
|
97
|
-
pilled = props.pilled,
|
98
85
|
rest = _objectWithoutProperties(props, _excluded);
|
99
86
|
var initials = (0, _react.useMemo)(function () {
|
100
87
|
return (0, _utils2.getInitialsForName)(name);
|
@@ -102,18 +89,13 @@ var avatarRoot = exports.avatarRoot = function avatarRoot(Root) {
|
|
102
89
|
var ariaLabel = getAriaLabel(_objectSpread(_objectSpread({}, props), {}, {
|
103
90
|
statusLabels: statusLabels
|
104
91
|
}));
|
105
|
-
var extraViewProp = type === 'badge' ? {
|
106
|
-
badgeView: badgeView
|
107
|
-
} : {
|
108
|
-
counterView: counterView
|
109
|
-
};
|
110
92
|
return /*#__PURE__*/_react["default"].createElement(Root, _extends({
|
111
93
|
ref: ref,
|
112
94
|
size: avatarSize,
|
113
95
|
className: (0, _utils.cx)(_Avatar.classes.avatarItem, className),
|
114
96
|
"aria-label": ariaLabel,
|
115
97
|
focused: focused
|
116
|
-
},
|
98
|
+
}, rest), /*#__PURE__*/_react["default"].createElement(_Avatar2.Wrapper, {
|
117
99
|
isScalable: isScalable
|
118
100
|
}, getAvatarContent({
|
119
101
|
customText: customText,
|
@@ -123,24 +105,7 @@ var avatarRoot = exports.avatarRoot = function avatarRoot(Root) {
|
|
123
105
|
})), status && /*#__PURE__*/_react["default"].createElement(_Avatar2.StatusIcon, null, /*#__PURE__*/_react["default"].createElement(StyledIndicator, {
|
124
106
|
"aria-label": statusLabels[status],
|
125
107
|
status: status
|
126
|
-
}))
|
127
|
-
className: (0, _utils2.extraPlacementMap)(extraPlacement)
|
128
|
-
}, type === 'counter' ? /*#__PURE__*/_react["default"].createElement(_Avatar2.ExtraCounter, {
|
129
|
-
view: counterView,
|
130
|
-
count: count || 1,
|
131
|
-
maxCount: maxCount
|
132
|
-
}) : avatarSize !== 's' && /*#__PURE__*/_react["default"].createElement(_Avatar2.ExtraBadge, _extends({
|
133
|
-
view: badgeView,
|
134
|
-
text: text,
|
135
|
-
customColor: customColor,
|
136
|
-
customBackgroundColor: customBackgroundColor,
|
137
|
-
pilled: pilled,
|
138
|
-
maxWidth: "100%"
|
139
|
-
}, contentLeft ? {
|
140
|
-
contentLeft: contentLeft
|
141
|
-
} : {
|
142
|
-
contentRight: contentRight
|
143
|
-
}))));
|
108
|
+
})));
|
144
109
|
});
|
145
110
|
};
|
146
111
|
var avatarConfig = exports.avatarConfig = {
|
@@ -4,20 +4,13 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
5
5
|
value: true
|
6
6
|
});
|
7
|
-
exports.base = exports.Wrapper = exports.Text = exports.StatusIcon = exports.Image =
|
7
|
+
exports.base = exports.Wrapper = exports.Text = exports.StatusIcon = exports.Image = void 0;
|
8
8
|
var _styledComponents = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("styled-components"));
|
9
|
-
var _engines = /*#__PURE__*/require("../../engines");
|
10
|
-
var _Badge = /*#__PURE__*/require("../Badge");
|
11
|
-
var _Counter = /*#__PURE__*/require("../Counter");
|
12
9
|
var _Avatar = /*#__PURE__*/require("./Avatar.tokens");
|
13
10
|
var _templateObject;
|
14
11
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
15
12
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
16
13
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
17
|
-
var mergedBadgeConfig = /*#__PURE__*/(0, _engines.mergeConfig)(_Badge.badgeConfig);
|
18
|
-
var Badge = /*#__PURE__*/(0, _engines.component)(mergedBadgeConfig);
|
19
|
-
var mergedCounterConfig = /*#__PURE__*/(0, _engines.mergeConfig)(_Counter.counterConfig);
|
20
|
-
var Counter = /*#__PURE__*/(0, _engines.component)(mergedCounterConfig);
|
21
14
|
var base = exports.base = /*#__PURE__*/(0, _styledComponents.css)(_templateObject || (_templateObject = /*#__PURE__*/_taggedTemplateLiteral(["\n position: relative;\n"])));
|
22
15
|
var Wrapper = exports.Wrapper = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
23
16
|
componentId: "plasma-new-hope__sc-t16ccn-0"
|
@@ -36,13 +29,4 @@ var Image = exports.Image = /*#__PURE__*/_styledComponents["default"].img.withCo
|
|
36
29
|
})(["width:100%;height:100%;border-radius:50%;"]);
|
37
30
|
var Text = exports.Text = /*#__PURE__*/_styledComponents["default"].span.withConfig({
|
38
31
|
componentId: "plasma-new-hope__sc-t16ccn-3"
|
39
|
-
})(["font-size:var(", ");font-family:var(", ");font-weight:var(", ");line-height:var(", ");background-image:var(", ");background-color:var(", ");background-size:100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;"], _Avatar.tokens.fontSize, _Avatar.tokens.fontFamily, _Avatar.tokens.fontWeight, _Avatar.tokens.lineHeight, _Avatar.tokens.color, _Avatar.tokens.color);
|
40
|
-
var ExtraContent = exports.ExtraContent = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
41
|
-
componentId: "plasma-new-hope__sc-t16ccn-4"
|
42
|
-
})(["max-width:100%;display:flex;position:absolute;z-index:2;&.", "{top:calc(-0.063rem * var(", ",0));left:calc(-0.063rem * var(", ",0));}&.", "{top:calc(-0.063rem * var(", ",0));right:calc(-0.063rem * var(", ",0));}&.", "{bottom:calc(-0.063rem * var(", ",0));right:calc(-0.063rem * var(", ",0));}&.", "{bottom:calc(-0.063rem * var(", ",0));left:calc(-0.063rem * var(", ",0));}"], _Avatar.classes.extraPlacementTopLeft, _Avatar.tokens.extraPlacementFactor, _Avatar.tokens.extraPlacementFactor, _Avatar.classes.extraPlacementTopRight, _Avatar.tokens.extraPlacementFactor, _Avatar.tokens.extraPlacementFactor, _Avatar.classes.extraPlacementBottomRight, _Avatar.tokens.extraPlacementFactor, _Avatar.tokens.extraPlacementFactor, _Avatar.classes.extraPlacementBottomLeft, _Avatar.tokens.extraPlacementFactor, _Avatar.tokens.extraPlacementFactor);
|
43
|
-
var ExtraBadge = exports.ExtraBadge = /*#__PURE__*/(0, _styledComponents["default"])(Badge).withConfig({
|
44
|
-
componentId: "plasma-new-hope__sc-t16ccn-5"
|
45
|
-
})(["", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");"], _Badge.badgeTokens.background, _Avatar.tokens.badgeBackground, _Badge.badgeTokens.color, _Avatar.tokens.badgeColor, _Badge.badgeTokens.backgroundTransparent, _Avatar.tokens.badgeBackgroundTransparent, _Badge.badgeTokens.colorTransparent, _Avatar.tokens.badgeColorTransparent, _Badge.badgeTokens.colorClear, _Avatar.tokens.badgeColorClear, _Badge.badgeTokens.backgroundClear, _Avatar.tokens.badgeBackgroundClear, _Badge.badgeTokens.borderRadius, _Avatar.tokens.badgeBorderRadius, _Badge.badgeTokens.pilledBorderRadius, _Avatar.tokens.badgePilledBorderRadius, _Badge.badgeTokens.height, _Avatar.tokens.badgeHeight, _Badge.badgeTokens.padding, _Avatar.tokens.badgePadding, _Badge.badgeTokens.paddingIconOnly, _Avatar.tokens.badgePaddingIconOnly, _Badge.badgeTokens.fontFamily, _Avatar.tokens.badgeFontFamily, _Badge.badgeTokens.fontSize, _Avatar.tokens.badgeFontSize, _Badge.badgeTokens.fontStyle, _Avatar.tokens.badgeFontStyle, _Badge.badgeTokens.fontWeight, _Avatar.tokens.badgeFontWeight, _Badge.badgeTokens.letterSpacing, _Avatar.tokens.badgeLetterSpacing, _Badge.badgeTokens.lineHeight, _Avatar.tokens.badgeLineHeight, _Badge.badgeTokens.leftContentMarginLeft, _Avatar.tokens.badgeLeftContentMarginLeft, _Badge.badgeTokens.leftContentMarginRight, _Avatar.tokens.badgeLeftContentMarginRight, _Badge.badgeTokens.rightContentMarginLeft, _Avatar.tokens.badgeRightContentMarginLeft, _Badge.badgeTokens.rightContentMarginRight, _Avatar.tokens.badgeRightContentMarginRight);
|
46
|
-
var ExtraCounter = exports.ExtraCounter = /*#__PURE__*/(0, _styledComponents["default"])(Counter).withConfig({
|
47
|
-
componentId: "plasma-new-hope__sc-t16ccn-6"
|
48
|
-
})(["", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");"], _Counter.counterTokens.background, _Avatar.tokens.counterBackground, _Counter.counterTokens.color, _Avatar.tokens.counterColor, _Counter.counterTokens.borderRadius, _Avatar.tokens.counterBorderRadius, _Counter.counterTokens.height, _Avatar.tokens.counterHeight, _Counter.counterTokens.padding, _Avatar.tokens.counterPadding, _Counter.counterTokens.fontFamily, _Avatar.tokens.counterFontFamily, _Counter.counterTokens.fontSize, _Avatar.tokens.counterFontSize, _Counter.counterTokens.fontStyle, _Avatar.tokens.counterFontStyle, _Counter.counterTokens.fontWeight, _Avatar.tokens.counterFontWeight, _Counter.counterTokens.letterSpacing, _Avatar.tokens.counterLetterSpacing, _Counter.counterTokens.lineHeight, _Avatar.tokens.counterLineHeight);
|
32
|
+
})(["font-size:var(", ");font-family:var(", ");font-weight:var(", ");line-height:var(", ");background-image:var(", ");background-color:var(", ");background-size:100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;"], _Avatar.tokens.fontSize, _Avatar.tokens.fontFamily, _Avatar.tokens.fontWeight, _Avatar.tokens.lineHeight, _Avatar.tokens.color, _Avatar.tokens.color);
|
@@ -147,57 +147,3 @@ export function App() {
|
|
147
147
|
Опциональное свойство для корректной озвучки значений свойства `status`.
|
148
148
|
|
149
149
|
По-умолчанию стоит значение для русскоговорящих `{ active: 'Активен', inactive: 'Неактивен' }`.
|
150
|
-
|
151
|
-
#### Avatar и дополнительный контент
|
152
|
-
|
153
|
-
Чтобы отобразить дополнительный контент нужно передать свойство `hasExtra`.
|
154
|
-
Тип дополнительного контента задается с помощью свойства `type`, а его вид с помощью `badgeView` и `counterView` соответственно.
|
155
|
-
За положение дополнительного контента отвечает `extraPlacement`:
|
156
|
-
|
157
|
-
```tsx live
|
158
|
-
import React from 'react';
|
159
|
-
import { Avatar } from '@salutejs/{{ package }}';
|
160
|
-
|
161
|
-
export function App() {
|
162
|
-
return (
|
163
|
-
<>
|
164
|
-
<Avatar
|
165
|
-
size="l"
|
166
|
-
name="Иван Фадеев"
|
167
|
-
extraPlacement="top-left"
|
168
|
-
type="counter"
|
169
|
-
count={33}
|
170
|
-
counterView="positive"
|
171
|
-
hasExtra
|
172
|
-
/>
|
173
|
-
<Avatar
|
174
|
-
size="l"
|
175
|
-
name="Иван Фадеев"
|
176
|
-
extraPlacement="top-right"
|
177
|
-
type="counter"
|
178
|
-
count={33}
|
179
|
-
counterView="accent"
|
180
|
-
hasExtra
|
181
|
-
/>
|
182
|
-
<Avatar
|
183
|
-
size="l"
|
184
|
-
name="Иван Фадеев"
|
185
|
-
extraPlacement="bottom-right"
|
186
|
-
type="badge"
|
187
|
-
text="15"
|
188
|
-
badgeView="warning"
|
189
|
-
hasExtra
|
190
|
-
/>
|
191
|
-
<Avatar
|
192
|
-
size="l"
|
193
|
-
name="Иван Фадеев"
|
194
|
-
extraPlacement="bottom-left"
|
195
|
-
type="badge"
|
196
|
-
text="15"
|
197
|
-
badgeView="negative"
|
198
|
-
hasExtra
|
199
|
-
/>
|
200
|
-
</>
|
201
|
-
);
|
202
|
-
}
|
203
|
-
```
|
@@ -5,11 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.tokens = exports.classes = void 0;
|
7
7
|
var classes = exports.classes = {
|
8
|
-
avatarItem: 'avatar-item'
|
9
|
-
extraPlacementTopRight: 'avatar-extra-placement-top-right',
|
10
|
-
extraPlacementTopLeft: 'avatar-extra-placement-top-left',
|
11
|
-
extraPlacementBottomLeft: 'avatar-extra-placement-bottom-left',
|
12
|
-
extraPlacementBottomRight: 'avatar-extra-placement-bottom-right'
|
8
|
+
avatarItem: 'avatar-item'
|
13
9
|
};
|
14
10
|
var tokens = exports.tokens = {
|
15
11
|
avatarSize: '--plasma-avatar-size',
|
@@ -25,40 +21,5 @@ var tokens = exports.tokens = {
|
|
25
21
|
outlineColor: '--plasma-avatar-outline-color',
|
26
22
|
outlineSize: '--plasma-avatar-outline-size',
|
27
23
|
outlineOffset: '--plasma-avatar-outline-offset',
|
28
|
-
scaleHover: '--plasma-avatar-scale-hover'
|
29
|
-
extraPlacementFactor: '--plasma-avatar-extra-placement-factor',
|
30
|
-
// extra badge tokens
|
31
|
-
badgeBackground: '--plasma-avatar-extra-badge-background',
|
32
|
-
badgeColor: '--plasma-avatar-extra-badge-color',
|
33
|
-
badgeBackgroundTransparent: '--plasma-avatar-extra-badge-background-transparent',
|
34
|
-
badgeColorTransparent: '--plasma-avatar-extra-badge-color-transparent',
|
35
|
-
badgeColorClear: '--plasma-avatar-extra-badge-color-clear',
|
36
|
-
badgeBackgroundClear: '--plasma-avatar-extra-badge-background-clear',
|
37
|
-
badgeBorderRadius: '--plasma-avatar-extra-badge-border-radius',
|
38
|
-
badgePilledBorderRadius: '--plasma-avatar-extra-badge-pilled-border-radius',
|
39
|
-
badgeHeight: '--plasma-avatar-extra-badge-height',
|
40
|
-
badgePadding: '--plasma-avatar-extra-badge-padding',
|
41
|
-
badgePaddingIconOnly: '--plasma-avatar-extra-badge-padding-icon-only',
|
42
|
-
badgeFontFamily: '--plasma-avatar-extra-badge-font-family',
|
43
|
-
badgeFontSize: '--plasma-avatar-extra-badge-font-size',
|
44
|
-
badgeFontStyle: '--plasma-avatar-extra-badge-font-style',
|
45
|
-
badgeFontWeight: '--plasma-avatar-extra-badge-font-weight',
|
46
|
-
badgeLetterSpacing: '--plasma-avatar-extra-badge-letter-spacing',
|
47
|
-
badgeLineHeight: '--plasma-avatar-extra-badge-lineheight',
|
48
|
-
badgeLeftContentMarginLeft: '--plasma-avatar-extra-badge-left-content-margin-left',
|
49
|
-
badgeLeftContentMarginRight: '--plasma-avatar-extra-badge-left-content-margin-right',
|
50
|
-
badgeRightContentMarginLeft: '--plasma-avatar-extra-badge-right-content-margin-left',
|
51
|
-
badgeRightContentMarginRight: '--plasma-avatar-extra-badge-right-content-margin-right',
|
52
|
-
// extra counter tokens
|
53
|
-
counterBackground: '--plasma-avatar-extra-counter-background',
|
54
|
-
counterColor: '--plasma-avatar-extra-counter-color',
|
55
|
-
counterBorderRadius: '--plasma-avatar-extra-counter-border-radius',
|
56
|
-
counterHeight: '--plasma-avatar-extra-counter-height',
|
57
|
-
counterPadding: '--plasma-avatar-extra-counter-padding',
|
58
|
-
counterFontFamily: '--plasma-avatar-extra-counter-font-family',
|
59
|
-
counterFontSize: '--plasma-avatar-extra-counter-font-size',
|
60
|
-
counterFontStyle: '--plasma-avatar-extra-counter-font-style',
|
61
|
-
counterFontWeight: '--plasma-avatar-extra-counter-font-weight',
|
62
|
-
counterLetterSpacing: '--plasma-avatar-extra-counter-letter-spacing',
|
63
|
-
counterLineHeight: '--plasma-avatar-extra-counter-lineheight'
|
24
|
+
scaleHover: '--plasma-avatar-scale-hover'
|
64
25
|
};
|
@@ -3,24 +3,10 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.extraPlacementMap = void 0;
|
7
6
|
Object.defineProperty(exports, "getInitialsForName", {
|
8
7
|
enumerable: true,
|
9
8
|
get: function get() {
|
10
9
|
return _getInitialsForName.getInitialsForName;
|
11
10
|
}
|
12
11
|
});
|
13
|
-
var
|
14
|
-
var _getInitialsForName = /*#__PURE__*/require("./getInitialsForName");
|
15
|
-
var extraPlacementMap = exports.extraPlacementMap = function extraPlacementMap(extraPlacement) {
|
16
|
-
switch (extraPlacement) {
|
17
|
-
case 'top-left':
|
18
|
-
return _Avatar.classes.extraPlacementTopLeft;
|
19
|
-
case 'bottom-left':
|
20
|
-
return _Avatar.classes.extraPlacementBottomLeft;
|
21
|
-
case 'bottom-right':
|
22
|
-
return _Avatar.classes.extraPlacementBottomRight;
|
23
|
-
default:
|
24
|
-
return _Avatar.classes.extraPlacementTopRight;
|
25
|
-
}
|
26
|
-
};
|
12
|
+
var _getInitialsForName = /*#__PURE__*/require("./getInitialsForName");
|