@salutejs/plasma-new-hope 0.240.1-canary.1705.12809393515.0 → 0.241.0-canary.1696.12814018283.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 (130) hide show
  1. package/cjs/components/Avatar/Avatar.js +40 -3
  2. package/cjs/components/Avatar/Avatar.js.map +1 -1
  3. package/cjs/components/Avatar/Avatar.styles.js +32 -1
  4. package/cjs/components/Avatar/Avatar.styles.js.map +1 -1
  5. package/cjs/components/Avatar/Avatar.styles_131qvfx.css +8 -0
  6. package/cjs/components/Avatar/Avatar.tokens.js +41 -2
  7. package/cjs/components/Avatar/Avatar.tokens.js.map +1 -1
  8. package/cjs/components/Avatar/utils/index.js +21 -0
  9. package/cjs/components/Avatar/utils/index.js.map +1 -0
  10. package/cjs/components/Combobox/ComboboxOld/Combobox.css +6 -6
  11. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +6 -6
  12. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +6 -6
  13. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +6 -6
  14. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +6 -6
  15. package/cjs/components/Dropdown/Dropdown.css +6 -6
  16. package/cjs/components/Dropdown/Dropdown.tokens.js +0 -1
  17. package/cjs/components/Dropdown/Dropdown.tokens.js.map +1 -1
  18. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.css +6 -6
  19. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.css +6 -6
  20. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +13 -13
  21. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  22. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_z6xd28.css +7 -0
  23. package/cjs/index.css +14 -11
  24. package/emotion/cjs/components/Avatar/Avatar.js +40 -4
  25. package/emotion/cjs/components/Avatar/Avatar.styles.js +29 -10
  26. package/emotion/cjs/components/Avatar/Avatar.template-doc.mdx +54 -0
  27. package/emotion/cjs/components/Avatar/Avatar.tokens.js +41 -2
  28. package/emotion/cjs/components/Avatar/utils/index.js +15 -1
  29. package/emotion/cjs/components/Dropdown/Dropdown.tokens.js +0 -1
  30. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +9 -9
  31. package/emotion/cjs/examples/plasma_b2c/components/Avatar/Avatar.config.js +25 -7
  32. package/emotion/cjs/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +134 -1
  33. package/emotion/cjs/examples/plasma_web/components/Avatar/Avatar.config.js +25 -7
  34. package/emotion/cjs/examples/plasma_web/components/Avatar/Avatar.stories.tsx +134 -1
  35. package/emotion/es/components/Avatar/Avatar.js +42 -6
  36. package/emotion/es/components/Avatar/Avatar.styles.js +29 -10
  37. package/emotion/es/components/Avatar/Avatar.template-doc.mdx +54 -0
  38. package/emotion/es/components/Avatar/Avatar.tokens.js +41 -2
  39. package/emotion/es/components/Avatar/utils/index.js +14 -1
  40. package/emotion/es/components/Dropdown/Dropdown.tokens.js +0 -1
  41. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +9 -9
  42. package/emotion/es/examples/plasma_b2c/components/Avatar/Avatar.config.js +25 -7
  43. package/emotion/es/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +134 -1
  44. package/emotion/es/examples/plasma_web/components/Avatar/Avatar.config.js +25 -7
  45. package/emotion/es/examples/plasma_web/components/Avatar/Avatar.stories.tsx +134 -1
  46. package/es/components/Avatar/Avatar.js +41 -4
  47. package/es/components/Avatar/Avatar.js.map +1 -1
  48. package/es/components/Avatar/Avatar.styles.js +30 -2
  49. package/es/components/Avatar/Avatar.styles.js.map +1 -1
  50. package/es/components/Avatar/Avatar.styles_131qvfx.css +8 -0
  51. package/es/components/Avatar/Avatar.tokens.js +41 -2
  52. package/es/components/Avatar/Avatar.tokens.js.map +1 -1
  53. package/es/components/Avatar/utils/index.js +17 -0
  54. package/es/components/Avatar/utils/index.js.map +1 -0
  55. package/es/components/Combobox/ComboboxOld/Combobox.css +6 -6
  56. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +6 -6
  57. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +6 -6
  58. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +6 -6
  59. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +6 -6
  60. package/es/components/Dropdown/Dropdown.css +6 -6
  61. package/es/components/Dropdown/Dropdown.tokens.js +0 -1
  62. package/es/components/Dropdown/Dropdown.tokens.js.map +1 -1
  63. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.css +6 -6
  64. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.css +6 -6
  65. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +13 -13
  66. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  67. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_z6xd28.css +7 -0
  68. package/es/index.css +14 -11
  69. package/package.json +2 -2
  70. package/styled-components/cjs/components/Avatar/Avatar.js +39 -3
  71. package/styled-components/cjs/components/Avatar/Avatar.styles.js +18 -2
  72. package/styled-components/cjs/components/Avatar/Avatar.template-doc.mdx +54 -0
  73. package/styled-components/cjs/components/Avatar/Avatar.tokens.js +41 -2
  74. package/styled-components/cjs/components/Avatar/utils/index.js +15 -1
  75. package/styled-components/cjs/components/Dropdown/Dropdown.tokens.js +0 -1
  76. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +4 -4
  77. package/styled-components/cjs/examples/plasma_b2c/components/Avatar/Avatar.config.js +22 -4
  78. package/styled-components/cjs/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +134 -1
  79. package/styled-components/cjs/examples/plasma_web/components/Avatar/Avatar.config.js +22 -4
  80. package/styled-components/cjs/examples/plasma_web/components/Avatar/Avatar.stories.tsx +134 -1
  81. package/styled-components/es/components/Avatar/Avatar.js +41 -5
  82. package/styled-components/es/components/Avatar/Avatar.styles.js +18 -2
  83. package/styled-components/es/components/Avatar/Avatar.template-doc.mdx +54 -0
  84. package/styled-components/es/components/Avatar/Avatar.tokens.js +41 -2
  85. package/styled-components/es/components/Avatar/utils/index.js +14 -1
  86. package/styled-components/es/components/Dropdown/Dropdown.tokens.js +0 -1
  87. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +4 -4
  88. package/styled-components/es/examples/plasma_b2c/components/Avatar/Avatar.config.js +22 -4
  89. package/styled-components/es/examples/plasma_b2c/components/Avatar/Avatar.stories.tsx +134 -1
  90. package/styled-components/es/examples/plasma_web/components/Avatar/Avatar.config.js +22 -4
  91. package/styled-components/es/examples/plasma_web/components/Avatar/Avatar.stories.tsx +134 -1
  92. package/types/components/Avatar/Avatar.d.ts +3 -21
  93. package/types/components/Avatar/Avatar.d.ts.map +1 -1
  94. package/types/components/Avatar/Avatar.styles.d.ts +59 -0
  95. package/types/components/Avatar/Avatar.styles.d.ts.map +1 -1
  96. package/types/components/Avatar/Avatar.tokens.d.ts +37 -0
  97. package/types/components/Avatar/Avatar.tokens.d.ts.map +1 -1
  98. package/types/components/Avatar/Avatar.types.d.ts +47 -2
  99. package/types/components/Avatar/Avatar.types.d.ts.map +1 -1
  100. package/types/components/Avatar/utils/index.d.ts +1 -0
  101. package/types/components/Avatar/utils/index.d.ts.map +1 -1
  102. package/types/components/Badge/Badge.types.d.ts +8 -21
  103. package/types/components/Badge/Badge.types.d.ts.map +1 -1
  104. package/types/components/Counter/Counter.d.ts +2 -12
  105. package/types/components/Counter/Counter.d.ts.map +1 -1
  106. package/types/components/Counter/Counter.types.d.ts +1 -2
  107. package/types/components/Counter/Counter.types.d.ts.map +1 -1
  108. package/types/components/Dropdown/Dropdown.tokens.d.ts +0 -1
  109. package/types/components/Dropdown/Dropdown.tokens.d.ts.map +1 -1
  110. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts.map +1 -1
  111. package/types/examples/plasma_b2c/components/Avatar/Avatar.config.d.ts +18 -0
  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 +138 -6
  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 +8 -48
  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 +1 -6
  118. package/types/examples/plasma_b2c/components/Counter/Counter.d.ts.map +1 -1
  119. package/types/examples/plasma_web/components/Avatar/Avatar.config.d.ts +18 -0
  120. package/types/examples/plasma_web/components/Avatar/Avatar.config.d.ts.map +1 -1
  121. package/types/examples/plasma_web/components/Avatar/Avatar.d.ts +138 -6
  122. package/types/examples/plasma_web/components/Avatar/Avatar.d.ts.map +1 -1
  123. package/types/examples/plasma_web/components/Badge/Badge.d.ts +8 -48
  124. package/types/examples/plasma_web/components/Badge/Badge.d.ts.map +1 -1
  125. package/types/examples/plasma_web/components/Counter/Counter.d.ts +1 -6
  126. package/types/examples/plasma_web/components/Counter/Counter.d.ts.map +1 -1
  127. package/cjs/components/Avatar/Avatar.styles_1gd252x.css +0 -5
  128. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1lp7sqa.css +0 -7
  129. package/es/components/Avatar/Avatar.styles_1gd252x.css +0 -5
  130. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles_1lp7sqa.css +0 -7
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import type { ComponentProps } from 'react';
2
3
  import type { StoryObj, Meta } from '@storybook/react';
3
4
  import { disableProps } from '@salutejs/plasma-sb-utils';
@@ -6,6 +7,11 @@ import { argTypesFromConfig, WithTheme } from '../../../_helpers';
6
7
 
7
8
  import { Avatar, mergedConfig } from './Avatar';
8
9
 
10
+ const extraPlacements = ['top-left', 'top-right', 'bottom-left', 'bottom-right'];
11
+ const extraType = ['', 'badge', 'counter'];
12
+ const counterViews = ['default', 'accent', 'positive', 'warning', 'negative', 'dark', 'light'];
13
+ const badgeViews = ['default', 'accent', 'positive', 'warning', 'negative', 'dark', 'light'];
14
+
9
15
  const meta: Meta<typeof Avatar> = {
10
16
  title: 'web/Data Display/Avatar',
11
17
  decorators: [WithTheme],
@@ -13,12 +19,69 @@ const meta: Meta<typeof Avatar> = {
13
19
  argTypes: {
14
20
  ...argTypesFromConfig(mergedConfig),
15
21
  status: { control: 'select', options: ['active', 'inactive'] },
22
+ type: {
23
+ control: 'select',
24
+ options: extraType,
25
+ if: { arg: 'hasExtra', truthy: true },
26
+ },
27
+ extraPlacement: {
28
+ control: 'select',
29
+ options: extraPlacements,
30
+ if: { arg: 'hasExtra', truthy: true },
31
+ },
32
+ counterView: {
33
+ control: 'select',
34
+ options: counterViews,
35
+ if: { arg: 'type', eq: 'counter' },
36
+ },
37
+ count: {
38
+ control: 'number',
39
+ if: { arg: 'type', eq: 'counter' },
40
+ },
41
+ maxCount: {
42
+ control: 'number',
43
+ if: { arg: 'type', eq: 'counter' },
44
+ },
45
+ badgeView: {
46
+ control: 'select',
47
+ options: badgeViews,
48
+ if: { arg: 'type', eq: 'badge' },
49
+ },
50
+ text: {
51
+ control: 'text',
52
+ if: { arg: 'type', eq: 'badge' },
53
+ },
54
+ customColor: {
55
+ control: 'color',
56
+ if: { arg: 'type', eq: 'badge' },
57
+ },
58
+ customBackgroundColor: {
59
+ control: 'color',
60
+ if: { arg: 'type', eq: 'badge' },
61
+ },
62
+ pilled: {
63
+ control: 'boolean',
64
+ if: { arg: 'type', eq: 'badge' },
65
+ },
16
66
  },
17
67
  };
18
68
 
19
69
  export default meta;
20
70
 
21
- type Story = StoryObj<ComponentProps<typeof Avatar>>;
71
+ type StoryProps = ComponentProps<typeof Avatar> & {
72
+ enableContentLeft: boolean;
73
+ enableContentRight: boolean;
74
+ };
75
+ type Story = StoryObj<StoryProps>;
76
+
77
+ const BellIcon = (props) => (
78
+ <svg width="100%" viewBox="0 0 24 24" fill="none" {...props}>
79
+ <path
80
+ d="M11.501 21.28c1.088 0 1.978-.889 1.978-1.977H9.524c0 1.088.88 1.978 1.977 1.978zm5.933-5.932v-4.944c0-3.035-1.622-5.576-4.45-6.248v-.673c0-.82-.662-1.483-1.483-1.483-.82 0-1.483.662-1.483 1.483v.672c-2.838.673-4.45 3.204-4.45 6.25v4.943l-1.275 1.276c-.623.623-.188 1.69.692 1.69h13.022c.88 0 1.325-1.067.702-1.69l-1.275-1.276z"
81
+ fill="currentColor"
82
+ />
83
+ </svg>
84
+ );
22
85
 
23
86
  export const Default: Story = {
24
87
  args: {
@@ -27,10 +90,56 @@ export const Default: Story = {
27
90
  name: 'Иван Фадеев',
28
91
  url: 'https://avatars.githubusercontent.com/u/1813468?v=4',
29
92
  isScalable: false,
93
+ hasExtra: false,
94
+ extraPlacement: 'top-right',
95
+ type: undefined,
96
+ counterView: 'accent',
97
+ count: 3,
98
+ maxCount: 10,
99
+ badgeView: 'accent',
100
+ text: '31',
101
+ pilled: true,
102
+ enableContentLeft: false,
103
+ enableContentRight: false,
30
104
  },
31
105
  argTypes: {
106
+ enableContentLeft: {
107
+ control: { type: 'boolean' },
108
+ if: { arg: 'type', eq: 'badge' },
109
+ },
110
+ enableContentRight: {
111
+ control: { type: 'boolean' },
112
+ if: { arg: 'type', eq: 'badge' },
113
+ },
32
114
  ...disableProps(['focused']),
33
115
  },
116
+ render: ({ enableContentLeft, enableContentRight, size, ...rest }: StoryProps) => {
117
+ const iconSize = () => {
118
+ switch (size) {
119
+ case 'xxl':
120
+ return '1rem';
121
+ case 'm':
122
+ return '0.625rem';
123
+ default:
124
+ return '0.75rem';
125
+ }
126
+ };
127
+
128
+ return (
129
+ <>
130
+ <Avatar
131
+ contentLeft={enableContentLeft ? <BellIcon width={iconSize()} height={iconSize()} /> : undefined}
132
+ contentRight={
133
+ !enableContentLeft && enableContentRight ? (
134
+ <BellIcon width={iconSize()} height={iconSize()} />
135
+ ) : undefined
136
+ }
137
+ size={size}
138
+ {...rest}
139
+ />
140
+ </>
141
+ );
142
+ },
34
143
  };
35
144
 
36
145
  export const Accessibility: Story = {
@@ -42,6 +151,14 @@ export const Accessibility: Story = {
42
151
  size: 'xxl',
43
152
  status: 'active',
44
153
  focused: true,
154
+ hasExtra: false,
155
+ extraPlacement: 'top-right',
156
+ type: undefined,
157
+ counterView: 'accent',
158
+ count: 3,
159
+ maxCount: 10,
160
+ badgeView: 'accent',
161
+ text: '31',
45
162
  },
46
163
  };
47
164
 
@@ -55,6 +172,14 @@ export const AccessibilityWithURL: Story = {
55
172
  focused: true,
56
173
  name: 'Микула Селянинович',
57
174
  url: 'https://avatars.githubusercontent.com/u/1813468?v=4',
175
+ hasExtra: false,
176
+ extraPlacement: 'top-right',
177
+ type: undefined,
178
+ counterView: 'accent',
179
+ count: 3,
180
+ maxCount: 10,
181
+ badgeView: 'accent',
182
+ text: '31',
58
183
  },
59
184
  };
60
185
 
@@ -67,5 +192,13 @@ export const AccessibilityWithCustomText: Story = {
67
192
  status: 'inactive',
68
193
  focused: true,
69
194
  customText: 'ФИО',
195
+ hasExtra: false,
196
+ extraPlacement: 'top-right',
197
+ type: undefined,
198
+ counterView: 'accent',
199
+ count: 3,
200
+ maxCount: 10,
201
+ badgeView: 'accent',
202
+ text: '31',
70
203
  },
71
204
  };
@@ -1,5 +1,5 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- var _excluded = ["size", "name", "url", "customText", "status", "className", "focused", "isScalable", "statusLabels"];
2
+ var _excluded = ["size", "name", "url", "customText", "status", "className", "focused", "isScalable", "statusLabels", "hasExtra", "extraPlacement", "type", "counterView", "count", "maxCount", "badgeView", "text", "customColor", "customBackgroundColor", "contentLeft", "contentRight", "pilled"];
3
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -14,10 +14,10 @@ import { component, mergeConfig } from '../../engines';
14
14
  import { cx } from '../../utils';
15
15
  import { indicatorConfig, indicatorTokens } from '../Indicator';
16
16
  import { classes, tokens } from './Avatar.tokens';
17
- import { base, Wrapper, Image, StatusIcon, Text } from './Avatar.styles';
17
+ import { base, Wrapper, Image, StatusIcon, Text, ExtraContent, ExtraCounter, ExtraBadge } from './Avatar.styles';
18
18
  import { base as viewCSS } from './variations/_size/base';
19
19
  import { base as focusedCSS } from './variations/_focused/base';
20
- import { getInitialsForName } from './utils';
20
+ import { extraPlacementMap, getInitialsForName } from './utils';
21
21
  var StatusLabelsDefault = {
22
22
  active: 'Активен',
23
23
  inactive: 'Неактивен'
@@ -73,20 +73,39 @@ export var avatarRoot = function avatarRoot(Root) {
73
73
  isScalable = props.isScalable,
74
74
  _props$statusLabels = props.statusLabels,
75
75
  statusLabels = _props$statusLabels === void 0 ? StatusLabelsDefault : _props$statusLabels,
76
+ hasExtra = props.hasExtra,
77
+ extraPlacement = props.extraPlacement,
78
+ type = props.type,
79
+ counterView = props.counterView,
80
+ count = props.count,
81
+ maxCount = props.maxCount,
82
+ badgeView = props.badgeView,
83
+ text = props.text,
84
+ customColor = props.customColor,
85
+ customBackgroundColor = props.customBackgroundColor,
86
+ contentLeft = props.contentLeft,
87
+ contentRight = props.contentRight,
88
+ pilled = props.pilled,
76
89
  rest = _objectWithoutProperties(props, _excluded);
90
+ var counterValue = count || 1;
77
91
  var initials = useMemo(function () {
78
92
  return getInitialsForName(name);
79
93
  }, [name]);
80
94
  var ariaLabel = getAriaLabel(_objectSpread(_objectSpread({}, props), {}, {
81
95
  statusLabels: statusLabels
82
96
  }));
97
+ var extraViewProp = type === 'badge' ? {
98
+ badgeView: badgeView
99
+ } : {
100
+ counterView: counterView
101
+ };
83
102
  return /*#__PURE__*/React.createElement(Root, _extends({
84
103
  ref: ref,
85
104
  size: avatarSize,
86
105
  className: cx(classes.avatarItem, className),
87
106
  "aria-label": ariaLabel,
88
107
  focused: focused
89
- }, rest), /*#__PURE__*/React.createElement(Wrapper, {
108
+ }, extraViewProp, rest), /*#__PURE__*/React.createElement(Wrapper, {
90
109
  isScalable: isScalable
91
110
  }, getAvatarContent({
92
111
  customText: customText,
@@ -96,7 +115,24 @@ export var avatarRoot = function avatarRoot(Root) {
96
115
  })), status && /*#__PURE__*/React.createElement(StatusIcon, null, /*#__PURE__*/React.createElement(StyledIndicator, {
97
116
  "aria-label": statusLabels[status],
98
117
  status: status
99
- })));
118
+ })), hasExtra && avatarSize !== 'fit' && /*#__PURE__*/React.createElement(ExtraContent, {
119
+ className: extraPlacementMap(extraPlacement)
120
+ }, type === 'counter' ? /*#__PURE__*/React.createElement(ExtraCounter, {
121
+ view: counterView,
122
+ count: counterValue,
123
+ maxCount: maxCount
124
+ }) : avatarSize !== 's' && /*#__PURE__*/React.createElement(ExtraBadge, _extends({
125
+ view: badgeView,
126
+ text: text,
127
+ customColor: customColor,
128
+ customBackgroundColor: customBackgroundColor,
129
+ pilled: pilled,
130
+ maxWidth: "100%"
131
+ }, contentLeft ? {
132
+ contentLeft: contentLeft
133
+ } : {
134
+ contentRight: contentRight
135
+ }))));
100
136
  });
101
137
  };
102
138
  export var avatarConfig = {
@@ -2,7 +2,14 @@ var _templateObject;
2
2
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
3
3
  import { css } from 'styled-components';
4
4
  import styled from 'styled-components';
5
- import { tokens } from './Avatar.tokens';
5
+ import { component, mergeConfig } from '../../engines';
6
+ import { badgeConfig, badgeTokens } from '../Badge';
7
+ import { counterConfig, counterTokens } from '../Counter';
8
+ import { classes, tokens } from './Avatar.tokens';
9
+ var mergedBadgeConfig = /*#__PURE__*/mergeConfig(badgeConfig);
10
+ var Badge = /*#__PURE__*/component(mergedBadgeConfig);
11
+ var mergedCounterConfig = /*#__PURE__*/mergeConfig(counterConfig);
12
+ var Counter = /*#__PURE__*/component(mergedCounterConfig);
6
13
  export var base = /*#__PURE__*/css(_templateObject || (_templateObject = /*#__PURE__*/_taggedTemplateLiteral(["\n position: relative;\n"])));
7
14
  export var Wrapper = /*#__PURE__*/styled.div.withConfig({
8
15
  componentId: "plasma-new-hope__sc-t16ccn-0"
@@ -21,4 +28,13 @@ export var Image = /*#__PURE__*/styled.img.withConfig({
21
28
  })(["width:100%;height:100%;border-radius:50%;"]);
22
29
  export var Text = /*#__PURE__*/styled.span.withConfig({
23
30
  componentId: "plasma-new-hope__sc-t16ccn-3"
24
- })(["font-size:var(", ");font-family:var(", ");font-weight:var(", ");line-height:var(", ");background-image:var(", ");background-color:var(", ");background-size:100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;"], tokens.fontSize, tokens.fontFamily, tokens.fontWeight, tokens.lineHeight, tokens.color, tokens.color);
31
+ })(["font-size:var(", ");font-family:var(", ");font-weight:var(", ");line-height:var(", ");background-image:var(", ");background-color:var(", ");background-size:100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;"], tokens.fontSize, tokens.fontFamily, tokens.fontWeight, tokens.lineHeight, tokens.color, tokens.color);
32
+ export var ExtraContent = /*#__PURE__*/styled.div.withConfig({
33
+ componentId: "plasma-new-hope__sc-t16ccn-4"
34
+ })(["max-width:100%;display:flex;position:absolute;z-index:2;&.", "{top:calc(-0.063rem * var(", ",0));left:calc(-0.063rem * var(", ",0));}&.", "{top:calc(-0.063rem * var(", ",0));right:calc(-0.063rem * var(", ",0));}&.", "{bottom:calc(-0.063rem * var(", ",0));right:calc(-0.063rem * var(", ",0));}&.", "{bottom:calc(-0.063rem * var(", ",0));left:calc(-0.063rem * var(", ",0));}"], classes.extraPlacementTopLeft, tokens.extraPlacementFactor, tokens.extraPlacementFactor, classes.extraPlacementTopRight, tokens.extraPlacementFactor, tokens.extraPlacementFactor, classes.extraPlacementBottomRight, tokens.extraPlacementFactor, tokens.extraPlacementFactor, classes.extraPlacementBottomLeft, tokens.extraPlacementFactor, tokens.extraPlacementFactor);
35
+ export var ExtraBadge = /*#__PURE__*/styled(Badge).withConfig({
36
+ componentId: "plasma-new-hope__sc-t16ccn-5"
37
+ })(["", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");"], badgeTokens.background, tokens.badgeBackground, badgeTokens.color, tokens.badgeColor, badgeTokens.backgroundTransparent, tokens.badgeBackgroundTransparent, badgeTokens.colorTransparent, tokens.badgeColorTransparent, badgeTokens.colorClear, tokens.badgeColorClear, badgeTokens.backgroundClear, tokens.badgeBackgroundClear, badgeTokens.borderRadius, tokens.badgeBorderRadius, badgeTokens.pilledBorderRadius, tokens.badgePilledBorderRadius, badgeTokens.height, tokens.badgeHeight, badgeTokens.padding, tokens.badgePadding, badgeTokens.paddingIconOnly, tokens.badgePaddingIconOnly, badgeTokens.fontFamily, tokens.badgeFontFamily, badgeTokens.fontSize, tokens.badgeFontSize, badgeTokens.fontStyle, tokens.badgeFontStyle, badgeTokens.fontWeight, tokens.badgeFontWeight, badgeTokens.letterSpacing, tokens.badgeLetterSpacing, badgeTokens.lineHeight, tokens.badgeLineHeight, badgeTokens.leftContentMarginLeft, tokens.badgeLeftContentMarginLeft, badgeTokens.leftContentMarginRight, tokens.badgeLeftContentMarginRight, badgeTokens.rightContentMarginLeft, tokens.badgeRightContentMarginLeft, badgeTokens.rightContentMarginRight, tokens.badgeRightContentMarginRight);
38
+ export var ExtraCounter = /*#__PURE__*/styled(Counter).withConfig({
39
+ componentId: "plasma-new-hope__sc-t16ccn-6"
40
+ })(["", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");"], counterTokens.background, tokens.counterBackground, counterTokens.color, tokens.counterColor, counterTokens.borderRadius, tokens.counterBorderRadius, counterTokens.height, tokens.counterHeight, counterTokens.padding, tokens.counterPadding, counterTokens.fontFamily, tokens.counterFontFamily, counterTokens.fontSize, tokens.counterFontSize, counterTokens.fontStyle, tokens.counterFontStyle, counterTokens.fontWeight, tokens.counterFontWeight, counterTokens.letterSpacing, tokens.counterLetterSpacing, counterTokens.lineHeight, tokens.counterLineHeight);
@@ -147,3 +147,57 @@ export function App() {
147
147
  Опциональное свойство для корректной озвучки значений свойства `status`.
148
148
 
149
149
  По-умолчанию стоит значение для русскоговорящих `{ active: 'Активен', inactive: 'Неактивен' }`.
150
+
151
+ #### Avatar и дополнительный контент
152
+
153
+ Чтобы отобразить дополнительный контент нужно передать свойство `hasExtra`.
154
+ Тип дополнительного контента задается с помощью свойства `type`, а его вид с помощью `badgeView` и `counterView` соответственно.
155
+ За положение дополнительного контента отвечает `extraPlacement`:
156
+
157
+ ```tsx live
158
+ import React from 'react';
159
+ import { Avatar } from '@salutejs/{{ package }}';
160
+
161
+ export function App() {
162
+ return (
163
+ <>
164
+ <Avatar
165
+ size="l"
166
+ name="Иван Фадеев"
167
+ extraPlacement="top-left"
168
+ type="counter"
169
+ count={33}
170
+ counterView="positive"
171
+ hasExtra
172
+ />
173
+ <Avatar
174
+ size="l"
175
+ name="Иван Фадеев"
176
+ extraPlacement="top-right"
177
+ type="counter"
178
+ count={33}
179
+ counterView="accent"
180
+ hasExtra
181
+ />
182
+ <Avatar
183
+ size="l"
184
+ name="Иван Фадеев"
185
+ extraPlacement="bottom-right"
186
+ type="badge"
187
+ text="15"
188
+ badgeView="warning"
189
+ hasExtra
190
+ />
191
+ <Avatar
192
+ size="l"
193
+ name="Иван Фадеев"
194
+ extraPlacement="bottom-left"
195
+ type="badge"
196
+ text="15"
197
+ badgeView="negative"
198
+ hasExtra
199
+ />
200
+ </>
201
+ );
202
+ }
203
+ ```
@@ -1,5 +1,9 @@
1
1
  export var classes = {
2
- avatarItem: 'avatar-item'
2
+ avatarItem: 'avatar-item',
3
+ extraPlacementTopRight: 'avatar-extra-placement-top-right',
4
+ extraPlacementTopLeft: 'avatar-extra-placement-top-left',
5
+ extraPlacementBottomLeft: 'avatar-extra-placement-bottom-left',
6
+ extraPlacementBottomRight: 'avatar-extra-placement-bottom-right'
3
7
  };
4
8
  export var tokens = {
5
9
  avatarSize: '--plasma-avatar-size',
@@ -15,5 +19,40 @@ export var tokens = {
15
19
  outlineColor: '--plasma-avatar-outline-color',
16
20
  outlineSize: '--plasma-avatar-outline-size',
17
21
  outlineOffset: '--plasma-avatar-outline-offset',
18
- scaleHover: '--plasma-avatar-scale-hover'
22
+ scaleHover: '--plasma-avatar-scale-hover',
23
+ extraPlacementFactor: '--plasma-avatar-extra-placement-factor',
24
+ // extra badge tokens
25
+ badgeBackground: '--plasma-avatar-extra-badge-background',
26
+ badgeColor: '--plasma-avatar-extra-badge-color',
27
+ badgeBackgroundTransparent: '--plasma-avatar-extra-badge-background-transparent',
28
+ badgeColorTransparent: '--plasma-avatar-extra-badge-color-transparent',
29
+ badgeColorClear: '--plasma-avatar-extra-badge-color-clear',
30
+ badgeBackgroundClear: '--plasma-avatar-extra-badge-background-clear',
31
+ badgeBorderRadius: '--plasma-avatar-extra-badge-border-radius',
32
+ badgePilledBorderRadius: '--plasma-avatar-extra-badge-pilled-border-radius',
33
+ badgeHeight: '--plasma-avatar-extra-badge-height',
34
+ badgePadding: '--plasma-avatar-extra-badge-padding',
35
+ badgePaddingIconOnly: '--plasma-avatar-extra-badge-padding-icon-only',
36
+ badgeFontFamily: '--plasma-avatar-extra-badge-font-family',
37
+ badgeFontSize: '--plasma-avatar-extra-badge-font-size',
38
+ badgeFontStyle: '--plasma-avatar-extra-badge-font-style',
39
+ badgeFontWeight: '--plasma-avatar-extra-badge-font-weight',
40
+ badgeLetterSpacing: '--plasma-avatar-extra-badge-letter-spacing',
41
+ badgeLineHeight: '--plasma-avatar-extra-badge-lineheight',
42
+ badgeLeftContentMarginLeft: '--plasma-avatar-extra-badge-left-content-margin-left',
43
+ badgeLeftContentMarginRight: '--plasma-avatar-extra-badge-left-content-margin-right',
44
+ badgeRightContentMarginLeft: '--plasma-avatar-extra-badge-right-content-margin-left',
45
+ badgeRightContentMarginRight: '--plasma-avatar-extra-badge-right-content-margin-right',
46
+ // extra counter tokens
47
+ counterBackground: '--plasma-avatar-extra-counter-background',
48
+ counterColor: '--plasma-avatar-extra-counter-color',
49
+ counterBorderRadius: '--plasma-avatar-extra-counter-border-radius',
50
+ counterHeight: '--plasma-avatar-extra-counter-height',
51
+ counterPadding: '--plasma-avatar-extra-counter-padding',
52
+ counterFontFamily: '--plasma-avatar-extra-counter-font-family',
53
+ counterFontSize: '--plasma-avatar-extra-counter-font-size',
54
+ counterFontStyle: '--plasma-avatar-extra-counter-font-style',
55
+ counterFontWeight: '--plasma-avatar-extra-counter-font-weight',
56
+ counterLetterSpacing: '--plasma-avatar-extra-counter-letter-spacing',
57
+ counterLineHeight: '--plasma-avatar-extra-counter-lineheight'
19
58
  };
@@ -1 +1,14 @@
1
- export { getInitialsForName } from './getInitialsForName';
1
+ import { classes } from '../Avatar.tokens';
2
+ export { getInitialsForName } from './getInitialsForName';
3
+ export var extraPlacementMap = function extraPlacementMap(extraPlacement) {
4
+ switch (extraPlacement) {
5
+ case 'top-left':
6
+ return classes.extraPlacementTopLeft;
7
+ case 'bottom-left':
8
+ return classes.extraPlacementBottomLeft;
9
+ case 'bottom-right':
10
+ return classes.extraPlacementBottomRight;
11
+ default:
12
+ return classes.extraPlacementTopRight;
13
+ }
14
+ };
@@ -76,7 +76,6 @@ export var tokens = {
76
76
  itemFontWeightBold: '--plasma-dropdown-item-letter-spacing',
77
77
  itemFontLetterSpacing: '--plasma-dropdown-item-line-height',
78
78
  itemFontLineHeight: '--plasma-dropdown-item-font-weight',
79
- itemMargin: '--plasma-dropdown-item-margin',
80
79
  itemPadding: '--plasma-dropdown-item-padding',
81
80
  itemPaddingTight: '--plasma-dropdown-item-padding-tight',
82
81
  itemGap: '--plasma-dropdown-item-gap',
@@ -14,7 +14,7 @@ export var StyledCell = /*#__PURE__*/styled(Cell).withConfig({
14
14
  })([""]);
15
15
  export var DisclosureIconWrapper = /*#__PURE__*/styled.div.withConfig({
16
16
  componentId: "plasma-new-hope__sc-hs0ek1-2"
17
- })(["line-height:0;color:var(", ",var(", "));"], tokens.disclosureIconColor, constants.disclosureIconColor);
17
+ })(["line-height:0;color:var(", ");"], constants.disclosureIconColor);
18
18
 
19
19
  // TODO: Удалить после поддержки JS переменных в конфиге компонент
20
20
  export var sizeMap = {
@@ -44,13 +44,13 @@ export var Divider = /*#__PURE__*/styled.div.withConfig({
44
44
  }, tokens.dividerMarginLeft, tokens.dividerColor);
45
45
  export var Wrapper = /*#__PURE__*/styled.li.withConfig({
46
46
  componentId: "plasma-new-hope__sc-hs0ek1-5"
47
- })(["display:flex;align-items:center;gap:", ";min-height:var(", ");margin:var(", ",0 calc(0.125rem + var(", ",0rem)));box-sizing:content-box;padding:", ";font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");background-color:var(", ");border-radius:var( ", ",calc(var(", ") - 0.125rem - var(", ",0rem)) );user-select:none;background-clip:padding-box;&:hover:not(.", "){cursor:pointer;background-color:var(", ");}&.", "{background-color:var(", ");}&.", "{opacity:", ";cursor:not-allowed;}:focus{outline:none;}", ";"], function (_ref5) {
47
+ })(["display:flex;align-items:center;gap:", ";min-height:var(", ");margin:0 calc(0.125rem + var(", ",0rem));box-sizing:content-box;padding:", ";font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");background-color:var(", ");border-radius:calc(var(", ") - 0.125rem - var(", ",0rem));user-select:none;background-clip:padding-box;&:hover:not(.", "){cursor:pointer;background-color:var(", ");}&.", "{background-color:var(", ");}&.", "{opacity:", ";cursor:not-allowed;}:focus{outline:none;}", ";"], function (_ref5) {
48
48
  var variant = _ref5.variant;
49
49
  return "var(".concat(variant === 'tight' ? tokens.itemGapTight : tokens.itemGap, ")");
50
- }, tokens.itemHeight, tokens.itemMargin, tokens.borderWidth, function (_ref6) {
50
+ }, tokens.itemHeight, tokens.borderWidth, function (_ref6) {
51
51
  var variant = _ref6.variant;
52
52
  return "var(".concat(variant === 'tight' ? tokens.itemPaddingTight : tokens.itemPadding, ")");
53
- }, tokens.itemFontFamily, tokens.itemFontSize, tokens.itemFontStyle, tokens.itemFontWeightBold, tokens.itemFontLetterSpacing, tokens.itemFontLineHeight, constants.itemBackground, tokens.itemBorderRadius, tokens.borderRadius, tokens.borderWidth, classes.dropdownItemIsDisabled, tokens.itemBackgroundHover, classes.dropdownItemIsActive, tokens.itemBackgroundHover, classes.dropdownItemIsDisabled, constants.opacity, /*#__PURE__*/addFocus({
53
+ }, tokens.itemFontFamily, tokens.itemFontSize, tokens.itemFontStyle, tokens.itemFontWeightBold, tokens.itemFontLetterSpacing, tokens.itemFontLineHeight, constants.itemBackground, tokens.borderRadius, tokens.borderWidth, classes.dropdownItemIsDisabled, tokens.itemBackgroundHover, classes.dropdownItemIsActive, tokens.itemBackgroundHover, classes.dropdownItemIsDisabled, constants.opacity, /*#__PURE__*/addFocus({
54
54
  outlineSize: '0.0625rem',
55
55
  outlineOffset: '0',
56
56
  outlineColor: /*#__PURE__*/"var(".concat(constants.focusColor, ")"),
@@ -10,14 +10,32 @@ export var config = {
10
10
  "default": /*#__PURE__*/css(["", ":var(--text-accent-gradient);", ":linear-gradient(94deg,rgba(62,121,240,0.2) 6.49%,rgba(39,198,229,0.2) 93.51%);", ":var(--surface-positive);", ":var(--surface-solid-tertiary);", ":1.02;"], tokens.color, tokens.backgroundColor, tokens.statusOnlineColor, tokens.statusOfflineColor, tokens.scaleHover)
11
11
  },
12
12
  size: {
13
- xxl: /*#__PURE__*/css(["", ":6.25rem;", ":2rem;", ":600;", ":2rem;", ":0.75rem;"], tokens.avatarSize, tokens.fontSize, tokens.fontWeight, tokens.lineHeight, tokens.statusIconSize),
14
- l: /*#__PURE__*/css(["", ":3rem;", ":1.25rem;", ":600;", ":1.25rem;", ":0.5rem;"], tokens.avatarSize, tokens.fontSize, tokens.fontWeight, tokens.lineHeight, tokens.statusIconSize),
15
- m: /*#__PURE__*/css(["", ":2.25rem;", ":0.875rem;", ":600;", ":0.875rem;", ":0.5rem;"], tokens.avatarSize, tokens.fontSize, tokens.fontWeight, tokens.lineHeight, tokens.statusIconSize),
16
- s: /*#__PURE__*/css(["", ":1.5rem;", ":0.5rem;", ":600;", ":0.5rem;", ":0.375rem;"], tokens.avatarSize, tokens.fontSize, tokens.fontWeight, tokens.lineHeight, tokens.statusIconSize),
13
+ xxl: /*#__PURE__*/css(["", ":6.25rem;", ":2rem;", ":600;", ":2rem;", ":0.75rem;", ":0.5rem;", ":1.75rem;", ":0 0.6875rem;", ":0 0.375rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);", ":-0.0625rem;", ":0.25rem;", ":0.25rem;", ":-0.0625rem;", ":1.25rem;", ":1rem;", ":1.75rem;", ":0 0.625rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);"], tokens.avatarSize, tokens.fontSize, tokens.fontWeight, tokens.lineHeight, tokens.statusIconSize, tokens.badgeBorderRadius, tokens.badgeHeight, tokens.badgePadding, tokens.badgePaddingIconOnly, tokens.badgeFontFamily, tokens.badgeFontSize, tokens.badgeFontStyle, tokens.badgeFontWeight, tokens.badgeLetterSpacing, tokens.badgeLineHeight, tokens.badgeLeftContentMarginLeft, tokens.badgeLeftContentMarginRight, tokens.badgeRightContentMarginLeft, tokens.badgeRightContentMarginRight, tokens.badgePilledBorderRadius, tokens.counterBorderRadius, tokens.counterHeight, tokens.counterPadding, tokens.counterFontFamily, tokens.counterFontSize, tokens.counterFontStyle, tokens.counterFontWeight, tokens.counterLetterSpacing, tokens.counterLineHeight),
14
+ l: /*#__PURE__*/css(["", ":3rem;", ":1.25rem;", ":600;", ":1.25rem;", ":0.5rem;", ":2;", ":0.375rem;", ":1.25rem;", ":0 0.4375rem;", ":0 0.25rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);", ":-0.0625rem;", ":0.125rem;", ":0.125rem;", ":-0.0625rem;", ":1.25rem;", ":1rem;", ":1.25rem;", ":0 0.375rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);"], tokens.avatarSize, tokens.fontSize, tokens.fontWeight, tokens.lineHeight, tokens.statusIconSize, tokens.extraPlacementFactor, tokens.badgeBorderRadius, tokens.badgeHeight, tokens.badgePadding, tokens.badgePaddingIconOnly, tokens.badgeFontFamily, tokens.badgeFontSize, tokens.badgeFontStyle, tokens.badgeFontWeight, tokens.badgeLetterSpacing, tokens.badgeLineHeight, tokens.badgeLeftContentMarginLeft, tokens.badgeLeftContentMarginRight, tokens.badgeRightContentMarginLeft, tokens.badgeRightContentMarginRight, tokens.badgePilledBorderRadius, tokens.counterBorderRadius, tokens.counterHeight, tokens.counterPadding, tokens.counterFontFamily, tokens.counterFontSize, tokens.counterFontStyle, tokens.counterFontWeight, tokens.counterLetterSpacing, tokens.counterLineHeight),
15
+ m: /*#__PURE__*/css(["", ":2.25rem;", ":0.875rem;", ":600;", ":0.875rem;", ":0.5rem;", ":2;", ":0.25rem;", ":1rem;", ":0 0.25rem;", ":0 0.188rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);", ":-0.0625rem;", ":0.125rem;", ":0.125rem;", ":-0.0625rem;", ":1.25rem;", ":1rem;", ":1rem;", ":0 0.25rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);"], tokens.avatarSize, tokens.fontSize, tokens.fontWeight, tokens.lineHeight, tokens.statusIconSize, tokens.extraPlacementFactor, tokens.badgeBorderRadius, tokens.badgeHeight, tokens.badgePadding, tokens.badgePaddingIconOnly, tokens.badgeFontFamily, tokens.badgeFontSize, tokens.badgeFontStyle, tokens.badgeFontWeight, tokens.badgeLetterSpacing, tokens.badgeLineHeight, tokens.badgeLeftContentMarginLeft, tokens.badgeLeftContentMarginRight, tokens.badgeRightContentMarginLeft, tokens.badgeRightContentMarginRight, tokens.badgePilledBorderRadius, tokens.counterBorderRadius, tokens.counterHeight, tokens.counterPadding, tokens.counterFontFamily, tokens.counterFontSize, tokens.counterFontStyle, tokens.counterFontWeight, tokens.counterLetterSpacing, tokens.counterLineHeight),
16
+ s: /*#__PURE__*/css(["", ":1.5rem;", ":0.5rem;", ":600;", ":0.5rem;", ":0.375rem;", ":1;", ":1rem;", ":0.75rem;", ":0 0.125rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);"], tokens.avatarSize, tokens.fontSize, tokens.fontWeight, tokens.lineHeight, tokens.statusIconSize, tokens.extraPlacementFactor, tokens.counterBorderRadius, tokens.counterHeight, tokens.counterPadding, tokens.counterFontFamily, tokens.counterFontSize, tokens.counterFontStyle, tokens.counterFontWeight, tokens.counterLetterSpacing, tokens.counterLineHeight),
17
17
  fit: /*#__PURE__*/css(["", ":100%;", ":0;", ":0;", ":0;", ":0;"], tokens.avatarSize, tokens.fontSize, tokens.fontWeight, tokens.lineHeight, tokens.statusIconSize)
18
18
  },
19
19
  focused: {
20
20
  "true": /*#__PURE__*/css(["", ":0.1rem;", ":-0.2rem;", ":var(--surface-accent);"], tokens.outlineSize, tokens.outlineOffset, tokens.outlineColor)
21
+ },
22
+ badgeView: {
23
+ "default": /*#__PURE__*/css(["", ":var(--inverse-text-primary);", ":var(--surface-solid-default);", ":var(--text-primary);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--surface-clear);"], tokens.badgeColor, tokens.badgeBackground, tokens.badgeColorTransparent, tokens.badgeBackgroundTransparent, tokens.badgeColorClear, tokens.badgeBackgroundClear),
24
+ accent: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--surface-accent);", ":var(--text-accent);", ":var(--surface-transparent-accent);", ":var(--text-accent);", ":var(--surface-clear)"], tokens.badgeColor, tokens.badgeBackground, tokens.badgeColorTransparent, tokens.badgeBackgroundTransparent, tokens.badgeColorClear, tokens.badgeBackgroundClear),
25
+ positive: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--surface-positive);", ":var(--text-positive);", ":var(--surface-transparent-positive);", ":var(--text-positive);", ":var(--surface-clear)"], tokens.badgeColor, tokens.badgeBackground, tokens.badgeColorTransparent, tokens.badgeBackgroundTransparent, tokens.badgeColorClear, tokens.badgeBackgroundClear),
26
+ warning: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--surface-warning);", ":var(--text-warning);", ":var(--surface-transparent-warning);", ":var(--text-warning);", ":var(--surface-clear)"], tokens.badgeColor, tokens.badgeBackground, tokens.badgeColorTransparent, tokens.badgeBackgroundTransparent, tokens.badgeColorClear, tokens.badgeBackgroundClear),
27
+ negative: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--surface-negative);", ":var(--text-negative);", ":var(--surface-transparent-negative);", ":var(--text-negative);", ":var(--surface-clear)"], tokens.badgeColor, tokens.badgeBackground, tokens.badgeColorTransparent, tokens.badgeBackgroundTransparent, tokens.badgeColorClear, tokens.badgeBackgroundClear),
28
+ dark: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--on-light-surface-solid-default);", ":var(--on-dark-text-primary);", ":var(--on-light-surface-transparent-deep);", ":var(--on-light-text-pri ", ":var(--surface-clear)mary);"], tokens.badgeColor, tokens.badgeBackground, tokens.badgeColorTransparent, tokens.badgeBackgroundTransparent, tokens.badgeColorClear, tokens.badgeBackgroundClear),
29
+ light: /*#__PURE__*/css(["", ":var(--on-light-text-primary);", ":var(--on-dark-surface-solid-default);", ":var(--on-dark-text-primary);", ":var(--on-dark-surface-transparent-card);", ":var(--on-dark-text-prima ", ":var(--surface-clear)ry);"], tokens.badgeColor, tokens.badgeBackground, tokens.badgeColorTransparent, tokens.badgeBackgroundTransparent, tokens.badgeColorClear, tokens.badgeBackgroundClear)
30
+ },
31
+ counterView: {
32
+ "default": /*#__PURE__*/css(["", ":var(--inverse-text-primary);", ":var(--surface-solid-default);"], tokens.counterColor, tokens.counterBackground),
33
+ accent: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--surface-accent);"], tokens.counterColor, tokens.counterBackground),
34
+ positive: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--surface-positive);"], tokens.counterColor, tokens.counterBackground),
35
+ warning: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--surface-warning);"], tokens.counterColor, tokens.counterBackground),
36
+ negative: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--surface-negative);"], tokens.counterColor, tokens.counterBackground),
37
+ dark: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--on-light-surface-solid-default);"], tokens.counterColor, tokens.counterBackground),
38
+ light: /*#__PURE__*/css(["", ":var(--on-light-text-primary);", ":var(--on-dark-surface-solid-default);"], tokens.counterColor, tokens.counterBackground)
21
39
  }
22
40
  }
23
41
  };