@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.
Files changed (136) hide show
  1. package/cjs/components/Avatar/Avatar.js +3 -39
  2. package/cjs/components/Avatar/Avatar.js.map +1 -1
  3. package/cjs/components/Avatar/Avatar.styles.js +1 -32
  4. package/cjs/components/Avatar/Avatar.styles.js.map +1 -1
  5. package/cjs/components/Avatar/Avatar.styles_1gd252x.css +5 -0
  6. package/cjs/components/Avatar/Avatar.tokens.js +2 -41
  7. package/cjs/components/Avatar/Avatar.tokens.js.map +1 -1
  8. package/cjs/components/NumberInput/NumberInput.js +10 -3
  9. package/cjs/components/NumberInput/NumberInput.js.map +1 -1
  10. package/cjs/components/NumberInput/ui/Input/Input.js +16 -7
  11. package/cjs/components/NumberInput/ui/Input/Input.js.map +1 -1
  12. package/cjs/components/NumberInput/utils/index.js +10 -0
  13. package/cjs/components/NumberInput/utils/index.js.map +1 -1
  14. package/cjs/index.css +5 -8
  15. package/emotion/cjs/components/Avatar/Avatar.js +4 -39
  16. package/emotion/cjs/components/Avatar/Avatar.styles.js +10 -29
  17. package/emotion/cjs/components/Avatar/Avatar.template-doc.mdx +0 -54
  18. package/emotion/cjs/components/Avatar/Avatar.tokens.js +2 -41
  19. package/emotion/cjs/components/Avatar/utils/index.js +1 -15
  20. package/emotion/cjs/components/NumberInput/NumberInput.js +10 -3
  21. package/emotion/cjs/components/NumberInput/ui/Input/Input.js +16 -7
  22. package/emotion/cjs/components/NumberInput/utils/index.js +11 -2
  23. package/emotion/cjs/examples/plasma_b2c/components/Avatar/Avatar.config.js +7 -25
  24. package/emotion/cjs/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +1 -134
  25. package/emotion/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
  26. package/emotion/cjs/examples/plasma_web/components/Avatar/Avatar.config.js +7 -25
  27. package/emotion/cjs/examples/plasma_web/components/Avatar/Avatar.stories.tsx +1 -134
  28. package/emotion/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
  29. package/emotion/es/components/Avatar/Avatar.js +6 -41
  30. package/emotion/es/components/Avatar/Avatar.styles.js +10 -29
  31. package/emotion/es/components/Avatar/Avatar.template-doc.mdx +0 -54
  32. package/emotion/es/components/Avatar/Avatar.tokens.js +2 -41
  33. package/emotion/es/components/Avatar/utils/index.js +1 -14
  34. package/emotion/es/components/NumberInput/NumberInput.js +10 -3
  35. package/emotion/es/components/NumberInput/ui/Input/Input.js +17 -8
  36. package/emotion/es/components/NumberInput/utils/index.js +10 -1
  37. package/emotion/es/examples/plasma_b2c/components/Avatar/Avatar.config.js +7 -25
  38. package/emotion/es/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +1 -134
  39. package/emotion/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
  40. package/emotion/es/examples/plasma_web/components/Avatar/Avatar.config.js +7 -25
  41. package/emotion/es/examples/plasma_web/components/Avatar/Avatar.stories.tsx +1 -134
  42. package/emotion/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
  43. package/es/components/Avatar/Avatar.js +4 -40
  44. package/es/components/Avatar/Avatar.js.map +1 -1
  45. package/es/components/Avatar/Avatar.styles.js +2 -30
  46. package/es/components/Avatar/Avatar.styles.js.map +1 -1
  47. package/es/components/Avatar/Avatar.styles_1gd252x.css +5 -0
  48. package/es/components/Avatar/Avatar.tokens.js +2 -41
  49. package/es/components/Avatar/Avatar.tokens.js.map +1 -1
  50. package/es/components/NumberInput/NumberInput.js +10 -3
  51. package/es/components/NumberInput/NumberInput.js.map +1 -1
  52. package/es/components/NumberInput/ui/Input/Input.js +17 -8
  53. package/es/components/NumberInput/ui/Input/Input.js.map +1 -1
  54. package/es/components/NumberInput/utils/index.js +10 -1
  55. package/es/components/NumberInput/utils/index.js.map +1 -1
  56. package/es/index.css +5 -8
  57. package/package.json +2 -2
  58. package/styled-components/cjs/components/Avatar/Avatar.js +3 -38
  59. package/styled-components/cjs/components/Avatar/Avatar.styles.js +2 -18
  60. package/styled-components/cjs/components/Avatar/Avatar.template-doc.mdx +0 -54
  61. package/styled-components/cjs/components/Avatar/Avatar.tokens.js +2 -41
  62. package/styled-components/cjs/components/Avatar/utils/index.js +1 -15
  63. package/styled-components/cjs/components/NumberInput/NumberInput.js +10 -3
  64. package/styled-components/cjs/components/NumberInput/ui/Input/Input.js +16 -7
  65. package/styled-components/cjs/components/NumberInput/utils/index.js +11 -2
  66. package/styled-components/cjs/examples/plasma_b2c/components/Avatar/Avatar.config.js +4 -22
  67. package/styled-components/cjs/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +1 -134
  68. package/styled-components/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
  69. package/styled-components/cjs/examples/plasma_web/components/Avatar/Avatar.config.js +4 -22
  70. package/styled-components/cjs/examples/plasma_web/components/Avatar/Avatar.stories.tsx +1 -134
  71. package/styled-components/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
  72. package/styled-components/es/components/Avatar/Avatar.js +5 -40
  73. package/styled-components/es/components/Avatar/Avatar.styles.js +2 -18
  74. package/styled-components/es/components/Avatar/Avatar.template-doc.mdx +0 -54
  75. package/styled-components/es/components/Avatar/Avatar.tokens.js +2 -41
  76. package/styled-components/es/components/Avatar/utils/index.js +1 -14
  77. package/styled-components/es/components/NumberInput/NumberInput.js +10 -3
  78. package/styled-components/es/components/NumberInput/ui/Input/Input.js +17 -8
  79. package/styled-components/es/components/NumberInput/utils/index.js +10 -1
  80. package/styled-components/es/examples/plasma_b2c/components/Avatar/Avatar.config.js +4 -22
  81. package/styled-components/es/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +1 -134
  82. package/styled-components/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
  83. package/styled-components/es/examples/plasma_web/components/Avatar/Avatar.config.js +4 -22
  84. package/styled-components/es/examples/plasma_web/components/Avatar/Avatar.stories.tsx +1 -134
  85. package/styled-components/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
  86. package/types/components/Avatar/Avatar.d.ts +21 -3
  87. package/types/components/Avatar/Avatar.d.ts.map +1 -1
  88. package/types/components/Avatar/Avatar.styles.d.ts +0 -59
  89. package/types/components/Avatar/Avatar.styles.d.ts.map +1 -1
  90. package/types/components/Avatar/Avatar.tokens.d.ts +0 -37
  91. package/types/components/Avatar/Avatar.tokens.d.ts.map +1 -1
  92. package/types/components/Avatar/Avatar.types.d.ts +2 -47
  93. package/types/components/Avatar/Avatar.types.d.ts.map +1 -1
  94. package/types/components/Avatar/utils/index.d.ts +0 -1
  95. package/types/components/Avatar/utils/index.d.ts.map +1 -1
  96. package/types/components/Badge/Badge.types.d.ts +21 -8
  97. package/types/components/Badge/Badge.types.d.ts.map +1 -1
  98. package/types/components/Counter/Counter.d.ts +12 -2
  99. package/types/components/Counter/Counter.d.ts.map +1 -1
  100. package/types/components/Counter/Counter.types.d.ts +2 -1
  101. package/types/components/Counter/Counter.types.d.ts.map +1 -1
  102. package/types/components/NumberInput/NumberInput.d.ts.map +1 -1
  103. package/types/components/NumberInput/NumberInput.types.d.ts +5 -0
  104. package/types/components/NumberInput/NumberInput.types.d.ts.map +1 -1
  105. package/types/components/NumberInput/ui/Input/Input.d.ts +1 -0
  106. package/types/components/NumberInput/ui/Input/Input.d.ts.map +1 -1
  107. package/types/components/NumberInput/ui/Input/Input.types.d.ts +1 -0
  108. package/types/components/NumberInput/ui/Input/Input.types.d.ts.map +1 -1
  109. package/types/components/NumberInput/utils/index.d.ts +1 -0
  110. package/types/components/NumberInput/utils/index.d.ts.map +1 -1
  111. package/types/examples/plasma_b2c/components/Avatar/Avatar.config.d.ts +0 -18
  112. package/types/examples/plasma_b2c/components/Avatar/Avatar.config.d.ts.map +1 -1
  113. package/types/examples/plasma_b2c/components/Avatar/Avatar.d.ts +6 -138
  114. package/types/examples/plasma_b2c/components/Avatar/Avatar.d.ts.map +1 -1
  115. package/types/examples/plasma_b2c/components/Badge/Badge.d.ts +48 -8
  116. package/types/examples/plasma_b2c/components/Badge/Badge.d.ts.map +1 -1
  117. package/types/examples/plasma_b2c/components/Counter/Counter.d.ts +6 -1
  118. package/types/examples/plasma_b2c/components/Counter/Counter.d.ts.map +1 -1
  119. package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts +2 -0
  120. package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts.map +1 -1
  121. package/types/examples/plasma_web/components/Avatar/Avatar.config.d.ts +0 -18
  122. package/types/examples/plasma_web/components/Avatar/Avatar.config.d.ts.map +1 -1
  123. package/types/examples/plasma_web/components/Avatar/Avatar.d.ts +6 -138
  124. package/types/examples/plasma_web/components/Avatar/Avatar.d.ts.map +1 -1
  125. package/types/examples/plasma_web/components/Badge/Badge.d.ts +48 -8
  126. package/types/examples/plasma_web/components/Badge/Badge.d.ts.map +1 -1
  127. package/types/examples/plasma_web/components/Counter/Counter.d.ts +6 -1
  128. package/types/examples/plasma_web/components/Counter/Counter.d.ts.map +1 -1
  129. package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts +2 -0
  130. package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts.map +1 -1
  131. package/cjs/components/Avatar/Avatar.styles_131qvfx.css +0 -8
  132. package/cjs/components/Avatar/utils/index.js +0 -21
  133. package/cjs/components/Avatar/utils/index.js.map +0 -1
  134. package/es/components/Avatar/Avatar.styles_131qvfx.css +0 -8
  135. package/es/components/Avatar/utils/index.js +0 -17
  136. 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", "hasExtra", "extraPlacement", "type", "counterView", "count", "maxCount", "badgeView", "text", "customColor", "customBackgroundColor", "contentLeft", "contentRight", "pilled"];
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
- }, extraViewProp, rest), /*#__PURE__*/React.createElement(Avatar_styles.Wrapper, {
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
- })), hasExtra && avatarSize !== 'fit' && /*#__PURE__*/React.createElement(Avatar_styles.ExtraContent, {
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":"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"}
@@ -1,18 +1,11 @@
1
- import './Avatar.styles_131qvfx.css';
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 { component, mergeConfig } from '../../engines';\nimport { badgeConfig, badgeTokens } from '../Badge';\nimport { counterConfig, counterTokens } from '../Counter';\n\nimport { classes, tokens } from './Avatar.tokens';\nimport { AvatarProps } from './Avatar.types';\n\nconst mergedBadgeConfig = mergeConfig(badgeConfig);\nconst Badge = component(mergedBadgeConfig);\n\nconst mergedCounterConfig = mergeConfig(counterConfig);\nconst Counter = component(mergedCounterConfig);\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\nexport const ExtraContent = styled.div`\n max-width: 100%;\n display: flex;\n\n position: absolute;\n z-index: 2;\n\n &.${classes.extraPlacementTopLeft} {\n top: calc(-0.063rem * var(${tokens.extraPlacementFactor}, 0));\n left: calc(-0.063rem * var(${tokens.extraPlacementFactor}, 0));\n }\n\n &.${classes.extraPlacementTopRight} {\n top: calc(-0.063rem * var(${tokens.extraPlacementFactor}, 0));\n right: calc(-0.063rem * var(${tokens.extraPlacementFactor}, 0));\n }\n\n &.${classes.extraPlacementBottomRight} {\n bottom: calc(-0.063rem * var(${tokens.extraPlacementFactor}, 0));\n right: calc(-0.063rem * var(${tokens.extraPlacementFactor}, 0));\n }\n\n &.${classes.extraPlacementBottomLeft} {\n bottom: calc(-0.063rem * var(${tokens.extraPlacementFactor}, 0));\n left: calc(-0.063rem * var(${tokens.extraPlacementFactor}, 0));\n }\n`;\n\nexport const ExtraBadge = styled(Badge)`\n ${badgeTokens.background}: var(${tokens.badgeBackground});\n ${badgeTokens.color}: var(${tokens.badgeColor});\n ${badgeTokens.backgroundTransparent}: var(${tokens.badgeBackgroundTransparent});\n ${badgeTokens.colorTransparent}: var(${tokens.badgeColorTransparent});\n ${badgeTokens.colorClear}: var(${tokens.badgeColorClear});\n ${badgeTokens.backgroundClear}: var(${tokens.badgeBackgroundClear});\n ${badgeTokens.borderRadius}: var(${tokens.badgeBorderRadius});\n ${badgeTokens.pilledBorderRadius}: var(${tokens.badgePilledBorderRadius});\n ${badgeTokens.height}: var(${tokens.badgeHeight});\n ${badgeTokens.padding}: var(${tokens.badgePadding});\n ${badgeTokens.paddingIconOnly}: var(${tokens.badgePaddingIconOnly});\n ${badgeTokens.fontFamily}: var(${tokens.badgeFontFamily});\n ${badgeTokens.fontSize}: var(${tokens.badgeFontSize});\n ${badgeTokens.fontStyle}: var(${tokens.badgeFontStyle});\n ${badgeTokens.fontWeight}: var(${tokens.badgeFontWeight});\n ${badgeTokens.letterSpacing}: var(${tokens.badgeLetterSpacing});\n ${badgeTokens.lineHeight}: var(${tokens.badgeLineHeight});\n ${badgeTokens.leftContentMarginLeft}: var(${tokens.badgeLeftContentMarginLeft});\n ${badgeTokens.leftContentMarginRight}: var(${tokens.badgeLeftContentMarginRight});\n ${badgeTokens.rightContentMarginLeft}: var(${tokens.badgeRightContentMarginLeft});\n ${badgeTokens.rightContentMarginRight}: var(${tokens.badgeRightContentMarginRight});\n`;\n\nexport const ExtraCounter = styled(Counter)`\n ${counterTokens.background}: var(${tokens.counterBackground});\n ${counterTokens.color}: var(${tokens.counterColor});\n ${counterTokens.borderRadius}: var(${tokens.counterBorderRadius});\n ${counterTokens.height}: var(${tokens.counterHeight});\n ${counterTokens.padding}: var(${tokens.counterPadding});\n ${counterTokens.fontFamily}: var(${tokens.counterFontFamily});\n ${counterTokens.fontSize}: var(${tokens.counterFontSize});\n ${counterTokens.fontStyle}: var(${tokens.counterFontStyle});\n ${counterTokens.fontWeight}: var(${tokens.counterFontWeight});\n ${counterTokens.letterSpacing}: var(${tokens.counterLetterSpacing});\n ${counterTokens.lineHeight}: var(${tokens.counterLineHeight});\n`;\n"],"names":["mergedBadgeConfig","mergeConfig","badgeConfig","Badge","component","mergedCounterConfig","counterConfig","Counter","base","_exp2","_ref","isScalable","concat","tokens","scaleHover","_exp3","_ref2","Wrapper","styled","name","class","propsAsIs","vars","StatusIcon","Image","Text","ExtraContent","_exp26","ExtraBadge","_exp69","ExtraCounter"],"mappings":"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"}
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 extraPlacementTopRight: 'avatar-extra-placement-top-right',\n extraPlacementTopLeft: 'avatar-extra-placement-top-left',\n extraPlacementBottomLeft: 'avatar-extra-placement-bottom-left',\n extraPlacementBottomRight: 'avatar-extra-placement-bottom-right',\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 extraPlacementFactor: '--plasma-avatar-extra-placement-factor',\n\n // extra badge tokens\n badgeBackground: '--plasma-avatar-extra-badge-background',\n badgeColor: '--plasma-avatar-extra-badge-color',\n badgeBackgroundTransparent: '--plasma-avatar-extra-badge-background-transparent',\n badgeColorTransparent: '--plasma-avatar-extra-badge-color-transparent',\n badgeColorClear: '--plasma-avatar-extra-badge-color-clear',\n badgeBackgroundClear: '--plasma-avatar-extra-badge-background-clear',\n\n badgeBorderRadius: '--plasma-avatar-extra-badge-border-radius',\n badgePilledBorderRadius: '--plasma-avatar-extra-badge-pilled-border-radius',\n badgeHeight: '--plasma-avatar-extra-badge-height',\n badgePadding: '--plasma-avatar-extra-badge-padding',\n badgePaddingIconOnly: '--plasma-avatar-extra-badge-padding-icon-only',\n\n badgeFontFamily: '--plasma-avatar-extra-badge-font-family',\n badgeFontSize: '--plasma-avatar-extra-badge-font-size',\n badgeFontStyle: '--plasma-avatar-extra-badge-font-style',\n badgeFontWeight: '--plasma-avatar-extra-badge-font-weight',\n badgeLetterSpacing: '--plasma-avatar-extra-badge-letter-spacing',\n badgeLineHeight: '--plasma-avatar-extra-badge-lineheight',\n\n badgeLeftContentMarginLeft: '--plasma-avatar-extra-badge-left-content-margin-left',\n badgeLeftContentMarginRight: '--plasma-avatar-extra-badge-left-content-margin-right',\n badgeRightContentMarginLeft: '--plasma-avatar-extra-badge-right-content-margin-left',\n badgeRightContentMarginRight: '--plasma-avatar-extra-badge-right-content-margin-right',\n\n // extra counter tokens\n counterBackground: '--plasma-avatar-extra-counter-background',\n counterColor: '--plasma-avatar-extra-counter-color',\n\n counterBorderRadius: '--plasma-avatar-extra-counter-border-radius',\n counterHeight: '--plasma-avatar-extra-counter-height',\n counterPadding: '--plasma-avatar-extra-counter-padding',\n\n counterFontFamily: '--plasma-avatar-extra-counter-font-family',\n counterFontSize: '--plasma-avatar-extra-counter-font-size',\n counterFontStyle: '--plasma-avatar-extra-counter-font-style',\n counterFontWeight: '--plasma-avatar-extra-counter-font-weight',\n counterLetterSpacing: '--plasma-avatar-extra-counter-letter-spacing',\n counterLineHeight: '--plasma-avatar-extra-counter-lineheight',\n};\n"],"names":["classes","avatarItem","extraPlacementTopRight","extraPlacementTopLeft","extraPlacementBottomLeft","extraPlacementBottomRight","tokens","avatarSize","fontFamily","fontSize","color","fontWeight","lineHeight","backgroundColor","statusIconSize","statusOnlineColor","statusOfflineColor","outlineColor","outlineSize","outlineOffset","scaleHover","extraPlacementFactor","badgeBackground","badgeColor","badgeBackgroundTransparent","badgeColorTransparent","badgeColorClear","badgeBackgroundClear","badgeBorderRadius","badgePilledBorderRadius","badgeHeight","badgePadding","badgePaddingIconOnly","badgeFontFamily","badgeFontSize","badgeFontStyle","badgeFontWeight","badgeLetterSpacing","badgeLineHeight","badgeLeftContentMarginLeft","badgeLeftContentMarginRight","badgeRightContentMarginLeft","badgeRightContentMarginRight","counterBackground","counterColor","counterBorderRadius","counterHeight","counterPadding","counterFontFamily","counterFontSize","counterFontStyle","counterFontWeight","counterLetterSpacing","counterLineHeight"],"mappings":";;;;AAAO,IAAMA,OAAO,GAAG;AACnBC,EAAAA,UAAU,EAAE,aAAa;AACzBC,EAAAA,sBAAsB,EAAE,kCAAkC;AAC1DC,EAAAA,qBAAqB,EAAE,iCAAiC;AACxDC,EAAAA,wBAAwB,EAAE,oCAAoC;AAC9DC,EAAAA,yBAAyB,EAAE,qCAAA;AAC/B,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,6BAA6B;AACzCC,EAAAA,oBAAoB,EAAE,wCAAwC;AAE9D;AACAC,EAAAA,eAAe,EAAE,wCAAwC;AACzDC,EAAAA,UAAU,EAAE,mCAAmC;AAC/CC,EAAAA,0BAA0B,EAAE,oDAAoD;AAChFC,EAAAA,qBAAqB,EAAE,+CAA+C;AACtEC,EAAAA,eAAe,EAAE,yCAAyC;AAC1DC,EAAAA,oBAAoB,EAAE,8CAA8C;AAEpEC,EAAAA,iBAAiB,EAAE,2CAA2C;AAC9DC,EAAAA,uBAAuB,EAAE,kDAAkD;AAC3EC,EAAAA,WAAW,EAAE,oCAAoC;AACjDC,EAAAA,YAAY,EAAE,qCAAqC;AACnDC,EAAAA,oBAAoB,EAAE,+CAA+C;AAErEC,EAAAA,eAAe,EAAE,yCAAyC;AAC1DC,EAAAA,aAAa,EAAE,uCAAuC;AACtDC,EAAAA,cAAc,EAAE,wCAAwC;AACxDC,EAAAA,eAAe,EAAE,yCAAyC;AAC1DC,EAAAA,kBAAkB,EAAE,4CAA4C;AAChEC,EAAAA,eAAe,EAAE,wCAAwC;AAEzDC,EAAAA,0BAA0B,EAAE,sDAAsD;AAClFC,EAAAA,2BAA2B,EAAE,uDAAuD;AACpFC,EAAAA,2BAA2B,EAAE,uDAAuD;AACpFC,EAAAA,4BAA4B,EAAE,wDAAwD;AAEtF;AACAC,EAAAA,iBAAiB,EAAE,0CAA0C;AAC7DC,EAAAA,YAAY,EAAE,qCAAqC;AAEnDC,EAAAA,mBAAmB,EAAE,6CAA6C;AAClEC,EAAAA,aAAa,EAAE,sCAAsC;AACrDC,EAAAA,cAAc,EAAE,uCAAuC;AAEvDC,EAAAA,iBAAiB,EAAE,2CAA2C;AAC9DC,EAAAA,eAAe,EAAE,yCAAyC;AAC1DC,EAAAA,gBAAgB,EAAE,0CAA0C;AAC5DC,EAAAA,iBAAiB,EAAE,2CAA2C;AAC9DC,EAAAA,oBAAoB,EAAE,8CAA8C;AACpEC,EAAAA,iBAAiB,EAAE,0CAAA;AACvB;;;;;"}
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,
@@ -65,6 +68,7 @@ var numberInputRoot = function numberInputRoot(Root) {
65
68
  _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
66
69
  isAnimationRun = _useState6[0],
67
70
  setIsAnimationRun = _useState6[1];
71
+ console.log('innerValue', innerValue);
68
72
  var innerWidth = width ? getSizeValueFromProp.getSizeValueFromProp(width) : '100%';
69
73
  var actionIconSize = size === 'xs' ? 'xs' : 's';
70
74
  var solidViewClass = segmentation === 'solid' ? NumberInput_tokens.classes.solidView : undefined;
@@ -85,7 +89,8 @@ var numberInputRoot = function numberInputRoot(Root) {
85
89
  if (isLoading || disabled || isAnimationRun) {
86
90
  return;
87
91
  }
88
- var diffValue = Number(innerValue) - step;
92
+ var preciseDiff = index$1.getPreciseValue(Number(innerValue) - step, precision);
93
+ var diffValue = Number(preciseDiff);
89
94
  var resValue = min !== undefined && diffValue <= min ? min : diffValue;
90
95
  setInnerValue(resValue);
91
96
  if (onDecrement) {
@@ -99,7 +104,8 @@ var numberInputRoot = function numberInputRoot(Root) {
99
104
  if (isLoading || disabled || isAnimationRun) {
100
105
  return;
101
106
  }
102
- var diffValue = Number(innerValue) + step;
107
+ var preciseDiff = index$1.getPreciseValue(Number(innerValue) + step, precision);
108
+ var diffValue = Number(preciseDiff);
103
109
  var resValue = max !== undefined && diffValue >= max ? max : diffValue;
104
110
  setInnerValue(resValue);
105
111
  if (onIncrement) {
@@ -143,6 +149,7 @@ var numberInputRoot = function numberInputRoot(Root) {
143
149
  ref: ref,
144
150
  segmentation: segmentation,
145
151
  value: innerValue,
152
+ precision: precision,
146
153
  min: min,
147
154
  max: max,
148
155
  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 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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"}
@@ -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
  };
@@ -123,15 +129,18 @@ var NumberInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
123
129
  }
124
130
  return;
125
131
  }
132
+ console.log('here');
126
133
  var isValid = index.numberSchema.test(cleanValue);
127
134
  if (!isValid) {
135
+ console.log('not valid', cleanValue);
128
136
  setValues(event, lastValidValue);
129
137
  return;
130
138
  }
139
+ console.log('valid!', cleanValue);
131
140
  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)) {
132
141
  wrapperRef.current.scrollLeft = textWrapperRef.current.offsetWidth - textWrapperRef.current.offsetLeft || 0;
133
142
  }
134
- setValues(event, Number(cleanValue));
143
+ setValues(event, cleanValue);
135
144
  };
136
145
  var handleClickInputWrapper = function handleClickInputWrapper() {
137
146
  if (!isManualInput || !inputRef.current) {