@salutejs/plasma-b2c 1.640.0-dev.0 → 1.641.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 (235) hide show
  1. package/README.md +2 -2
  2. package/dist/css/cjs/components/Autocomplete/Autocomplete.clear.config.js +46 -0
  3. package/dist/css/cjs/components/Autocomplete/Autocomplete.clear.config.js.map +1 -0
  4. package/dist/css/cjs/components/Autocomplete/Autocomplete.clear.config_1paus6e.css +15 -0
  5. package/dist/css/cjs/components/Autocomplete/Autocomplete.config.js +1 -1
  6. package/dist/css/cjs/components/Autocomplete/Autocomplete.config.js.map +1 -1
  7. package/dist/css/cjs/components/Autocomplete/Autocomplete.config_g9tbnn.css +15 -0
  8. package/dist/css/cjs/components/Autocomplete/Autocomplete.css +30 -14
  9. package/dist/css/cjs/components/Autocomplete/Autocomplete.js +10 -1
  10. package/dist/css/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  11. package/dist/css/cjs/components/DatePicker/DatePicker.clear.config.js +1 -1
  12. package/dist/css/cjs/components/DatePicker/DatePicker.clear.config.js.map +1 -1
  13. package/dist/css/cjs/components/DatePicker/DatePicker.clear.config_g58txx.css +13 -0
  14. package/dist/css/cjs/components/DatePicker/DatePicker.config.js +1 -1
  15. package/dist/css/cjs/components/DatePicker/DatePicker.config.js.map +1 -1
  16. package/dist/css/cjs/components/DatePicker/DatePicker.config_1yxdldh.css +13 -0
  17. package/dist/css/cjs/components/DatePicker/DatePicker.css +26 -26
  18. package/dist/css/cjs/components/DateTimePicker/DateTimePicker.clear.config.js +1 -1
  19. package/dist/css/cjs/components/DateTimePicker/DateTimePicker.clear.config.js.map +1 -1
  20. package/dist/css/cjs/components/DateTimePicker/DateTimePicker.clear.config_d8v946.css +13 -0
  21. package/dist/css/cjs/components/DateTimePicker/DateTimePicker.config.js +1 -1
  22. package/dist/css/cjs/components/DateTimePicker/DateTimePicker.config.js.map +1 -1
  23. package/dist/css/cjs/components/DateTimePicker/DateTimePicker.config_1wc65ll.css +13 -0
  24. package/dist/css/cjs/components/DateTimePicker/DateTimePicker.css +26 -26
  25. package/dist/css/cjs/components/InformationWrapper/InformationWrapper.config.js +1 -1
  26. package/dist/css/cjs/components/InformationWrapper/InformationWrapper.config.js.map +1 -1
  27. package/dist/css/cjs/components/InformationWrapper/{InformationWrapper.config_1glkttm.css → InformationWrapper.config_1iwwe6b.css} +4 -4
  28. package/dist/css/cjs/components/InformationWrapper/InformationWrapper.css +12 -12
  29. package/dist/css/cjs/components/Mask/Mask.css +42 -42
  30. package/dist/css/cjs/components/Range/Range.clear.config.js +1 -1
  31. package/dist/css/cjs/components/Range/Range.clear.config.js.map +1 -1
  32. package/dist/css/{es/components/Range/Range.clear.config_3l5zfi.css → cjs/components/Range/Range.clear.config_1e79wsw.css} +5 -5
  33. package/dist/css/cjs/components/Range/Range.config.js +1 -1
  34. package/dist/css/cjs/components/Range/Range.config.js.map +1 -1
  35. package/dist/css/{es/components/Range/Range.config_xzp7mw.css → cjs/components/Range/Range.config_1acoyog.css} +5 -5
  36. package/dist/css/cjs/components/Range/Range.css +22 -22
  37. package/dist/css/cjs/components/Select/Select.clear.config.js +60 -0
  38. package/dist/css/cjs/components/Select/Select.clear.config.js.map +1 -0
  39. package/dist/css/cjs/components/Select/Select.clear.config_1q8q0cy.css +24 -0
  40. package/dist/css/cjs/components/Select/Select.config.js +1 -1
  41. package/dist/css/cjs/components/Select/Select.config.js.map +1 -1
  42. package/dist/css/cjs/components/Select/Select.config_4jo2zr.css +24 -0
  43. package/dist/css/cjs/components/Select/Select.css +48 -23
  44. package/dist/css/cjs/components/Select/Select.js +8 -1
  45. package/dist/css/cjs/components/Select/Select.js.map +1 -1
  46. package/dist/css/cjs/components/TextArea/TextArea.clear.config.js +1 -1
  47. package/dist/css/cjs/components/TextArea/TextArea.clear.config.js.map +1 -1
  48. package/dist/css/{es/components/TextArea/TextArea.clear.config_1gcop6e.css → cjs/components/TextArea/TextArea.clear.config_m125ks.css} +5 -5
  49. package/dist/css/cjs/components/TextArea/TextArea.config.js +1 -1
  50. package/dist/css/cjs/components/TextArea/TextArea.config.js.map +1 -1
  51. package/dist/css/cjs/components/TextArea/{TextArea.config_lv30fy.css → TextArea.config_1fr7eme.css} +5 -5
  52. package/dist/css/cjs/components/TextArea/TextArea.css +30 -30
  53. package/dist/css/cjs/components/TextField/TextField.clear.config.js +1 -1
  54. package/dist/css/cjs/components/TextField/TextField.clear.config.js.map +1 -1
  55. package/dist/css/cjs/components/TextField/TextField.clear.config_17n2wtf.css +22 -0
  56. package/dist/css/cjs/components/TextField/TextField.config.js +1 -1
  57. package/dist/css/cjs/components/TextField/TextField.config.js.map +1 -1
  58. package/dist/css/{es/components/TextField/TextField.config_cl1zgq.css → cjs/components/TextField/TextField.config_x1az5u.css} +5 -5
  59. package/dist/css/cjs/components/TimePicker/TimePicker.config.js +1 -1
  60. package/dist/css/cjs/components/TimePicker/TimePicker.config.js.map +1 -1
  61. package/dist/css/cjs/components/TimePicker/TimePicker.config_17l3u8g.css +10 -0
  62. package/dist/css/cjs/components/TimePicker/TimePicker.css +10 -10
  63. package/dist/css/cjs/index.css +257 -216
  64. package/dist/css/es/components/Autocomplete/Autocomplete.clear.config.js +42 -0
  65. package/dist/css/es/components/Autocomplete/Autocomplete.clear.config.js.map +1 -0
  66. package/dist/css/es/components/Autocomplete/Autocomplete.clear.config_1paus6e.css +15 -0
  67. package/dist/css/es/components/Autocomplete/Autocomplete.config.js +1 -1
  68. package/dist/css/es/components/Autocomplete/Autocomplete.config.js.map +1 -1
  69. package/dist/css/es/components/Autocomplete/Autocomplete.config_g9tbnn.css +15 -0
  70. package/dist/css/es/components/Autocomplete/Autocomplete.css +30 -14
  71. package/dist/css/es/components/Autocomplete/Autocomplete.js +10 -3
  72. package/dist/css/es/components/Autocomplete/Autocomplete.js.map +1 -1
  73. package/dist/css/es/components/DatePicker/DatePicker.clear.config.js +1 -1
  74. package/dist/css/es/components/DatePicker/DatePicker.clear.config.js.map +1 -1
  75. package/dist/css/es/components/DatePicker/DatePicker.clear.config_g58txx.css +13 -0
  76. package/dist/css/es/components/DatePicker/DatePicker.config.js +1 -1
  77. package/dist/css/es/components/DatePicker/DatePicker.config.js.map +1 -1
  78. package/dist/css/es/components/DatePicker/DatePicker.config_1yxdldh.css +13 -0
  79. package/dist/css/es/components/DatePicker/DatePicker.css +26 -26
  80. package/dist/css/es/components/DateTimePicker/DateTimePicker.clear.config.js +1 -1
  81. package/dist/css/es/components/DateTimePicker/DateTimePicker.clear.config.js.map +1 -1
  82. package/dist/css/es/components/DateTimePicker/DateTimePicker.clear.config_d8v946.css +13 -0
  83. package/dist/css/es/components/DateTimePicker/DateTimePicker.config.js +1 -1
  84. package/dist/css/es/components/DateTimePicker/DateTimePicker.config.js.map +1 -1
  85. package/dist/css/es/components/DateTimePicker/DateTimePicker.config_1wc65ll.css +13 -0
  86. package/dist/css/es/components/DateTimePicker/DateTimePicker.css +26 -26
  87. package/dist/css/es/components/InformationWrapper/InformationWrapper.config.js +1 -1
  88. package/dist/css/es/components/InformationWrapper/InformationWrapper.config.js.map +1 -1
  89. package/dist/css/es/components/InformationWrapper/{InformationWrapper.config_1glkttm.css → InformationWrapper.config_1iwwe6b.css} +4 -4
  90. package/dist/css/es/components/InformationWrapper/InformationWrapper.css +12 -12
  91. package/dist/css/es/components/Mask/Mask.css +42 -42
  92. package/dist/css/es/components/Range/Range.clear.config.js +1 -1
  93. package/dist/css/es/components/Range/Range.clear.config.js.map +1 -1
  94. package/dist/css/{cjs/components/Range/Range.clear.config_3l5zfi.css → es/components/Range/Range.clear.config_1e79wsw.css} +5 -5
  95. package/dist/css/es/components/Range/Range.config.js +1 -1
  96. package/dist/css/es/components/Range/Range.config.js.map +1 -1
  97. package/dist/css/{cjs/components/Range/Range.config_xzp7mw.css → es/components/Range/Range.config_1acoyog.css} +5 -5
  98. package/dist/css/es/components/Range/Range.css +22 -22
  99. package/dist/css/es/components/Select/Select.clear.config.js +56 -0
  100. package/dist/css/es/components/Select/Select.clear.config.js.map +1 -0
  101. package/dist/css/es/components/Select/Select.clear.config_1q8q0cy.css +24 -0
  102. package/dist/css/es/components/Select/Select.config.js +1 -1
  103. package/dist/css/es/components/Select/Select.config.js.map +1 -1
  104. package/dist/css/es/components/Select/Select.config_4jo2zr.css +24 -0
  105. package/dist/css/es/components/Select/Select.css +48 -23
  106. package/dist/css/es/components/Select/Select.js +9 -2
  107. package/dist/css/es/components/Select/Select.js.map +1 -1
  108. package/dist/css/es/components/TextArea/TextArea.clear.config.js +1 -1
  109. package/dist/css/es/components/TextArea/TextArea.clear.config.js.map +1 -1
  110. package/dist/css/{cjs/components/TextArea/TextArea.clear.config_1gcop6e.css → es/components/TextArea/TextArea.clear.config_m125ks.css} +5 -5
  111. package/dist/css/es/components/TextArea/TextArea.config.js +1 -1
  112. package/dist/css/es/components/TextArea/TextArea.config.js.map +1 -1
  113. package/dist/css/es/components/TextArea/{TextArea.config_lv30fy.css → TextArea.config_1fr7eme.css} +5 -5
  114. package/dist/css/es/components/TextArea/TextArea.css +30 -30
  115. package/dist/css/es/components/TextField/TextField.clear.config.js +1 -1
  116. package/dist/css/es/components/TextField/TextField.clear.config.js.map +1 -1
  117. package/dist/css/es/components/TextField/TextField.clear.config_17n2wtf.css +22 -0
  118. package/dist/css/es/components/TextField/TextField.config.js +1 -1
  119. package/dist/css/es/components/TextField/TextField.config.js.map +1 -1
  120. package/dist/css/{cjs/components/TextField/TextField.config_cl1zgq.css → es/components/TextField/TextField.config_x1az5u.css} +5 -5
  121. package/dist/css/es/components/TimePicker/TimePicker.config.js +1 -1
  122. package/dist/css/es/components/TimePicker/TimePicker.config.js.map +1 -1
  123. package/dist/css/es/components/TimePicker/TimePicker.config_17l3u8g.css +10 -0
  124. package/dist/css/es/components/TimePicker/TimePicker.css +10 -10
  125. package/dist/css/es/index.css +257 -216
  126. package/dist/styled-components/cjs/components/Autocomplete/Autocomplete.clear.config.js +623 -0
  127. package/dist/styled-components/cjs/components/Autocomplete/Autocomplete.config.js +33 -0
  128. package/dist/styled-components/cjs/components/Autocomplete/Autocomplete.js +14 -1
  129. package/dist/styled-components/cjs/components/Card/Card.js +80 -0
  130. package/dist/styled-components/cjs/components/Card/CardBadge.js +88 -0
  131. package/dist/styled-components/cjs/components/Card/CardBody.js +23 -0
  132. package/dist/styled-components/cjs/components/Card/CardContent.js +71 -0
  133. package/dist/styled-components/cjs/components/Card/CardMedia.js +12 -0
  134. package/dist/styled-components/cjs/components/Card/index.js +11 -7
  135. package/dist/styled-components/cjs/components/DatePicker/DatePicker.clear.config.js +5 -0
  136. package/dist/styled-components/cjs/components/DatePicker/DatePicker.config.js +5 -0
  137. package/dist/styled-components/cjs/components/DateTimePicker/DateTimePicker.clear.config.js +5 -0
  138. package/dist/styled-components/cjs/components/DateTimePicker/DateTimePicker.config.js +5 -0
  139. package/dist/styled-components/cjs/components/InformationWrapper/InformationWrapper.config.js +4 -0
  140. package/dist/styled-components/cjs/components/Modal/Modal.js +195 -0
  141. package/dist/styled-components/cjs/components/Modal/ModalView.js +63 -0
  142. package/dist/styled-components/cjs/components/Modal/ModalsContext.js +113 -0
  143. package/dist/styled-components/cjs/components/Modal/index.js +6 -4
  144. package/dist/styled-components/cjs/components/Range/Range.clear.config.js +5 -0
  145. package/dist/styled-components/cjs/components/Range/Range.config.js +5 -0
  146. package/dist/styled-components/cjs/components/Select/Select.clear.config.js +1124 -0
  147. package/dist/styled-components/cjs/components/Select/Select.config.js +32 -0
  148. package/dist/styled-components/cjs/components/Select/Select.js +8 -1
  149. package/dist/styled-components/cjs/components/TextArea/TextArea.clear.config.js +5 -0
  150. package/dist/styled-components/cjs/components/TextArea/TextArea.config.js +5 -0
  151. package/dist/styled-components/cjs/components/TextField/TextField.clear.config.js +23 -3
  152. package/dist/styled-components/cjs/components/TextField/TextField.config.js +5 -0
  153. package/dist/styled-components/cjs/components/TimePicker/TimePicker.config.js +30 -0
  154. package/dist/styled-components/cjs/components/_Button/Button.js +72 -0
  155. package/dist/styled-components/cjs/components/_Button/Button.props.js +126 -0
  156. package/dist/styled-components/cjs/components/_Button/index.js +20 -0
  157. package/dist/styled-components/cjs/components/_Button/types.js +4 -0
  158. package/dist/styled-components/cjs/components/_Button/views/b2c/ButtonB2C.js +57 -0
  159. package/dist/styled-components/cjs/components/_Button/views/web/ButtonWeb.js +63 -0
  160. package/dist/styled-components/es/components/Autocomplete/Autocomplete.clear.config.js +613 -0
  161. package/dist/styled-components/es/components/Autocomplete/Autocomplete.config.js +33 -0
  162. package/dist/styled-components/es/components/Autocomplete/Autocomplete.js +9 -2
  163. package/dist/styled-components/es/components/Card/Card.js +24 -0
  164. package/dist/styled-components/es/components/Card/CardBadge.js +37 -0
  165. package/dist/styled-components/es/components/Card/CardBody.js +8 -0
  166. package/dist/styled-components/es/components/Card/CardContent.js +14 -0
  167. package/dist/styled-components/es/components/Card/CardMedia.js +2 -0
  168. package/dist/styled-components/es/components/Card/index.js +5 -5
  169. package/dist/styled-components/es/components/DatePicker/DatePicker.clear.config.js +5 -0
  170. package/dist/styled-components/es/components/DatePicker/DatePicker.config.js +5 -0
  171. package/dist/styled-components/es/components/DateTimePicker/DateTimePicker.clear.config.js +5 -0
  172. package/dist/styled-components/es/components/DateTimePicker/DateTimePicker.config.js +5 -0
  173. package/dist/styled-components/es/components/InformationWrapper/InformationWrapper.config.js +4 -0
  174. package/dist/styled-components/es/components/Modal/Modal.js +142 -0
  175. package/dist/styled-components/es/components/Modal/ModalView.js +50 -0
  176. package/dist/styled-components/es/components/Modal/ModalsContext.js +51 -0
  177. package/dist/styled-components/es/components/Modal/index.js +3 -1
  178. package/dist/styled-components/es/components/Range/Range.clear.config.js +5 -0
  179. package/dist/styled-components/es/components/Range/Range.config.js +5 -0
  180. package/dist/styled-components/es/components/Select/Select.clear.config.js +1114 -0
  181. package/dist/styled-components/es/components/Select/Select.config.js +32 -0
  182. package/dist/styled-components/es/components/Select/Select.js +9 -2
  183. package/dist/styled-components/es/components/TextArea/TextArea.clear.config.js +5 -0
  184. package/dist/styled-components/es/components/TextArea/TextArea.config.js +5 -0
  185. package/dist/styled-components/es/components/TextField/TextField.clear.config.js +23 -3
  186. package/dist/styled-components/es/components/TextField/TextField.config.js +5 -0
  187. package/dist/styled-components/es/components/TimePicker/TimePicker.config.js +30 -0
  188. package/dist/styled-components/es/components/_Button/Button.js +21 -0
  189. package/dist/styled-components/es/components/_Button/Button.props.js +71 -0
  190. package/dist/styled-components/es/components/_Button/index.js +2 -0
  191. package/dist/styled-components/es/components/_Button/types.js +1 -0
  192. package/dist/styled-components/es/components/_Button/views/b2c/ButtonB2C.js +42 -0
  193. package/dist/styled-components/es/components/_Button/views/web/ButtonWeb.js +48 -0
  194. package/package.json +15 -15
  195. package/types/components/Autocomplete/Autocomplete.clear.config.d.ts +38 -0
  196. package/types/components/Autocomplete/Autocomplete.d.ts +2000 -10
  197. package/types/components/Calendar/Calendar.d.ts +3 -1
  198. package/types/components/Card/Card.d.ts +16 -0
  199. package/types/components/Card/CardBadge.d.ts +12 -0
  200. package/types/components/Card/CardBody.d.ts +3 -0
  201. package/types/components/Card/CardContent.d.ts +8 -0
  202. package/types/components/Card/CardMedia.d.ts +3 -0
  203. package/types/components/Card/index.d.ts +9 -9
  204. package/types/components/DatePicker/DatePicker.d.ts +36 -36
  205. package/types/components/DateTimePicker/DateTimePicker.d.ts +8 -8
  206. package/types/components/Modal/Modal.d.ts +47 -0
  207. package/types/components/Modal/ModalView.d.ts +23 -0
  208. package/types/components/Modal/ModalsContext.d.ts +15 -0
  209. package/types/components/Modal/index.d.ts +4 -2
  210. package/types/components/Select/Select.clear.config.d.ts +52 -0
  211. package/types/components/Select/Select.d.ts +36 -10
  212. package/types/components/TimePicker/TimePicker.d.ts +2 -0
  213. package/types/components/_Button/Button.d.ts +3 -0
  214. package/types/components/_Button/Button.props.d.ts +37 -0
  215. package/types/components/_Button/index.d.ts +4 -0
  216. package/types/components/_Button/types.d.ts +16 -0
  217. package/types/components/_Button/views/b2c/ButtonB2C.d.ts +5 -0
  218. package/types/components/_Button/views/web/ButtonWeb.d.ts +5 -0
  219. package/types/mixins/index.d.ts +1 -1
  220. package/dist/css/cjs/components/Autocomplete/Autocomplete.config_1e65vh7.css +0 -15
  221. package/dist/css/cjs/components/DatePicker/DatePicker.clear.config_ohlkzl.css +0 -13
  222. package/dist/css/cjs/components/DatePicker/DatePicker.config_kcwbn.css +0 -13
  223. package/dist/css/cjs/components/DateTimePicker/DateTimePicker.clear.config_ycq0km.css +0 -13
  224. package/dist/css/cjs/components/DateTimePicker/DateTimePicker.config_144c0b0.css +0 -13
  225. package/dist/css/cjs/components/Select/Select.config_1pm79n3.css +0 -24
  226. package/dist/css/cjs/components/TextField/TextField.clear.config_1g82q62.css +0 -22
  227. package/dist/css/cjs/components/TimePicker/TimePicker.config_li48d3.css +0 -10
  228. package/dist/css/es/components/Autocomplete/Autocomplete.config_1e65vh7.css +0 -15
  229. package/dist/css/es/components/DatePicker/DatePicker.clear.config_ohlkzl.css +0 -13
  230. package/dist/css/es/components/DatePicker/DatePicker.config_kcwbn.css +0 -13
  231. package/dist/css/es/components/DateTimePicker/DateTimePicker.clear.config_ycq0km.css +0 -13
  232. package/dist/css/es/components/DateTimePicker/DateTimePicker.config_144c0b0.css +0 -13
  233. package/dist/css/es/components/Select/Select.config_1pm79n3.css +0 -24
  234. package/dist/css/es/components/TextField/TextField.clear.config_1g82q62.css +0 -22
  235. package/dist/css/es/components/TimePicker/TimePicker.config_li48d3.css +0 -10
@@ -23,6 +23,7 @@ export const config = {
23
23
  ${tokens.textFieldTextAfterColor}: var(--text-tertiary);
24
24
  ${tokens.textFieldLabelColor}: var(--text-primary);
25
25
  ${tokens.textFieldLeftHelperColor}: var(--text-secondary);
26
+ ${tokens.textFieldTitleCaptionColor}: var(--text-secondary);
26
27
  ${tokens.textFieldFocusColor}: var(--text-accent);
27
28
 
28
29
  ${tokens.textFieldContentSlotColor}: var(--text-secondary);
@@ -65,6 +66,7 @@ export const config = {
65
66
  ${tokens.textFieldTextAfterColor}: var(--text-tertiary);
66
67
  ${tokens.textFieldLabelColor}: var(--text-primary);
67
68
  ${tokens.textFieldLeftHelperColor}: var(--text-positive);
69
+ ${tokens.textFieldTitleCaptionColor}: var(--text-secondary);
68
70
  ${tokens.textFieldFocusColor}: var(--text-accent);
69
71
 
70
72
  ${tokens.textFieldContentSlotColor}: var(--text-secondary);
@@ -107,6 +109,7 @@ export const config = {
107
109
  ${tokens.textFieldTextAfterColor}: var(--text-tertiary);
108
110
  ${tokens.textFieldLabelColor}: var(--text-primary);
109
111
  ${tokens.textFieldLeftHelperColor}: var(--text-warning);
112
+ ${tokens.textFieldTitleCaptionColor}: var(--text-secondary);
110
113
  ${tokens.textFieldFocusColor}: var(--text-accent);
111
114
 
112
115
  ${tokens.textFieldContentSlotColor}: var(--text-secondary);
@@ -149,6 +152,7 @@ export const config = {
149
152
  ${tokens.textFieldTextAfterColor}: var(--text-tertiary);
150
153
  ${tokens.textFieldLabelColor}: var(--text-primary);
151
154
  ${tokens.textFieldLeftHelperColor}: var(--text-negative);
155
+ ${tokens.textFieldTitleCaptionColor}: var(--text-secondary);
152
156
  ${tokens.textFieldFocusColor}: var(--text-accent);
153
157
 
154
158
  ${tokens.textFieldContentSlotColor}: var(--text-secondary);
@@ -207,6 +211,13 @@ export const config = {
207
211
  ${tokens.textFieldLabelFontWeight}: var(--plasma-typo-body-l-font-weight);
208
212
  ${tokens.textFieldLabelLetterSpacing}: var(--plasma-typo-body-l-letter-spacing);
209
213
  ${tokens.textFieldLabelLineHeight}: var(--plasma-typo-body-l-line-height);
214
+ ${tokens.textFieldTitleCaptionMargin}: 0.375rem;
215
+ ${tokens.textFieldTitleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
216
+ ${tokens.textFieldTitleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
217
+ ${tokens.textFieldTitleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
218
+ ${tokens.textFieldTitleCaptionFontWeight}: var(--plasma-typo-body-xs-font-weight);
219
+ ${tokens.textFieldTitleCaptionLetterSpacing}: var(--plasma-typo-body-xs-letter-spacing);
220
+ ${tokens.textFieldTitleCaptionLineHeight}: var(--plasma-typo-body-xs-line-height);
210
221
 
211
222
  ${tokens.textFieldHintMargin}: -0.688rem -0.5rem;
212
223
  ${tokens.textFieldHintTargetSize}: 2.375rem;
@@ -282,6 +293,13 @@ export const config = {
282
293
  ${tokens.textFieldLabelFontWeight}: var(--plasma-typo-body-m-font-weight);
283
294
  ${tokens.textFieldLabelLetterSpacing}: var(--plasma-typo-body-m-letter-spacing);
284
295
  ${tokens.textFieldLabelLineHeight}: var(--plasma-typo-body-m-line-height);
296
+ ${tokens.textFieldTitleCaptionMargin}: 0.3125rem;
297
+ ${tokens.textFieldTitleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
298
+ ${tokens.textFieldTitleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
299
+ ${tokens.textFieldTitleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
300
+ ${tokens.textFieldTitleCaptionFontWeight}: var(--plasma-typo-body-xs-font-weight);
301
+ ${tokens.textFieldTitleCaptionLetterSpacing}: var(--plasma-typo-body-xs-letter-spacing);
302
+ ${tokens.textFieldTitleCaptionLineHeight}: var(--plasma-typo-body-xs-line-height);
285
303
 
286
304
  ${tokens.textFieldHintMargin}: -0.688rem -0.5rem;
287
305
  ${tokens.textFieldHintTargetSize}: 2.375rem;
@@ -357,6 +375,13 @@ export const config = {
357
375
  ${tokens.textFieldLabelFontWeight}: var(--plasma-typo-body-s-font-weight);
358
376
  ${tokens.textFieldLabelLetterSpacing}: var(--plasma-typo-body-s-letter-spacing);
359
377
  ${tokens.textFieldLabelLineHeight}: var(--plasma-typo-body-s-line-height);
378
+ ${tokens.textFieldTitleCaptionMargin}: 0.1875rem;
379
+ ${tokens.textFieldTitleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
380
+ ${tokens.textFieldTitleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
381
+ ${tokens.textFieldTitleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
382
+ ${tokens.textFieldTitleCaptionFontWeight}: var(--plasma-typo-body-xs-font-weight);
383
+ ${tokens.textFieldTitleCaptionLetterSpacing}: var(--plasma-typo-body-xs-letter-spacing);
384
+ ${tokens.textFieldTitleCaptionLineHeight}: var(--plasma-typo-body-xs-line-height);
360
385
 
361
386
  ${tokens.textFieldHintMargin}: -0.688rem -0.5rem;
362
387
  ${tokens.textFieldHintTargetSize}: 2.375rem;
@@ -432,6 +457,13 @@ export const config = {
432
457
  ${tokens.textFieldLabelFontWeight}: var(--plasma-typo-body-xs-font-weight);
433
458
  ${tokens.textFieldLabelLetterSpacing}: var(--plasma-typo-body-xs-letter-spacing);
434
459
  ${tokens.textFieldLabelLineHeight}: var(--plasma-typo-body-xs-line-height);
460
+ ${tokens.textFieldTitleCaptionMargin}: 0;
461
+ ${tokens.textFieldTitleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
462
+ ${tokens.textFieldTitleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
463
+ ${tokens.textFieldTitleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
464
+ ${tokens.textFieldTitleCaptionFontWeight}: var(--plasma-typo-body-xs-font-weight);
465
+ ${tokens.textFieldTitleCaptionLetterSpacing}: var(--plasma-typo-body-xs-letter-spacing);
466
+ ${tokens.textFieldTitleCaptionLineHeight}: var(--plasma-typo-body-xs-line-height);
435
467
 
436
468
  ${tokens.textFieldHintMargin}: -0.75rem -0.625rem -0.75rem -0.5rem;
437
469
  ${tokens.textFieldHintTargetSize}: 2.375rem;
@@ -561,6 +593,7 @@ export const config = {
561
593
  ${tokens.textFieldBackgroundColorReadOnly}: var(--surface-transparent-primary);
562
594
  ${tokens.textFieldPlaceholderColorReadOnly}: var(--text-secondary);
563
595
  ${tokens.textFieldLeftHelperColorReadOnly}: var(--text-secondary);
596
+ ${tokens.textFieldTitleCaptionColorReadOnly}: var(--text-secondary);
564
597
  ${tokens.textFieldLabelColorReadOnly}: var(--text-primary);
565
598
  ${tokens.textFieldDividerColorReadOnly}: var(--surface-transparent-primary);
566
599
  `
@@ -1,8 +1,15 @@
1
- import { autocompleteConfig, component, mergeConfig, fixedForwardRef } from '@salutejs/plasma-new-hope/styled-components';
1
+ import { autocompleteConfig, component, createConditionalComponent, mergeConfig, fixedForwardRef } from '@salutejs/plasma-new-hope/styled-components';
2
2
  import React from 'react';
3
3
  import { config } from './Autocomplete.config';
4
+ import { config as clearConfig } from './Autocomplete.clear.config';
4
5
  const mergedConfig = mergeConfig(autocompleteConfig, config);
5
- export const AutocompleteComponent = component(mergedConfig);
6
+ export const AutocompleteDefault = component(mergedConfig);
7
+ const mergedClearConfig = mergeConfig(autocompleteConfig, clearConfig);
8
+ export const AutocompleteClear = component(mergedClearConfig);
9
+ export const AutocompleteComponent = createConditionalComponent({
10
+ default: AutocompleteDefault,
11
+ clear: AutocompleteClear
12
+ });
6
13
  const AutocompleteWithoutRef = (props, ref)=>{
7
14
  return /*#__PURE__*/ React.createElement(AutocompleteComponent, {
8
15
  ...props,
@@ -0,0 +1,24 @@
1
+ import styled, { css } from 'styled-components';
2
+ import { plasmaCore } from '@salutejs/plasma-new-hope/styled-components';
3
+ const { applyRoundness, Card: CardBase, CardContent, StyledCard } = plasmaCore;
4
+ export { StyledCard };
5
+ const DEFAULT_ROUNDNESS = 20;
6
+ /**
7
+ * Контейнер со скругленными углами с возможностью фокусировки на нем.
8
+ */ export const Card = styled(CardBase).withConfig({
9
+ displayName: "Card",
10
+ componentId: "sc-a673e9d5-0"
11
+ })([
12
+ `box-shadow:none;background:transparent;img{`,
13
+ `}`,
14
+ ``
15
+ ], ({ roundness = DEFAULT_ROUNDNESS })=>roundness && css([
16
+ ``,
17
+ `;`
18
+ ], applyRoundness({
19
+ roundness
20
+ })), ({ background })=>background && css([
21
+ `background:`,
22
+ `;`,
23
+ `{padding:1.25rem;}img{border-bottom-left-radius:0;border-bottom-right-radius:0;}`
24
+ ], background, CardContent));
@@ -0,0 +1,37 @@
1
+ import styled, { css } from 'styled-components';
2
+ import { plasmaCore } from '@salutejs/plasma-new-hope/styled-components';
3
+ const BaseBadge = plasmaCore.Badge;
4
+ const { surfaceLiquid02 } = plasmaCore;
5
+ const { text } = plasmaCore;
6
+ const badgeViews = {
7
+ primary: css([
8
+ `color:#226af1;background-color:rgba(34,106,241,0.09);`
9
+ ]),
10
+ secondary: css([
11
+ `color:`,
12
+ `;background-color:`,
13
+ `;`
14
+ ], text, surfaceLiquid02),
15
+ success: css([
16
+ `color:#09a552;background-color:rgba(9,165,82,0.08);`
17
+ ]),
18
+ warning: css([
19
+ `color:#ee6820;background-color:rgba(238,104,32,0.08);`
20
+ ]),
21
+ critical: css([
22
+ `color:#df2638;background-color:rgba(223,38,56,0.09);`
23
+ ])
24
+ };
25
+ const Badge = styled(BaseBadge).withConfig({
26
+ displayName: "CardBadge__Badge",
27
+ componentId: "sc-7420800e-0"
28
+ })([
29
+ `border-radius:0.25rem;`,
30
+ ``
31
+ ], ({ view = 'primary' })=>badgeViews[view]);
32
+ export const CardBadge = styled(Badge).withConfig({
33
+ displayName: "CardBadge",
34
+ componentId: "sc-7420800e-1"
35
+ })([
36
+ `position:absolute;`
37
+ ]);
@@ -0,0 +1,8 @@
1
+ import { plasmaCore } from '@salutejs/plasma-new-hope/styled-components';
2
+ import styled from 'styled-components';
3
+ export const CardBody = styled(plasmaCore.CardBody).withConfig({
4
+ displayName: "CardBody",
5
+ componentId: "sc-24af94e7-0"
6
+ })([
7
+ `overflow:visible;`
8
+ ]);
@@ -0,0 +1,14 @@
1
+ import styled, { css } from 'styled-components';
2
+ import { plasmaCore } from '@salutejs/plasma-new-hope/styled-components';
3
+ export const CardContentBase = plasmaCore.CardContent;
4
+ /**
5
+ * Компонент для отображения как текстового, так и любого другого контента.
6
+ */ export const CardContent = styled(CardContentBase).withConfig({
7
+ displayName: "CardContent",
8
+ componentId: "sc-41a65dbb-0"
9
+ })([
10
+ `padding:0;padding-top:1rem;`,
11
+ ``
12
+ ], ({ cover })=>cover && css([
13
+ `padding:1.25rem;`
14
+ ]));
@@ -0,0 +1,2 @@
1
+ import { plasmaCore } from '@salutejs/plasma-new-hope/styled-components';
2
+ export const { CardMedia } = plasmaCore;
@@ -1,5 +1,5 @@
1
- export { Card, StyledCard } from '@salutejs/plasma-hope';
2
- export { CardBadge } from '@salutejs/plasma-hope';
3
- export { CardBody } from '@salutejs/plasma-hope';
4
- export { CardContent } from '@salutejs/plasma-hope';
5
- export { CardMedia } from '@salutejs/plasma-hope';
1
+ export { Card, StyledCard } from './Card';
2
+ export { CardBadge } from './CardBadge';
3
+ export { CardBody } from './CardBody';
4
+ export { CardContent } from './CardContent';
5
+ export { CardMedia } from './CardMedia';
@@ -197,6 +197,7 @@ export const config = {
197
197
  ${tokens.hintInnerLabelPlacementOffset}:0.82rem -2.063rem auto auto;
198
198
 
199
199
  ${tokens.titleCaptionOffset}: 0.375rem;
200
+ ${tokens.titleCaptionMargin}: 0.375rem;
200
201
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
201
202
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
202
203
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -368,6 +369,7 @@ export const config = {
368
369
  ${tokens.hintInnerLabelPlacementOffset}: 0.563rem -2.188rem auto auto;
369
370
 
370
371
  ${tokens.titleCaptionOffset}: 0.375rem;
372
+ ${tokens.titleCaptionMargin}: 0.375rem;
371
373
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
372
374
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
373
375
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -539,6 +541,7 @@ export const config = {
539
541
  ${tokens.hintInnerLabelPlacementOffset}: 0.312rem -2.188rem auto auto;
540
542
 
541
543
  ${tokens.titleCaptionOffset}: 0.313rem;
544
+ ${tokens.titleCaptionMargin}: 0.3125rem;
542
545
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
543
546
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
544
547
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -710,6 +713,7 @@ export const config = {
710
713
  ${tokens.hintInnerLabelPlacementOffset}: 0.062rem -2.188rem auto auto;
711
714
 
712
715
  ${tokens.titleCaptionOffset}: 0.188rem;
716
+ ${tokens.titleCaptionMargin}: 0.1875rem;
713
717
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
714
718
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
715
719
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -881,6 +885,7 @@ export const config = {
881
885
  ${tokens.hintInnerLabelPlacementOffset}: -0.188rem -1.938rem auto auto;
882
886
 
883
887
  ${tokens.titleCaptionOffset}: 0;
888
+ ${tokens.titleCaptionMargin}: 0;
884
889
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
885
890
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
886
891
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -163,6 +163,7 @@ export const config = {
163
163
  ${tokens.hintInnerLabelPlacementOffset}: 0.813rem -2.938rem auto auto;
164
164
 
165
165
  ${tokens.titleCaptionOffset}: 0.375rem;
166
+ ${tokens.titleCaptionMargin}: 0.375rem;
166
167
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
167
168
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
168
169
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -333,6 +334,7 @@ export const config = {
333
334
  ${tokens.clearHintInnerLabelPlacementOffset}: 0.563rem -2.188rem auto auto;
334
335
 
335
336
  ${tokens.titleCaptionOffset}: 0.375rem;
337
+ ${tokens.titleCaptionMargin}: 0.375rem;
336
338
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
337
339
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
338
340
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -503,6 +505,7 @@ export const config = {
503
505
  ${tokens.clearHintInnerLabelPlacementOffset}: 0.312rem -2.188rem auto auto;
504
506
 
505
507
  ${tokens.titleCaptionOffset}: 0.313rem;
508
+ ${tokens.titleCaptionMargin}: 0.3125rem;
506
509
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
507
510
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
508
511
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -673,6 +676,7 @@ export const config = {
673
676
  ${tokens.clearHintInnerLabelPlacementOffset}: 0.062rem -2.188rem auto auto;
674
677
 
675
678
  ${tokens.titleCaptionOffset}: 0.188rem;
679
+ ${tokens.titleCaptionMargin}: 0.1875rem;
676
680
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
677
681
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
678
682
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -843,6 +847,7 @@ export const config = {
843
847
  ${tokens.clearHintInnerLabelPlacementOffset}: -0.188rem -1.938rem auto auto;
844
848
 
845
849
  ${tokens.titleCaptionOffset}: 0;
850
+ ${tokens.titleCaptionMargin}: 0;
846
851
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
847
852
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
848
853
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -154,6 +154,7 @@ export const config = {
154
154
  ${tokens.labelInnerLineHeight}: var(--plasma-typo-body-xs-line-height);
155
155
 
156
156
  ${tokens.titleCaptionOffset}: 0.375rem;
157
+ ${tokens.titleCaptionMargin}: 0.375rem;
157
158
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
158
159
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
159
160
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -321,6 +322,7 @@ export const config = {
321
322
  ${tokens.labelInnerLineHeight}: var(--plasma-typo-body-xs-line-height);
322
323
 
323
324
  ${tokens.titleCaptionOffset}: 0.375rem;
325
+ ${tokens.titleCaptionMargin}: 0.375rem;
324
326
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
325
327
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
326
328
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -488,6 +490,7 @@ export const config = {
488
490
  ${tokens.labelInnerLineHeight}: var(--plasma-typo-body-xs-line-height);
489
491
 
490
492
  ${tokens.titleCaptionOffset}: 0.313rem;
493
+ ${tokens.titleCaptionMargin}: 0.3125rem;
491
494
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
492
495
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
493
496
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -655,6 +658,7 @@ export const config = {
655
658
  ${tokens.labelInnerLineHeight}: var(--plasma-typo-body-xs-line-height);
656
659
 
657
660
  ${tokens.titleCaptionOffset}: 0.188rem;
661
+ ${tokens.titleCaptionMargin}: 0.1875rem;
658
662
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
659
663
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
660
664
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -822,6 +826,7 @@ export const config = {
822
826
  ${tokens.labelInnerLineHeight}: var(--plasma-typo-body-xs-line-height);
823
827
 
824
828
  ${tokens.titleCaptionOffset}: 0;
829
+ ${tokens.titleCaptionMargin}: 0;
825
830
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
826
831
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
827
832
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -141,6 +141,7 @@ export const config = {
141
141
  ${tokens.labelInnerLineHeight}: var(--plasma-typo-body-xs-line-height);
142
142
 
143
143
  ${tokens.titleCaptionOffset}: 0.375rem;
144
+ ${tokens.titleCaptionMargin}: 0.375rem;
144
145
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
145
146
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
146
147
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -308,6 +309,7 @@ export const config = {
308
309
  ${tokens.labelInnerLineHeight}: var(--plasma-typo-body-xs-line-height);
309
310
 
310
311
  ${tokens.titleCaptionOffset}: 0.375rem;
312
+ ${tokens.titleCaptionMargin}: 0.375rem;
311
313
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
312
314
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
313
315
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -475,6 +477,7 @@ export const config = {
475
477
  ${tokens.labelInnerLineHeight}: var(--plasma-typo-body-xs-line-height);
476
478
 
477
479
  ${tokens.titleCaptionOffset}: 0.313rem;
480
+ ${tokens.titleCaptionMargin}: 0.3125rem;
478
481
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
479
482
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
480
483
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -642,6 +645,7 @@ export const config = {
642
645
  ${tokens.labelInnerLineHeight}: var(--plasma-typo-body-xs-line-height);
643
646
 
644
647
  ${tokens.titleCaptionOffset}: 0.188rem;
648
+ ${tokens.titleCaptionMargin}: 0.1875rem;
645
649
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
646
650
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
647
651
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -809,6 +813,7 @@ export const config = {
809
813
  ${tokens.labelInnerLineHeight}: var(--plasma-typo-body-xs-line-height);
810
814
 
811
815
  ${tokens.titleCaptionOffset}: 0;
816
+ ${tokens.titleCaptionMargin}: 0;
812
817
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
813
818
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
814
819
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -62,6 +62,7 @@ export const config = {
62
62
  ${tokens.hintWithoutLabelPlacementOffset}: 0.438rem -2.938rem auto auto;
63
63
 
64
64
  ${tokens.titleCaptionOffset}: 0.375rem;
65
+ ${tokens.titleCaptionMargin}: 0.375rem;
65
66
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
66
67
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
67
68
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -111,6 +112,7 @@ export const config = {
111
112
  ${tokens.hintWithoutLabelPlacementOffset}: 0.438rem -2.813rem auto auto;
112
113
 
113
114
  ${tokens.titleCaptionOffset}: 0.313rem;
115
+ ${tokens.titleCaptionMargin}: 0.3125rem;
114
116
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
115
117
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
116
118
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -160,6 +162,7 @@ export const config = {
160
162
  ${tokens.hintWithoutLabelPlacementOffset}: 0.438rem -2.688rem auto auto;
161
163
 
162
164
  ${tokens.titleCaptionOffset}: 0.188rem;
165
+ ${tokens.titleCaptionMargin}: 0.1875rem;
163
166
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
164
167
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
165
168
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -209,6 +212,7 @@ export const config = {
209
212
  ${tokens.hintWithoutLabelPlacementOffset}: 0.188rem -2.063rem auto auto;
210
213
 
211
214
  ${tokens.titleCaptionOffset}: 0;
215
+ ${tokens.titleCaptionMargin}: 0;
212
216
  ${tokens.titleCaptionFontFamily}: var(--plasma-typo-body-xs-font-family);
213
217
  ${tokens.titleCaptionFontSize}: var(--plasma-typo-body-xs-font-size);
214
218
  ${tokens.titleCaptionFontStyle}: var(--plasma-typo-body-xs-font-style);
@@ -0,0 +1,142 @@
1
+ import React, { useEffect, useCallback, useRef, useState, useContext } from 'react';
2
+ import ReactDOM from 'react-dom';
3
+ import styled, { css, keyframes, createGlobalStyle } from 'styled-components';
4
+ import { plasmaCore, useFocusTrap } from '@salutejs/plasma-new-hope/styled-components';
5
+ import { ModalsContext, MODALS_PORTAL_ID } from './ModalsContext';
6
+ import { ModalView } from './ModalView';
7
+ const ESCAPE_KEYCODE = 27;
8
+ const wrapperHideAnimation = keyframes([
9
+ `from{opacity:1;}to{opacity:0;}`
10
+ ]);
11
+ const bodyShowAnimation = keyframes([
12
+ `from{opacity:0;transform:translateY(-100%);}to{opacity:1;transform:translateY(0);}`
13
+ ]);
14
+ const bodyHideAnimation = keyframes([
15
+ `from{opacity:1;transform:translateY(0);}to{opacity:0;transform:translateY(-100%);}`
16
+ ]);
17
+ const StyledWrapper = styled.div.withConfig({
18
+ displayName: "Modal__StyledWrapper",
19
+ componentId: "sc-c1a3a85-0"
20
+ })([
21
+ `position:fixed;top:0;left:0;right:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;`,
22
+ ``
23
+ ], ({ isHiding })=>isHiding && css([
24
+ `animation:0.1s `,
25
+ ` ease-out;`
26
+ ], wrapperHideAnimation));
27
+ const StyledOverlay = styled.div.withConfig({
28
+ displayName: "Modal__StyledOverlay",
29
+ componentId: "sc-c1a3a85-1"
30
+ })([
31
+ `position:absolute;`,
32
+ `;width:100%;height:100%;background-color:`,
33
+ `;backdrop-filter:var(--backdrop-filter);cursor:`,
34
+ `;`
35
+ ], ({ $withBlur })=>{
36
+ return css([
37
+ `--background-color:`,
38
+ `;--backdrop-filter:`,
39
+ `;`
40
+ ], $withBlur ? 'rgba(35, 35, 35, 0.2)' : 'rgba(8, 8, 8, 0.56)', $withBlur ? 'blur(1rem)' : 'none');
41
+ }, ({ transparent })=>transparent ? 'transparent' : 'var(--background-color)', ({ clickable })=>clickable ? 'pointer' : 'default');
42
+ const StyledModal = styled.div.withConfig({
43
+ displayName: "Modal__StyledModal",
44
+ componentId: "sc-c1a3a85-2"
45
+ })([
46
+ `position:absolute;height:100%;pointer-events:none;`,
47
+ ``
48
+ ], ({ isHiding })=>css([
49
+ `animation:0.4s `,
50
+ ` ease-out;`
51
+ ], isHiding ? bodyHideAnimation : bodyShowAnimation));
52
+ const NoScroll = createGlobalStyle([
53
+ `body{overflow-y:hidden;}`
54
+ ]);
55
+ /**
56
+ * Модальное окно.
57
+ * Управляет показом/скрытием, подложкой и анимацией визуальной части модального окна.
58
+ */ export const Modal = ({ id, isOpen, opened, onClose, onOverlayClick, onEscKeyDown, closeOnEsc = true, closeOnOverlayClick = true, withBlur, initialFocusRef, focusAfterRef, ...rest })=>{
59
+ const innerIsOpen = Boolean(isOpen || opened);
60
+ const uniqId = plasmaCore.useUniqId();
61
+ const innerId = id || uniqId;
62
+ const wrapperRef = useRef(null);
63
+ const portalRef = useRef(null);
64
+ const trapRef = useFocusTrap(true, initialFocusRef, focusAfterRef);
65
+ const controller = useContext(ModalsContext);
66
+ const [, forceRender] = useState(false);
67
+ const onOverlayKeyDown = useCallback((event)=>{
68
+ if (!closeOnOverlayClick) {
69
+ return;
70
+ }
71
+ if (onOverlayClick) {
72
+ onOverlayClick(event);
73
+ return;
74
+ }
75
+ onClose?.();
76
+ }, [
77
+ closeOnOverlayClick,
78
+ onOverlayClick,
79
+ onClose
80
+ ]);
81
+ useEffect(()=>{
82
+ let portal = document.getElementById(MODALS_PORTAL_ID);
83
+ if (!portal) {
84
+ portal = document.createElement('div');
85
+ portal.setAttribute('id', MODALS_PORTAL_ID);
86
+ portal.setAttribute('aria-live', 'off');
87
+ portal.setAttribute('role', 'presentation');
88
+ portal.style.position = 'relative';
89
+ portal.style.zIndex = '9000';
90
+ document.body.appendChild(portal);
91
+ }
92
+ portalRef.current = portal;
93
+ /**
94
+ * Изменение стейта нужно для того, чтобы модальное окно
95
+ * отобразилось после записи DOM элемента в portalRef.current
96
+ */ forceRender(true);
97
+ }, []);
98
+ useEffect(()=>{
99
+ const onKeyDown = (event)=>{
100
+ if (closeOnEsc && event.keyCode === ESCAPE_KEYCODE && wrapperRef.current && portalRef.current && portalRef.current.contains(wrapperRef.current) && portalRef.current.children[portalRef.current.children.length - 1] === wrapperRef.current) {
101
+ if (onEscKeyDown) {
102
+ onEscKeyDown(event);
103
+ return;
104
+ }
105
+ onClose?.();
106
+ }
107
+ };
108
+ window.addEventListener('keydown', onKeyDown);
109
+ return ()=>{
110
+ window.removeEventListener('keydown', onKeyDown);
111
+ };
112
+ }, [
113
+ onClose,
114
+ onEscKeyDown,
115
+ closeOnEsc
116
+ ]);
117
+ useEffect(()=>{
118
+ return ()=>{
119
+ controller.unregister(innerId);
120
+ };
121
+ }, [
122
+ controller.unregister,
123
+ innerId
124
+ ]);
125
+ if (innerIsOpen) {
126
+ controller.register(innerId);
127
+ } else {
128
+ return null;
129
+ }
130
+ return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(NoScroll, null), portalRef.current && /*#__PURE__*/ ReactDOM.createPortal(/*#__PURE__*/ React.createElement(StyledWrapper, {
131
+ ref: wrapperRef
132
+ }, /*#__PURE__*/ React.createElement(StyledOverlay, {
133
+ transparent: controller.items.indexOf(innerId) !== 0,
134
+ clickable: closeOnOverlayClick,
135
+ onClick: onOverlayKeyDown,
136
+ $withBlur: withBlur
137
+ }), /*#__PURE__*/ React.createElement(StyledModal, null, /*#__PURE__*/ React.createElement(ModalView, {
138
+ onClose: onClose,
139
+ ref: trapRef,
140
+ ...rest
141
+ }))), portalRef.current));
142
+ };
@@ -0,0 +1,50 @@
1
+ import React from 'react';
2
+ import styled from 'styled-components';
3
+ import { IconClose } from '@salutejs/plasma-icons';
4
+ import { Button } from '../_Button';
5
+ const StyledWrapper = styled.div.withConfig({
6
+ displayName: "ModalView__StyledWrapper",
7
+ componentId: "sc-53f3095-0"
8
+ })([
9
+ `display:flex;align-items:center;height:100%;`
10
+ ]);
11
+ const StyledBody = styled.div.withConfig({
12
+ displayName: "ModalView__StyledBody",
13
+ componentId: "sc-53f3095-1"
14
+ })([
15
+ `position:relative;width:25rem;max-width:100%;border-radius:1.25rem;background-color:var(--surface-solid-card);pointer-events:all;`
16
+ ]);
17
+ const StyledContent = styled.div.withConfig({
18
+ displayName: "ModalView__StyledContent",
19
+ componentId: "sc-53f3095-2"
20
+ })([
21
+ `padding:2rem;`
22
+ ]);
23
+ const StyledButtonClose = styled(Button({
24
+ design: 'web'
25
+ })).attrs(()=>({
26
+ view: 'clear'
27
+ })).withConfig({
28
+ displayName: "ModalView__StyledButtonClose",
29
+ componentId: "sc-53f3095-3"
30
+ })([
31
+ `position:absolute;top:0;right:0;margin:2rem;width:auto;height:auto;padding:0;`
32
+ ]);
33
+ /**
34
+ * Визуальная часть модального окна.
35
+ */ export const ModalView = /*#__PURE__*/ React.forwardRef(({ role = 'dialog', closeButtonAriaLabel, children, onClose, showCloseButton = true, ...rest }, ref)=>{
36
+ return /*#__PURE__*/ React.createElement(StyledWrapper, null, /*#__PURE__*/ React.createElement(StyledBody, {
37
+ ...rest,
38
+ ref: ref,
39
+ role: role,
40
+ "aria-modal": "true"
41
+ }, /*#__PURE__*/ React.createElement(StyledContent, null, children), showCloseButton && /*#__PURE__*/ React.createElement(StyledButtonClose, {
42
+ "aria-label": closeButtonAriaLabel,
43
+ onClick: onClose,
44
+ size: "s",
45
+ contentLeft: /*#__PURE__*/ React.createElement(IconClose, {
46
+ size: "s",
47
+ color: "inherit"
48
+ })
49
+ })));
50
+ });
@@ -0,0 +1,51 @@
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ import React, { useEffect } from 'react';
15
+ /**
16
+ * Хранилище модальных окон.
17
+ */ class ModalsController {
18
+ register(id) {
19
+ const indexOfElement = this.items.indexOf(id);
20
+ if (indexOfElement >= 0) {
21
+ return;
22
+ }
23
+ return this.items.push(id);
24
+ }
25
+ unregister(id) {
26
+ const indexOfElement = this.items.indexOf(id);
27
+ if (indexOfElement < 0) {
28
+ return;
29
+ }
30
+ this.items.splice(indexOfElement, 1);
31
+ }
32
+ constructor(){
33
+ _define_property(this, "items", []);
34
+ }
35
+ }
36
+ const controller = new ModalsController();
37
+ export const MODALS_PORTAL_ID = 'plasma-modals-root';
38
+ export const ModalsContext = /*#__PURE__*/ React.createContext(controller);
39
+ export const ModalsProvider = ({ children })=>{
40
+ useEffect(()=>{
41
+ return ()=>{
42
+ const portal = document.createElement('div');
43
+ if (portal && document.body.contains(portal)) {
44
+ document.body.removeChild(portal);
45
+ }
46
+ };
47
+ }, []);
48
+ return /*#__PURE__*/ React.createElement(ModalsContext.Provider, {
49
+ value: controller
50
+ }, children);
51
+ };
@@ -1 +1,3 @@
1
- export { Modal, ModalView, ModalsProvider } from '@salutejs/plasma-hope';
1
+ export { Modal } from './Modal';
2
+ export { ModalsProvider } from './ModalsContext';
3
+ export { ModalView } from './ModalView';