@salutejs/plasma-new-hope 0.139.0-canary.1418.10685382771.0 → 0.139.0-dev.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (304) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.css +16 -12
  2. package/cjs/components/DatePicker/RangeDate/RangeDate.css +16 -12
  3. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +16 -12
  4. package/cjs/components/DatePicker/SingleDate/SingleDate.css +16 -12
  5. package/cjs/components/Range/Range.css +16 -12
  6. package/cjs/components/Slider/Slider.css +16 -12
  7. package/cjs/components/Slider/components/Double/Double.css +16 -12
  8. package/cjs/components/TextArea/TextArea.js +24 -7
  9. package/cjs/components/TextArea/TextArea.js.map +1 -1
  10. package/cjs/components/TextArea/TextArea.styles.js +47 -35
  11. package/cjs/components/TextArea/TextArea.styles.js.map +1 -1
  12. package/cjs/components/TextArea/TextArea.styles_1fyj8ox.css +11 -0
  13. package/cjs/components/TextArea/TextArea.tokens.js +13 -2
  14. package/cjs/components/TextArea/TextArea.tokens.js.map +1 -1
  15. package/cjs/components/TextField/TextField.js +46 -20
  16. package/cjs/components/TextField/TextField.js.map +1 -1
  17. package/cjs/components/TextField/TextField.styles.js +31 -7
  18. package/cjs/components/TextField/TextField.styles.js.map +1 -1
  19. package/cjs/components/TextField/TextField.styles_u6pm7v.css +14 -0
  20. package/cjs/components/TextField/TextField.tokens.js +10 -1
  21. package/cjs/components/TextField/TextField.tokens.js.map +1 -1
  22. package/cjs/components/TextField/TextField_1lzb2r1.css +1 -0
  23. package/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  24. package/cjs/components/TextField/variations/_label-placement/base.js.map +1 -1
  25. package/cjs/components/TextField/variations/_label-placement/base_1dbnupp.css +1 -0
  26. package/cjs/components/TextField/variations/_read-only/base.js +1 -1
  27. package/cjs/components/TextField/variations/_read-only/base.js.map +1 -1
  28. package/cjs/components/TextField/variations/_read-only/base_4tqave.css +1 -0
  29. package/cjs/components/TextField/variations/_size/base.js +1 -1
  30. package/cjs/components/TextField/variations/_size/base.js.map +1 -1
  31. package/cjs/components/TextField/variations/_size/base_uk56yo.css +1 -0
  32. package/cjs/components/TextField/variations/_view/base.js +1 -1
  33. package/cjs/components/TextField/variations/_view/base.js.map +1 -1
  34. package/cjs/components/TextField/variations/_view/{base_18ea6z7.css → base_uszjx8.css} +1 -1
  35. package/cjs/index.css +27 -21
  36. package/emotion/cjs/components/TextArea/TextArea.js +25 -8
  37. package/emotion/cjs/components/TextArea/TextArea.styles.js +27 -19
  38. package/emotion/cjs/components/TextArea/TextArea.template-doc.mdx +29 -3
  39. package/emotion/cjs/components/TextArea/TextArea.tokens.js +13 -2
  40. package/emotion/cjs/components/TextArea/variations/_size/tokens.json +7 -1
  41. package/emotion/cjs/components/TextField/TextField.js +50 -24
  42. package/emotion/cjs/components/TextField/TextField.styles.js +57 -25
  43. package/emotion/cjs/components/TextField/TextField.template-doc.mdx +27 -1
  44. package/emotion/cjs/components/TextField/TextField.tokens.js +10 -1
  45. package/emotion/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  46. package/emotion/cjs/components/TextField/variations/_read-only/base.js +1 -1
  47. package/emotion/cjs/components/TextField/variations/_size/base.js +1 -1
  48. package/emotion/cjs/components/TextField/variations/_size/tokens.json +6 -0
  49. package/emotion/cjs/components/TextField/variations/_view/base.js +1 -1
  50. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +9 -9
  51. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +21 -0
  52. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +12 -12
  53. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +21 -1
  54. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +9 -9
  55. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +22 -0
  56. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.config.js +12 -12
  57. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +22 -0
  58. package/emotion/es/components/TextArea/TextArea.js +26 -9
  59. package/emotion/es/components/TextArea/TextArea.styles.js +27 -19
  60. package/emotion/es/components/TextArea/TextArea.template-doc.mdx +29 -3
  61. package/emotion/es/components/TextArea/TextArea.tokens.js +13 -2
  62. package/emotion/es/components/TextArea/variations/_size/tokens.json +7 -1
  63. package/emotion/es/components/TextField/TextField.js +51 -25
  64. package/emotion/es/components/TextField/TextField.styles.js +56 -24
  65. package/emotion/es/components/TextField/TextField.template-doc.mdx +27 -1
  66. package/emotion/es/components/TextField/TextField.tokens.js +10 -1
  67. package/emotion/es/components/TextField/variations/_label-placement/base.js +2 -2
  68. package/emotion/es/components/TextField/variations/_read-only/base.js +2 -2
  69. package/emotion/es/components/TextField/variations/_size/base.js +2 -2
  70. package/emotion/es/components/TextField/variations/_size/tokens.json +6 -0
  71. package/emotion/es/components/TextField/variations/_view/base.js +2 -2
  72. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +9 -9
  73. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +21 -0
  74. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.config.js +12 -12
  75. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +21 -1
  76. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.config.js +9 -9
  77. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +22 -0
  78. package/emotion/es/examples/plasma_web/components/TextField/TextField.config.js +12 -12
  79. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +22 -0
  80. package/es/components/Autocomplete/Autocomplete.css +16 -12
  81. package/es/components/DatePicker/RangeDate/RangeDate.css +16 -12
  82. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +16 -12
  83. package/es/components/DatePicker/SingleDate/SingleDate.css +16 -12
  84. package/es/components/Range/Range.css +16 -12
  85. package/es/components/Slider/Slider.css +16 -12
  86. package/es/components/Slider/components/Double/Double.css +16 -12
  87. package/es/components/TextArea/TextArea.js +25 -8
  88. package/es/components/TextArea/TextArea.js.map +1 -1
  89. package/es/components/TextArea/TextArea.styles.js +46 -36
  90. package/es/components/TextArea/TextArea.styles.js.map +1 -1
  91. package/es/components/TextArea/TextArea.styles_1fyj8ox.css +11 -0
  92. package/es/components/TextArea/TextArea.tokens.js +13 -2
  93. package/es/components/TextArea/TextArea.tokens.js.map +1 -1
  94. package/es/components/TextField/TextField.js +47 -21
  95. package/es/components/TextField/TextField.js.map +1 -1
  96. package/es/components/TextField/TextField.styles.js +28 -8
  97. package/es/components/TextField/TextField.styles.js.map +1 -1
  98. package/es/components/TextField/TextField.styles_u6pm7v.css +14 -0
  99. package/es/components/TextField/TextField.tokens.js +10 -1
  100. package/es/components/TextField/TextField.tokens.js.map +1 -1
  101. package/es/components/TextField/TextField_1lzb2r1.css +1 -0
  102. package/es/components/TextField/variations/_label-placement/base.js +1 -1
  103. package/es/components/TextField/variations/_label-placement/base.js.map +1 -1
  104. package/es/components/TextField/variations/_label-placement/base_1dbnupp.css +1 -0
  105. package/es/components/TextField/variations/_read-only/base.js +1 -1
  106. package/es/components/TextField/variations/_read-only/base.js.map +1 -1
  107. package/es/components/TextField/variations/_read-only/base_4tqave.css +1 -0
  108. package/es/components/TextField/variations/_size/base.js +1 -1
  109. package/es/components/TextField/variations/_size/base.js.map +1 -1
  110. package/es/components/TextField/variations/_size/base_uk56yo.css +1 -0
  111. package/es/components/TextField/variations/_view/base.js +1 -1
  112. package/es/components/TextField/variations/_view/base.js.map +1 -1
  113. package/es/components/TextField/variations/_view/{base_18ea6z7.css → base_uszjx8.css} +1 -1
  114. package/es/index.css +27 -21
  115. package/package.json +2 -2
  116. package/styled-components/cjs/components/TextArea/TextArea.js +24 -7
  117. package/styled-components/cjs/components/TextArea/TextArea.styles.js +17 -11
  118. package/styled-components/cjs/components/TextArea/TextArea.template-doc.mdx +29 -3
  119. package/styled-components/cjs/components/TextArea/TextArea.tokens.js +13 -2
  120. package/styled-components/cjs/components/TextArea/variations/_size/tokens.json +7 -1
  121. package/styled-components/cjs/components/TextField/TextField.js +46 -20
  122. package/styled-components/cjs/components/TextField/TextField.styles.js +22 -10
  123. package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +27 -1
  124. package/styled-components/cjs/components/TextField/TextField.tokens.js +10 -1
  125. package/styled-components/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  126. package/styled-components/cjs/components/TextField/variations/_read-only/base.js +1 -1
  127. package/styled-components/cjs/components/TextField/variations/_size/base.js +1 -1
  128. package/styled-components/cjs/components/TextField/variations/_size/tokens.json +6 -0
  129. package/styled-components/cjs/components/TextField/variations/_view/base.js +1 -1
  130. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +7 -7
  131. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +21 -0
  132. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +8 -8
  133. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +21 -1
  134. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +8 -8
  135. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +22 -0
  136. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.config.js +8 -8
  137. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +22 -0
  138. package/styled-components/es/components/TextArea/TextArea.js +25 -8
  139. package/styled-components/es/components/TextArea/TextArea.styles.js +17 -11
  140. package/styled-components/es/components/TextArea/TextArea.template-doc.mdx +29 -3
  141. package/styled-components/es/components/TextArea/TextArea.tokens.js +13 -2
  142. package/styled-components/es/components/TextArea/variations/_size/tokens.json +7 -1
  143. package/styled-components/es/components/TextField/TextField.js +47 -21
  144. package/styled-components/es/components/TextField/TextField.styles.js +21 -9
  145. package/styled-components/es/components/TextField/TextField.template-doc.mdx +27 -1
  146. package/styled-components/es/components/TextField/TextField.tokens.js +10 -1
  147. package/styled-components/es/components/TextField/variations/_label-placement/base.js +2 -2
  148. package/styled-components/es/components/TextField/variations/_read-only/base.js +2 -2
  149. package/styled-components/es/components/TextField/variations/_size/base.js +2 -2
  150. package/styled-components/es/components/TextField/variations/_size/tokens.json +6 -0
  151. package/styled-components/es/components/TextField/variations/_view/base.js +2 -2
  152. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +7 -7
  153. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +21 -0
  154. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +8 -8
  155. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +21 -1
  156. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.config.js +8 -8
  157. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +22 -0
  158. package/styled-components/es/examples/plasma_web/components/TextField/TextField.config.js +8 -8
  159. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +22 -0
  160. package/types/components/Autocomplete/Autocomplete.d.ts +2 -2
  161. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  162. package/types/components/Autocomplete/Autocomplete.types.d.ts +1 -1
  163. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  164. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts +60 -2
  165. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
  166. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts +60 -2
  167. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  168. package/types/components/Range/Range.styles.d.ts +60 -2
  169. package/types/components/Range/Range.styles.d.ts.map +1 -1
  170. package/types/components/Slider/components/Double/Double.styles.d.ts +60 -2
  171. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  172. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  173. package/types/components/TextArea/TextArea.styles.d.ts +2 -0
  174. package/types/components/TextArea/TextArea.styles.d.ts.map +1 -1
  175. package/types/components/TextArea/TextArea.tokens.d.ts +11 -0
  176. package/types/components/TextArea/TextArea.tokens.d.ts.map +1 -1
  177. package/types/components/TextArea/TextArea.types.d.ts +30 -5
  178. package/types/components/TextArea/TextArea.types.d.ts.map +1 -1
  179. package/types/components/TextField/TextField.d.ts.map +1 -1
  180. package/types/components/TextField/TextField.styles.d.ts +4 -0
  181. package/types/components/TextField/TextField.styles.d.ts.map +1 -1
  182. package/types/components/TextField/TextField.tokens.d.ts +9 -0
  183. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  184. package/types/components/TextField/TextField.types.d.ts +27 -2
  185. package/types/components/TextField/TextField.types.d.ts.map +1 -1
  186. package/types/components/TextField/variations/_label-placement/base.d.ts.map +1 -1
  187. package/types/components/TextField/variations/_size/base.d.ts.map +1 -1
  188. package/types/components/TextField/variations/_view/base.d.ts.map +1 -1
  189. package/types/examples/plasma_b2c/components/Autocomplete/Autocomplete.d.ts +1 -1
  190. package/types/examples/plasma_b2c/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  191. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts.map +1 -1
  192. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts +135 -3
  193. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts.map +1 -1
  194. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts.map +1 -1
  195. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +60 -2
  196. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
  197. package/types/examples/plasma_web/components/Autocomplete/Autocomplete.d.ts +1 -1
  198. package/types/examples/plasma_web/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  199. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts.map +1 -1
  200. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts +135 -3
  201. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts.map +1 -1
  202. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts.map +1 -1
  203. package/types/examples/plasma_web/components/TextField/TextField.d.ts +60 -2
  204. package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
  205. package/cjs/components/TextArea/TextArea.styles_1bv40vw.css +0 -9
  206. package/cjs/components/TextField/TextField.styles_9fkr1l.css +0 -10
  207. package/cjs/components/TextField/TextField_wctd2m.css +0 -1
  208. package/cjs/components/TextField/variations/_label-placement/base_170eaex.css +0 -1
  209. package/cjs/components/TextField/variations/_read-only/base_1vu13zn.css +0 -1
  210. package/cjs/components/TextField/variations/_size/base_orwx1f.css +0 -1
  211. package/emotion/cjs/components/Mask/Mask.js +0 -233
  212. package/emotion/cjs/components/Mask/Mask.types.js +0 -5
  213. package/emotion/cjs/components/Mask/index.js +0 -12
  214. package/emotion/cjs/components/Mask/utils/constants.js +0 -30
  215. package/emotion/cjs/components/Mask/utils/createMask.js +0 -53
  216. package/emotion/cjs/components/Mask/utils/maskUtils.js +0 -256
  217. package/emotion/cjs/components/Mask/utils/parseMask.js +0 -36
  218. package/emotion/cjs/components/Mask/utils/processInput.js +0 -52
  219. package/emotion/cjs/components/Mask/utils/processMask.js +0 -99
  220. package/emotion/cjs/components/Mask/utils/selection.js +0 -48
  221. package/emotion/cjs/components/Mask/utils/types/input.types.js +0 -5
  222. package/emotion/cjs/components/Mask/utils/types/mask.types.js +0 -5
  223. package/emotion/cjs/components/Mask/utils/types/selectRange.types.js +0 -5
  224. package/emotion/cjs/examples/plasma_b2c/components/Mask/Mask.js +0 -9
  225. package/emotion/cjs/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -131
  226. package/emotion/es/components/Mask/Mask.js +0 -225
  227. package/emotion/es/components/Mask/Mask.types.js +0 -1
  228. package/emotion/es/components/Mask/index.js +0 -1
  229. package/emotion/es/components/Mask/utils/constants.js +0 -24
  230. package/emotion/es/components/Mask/utils/createMask.js +0 -47
  231. package/emotion/es/components/Mask/utils/maskUtils.js +0 -250
  232. package/emotion/es/components/Mask/utils/parseMask.js +0 -30
  233. package/emotion/es/components/Mask/utils/processInput.js +0 -46
  234. package/emotion/es/components/Mask/utils/processMask.js +0 -93
  235. package/emotion/es/components/Mask/utils/selection.js +0 -42
  236. package/emotion/es/components/Mask/utils/types/input.types.js +0 -1
  237. package/emotion/es/components/Mask/utils/types/mask.types.js +0 -1
  238. package/emotion/es/components/Mask/utils/types/selectRange.types.js +0 -1
  239. package/emotion/es/examples/plasma_b2c/components/Mask/Mask.js +0 -3
  240. package/emotion/es/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -131
  241. package/es/components/TextArea/TextArea.styles_1bv40vw.css +0 -9
  242. package/es/components/TextField/TextField.styles_9fkr1l.css +0 -10
  243. package/es/components/TextField/TextField_wctd2m.css +0 -1
  244. package/es/components/TextField/variations/_label-placement/base_170eaex.css +0 -1
  245. package/es/components/TextField/variations/_read-only/base_1vu13zn.css +0 -1
  246. package/es/components/TextField/variations/_size/base_orwx1f.css +0 -1
  247. package/styled-components/cjs/components/Mask/Mask.js +0 -233
  248. package/styled-components/cjs/components/Mask/Mask.types.js +0 -5
  249. package/styled-components/cjs/components/Mask/index.js +0 -12
  250. package/styled-components/cjs/components/Mask/utils/constants.js +0 -30
  251. package/styled-components/cjs/components/Mask/utils/createMask.js +0 -53
  252. package/styled-components/cjs/components/Mask/utils/maskUtils.js +0 -256
  253. package/styled-components/cjs/components/Mask/utils/parseMask.js +0 -36
  254. package/styled-components/cjs/components/Mask/utils/processInput.js +0 -52
  255. package/styled-components/cjs/components/Mask/utils/processMask.js +0 -99
  256. package/styled-components/cjs/components/Mask/utils/selection.js +0 -48
  257. package/styled-components/cjs/components/Mask/utils/types/input.types.js +0 -5
  258. package/styled-components/cjs/components/Mask/utils/types/mask.types.js +0 -5
  259. package/styled-components/cjs/components/Mask/utils/types/selectRange.types.js +0 -5
  260. package/styled-components/cjs/examples/plasma_b2c/components/Mask/Mask.js +0 -9
  261. package/styled-components/cjs/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -131
  262. package/styled-components/es/components/Mask/Mask.js +0 -225
  263. package/styled-components/es/components/Mask/Mask.types.js +0 -1
  264. package/styled-components/es/components/Mask/index.js +0 -1
  265. package/styled-components/es/components/Mask/utils/constants.js +0 -24
  266. package/styled-components/es/components/Mask/utils/createMask.js +0 -47
  267. package/styled-components/es/components/Mask/utils/maskUtils.js +0 -250
  268. package/styled-components/es/components/Mask/utils/parseMask.js +0 -30
  269. package/styled-components/es/components/Mask/utils/processInput.js +0 -46
  270. package/styled-components/es/components/Mask/utils/processMask.js +0 -93
  271. package/styled-components/es/components/Mask/utils/selection.js +0 -42
  272. package/styled-components/es/components/Mask/utils/types/input.types.js +0 -1
  273. package/styled-components/es/components/Mask/utils/types/mask.types.js +0 -1
  274. package/styled-components/es/components/Mask/utils/types/selectRange.types.js +0 -1
  275. package/styled-components/es/examples/plasma_b2c/components/Mask/Mask.js +0 -3
  276. package/styled-components/es/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -131
  277. package/types/components/Mask/Mask.d.ts +0 -5
  278. package/types/components/Mask/Mask.d.ts.map +0 -1
  279. package/types/components/Mask/Mask.types.d.ts +0 -52
  280. package/types/components/Mask/Mask.types.d.ts.map +0 -1
  281. package/types/components/Mask/index.d.ts +0 -3
  282. package/types/components/Mask/index.d.ts.map +0 -1
  283. package/types/components/Mask/utils/constants.d.ts +0 -15
  284. package/types/components/Mask/utils/constants.d.ts.map +0 -1
  285. package/types/components/Mask/utils/createMask.d.ts +0 -12
  286. package/types/components/Mask/utils/createMask.d.ts.map +0 -1
  287. package/types/components/Mask/utils/maskUtils.d.ts +0 -45
  288. package/types/components/Mask/utils/maskUtils.d.ts.map +0 -1
  289. package/types/components/Mask/utils/parseMask.d.ts +0 -3
  290. package/types/components/Mask/utils/parseMask.d.ts.map +0 -1
  291. package/types/components/Mask/utils/processInput.d.ts +0 -15
  292. package/types/components/Mask/utils/processInput.d.ts.map +0 -1
  293. package/types/components/Mask/utils/processMask.d.ts +0 -9
  294. package/types/components/Mask/utils/processMask.d.ts.map +0 -1
  295. package/types/components/Mask/utils/selection.d.ts +0 -11
  296. package/types/components/Mask/utils/selection.d.ts.map +0 -1
  297. package/types/components/Mask/utils/types/input.types.d.ts +0 -52
  298. package/types/components/Mask/utils/types/input.types.d.ts.map +0 -1
  299. package/types/components/Mask/utils/types/mask.types.d.ts +0 -9
  300. package/types/components/Mask/utils/types/mask.types.d.ts.map +0 -1
  301. package/types/components/Mask/utils/types/selectRange.types.d.ts +0 -5
  302. package/types/components/Mask/utils/types/selectRange.types.d.ts.map +0 -1
  303. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +0 -87
  304. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +0 -1
@@ -32,7 +32,7 @@ export function App() {
32
32
  ```
33
33
 
34
34
  ### Размеры компонента
35
- Высоту и ширину можно регулировать с помощью свойств `height` и `width`,
35
+ Высоту и ширину можно регулировать с помощью свойств `height` и `width`,
36
36
  указав значения в `rem` или соответствующие свойствам css значения.
37
37
  `height` и `width` отвечают за **всю** высоту и ширину компонента.
38
38
 
@@ -76,7 +76,7 @@ export function App() {
76
76
 
77
77
  ### Autoresize
78
78
  Также можно включить автоматическое регулирование высоты поля ввода по длине контента внутри (параметра `value`).
79
- Для этого необходимо использовать свойство `autoResize`.
79
+ Для этого необходимо использовать свойство `autoResize`.
80
80
 
81
81
  Свойства `minAuto`, `maxAuto` указываются в абсолютных единицах и отвечают за минимальное и максимальное количество строк.
82
82
 
@@ -123,4 +123,30 @@ export function App() {
123
123
  </div>
124
124
  );
125
125
  }
126
- ```
126
+ ```
127
+
128
+
129
+ ### Обязательность поля
130
+ Обязательность поля задаётся с помощью свойств `required` и `requiredPlacement`. Где `requiredPlacement` отвечает за выравнивание и принимает значения `"left"` и `"right"`:
131
+
132
+ ```tsx live
133
+ import React from 'react';
134
+ import { TextField } from '@salutejs/{{ package }}';
135
+
136
+ export function App() {
137
+ return (
138
+ <div>
139
+ <TextArea
140
+ placeholder="Введите значение"
141
+ required
142
+ />
143
+ <TextArea
144
+ placeholder="Введите значение"
145
+ label="Заголовок"
146
+ required
147
+ requiredPlacement="right"
148
+ />
149
+ </div>
150
+ );
151
+ }
152
+ ```
@@ -14,7 +14,9 @@ export var classes = {
14
14
  /** Класс для компонента `StyledPlaceholder` */
15
15
  styledPlaceholder: 'textarea-placeholder',
16
16
  /** Класс для компонента `StyledHelpers` */
17
- styledHelpers: 'textarea-helpers'
17
+ styledHelpers: 'textarea-helpers',
18
+ innerLabelPlacement: 'label-placement-inner',
19
+ outerLabelPlacement: 'label-placement-outer'
18
20
  };
19
21
  export var tokens = {
20
22
  /** Цвет фона для элемента textarea */
@@ -51,6 +53,8 @@ export var tokens = {
51
53
  placeholderColor: '--plasma-textarea-placeholder-color',
52
54
  /** Цвет элемента placeholder в состоянии focus */
53
55
  placeholderColorFocus: '--plasma-textarea-placeholder-color-focus',
56
+ /** Цвет элемента optional */
57
+ optionalColor: '--plasma-textarea__optional-color',
54
58
  /** Цвет текста для левой подписи снизу */
55
59
  leftHelperColor: '--plasma-textarea-left-helper-color',
56
60
  /** Цвет текста для правой подписи снизу */
@@ -146,5 +150,12 @@ export var tokens = {
146
150
  /** Прозрачность для всего компонента в состоянии disabled */
147
151
  disabledOpacity: '--plasma-textarea-disabled-opacity',
148
152
  /** Цвет текста для элемента textarea в состоянии disabled */
149
- inputColorDisabled: '--plasma-textarea-input-color-disabled'
153
+ inputColorDisabled: '--plasma-textarea-input-color-disabled',
154
+ indicatorColor: '--plasma-textarea-indicator-color',
155
+ indicatorSizeInner: '--plasma-textarea-indicator-size-inner',
156
+ indicatorSizeOuter: '--plasma-textarea-indicator-size-outer',
157
+ indicatorLabelPlacementInner: '--plasma-textarea-indicator-placement-inner',
158
+ indicatorLabelPlacementOuter: '--plasma-textarea-indicator-placement-outer',
159
+ indicatorLabelPlacementInnerRight: '--plasma-textarea-indicator-placement-inner-right',
160
+ indicatorLabelPlacementOuterRight: '--plasma-textarea-indicator-placement-outer-right'
150
161
  };
@@ -36,5 +36,11 @@
36
36
  "--plasma-textarea-helpers-font-style",
37
37
  "--plasma-textarea-helpers-font-weight",
38
38
  "--plasma-textarea-helpers-letter-spacing",
39
- "--plasma-textarea-helpers-line-height"
39
+ "--plasma-textarea-helpers-line-height",
40
+ "--plasma-textarea-indicator-size-inner",
41
+ "--plasma-textarea-indicator-size-outer",
42
+ "--plasma-textarea-indicator-placement-inner",
43
+ "--plasma-textarea-indicator-placement-outer",
44
+ "--plasma-textarea-indicator-placement-inner-right",
45
+ "--plasma-textarea-indicator-placement-outer-right"
40
46
  ]
@@ -1,4 +1,4 @@
1
- var _excluded = ["id", "className", "style", "contentLeft", "contentRight", "label", "labelPlacement", "textBefore", "textAfter", "placeholder", "leftHelper", "enumerationType", "view", "size", "readOnly", "disabled", "chips", "onChange", "onChangeChips", "onSearch", "onKeyDown"];
1
+ var _excluded = ["id", "className", "style", "contentLeft", "contentRight", "label", "labelPlacement", "textBefore", "textAfter", "placeholder", "leftHelper", "enumerationType", "requiredPlacement", "view", "size", "readOnly", "disabled", "required", "optional", "chips", "onChange", "onChangeChips", "onSearch", "onKeyDown"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -18,17 +18,18 @@ import { base as viewCSS } from './variations/_view/base';
18
18
  import { base as disabledCSS } from './variations/_disabled/base';
19
19
  import { base as readOnlyCSS } from './variations/_read-only/base';
20
20
  import { base as labelPlacementCSS } from './variations/_label-placement/base';
21
- import { Input, LeftHelper, Label, InputWrapper, InputLabelWrapper, StyledContentLeft, StyledContentRight, StyledChips, StyledTextBefore, StyledTextAfter } from './TextField.styles';
21
+ import { Input, InputContainer, LeftHelper, Label, InputWrapper, InputLabelWrapper, StyledContentLeft, StyledContentRight, StyledChips, StyledTextBefore, StyledTextAfter, StyledIndicator, StyledOptionalText, InputPlaceholder } from './TextField.styles';
22
22
  import { classes } from './TextField.tokens';
23
23
  import { TextFieldChip } from './ui';
24
24
  import { useKeyNavigation } from './hooks';
25
+ var optionalText = 'optional';
25
26
  export var base = process.env.NODE_ENV === "production" ? {
26
- name: "179h1ck-plasma-new-hope__base",
27
- styles: "display:block;overflow:hidden;label:plasma-new-hope__base;"
27
+ name: "121o0v2-plasma-new-hope__base",
28
+ styles: "display:block;label:plasma-new-hope__base;"
28
29
  } : {
29
- name: "179h1ck-plasma-new-hope__base",
30
- styles: "display:block;overflow:hidden;label:plasma-new-hope__base;",
31
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEZpZWxkL1RleHRGaWVsZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJ1QiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL1RleHRGaWVsZC9UZXh0RmllbGQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgQ2hhbmdlRXZlbnRIYW5kbGVyLCBLZXlib2FyZEV2ZW50LCBDaGFuZ2VFdmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHNhZmVVc2VJZCwgdXNlRm9ya1JlZiB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgUm9vdFByb3BzIH0gZnJvbSAnLi4vLi4vZW5naW5lcyc7XG5pbXBvcnQgeyBjeCB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHR5cGUgeyBDaGlwVmFsdWVzLCBUZXh0RmllbGRQcmltaXRpdmVWYWx1ZSwgVGV4dEZpZWxkUHJvcHMgfSBmcm9tICcuL1RleHRGaWVsZC50eXBlcyc7XG5pbXBvcnQgeyBiYXNlIGFzIHNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3NpemUvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIHZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3ZpZXcvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGRpc2FibGVkQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19kaXNhYmxlZC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgcmVhZE9ubHlDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3JlYWQtb25seS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgbGFiZWxQbGFjZW1lbnRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2xhYmVsLXBsYWNlbWVudC9iYXNlJztcbmltcG9ydCB7XG4gICAgSW5wdXQsXG4gICAgTGVmdEhlbHBlcixcbiAgICBMYWJlbCxcbiAgICBJbnB1dFdyYXBwZXIsXG4gICAgSW5wdXRMYWJlbFdyYXBwZXIsXG4gICAgU3R5bGVkQ29udGVudExlZnQsXG4gICAgU3R5bGVkQ29udGVudFJpZ2h0LFxuICAgIFN0eWxlZENoaXBzLFxuICAgIFN0eWxlZFRleHRCZWZvcmUsXG4gICAgU3R5bGVkVGV4dEFmdGVyLFxufSBmcm9tICcuL1RleHRGaWVsZC5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEZpZWxkLnRva2Vucyc7XG5pbXBvcnQgeyBUZXh0RmllbGRDaGlwIH0gZnJvbSAnLi91aSc7XG5pbXBvcnQgeyB1c2VLZXlOYXZpZ2F0aW9uIH0gZnJvbSAnLi9ob29rcyc7XG5cbmV4cG9ydCBjb25zdCBiYXNlID0gY3NzYFxuICAgIC8qIE5PVEU6IFdlYmtpdCDQvdC1INC/0YDQuNC80LXQvdGP0LXRgiBvcGFjaXR5INC6IGlubGluZSDRgtC10LPQsNC8ICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbmA7XG5cbmV4cG9ydCBjb25zdCB0ZXh0RmllbGRSb290ID0gKFJvb3Q6IFJvb3RQcm9wczxIVE1MRGl2RWxlbWVudCwgVGV4dEZpZWxkUHJvcHM+KSA9PlxuICAgIGZvcndhcmRSZWY8SFRNTElucHV0RWxlbWVudCwgVGV4dEZpZWxkUHJvcHM+KFxuICAgICAgICAoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgIHN0eWxlLFxuXG4gICAgICAgICAgICAgICAgLy8gbGF5b3V0XG4gICAgICAgICAgICAgICAgY29udGVudExlZnQsXG4gICAgICAgICAgICAgICAgY29udGVudFJpZ2h0LFxuICAgICAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIHRleHRCZWZvcmUsXG4gICAgICAgICAgICAgICAgdGV4dEFmdGVyLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIGxlZnRIZWxwZXIsXG4gICAgICAgICAgICAgICAgZW51bWVyYXRpb25UeXBlID0gJ3BsYWluJyxcblxuICAgICAgICAgICAgICAgIC8vIHZhcmlhdGlvbnNcbiAgICAgICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCA9IGZhbHNlLFxuXG4gICAgICAgICAgICAgICAgLy8gY29udHJvbGxlZFxuICAgICAgICAgICAgICAgIGNoaXBzOiB2YWx1ZXMsXG5cbiAgICAgICAgICAgICAgICAvLyBldmVudHNcbiAgICAgICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZUNoaXBzLFxuICAgICAgICAgICAgICAgIG9uU2VhcmNoLFxuICAgICAgICAgICAgICAgIG9uS2V5RG93bixcblxuICAgICAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZWYsXG4gICAgICAgICkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGVudFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0Rm9ya1JlZiA9IHVzZUZvcmtSZWYoaW5wdXRSZWYsIHJlZik7XG4gICAgICAgICAgICBjb25zdCBjaGlwc1JlZnMgPSB1c2VSZWY8QXJyYXk8SFRNTEJ1dHRvbkVsZW1lbnQ+PihbXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xsZWRSZWZzID0geyBjb250ZW50UmVmLCBpbnB1dFJlZiwgY2hpcHNSZWZzIH07XG5cbiAgICAgICAgICAgIGNvbnN0IFtjaGlwcywgc2V0Q2hpcHNdID0gdXNlU3RhdGU8QXJyYXk8Q2hpcFZhbHVlcz4+KFtdKTtcblxuICAgICAgICAgICAgY29uc3QgdW5pcUlkID0gc2FmZVVzZUlkKCk7XG4gICAgICAgICAgICBjb25zdCBpbm5lcklkID0gaWQgfHwgdW5pcUlkO1xuICAgICAgICAgICAgY29uc3QgbGFiZWxJZCA9IHNhZmVVc2VJZCgpO1xuICAgICAgICAgICAgY29uc3QgaGVscGVyVGV4dElkID0gc2FmZVVzZUlkKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGlzQ2hpcEVudW1lcmF0aW9uID0gZW51bWVyYXRpb25UeXBlID09PSAnY2hpcCc7XG4gICAgICAgICAgICBjb25zdCBoaWRlTGFiZWwgPSAoc2l6ZSA9PT0gJ3hzJyB8fCBpc0NoaXBFbnVtZXJhdGlvbikgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcic7XG4gICAgICAgICAgICBjb25zdCBsYWJlbEluc2lkZSA9IHNpemUgIT09ICd4cycgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcic7XG4gICAgICAgICAgICBjb25zdCBpbm5lckxhYmVsUGxhY2VtZW50VmFsdWUgPSBoaWRlTGFiZWwgPyAnb3V0ZXInIDogbGFiZWxQbGFjZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBpbm5lclBsYWNlaG9sZGVyVmFsdWUgPSBoaWRlTGFiZWwgPyBsYWJlbCA6IHBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJMYWJlbFZhbHVlID0gaGlkZUxhYmVsID8gdW5kZWZpbmVkIDogbGFiZWw7XG4gICAgICAgICAgICBjb25zdCBoaWRlTGFiZWxDbGFzcyA9IGhpZGVMYWJlbCAmJiBsYWJlbCA/IGNsYXNzZXMuaGlkZUxhYmVsIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgbGFiZWxQbGFjZW1lbnRDbGFzcyA9IGNsYXNzZXNbYCR7bGFiZWxQbGFjZW1lbnR9TGFiZWxQbGFjZW1lbnRgIGFzIGtleW9mIHR5cGVvZiBjbGFzc2VzXTtcblxuICAgICAgICAgICAgY29uc3QgaXNDaGlwc1Zpc2libGUgPSBpc0NoaXBFbnVtZXJhdGlvbiAmJiBjaGlwcz8ubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3Qgd2l0aEhhc0NoaXBzID0gaXNDaGlwc1Zpc2libGUgPyBjbGFzc2VzLmhhc0NoaXBzIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3Qgd3JhcHBlcldpdGhvdXRMZWZ0Q29udGVudCA9ICFjb250ZW50TGVmdCAmJiBpc0NoaXBzVmlzaWJsZSA/IGNsYXNzZXMuaGFzRW1wdHlDb250ZW50TGVmdCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJXaXRob3V0UmlnaHRDb250ZW50ID1cbiAgICAgICAgICAgICAgICAhY29udGVudFJpZ2h0ICYmIGlzQ2hpcHNWaXNpYmxlID8gY2xhc3Nlcy5oYXNFbXB0eUNvbnRlbnRSaWdodCA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGlzYWJsZWQgfHwgcmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHsgbWF4TGVuZ3RoLCB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgICAgICAgICAgaWYgKG1heExlbmd0aCAhPT0gLTEgJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT8uKGV2ZW50KTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUNoaXBzID0gKG5ld0NoaXBzOiBBcnJheTxDaGlwVmFsdWVzPiwgbmV3VmFsdWVzOiBBcnJheTxUZXh0RmllbGRQcmltaXRpdmVWYWx1ZT4pID0+IHtcbiAgICAgICAgICAgICAgICBzZXRDaGlwcyhuZXdDaGlwcyk7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VDaGlwcz8uKG5ld1ZhbHVlcyk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCB7IGhhbmRsZUlucHV0S2V5ZG93biwgaGFuZGxlQ2hpcEtleURvd24sIG9uQ2hpcENsZWFyLCBoYW5kbGVDb250ZW50S2V5RG93biB9ID0gdXNlS2V5TmF2aWdhdGlvbih7XG4gICAgICAgICAgICAgICAgY29udHJvbGxlZFJlZnMsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHksXG4gICAgICAgICAgICAgICAgY2hpcHMsXG4gICAgICAgICAgICAgICAgZW51bWVyYXRpb25UeXBlLFxuICAgICAgICAgICAgICAgIHVwZGF0ZUNoaXBzLFxuICAgICAgICAgICAgICAgIG9uU2VhcmNoLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IG9uQ2hpcENsaWNrID0gKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PikgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUlucHV0Rm9jdXMgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlYWRPbmx5IHx8IGRpc2FibGVkIHx8ICFpbnB1dFJlZj8uY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogaW5wdXRSZWYuY3VycmVudC5vZmZzZXRMZWZ0LFxuICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBnZXRSZWYgPSAoZWxlbWVudDogSFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQgJiYgY2hpcHNSZWZzPy5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNoaXBzUmVmcy5jdXJyZW50W2luZGV4XSA9IGVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlT25LZXlEb3duID0gKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiAmIEtleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVJbnB1dEtleWRvd24oZXZlbnQpO1xuICAgICAgICAgICAgICAgIG9uS2V5RG93biAmJiBvbktleURvd24oZXZlbnQpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzQ2hpcEVudW1lcmF0aW9uICYmICF2YWx1ZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgbmV3Q2hpcHMgPVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM/Lm1hcCgodmFsdWUsIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGAke2luZGV4fV8ke3ZhbHVlfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgfSkpIHx8IFtdO1xuXG4gICAgICAgICAgICAgICAgc2V0Q2hpcHMobmV3Q2hpcHMpO1xuICAgICAgICAgICAgfSwgW2lzQ2hpcEVudW1lcmF0aW9uLCB2YWx1ZXNdKTtcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8Um9vdFxuICAgICAgICAgICAgICAgICAgICB2aWV3PXt2aWV3fVxuICAgICAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXshZGlzYWJsZWQgJiYgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50PXtpbm5lckxhYmVsUGxhY2VtZW50VmFsdWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUlucHV0Rm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3gobGFiZWxQbGFjZW1lbnRDbGFzcywgaGlkZUxhYmVsQ2xhc3MsIGNsYXNzZXMudGV4dEZpZWxkR3JvdXBJdGVtLCBjbGFzc05hbWUpfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7bGFiZWxJbnNpZGUgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIChpbm5lckxhYmVsVmFsdWUgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBpZD17bGFiZWxJZH0gaHRtbEZvcj17aWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5uZXJMYWJlbFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgPElucHV0V3JhcHBlciBjbGFzc05hbWU9e2N4KHdpdGhIYXNDaGlwcywgd3JhcHBlcldpdGhvdXRMZWZ0Q29udGVudCwgd3JhcHBlcldpdGhvdXRSaWdodENvbnRlbnQpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50TGVmdCAmJiA8U3R5bGVkQ29udGVudExlZnQ+e2NvbnRlbnRMZWZ0fTwvU3R5bGVkQ29udGVudExlZnQ+fVxuICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0TGFiZWxXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiSW5kZXg9ey0xfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17Y29udGVudFJlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZUNvbnRlbnRLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17d2l0aEhhc0NoaXBzfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0ZXh0QmVmb3JlICYmIDxTdHlsZWRUZXh0QmVmb3JlPnt0ZXh0QmVmb3JlfTwvU3R5bGVkVGV4dEJlZm9yZT59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzQ2hpcEVudW1lcmF0aW9uICYmIEJvb2xlYW4oY2hpcHM/Lmxlbmd0aCkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkQ2hpcHM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2hpcHM/Lm1hcCgoeyBpZDogY2hpcElkLCB0ZXh0IH0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRleHRGaWVsZENoaXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXtjaGlwSWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9eyhlbGVtZW50KSA9PiBnZXRSZWYoZWxlbWVudCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgJHtjaGlwSWR9XyR7aW5kZXh9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0ZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dD17dGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17KGV2ZW50KSA9PiBoYW5kbGVDaGlwS2V5RG93bihldmVudCwgY2hpcElkLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsZWFyPXsoKSA9PiBvbkNoaXBDbGVhcihjaGlwSWQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2hpcENsaWNrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRDaGlwcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2lucHV0Rm9ya1JlZn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2lubmVySWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17bGFiZWxJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17aGVscGVyVGV4dElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17aW5uZXJQbGFjZWhvbGRlclZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXshZGlzYWJsZWQgJiYgcmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlT25LZXlEb3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtsYWJlbEluc2lkZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBpZD17bGFiZWxJZH0gaHRtbEZvcj17aW5uZXJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5uZXJMYWJlbFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3RleHRBZnRlciAmJiA8U3R5bGVkVGV4dEFmdGVyPnt0ZXh0QWZ0ZXJ9PC9TdHlsZWRUZXh0QWZ0ZXI+fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dExhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjb250ZW50UmlnaHQgJiYgPFN0eWxlZENvbnRlbnRSaWdodD57Y29udGVudFJpZ2h0fTwvU3R5bGVkQ29udGVudFJpZ2h0Pn1cbiAgICAgICAgICAgICAgICAgICAgPC9JbnB1dFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIHtsZWZ0SGVscGVyICYmIDxMZWZ0SGVscGVyIGlkPXtoZWxwZXJUZXh0SWR9PntsZWZ0SGVscGVyfTwvTGVmdEhlbHBlcj59XG4gICAgICAgICAgICAgICAgPC9Sb290PlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICApO1xuXG5leHBvcnQgY29uc3QgdGV4dEZpZWxkQ29uZmlnID0ge1xuICAgIG5hbWU6ICdUZXh0RmllbGQnLFxuICAgIHRhZzogJ2RpdicsXG4gICAgbGF5b3V0OiB0ZXh0RmllbGRSb290LFxuICAgIGJhc2UsXG4gICAgdmFyaWF0aW9uczoge1xuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgICBjc3M6IHZpZXdDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIGNzczogc2l6ZUNTUyxcbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWQ6IHtcbiAgICAgICAgICAgIGNzczogZGlzYWJsZWRDU1MsXG4gICAgICAgICAgICBhdHRyczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVhZE9ubHk6IHtcbiAgICAgICAgICAgIGNzczogcmVhZE9ubHlDU1MsXG4gICAgICAgICAgICBhdHRyczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWxQbGFjZW1lbnQ6IHtcbiAgICAgICAgICAgIGNzczogbGFiZWxQbGFjZW1lbnRDU1MsXG4gICAgICAgIH0sXG4gICAgfSxcbiAgICBkZWZhdWx0czoge1xuICAgICAgICBzaXplOiAnbScsXG4gICAgICAgIHZpZXc6ICdkZWZhdWx0JyxcbiAgICB9LFxufTtcbiJdfQ== */",
30
+ name: "121o0v2-plasma-new-hope__base",
31
+ styles: "display:block;label:plasma-new-hope__base;",
32
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEZpZWxkL1RleHRGaWVsZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0N1QiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMtZW1vdGlvbi9jb21wb25lbnRzL1RleHRGaWVsZC9UZXh0RmllbGQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgRm9ybUV2ZW50SGFuZGxlciwgQ2hhbmdlRXZlbnRIYW5kbGVyLCBLZXlib2FyZEV2ZW50LCBDaGFuZ2VFdmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHNhZmVVc2VJZCwgdXNlRm9ya1JlZiB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgUm9vdFByb3BzIH0gZnJvbSAnLi4vLi4vZW5naW5lcyc7XG5pbXBvcnQgeyBjeCB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHR5cGUgeyBDaGlwVmFsdWVzLCBUZXh0RmllbGRQcmltaXRpdmVWYWx1ZSwgVGV4dEZpZWxkUHJvcHMgfSBmcm9tICcuL1RleHRGaWVsZC50eXBlcyc7XG5pbXBvcnQgeyBiYXNlIGFzIHNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3NpemUvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIHZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3ZpZXcvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGRpc2FibGVkQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19kaXNhYmxlZC9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgcmVhZE9ubHlDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3JlYWQtb25seS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgbGFiZWxQbGFjZW1lbnRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2xhYmVsLXBsYWNlbWVudC9iYXNlJztcbmltcG9ydCB7XG4gICAgSW5wdXQsXG4gICAgSW5wdXRDb250YWluZXIsXG4gICAgTGVmdEhlbHBlcixcbiAgICBMYWJlbCxcbiAgICBJbnB1dFdyYXBwZXIsXG4gICAgSW5wdXRMYWJlbFdyYXBwZXIsXG4gICAgU3R5bGVkQ29udGVudExlZnQsXG4gICAgU3R5bGVkQ29udGVudFJpZ2h0LFxuICAgIFN0eWxlZENoaXBzLFxuICAgIFN0eWxlZFRleHRCZWZvcmUsXG4gICAgU3R5bGVkVGV4dEFmdGVyLFxuICAgIFN0eWxlZEluZGljYXRvcixcbiAgICBTdHlsZWRPcHRpb25hbFRleHQsXG4gICAgSW5wdXRQbGFjZWhvbGRlcixcbn0gZnJvbSAnLi9UZXh0RmllbGQuc3R5bGVzJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICcuL1RleHRGaWVsZC50b2tlbnMnO1xuaW1wb3J0IHsgVGV4dEZpZWxkQ2hpcCB9IGZyb20gJy4vdWknO1xuaW1wb3J0IHsgdXNlS2V5TmF2aWdhdGlvbiB9IGZyb20gJy4vaG9va3MnO1xuXG5jb25zdCBvcHRpb25hbFRleHQgPSAnb3B0aW9uYWwnO1xuXG5leHBvcnQgY29uc3QgYmFzZSA9IGNzc2BcbiAgICAvKiBOT1RFOiBXZWJraXQg0L3QtSDQv9GA0LjQvNC10L3Rj9C10YIgb3BhY2l0eSDQuiBpbmxpbmUg0YLQtdCz0LDQvCAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuZXhwb3J0IGNvbnN0IHRleHRGaWVsZFJvb3QgPSAoUm9vdDogUm9vdFByb3BzPEhUTUxEaXZFbGVtZW50LCBUZXh0RmllbGRQcm9wcz4pID0+XG4gICAgZm9yd2FyZFJlZjxIVE1MSW5wdXRFbGVtZW50LCBUZXh0RmllbGRQcm9wcz4oXG4gICAgICAgIChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgc3R5bGUsXG5cbiAgICAgICAgICAgICAgICAvLyBsYXlvdXRcbiAgICAgICAgICAgICAgICBjb250ZW50TGVmdCxcbiAgICAgICAgICAgICAgICBjb250ZW50UmlnaHQsXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgdGV4dEJlZm9yZSxcbiAgICAgICAgICAgICAgICB0ZXh0QWZ0ZXIsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgICAgICBlbnVtZXJhdGlvblR5cGUgPSAncGxhaW4nLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkUGxhY2VtZW50ID0gJ3JpZ2h0JyxcblxuICAgICAgICAgICAgICAgIC8vIHZhcmlhdGlvbnNcbiAgICAgICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHkgPSBmYWxzZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkID0gZmFsc2UsXG4gICAgICAgICAgICAgICAgb3B0aW9uYWwsXG5cbiAgICAgICAgICAgICAgICAvLyBjb250cm9sbGVkXG4gICAgICAgICAgICAgICAgY2hpcHM6IHZhbHVlcyxcblxuICAgICAgICAgICAgICAgIC8vIGV2ZW50c1xuICAgICAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlQ2hpcHMsXG4gICAgICAgICAgICAgICAgb25TZWFyY2gsXG4gICAgICAgICAgICAgICAgb25LZXlEb3duLFxuXG4gICAgICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlZixcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRGb3JrUmVmID0gdXNlRm9ya1JlZihpbnB1dFJlZiwgcmVmKTtcbiAgICAgICAgICAgIGNvbnN0IGNoaXBzUmVmcyA9IHVzZVJlZjxBcnJheTxIVE1MQnV0dG9uRWxlbWVudD4+KFtdKTtcblxuICAgICAgICAgICAgY29uc3QgY29udHJvbGxlZFJlZnMgPSB7IGNvbnRlbnRSZWYsIGlucHV0UmVmLCBjaGlwc1JlZnMgfTtcblxuICAgICAgICAgICAgY29uc3QgW2hhc1ZhbHVlLCBzZXRIYXNWYWx1ZV0gPSB1c2VTdGF0ZSghIXJlc3QudmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgW2NoaXBzLCBzZXRDaGlwc10gPSB1c2VTdGF0ZTxBcnJheTxDaGlwVmFsdWVzPj4oW10pO1xuXG4gICAgICAgICAgICBjb25zdCB1bmlxSWQgPSBzYWZlVXNlSWQoKTtcbiAgICAgICAgICAgIGNvbnN0IGlubmVySWQgPSBpZCB8fCB1bmlxSWQ7XG4gICAgICAgICAgICBjb25zdCBsYWJlbElkID0gc2FmZVVzZUlkKCk7XG4gICAgICAgICAgICBjb25zdCBoZWxwZXJUZXh0SWQgPSBzYWZlVXNlSWQoKTtcblxuICAgICAgICAgICAgY29uc3QgaXNDaGlwRW51bWVyYXRpb24gPSBlbnVtZXJhdGlvblR5cGUgPT09ICdjaGlwJztcbiAgICAgICAgICAgIGNvbnN0IGlzQ2hpcHNWaXNpYmxlID0gaXNDaGlwRW51bWVyYXRpb24gJiYgISFjaGlwcz8ubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3Qgd2l0aEhhc0NoaXBzID0gaXNDaGlwc1Zpc2libGUgPyBjbGFzc2VzLmhhc0NoaXBzIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCBoYXNMYWJlbFZhbHVlID0gISFsYWJlbDtcbiAgICAgICAgICAgIGNvbnN0IGhhc0lubmVyTGFiZWwgPSBzaXplICE9PSAneHMnICYmIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmICFpc0NoaXBzVmlzaWJsZSAmJiBoYXNMYWJlbFZhbHVlO1xuICAgICAgICAgICAgY29uc3QgaGFzT3V0ZXJMYWJlbCA9IGxhYmVsUGxhY2VtZW50ID09PSAnb3V0ZXInICYmIGhhc0xhYmVsVmFsdWU7XG4gICAgICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlciA9ICEhcGxhY2Vob2xkZXIgJiYgIWhhc0lubmVyTGFiZWw7XG5cbiAgICAgICAgICAgIGNvbnN0IGlubmVyTGFiZWxWYWx1ZSA9IGhhc0lubmVyTGFiZWwgfHwgaGFzT3V0ZXJMYWJlbCA/IGxhYmVsIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlID0gbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgIWhhc0lubmVyTGFiZWwgPyB1bmRlZmluZWQgOiBsYWJlbFBsYWNlbWVudDtcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJQbGFjZWhvbGRlclZhbHVlID0gaGFzUGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyU2hvd24gPSAhIWlubmVyUGxhY2Vob2xkZXJWYWx1ZSAmJiAhaGFzVmFsdWU7XG5cbiAgICAgICAgICAgIGNvbnN0IHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MgPSByZXF1aXJlZFBsYWNlbWVudCA9PT0gJ3JpZ2h0JyA/ICdhbGlnbi1yaWdodCAnIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgbGFiZWxQbGFjZW1lbnRDbGFzcyA9IGlubmVyTGFiZWxQbGFjZW1lbnRWYWx1ZVxuICAgICAgICAgICAgICAgID8gY2xhc3Nlc1tgJHtpbm5lckxhYmVsUGxhY2VtZW50VmFsdWV9TGFiZWxQbGFjZW1lbnRgIGFzIGtleW9mIHR5cGVvZiBjbGFzc2VzXVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaGFzVmFsdWVDbGFzcyA9IGhhc1ZhbHVlID8gY2xhc3Nlcy5oYXNWYWx1ZSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3Qgd3JhcHBlcldpdGhvdXRMZWZ0Q29udGVudCA9ICFjb250ZW50TGVmdCAmJiBpc0NoaXBzVmlzaWJsZSA/IGNsYXNzZXMuaGFzRW1wdHlDb250ZW50TGVmdCA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IHdyYXBwZXJXaXRob3V0UmlnaHRDb250ZW50ID1cbiAgICAgICAgICAgICAgICAhY29udGVudFJpZ2h0ICYmIGlzQ2hpcHNWaXNpYmxlID8gY2xhc3Nlcy5oYXNFbXB0eUNvbnRlbnRSaWdodCA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlSW5wdXQ6IEZvcm1FdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRIYXNWYWx1ZSghIShldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGlzYWJsZWQgfHwgcmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHsgbWF4TGVuZ3RoLCB2YWx1ZSB9ID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICAgICAgICAgICAgaWYgKG1heExlbmd0aCAhPT0gLTEgJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT8uKGV2ZW50KTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUNoaXBzID0gKG5ld0NoaXBzOiBBcnJheTxDaGlwVmFsdWVzPiwgbmV3VmFsdWVzOiBBcnJheTxUZXh0RmllbGRQcmltaXRpdmVWYWx1ZT4pID0+IHtcbiAgICAgICAgICAgICAgICBzZXRDaGlwcyhuZXdDaGlwcyk7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VDaGlwcz8uKG5ld1ZhbHVlcyk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCB7IGhhbmRsZUlucHV0S2V5ZG93biwgaGFuZGxlQ2hpcEtleURvd24sIG9uQ2hpcENsZWFyLCBoYW5kbGVDb250ZW50S2V5RG93biB9ID0gdXNlS2V5TmF2aWdhdGlvbih7XG4gICAgICAgICAgICAgICAgY29udHJvbGxlZFJlZnMsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHksXG4gICAgICAgICAgICAgICAgY2hpcHMsXG4gICAgICAgICAgICAgICAgZW51bWVyYXRpb25UeXBlLFxuICAgICAgICAgICAgICAgIHVwZGF0ZUNoaXBzLFxuICAgICAgICAgICAgICAgIG9uU2VhcmNoLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IG9uQ2hpcENsaWNrID0gKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PikgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUlucHV0Rm9jdXMgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlYWRPbmx5IHx8IGRpc2FibGVkIHx8ICFpbnB1dFJlZj8uY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogaW5wdXRSZWYuY3VycmVudC5vZmZzZXRMZWZ0LFxuICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBjb25zdCBnZXRSZWYgPSAoZWxlbWVudDogSFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQgJiYgY2hpcHNSZWZzPy5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNoaXBzUmVmcy5jdXJyZW50W2luZGV4XSA9IGVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlT25LZXlEb3duID0gKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiAmIEtleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVJbnB1dEtleWRvd24oZXZlbnQpO1xuICAgICAgICAgICAgICAgIG9uS2V5RG93biAmJiBvbktleURvd24oZXZlbnQpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzQ2hpcEVudW1lcmF0aW9uICYmICF2YWx1ZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgbmV3Q2hpcHMgPVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM/Lm1hcCgodmFsdWUsIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGAke2luZGV4fV8ke3ZhbHVlfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgfSkpIHx8IFtdO1xuXG4gICAgICAgICAgICAgICAgc2V0Q2hpcHMobmV3Q2hpcHMpO1xuICAgICAgICAgICAgfSwgW2lzQ2hpcEVudW1lcmF0aW9uLCB2YWx1ZXNdKTtcblxuICAgICAgICAgICAgY29uc3QgaW5uZXJPcHRpb25hbCA9IEJvb2xlYW4ocmVxdWlyZWQgPyBmYWxzZSA6IG9wdGlvbmFsKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPSBpbm5lck9wdGlvbmFsICYmICFpbm5lckxhYmVsVmFsdWUgJiYgIWhhc091dGVyTGFiZWw7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25hbFRleHROb2RlID0gaW5uZXJPcHRpb25hbCA/IChcbiAgICAgICAgICAgICAgICA8U3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICAgICAgICAgICAgICB7Qm9vbGVhbihoYXNQbGFjZWhvbGRlck9wdGlvbmFsID8gaW5uZXJQbGFjZWhvbGRlclZhbHVlIDogaW5uZXJMYWJlbFZhbHVlKSAmJiAnXFx4YTAnfVxuICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0fVxuICAgICAgICAgICAgICAgIDwvU3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICAgICAgKSA6IG51bGw7XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPFJvb3RcbiAgICAgICAgICAgICAgICAgICAgdmlldz17dmlld31cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17IWRpc2FibGVkICYmIHJlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudD17aW5uZXJMYWJlbFBsYWNlbWVudFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVJbnB1dEZvY3VzfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KGxhYmVsUGxhY2VtZW50Q2xhc3MsIGNsYXNzZXMudGV4dEZpZWxkR3JvdXBJdGVtLCBjbGFzc05hbWUpfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7aGFzT3V0ZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgaWQ9e2xhYmVsSWR9IGh0bWxGb3I9e2lkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lckxhYmVsVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0xhYmVsPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyIGNsYXNzTmFtZT17Y3god2l0aEhhc0NoaXBzLCB3cmFwcGVyV2l0aG91dExlZnRDb250ZW50LCB3cmFwcGVyV2l0aG91dFJpZ2h0Q29udGVudCl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgeyFoYXNPdXRlckxhYmVsICYmIHJlcXVpcmVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudExlZnQgJiYgPFN0eWxlZENvbnRlbnRMZWZ0Pntjb250ZW50TGVmdH08L1N0eWxlZENvbnRlbnRMZWZ0Pn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dExhYmVsV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2NvbnRlbnRSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVDb250ZW50S2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3dpdGhIYXNDaGlwc31cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGV4dEJlZm9yZSAmJiA8U3R5bGVkVGV4dEJlZm9yZT57dGV4dEJlZm9yZX08L1N0eWxlZFRleHRCZWZvcmU+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0NoaXBFbnVtZXJhdGlvbiAmJiBCb29sZWFuKGNoaXBzPy5sZW5ndGgpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZENoaXBzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NoaXBzPy5tYXAoKHsgaWQ6IGNoaXBJZCwgdGV4dCB9LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUZXh0RmllbGRDaGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17Y2hpcElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXsoZWxlbWVudCkgPT4gZ2V0UmVmKGVsZW1lbnQsIGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YCR7Y2hpcElkfV8ke2luZGV4fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ9e3RleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4gaGFuZGxlQ2hpcEtleURvd24oZXZlbnQsIGNoaXBJZCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGVhcj17KCkgPT4gb25DaGlwQ2xlYXIoY2hpcElkLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNoaXBDbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQ2hpcHM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtpbnB1dEZvcmtSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17aW5uZXJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17bGFiZWxJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e2hlbHBlclRleHRJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpbm5lclBsYWNlaG9sZGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KGhhc1ZhbHVlQ2xhc3MpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9eyFkaXNhYmxlZCAmJiByZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uSW5wdXQ9e2hhbmRsZUlucHV0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlT25LZXlEb3dufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoYXNJbm5lckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBpZD17bGFiZWxJZH0gaHRtbEZvcj17aW5uZXJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lubmVyTGFiZWxWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlclNob3duICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbm5lclBsYWNlaG9sZGVyVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1BsYWNlaG9sZGVyT3B0aW9uYWwgJiYgb3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRQbGFjZWhvbGRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0ZXh0QWZ0ZXIgJiYgPFN0eWxlZFRleHRBZnRlcj57dGV4dEFmdGVyfTwvU3R5bGVkVGV4dEFmdGVyPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y29udGVudFJpZ2h0ICYmIDxTdHlsZWRDb250ZW50UmlnaHQ+e2NvbnRlbnRSaWdodH08L1N0eWxlZENvbnRlbnRSaWdodD59XG4gICAgICAgICAgICAgICAgICAgIDwvSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICB7bGVmdEhlbHBlciAmJiA8TGVmdEhlbHBlciBpZD17aGVscGVyVGV4dElkfT57bGVmdEhlbHBlcn08L0xlZnRIZWxwZXI+fVxuICAgICAgICAgICAgICAgIDwvUm9vdD5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgKTtcblxuZXhwb3J0IGNvbnN0IHRleHRGaWVsZENvbmZpZyA9IHtcbiAgICBuYW1lOiAnVGV4dEZpZWxkJyxcbiAgICB0YWc6ICdkaXYnLFxuICAgIGxheW91dDogdGV4dEZpZWxkUm9vdCxcbiAgICBiYXNlLFxuICAgIHZhcmlhdGlvbnM6IHtcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgY3NzOiB2aWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICBjc3M6IHNpemVDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICBjc3M6IGRpc2FibGVkQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlYWRPbmx5OiB7XG4gICAgICAgICAgICBjc3M6IHJlYWRPbmx5Q1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsUGxhY2VtZW50OiB7XG4gICAgICAgICAgICBjc3M6IGxhYmVsUGxhY2VtZW50Q1NTLFxuICAgICAgICB9LFxuICAgIH0sXG4gICAgZGVmYXVsdHM6IHtcbiAgICAgICAgc2l6ZTogJ20nLFxuICAgICAgICB2aWV3OiAnZGVmYXVsdCcsXG4gICAgfSxcbn07XG4iXX0= */",
32
33
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
33
34
  };
34
35
  export var textFieldRoot = function textFieldRoot(Root) {
@@ -46,12 +47,17 @@ export var textFieldRoot = function textFieldRoot(Root) {
46
47
  leftHelper = _ref.leftHelper,
47
48
  _ref$enumerationType = _ref.enumerationType,
48
49
  enumerationType = _ref$enumerationType === void 0 ? 'plain' : _ref$enumerationType,
50
+ _ref$requiredPlacemen = _ref.requiredPlacement,
51
+ requiredPlacement = _ref$requiredPlacemen === void 0 ? 'right' : _ref$requiredPlacemen,
49
52
  view = _ref.view,
50
53
  size = _ref.size,
51
54
  _ref$readOnly = _ref.readOnly,
52
55
  readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
53
56
  _ref$disabled = _ref.disabled,
54
57
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
58
+ _ref$required = _ref.required,
59
+ required = _ref$required === void 0 ? false : _ref$required,
60
+ optional = _ref.optional,
55
61
  values = _ref.chips,
56
62
  onChange = _ref.onChange,
57
63
  onChangeChips = _ref.onChangeChips,
@@ -67,26 +73,37 @@ export var textFieldRoot = function textFieldRoot(Root) {
67
73
  inputRef: inputRef,
68
74
  chipsRefs: chipsRefs
69
75
  };
70
- var _useState = useState([]),
76
+ var _useState = useState(!!rest.value),
71
77
  _useState2 = _slicedToArray(_useState, 2),
72
- chips = _useState2[0],
73
- setChips = _useState2[1];
78
+ hasValue = _useState2[0],
79
+ setHasValue = _useState2[1];
80
+ var _useState3 = useState([]),
81
+ _useState4 = _slicedToArray(_useState3, 2),
82
+ chips = _useState4[0],
83
+ setChips = _useState4[1];
74
84
  var uniqId = safeUseId();
75
85
  var innerId = id || uniqId;
76
86
  var labelId = safeUseId();
77
87
  var helperTextId = safeUseId();
78
88
  var isChipEnumeration = enumerationType === 'chip';
79
- var hideLabel = (size === 'xs' || isChipEnumeration) && labelPlacement === 'inner';
80
- var labelInside = size !== 'xs' && labelPlacement === 'inner';
81
- var innerLabelPlacementValue = hideLabel ? 'outer' : labelPlacement;
82
- var innerPlaceholderValue = hideLabel ? label : placeholder;
83
- var innerLabelValue = hideLabel ? undefined : label;
84
- var hideLabelClass = hideLabel && label ? classes.hideLabel : undefined;
85
- var labelPlacementClass = classes["".concat(labelPlacement, "LabelPlacement")];
86
- var isChipsVisible = isChipEnumeration && (chips === null || chips === void 0 ? void 0 : chips.length);
89
+ var isChipsVisible = isChipEnumeration && !!(chips !== null && chips !== void 0 && chips.length);
87
90
  var withHasChips = isChipsVisible ? classes.hasChips : undefined;
91
+ var hasLabelValue = !!label;
92
+ var hasInnerLabel = size !== 'xs' && labelPlacement === 'inner' && !isChipsVisible && hasLabelValue;
93
+ var hasOuterLabel = labelPlacement === 'outer' && hasLabelValue;
94
+ var hasPlaceholder = !!placeholder && !hasInnerLabel;
95
+ var innerLabelValue = hasInnerLabel || hasOuterLabel ? label : undefined;
96
+ var innerLabelPlacementValue = labelPlacement === 'inner' && !hasInnerLabel ? undefined : labelPlacement;
97
+ var innerPlaceholderValue = hasPlaceholder ? placeholder : undefined;
98
+ var placeholderShown = !!innerPlaceholderValue && !hasValue;
99
+ var requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;
100
+ var labelPlacementClass = innerLabelPlacementValue ? classes["".concat(innerLabelPlacementValue, "LabelPlacement")] : undefined;
101
+ var hasValueClass = hasValue ? classes.hasValue : undefined;
88
102
  var wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;
89
103
  var wrapperWithoutRightContent = !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;
104
+ var handleInput = function handleInput(event) {
105
+ setHasValue(!!event.target.value);
106
+ };
90
107
  var handleChange = function handleChange(event) {
91
108
  if (disabled || readOnly) {
92
109
  return;
@@ -152,6 +169,9 @@ export var textFieldRoot = function textFieldRoot(Root) {
152
169
  })) || [];
153
170
  setChips(newChips);
154
171
  }, [isChipEnumeration, values]);
172
+ var innerOptional = Boolean(required ? false : optional);
173
+ var hasPlaceholderOptional = innerOptional && !innerLabelValue && !hasOuterLabel;
174
+ var optionalTextNode = innerOptional ? /*#__PURE__*/React.createElement(StyledOptionalText, null, Boolean(hasPlaceholderOptional ? innerPlaceholderValue : innerLabelValue) && '\xa0', optionalText) : null;
155
175
  return /*#__PURE__*/React.createElement(Root, {
156
176
  view: view,
157
177
  size: size,
@@ -159,14 +179,18 @@ export var textFieldRoot = function textFieldRoot(Root) {
159
179
  readOnly: !disabled && readOnly,
160
180
  labelPlacement: innerLabelPlacementValue,
161
181
  onClick: handleInputFocus,
162
- className: cx(labelPlacementClass, hideLabelClass, classes.textFieldGroupItem, className),
182
+ className: cx(labelPlacementClass, classes.textFieldGroupItem, className),
163
183
  style: style
164
- }, labelInside || innerLabelValue && /*#__PURE__*/React.createElement(Label, {
184
+ }, hasOuterLabel && /*#__PURE__*/React.createElement(Label, {
165
185
  id: labelId,
166
186
  htmlFor: id
167
- }, innerLabelValue), /*#__PURE__*/React.createElement(InputWrapper, {
187
+ }, required && /*#__PURE__*/React.createElement(StyledIndicator, {
188
+ className: cx(classes.outerLabelPlacement, requiredPlacementClass)
189
+ }), innerLabelValue, optionalTextNode), /*#__PURE__*/React.createElement(InputWrapper, {
168
190
  className: cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)
169
- }, contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(InputLabelWrapper, {
191
+ }, !hasOuterLabel && required && /*#__PURE__*/React.createElement(StyledIndicator, {
192
+ className: cx(classes.innerLabelPlacement, requiredPlacementClass)
193
+ }), contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(InputLabelWrapper, {
170
194
  tabIndex: -1,
171
195
  ref: contentRef,
172
196
  onKeyDown: handleContentKeyDown,
@@ -192,20 +216,22 @@ export var textFieldRoot = function textFieldRoot(Root) {
192
216
  },
193
217
  onClick: onChipClick
194
218
  });
195
- })), /*#__PURE__*/React.createElement(Input, _extends({
219
+ })), /*#__PURE__*/React.createElement(InputContainer, null, /*#__PURE__*/React.createElement(Input, _extends({
196
220
  ref: inputForkRef,
197
221
  id: innerId,
198
222
  "aria-labelledby": labelId,
199
223
  "aria-describedby": helperTextId,
200
224
  placeholder: innerPlaceholderValue,
225
+ className: cx(hasValueClass),
201
226
  disabled: disabled,
202
227
  readOnly: !disabled && readOnly,
228
+ onInput: handleInput,
203
229
  onChange: handleChange,
204
230
  onKeyDown: handleOnKeyDown
205
- }, rest)), labelInside && /*#__PURE__*/React.createElement(Label, {
231
+ }, rest)), hasInnerLabel && /*#__PURE__*/React.createElement(Label, {
206
232
  id: labelId,
207
233
  htmlFor: innerId
208
- }, innerLabelValue), textAfter && /*#__PURE__*/React.createElement(StyledTextAfter, null, textAfter)), contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight)), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, {
234
+ }, innerLabelValue, optionalTextNode), placeholderShown && /*#__PURE__*/React.createElement(InputPlaceholder, null, innerPlaceholderValue, hasPlaceholderOptional && optionalTextNode)), textAfter && /*#__PURE__*/React.createElement(StyledTextAfter, null, textAfter)), contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight)), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, {
209
235
  id: helperTextId
210
236
  }, leftHelper));
211
237
  });