@salutejs/plasma-new-hope 0.270.0-canary.1757.13385858717.0 → 0.270.0-canary.1770.13386075549.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.css +1 -1
  2. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +2 -4
  3. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  4. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +2 -4
  5. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  6. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +2 -4
  7. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  8. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +2 -4
  9. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  10. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +2 -4
  11. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  12. package/cjs/components/Combobox/ComboboxNew/Combobox.css +1 -1
  13. package/cjs/components/DatePicker/RangeDate/RangeDate.css +2 -2
  14. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  15. package/cjs/components/DatePicker/SingleDate/SingleDate.css +1 -1
  16. package/cjs/components/Pagination/Pagination.css +1 -1
  17. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +1 -1
  18. package/cjs/components/Range/Range.css +2 -2
  19. package/cjs/components/Range/Range.styles.js.map +1 -1
  20. package/cjs/components/Range/Range.tokens.js +2 -0
  21. package/cjs/components/Range/Range.tokens.js.map +1 -1
  22. package/cjs/components/Range/variations/_readonly/base.js +1 -1
  23. package/cjs/components/Range/variations/_readonly/base.js.map +1 -1
  24. package/cjs/components/Range/variations/_readonly/{base_8q1gx8.css → base_1jlqwtc.css} +1 -1
  25. package/cjs/components/Select/Select.css +1 -1
  26. package/cjs/components/Select/ui/Target/Target.css +1 -1
  27. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.css +1 -1
  28. package/cjs/components/Slider/Slider.css +1 -1
  29. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +1 -1
  30. package/cjs/components/TextArea/TextArea.js +9 -7
  31. package/cjs/components/TextArea/TextArea.js.map +1 -1
  32. package/cjs/components/TextArea/TextArea.tokens.js +3 -0
  33. package/cjs/components/TextArea/TextArea.tokens.js.map +1 -1
  34. package/cjs/components/TextArea/variations/_clear/base.js.map +1 -1
  35. package/cjs/components/TextArea/variations/_read-only/base.js +9 -0
  36. package/cjs/components/TextArea/variations/_read-only/base.js.map +1 -0
  37. package/cjs/components/TextArea/variations/_read-only/base_om8eo9.css +1 -0
  38. package/cjs/components/TextField/TextField.tokens.js +1 -0
  39. package/cjs/components/TextField/TextField.tokens.js.map +1 -1
  40. package/cjs/components/TextField/variations/_read-only/base.js +1 -1
  41. package/cjs/components/TextField/variations/_read-only/base.js.map +1 -1
  42. package/cjs/components/TextField/variations/_read-only/base_sr3to2.css +1 -0
  43. package/cjs/index.css +4 -2
  44. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +2 -4
  45. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +2 -4
  46. package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +2 -4
  47. package/emotion/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +2 -4
  48. package/emotion/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +2 -4
  49. package/emotion/cjs/components/Range/Range.styles.js +10 -10
  50. package/emotion/cjs/components/Range/Range.tokens.js +2 -0
  51. package/emotion/cjs/components/Range/variations/_readonly/base.js +1 -1
  52. package/emotion/cjs/components/TextArea/TextArea.js +10 -8
  53. package/emotion/cjs/components/TextArea/TextArea.tokens.js +3 -0
  54. package/emotion/cjs/components/TextArea/variations/_clear/base.js +1 -1
  55. package/emotion/cjs/components/TextArea/variations/_read-only/base.js +10 -0
  56. package/emotion/cjs/components/TextArea/variations/_read-only/tokens.json +1 -0
  57. package/emotion/cjs/components/TextField/TextField.tokens.js +1 -0
  58. package/emotion/cjs/components/TextField/variations/_read-only/base.js +1 -1
  59. package/emotion/cjs/components/_Icon/Icon.assets/Lock.js +26 -0
  60. package/emotion/cjs/components/_Icon/Icons/IconChevronLeft.js +8 -3
  61. package/emotion/cjs/components/_Icon/Icons/IconLock.js +29 -0
  62. package/emotion/cjs/components/_Icon/index.js +7 -0
  63. package/emotion/cjs/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +10 -10
  64. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -13
  65. package/emotion/cjs/examples/plasma_b2c/components/Range/Range.config.js +7 -7
  66. package/emotion/cjs/examples/plasma_b2c/components/Range/Range.stories.tsx +14 -7
  67. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +17 -14
  68. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +71 -20
  69. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +22 -22
  70. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +92 -26
  71. package/emotion/cjs/examples/plasma_web/components/Calendar/Calendar.stories.tsx +10 -10
  72. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +0 -12
  73. package/emotion/cjs/examples/plasma_web/components/Range/Range.config.js +7 -7
  74. package/emotion/cjs/examples/plasma_web/components/Range/Range.stories.tsx +14 -7
  75. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +71 -20
  76. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.config.js +22 -22
  77. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +85 -25
  78. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +2 -4
  79. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +2 -4
  80. package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +2 -4
  81. package/emotion/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +2 -4
  82. package/emotion/es/components/Calendar/ui/CalendarYears/CalendarYears.js +2 -4
  83. package/emotion/es/components/Range/Range.styles.js +10 -10
  84. package/emotion/es/components/Range/Range.tokens.js +2 -0
  85. package/emotion/es/components/Range/variations/_readonly/base.js +1 -1
  86. package/emotion/es/components/TextArea/TextArea.js +6 -4
  87. package/emotion/es/components/TextArea/TextArea.tokens.js +3 -0
  88. package/emotion/es/components/TextArea/variations/_clear/base.js +1 -1
  89. package/emotion/es/components/TextArea/variations/_read-only/base.js +4 -0
  90. package/emotion/es/components/TextArea/variations/_read-only/tokens.json +1 -0
  91. package/emotion/es/components/TextField/TextField.tokens.js +1 -0
  92. package/emotion/es/components/TextField/variations/_read-only/base.js +2 -2
  93. package/emotion/es/components/_Icon/Icon.assets/Lock.js +19 -0
  94. package/emotion/es/components/_Icon/Icons/IconChevronLeft.js +8 -3
  95. package/emotion/es/components/_Icon/Icons/IconLock.js +22 -0
  96. package/emotion/es/components/_Icon/index.js +1 -0
  97. package/emotion/es/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +10 -10
  98. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -13
  99. package/emotion/es/examples/plasma_b2c/components/Range/Range.config.js +7 -7
  100. package/emotion/es/examples/plasma_b2c/components/Range/Range.stories.tsx +14 -7
  101. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +17 -14
  102. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +71 -20
  103. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.config.js +22 -22
  104. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +92 -26
  105. package/emotion/es/examples/plasma_web/components/Calendar/Calendar.stories.tsx +10 -10
  106. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +0 -12
  107. package/emotion/es/examples/plasma_web/components/Range/Range.config.js +7 -7
  108. package/emotion/es/examples/plasma_web/components/Range/Range.stories.tsx +14 -7
  109. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +71 -20
  110. package/emotion/es/examples/plasma_web/components/TextField/TextField.config.js +22 -22
  111. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +85 -25
  112. package/es/components/Autocomplete/Autocomplete.css +1 -1
  113. package/es/components/Calendar/CalendarBase/CalendarBase.js +2 -4
  114. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  115. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +2 -4
  116. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  117. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +2 -4
  118. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  119. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +2 -4
  120. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  121. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +2 -4
  122. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  123. package/es/components/Combobox/ComboboxNew/Combobox.css +1 -1
  124. package/es/components/DatePicker/RangeDate/RangeDate.css +2 -2
  125. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  126. package/es/components/DatePicker/SingleDate/SingleDate.css +1 -1
  127. package/es/components/Pagination/Pagination.css +1 -1
  128. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +1 -1
  129. package/es/components/Range/Range.css +2 -2
  130. package/es/components/Range/Range.styles.js.map +1 -1
  131. package/es/components/Range/Range.tokens.js +2 -0
  132. package/es/components/Range/Range.tokens.js.map +1 -1
  133. package/es/components/Range/variations/_readonly/base.js +1 -1
  134. package/es/components/Range/variations/_readonly/base.js.map +1 -1
  135. package/es/components/Range/variations/_readonly/{base_8q1gx8.css → base_1jlqwtc.css} +1 -1
  136. package/es/components/Select/Select.css +1 -1
  137. package/es/components/Select/ui/Target/Target.css +1 -1
  138. package/es/components/Select/ui/Target/ui/Textfield/Textfield.css +1 -1
  139. package/es/components/Slider/Slider.css +1 -1
  140. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +1 -1
  141. package/es/components/TextArea/TextArea.js +9 -7
  142. package/es/components/TextArea/TextArea.js.map +1 -1
  143. package/es/components/TextArea/TextArea.tokens.js +3 -0
  144. package/es/components/TextArea/TextArea.tokens.js.map +1 -1
  145. package/es/components/TextArea/variations/_clear/base.js.map +1 -1
  146. package/es/components/TextArea/variations/_read-only/base.js +5 -0
  147. package/es/components/TextArea/variations/_read-only/base.js.map +1 -0
  148. package/es/components/TextArea/variations/_read-only/base_om8eo9.css +1 -0
  149. package/es/components/TextField/TextField.tokens.js +1 -0
  150. package/es/components/TextField/TextField.tokens.js.map +1 -1
  151. package/es/components/TextField/variations/_read-only/base.js +1 -1
  152. package/es/components/TextField/variations/_read-only/base.js.map +1 -1
  153. package/es/components/TextField/variations/_read-only/base_sr3to2.css +1 -0
  154. package/es/index.css +4 -2
  155. package/package.json +2 -2
  156. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +2 -4
  157. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +2 -4
  158. package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +2 -4
  159. package/styled-components/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +2 -4
  160. package/styled-components/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +2 -4
  161. package/styled-components/cjs/components/Range/Range.tokens.js +2 -0
  162. package/styled-components/cjs/components/Range/variations/_readonly/base.js +1 -1
  163. package/styled-components/cjs/components/TextArea/TextArea.js +9 -7
  164. package/styled-components/cjs/components/TextArea/TextArea.tokens.js +3 -0
  165. package/styled-components/cjs/components/TextArea/variations/_read-only/base.js +10 -0
  166. package/styled-components/cjs/components/TextArea/variations/_read-only/tokens.json +1 -0
  167. package/styled-components/cjs/components/TextField/TextField.tokens.js +1 -0
  168. package/styled-components/cjs/components/TextField/variations/_read-only/base.js +1 -1
  169. package/styled-components/cjs/components/_Icon/Icon.assets/Lock.js +26 -0
  170. package/styled-components/cjs/components/_Icon/Icons/IconChevronLeft.js +8 -3
  171. package/styled-components/cjs/components/_Icon/Icons/IconLock.js +29 -0
  172. package/styled-components/cjs/components/_Icon/index.js +7 -0
  173. package/styled-components/cjs/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +10 -10
  174. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -13
  175. package/styled-components/cjs/examples/plasma_b2c/components/Range/Range.config.js +1 -1
  176. package/styled-components/cjs/examples/plasma_b2c/components/Range/Range.stories.tsx +14 -7
  177. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +3 -0
  178. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +71 -20
  179. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +7 -7
  180. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +92 -26
  181. package/styled-components/cjs/examples/plasma_web/components/Calendar/Calendar.stories.tsx +10 -10
  182. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +0 -12
  183. package/styled-components/cjs/examples/plasma_web/components/Range/Range.config.js +1 -1
  184. package/styled-components/cjs/examples/plasma_web/components/Range/Range.stories.tsx +14 -7
  185. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +71 -20
  186. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.config.js +7 -7
  187. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +85 -25
  188. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +2 -4
  189. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +2 -4
  190. package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +2 -4
  191. package/styled-components/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +2 -4
  192. package/styled-components/es/components/Calendar/ui/CalendarYears/CalendarYears.js +2 -4
  193. package/styled-components/es/components/Range/Range.tokens.js +2 -0
  194. package/styled-components/es/components/Range/variations/_readonly/base.js +1 -1
  195. package/styled-components/es/components/TextArea/TextArea.js +5 -3
  196. package/styled-components/es/components/TextArea/TextArea.tokens.js +3 -0
  197. package/styled-components/es/components/TextArea/variations/_read-only/base.js +4 -0
  198. package/styled-components/es/components/TextArea/variations/_read-only/tokens.json +1 -0
  199. package/styled-components/es/components/TextField/TextField.tokens.js +1 -0
  200. package/styled-components/es/components/TextField/variations/_read-only/base.js +2 -2
  201. package/styled-components/es/components/_Icon/Icon.assets/Lock.js +19 -0
  202. package/styled-components/es/components/_Icon/Icons/IconChevronLeft.js +8 -3
  203. package/styled-components/es/components/_Icon/Icons/IconLock.js +22 -0
  204. package/styled-components/es/components/_Icon/index.js +1 -0
  205. package/styled-components/es/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +10 -10
  206. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -13
  207. package/styled-components/es/examples/plasma_b2c/components/Range/Range.config.js +1 -1
  208. package/styled-components/es/examples/plasma_b2c/components/Range/Range.stories.tsx +14 -7
  209. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +3 -0
  210. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +71 -20
  211. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +7 -7
  212. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +92 -26
  213. package/styled-components/es/examples/plasma_web/components/Calendar/Calendar.stories.tsx +10 -10
  214. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +0 -12
  215. package/styled-components/es/examples/plasma_web/components/Range/Range.config.js +1 -1
  216. package/styled-components/es/examples/plasma_web/components/Range/Range.stories.tsx +14 -7
  217. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +71 -20
  218. package/styled-components/es/examples/plasma_web/components/TextField/TextField.config.js +7 -7
  219. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +85 -25
  220. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  221. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  222. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.d.ts.map +1 -1
  223. package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.d.ts.map +1 -1
  224. package/types/components/Calendar/ui/CalendarYears/CalendarYears.d.ts.map +1 -1
  225. package/types/components/Range/Range.tokens.d.ts +2 -0
  226. package/types/components/Range/Range.tokens.d.ts.map +1 -1
  227. package/types/components/Range/variations/_readonly/base.d.ts.map +1 -1
  228. package/types/components/TextArea/TextArea.d.ts +3 -2
  229. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  230. package/types/components/TextArea/TextArea.tokens.d.ts +3 -0
  231. package/types/components/TextArea/TextArea.tokens.d.ts.map +1 -1
  232. package/types/components/TextArea/variations/_clear/base.d.ts.map +1 -1
  233. package/types/components/TextArea/variations/_read-only/base.d.ts +2 -0
  234. package/types/components/TextArea/variations/_read-only/base.d.ts.map +1 -0
  235. package/types/components/TextField/TextField.tokens.d.ts +1 -0
  236. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  237. package/types/components/TextField/variations/_read-only/base.d.ts.map +1 -1
  238. package/types/components/_Icon/Icon.assets/Lock.d.ts +4 -0
  239. package/types/components/_Icon/Icon.assets/Lock.d.ts.map +1 -0
  240. package/types/components/_Icon/Icons/IconChevronLeft.d.ts.map +1 -1
  241. package/types/components/_Icon/Icons/IconLock.d.ts +4 -0
  242. package/types/components/_Icon/Icons/IconLock.d.ts.map +1 -0
  243. package/types/components/_Icon/index.d.ts +1 -0
  244. package/types/components/_Icon/index.d.ts.map +1 -1
  245. package/types/examples/plasma_b2c/components/Range/Range.config.d.ts.map +1 -1
  246. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts +3 -0
  247. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts.map +1 -1
  248. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts +3 -0
  249. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts.map +1 -1
  250. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts.map +1 -1
  251. package/types/examples/plasma_web/components/Range/Range.config.d.ts.map +1 -1
  252. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts.map +1 -1
  253. package/cjs/components/TextField/variations/_read-only/base_oizdmx.css +0 -1
  254. package/es/components/TextField/variations/_read-only/base_oizdmx.css +0 -1
@@ -4,7 +4,7 @@ import { action } from '@storybook/addon-actions';
4
4
  import { IconPlaceholder } from '@salutejs/plasma-sb-utils';
5
5
 
6
6
  import { WithTheme } from '../../../_helpers';
7
- import { IconCross } from '../../../../components/_Icon';
7
+ import { IconCross, IconLock } from '../../../../components/_Icon';
8
8
  import type { PopoverPlacement } from '../Popover/Popover';
9
9
 
10
10
  import { TextField } from './TextField';
@@ -21,8 +21,8 @@ const chipViews = ['default', 'secondary', 'accent', 'positive', 'warning', 'neg
21
21
  const hintViews = ['default'];
22
22
  const hintSizes = ['m', 's'];
23
23
  const hintTriggers = ['hover', 'click'];
24
- const labelPlacements = ['outer', 'inner'];
25
24
  const hintTargetPlacements = ['outer', 'inner'];
25
+ const labelPlacements = ['outer', 'inner'];
26
26
  const placements: Array<PopoverPlacement> = [
27
27
  'top',
28
28
  'top-start',
@@ -43,6 +43,16 @@ const placements: Array<PopoverPlacement> = [
43
43
  'auto',
44
44
  ];
45
45
 
46
+ const getIcon = (IconComponent: React.ReactElement, size: string, readOnly = false) => {
47
+ const iconSize = size === 'xs' ? 'xs' : 's';
48
+
49
+ if (readOnly) {
50
+ return <IconLock size={iconSize} color="var(--text-secondary)" style={{ opacity: 0.4 }} />;
51
+ }
52
+
53
+ return <IconComponent size={iconSize} color="inherit" />;
54
+ };
55
+
46
56
  const meta: Meta<typeof TextField> = {
47
57
  title: 'b2c/Data Entry/TextField',
48
58
  component: TextField,
@@ -58,19 +68,28 @@ const meta: Meta<typeof TextField> = {
58
68
  control: {
59
69
  type: 'boolean',
60
70
  },
61
- if: { arg: 'optional', truthy: false },
71
+ if: {
72
+ arg: 'optional',
73
+ truthy: false,
74
+ },
62
75
  },
63
76
  optional: {
64
77
  control: {
65
78
  type: 'boolean',
66
79
  },
67
- if: { arg: 'required', truthy: false },
80
+ if: {
81
+ arg: 'required',
82
+ truthy: false,
83
+ },
68
84
  },
69
85
  hasDivider: {
70
86
  control: {
71
87
  type: 'boolean',
72
88
  },
73
- if: { arg: 'clear', truthy: true },
89
+ if: {
90
+ arg: 'clear',
91
+ truthy: true,
92
+ },
74
93
  },
75
94
  view: {
76
95
  options: views,
@@ -93,7 +112,10 @@ const meta: Meta<typeof TextField> = {
93
112
  control: {
94
113
  type: 'boolean',
95
114
  },
96
- if: { arg: 'labelPlacement', eq: 'inner' },
115
+ if: {
116
+ arg: 'labelPlacement',
117
+ eq: 'inner',
118
+ },
97
119
  },
98
120
  size: {
99
121
  options: sizes,
@@ -101,53 +123,83 @@ const meta: Meta<typeof TextField> = {
101
123
  type: 'inline-radio',
102
124
  },
103
125
  },
126
+ titleCaption: {
127
+ control: { type: 'text' },
128
+ },
129
+ leftHelper: {
130
+ control: { type: 'text' },
131
+ },
104
132
  hintText: {
105
133
  control: { type: 'text' },
106
- if: { arg: 'hasHint', truthy: true },
134
+ if: {
135
+ arg: 'hasHint',
136
+ truthy: true,
137
+ },
107
138
  },
108
139
  hintView: {
109
140
  options: hintViews,
110
141
  control: {
111
142
  type: 'select',
112
143
  },
113
- if: { arg: 'hasHint', truthy: true },
144
+ if: {
145
+ arg: 'hasHint',
146
+ truthy: true,
147
+ },
114
148
  },
115
149
  hintSize: {
116
150
  options: hintSizes,
117
151
  control: {
118
152
  type: 'select',
119
153
  },
120
- if: { arg: 'hasHint', truthy: true },
154
+ if: {
155
+ arg: 'hasHint',
156
+ truthy: true,
157
+ },
121
158
  },
122
159
  hintTargetPlacement: {
123
160
  options: hintTargetPlacements,
124
161
  control: {
125
162
  type: 'inline-radio',
126
163
  },
127
- if: { arg: 'hasHint', truthy: true },
164
+ if: {
165
+ arg: 'hasHint',
166
+ truthy: true,
167
+ },
128
168
  },
129
169
  hintTrigger: {
130
170
  options: hintTriggers,
131
171
  control: {
132
172
  type: 'inline-radio',
133
173
  },
134
- if: { arg: 'hasHint', truthy: true },
174
+ if: {
175
+ arg: 'hasHint',
176
+ truthy: true,
177
+ },
135
178
  },
136
179
  hintPlacement: {
137
180
  options: placements,
138
181
  control: {
139
182
  type: 'select',
140
183
  },
141
- if: { arg: 'hasHint', truthy: true },
184
+ if: {
185
+ arg: 'hasHint',
186
+ truthy: true,
187
+ },
142
188
  mappers: placements,
143
189
  },
144
190
  hintHasArrow: {
145
191
  control: { type: 'boolean' },
146
- if: { arg: 'hasHint', truthy: true },
192
+ if: {
193
+ arg: 'hasHint',
194
+ truthy: true,
195
+ },
147
196
  },
148
197
  hintWidth: {
149
198
  control: { type: 'text' },
150
- if: { arg: 'hasHint', truthy: true },
199
+ if: {
200
+ arg: 'hasHint',
201
+ truthy: true,
202
+ },
151
203
  },
152
204
  chipType: {
153
205
  control: 'select',
@@ -183,19 +235,28 @@ type StoryPropsDefault = Omit<
183
235
  enableContentRight: boolean;
184
236
  };
185
237
 
186
- const StoryDemo = ({ enableContentLeft, enableContentRight, view, ...rest }: StoryPropsDefault) => {
238
+ const StoryDemo = ({ enableContentLeft, enableContentRight, view, readOnly, ...rest }: StoryPropsDefault) => {
187
239
  const [text, setText] = useState('Значение поля');
188
240
 
189
- const iconSize = rest.size === 'xs' ? 'xs' : 's';
241
+ const contentRight = enableContentRight || readOnly ? getIcon(IconCross, rest.size, readOnly) : undefined;
190
242
 
191
243
  return (
192
- <div style={{ display: 'flex', flexDirection: 'column', gap: '2rem', width: '70%', margin: '0 auto' }}>
244
+ <div
245
+ style={{
246
+ display: 'flex',
247
+ flexDirection: 'column',
248
+ gap: '2rem',
249
+ width: '70%',
250
+ margin: '0 auto',
251
+ }}
252
+ >
193
253
  <TextField
194
254
  {...rest}
195
255
  enumerationType="plain"
196
256
  value={text}
197
- contentLeft={enableContentLeft ? <IconCross color="inherit" size={iconSize} /> : undefined}
198
- contentRight={enableContentRight ? <IconCross color="inherit" size={iconSize} /> : undefined}
257
+ readOnly={readOnly}
258
+ contentLeft={enableContentLeft ? getIcon(IconPlaceholder, rest.size) : undefined}
259
+ contentRight={contentRight}
199
260
  view={view}
200
261
  onChange={(e) => {
201
262
  setText(e.target.value);
@@ -211,9 +272,10 @@ const StoryDemo = ({ enableContentLeft, enableContentRight, view, ...rest }: Sto
211
272
  label="Uncontrolled TextField"
212
273
  defaultValue="Дефолтное значение"
213
274
  enumerationType="plain"
214
- contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
215
- contentRight={enableContentRight ? <IconPlaceholder size={iconSize} /> : undefined}
275
+ contentLeft={enableContentLeft ? getIcon(IconPlaceholder, rest.size) : undefined}
276
+ contentRight={contentRight}
216
277
  view={view}
278
+ readOnly={readOnly}
217
279
  onFocus={onFocus}
218
280
  onBlur={onBlur}
219
281
  onSearch={onSearch}
@@ -285,10 +347,10 @@ type StoryPropsChips = Omit<
285
347
  enableContentRight: boolean;
286
348
  };
287
349
 
288
- const StoryChips = ({ enableContentLeft, enableContentRight, view, ...rest }: StoryPropsChips) => {
350
+ const StoryChips = ({ enableContentLeft, enableContentRight, view, readOnly, ...rest }: StoryPropsChips) => {
289
351
  const [text, setText] = useState('Значение поля');
290
352
 
291
- const iconSize = rest.size === 'xs' ? 'xs' : 's';
353
+ const contentRight = enableContentRight || readOnly ? getIcon(IconCross, rest.size, readOnly) : undefined;
292
354
 
293
355
  const validateChip = (value) => (value === '1 value' ? { view: 'negative' } : {});
294
356
 
@@ -297,9 +359,10 @@ const StoryChips = ({ enableContentLeft, enableContentRight, view, ...rest }: St
297
359
  {...rest}
298
360
  enumerationType="chip"
299
361
  value={text}
300
- contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
301
- contentRight={enableContentRight ? <IconPlaceholder size={iconSize} /> : undefined}
362
+ contentLeft={enableContentLeft ? getIcon(IconPlaceholder, rest.size) : undefined}
363
+ contentRight={contentRight}
302
364
  view={view}
365
+ readOnly={readOnly}
303
366
  onChange={(e) => {
304
367
  setText(e.target.value);
305
368
  onChange(e.target.value);
@@ -308,7 +371,10 @@ const StoryChips = ({ enableContentLeft, enableContentRight, view, ...rest }: St
308
371
  onBlur={onBlur}
309
372
  onChangeChips={onChipsChange}
310
373
  chipValidator={validateChip}
311
- style={{ width: '70%', margin: '0 auto' }}
374
+ style={{
375
+ width: '70%',
376
+ margin: '0 auto',
377
+ }}
312
378
  />
313
379
  );
314
380
  };
@@ -100,11 +100,11 @@ const StoryDefault = (args: CalendarProps) => {
100
100
  isDouble={isDouble}
101
101
  date={date}
102
102
  value={(isRange ? valueRange : value) as Date & [Date, Date?]}
103
+ min={min}
104
+ max={max}
103
105
  includeEdgeDates={includeEdgeDates}
104
106
  locale={locale}
105
107
  onChangeValue={(isRange ? handleOnRangeChange : handleOnChange) as (value: Date | [Date, Date?]) => void}
106
- min={min}
107
- max={max}
108
108
  />
109
109
  );
110
110
  };
@@ -146,24 +146,24 @@ const StoryBase = (args: CalendarBaseProps & { displayDouble: boolean }) => {
146
146
  <CalendarDouble
147
147
  size={size}
148
148
  value={value}
149
+ min={min}
150
+ max={max}
149
151
  includeEdgeDates={includeEdgeDates}
150
152
  type={type}
151
153
  locale={locale}
152
154
  onChangeValue={handleOnChange}
153
- min={min}
154
- max={max}
155
155
  {...rest}
156
156
  />
157
157
  ) : (
158
158
  <CalendarBase
159
159
  size={size}
160
160
  value={value}
161
+ min={min}
162
+ max={max}
161
163
  includeEdgeDates={includeEdgeDates}
162
164
  type={type}
163
165
  locale={locale}
164
166
  onChangeValue={handleOnChange}
165
- min={min}
166
- max={max}
167
167
  {...rest}
168
168
  />
169
169
  );
@@ -233,24 +233,24 @@ const StoryRange = (args: CalendarBaseRangeProps & { displayDouble: boolean }) =
233
233
  <CalendarBaseRange
234
234
  size={size}
235
235
  value={values}
236
+ min={min}
237
+ max={max}
236
238
  includeEdgeDates={includeEdgeDates}
237
239
  type={type}
238
240
  onChangeValue={handleOnChange}
239
241
  locale={locale}
240
- min={min}
241
- max={max}
242
242
  {...rest}
243
243
  />
244
244
  ) : (
245
245
  <CalendarDoubleRange
246
246
  size={size}
247
247
  value={values}
248
+ min={min}
249
+ max={max}
248
250
  includeEdgeDates={includeEdgeDates}
249
251
  type={type}
250
252
  onChangeValue={handleOnChange}
251
253
  locale={locale}
252
- min={min}
253
- max={max}
254
254
  {...rest}
255
255
  />
256
256
  );
@@ -80,8 +80,6 @@ const StoryDefault = ({
80
80
  size,
81
81
  lang,
82
82
  format,
83
- min,
84
- max,
85
83
  ...rest
86
84
  }: StoryPropsDefault) => {
87
85
  const [isOpen, setIsOpen] = useState(false);
@@ -105,8 +103,6 @@ const StoryDefault = ({
105
103
  lang={lang}
106
104
  format={format}
107
105
  onCommitDate={() => setIsOpen(false)}
108
- min={min}
109
- max={max}
110
106
  {...rest}
111
107
  />
112
108
  );
@@ -192,8 +188,6 @@ const StoryRange = ({
192
188
  secondValueSuccess,
193
189
  size,
194
190
  lang,
195
- min,
196
- max,
197
191
  ...rest
198
192
  }: StoryPropsRange) => {
199
193
  const rangeRef = useRef<RangeInputRefs>(null);
@@ -246,8 +240,6 @@ const StoryRange = ({
246
240
  onChangeSecondValue(e, currentValue);
247
241
  }}
248
242
  lang={lang}
249
- min={min}
250
- max={max}
251
243
  {...dividerIconProps}
252
244
  {...rest}
253
245
  />
@@ -314,8 +306,6 @@ const StoryDeferred = ({
314
306
  valueError,
315
307
  valueSuccess,
316
308
  size,
317
- min,
318
- max,
319
309
  ...rest
320
310
  }: StoryPropsDefault) => {
321
311
  const [isOpen, setIsOpen] = useState(false);
@@ -348,8 +338,6 @@ const StoryDeferred = ({
348
338
  onChangeValue(e, currentValue);
349
339
  }}
350
340
  onCommitDate={() => setIsOpen(false)}
351
- min={min}
352
- max={max}
353
341
  {...rest}
354
342
  />
355
343
  </>
@@ -19,7 +19,7 @@ export var config = {
19
19
  "true": /*#__PURE__*/css(["", ":0.4;"], tokens.disabledOpacity)
20
20
  },
21
21
  readOnly: {
22
- "true": /*#__PURE__*/css(["", ":var(--surface-clear);", ":var(--surface-transparent-tertiary);", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--text-secondary);", ":transparent;", ":var(--text-secondary);"], tokens.backgroundReadOnly, tokens.borderColorReadOnly, tokens.labelColorReadOnly, tokens.leftHelperColorReadOnly, tokens.dividerColorReadOnly, tokens.textFieldColorReadOnly, tokens.textFieldBackgroundColorReadOnly, tokens.textFieldPlaceholderColorReadOnly)
22
+ "true": /*#__PURE__*/css(["", ":var(--surface-clear);", ":var(--surface-transparent-tertiary);", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--text-secondary);", ":0.4;", ":0.4;", ":var(--text-primary);", ":transparent;", ":var(--text-secondary);"], tokens.backgroundReadOnly, tokens.borderColorReadOnly, tokens.labelColorReadOnly, tokens.leftHelperColorReadOnly, tokens.dividerColorReadOnly, tokens.dividerOpacityReadOnly, tokens.rightContentOpacityReadOnly, tokens.textFieldColorReadOnly, tokens.textFieldBackgroundColorReadOnly, tokens.textFieldPlaceholderColorReadOnly)
23
23
  }
24
24
  }
25
25
  };
@@ -1,7 +1,7 @@
1
1
  import React, { ChangeEvent, ComponentProps, Dispatch, SetStateAction, useState } from 'react';
2
2
  import type { StoryObj, Meta } from '@storybook/react';
3
3
  import { action } from '@storybook/addon-actions';
4
- import { IconPlaceholder } from '@salutejs/plasma-sb-utils';
4
+ import { disableProps, IconPlaceholder } from '@salutejs/plasma-sb-utils';
5
5
 
6
6
  import { WithTheme } from '../../../_helpers';
7
7
  import { IconChevronLeft } from '../../../../components/_Icon';
@@ -45,7 +45,10 @@ const meta: Meta<typeof Range> = {
45
45
  control: {
46
46
  type: 'select',
47
47
  },
48
- if: { arg: 'required', truthy: true },
48
+ if: {
49
+ arg: 'required',
50
+ truthy: true,
51
+ },
49
52
  },
50
53
  ...disableProps(['view']),
51
54
  },
@@ -76,10 +79,14 @@ const getSizeForIcon = (size) => {
76
79
  return size;
77
80
  };
78
81
 
79
- const ActionButton = ({ size }) => {
82
+ const ActionButton = ({ size, readOnly }) => {
80
83
  return (
81
- <IconButton view="clear" size={size}>
82
- <IconChevronLeft size={getSizeForIcon(size)} />
84
+ <IconButton view="clear" size={size} disabled={readOnly}>
85
+ <IconChevronLeft
86
+ color={readOnly ? 'var(--text-secondary)' : 'inherit'}
87
+ size={getSizeForIcon(size)}
88
+ style={{ transform: 'rotate(180deg)' }}
89
+ />
83
90
  </IconButton>
84
91
  );
85
92
  };
@@ -115,7 +122,7 @@ const StoryDefault = ({
115
122
  firstValue={firstValue}
116
123
  secondValue={secondValue}
117
124
  contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
118
- contentRight={enableContentRight ? <ActionButton size={size} /> : undefined}
125
+ contentRight={enableContentRight ? <ActionButton size={size} readOnly={rest.readOnly} /> : undefined}
119
126
  firstTextfieldContentLeft={
120
127
  enableFirstTextfieldContentLeft ? <IconPlaceholder size={iconSize} /> : undefined
121
128
  }
@@ -266,7 +273,7 @@ const StoryDemo = ({ enableContentLeft, enableContentRight, size, ...rest }: Sto
266
273
  firstValueSuccess={firstValueSuccess}
267
274
  secondValueSuccess={secondValueSuccess}
268
275
  contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
269
- contentRight={enableContentRight ? <ActionButton size={size} /> : undefined}
276
+ contentRight={enableContentRight ? <ActionButton size={size} readOnly={rest.readOnly} /> : undefined}
270
277
  onChangeFirstValue={(e) => {
271
278
  handleChangeValue(
272
279
  e,
@@ -8,6 +8,7 @@ import { textAreaConfig } from '../../../../components/TextArea';
8
8
  import { mergeConfig } from '../../../../engines';
9
9
  import { WithTheme, argTypesFromConfig } from '../../../_helpers';
10
10
  import type { PopoverPlacement } from '../Popover/Popover';
11
+ import { IconLock } from '../../../../components/_Icon';
11
12
 
12
13
  import { config } from './TextArea.config';
13
14
  import { TextArea } from './TextArea';
@@ -38,6 +39,16 @@ const placements: Array<PopoverPlacement> = [
38
39
  'auto',
39
40
  ];
40
41
 
42
+ const getIcon = (IconComponent: React.ReactElement, size: string, readOnly = false) => {
43
+ const iconSize = size === 'xs' ? 'xs' : 's';
44
+
45
+ if (readOnly) {
46
+ return <IconLock size={iconSize} color="var(--text-secondary)" style={{ opacity: 0.4 }} />;
47
+ }
48
+
49
+ return <IconComponent size={iconSize} color="inherit" />;
50
+ };
51
+
41
52
  type StoryTextAreaPropsCustom = {
42
53
  hasHint?: boolean;
43
54
  enableContentRight?: boolean;
@@ -61,19 +72,25 @@ const meta: Meta<StoryTextAreaProps> = {
61
72
  control: {
62
73
  type: 'boolean',
63
74
  },
64
- if: { arg: 'optional', truthy: false },
75
+ if: {
76
+ arg: 'optional',
77
+ truthy: false,
78
+ },
65
79
  },
66
80
  optional: {
67
81
  control: {
68
82
  type: 'boolean',
69
83
  },
70
- if: { arg: 'required', truthy: false },
84
+ if: {
85
+ arg: 'required',
86
+ truthy: false,
87
+ },
71
88
  },
72
89
  size: {
73
90
  options: sizes,
74
91
  defaultValue: 'm',
75
92
  control: {
76
- type: 'select',
93
+ type: 'inline-radio',
77
94
  },
78
95
  },
79
96
  view: {
@@ -92,19 +109,28 @@ const meta: Meta<StoryTextAreaProps> = {
92
109
  control: {
93
110
  type: 'boolean',
94
111
  },
95
- if: { arg: 'clear', truthy: true },
112
+ if: {
113
+ arg: 'clear',
114
+ truthy: true,
115
+ },
96
116
  },
97
117
  cols: {
98
118
  control: {
99
119
  type: 'number',
100
120
  },
101
- if: { arg: 'clear', truthy: false },
121
+ if: {
122
+ arg: 'clear',
123
+ truthy: false,
124
+ },
102
125
  },
103
126
  rows: {
104
127
  control: {
105
128
  type: 'number',
106
129
  },
107
- if: { arg: 'clear', truthy: false },
130
+ if: {
131
+ arg: 'clear',
132
+ truthy: false,
133
+ },
108
134
  },
109
135
  hasHint: {
110
136
  control: {
@@ -113,47 +139,65 @@ const meta: Meta<StoryTextAreaProps> = {
113
139
  },
114
140
  hintText: {
115
141
  control: { type: 'text' },
116
- if: { arg: 'hasHint', truthy: true },
142
+ if: {
143
+ arg: 'hasHint',
144
+ truthy: true,
145
+ },
117
146
  },
118
147
  hintView: {
119
148
  options: hintViews,
120
149
  control: {
121
150
  type: 'select',
122
151
  },
123
- if: { arg: 'hasHint', truthy: true },
152
+ if: {
153
+ arg: 'hasHint',
154
+ truthy: true,
155
+ },
124
156
  },
125
157
  hintSize: {
126
158
  options: hintSizes,
127
159
  control: {
128
160
  type: 'select',
129
161
  },
130
- if: { arg: 'hasHint', truthy: true },
162
+ if: {
163
+ arg: 'hasHint',
164
+ truthy: true,
165
+ },
131
166
  },
132
167
  hintTrigger: {
133
168
  options: hintTriggers,
134
169
  control: {
135
170
  type: 'inline-radio',
136
171
  },
137
- if: { arg: 'hasHint', truthy: true },
172
+ if: {
173
+ arg: 'hasHint',
174
+ truthy: true,
175
+ },
138
176
  },
139
177
  hintPlacement: {
140
178
  options: placements,
141
179
  control: {
142
180
  type: 'select',
143
181
  },
144
- if: { arg: 'hasHint', truthy: true },
182
+ if: {
183
+ arg: 'hasHint',
184
+ truthy: true,
185
+ },
145
186
  mappers: placements,
146
187
  },
147
188
  hintHasArrow: {
148
189
  control: { type: 'boolean' },
149
- if: { arg: 'hasHint', truthy: true },
190
+ if: {
191
+ arg: 'hasHint',
192
+ truthy: true,
193
+ },
150
194
  },
151
195
  hintWidth: {
152
196
  control: { type: 'text' },
153
- if: { arg: 'hasHint', truthy: true },
154
- },
155
- helperText: {
156
- control: { type: 'text' },
197
+ if: {
198
+ arg: 'hasHint',
199
+ truthy: true,
200
+ },
157
201
  },
158
202
  width: {
159
203
  control: { type: 'text' },
@@ -172,6 +216,7 @@ const meta: Meta<StoryTextAreaProps> = {
172
216
  },
173
217
  ...disableProps([
174
218
  'helperBlock',
219
+ 'helperText',
175
220
  '$isFocused',
176
221
  'contentRight',
177
222
  'autoComplete',
@@ -195,6 +240,7 @@ const meta: Meta<StoryTextAreaProps> = {
195
240
  'hintOffset',
196
241
  'hintContentLeft',
197
242
  'hintView',
243
+ 'hintOpened',
198
244
  ]),
199
245
  },
200
246
  args: {
@@ -238,19 +284,24 @@ const onBlur = action('onBlur');
238
284
  const StoryDefault = (props: StoryTextAreaProps) => {
239
285
  const [value, setValue] = useState('Значение поля');
240
286
 
241
- const iconSize = props.size === 'xs' ? 'xs' : 's';
242
-
243
287
  return (
244
288
  <TextArea
245
289
  value={value}
246
- contentRight={props.enableContentRight ? <IconPlaceholder size={iconSize} /> : undefined}
290
+ contentRight={
291
+ props.enableContentRight || props.readOnly
292
+ ? getIcon(IconPlaceholder, props.size, props.readOnly)
293
+ : undefined
294
+ }
247
295
  onChange={(e) => {
248
296
  setValue(e.target.value);
249
297
  onChange(e);
250
298
  }}
251
299
  onFocus={onFocus}
252
300
  onBlur={onBlur}
253
- style={{ width: '70%', margin: '0 auto' }}
301
+ style={{
302
+ width: '70%',
303
+ margin: '0 auto',
304
+ }}
254
305
  {...props}
255
306
  />
256
307
  );