@salutejs/plasma-new-hope 0.239.0-canary.1696.12710467472.0 → 0.239.0-canary.1699.12742131493.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 +9 -3
- package/cjs/components/NumberInput/NumberInput.js.map +1 -1
- package/cjs/components/NumberInput/ui/Input/Input.js +12 -6
- package/cjs/components/NumberInput/ui/Input/Input.js.map +1 -1
- package/cjs/components/NumberInput/utils/index.js +8 -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 +9 -3
- package/emotion/cjs/components/NumberInput/ui/Input/Input.js +12 -6
- package/emotion/cjs/components/NumberInput/utils/index.js +9 -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 +9 -3
- package/emotion/es/components/NumberInput/ui/Input/Input.js +13 -7
- package/emotion/es/components/NumberInput/utils/index.js +8 -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 +9 -3
- package/es/components/NumberInput/NumberInput.js.map +1 -1
- package/es/components/NumberInput/ui/Input/Input.js +13 -7
- package/es/components/NumberInput/ui/Input/Input.js.map +1 -1
- package/es/components/NumberInput/utils/index.js +8 -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 +9 -3
- package/styled-components/cjs/components/NumberInput/ui/Input/Input.js +12 -6
- package/styled-components/cjs/components/NumberInput/utils/index.js +9 -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 +9 -3
- package/styled-components/es/components/NumberInput/ui/Input/Input.js +13 -7
- package/styled-components/es/components/NumberInput/utils/index.js +8 -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
@@ -11,12 +11,11 @@ var Avatar_tokens = require('./Avatar.tokens.js');
|
|
11
11
|
var Avatar_styles = require('./Avatar.styles.js');
|
12
12
|
var base = require('./variations/_size/base.js');
|
13
13
|
var base$1 = require('./variations/_focused/base.js');
|
14
|
-
var index$1 = require('./utils/index.js');
|
15
14
|
var getInitialsForName = require('./utils/getInitialsForName.js');
|
16
15
|
var common = require('../../engines/common.js');
|
17
16
|
var Indicator$1 = require('../Indicator/Indicator.js');
|
18
17
|
|
19
|
-
var _excluded = ["size", "name", "url", "customText", "status", "className", "focused", "isScalable", "statusLabels"
|
18
|
+
var _excluded = ["size", "name", "url", "customText", "status", "className", "focused", "isScalable", "statusLabels"];
|
20
19
|
var StatusLabelsDefault = {
|
21
20
|
active: 'Активен',
|
22
21
|
inactive: 'Неактивен'
|
@@ -83,19 +82,6 @@ var avatarRoot = function avatarRoot(Root) {
|
|
83
82
|
isScalable = props.isScalable,
|
84
83
|
_props$statusLabels = props.statusLabels,
|
85
84
|
statusLabels = _props$statusLabels === void 0 ? StatusLabelsDefault : _props$statusLabels,
|
86
|
-
hasExtra = props.hasExtra,
|
87
|
-
extraPlacement = props.extraPlacement,
|
88
|
-
type = props.type,
|
89
|
-
counterView = props.counterView,
|
90
|
-
count = props.count,
|
91
|
-
maxCount = props.maxCount,
|
92
|
-
badgeView = props.badgeView,
|
93
|
-
text = props.text,
|
94
|
-
customColor = props.customColor,
|
95
|
-
customBackgroundColor = props.customBackgroundColor,
|
96
|
-
contentLeft = props.contentLeft,
|
97
|
-
contentRight = props.contentRight,
|
98
|
-
pilled = props.pilled,
|
99
85
|
rest = _rollupPluginBabelHelpers.objectWithoutProperties(props, _excluded);
|
100
86
|
var initials = React.useMemo(function () {
|
101
87
|
return getInitialsForName.getInitialsForName(name);
|
@@ -103,18 +89,13 @@ var avatarRoot = function avatarRoot(Root) {
|
|
103
89
|
var ariaLabel = getAriaLabel(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, props), {}, {
|
104
90
|
statusLabels: statusLabels
|
105
91
|
}));
|
106
|
-
var extraViewProp = type === 'badge' ? {
|
107
|
-
badgeView: badgeView
|
108
|
-
} : {
|
109
|
-
counterView: counterView
|
110
|
-
};
|
111
92
|
return /*#__PURE__*/React.createElement(Root, _rollupPluginBabelHelpers.extends({
|
112
93
|
ref: ref,
|
113
94
|
size: avatarSize,
|
114
95
|
className: index.cx(Avatar_tokens.classes.avatarItem, className),
|
115
96
|
"aria-label": ariaLabel,
|
116
97
|
focused: focused
|
117
|
-
},
|
98
|
+
}, rest), /*#__PURE__*/React.createElement(Avatar_styles.Wrapper, {
|
118
99
|
isScalable: isScalable
|
119
100
|
}, getAvatarContent({
|
120
101
|
customText: customText,
|
@@ -124,24 +105,7 @@ var avatarRoot = function avatarRoot(Root) {
|
|
124
105
|
})), status && /*#__PURE__*/React.createElement(Avatar_styles.StatusIcon, null, /*#__PURE__*/React.createElement(StyledIndicator, {
|
125
106
|
"aria-label": statusLabels[status],
|
126
107
|
status: status
|
127
|
-
}))
|
128
|
-
className: index$1.extraPlacementMap(extraPlacement)
|
129
|
-
}, type === 'counter' ? /*#__PURE__*/React.createElement(Avatar_styles.ExtraCounter, {
|
130
|
-
view: counterView,
|
131
|
-
count: count || 1,
|
132
|
-
maxCount: maxCount
|
133
|
-
}) : avatarSize !== 's' && /*#__PURE__*/React.createElement(Avatar_styles.ExtraBadge, _rollupPluginBabelHelpers.extends({
|
134
|
-
view: badgeView,
|
135
|
-
text: text,
|
136
|
-
customColor: customColor,
|
137
|
-
customBackgroundColor: customBackgroundColor,
|
138
|
-
pilled: pilled,
|
139
|
-
maxWidth: "100%"
|
140
|
-
}, contentLeft ? {
|
141
|
-
contentLeft: contentLeft
|
142
|
-
} : {
|
143
|
-
contentRight: contentRight
|
144
|
-
}))));
|
108
|
+
})));
|
145
109
|
});
|
146
110
|
};
|
147
111
|
var avatarConfig = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Avatar.js","sources":["../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, ReactElement } from 'react';\nimport { styled } from '@linaria/react';\n\nimport { RootProps, component, mergeConfig } from '../../engines';\nimport { cx } from '../../utils';\nimport { indicatorConfig, indicatorTokens } from '../Indicator';\n\nimport { classes, tokens } from './Avatar.tokens';\nimport { base, Wrapper, Image, StatusIcon, Text, ExtraContent, ExtraCounter, ExtraBadge } from './Avatar.styles';\nimport { base as viewCSS } from './variations/_size/base';\nimport { base as focusedCSS } from './variations/_focused/base';\nimport { extraPlacementMap, getInitialsForName } from './utils';\nimport type { AvatarProps, StatusLabels } from './Avatar.types';\n\nconst StatusLabelsDefault: StatusLabels = {\n active: 'Активен',\n inactive: 'Неактивен',\n};\n\nconst getAvatarContent = ({\n customText,\n url,\n initials,\n name,\n}: Omit<AvatarProps, 'size'> & { initials?: string }): ReactElement => {\n if (customText) {\n return <Text>{customText}</Text>;\n }\n\n if (url) {\n return <Image src={url} alt={name} />;\n }\n\n return <Text>{initials}</Text>;\n};\n\nconst getAriaLabel = ({\n url,\n name,\n status,\n 'aria-label': ariaLabelProp,\n statusLabels,\n}: Pick<AvatarProps, 'url' | 'status' | 'name' | 'aria-label'> & {\n statusLabels: StatusLabels;\n}) => {\n if (!url) {\n return;\n }\n\n // INFO: включаем aria-label чтобы озвучить что на изображении\n const ariaLabel = !ariaLabelProp || ariaLabelProp.trim() === '' ? name : ariaLabelProp;\n\n return status ? `${ariaLabel}. ${statusLabels[status]}` : ariaLabel;\n};\n\nconst mergedConfig = mergeConfig(indicatorConfig);\n\nconst Indicator: React.FunctionComponent<\n React.HTMLAttributes<HTMLDivElement> & { status: AvatarProps['status'] }\n> = component(mergedConfig) as never;\n\nconst StyledIndicator = styled(Indicator)`\n ${indicatorTokens.size}: var(${tokens.statusIconSize});\n ${indicatorTokens.color}: ${({ status }) =>\n status === 'active' ? `var(${tokens.statusOnlineColor})` : `var(${tokens.statusOfflineColor})`}\n`;\n\nexport const avatarRoot = (Root: RootProps<HTMLDivElement, AvatarProps>) => {\n return forwardRef<HTMLDivElement, AvatarProps>((props, ref) => {\n const {\n size: avatarSize,\n name,\n url,\n customText,\n status,\n className,\n focused = true,\n isScalable,\n statusLabels = StatusLabelsDefault,\n hasExtra,\n extraPlacement,\n\n type,\n\n counterView,\n count,\n maxCount,\n\n badgeView,\n text,\n customColor,\n customBackgroundColor,\n contentLeft,\n contentRight,\n pilled,\n\n ...rest\n } = props;\n\n const initials = useMemo(() => getInitialsForName(name), [name]);\n const ariaLabel = getAriaLabel({\n ...props,\n statusLabels,\n });\n\n const extraViewProp = type === 'badge' ? { badgeView } : { counterView };\n\n return (\n <Root\n ref={ref}\n size={avatarSize}\n className={cx(classes.avatarItem, className)}\n aria-label={ariaLabel}\n focused={focused}\n {...extraViewProp}\n {...rest}\n >\n <Wrapper isScalable={isScalable}>{getAvatarContent({ customText, url, initials, name })}</Wrapper>\n\n {status && (\n <StatusIcon>\n <StyledIndicator aria-label={statusLabels[status]} status={status} />\n </StatusIcon>\n )}\n\n {hasExtra && avatarSize !== 'fit' && (\n <ExtraContent className={extraPlacementMap(extraPlacement)}>\n {type === 'counter' ? (\n <ExtraCounter view={counterView} count={count || 1} maxCount={maxCount} />\n ) : (\n avatarSize !== 's' && (\n <ExtraBadge\n view={badgeView}\n text={text}\n customColor={customColor}\n customBackgroundColor={customBackgroundColor}\n pilled={pilled}\n maxWidth=\"100%\"\n {...(contentLeft ? { contentLeft } : { contentRight })}\n />\n )\n )}\n </ExtraContent>\n )}\n </Root>\n );\n });\n};\n\nexport const avatarConfig = {\n name: 'Avatar',\n tag: 'div',\n layout: avatarRoot,\n base,\n variations: {\n size: {\n css: viewCSS,\n },\n focused: {\n css: focusedCSS,\n },\n },\n defaults: {\n size: 'm',\n },\n};\n"],"names":["StatusLabelsDefault","active","inactive","getAvatarContent","_ref","customText","url","initials","name","React","createElement","Text","Image","src","alt","getAriaLabel","_ref2","status","ariaLabelProp","statusLabels","ariaLabel","trim","concat","mergedConfig","mergeConfig","indicatorConfig","Indicator","component","_exp","_exp5","_ref3","tokens","statusOnlineColor","statusOfflineColor","StyledIndicator","styled","class","propsAsIs","vars","avatarRoot","Root","forwardRef","props","ref","avatarSize","size","className","_props$focused","focused","isScalable","_props$statusLabels","hasExtra","extraPlacement","type","counterView","count","maxCount","badgeView","text","customColor","customBackgroundColor","contentLeft","contentRight","pilled","rest","_excluded","useMemo","getInitialsForName","_objectSpread","extraViewProp","_extends","cx","classes","avatarItem","Wrapper","StatusIcon","ExtraContent","extraPlacementMap","ExtraCounter","view","ExtraBadge","maxWidth","avatarConfig","tag","layout","base","variations","css","viewCSS","focusedCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Avatar.js","sources":["../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, ReactElement } from 'react';\nimport { styled } from '@linaria/react';\n\nimport { RootProps, component, mergeConfig } from '../../engines';\nimport { cx } from '../../utils';\nimport { indicatorConfig, indicatorTokens } from '../Indicator';\n\nimport { classes, tokens } from './Avatar.tokens';\nimport { base, Wrapper, Image, StatusIcon, Text } from './Avatar.styles';\nimport { base as viewCSS } from './variations/_size/base';\nimport { base as focusedCSS } from './variations/_focused/base';\nimport { getInitialsForName } from './utils';\nimport type { AvatarProps, StatusLabels } from './Avatar.types';\n\nconst StatusLabelsDefault: StatusLabels = {\n active: 'Активен',\n inactive: 'Неактивен',\n};\n\nconst getAvatarContent = ({\n customText,\n url,\n initials,\n name,\n}: Omit<AvatarProps, 'size'> & { initials?: string }): ReactElement => {\n if (customText) {\n return <Text>{customText}</Text>;\n }\n\n if (url) {\n return <Image src={url} alt={name} />;\n }\n\n return <Text>{initials}</Text>;\n};\n\nconst getAriaLabel = ({\n url,\n name,\n status,\n 'aria-label': ariaLabelProp,\n statusLabels,\n}: Pick<AvatarProps, 'url' | 'status' | 'name' | 'aria-label'> & {\n statusLabels: StatusLabels;\n}) => {\n if (!url) {\n return;\n }\n\n // INFO: включаем aria-label чтобы озвучить что на изображении\n const ariaLabel = !ariaLabelProp || ariaLabelProp.trim() === '' ? name : ariaLabelProp;\n\n return status ? `${ariaLabel}. ${statusLabels[status]}` : ariaLabel;\n};\n\nconst mergedConfig = mergeConfig(indicatorConfig);\n\nconst Indicator: React.FunctionComponent<\n React.HTMLAttributes<HTMLDivElement> & { status: AvatarProps['status'] }\n> = component(mergedConfig) as never;\n\nconst StyledIndicator = styled(Indicator)`\n ${indicatorTokens.size}: var(${tokens.statusIconSize});\n ${indicatorTokens.color}: ${({ status }) =>\n status === 'active' ? `var(${tokens.statusOnlineColor})` : `var(${tokens.statusOfflineColor})`}\n`;\n\nexport const avatarRoot = (Root: RootProps<HTMLDivElement, AvatarProps>) => {\n return forwardRef<HTMLDivElement, AvatarProps>((props, ref) => {\n const {\n size: avatarSize,\n name,\n url,\n customText,\n status,\n className,\n focused = true,\n isScalable,\n statusLabels = StatusLabelsDefault,\n ...rest\n } = props;\n\n const initials = useMemo(() => getInitialsForName(name), [name]);\n const ariaLabel = getAriaLabel({\n ...props,\n statusLabels,\n });\n\n return (\n <Root\n ref={ref}\n size={avatarSize}\n className={cx(classes.avatarItem, className)}\n aria-label={ariaLabel}\n focused={focused}\n {...rest}\n >\n <Wrapper isScalable={isScalable}>{getAvatarContent({ customText, url, initials, name })}</Wrapper>\n\n {status && (\n <StatusIcon>\n <StyledIndicator aria-label={statusLabels[status]} status={status} />\n </StatusIcon>\n )}\n </Root>\n );\n });\n};\n\nexport const avatarConfig = {\n name: 'Avatar',\n tag: 'div',\n layout: avatarRoot,\n base,\n variations: {\n size: {\n css: viewCSS,\n },\n focused: {\n css: focusedCSS,\n },\n },\n defaults: {\n size: 'm',\n },\n};\n"],"names":["StatusLabelsDefault","active","inactive","getAvatarContent","_ref","customText","url","initials","name","React","createElement","Text","Image","src","alt","getAriaLabel","_ref2","status","ariaLabelProp","statusLabels","ariaLabel","trim","concat","mergedConfig","mergeConfig","indicatorConfig","Indicator","component","_exp","_exp5","_ref3","tokens","statusOnlineColor","statusOfflineColor","StyledIndicator","styled","class","propsAsIs","vars","avatarRoot","Root","forwardRef","props","ref","avatarSize","size","className","_props$focused","focused","isScalable","_props$statusLabels","rest","_excluded","useMemo","getInitialsForName","_objectSpread","_extends","cx","classes","avatarItem","Wrapper","StatusIcon","avatarConfig","tag","layout","base","variations","css","viewCSS","focusedCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;AAcA,IAAMA,mBAAiC,GAAG;AACtCC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,QAAQ,EAAE,WAAA;AACd,CAAC,CAAA;AAED,IAAMC,gBAAgB,GAAGA,SAAnBA,gBAAgBA,CAAAC,IAAA,EAKiD;AAAA,EAAA,IAJnEC,UAAU,GAAAD,IAAA,CAAVC,UAAU;IACVC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,IAAAA,GAAAA,IAAAA,CAAAA,IAAAA,CAAAA;AAEA,EAAA,IAAIH,UAAU,EAAE;AACZ,IAAA,oBAAOI,KAAA,CAAAC,aAAA,CAACC,kBAAI,EAAA,IAAA,EAAEN,UAAiB,CAAC,CAAA;AACpC,GAAA;AAEA,EAAA,IAAIC,GAAG,EAAE;AACL,IAAA,oBAAOG,KAAA,CAAAC,aAAA,CAACE,mBAAK,EAAA;AAACC,MAAAA,GAAG,EAAEP,GAAI;AAACQ,MAAAA,GAAG,EAAEN,IAAAA;AAAK,KAAG,CAAA,CAAA;AACzC,GAAA;AAEA,EAAA,oBAAOC,KAAA,CAAAC,aAAA,CAACC,kBAAI,EAAA,IAAA,EAAEJ,QAAe,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,IAAMQ,YAAY,GAAGA,SAAfA,YAAYA,CAAAC,KAAA,EAQZ;AAAA,EAAA,IAPFV,GAAG,GAAAU,KAAA,CAAHV,GAAG;IACHE,IAAI,GAAAQ,KAAA,CAAJR,IAAI;IACJS,MAAM,GAAAD,KAAA,CAANC,MAAM;IACQC,aAAa,GAAAF,KAAA,CAA3B,YAAY,CAAA;IACZG,YAAAA,GAAAA,KAAAA,CAAAA,YAAAA,CAAAA;EAIA,IAAI,CAACb,GAAG,EAAE;AACN,IAAA,OAAA;AACJ,GAAA;;AAEA;AACA,EAAA,IAAMc,SAAS,GAAG,CAACF,aAAa,IAAIA,aAAa,CAACG,IAAI,EAAE,KAAK,EAAE,GAAGb,IAAI,GAAGU,aAAa,CAAA;AAEtF,EAAA,OAAOD,MAAM,GAAA,EAAA,CAAAK,MAAA,CAAMF,SAAU,EAAA,IAAA,CAAA,CAAAE,MAAA,CAAIH,YAAY,CAACF,MAAM,CAAE,IAAIG,SAAS,CAAA;AACvE,CAAC,CAAA;AAED,IAAMG,YAAY,gBAAGC,kBAAW,CAACC,2BAAe,CAAC,CAAA;AAEjD,IAAMC,SAEL,gBAAGC,gBAAS,CAACJ,YAAY,CAAU,CAAA;AAAC,IAAAK,IAAA,GA1DnBA,SA0DmBA,IAAAA,GAAA;AAAA,EAAA,OAENF,SAAS,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAG,KAAA,GA5DtBA,SA4DsBA,KAAAA,GAAA;AAAA,EAAA,OAER,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGb,MAAAA,GAAAA,KAAAA,CAAAA,MAAAA,CAAAA;AAAAA,IAAAA,OAC/BA,MAAM,KAAK,QAAQ,GAAA,MAAA,CAAAK,MAAA,CAAUS,oBAAM,CAACC,iBAAkB,gBAAAV,MAAA,CAAYS,oBAAM,CAACE,kBAAmB,EAAE,GAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAHlG,IAAMC,eAAe,gBAAGC,YAAM,CAAAP,IAAA,EAAA,CAAA,CAAA;AAAApB,EAAAA,IAAA,EAAA,iBAAA;AAAA4B,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAEET,KACkE,EAAA,CAAA;AAAA,GAAA;AAAA,CACjG,CAAA,CAAA;IAEYU,UAAU,GAAGA,SAAbA,UAAUA,CAAIC,IAA4C,EAAK;AACxE,EAAA,oBAAOC,gBAAU,CAA8B,UAACC,KAAK,EAAEC,GAAG,EAAK;AAC3D,IAAA,IACUC,UAAU,GAUhBF,KAAK,CAVLG,IAAI;MACJrC,IAAI,GASJkC,KAAK,CATLlC,IAAI;MACJF,GAAG,GAQHoC,KAAK,CARLpC,GAAG;MACHD,UAAU,GAOVqC,KAAK,CAPLrC,UAAU;MACVY,MAAM,GAMNyB,KAAK,CANLzB,MAAM;MACN6B,SAAS,GAKTJ,KAAK,CALLI,SAAS;MAAAC,cAAA,GAKTL,KAAK,CAJLM,OAAO;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,cAAA;MACdE,UAAU,GAGVP,KAAK,CAHLO,UAAU;MAAAC,mBAAA,GAGVR,KAAK,CAFLvB,YAAY;AAAZA,MAAAA,YAAY,GAAA+B,mBAAA,KAAGlD,KAAAA,CAAAA,GAAAA,mBAAmB,GAAAkD,mBAAA;AAC/BC,MAAAA,IAAAA,GAAAA,iDAAAA,CACHT,KAAK,EAAAU,SAAA,CAAA,CAAA;IAET,IAAM7C,QAAQ,GAAG8C,aAAO,CAAC,YAAA;MAAA,OAAMC,qCAAkB,CAAC9C,IAAI,CAAC,CAAA;KAAE,EAAA,CAACA,IAAI,CAAC,CAAC,CAAA;IAChE,IAAMY,SAAS,GAAGL,YAAY,CAAAwC,uCAAA,CAAAA,uCAAA,KACvBb,KAAK,CAAA,EAAA,EAAA,EAAA;AACRvB,MAAAA,YAAAA,EAAAA,YAAAA;AAAAA,KAAAA,CACH,CAAC,CAAA;AAEF,IAAA,oBACIV,KAAA,CAAAC,aAAA,CAAC8B,IAAI,EAAAgB,iCAAA,CAAA;AACDb,MAAAA,GAAG,EAAEA,GAAI;AACTE,MAAAA,IAAI,EAAED,UAAW;MACjBE,SAAS,EAAEW,QAAE,CAACC,qBAAO,CAACC,UAAU,EAAEb,SAAS,CAAE;AAC7C,MAAA,YAAA,EAAY1B,SAAU;AACtB4B,MAAAA,OAAO,EAAEA,OAAAA;AAAQ,KAAA,EACbG,IAAI,CAER1C,eAAAA,KAAA,CAAAC,aAAA,CAACkD,qBAAO,EAAA;AAACX,MAAAA,UAAU,EAAEA,UAAAA;AAAW,KAAA,EAAE9C,gBAAgB,CAAC;AAAEE,MAAAA,UAAU,EAAVA,UAAU;AAAEC,MAAAA,GAAG,EAAHA,GAAG;AAAEC,MAAAA,QAAQ,EAARA,QAAQ;AAAEC,MAAAA,IAAAA,EAAAA,IAAAA;AAAK,KAAC,CAAW,CAAA,EAEhGS,MAAM,iBACHR,KAAA,CAAAC,aAAA,CAACmD,wBAAU,EACPpD,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACwB,eAAe,EAAA;MAAC,YAAYf,EAAAA,YAAY,CAACF,MAAM,CAAE;AAACA,MAAAA,MAAM,EAAEA,MAAAA;KAAO,CAC1D,CAEd,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AACN,EAAC;AAEM,IAAM6C,YAAY,GAAG;AACxBtD,EAAAA,IAAI,EAAE,QAAQ;AACduD,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEzB,UAAU;AAClB0B,EAAAA,IAAI,EAAJA,kBAAI;AACJC,EAAAA,UAAU,EAAE;AACRrB,IAAAA,IAAI,EAAE;AACFsB,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACDpB,IAAAA,OAAO,EAAE;AACLmB,MAAAA,GAAG,EAAEE,WAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNzB,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;;"}
|
@@ -1,18 +1,11 @@
|
|
1
|
-
import './Avatar.
|
1
|
+
import './Avatar.styles_1gd252x.css';
|
2
2
|
'use strict';
|
3
3
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
5
5
|
|
6
6
|
var react = require('@linaria/react');
|
7
7
|
var Avatar_tokens = require('./Avatar.tokens.js');
|
8
|
-
var common = require('../../engines/common.js');
|
9
|
-
var Badge$1 = require('../Badge/Badge.js');
|
10
|
-
var Counter$1 = require('../Counter/Counter.js');
|
11
8
|
|
12
|
-
var mergedBadgeConfig = /*#__PURE__*/common.mergeConfig(Badge$1.badgeConfig);
|
13
|
-
var Badge = /*#__PURE__*/common.component(mergedBadgeConfig);
|
14
|
-
var mergedCounterConfig = /*#__PURE__*/common.mergeConfig(Counter$1.counterConfig);
|
15
|
-
var Counter = /*#__PURE__*/common.component(mergedCounterConfig);
|
16
9
|
var base = "b1d1rtx8";
|
17
10
|
var _exp2 = function _exp2() {
|
18
11
|
return function (_ref) {
|
@@ -50,31 +43,7 @@ var Text = /*#__PURE__*/react.styled('span')({
|
|
50
43
|
"class": "t1kfsxcq",
|
51
44
|
propsAsIs: false
|
52
45
|
});
|
53
|
-
var ExtraContent = /*#__PURE__*/react.styled('div')({
|
54
|
-
name: "ExtraContent",
|
55
|
-
"class": "e1i3umn2",
|
56
|
-
propsAsIs: false
|
57
|
-
});
|
58
|
-
var _exp26 = function _exp26() {
|
59
|
-
return Badge;
|
60
|
-
};
|
61
|
-
var ExtraBadge = /*#__PURE__*/react.styled(_exp26())({
|
62
|
-
name: "ExtraBadge",
|
63
|
-
"class": "eqy70yy",
|
64
|
-
propsAsIs: true
|
65
|
-
});
|
66
|
-
var _exp69 = function _exp69() {
|
67
|
-
return Counter;
|
68
|
-
};
|
69
|
-
var ExtraCounter = /*#__PURE__*/react.styled(_exp69())({
|
70
|
-
name: "ExtraCounter",
|
71
|
-
"class": "e4nvvok",
|
72
|
-
propsAsIs: true
|
73
|
-
});
|
74
46
|
|
75
|
-
exports.ExtraBadge = ExtraBadge;
|
76
|
-
exports.ExtraContent = ExtraContent;
|
77
|
-
exports.ExtraCounter = ExtraCounter;
|
78
47
|
exports.Image = Image;
|
79
48
|
exports.StatusIcon = StatusIcon;
|
80
49
|
exports.Text = Text;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Avatar.styles.js","sources":["../../../src/components/Avatar/Avatar.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport {
|
1
|
+
{"version":3,"file":"Avatar.styles.js","sources":["../../../src/components/Avatar/Avatar.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport { tokens } from './Avatar.tokens';\nimport { AvatarProps } from './Avatar.types';\n\nexport const base = css`\n position: relative;\n`;\n\nexport const Wrapper = styled.div<{ isScalable?: AvatarProps['isScalable'] }>`\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background: var(${tokens.backgroundColor});\n overflow: hidden;\n\n &:hover {\n scale: ${({ isScalable }) => (isScalable ? `var(${tokens.scaleHover})` : '1')};\n cursor: ${({ isScalable }) => (isScalable ? 'pointer' : 'inherit')};\n }\n`;\n\nexport const StatusIcon = styled.div`\n position: absolute;\n top: calc(1.02 * 0.85 * var(${tokens.avatarSize}) - var(${tokens.statusIconSize}) / 2);\n left: calc(1.02 * 0.85 * var(${tokens.avatarSize}) - var(${tokens.statusIconSize}) / 2);\n`;\n\nexport const Image = styled.img`\n width: 100%;\n height: 100%;\n border-radius: 50%;\n`;\n\nexport const Text = styled.span`\n font-size: var(${tokens.fontSize});\n font-family: var(${tokens.fontFamily});\n font-weight: var(${tokens.fontWeight});\n line-height: var(${tokens.lineHeight});\n background-image: var(${tokens.color});\n background-color: var(${tokens.color});\n background-size: 100%;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n`;\n"],"names":["base","_exp2","_ref","isScalable","concat","tokens","scaleHover","_exp3","_ref2","Wrapper","styled","name","class","propsAsIs","vars","StatusIcon","Image","Text"],"mappings":";;;;;;;AAMO,IAAMA,IAAI,GAEhB,WAAA;AAAC,IAAAC,KAAA,GAPgBA,SAOhBA,KAAAA,GAAA;AAAA,EAAA,OAae,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,UAAAA,GAAAA,IAAAA,CAAAA,UAAAA,CAAAA;IAAAA,OAAkBA,UAAU,UAAAC,MAAA,CAAUC,oBAAM,CAACC,UAAW,SAAK,GAAI,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAAA,IAAAC,KAAA,GApBnEA,SAoBmEA,KAAAA,GAAA;AAAA,EAAA,OACnE,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGL,UAAAA,GAAAA,KAAAA,CAAAA,UAAAA,CAAAA;AAAAA,IAAAA,OAAkBA,UAAU,GAAG,SAAS,GAAG,SAAU,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAZnE,IAAMM,OAAO,gBAAGC,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,SAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAWZb,KAAoE,EAAA,CAAA;AAAA,IAAA,WAAA,EAAA,cACnEM,KAAwD,EAAA,CAAA;AAAA,GAAA;AAAA,CAEzE,EAAA;AAEM,IAAMQ,UAAU,gBAAGL,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAI/B,EAAA;AAEM,IAAMG,KAAK,gBAAGN,YAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,OAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAI1B,EAAA;AAEM,IAAMI,IAAI,gBAAGP,YAAM,CAAA,MAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,MAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAUzB;;;;;;;;"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
.b1d1rtx8{position:relative;}
|
2
|
+
.wxwn3we{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;}.wxwn3we:hover{scale:var(--wxwn3we-0);cursor:var(--wxwn3we-1);}
|
3
|
+
.sf2jhi1{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);}
|
4
|
+
.igq6ihg{width:100%;height:100%;border-radius:50%;}
|
5
|
+
.t1kfsxcq{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;}
|
@@ -3,11 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
5
|
var classes = {
|
6
|
-
avatarItem: 'avatar-item'
|
7
|
-
extraPlacementTopRight: 'avatar-extra-placement-top-right',
|
8
|
-
extraPlacementTopLeft: 'avatar-extra-placement-top-left',
|
9
|
-
extraPlacementBottomLeft: 'avatar-extra-placement-bottom-left',
|
10
|
-
extraPlacementBottomRight: 'avatar-extra-placement-bottom-right'
|
6
|
+
avatarItem: 'avatar-item'
|
11
7
|
};
|
12
8
|
var tokens = {
|
13
9
|
avatarSize: '--plasma-avatar-size',
|
@@ -23,42 +19,7 @@ var tokens = {
|
|
23
19
|
outlineColor: '--plasma-avatar-outline-color',
|
24
20
|
outlineSize: '--plasma-avatar-outline-size',
|
25
21
|
outlineOffset: '--plasma-avatar-outline-offset',
|
26
|
-
scaleHover: '--plasma-avatar-scale-hover'
|
27
|
-
extraPlacementFactor: '--plasma-avatar-extra-placement-factor',
|
28
|
-
// extra badge tokens
|
29
|
-
badgeBackground: '--plasma-avatar-extra-badge-background',
|
30
|
-
badgeColor: '--plasma-avatar-extra-badge-color',
|
31
|
-
badgeBackgroundTransparent: '--plasma-avatar-extra-badge-background-transparent',
|
32
|
-
badgeColorTransparent: '--plasma-avatar-extra-badge-color-transparent',
|
33
|
-
badgeColorClear: '--plasma-avatar-extra-badge-color-clear',
|
34
|
-
badgeBackgroundClear: '--plasma-avatar-extra-badge-background-clear',
|
35
|
-
badgeBorderRadius: '--plasma-avatar-extra-badge-border-radius',
|
36
|
-
badgePilledBorderRadius: '--plasma-avatar-extra-badge-pilled-border-radius',
|
37
|
-
badgeHeight: '--plasma-avatar-extra-badge-height',
|
38
|
-
badgePadding: '--plasma-avatar-extra-badge-padding',
|
39
|
-
badgePaddingIconOnly: '--plasma-avatar-extra-badge-padding-icon-only',
|
40
|
-
badgeFontFamily: '--plasma-avatar-extra-badge-font-family',
|
41
|
-
badgeFontSize: '--plasma-avatar-extra-badge-font-size',
|
42
|
-
badgeFontStyle: '--plasma-avatar-extra-badge-font-style',
|
43
|
-
badgeFontWeight: '--plasma-avatar-extra-badge-font-weight',
|
44
|
-
badgeLetterSpacing: '--plasma-avatar-extra-badge-letter-spacing',
|
45
|
-
badgeLineHeight: '--plasma-avatar-extra-badge-lineheight',
|
46
|
-
badgeLeftContentMarginLeft: '--plasma-avatar-extra-badge-left-content-margin-left',
|
47
|
-
badgeLeftContentMarginRight: '--plasma-avatar-extra-badge-left-content-margin-right',
|
48
|
-
badgeRightContentMarginLeft: '--plasma-avatar-extra-badge-right-content-margin-left',
|
49
|
-
badgeRightContentMarginRight: '--plasma-avatar-extra-badge-right-content-margin-right',
|
50
|
-
// extra counter tokens
|
51
|
-
counterBackground: '--plasma-avatar-extra-counter-background',
|
52
|
-
counterColor: '--plasma-avatar-extra-counter-color',
|
53
|
-
counterBorderRadius: '--plasma-avatar-extra-counter-border-radius',
|
54
|
-
counterHeight: '--plasma-avatar-extra-counter-height',
|
55
|
-
counterPadding: '--plasma-avatar-extra-counter-padding',
|
56
|
-
counterFontFamily: '--plasma-avatar-extra-counter-font-family',
|
57
|
-
counterFontSize: '--plasma-avatar-extra-counter-font-size',
|
58
|
-
counterFontStyle: '--plasma-avatar-extra-counter-font-style',
|
59
|
-
counterFontWeight: '--plasma-avatar-extra-counter-font-weight',
|
60
|
-
counterLetterSpacing: '--plasma-avatar-extra-counter-letter-spacing',
|
61
|
-
counterLineHeight: '--plasma-avatar-extra-counter-lineheight'
|
22
|
+
scaleHover: '--plasma-avatar-scale-hover'
|
62
23
|
};
|
63
24
|
|
64
25
|
exports.classes = classes;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Avatar.tokens.js","sources":["../../../src/components/Avatar/Avatar.tokens.ts"],"sourcesContent":["export const classes = {\n avatarItem: 'avatar-item',\n
|
1
|
+
{"version":3,"file":"Avatar.tokens.js","sources":["../../../src/components/Avatar/Avatar.tokens.ts"],"sourcesContent":["export const classes = {\n avatarItem: 'avatar-item',\n};\n\nexport const tokens = {\n avatarSize: '--plasma-avatar-size',\n fontFamily: '--plasma-avatar-font-family',\n fontSize: '--plasma-avatar-font-size',\n color: '--plasma-avatar-color',\n fontWeight: '--plasma-avatar-font-weight',\n lineHeight: '--plasma-avatar-line-height',\n backgroundColor: '--plasma-avatar-background',\n statusIconSize: '--plasma-status-icon-size',\n statusOnlineColor: '--plasma-avatar-status-online-background',\n statusOfflineColor: '--plasma-avatar-status-offline-background',\n outlineColor: '--plasma-avatar-outline-color',\n outlineSize: '--plasma-avatar-outline-size',\n outlineOffset: '--plasma-avatar-outline-offset',\n scaleHover: '--plasma-avatar-scale-hover',\n};\n"],"names":["classes","avatarItem","tokens","avatarSize","fontFamily","fontSize","color","fontWeight","lineHeight","backgroundColor","statusIconSize","statusOnlineColor","statusOfflineColor","outlineColor","outlineSize","outlineOffset","scaleHover"],"mappings":";;;;AAAO,IAAMA,OAAO,GAAG;AACnBC,EAAAA,UAAU,EAAE,aAAA;AAChB,EAAC;AAEM,IAAMC,MAAM,GAAG;AAClBC,EAAAA,UAAU,EAAE,sBAAsB;AAClCC,EAAAA,UAAU,EAAE,6BAA6B;AACzCC,EAAAA,QAAQ,EAAE,2BAA2B;AACrCC,EAAAA,KAAK,EAAE,uBAAuB;AAC9BC,EAAAA,UAAU,EAAE,6BAA6B;AACzCC,EAAAA,UAAU,EAAE,6BAA6B;AACzCC,EAAAA,eAAe,EAAE,4BAA4B;AAC7CC,EAAAA,cAAc,EAAE,2BAA2B;AAC3CC,EAAAA,iBAAiB,EAAE,0CAA0C;AAC7DC,EAAAA,kBAAkB,EAAE,2CAA2C;AAC/DC,EAAAA,YAAY,EAAE,+BAA+B;AAC7CC,EAAAA,WAAW,EAAE,8BAA8B;AAC3CC,EAAAA,aAAa,EAAE,gCAAgC;AAC/CC,EAAAA,UAAU,EAAE,6BAAA;AAChB;;;;;"}
|
@@ -13,6 +13,7 @@ var base$2 = require('./variations/_shape/base.js');
|
|
13
13
|
var base$3 = require('./variations/_background-type/base.js');
|
14
14
|
var base$4 = require('./variations/_segmentation/base.js');
|
15
15
|
var base$5 = require('./variations/_disabled/base.js');
|
16
|
+
var index$1 = require('./utils/index.js');
|
16
17
|
var isNumber = require('../../utils/isNumber.js');
|
17
18
|
var ActionButton = require('./ui/ActionButton/ActionButton.js');
|
18
19
|
var IconMinus = require('../_Icon/Icons/IconMinus.js');
|
@@ -20,7 +21,7 @@ var Input = require('./ui/Input/Input.js');
|
|
20
21
|
var IconPlus = require('../_Icon/Icons/IconPlus.js');
|
21
22
|
var getSizeValueFromProp = require('../../utils/getSizeValueFromProp.js');
|
22
23
|
|
23
|
-
var _excluded = ["className", "style", "width", "value", "min", "max", "step", "isLoading", "loader", "size", "view", "clear", "shape", "segmentation", "inputBackgroundType", "disabled", "textBefore", "textAfter", "customIncrementButton", "incrementIcon", "customDecrementButton", "decrementIcon", "isManualInput", "onChange", "onIncrement", "onDecrement"];
|
24
|
+
var _excluded = ["className", "style", "width", "value", "min", "max", "step", "precision", "isLoading", "loader", "size", "view", "clear", "shape", "segmentation", "inputBackgroundType", "disabled", "textBefore", "textAfter", "customIncrementButton", "incrementIcon", "customDecrementButton", "decrementIcon", "isManualInput", "onChange", "onIncrement", "onDecrement"];
|
24
25
|
var numberInputRoot = function numberInputRoot(Root) {
|
25
26
|
return /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
26
27
|
var _ref2;
|
@@ -32,6 +33,8 @@ var numberInputRoot = function numberInputRoot(Root) {
|
|
32
33
|
max = _ref.max,
|
33
34
|
_ref$step = _ref.step,
|
34
35
|
step = _ref$step === void 0 ? 1 : _ref$step,
|
36
|
+
_ref$precision = _ref.precision,
|
37
|
+
precision = _ref$precision === void 0 ? 2 : _ref$precision,
|
35
38
|
isLoading = _ref.isLoading,
|
36
39
|
loader = _ref.loader,
|
37
40
|
size = _ref.size,
|
@@ -85,7 +88,8 @@ var numberInputRoot = function numberInputRoot(Root) {
|
|
85
88
|
if (isLoading || disabled || isAnimationRun) {
|
86
89
|
return;
|
87
90
|
}
|
88
|
-
var
|
91
|
+
var preciseDiff = index$1.getPreciseValue(Number(innerValue) - step, precision);
|
92
|
+
var diffValue = Number(preciseDiff);
|
89
93
|
var resValue = min !== undefined && diffValue <= min ? min : diffValue;
|
90
94
|
setInnerValue(resValue);
|
91
95
|
if (onDecrement) {
|
@@ -99,7 +103,8 @@ var numberInputRoot = function numberInputRoot(Root) {
|
|
99
103
|
if (isLoading || disabled || isAnimationRun) {
|
100
104
|
return;
|
101
105
|
}
|
102
|
-
var
|
106
|
+
var preciseDiff = index$1.getPreciseValue(Number(innerValue) + step, precision);
|
107
|
+
var diffValue = Number(preciseDiff);
|
103
108
|
var resValue = max !== undefined && diffValue >= max ? max : diffValue;
|
104
109
|
setInnerValue(resValue);
|
105
110
|
if (onIncrement) {
|
@@ -143,6 +148,7 @@ var numberInputRoot = function numberInputRoot(Root) {
|
|
143
148
|
ref: ref,
|
144
149
|
segmentation: segmentation,
|
145
150
|
value: innerValue,
|
151
|
+
precision: precision,
|
146
152
|
min: min,
|
147
153
|
max: max,
|
148
154
|
isManualInput: isManualInput,
|
@@ -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 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","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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"}
|
@@ -14,9 +14,10 @@ var useDidMountEffect = require('../../../../hooks/useDidMountEffect.js');
|
|
14
14
|
var isNumber = require('../../../../utils/isNumber.js');
|
15
15
|
|
16
16
|
var _StyledSpinner;
|
17
|
-
var _excluded = ["value", "min", "max", "isLoading", "loader", "disabled", "segmentation", "textBefore", "textAfter", "isManualInput", "isInputFocused", "setIsInputFocused", "setIsAnimationRun", "setInnerValue", "onChange", "onBlur", "onKeyDown"];
|
17
|
+
var _excluded = ["value", "precision", "min", "max", "isLoading", "loader", "disabled", "segmentation", "textBefore", "textAfter", "isManualInput", "isInputFocused", "setIsInputFocused", "setIsAnimationRun", "setInnerValue", "onChange", "onBlur", "onKeyDown"];
|
18
18
|
var NumberInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
19
19
|
var value = _ref.value,
|
20
|
+
precision = _ref.precision,
|
20
21
|
min = _ref.min,
|
21
22
|
max = _ref.max,
|
22
23
|
isLoading = _ref.isLoading,
|
@@ -82,11 +83,6 @@ var NumberInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
82
83
|
setIsAnimationRun(false);
|
83
84
|
return;
|
84
85
|
}
|
85
|
-
if (String(newValue).endsWith('.')) {
|
86
|
-
setValues(null, Number(newValue));
|
87
|
-
setIsAnimationRun(false);
|
88
|
-
return;
|
89
|
-
}
|
90
86
|
var resValue = Number(newValue);
|
91
87
|
if (max !== undefined && resValue > max) {
|
92
88
|
setErrorClass(NumberInput_tokens.classes.errorAnimation);
|
@@ -98,6 +94,16 @@ var NumberInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
98
94
|
setErrorClass(NumberInput_tokens.classes.errorAnimation);
|
99
95
|
setErrorValue(min);
|
100
96
|
setIsAnimationRun(true);
|
97
|
+
return;
|
98
|
+
}
|
99
|
+
if (String(newValue).endsWith('.')) {
|
100
|
+
setValues(null, Number(newValue));
|
101
|
+
setIsAnimationRun(false);
|
102
|
+
return;
|
103
|
+
}
|
104
|
+
if (precision !== undefined) {
|
105
|
+
var preciseNewValue = Number(index.getPreciseValue(newValue, precision));
|
106
|
+
setValues(null, preciseNewValue);
|
101
107
|
}
|
102
108
|
setIsAnimationRun(false);
|
103
109
|
};
|
@@ -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(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 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 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","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","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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"}
|
@@ -5,8 +5,16 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
var defaultCharacterWidth = '1ch';
|
6
6
|
var numberSchema = /^(-)?\d+(\.\d+)?$/;
|
7
7
|
var excludingNumberSchema = /[^-.\d]/g;
|
8
|
+
var getPreciseValue = function getPreciseValue(value, precision) {
|
9
|
+
var innerValue = String(value);
|
10
|
+
if (precision !== undefined) {
|
11
|
+
return Number(innerValue).toFixed(precision);
|
12
|
+
}
|
13
|
+
return innerValue;
|
14
|
+
};
|
8
15
|
|
9
16
|
exports.defaultCharacterWidth = defaultCharacterWidth;
|
10
17
|
exports.excludingNumberSchema = excludingNumberSchema;
|
18
|
+
exports.getPreciseValue = getPreciseValue;
|
11
19
|
exports.numberSchema = numberSchema;
|
12
20
|
//# sourceMappingURL=index.js.map
|