@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: 'b2c/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
  };