@salutejs/plasma-new-hope 0.141.0-canary.1422.10737462879.0 → 0.141.0-canary.1424.10769683181.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (185) hide show
  1. package/cjs/components/Badge/Badge.css +2 -0
  2. package/cjs/components/Badge/Badge.js +12 -3
  3. package/cjs/components/Badge/Badge.js.map +1 -1
  4. package/cjs/components/Badge/Badge.tokens.js +3 -1
  5. package/cjs/components/Badge/Badge.tokens.js.map +1 -1
  6. package/cjs/components/Badge/variations/_clear/base.js +9 -0
  7. package/cjs/components/Badge/variations/_clear/base.js.map +1 -0
  8. package/cjs/components/Badge/variations/_clear/base_w6r2lg.css +1 -0
  9. package/cjs/components/Combobox/ComboboxNew/Combobox.js +4 -6
  10. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  11. package/cjs/components/Combobox/ComboboxOld/Combobox.js +8 -15
  12. package/cjs/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  13. package/cjs/index.css +2 -0
  14. package/emotion/cjs/components/Badge/Badge.js +12 -3
  15. package/emotion/cjs/components/Badge/Badge.template-doc.mdx +19 -28
  16. package/emotion/cjs/components/Badge/Badge.tokens.js +3 -1
  17. package/emotion/cjs/components/Badge/variations/_clear/base.js +9 -0
  18. package/emotion/cjs/components/Badge/variations/_clear/tokens.json +1 -0
  19. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +4 -6
  20. package/emotion/cjs/components/Combobox/ComboboxOld/Combobox.js +8 -15
  21. package/emotion/cjs/examples/plasma_b2c/components/Badge/Badge.config.js +15 -12
  22. package/emotion/cjs/examples/plasma_b2c/components/Badge/Badge.stories.tsx +1 -0
  23. package/emotion/cjs/examples/plasma_b2c/components/Combobox/ComboboxNew/Combobox.config.js +39 -0
  24. package/{styled-components/cjs/examples/plasma_b2c/components/Combobox → emotion/cjs/examples/plasma_b2c/components/Combobox/ComboboxNew}/Combobox.js +2 -2
  25. package/emotion/{es/examples/plasma_b2c/components/Combobox → cjs/examples/plasma_b2c/components/Combobox/ComboboxNew}/Combobox.stories.tsx +3 -5
  26. package/emotion/cjs/examples/plasma_b2c/components/Combobox/ComboboxOld/Combobox.config.js +25 -0
  27. package/emotion/cjs/examples/{plasma_web/components/Combobox/Legacy → plasma_b2c/components/Combobox/ComboboxOld}/Combobox.stories.tsx +16 -18
  28. package/emotion/cjs/examples/plasma_web/components/Badge/Badge.config.js +15 -12
  29. package/emotion/cjs/examples/plasma_web/components/Badge/Badge.stories.tsx +1 -0
  30. package/emotion/cjs/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.config.js +39 -0
  31. package/emotion/cjs/examples/plasma_web/components/Combobox/{Combobox.js → ComboboxNew/Combobox.js} +2 -2
  32. package/emotion/{es/examples/plasma_web/components/Combobox → cjs/examples/plasma_web/components/Combobox/ComboboxNew}/Combobox.stories.tsx +3 -5
  33. package/emotion/cjs/examples/plasma_web/components/Combobox/ComboboxOld/Combobox.config.js +25 -0
  34. package/emotion/cjs/examples/{plasma_b2c/components/Combobox/Legacy → plasma_web/components/Combobox/ComboboxOld}/Combobox.stories.tsx +16 -18
  35. package/emotion/es/components/Badge/Badge.js +12 -3
  36. package/emotion/es/components/Badge/Badge.template-doc.mdx +19 -28
  37. package/emotion/es/components/Badge/Badge.tokens.js +3 -1
  38. package/emotion/es/components/Badge/variations/_clear/base.js +3 -0
  39. package/emotion/es/components/Badge/variations/_clear/tokens.json +1 -0
  40. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +4 -6
  41. package/emotion/es/components/Combobox/ComboboxOld/Combobox.js +8 -15
  42. package/emotion/es/examples/plasma_b2c/components/Badge/Badge.config.js +15 -12
  43. package/emotion/es/examples/plasma_b2c/components/Badge/Badge.stories.tsx +1 -0
  44. package/emotion/es/examples/plasma_b2c/components/Combobox/ComboboxNew/Combobox.config.js +33 -0
  45. package/emotion/es/examples/plasma_b2c/components/Combobox/{Combobox.js → ComboboxNew/Combobox.js} +2 -2
  46. package/emotion/{cjs/examples/plasma_web/components/Combobox → es/examples/plasma_b2c/components/Combobox/ComboboxNew}/Combobox.stories.tsx +3 -5
  47. package/emotion/es/examples/plasma_b2c/components/Combobox/ComboboxOld/Combobox.config.js +19 -0
  48. package/emotion/es/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.stories.tsx +16 -18
  49. package/emotion/es/examples/plasma_web/components/Badge/Badge.config.js +15 -12
  50. package/emotion/es/examples/plasma_web/components/Badge/Badge.stories.tsx +1 -0
  51. package/emotion/es/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.config.js +33 -0
  52. package/{styled-components/es/examples/plasma_b2c/components/Combobox → emotion/es/examples/plasma_web/components/Combobox/ComboboxNew}/Combobox.js +2 -2
  53. package/emotion/{cjs/examples/plasma_b2c/components/Combobox → es/examples/plasma_web/components/Combobox/ComboboxNew}/Combobox.stories.tsx +3 -5
  54. package/emotion/es/examples/plasma_web/components/Combobox/ComboboxOld/Combobox.config.js +19 -0
  55. package/emotion/es/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.stories.tsx +16 -18
  56. package/es/components/Badge/Badge.css +2 -0
  57. package/es/components/Badge/Badge.js +12 -3
  58. package/es/components/Badge/Badge.js.map +1 -1
  59. package/es/components/Badge/Badge.tokens.js +3 -1
  60. package/es/components/Badge/Badge.tokens.js.map +1 -1
  61. package/es/components/Badge/variations/_clear/base.js +5 -0
  62. package/es/components/Badge/variations/_clear/base.js.map +1 -0
  63. package/es/components/Badge/variations/_clear/base_w6r2lg.css +1 -0
  64. package/es/components/Combobox/ComboboxNew/Combobox.js +4 -6
  65. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  66. package/es/components/Combobox/ComboboxOld/Combobox.js +8 -15
  67. package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
  68. package/es/index.css +2 -0
  69. package/package.json +2 -2
  70. package/styled-components/cjs/components/Badge/Badge.js +12 -3
  71. package/styled-components/cjs/components/Badge/Badge.template-doc.mdx +19 -28
  72. package/styled-components/cjs/components/Badge/Badge.tokens.js +3 -1
  73. package/styled-components/cjs/components/Badge/variations/_clear/base.js +9 -0
  74. package/styled-components/cjs/components/Badge/variations/_clear/tokens.json +1 -0
  75. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +4 -6
  76. package/styled-components/cjs/components/Combobox/ComboboxOld/Combobox.js +8 -15
  77. package/styled-components/cjs/examples/plasma_b2c/components/Badge/Badge.config.js +10 -7
  78. package/styled-components/cjs/examples/plasma_b2c/components/Badge/Badge.stories.tsx +1 -0
  79. package/styled-components/cjs/examples/{plasma_web/components/Combobox → plasma_b2c/components/Combobox/ComboboxNew}/Combobox.config.js +1 -1
  80. package/{emotion/cjs/examples/plasma_b2c/components/Combobox → styled-components/cjs/examples/plasma_b2c/components/Combobox/ComboboxNew}/Combobox.js +2 -2
  81. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/ComboboxNew/Combobox.stories.tsx +366 -0
  82. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.js +1 -1
  83. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/ComboboxOld/Combobox.stories.tsx +254 -0
  84. package/styled-components/cjs/examples/plasma_web/components/Badge/Badge.config.js +10 -7
  85. package/styled-components/cjs/examples/plasma_web/components/Badge/Badge.stories.tsx +1 -0
  86. package/styled-components/cjs/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.config.js +39 -0
  87. package/styled-components/cjs/examples/plasma_web/components/Combobox/{Combobox.js → ComboboxNew/Combobox.js} +2 -2
  88. package/styled-components/cjs/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.stories.tsx +366 -0
  89. package/styled-components/cjs/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.js +1 -1
  90. package/styled-components/cjs/examples/plasma_web/components/Combobox/ComboboxOld/Combobox.stories.tsx +254 -0
  91. package/styled-components/es/components/Badge/Badge.js +12 -3
  92. package/styled-components/es/components/Badge/Badge.template-doc.mdx +19 -28
  93. package/styled-components/es/components/Badge/Badge.tokens.js +3 -1
  94. package/styled-components/es/components/Badge/variations/_clear/base.js +3 -0
  95. package/styled-components/es/components/Badge/variations/_clear/tokens.json +1 -0
  96. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +4 -6
  97. package/styled-components/es/components/Combobox/ComboboxOld/Combobox.js +8 -15
  98. package/styled-components/es/examples/plasma_b2c/components/Badge/Badge.config.js +10 -7
  99. package/styled-components/es/examples/plasma_b2c/components/Badge/Badge.stories.tsx +1 -0
  100. package/styled-components/es/examples/{plasma_web/components/Combobox → plasma_b2c/components/Combobox/ComboboxNew}/Combobox.config.js +1 -1
  101. package/styled-components/es/examples/{plasma_web/components/Combobox → plasma_b2c/components/Combobox/ComboboxNew}/Combobox.js +2 -2
  102. package/styled-components/es/examples/plasma_b2c/components/Combobox/ComboboxNew/Combobox.stories.tsx +366 -0
  103. package/styled-components/es/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.js +1 -1
  104. package/styled-components/es/examples/plasma_b2c/components/Combobox/ComboboxOld/Combobox.stories.tsx +254 -0
  105. package/styled-components/es/examples/plasma_web/components/Badge/Badge.config.js +10 -7
  106. package/styled-components/es/examples/plasma_web/components/Badge/Badge.stories.tsx +1 -0
  107. package/styled-components/es/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.config.js +33 -0
  108. package/{emotion/es/examples/plasma_web/components/Combobox → styled-components/es/examples/plasma_web/components/Combobox/ComboboxNew}/Combobox.js +2 -2
  109. package/styled-components/es/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.stories.tsx +366 -0
  110. package/styled-components/es/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.js +1 -1
  111. package/styled-components/es/examples/plasma_web/components/Combobox/ComboboxOld/Combobox.stories.tsx +254 -0
  112. package/types/components/Badge/Badge.d.ts +6 -0
  113. package/types/components/Badge/Badge.d.ts.map +1 -1
  114. package/types/components/Badge/Badge.tokens.d.ts +2 -0
  115. package/types/components/Badge/Badge.tokens.d.ts.map +1 -1
  116. package/types/components/Badge/Badge.types.d.ts +6 -0
  117. package/types/components/Badge/Badge.types.d.ts.map +1 -1
  118. package/types/components/Badge/variations/_clear/base.d.ts +2 -0
  119. package/types/components/Badge/variations/_clear/base.d.ts.map +1 -0
  120. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  121. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +1 -7
  122. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  123. package/types/components/Combobox/ComboboxOld/Combobox.d.ts.map +1 -1
  124. package/types/components/Combobox/ComboboxOld/Combobox.types.d.ts +0 -6
  125. package/types/components/Combobox/ComboboxOld/Combobox.types.d.ts.map +1 -1
  126. package/types/examples/plasma_b2c/components/Badge/Badge.config.d.ts +3 -0
  127. package/types/examples/plasma_b2c/components/Badge/Badge.config.d.ts.map +1 -1
  128. package/types/examples/plasma_b2c/components/Badge/Badge.d.ts +4 -0
  129. package/types/examples/plasma_b2c/components/Badge/Badge.d.ts.map +1 -1
  130. package/types/examples/plasma_b2c/components/Combobox/ComboboxNew/Combobox.config.d.ts.map +1 -0
  131. package/types/examples/plasma_b2c/components/Combobox/{Combobox.d.ts → ComboboxNew/Combobox.d.ts} +3 -3
  132. package/types/examples/plasma_b2c/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -0
  133. package/types/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.d.ts.map +1 -1
  134. package/types/examples/plasma_b2c/components/Combobox/ComboboxOld/Combobox.d.ts.map +1 -0
  135. package/types/examples/plasma_web/components/Badge/Badge.config.d.ts +3 -0
  136. package/types/examples/plasma_web/components/Badge/Badge.config.d.ts.map +1 -1
  137. package/types/examples/plasma_web/components/Badge/Badge.d.ts +4 -0
  138. package/types/examples/plasma_web/components/Badge/Badge.d.ts.map +1 -1
  139. package/types/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.config.d.ts.map +1 -0
  140. package/types/examples/plasma_web/components/Combobox/{Combobox.d.ts → ComboboxNew/Combobox.d.ts} +3 -3
  141. package/types/examples/plasma_web/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -0
  142. package/types/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.d.ts.map +1 -1
  143. package/types/examples/plasma_web/components/Combobox/ComboboxOld/Combobox.d.ts.map +1 -0
  144. package/emotion/cjs/components/Combobox/Combobox.template-doc.mdx +0 -344
  145. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.config.js +0 -39
  146. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Legacy/Combobox.config.js +0 -25
  147. package/emotion/cjs/examples/plasma_web/components/Combobox/Combobox.config.js +0 -39
  148. package/emotion/cjs/examples/plasma_web/components/Combobox/Legacy/Combobox.config.js +0 -25
  149. package/emotion/es/components/Combobox/Combobox.template-doc.mdx +0 -344
  150. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.config.js +0 -33
  151. package/emotion/es/examples/plasma_b2c/components/Combobox/Legacy/Combobox.config.js +0 -19
  152. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.config.js +0 -33
  153. package/emotion/es/examples/plasma_web/components/Combobox/Legacy/Combobox.config.js +0 -19
  154. package/styled-components/cjs/components/Combobox/Combobox.template-doc.mdx +0 -344
  155. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.config.js +0 -39
  156. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +0 -368
  157. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Legacy/Combobox.stories.tsx +0 -256
  158. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.stories.tsx +0 -368
  159. package/styled-components/cjs/examples/plasma_web/components/Combobox/Legacy/Combobox.stories.tsx +0 -256
  160. package/styled-components/es/components/Combobox/Combobox.template-doc.mdx +0 -344
  161. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.config.js +0 -33
  162. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +0 -368
  163. package/styled-components/es/examples/plasma_b2c/components/Combobox/Legacy/Combobox.stories.tsx +0 -256
  164. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.stories.tsx +0 -368
  165. package/styled-components/es/examples/plasma_web/components/Combobox/Legacy/Combobox.stories.tsx +0 -256
  166. package/types/examples/plasma_b2c/components/Combobox/Combobox.config.d.ts.map +0 -1
  167. package/types/examples/plasma_b2c/components/Combobox/Combobox.d.ts.map +0 -1
  168. package/types/examples/plasma_b2c/components/Combobox/Legacy/Combobox.d.ts.map +0 -1
  169. package/types/examples/plasma_web/components/Combobox/Combobox.config.d.ts.map +0 -1
  170. package/types/examples/plasma_web/components/Combobox/Combobox.d.ts.map +0 -1
  171. package/types/examples/plasma_web/components/Combobox/Legacy/Combobox.d.ts.map +0 -1
  172. /package/emotion/cjs/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  173. /package/emotion/cjs/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  174. /package/emotion/es/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  175. /package/emotion/es/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  176. /package/styled-components/cjs/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  177. /package/styled-components/cjs/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  178. /package/styled-components/es/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  179. /package/styled-components/es/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.js +0 -0
  180. /package/types/examples/plasma_b2c/components/Combobox/{Combobox.config.d.ts → ComboboxNew/Combobox.config.d.ts} +0 -0
  181. /package/types/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.d.ts +0 -0
  182. /package/types/examples/plasma_b2c/components/Combobox/{Legacy → ComboboxOld}/Combobox.d.ts +0 -0
  183. /package/types/examples/plasma_web/components/Combobox/{Combobox.config.d.ts → ComboboxNew/Combobox.config.d.ts} +0 -0
  184. /package/types/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.config.d.ts +0 -0
  185. /package/types/examples/plasma_web/components/Combobox/{Legacy → ComboboxOld}/Combobox.d.ts +0 -0
@@ -1,368 +0,0 @@
1
- import React, { useState } from 'react';
2
- import type { ComponentProps } from 'react';
3
- import type { Meta, StoryObj } from '@storybook/react';
4
-
5
- import { WithTheme } from '../../../_helpers';
6
- import { IconDone } from '../../../../components/_Icon';
7
-
8
- import { Combobox } from './Combobox';
9
-
10
- type StorySelectProps = ComponentProps<typeof Combobox> & {
11
- enableContentLeft?: boolean;
12
- };
13
-
14
- const view = ['default', 'positive', 'warning', 'negative'];
15
- const size = ['xs', 's', 'm', 'l'];
16
- const labelPlacement = ['inner', 'outer'];
17
- const variant = ['normal', 'tight'];
18
-
19
- const meta: Meta<StorySelectProps> = {
20
- title: 'plasma_web/Combobox',
21
- decorators: [WithTheme],
22
- component: Combobox,
23
- argTypes: {
24
- size: {
25
- options: size,
26
- control: {
27
- type: 'select',
28
- },
29
- },
30
- view: {
31
- options: view,
32
- control: {
33
- type: 'select',
34
- },
35
- },
36
- labelPlacement: {
37
- options: labelPlacement,
38
- control: {
39
- type: 'select',
40
- },
41
- },
42
- variant: {
43
- options: variant,
44
- control: {
45
- type: 'select',
46
- },
47
- },
48
- listWidth: {
49
- control: {
50
- type: 'text',
51
- },
52
- },
53
- listOverflow: {
54
- control: {
55
- type: 'text',
56
- },
57
- },
58
- listHeight: {
59
- control: {
60
- type: 'text',
61
- },
62
- },
63
- },
64
- args: {
65
- label: 'Label',
66
- labelPlacement: 'outer',
67
- placeholder: 'Placeholder',
68
- helperText: 'Helper text',
69
- size: 'm',
70
- view: 'default',
71
- enableContentLeft: false,
72
- isTargetAmount: false,
73
- variant: 'normal',
74
- disabled: false,
75
- readOnly: false,
76
- alwaysOpened: false,
77
- },
78
- parameters: {
79
- controls: {
80
- include: [
81
- 'size',
82
- 'view',
83
- 'enableContentLeft',
84
- 'label',
85
- 'labelPlacement',
86
- 'placeholder',
87
- 'helperText',
88
- 'isTargetAmount',
89
- 'closeAfterSelect',
90
- 'alwaysOpened',
91
- 'variant',
92
- 'disabled',
93
- 'readOnly',
94
- 'listWidth',
95
- 'listOverflow',
96
- 'listHeight',
97
- ],
98
- },
99
- },
100
- };
101
-
102
- export default meta;
103
-
104
- const items = [
105
- {
106
- value: 'north_america',
107
- label: 'Северная Америка',
108
- },
109
- {
110
- value: 'south_america',
111
- label: 'Южная Америка',
112
- items: [
113
- {
114
- value: 'brazil',
115
- label: 'Бразилия',
116
- items: [
117
- {
118
- value: 'rio_de_janeiro',
119
- label: 'Рио-де-Жанейро',
120
- },
121
- {
122
- value: 'sao_paulo',
123
- label: 'Сан-Паулу',
124
- },
125
- ],
126
- },
127
- {
128
- value: 'argentina',
129
- label: 'Аргентина',
130
- items: [
131
- {
132
- value: 'buenos_aires',
133
- label: 'Буэнос-Айрес',
134
- },
135
- {
136
- value: 'cordoba',
137
- label: 'Кордова',
138
- },
139
- ],
140
- },
141
- {
142
- value: 'colombia',
143
- label: 'Колумбия',
144
- items: [
145
- {
146
- value: 'bogota',
147
- label: 'Богота',
148
- },
149
- {
150
- value: 'medellin',
151
- label: 'Медельин',
152
- },
153
- ],
154
- },
155
- ],
156
- },
157
- {
158
- value: 'europe',
159
- label: 'Европа',
160
- items: [
161
- {
162
- value: 'france',
163
- label: 'Франция',
164
- items: [
165
- {
166
- value: 'paris',
167
- label: 'Париж',
168
- },
169
- {
170
- value: 'lyon',
171
- label: 'Лион',
172
- },
173
- ],
174
- },
175
- {
176
- value: 'germany',
177
- label: 'Германия',
178
- items: [
179
- {
180
- value: 'berlin',
181
- label: 'Берлин',
182
- },
183
- {
184
- value: 'munich',
185
- label: 'Мюнхен',
186
- },
187
- ],
188
- },
189
- {
190
- value: 'italy',
191
- label: 'Италия',
192
- items: [
193
- {
194
- value: 'rome',
195
- label: 'Рим',
196
- },
197
- {
198
- value: 'milan',
199
- label: 'Милан',
200
- },
201
- ],
202
- },
203
- {
204
- value: 'spain',
205
- label: 'Испания',
206
- items: [
207
- {
208
- value: 'madrid',
209
- label: 'Мадрид',
210
- },
211
- {
212
- value: 'barcelona',
213
- label: 'Барселона',
214
- },
215
- ],
216
- },
217
- {
218
- value: 'united_kingdom',
219
- label: 'Великобритания',
220
- items: [
221
- {
222
- value: 'london',
223
- label: 'Лондон',
224
- },
225
- {
226
- value: 'manchester',
227
- label: 'Манчестер',
228
- },
229
- ],
230
- },
231
- ],
232
- },
233
- {
234
- value: 'asia',
235
- label: 'Азия',
236
- items: [
237
- {
238
- value: 'china',
239
- label: 'Китай',
240
- items: [
241
- {
242
- value: 'beijing',
243
- label: 'Пекин',
244
- },
245
- {
246
- value: 'shanghai',
247
- label: 'Шанхай',
248
- },
249
- ],
250
- },
251
- {
252
- value: 'japan',
253
- label: 'Япония',
254
- items: [
255
- {
256
- value: 'tokyo',
257
- label: 'Токио',
258
- },
259
- {
260
- value: 'osaka',
261
- label: 'Осака',
262
- },
263
- ],
264
- },
265
- {
266
- value: 'india',
267
- label: 'Индия',
268
- items: [
269
- {
270
- value: 'delhi',
271
- label: 'Дели',
272
- },
273
- {
274
- value: 'mumbai',
275
- label: 'Мумбаи',
276
- },
277
- ],
278
- },
279
- {
280
- value: 'south_korea',
281
- label: 'Южная Корея',
282
- items: [
283
- {
284
- value: 'seoul',
285
- label: 'Сеул',
286
- },
287
- {
288
- value: 'busan',
289
- label: 'Пусан',
290
- },
291
- ],
292
- },
293
- {
294
- value: 'thailand',
295
- label: 'Таиланд',
296
- items: [
297
- {
298
- value: 'bangkok',
299
- label: 'Бангкок',
300
- },
301
- {
302
- value: 'phuket',
303
- label: 'Пхукет',
304
- },
305
- ],
306
- },
307
- ],
308
- },
309
- {
310
- value: 'africa',
311
- label: 'Африка',
312
- disabled: true,
313
- },
314
- ];
315
-
316
- const SingleStory = (args: StorySelectProps) => {
317
- const [value, setValue] = useState('');
318
-
319
- return (
320
- <div style={{ width: '400px' }}>
321
- <Combobox
322
- {...args}
323
- items={items}
324
- value={value}
325
- onChange={setValue}
326
- contentLeft={args.enableContentLeft ? <IconDone size="s" /> : undefined}
327
- autoComplete="off"
328
- />
329
- </div>
330
- );
331
- };
332
-
333
- export const Single: StoryObj<StorySelectProps> = {
334
- render: (args) => <SingleStory {...args} />,
335
- args: {
336
- closeAfterSelect: true,
337
- },
338
- parameters: {
339
- controls: {
340
- exclude: ['isTargetAmount'],
341
- },
342
- },
343
- };
344
-
345
- const MultipleStory = (args: StorySelectProps) => {
346
- const [value, setValue] = useState([]);
347
-
348
- return (
349
- <div style={{ width: '400px' }}>
350
- <Combobox
351
- {...args}
352
- multiple
353
- items={items}
354
- value={value}
355
- onChange={setValue}
356
- contentLeft={args.enableContentLeft ? <IconDone size="s" /> : undefined}
357
- autoComplete="off"
358
- />
359
- </div>
360
- );
361
- };
362
-
363
- export const Multiple: StoryObj<StorySelectProps> = {
364
- render: (args) => <MultipleStory {...args} />,
365
- args: {
366
- closeAfterSelect: false,
367
- },
368
- };
@@ -1,256 +0,0 @@
1
- import React, { useState } from 'react';
2
- import type { ComponentProps } from 'react';
3
- import type { Meta, StoryObj } from '@storybook/react';
4
- import { action } from '@storybook/addon-actions';
5
-
6
- import { mergeConfig } from '../../../../../engines';
7
- import { Checkbox } from '../../Checkbox/Checkbox';
8
- import { comboboxOldConfig } from '../../../../../components/Combobox';
9
- import { WithTheme, argTypesFromConfig } from '../../../../_helpers';
10
- import { IconDone } from '../../../../../components/_Icon';
11
-
12
- import { Combobox, ComboboxDivider, ComboboxItem } from './Combobox';
13
- import { config } from './Combobox.config';
14
-
15
- const placements: Array<string> = ['top', 'bottom', 'right', 'left', 'auto'];
16
- const enumerations: Array<string> = ['comma', 'chip'];
17
-
18
- type ComboboxPrimitiveValue = string | number | boolean;
19
-
20
- type StorySelectPropsCustom = {
21
- skidding?: number;
22
- distance?: number;
23
- };
24
-
25
- type StorySelectProps = ComponentProps<typeof Combobox> & StorySelectPropsCustom;
26
-
27
- const meta: Meta<StorySelectProps> = {
28
- title: 'plasma_web/Combobox',
29
- decorators: [WithTheme],
30
- component: Combobox,
31
- argTypes: {
32
- placement: {
33
- options: placements,
34
- control: {
35
- type: 'select',
36
- },
37
- },
38
- enumerationType: {
39
- options: enumerations,
40
- control: {
41
- type: 'select',
42
- },
43
- },
44
- ...argTypesFromConfig(mergeConfig(comboboxOldConfig, config)),
45
- },
46
- args: {
47
- usePortal: false,
48
- disabled: false,
49
- readOnly: false,
50
- label: 'Label',
51
- placeholder: 'Placeholder',
52
- enumerationType: 'comma',
53
- size: 'm',
54
- view: 'default',
55
- placement: 'bottom',
56
- },
57
- };
58
-
59
- export default meta;
60
-
61
- const onChangeAction = action('onChange');
62
-
63
- const iconDoneToSelectSizeMap: Record<string, 'xs' | 's'> = {
64
- xs: 'xs',
65
- s: 's',
66
- m: 's',
67
- l: 's',
68
- };
69
-
70
- const checkboxToSelectSizeMap: Record<string, 's' | 'm'> = {
71
- xs: 's',
72
- s: 'm',
73
- m: 'm',
74
- l: 'm',
75
- };
76
-
77
- const getSelectItems = (slug: string, elemCount: number) =>
78
- [...Array(elemCount).keys()].map((num) => ({
79
- value: `${slug}_${num}`,
80
- child: `${slug} ${num}`,
81
- }));
82
-
83
- const SingleDemo = (args: StorySelectProps) => {
84
- const { usePortal, placement, label, placeholder, readOnly, disabled, size = 'm', view } = args;
85
-
86
- const [value, setValue] = useState<ComboboxPrimitiveValue | undefined>('item_0');
87
-
88
- const onChangeValue = (newValue?: ComboboxPrimitiveValue) => {
89
- setValue(newValue);
90
- onChangeAction(newValue);
91
- };
92
-
93
- return (
94
- <div style={{ width: '50%', margin: '3rem 0' }}>
95
- <h4>Combobox с единичным выбором</h4>
96
- <Combobox
97
- frame="theme-root"
98
- usePortal={usePortal}
99
- valueType="single"
100
- value={value}
101
- placement={placement}
102
- label={label}
103
- placeholder={placeholder}
104
- size={size}
105
- view={view}
106
- disabled={disabled}
107
- readOnly={readOnly}
108
- onChangeValue={onChangeValue}
109
- >
110
- <ComboboxItem value={undefined} text="Clear" />
111
- {getSelectItems('item', 6).map((item) => (
112
- <ComboboxItem
113
- key={item.value}
114
- contentLeft={
115
- item.value === value ? (
116
- <IconDone size={iconDoneToSelectSizeMap[size]} color="inherit" />
117
- ) : undefined
118
- }
119
- value={item.value}
120
- text={item.child}
121
- />
122
- ))}
123
- </Combobox>
124
- </div>
125
- );
126
- };
127
-
128
- const MultipleDemo = (args: StorySelectProps) => {
129
- const { usePortal, placement, label, placeholder, readOnly, disabled, enumerationType, size = 'm', view } = args;
130
-
131
- const [value, setValue] = useState<Array<ComboboxPrimitiveValue> | undefined>(['item_2', 'item_3']);
132
-
133
- const onChangeValue = (newValue?: Array<ComboboxPrimitiveValue>) => {
134
- setValue(newValue);
135
- onChangeAction(newValue);
136
- };
137
-
138
- return (
139
- <div style={{ width: '50%', marginBottom: '3rem' }}>
140
- <h4>Combobox с множественным выбором</h4>
141
- <Combobox
142
- frame="theme-root"
143
- usePortal={usePortal}
144
- valueType="multiple"
145
- enumerationType={enumerationType}
146
- value={value}
147
- placement={placement}
148
- label={label}
149
- placeholder={placeholder}
150
- size={size}
151
- view={view}
152
- disabled={disabled}
153
- readOnly={readOnly}
154
- onChangeValue={onChangeValue}
155
- >
156
- <ComboboxItem value={undefined} text="Clear" />
157
- {getSelectItems('item', 6).map((item) => (
158
- <ComboboxItem
159
- key={item.value}
160
- contentLeft={<Checkbox size={checkboxToSelectSizeMap[size]} />}
161
- value={item.value}
162
- text={item.child}
163
- />
164
- ))}
165
- </Combobox>
166
- </div>
167
- );
168
- };
169
-
170
- const AddCustomItemDemo = (args: StorySelectProps) => {
171
- const { usePortal, placement, label, placeholder, readOnly, disabled, size = 'm', view } = args;
172
-
173
- const [opened, setOpened] = useState(false);
174
- const [items, setItems] = useState(getSelectItems('item', 1));
175
- const [value, setValue] = useState<ComboboxPrimitiveValue | undefined>('item_0');
176
-
177
- const onChangeValue = (newValue?: ComboboxPrimitiveValue) => {
178
- setValue(newValue);
179
- onChangeAction(newValue);
180
- };
181
-
182
- const onToggle = (openValue: boolean) => setOpened(openValue);
183
-
184
- const onKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {
185
- const { code } = event;
186
-
187
- if (code === 'Enter') {
188
- const newValue = (event.target as HTMLInputElement).value;
189
- const newItems = [...items];
190
-
191
- if (newItems.find((item) => item.child === newValue)) {
192
- return;
193
- }
194
-
195
- newItems.push({
196
- value: `${newValue}_`,
197
- child: (newValue || '').toString(),
198
- });
199
-
200
- setOpened(false);
201
- setItems(newItems);
202
- }
203
- };
204
-
205
- const filterFunction = () => true;
206
-
207
- return (
208
- <div style={{ width: '50%' }}>
209
- <h4>Combobox с добавлением пользовательского элемента</h4>
210
- <Combobox
211
- frame="theme-root"
212
- usePortal={usePortal}
213
- valueType="single"
214
- value={value}
215
- placement={placement}
216
- label={label}
217
- placeholder={placeholder}
218
- size={size}
219
- view={view}
220
- disabled={disabled}
221
- readOnly={readOnly}
222
- opened={opened}
223
- onToggle={onToggle}
224
- onChangeValue={onChangeValue}
225
- onKeyDown={onKeyDown}
226
- filterFunction={filterFunction}
227
- >
228
- <ComboboxItem value={undefined} text="Clear" />
229
- <ComboboxDivider />
230
- {items.map((item) => (
231
- <ComboboxItem
232
- key={item.value}
233
- contentLeft={
234
- item.value === value ? (
235
- <IconDone size={iconDoneToSelectSizeMap[size]} color="inherit" />
236
- ) : undefined
237
- }
238
- value={item.value}
239
- text={item.child}
240
- />
241
- ))}
242
- </Combobox>
243
- </div>
244
- );
245
- };
246
-
247
- export const Legacy: StoryObj<StorySelectProps> = {
248
- render: (args) => (
249
- <>
250
- <h3>Combobox на композиционной архитектуре (deprecated)</h3>
251
- <SingleDemo {...args} />
252
- <MultipleDemo {...args} />
253
- <AddCustomItemDemo {...args} />
254
- </>
255
- ),
256
- };