@salutejs/plasma-new-hope 0.167.0-dev.0 → 0.168.0-canary.1459.11360824834.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (466) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.css +34 -19
  2. package/cjs/components/Autocomplete/Autocomplete.js +4 -2
  3. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/Combobox/ComboboxNew/Combobox.css +38 -18
  5. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +38 -18
  6. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +38 -18
  7. package/cjs/components/DatePicker/RangeDate/RangeDate.css +34 -19
  8. package/cjs/components/DatePicker/RangeDate/RangeDate.js +77 -15
  9. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  10. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +33 -18
  11. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  12. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  13. package/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  14. package/cjs/components/DatePicker/RangeDate/variations/_size/base.js.map +1 -1
  15. package/cjs/components/DatePicker/RangeDate/variations/_size/base_1d0sbzw.css +1 -0
  16. package/cjs/components/DatePicker/SingleDate/SingleDate.css +35 -20
  17. package/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -8
  18. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  19. package/cjs/components/DatePicker/hooks/useDatePicker.js +20 -48
  20. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  21. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  22. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  23. package/cjs/components/DatePicker/utils/dateHelper.js +31 -0
  24. package/cjs/components/DatePicker/utils/dateHelper.js.map +1 -1
  25. package/cjs/components/Range/Range.css +39 -19
  26. package/cjs/components/Slider/Slider.css +39 -19
  27. package/cjs/components/Slider/Slider.js +2 -0
  28. package/cjs/components/Slider/Slider.js.map +1 -1
  29. package/cjs/components/Slider/components/Double/Double.css +39 -19
  30. package/cjs/components/TextArea/TextArea.js +109 -18
  31. package/cjs/components/TextArea/TextArea.js.map +1 -1
  32. package/cjs/components/TextArea/TextArea.styles.js +160 -63
  33. package/cjs/components/TextArea/TextArea.styles.js.map +1 -1
  34. package/cjs/components/TextArea/TextArea.styles_mcxlmk.css +17 -0
  35. package/cjs/components/TextArea/TextArea.tokens.js +43 -4
  36. package/cjs/components/TextArea/TextArea.tokens.js.map +1 -1
  37. package/cjs/components/TextArea/hooks/useAutoResize.js +2 -4
  38. package/cjs/components/TextArea/hooks/useAutoResize.js.map +1 -1
  39. package/cjs/components/TextArea/variations/_clear/base.js +1 -1
  40. package/cjs/components/TextArea/variations/_clear/base.js.map +1 -1
  41. package/cjs/components/TextArea/variations/_clear/base_1ezvvtt.css +1 -0
  42. package/cjs/components/TextArea/variations/_hint-size/base.js +9 -0
  43. package/cjs/components/TextArea/variations/_hint-size/base.js.map +1 -0
  44. package/cjs/components/TextArea/variations/_hint-size/base_1ipgv90.css +1 -0
  45. package/cjs/components/TextArea/variations/_hint-view/base.js +9 -0
  46. package/cjs/components/TextArea/variations/_hint-view/base.js.map +1 -0
  47. package/cjs/components/TextArea/variations/_hint-view/base_111a0qe.css +1 -0
  48. package/cjs/components/TextArea/variations/_view/base.js +1 -1
  49. package/cjs/components/TextArea/variations/_view/base.js.map +1 -1
  50. package/cjs/components/TextArea/variations/_view/base_1xgrm3x.css +1 -0
  51. package/cjs/components/TextField/TextField.js +97 -9
  52. package/cjs/components/TextField/TextField.js.map +1 -1
  53. package/cjs/components/TextField/TextField.styles.js +76 -23
  54. package/cjs/components/TextField/TextField.styles.js.map +1 -1
  55. package/cjs/components/TextField/TextField.styles_17xt45g.css +21 -0
  56. package/cjs/components/TextField/TextField.tokens.js +40 -1
  57. package/cjs/components/TextField/TextField.tokens.js.map +1 -1
  58. package/cjs/components/TextField/variations/_clear/base.js +1 -1
  59. package/cjs/components/TextField/variations/_clear/base.js.map +1 -1
  60. package/cjs/components/TextField/variations/_clear/base_1pkwm4m.css +1 -0
  61. package/cjs/components/TextField/variations/_disabled/base.js +1 -1
  62. package/cjs/components/TextField/variations/_disabled/{base_2tv0nz.css → base_4d3opa.css} +1 -1
  63. package/cjs/components/TextField/variations/_hint-size/base.js +9 -0
  64. package/cjs/components/TextField/variations/_hint-size/base.js.map +1 -0
  65. package/cjs/components/TextField/variations/_hint-size/base_1x99605.css +1 -0
  66. package/cjs/components/TextField/variations/_hint-view/base.js +9 -0
  67. package/cjs/components/TextField/variations/_hint-view/base.js.map +1 -0
  68. package/cjs/components/TextField/variations/_hint-view/base_l8etux.css +1 -0
  69. package/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  70. package/cjs/components/TextField/variations/_label-placement/base.js.map +1 -1
  71. package/cjs/components/TextField/variations/_label-placement/base_3domm.css +1 -0
  72. package/cjs/components/TextField/variations/_read-only/base.js +1 -1
  73. package/cjs/components/TextField/variations/_read-only/base.js.map +1 -1
  74. package/cjs/components/TextField/variations/_read-only/base_17ypmu7.css +1 -0
  75. package/cjs/components/TextField/variations/_size/base.js +1 -1
  76. package/cjs/components/TextField/variations/_size/base.js.map +1 -1
  77. package/cjs/components/TextField/variations/_size/base_1xdmaqh.css +1 -0
  78. package/cjs/components/TextField/variations/_view/base.js +1 -1
  79. package/cjs/components/TextField/variations/_view/base.js.map +1 -1
  80. package/cjs/components/TextField/variations/_view/base_qhyte8.css +1 -0
  81. package/cjs/components/TextFieldGroup/TextFieldGroup.css +1 -1
  82. package/cjs/components/TextFieldGroup/variations/_shape/base.js +1 -1
  83. package/cjs/components/TextFieldGroup/variations/_shape/base_52bndd.css +1 -0
  84. package/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +23 -0
  85. package/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js.map +1 -0
  86. package/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +23 -0
  87. package/cjs/components/_Icon/Icons/IconInfoCircleOutline.js.map +1 -0
  88. package/cjs/index.css +55 -35
  89. package/emotion/cjs/components/Autocomplete/Autocomplete.js +4 -2
  90. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +77 -15
  91. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  92. package/emotion/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  93. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -8
  94. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +20 -48
  95. package/emotion/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  96. package/emotion/cjs/components/DatePicker/utils/dateHelper.js +31 -1
  97. package/emotion/cjs/components/TextArea/TextArea.js +112 -23
  98. package/emotion/cjs/components/TextArea/TextArea.styles.js +99 -41
  99. package/emotion/cjs/components/TextArea/TextArea.template-doc.mdx +6 -1
  100. package/emotion/cjs/components/TextArea/TextArea.tokens.js +43 -4
  101. package/emotion/cjs/components/TextArea/hooks/useAutoResize.js +2 -4
  102. package/emotion/cjs/components/TextArea/variations/_clear/base.js +1 -1
  103. package/emotion/cjs/components/TextArea/variations/_hint-size/base.js +11 -0
  104. package/emotion/cjs/components/TextArea/variations/_hint-size/tokens.json +21 -0
  105. package/emotion/cjs/components/TextArea/variations/_hint-view/base.js +11 -0
  106. package/emotion/cjs/components/TextArea/variations/_hint-view/tokens.json +5 -0
  107. package/emotion/cjs/components/TextArea/variations/_view/base.js +2 -1
  108. package/emotion/cjs/components/TextField/TextField.js +99 -12
  109. package/emotion/cjs/components/TextField/TextField.styles.js +84 -37
  110. package/emotion/cjs/components/TextField/TextField.template-doc.mdx +6 -1
  111. package/emotion/cjs/components/TextField/TextField.tokens.js +40 -1
  112. package/emotion/cjs/components/TextField/variations/_clear/base.js +1 -1
  113. package/emotion/cjs/components/TextField/variations/_hint-size/base.js +11 -0
  114. package/emotion/cjs/components/TextField/variations/_hint-size/tokens.json +21 -0
  115. package/emotion/cjs/components/TextField/variations/_hint-view/base.js +11 -0
  116. package/emotion/cjs/components/TextField/variations/_hint-view/tokens.json +5 -0
  117. package/emotion/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  118. package/emotion/cjs/components/TextField/variations/_read-only/base.js +1 -1
  119. package/emotion/cjs/components/TextField/variations/_size/base.js +1 -1
  120. package/emotion/cjs/components/TextField/variations/_view/base.js +1 -1
  121. package/emotion/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +22 -0
  122. package/emotion/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +22 -0
  123. package/emotion/cjs/components/_Icon/index.js +8 -1
  124. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +19 -10
  125. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  126. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +22 -13
  127. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  128. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +19 -10
  129. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  130. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.config.js +22 -13
  131. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  132. package/emotion/es/components/Autocomplete/Autocomplete.js +4 -2
  133. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +79 -17
  134. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  135. package/emotion/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  136. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +34 -9
  137. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +21 -49
  138. package/emotion/es/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  139. package/emotion/es/components/DatePicker/utils/dateHelper.js +30 -0
  140. package/emotion/es/components/TextArea/TextArea.js +113 -24
  141. package/emotion/es/components/TextArea/TextArea.styles.js +98 -40
  142. package/emotion/es/components/TextArea/TextArea.template-doc.mdx +6 -1
  143. package/emotion/es/components/TextArea/TextArea.tokens.js +43 -4
  144. package/emotion/es/components/TextArea/hooks/useAutoResize.js +2 -4
  145. package/emotion/es/components/TextArea/variations/_clear/base.js +2 -2
  146. package/emotion/es/components/TextArea/variations/_hint-size/base.js +5 -0
  147. package/emotion/es/components/TextArea/variations/_hint-size/tokens.json +21 -0
  148. package/emotion/es/components/TextArea/variations/_hint-view/base.js +5 -0
  149. package/emotion/es/components/TextArea/variations/_hint-view/tokens.json +5 -0
  150. package/emotion/es/components/TextArea/variations/_view/base.js +2 -1
  151. package/emotion/es/components/TextField/TextField.js +99 -12
  152. package/emotion/es/components/TextField/TextField.styles.js +83 -36
  153. package/emotion/es/components/TextField/TextField.template-doc.mdx +6 -1
  154. package/emotion/es/components/TextField/TextField.tokens.js +40 -1
  155. package/emotion/es/components/TextField/variations/_clear/base.js +2 -2
  156. package/emotion/es/components/TextField/variations/_hint-size/base.js +5 -0
  157. package/emotion/es/components/TextField/variations/_hint-size/tokens.json +21 -0
  158. package/emotion/es/components/TextField/variations/_hint-view/base.js +5 -0
  159. package/emotion/es/components/TextField/variations/_hint-view/tokens.json +5 -0
  160. package/emotion/es/components/TextField/variations/_label-placement/base.js +1 -1
  161. package/emotion/es/components/TextField/variations/_read-only/base.js +2 -2
  162. package/emotion/es/components/TextField/variations/_size/base.js +2 -2
  163. package/emotion/es/components/TextField/variations/_view/base.js +2 -2
  164. package/emotion/es/components/_Icon/Icon.assets/InfoCircleOutline.js +15 -0
  165. package/emotion/es/components/_Icon/Icons/IconInfoCircleOutline.js +15 -0
  166. package/emotion/es/components/_Icon/index.js +2 -1
  167. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +19 -10
  168. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  169. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.config.js +22 -13
  170. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  171. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.config.js +19 -10
  172. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  173. package/emotion/es/examples/plasma_web/components/TextField/TextField.config.js +22 -13
  174. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  175. package/es/components/Autocomplete/Autocomplete.css +34 -19
  176. package/es/components/Autocomplete/Autocomplete.js +4 -2
  177. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  178. package/es/components/Combobox/ComboboxNew/Combobox.css +38 -18
  179. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +38 -18
  180. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +38 -18
  181. package/es/components/DatePicker/RangeDate/RangeDate.css +34 -19
  182. package/es/components/DatePicker/RangeDate/RangeDate.js +79 -17
  183. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  184. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +33 -18
  185. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  186. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  187. package/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  188. package/es/components/DatePicker/RangeDate/variations/_size/base.js.map +1 -1
  189. package/es/components/DatePicker/RangeDate/variations/_size/base_1d0sbzw.css +1 -0
  190. package/es/components/DatePicker/SingleDate/SingleDate.css +35 -20
  191. package/es/components/DatePicker/SingleDate/SingleDate.js +34 -9
  192. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  193. package/es/components/DatePicker/hooks/useDatePicker.js +21 -49
  194. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  195. package/es/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  196. package/es/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  197. package/es/components/DatePicker/utils/dateHelper.js +31 -1
  198. package/es/components/DatePicker/utils/dateHelper.js.map +1 -1
  199. package/es/components/Range/Range.css +39 -19
  200. package/es/components/Slider/Slider.css +39 -19
  201. package/es/components/Slider/Slider.js +2 -0
  202. package/es/components/Slider/Slider.js.map +1 -1
  203. package/es/components/Slider/components/Double/Double.css +39 -19
  204. package/es/components/TextArea/TextArea.js +113 -22
  205. package/es/components/TextArea/TextArea.js.map +1 -1
  206. package/es/components/TextArea/TextArea.styles.js +155 -64
  207. package/es/components/TextArea/TextArea.styles.js.map +1 -1
  208. package/es/components/TextArea/TextArea.styles_mcxlmk.css +17 -0
  209. package/es/components/TextArea/TextArea.tokens.js +43 -4
  210. package/es/components/TextArea/TextArea.tokens.js.map +1 -1
  211. package/es/components/TextArea/hooks/useAutoResize.js +2 -4
  212. package/es/components/TextArea/hooks/useAutoResize.js.map +1 -1
  213. package/es/components/TextArea/variations/_clear/base.js +1 -1
  214. package/es/components/TextArea/variations/_clear/base.js.map +1 -1
  215. package/es/components/TextArea/variations/_clear/base_1ezvvtt.css +1 -0
  216. package/es/components/TextArea/variations/_hint-size/base.js +5 -0
  217. package/es/components/TextArea/variations/_hint-size/base.js.map +1 -0
  218. package/es/components/TextArea/variations/_hint-size/base_1ipgv90.css +1 -0
  219. package/es/components/TextArea/variations/_hint-view/base.js +5 -0
  220. package/es/components/TextArea/variations/_hint-view/base.js.map +1 -0
  221. package/es/components/TextArea/variations/_hint-view/base_111a0qe.css +1 -0
  222. package/es/components/TextArea/variations/_view/base.js +1 -1
  223. package/es/components/TextArea/variations/_view/base.js.map +1 -1
  224. package/es/components/TextArea/variations/_view/base_1xgrm3x.css +1 -0
  225. package/es/components/TextField/TextField.js +99 -11
  226. package/es/components/TextField/TextField.js.map +1 -1
  227. package/es/components/TextField/TextField.styles.js +71 -24
  228. package/es/components/TextField/TextField.styles.js.map +1 -1
  229. package/es/components/TextField/TextField.styles_17xt45g.css +21 -0
  230. package/es/components/TextField/TextField.tokens.js +40 -1
  231. package/es/components/TextField/TextField.tokens.js.map +1 -1
  232. package/es/components/TextField/variations/_clear/base.js +1 -1
  233. package/es/components/TextField/variations/_clear/base.js.map +1 -1
  234. package/es/components/TextField/variations/_clear/base_1pkwm4m.css +1 -0
  235. package/es/components/TextField/variations/_disabled/base.js +1 -1
  236. package/es/components/TextField/variations/_disabled/{base_2tv0nz.css → base_4d3opa.css} +1 -1
  237. package/es/components/TextField/variations/_hint-size/base.js +5 -0
  238. package/es/components/TextField/variations/_hint-size/base.js.map +1 -0
  239. package/es/components/TextField/variations/_hint-size/base_1x99605.css +1 -0
  240. package/es/components/TextField/variations/_hint-view/base.js +5 -0
  241. package/es/components/TextField/variations/_hint-view/base.js.map +1 -0
  242. package/es/components/TextField/variations/_hint-view/base_l8etux.css +1 -0
  243. package/es/components/TextField/variations/_label-placement/base.js +1 -1
  244. package/es/components/TextField/variations/_label-placement/base.js.map +1 -1
  245. package/es/components/TextField/variations/_label-placement/base_3domm.css +1 -0
  246. package/es/components/TextField/variations/_read-only/base.js +1 -1
  247. package/es/components/TextField/variations/_read-only/base.js.map +1 -1
  248. package/es/components/TextField/variations/_read-only/base_17ypmu7.css +1 -0
  249. package/es/components/TextField/variations/_size/base.js +1 -1
  250. package/es/components/TextField/variations/_size/base.js.map +1 -1
  251. package/es/components/TextField/variations/_size/base_1xdmaqh.css +1 -0
  252. package/es/components/TextField/variations/_view/base.js +1 -1
  253. package/es/components/TextField/variations/_view/base.js.map +1 -1
  254. package/es/components/TextField/variations/_view/base_qhyte8.css +1 -0
  255. package/es/components/TextFieldGroup/TextFieldGroup.css +1 -1
  256. package/es/components/TextFieldGroup/variations/_shape/base.js +1 -1
  257. package/es/components/TextFieldGroup/variations/_shape/base_52bndd.css +1 -0
  258. package/es/components/_Icon/Icon.assets/InfoCircleOutline.js +19 -0
  259. package/es/components/_Icon/Icon.assets/InfoCircleOutline.js.map +1 -0
  260. package/es/components/_Icon/Icons/IconInfoCircleOutline.js +19 -0
  261. package/es/components/_Icon/Icons/IconInfoCircleOutline.js.map +1 -0
  262. package/es/index.css +55 -35
  263. package/package.json +2 -2
  264. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +4 -2
  265. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +77 -15
  266. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  267. package/styled-components/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  268. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -8
  269. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +20 -48
  270. package/styled-components/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  271. package/styled-components/cjs/components/DatePicker/utils/dateHelper.js +31 -1
  272. package/styled-components/cjs/components/TextArea/TextArea.js +111 -22
  273. package/styled-components/cjs/components/TextArea/TextArea.styles.js +85 -42
  274. package/styled-components/cjs/components/TextArea/TextArea.template-doc.mdx +6 -1
  275. package/styled-components/cjs/components/TextArea/TextArea.tokens.js +43 -4
  276. package/styled-components/cjs/components/TextArea/hooks/useAutoResize.js +2 -4
  277. package/styled-components/cjs/components/TextArea/variations/_clear/base.js +1 -1
  278. package/styled-components/cjs/components/TextArea/variations/_hint-size/base.js +11 -0
  279. package/styled-components/cjs/components/TextArea/variations/_hint-size/tokens.json +21 -0
  280. package/styled-components/cjs/components/TextArea/variations/_hint-view/base.js +11 -0
  281. package/styled-components/cjs/components/TextArea/variations/_hint-view/tokens.json +5 -0
  282. package/styled-components/cjs/components/TextArea/variations/_view/base.js +2 -1
  283. package/styled-components/cjs/components/TextField/TextField.js +98 -11
  284. package/styled-components/cjs/components/TextField/TextField.styles.js +46 -21
  285. package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +6 -1
  286. package/styled-components/cjs/components/TextField/TextField.tokens.js +40 -1
  287. package/styled-components/cjs/components/TextField/variations/_clear/base.js +1 -1
  288. package/styled-components/cjs/components/TextField/variations/_hint-size/base.js +11 -0
  289. package/styled-components/cjs/components/TextField/variations/_hint-size/tokens.json +21 -0
  290. package/styled-components/cjs/components/TextField/variations/_hint-view/base.js +11 -0
  291. package/styled-components/cjs/components/TextField/variations/_hint-view/tokens.json +5 -0
  292. package/styled-components/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  293. package/styled-components/cjs/components/TextField/variations/_read-only/base.js +1 -1
  294. package/styled-components/cjs/components/TextField/variations/_size/base.js +1 -1
  295. package/styled-components/cjs/components/TextField/variations/_view/base.js +1 -1
  296. package/styled-components/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +22 -0
  297. package/styled-components/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +22 -0
  298. package/styled-components/cjs/components/_Icon/index.js +8 -1
  299. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +18 -9
  300. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  301. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +18 -9
  302. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  303. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +18 -9
  304. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  305. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.config.js +18 -9
  306. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  307. package/styled-components/es/components/Autocomplete/Autocomplete.js +4 -2
  308. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +79 -17
  309. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  310. package/styled-components/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  311. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +34 -9
  312. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +21 -49
  313. package/styled-components/es/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  314. package/styled-components/es/components/DatePicker/utils/dateHelper.js +30 -0
  315. package/styled-components/es/components/TextArea/TextArea.js +112 -23
  316. package/styled-components/es/components/TextArea/TextArea.styles.js +84 -41
  317. package/styled-components/es/components/TextArea/TextArea.template-doc.mdx +6 -1
  318. package/styled-components/es/components/TextArea/TextArea.tokens.js +43 -4
  319. package/styled-components/es/components/TextArea/hooks/useAutoResize.js +2 -4
  320. package/styled-components/es/components/TextArea/variations/_clear/base.js +2 -2
  321. package/styled-components/es/components/TextArea/variations/_hint-size/base.js +5 -0
  322. package/styled-components/es/components/TextArea/variations/_hint-size/tokens.json +21 -0
  323. package/styled-components/es/components/TextArea/variations/_hint-view/base.js +5 -0
  324. package/styled-components/es/components/TextArea/variations/_hint-view/tokens.json +5 -0
  325. package/styled-components/es/components/TextArea/variations/_view/base.js +2 -1
  326. package/styled-components/es/components/TextField/TextField.js +98 -11
  327. package/styled-components/es/components/TextField/TextField.styles.js +45 -20
  328. package/styled-components/es/components/TextField/TextField.template-doc.mdx +6 -1
  329. package/styled-components/es/components/TextField/TextField.tokens.js +40 -1
  330. package/styled-components/es/components/TextField/variations/_clear/base.js +2 -2
  331. package/styled-components/es/components/TextField/variations/_hint-size/base.js +5 -0
  332. package/styled-components/es/components/TextField/variations/_hint-size/tokens.json +21 -0
  333. package/styled-components/es/components/TextField/variations/_hint-view/base.js +5 -0
  334. package/styled-components/es/components/TextField/variations/_hint-view/tokens.json +5 -0
  335. package/styled-components/es/components/TextField/variations/_label-placement/base.js +1 -1
  336. package/styled-components/es/components/TextField/variations/_read-only/base.js +2 -2
  337. package/styled-components/es/components/TextField/variations/_size/base.js +2 -2
  338. package/styled-components/es/components/TextField/variations/_view/base.js +2 -2
  339. package/styled-components/es/components/_Icon/Icon.assets/InfoCircleOutline.js +15 -0
  340. package/styled-components/es/components/_Icon/Icons/IconInfoCircleOutline.js +15 -0
  341. package/styled-components/es/components/_Icon/index.js +2 -1
  342. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +18 -9
  343. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  344. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +18 -9
  345. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  346. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.config.js +18 -9
  347. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  348. package/styled-components/es/examples/plasma_web/components/TextField/TextField.config.js +18 -9
  349. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  350. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  351. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts +408 -0
  352. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
  353. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts +408 -0
  354. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts.map +1 -1
  355. package/types/components/DatePicker/DatePickerBase.types.d.ts +8 -6
  356. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  357. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +10 -10
  358. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  359. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +16 -6
  360. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  361. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
  362. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
  363. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts +2 -1
  364. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts.map +1 -1
  365. package/types/components/DatePicker/RangeDate/variations/_size/base.d.ts.map +1 -1
  366. package/types/components/DatePicker/SingleDate/SingleDate.d.ts +2 -2
  367. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  368. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts +408 -0
  369. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  370. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +14 -4
  371. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  372. package/types/components/DatePicker/hooks/useDatePicker.d.ts +2 -3
  373. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  374. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts +3 -1
  375. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
  376. package/types/components/DatePicker/utils/dateHelper.d.ts +10 -0
  377. package/types/components/DatePicker/utils/dateHelper.d.ts.map +1 -1
  378. package/types/components/Popover/Popover.types.d.ts +1 -1
  379. package/types/components/Range/Range.styles.d.ts +408 -0
  380. package/types/components/Range/Range.styles.d.ts.map +1 -1
  381. package/types/components/Slider/components/Double/Double.styles.d.ts +408 -0
  382. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  383. package/types/components/TextArea/TextArea.d.ts +9 -3
  384. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  385. package/types/components/TextArea/TextArea.styles.d.ts +11 -1
  386. package/types/components/TextArea/TextArea.styles.d.ts.map +1 -1
  387. package/types/components/TextArea/TextArea.tokens.d.ts +39 -0
  388. package/types/components/TextArea/TextArea.tokens.d.ts.map +1 -1
  389. package/types/components/TextArea/TextArea.types.d.ts +78 -3
  390. package/types/components/TextArea/TextArea.types.d.ts.map +1 -1
  391. package/types/components/TextArea/hooks/useAutoResize.d.ts.map +1 -1
  392. package/types/components/TextArea/variations/_clear/base.d.ts.map +1 -1
  393. package/types/components/TextArea/variations/_hint-size/base.d.ts +2 -0
  394. package/types/components/TextArea/variations/_hint-size/base.d.ts.map +1 -0
  395. package/types/components/TextArea/variations/_hint-view/base.d.ts +2 -0
  396. package/types/components/TextArea/variations/_hint-view/base.d.ts.map +1 -0
  397. package/types/components/TextArea/variations/_view/base.d.ts.map +1 -1
  398. package/types/components/TextField/TextField.d.ts +9 -3
  399. package/types/components/TextField/TextField.d.ts.map +1 -1
  400. package/types/components/TextField/TextField.styles.d.ts +8 -0
  401. package/types/components/TextField/TextField.styles.d.ts.map +1 -1
  402. package/types/components/TextField/TextField.tokens.d.ts +39 -0
  403. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  404. package/types/components/TextField/TextField.types.d.ts +73 -2
  405. package/types/components/TextField/TextField.types.d.ts.map +1 -1
  406. package/types/components/TextField/variations/_clear/base.d.ts.map +1 -1
  407. package/types/components/TextField/variations/_hint-size/base.d.ts +2 -0
  408. package/types/components/TextField/variations/_hint-size/base.d.ts.map +1 -0
  409. package/types/components/TextField/variations/_hint-view/base.d.ts +2 -0
  410. package/types/components/TextField/variations/_hint-view/base.d.ts.map +1 -0
  411. package/types/components/TextField/variations/_label-placement/base.d.ts.map +1 -1
  412. package/types/components/TextField/variations/_read-only/base.d.ts.map +1 -1
  413. package/types/components/TextField/variations/_size/base.d.ts.map +1 -1
  414. package/types/components/TextField/variations/_view/base.d.ts.map +1 -1
  415. package/types/components/_Icon/Icon.assets/InfoCircleOutline.d.ts +4 -0
  416. package/types/components/_Icon/Icon.assets/InfoCircleOutline.d.ts.map +1 -0
  417. package/types/components/_Icon/Icons/IconInfoCircleOutline.d.ts +4 -0
  418. package/types/components/_Icon/Icons/IconInfoCircleOutline.d.ts.map +1 -0
  419. package/types/components/_Icon/index.d.ts +1 -0
  420. package/types/components/_Icon/index.d.ts.map +1 -1
  421. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +6 -6
  422. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
  423. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +772 -12
  424. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +1 -1
  425. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts +9 -0
  426. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts.map +1 -1
  427. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts +457 -0
  428. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts.map +1 -1
  429. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts +9 -0
  430. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts.map +1 -1
  431. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +417 -0
  432. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
  433. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +6 -6
  434. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
  435. package/types/examples/plasma_web/components/Mask/Mask.d.ts +772 -12
  436. package/types/examples/plasma_web/components/Mask/Mask.d.ts.map +1 -1
  437. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts +9 -0
  438. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts.map +1 -1
  439. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts +457 -0
  440. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts.map +1 -1
  441. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts +9 -0
  442. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts.map +1 -1
  443. package/types/examples/plasma_web/components/TextField/TextField.d.ts +417 -0
  444. package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
  445. package/cjs/components/DatePicker/RangeDate/variations/_size/base_1911nyw.css +0 -1
  446. package/cjs/components/TextArea/TextArea.styles_es0miz.css +0 -11
  447. package/cjs/components/TextArea/variations/_clear/base_vidplj.css +0 -1
  448. package/cjs/components/TextArea/variations/_view/base_td55th.css +0 -1
  449. package/cjs/components/TextField/TextField.styles_1d2ryq.css +0 -15
  450. package/cjs/components/TextField/variations/_clear/base_rit6gc.css +0 -1
  451. package/cjs/components/TextField/variations/_label-placement/base_1ghihns.css +0 -1
  452. package/cjs/components/TextField/variations/_read-only/base_1n7tghz.css +0 -1
  453. package/cjs/components/TextField/variations/_size/base_1h8l0kj.css +0 -1
  454. package/cjs/components/TextField/variations/_view/base_1noe46b.css +0 -1
  455. package/cjs/components/TextFieldGroup/variations/_shape/base_1e0je21.css +0 -1
  456. package/es/components/DatePicker/RangeDate/variations/_size/base_1911nyw.css +0 -1
  457. package/es/components/TextArea/TextArea.styles_es0miz.css +0 -11
  458. package/es/components/TextArea/variations/_clear/base_vidplj.css +0 -1
  459. package/es/components/TextArea/variations/_view/base_td55th.css +0 -1
  460. package/es/components/TextField/TextField.styles_1d2ryq.css +0 -15
  461. package/es/components/TextField/variations/_clear/base_rit6gc.css +0 -1
  462. package/es/components/TextField/variations/_label-placement/base_1ghihns.css +0 -1
  463. package/es/components/TextField/variations/_read-only/base_1n7tghz.css +0 -1
  464. package/es/components/TextField/variations/_size/base_1h8l0kj.css +0 -1
  465. package/es/components/TextField/variations/_view/base_1noe46b.css +0 -1
  466. package/es/components/TextFieldGroup/variations/_shape/base_1e0je21.css +0 -1
@@ -9,18 +9,22 @@ var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react")
9
9
  var _react2 = /*#__PURE__*/require("@emotion/react");
10
10
  var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
11
11
  var _utils = /*#__PURE__*/require("../../utils");
12
+ var _Icon = /*#__PURE__*/require("../_Icon");
13
+ var _hooks = /*#__PURE__*/require("../../hooks");
12
14
  var _mixins = /*#__PURE__*/require("./mixins");
13
- var _hooks = /*#__PURE__*/require("./hooks");
15
+ var _hooks2 = /*#__PURE__*/require("./hooks");
14
16
  var _TextArea = /*#__PURE__*/require("./TextArea.styles");
15
17
  var _TextArea2 = /*#__PURE__*/require("./TextArea.tokens");
16
18
  var _base = /*#__PURE__*/require("./variations/_view/base");
17
19
  var _base2 = /*#__PURE__*/require("./variations/_size/base");
18
20
  var _base3 = /*#__PURE__*/require("./variations/_clear/base");
19
21
  var _base4 = /*#__PURE__*/require("./variations/_disabled/base");
20
- var _excluded = ["helperText", "status", "resize", "rightHelper", "leftHelper", "contentRight", "autoResize", "minAuto", "maxAuto", "label", "labelPlacement", "placeholder", "defaultValue", "height", "width", "value", "disabled", "required", "requiredPlacement", "optional", "clear", "hasDivider", "size", "view", "id", "style", "className", "readOnly", "rows", "cols", "onChange"];
22
+ var _base5 = /*#__PURE__*/require("./variations/_hint-view/base");
23
+ var _base6 = /*#__PURE__*/require("./variations/_hint-size/base");
24
+ var _IconInfoCircleOutlin;
25
+ var _excluded = ["helperText", "status", "resize", "rightHelper", "leftHelper", "contentRight", "autoResize", "minAuto", "maxAuto", "label", "labelPlacement", "titleCaption", "placeholder", "defaultValue", "height", "width", "value", "disabled", "required", "requiredPlacement", "optional", "clear", "hasDivider", "size", "view", "id", "style", "className", "readOnly", "rows", "cols", "hintTrigger", "hintText", "hintView", "hintSize", "hintTargetIcon", "hintPlacement", "hintHasArrow", "hintOffset", "hintWidth", "hintContentLeft", "onChange"];
21
26
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
27
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
23
- 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); }
24
28
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
25
29
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
26
30
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
@@ -30,6 +34,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
30
34
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
31
35
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
32
36
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
37
+ 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); }
33
38
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
34
39
  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."); }
35
40
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -47,7 +52,7 @@ var innerPlaceholderUp = _TextArea2.classes.innerPlaceholderUp,
47
52
  styledPlaceholder = _TextArea2.classes.styledPlaceholder,
48
53
  styledHelpers = _TextArea2.classes.styledHelpers;
49
54
  var optionalText = 'optional';
50
- var base = /*#__PURE__*/(0, _react2.css)(_mixins.applyDynamicLabel, ";position:relative;box-sizing:border-box;;label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEFyZWEvVGV4dEFyZWEudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDZ0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0QXJlYS9UZXh0QXJlYS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlU3RhdGUsIGNyZWF0ZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5cbmltcG9ydCB7IGN4LCBtZXJnZVJlZnMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJvb3RQcm9wcyB9IGZyb20gJy4uLy4uL2VuZ2luZXMvdHlwZXMnO1xuXG5pbXBvcnQgeyBhcHBseUR5bmFtaWNMYWJlbCB9IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IHVzZUF1dG9SZXNpemUsIFJPT1RfRk9OVF9TSVpFIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQge1xuICAgIFN0eWxlZENvbnRlbnQsXG4gICAgU3R5bGVkSGVscGVycyxcbiAgICBTdHlsZWRMZWZ0SGVscGVyLFxuICAgIFN0eWxlZFJpZ2h0SGVscGVyLFxuICAgIFN0eWxlZExhYmVsLFxuICAgIFN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIFN0eWxlZFRleHRBcmVhLFxuICAgIFN0eWxlZFRleHRBcmVhV3JhcHBlcixcbiAgICBTdHlsZWRDb250YWluZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yLFxuICAgIFN0eWxlZE9wdGlvbmFsVGV4dCxcbn0gZnJvbSAnLi9UZXh0QXJlYS5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEFyZWEudG9rZW5zJztcbmltcG9ydCB7IGJhc2UgYXMgdmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgc2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgY2xlYXJDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2NsZWFyL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBkaXNhYmxlZENTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fZGlzYWJsZWQvYmFzZSc7XG5pbXBvcnQgdHlwZSB7IFRleHRBcmVhUHJvcHMgfSBmcm9tICcuL1RleHRBcmVhLnR5cGVzJztcblxuY29uc3Qge1xuICAgIGlubmVyUGxhY2Vob2xkZXJVcCxcbiAgICBmb2N1c2VkT3V0ZXJQbGFjZWhvbGRlckNvbG9yLFxuICAgIGhpZGVQbGFjZUhvbGRlcixcbiAgICBzdHlsZWRDb250YWluZXIsXG4gICAgc3R5bGVkVGV4dEFyZWEsXG4gICAgc3R5bGVkVGV4dEFyZWFXcmFwcGVyLFxuICAgIHN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIHN0eWxlZEhlbHBlcnMsXG59ID0gY2xhc3NlcztcblxuY29uc3Qgb3B0aW9uYWxUZXh0ID0gJ29wdGlvbmFsJztcblxuY29uc3QgYmFzZSA9IGNzc2BcbiAgICAke2FwcGx5RHluYW1pY0xhYmVsfTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuYDtcblxuLy8gVE9ETzog0KPQtNCw0LvQuNGC0Ywg0L/QvtGB0LvQtSDQvtGC0LrQsNC30LAg0L7RgiDRgdGC0LDRgNGL0YUg0LHQuNCx0LvQuNC+0YLQtdC6IHBsYXNtYS13ZWIgLyBwbGFzbWEtYjJjXG5jb25zdCBmYWxsYmFja1N0YXR1c01hcCA9IHtcbiAgICAnJzogJ3ByaW1hcnknLFxuICAgIHN1Y2Nlc3M6ICdwb3NpdGl2ZScsXG4gICAgd2FybmluZzogJ3dhcm5pbmcnLFxuICAgIGVycm9yOiAnbmVnYXRpdmUnLFxufTtcblxuLy8gVE9ETzog0J/QtdGA0LXQvdC10YHRgtC4INGN0YLQvtGCINC80LXRgtC+0LQg0LIg0YTQsNC50LsgYXBwbHlEeW5hbWljTGFiZWwudHNcbmV4cG9ydCBjb25zdCBnZXREeW5hbWljTGFiZWxDbGFzc2VzID0gKHByb3BzOiBUZXh0QXJlYVByb3BzLCBmb2N1c2VkOiBib29sZWFuKSA9PiB7XG4gICAgY29uc3QgeyByZWFkT25seSwgbGFiZWwsIGxhYmVsUGxhY2VtZW50LCByb3dzLCB2YWx1ZSwgc2l6ZSB9ID0gcHJvcHM7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDQuNC30LzQtdC90LXQvdC40LUg0YbQstC10YLQsCDQv9C70LXQudGB0YXQvtC70LTQtdGA0LAg0L/RgNC4INGE0L7QutGD0YHQtVxuICAgIGNvbnN0IHdpdGhGb2N1c2VkT3V0ZXJVcFBsYWNlaG9sZGVyID1cbiAgICAgICAgIXJlYWRPbmx5ICYmIGZvY3VzZWQgJiYgKCFsYWJlbCB8fCBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJykgPyBmb2N1c2VkT3V0ZXJQbGFjZWhvbGRlckNvbG9yIDogdW5kZWZpbmVkO1xuXG4gICAgLy8g0JTQvtCx0LDQstC40YLRjCDQutC70LDRgdGBINC+0YLQstC10YfQsNGO0YnQuNC5INC30LAg0L/QvtC00L3Rj9GC0LjQtSDQuCDRg9C80LXQvdGM0YjQtdC90LjQtSDQv9C70LXQudGB0YXQvtC70LTQtdGA0LBcbiAgICBjb25zdCB3aXRoSW5uZXJQbGFjZWhvbGRlclVwID1cbiAgICAgICAgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiZcbiAgICAgICAgbGFiZWwgJiZcbiAgICAgICAgIXJvd3MgJiZcbiAgICAgICAgc2l6ZSAhPT0gJ3hzJyAmJlxuICAgICAgICAoKCFyZWFkT25seSAmJiAodmFsdWUgfHwgZm9jdXNlZCkpIHx8IChyZWFkT25seSAmJiB2YWx1ZSkpXG4gICAgICAgICAgICA/IGlubmVyUGxhY2Vob2xkZXJVcFxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDRgdC60YDRi9GC0LjQtSDQv9C70LXQudGB0YXQvtC70LTQtdGA0LBcbiAgICBjb25zdCB3aXRoSGlkZVBsYWNlaG9sZGVyID1cbiAgICAgICAgKHZhbHVlICYmICFsYWJlbCkgfHxcbiAgICAgICAgKGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmICgoZm9jdXNlZCAmJiAhcmVhZE9ubHkpIHx8IHZhbHVlKSAmJiBsYWJlbCAmJiByb3dzKSB8fFxuICAgICAgICAobGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgdmFsdWUpIHx8XG4gICAgICAgIChsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiBzaXplID09PSAneHMnICYmIHZhbHVlKVxuICAgICAgICAgICAgPyBoaWRlUGxhY2VIb2xkZXJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIFt3aXRoRm9jdXNlZE91dGVyVXBQbGFjZWhvbGRlciwgd2l0aElubmVyUGxhY2Vob2xkZXJVcCwgd2l0aEhpZGVQbGFjZWhvbGRlcl07XG59O1xuXG5leHBvcnQgY29uc3QgdGV4dEFyZWFSb290ID0gKFJvb3Q6IFJvb3RQcm9wczxIVE1MVGV4dEFyZWFFbGVtZW50LCBUZXh0QXJlYVByb3BzPikgPT5cbiAgICBmb3J3YXJkUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQsIFRleHRBcmVhUHJvcHM+KChwcm9wcywgaW5uZXJSZWYpID0+IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgaGVscGVyVGV4dCxcbiAgICAgICAgICAgIHN0YXR1cyxcbiAgICAgICAgICAgIHJlc2l6ZSxcbiAgICAgICAgICAgIHJpZ2h0SGVscGVyLFxuICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgIGNvbnRlbnRSaWdodCxcbiAgICAgICAgICAgIGF1dG9SZXNpemUgPSBmYWxzZSxcbiAgICAgICAgICAgIG1pbkF1dG8gPSAwLFxuICAgICAgICAgICAgbWF4QXV0byxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQgPSAnaW5uZXInLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICByZXF1aXJlZCA9IGZhbHNlLFxuICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnQgPSAncmlnaHQnLFxuICAgICAgICAgICAgb3B0aW9uYWwgPSBmYWxzZSxcbiAgICAgICAgICAgIGNsZWFyLFxuICAgICAgICAgICAgaGFzRGl2aWRlcixcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBzdHlsZSxcbiAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgcm93cyxcbiAgICAgICAgICAgIGNvbHMsXG4gICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgfSA9IHByb3BzO1xuXG4gICAgICAgIGNvbnN0IFtoZWxwZXJXaWR0aCwgc2V0SGVscGVyV2lkdGhdID0gdXNlU3RhdGU8c3RyaW5nPih3aWR0aCA/IGAke3dpZHRofXJlbWAgOiAnMTAwJScpO1xuICAgICAgICBjb25zdCBbZm9jdXNlZCwgc2V0Rm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgICAgIGNvbnN0IFt1bmNvbnRyb2xsZWRWYWx1ZSwgc2V0VW5jb250cm9sbGVkVmFsdWVdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgICAgIGNvbnN0IG91dGVyUmVmID0gY3JlYXRlUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+KCk7XG5cbiAgICAgICAgY29uc3QgaW5uZXJPcHRpb25hbCA9IHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbDtcbiAgICAgICAgY29uc3QgaGFzSGVscGVyID0gQm9vbGVhbihsZWZ0SGVscGVyIHx8IHJpZ2h0SGVscGVyIHx8IGhlbHBlclRleHQpO1xuICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gQm9vbGVhbihsYWJlbCAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyk7XG4gICAgICAgIGNvbnN0IGhhc0lubmVyTGFiZWwgPSBCb29sZWFuKGxhYmVsICYmIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmIHNpemUgIT09ICd4cycpO1xuICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaGFzT3V0ZXJMYWJlbDtcblxuICAgICAgICBjb25zdCBvdmVycmlkZGVuVmlldyA9IHN0YXR1cyAhPT0gdW5kZWZpbmVkID8gZmFsbGJhY2tTdGF0dXNNYXBbc3RhdHVzXSA6IHZpZXc7XG4gICAgICAgIGNvbnN0IHRleHRhcmVhSGVscGVySWQgPSBpZCA/IGAke2lkfS1oZWxwZXJgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBhcHBseUN1c3RvbVdpZHRoID0gcmVzaXplICE9PSAnaG9yaXpvbnRhbCcgJiYgcmVzaXplICE9PSAnYm90aCcgJiYgIWNvbHM7XG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyTGFiZWwgPSBoYXNJbm5lckxhYmVsID8gbGFiZWwgOiBwbGFjZWhvbGRlcjtcblxuICAgICAgICBjb25zdCBjbGVhckNsYXNzID0gY2xlYXIgPyBjbGFzc2VzLmNsZWFyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNSaWdodENvbnRlbnRDbGFzcyA9IGNvbnRlbnRSaWdodCA/IGNsYXNzZXMuaGFzUmlnaHRDb250ZW50IDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNEaXZpZGVyQ2xhc3MgPSBoYXNEaXZpZGVyID8gY2xhc3Nlcy5oYXNEaXZpZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCByZXF1aXJlZFBsYWNlbWVudENsYXNzID0gcmVxdWlyZWRQbGFjZW1lbnQgPT09ICdyaWdodCcgPyAnYWxpZ24tcmlnaHQgJyA6IHVuZGVmaW5lZDtcblxuICAgICAgICB1c2VSZXNpemVPYnNlcnZlcihvdXRlclJlZiwgKGN1cnJlbnRFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHdpZHRoOiBpbmxpbmVXaWR0aCB9ID0gY3VycmVudEVsZW1lbnQuc3R5bGU7XG5cbiAgICAgICAgICAgIGlmIChpbmxpbmVXaWR0aCB8fCBjb2xzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB3aWR0aDogZWxlbWVudFdpZHRoIH0gPSBjdXJyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICBzZXRIZWxwZXJXaWR0aChgJHtlbGVtZW50V2lkdGggLyBST09UX0ZPTlRfU0laRX1yZW1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdXNlQXV0b1Jlc2l6ZShhdXRvUmVzaXplIHx8IEJvb2xlYW4oY2xlYXIpLCBvdXRlclJlZiwgdmFsdWUsIG1pbkF1dG8sIG1heEF1dG8pO1xuXG4gICAgICAgIGNvbnN0IG9uRm9jdXNIYW5kbGVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICAgICAgc2V0Rm9jdXNlZCh0cnVlKTtcbiAgICAgICAgfSwgW10pO1xuXG4gICAgICAgIGNvbnN0IG9uQmx1ckhhbmRsZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkKGZhbHNlKTtcbiAgICAgICAgfSwgW10pO1xuXG4gICAgICAgIGNvbnN0IG9uQ2hhbmdlSGFuZGxlciA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAgICAgKGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIC8vIElORk86INCU0LvRjyDQutGA0LDQudC90LUg0YDQtdC00LrQuNGFINC60LXQudGB0L7Qsiwg0LrQvtCz0LTQsCB2YWx1ZSDRgdC90LDRgNGD0LbQuCDQvdC1INC60L7QvdGC0YDQvtC70LjRgNGD0LXRgtGB0Y9cbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBzZXRVbmNvbnRyb2xsZWRWYWx1ZShldmVudD8udGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT8uKGV2ZW50KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbdmFsdWUsIG9uQ2hhbmdlXSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBoYW5kbGVUZXh0QXJlYUZvY3VzID0gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlYWRPbmx5IHx8IGRpc2FibGVkIHx8ICFvdXRlclJlZj8uY3VycmVudCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgb3V0ZXJSZWYuY3VycmVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIGxlZnQ6IG91dGVyUmVmLmN1cnJlbnQub2Zmc2V0TGVmdCxcbiAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgb3V0ZXJSZWYuY3VycmVudC5mb2N1cygpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGR5bmFtaWNMYWJlbENsYXNzZXMgPSBnZXREeW5hbWljTGFiZWxDbGFzc2VzKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHksXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlIHx8IHVuY29udHJvbGxlZFZhbHVlIHx8IGRlZmF1bHRWYWx1ZSxcbiAgICAgICAgICAgICAgICByb3dzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZvY3VzZWQsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uYWxUZXh0Tm9kZSA9IGlubmVyT3B0aW9uYWwgPyAoXG4gICAgICAgICAgICA8U3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICAgICAgICAgIHtCb29sZWFuKGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPyBwbGFjZWhvbGRlckxhYmVsIDogbGFiZWwpICYmICdcXHhhMCd9XG4gICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dH1cbiAgICAgICAgICAgIDwvU3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICApIDogbnVsbDtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFJvb3RcbiAgICAgICAgICAgICAgICB2aWV3PXtvdmVycmlkZGVuVmlld31cbiAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgY2xlYXI9e2NsZWFyfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiBoZWxwZXJXaWR0aCwgLi4uc3R5bGUgfX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KGNsZWFyQ2xhc3MsIGhhc0RpdmlkZXJDbGFzcywgY2xhc3NOYW1lKX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVUZXh0QXJlYUZvY3VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtoYXNPdXRlckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgPFN0eWxlZExhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAge3JlcXVpcmVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChzdHlsZWRDb250YWluZXIsIC4uLmR5bmFtaWNMYWJlbENsYXNzZXMpfVxuICAgICAgICAgICAgICAgICAgICB3aWR0aD17aGVscGVyV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXNIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e29uQmx1ckhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgIWhhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvciBjbGFzc05hbWU9e2N4KGNsYXNzZXMuaW5uZXJMYWJlbFBsYWNlbWVudCwgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyl9IC8+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHtjb250ZW50UmlnaHQgJiYgPFN0eWxlZENvbnRlbnQ+e2NvbnRlbnRSaWdodH08L1N0eWxlZENvbnRlbnQ+fVxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFXcmFwcGVyIGNsYXNzTmFtZT17c3R5bGVkVGV4dEFyZWFXcmFwcGVyfSBoYXNIZWxwZXI9e2hhc0hlbHBlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KHN0eWxlZFRleHRBcmVhLCBoYXNSaWdodENvbnRlbnRDbGFzcyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0NvbnRlbnRSaWdodD17Qm9vbGVhbihjb250ZW50UmlnaHQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0hlbHBlcj17aGFzSGVscGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGx5Q3VzdG9tV2lkdGg9e2FwcGx5Q3VzdG9tV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXttZXJnZVJlZnMob3V0ZXJSZWYsIGlubmVyUmVmKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXthdXRvUmVzaXplIHx8IEJvb2xlYW4oY2xlYXIpID8gbWluQXV0byA6IGhlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17dGV4dGFyZWFIZWxwZXJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd3M9e3Jvd3N9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNpemU9e3Jlc2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0QXJlYVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIHtoYXNIZWxwZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhlbHBlcnMgY2xhc3NOYW1lPXtzdHlsZWRIZWxwZXJzfSBpZD17dGV4dGFyZWFIZWxwZXJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyhsZWZ0SGVscGVyIHx8IGhlbHBlclRleHQpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZExlZnRIZWxwZXI+e2xlZnRIZWxwZXIgfHwgaGVscGVyVGV4dH08L1N0eWxlZExlZnRIZWxwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmlnaHRIZWxwZXIgJiYgPFN0eWxlZFJpZ2h0SGVscGVyPntyaWdodEhlbHBlcn08L1N0eWxlZFJpZ2h0SGVscGVyPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSGVscGVycz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge3BsYWNlaG9sZGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ29udGVudFJpZ2h0PXtCb29sZWFuKGNvbnRlbnRSaWdodCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZWRQbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cGxhY2Vob2xkZXJMYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgb3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkUGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgICk7XG4gICAgfSk7XG5cbmV4cG9ydCBjb25zdCB0ZXh0QXJlYUNvbmZpZyA9IHtcbiAgICBuYW1lOiAnVGV4dEFyZWEnLFxuICAgIHRhZzogJ2RpdicsXG4gICAgbGF5b3V0OiB0ZXh0QXJlYVJvb3QsXG4gICAgYmFzZSxcbiAgICB2YXJpYXRpb25zOiB7XG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIGNzczogc2l6ZUNTUyxcbiAgICAgICAgfSxcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgY3NzOiB2aWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBjbGVhcjoge1xuICAgICAgICAgICAgY3NzOiBjbGVhckNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgY3NzOiBkaXNhYmxlZENTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZWFkT25seToge1xuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgfSxcbiAgICBkZWZhdWx0czoge1xuICAgICAgICBzaXplOiAnbScsXG4gICAgICAgIHZpZXc6ICdwcmltYXJ5JyxcbiAgICB9LFxufTtcbiJdfQ== */"));
55
+ var base = /*#__PURE__*/(0, _react2.css)(_mixins.applyDynamicLabel, ";position:relative;box-sizing:border-box;;label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEFyZWEvVGV4dEFyZWEudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9EZ0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0QXJlYS9UZXh0QXJlYS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlU3RhdGUsIGNyZWF0ZVJlZiwgdXNlQ2FsbGJhY2ssIHVzZVJlZiwgTW91c2VFdmVudEhhbmRsZXIsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB1c2VGb3JrUmVmLCB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5cbmltcG9ydCB7IGN4LCBtZXJnZVJlZnMsIHNhZmVVc2VJZCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgUm9vdFByb3BzIH0gZnJvbSAnLi4vLi4vZW5naW5lcy90eXBlcyc7XG5pbXBvcnQgeyBJY29uSW5mb0NpcmNsZU91dGxpbmUgfSBmcm9tICcuLi9fSWNvbic7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tICcuLi8uLi9ob29rcyc7XG5cbmltcG9ydCB7IGFwcGx5RHluYW1pY0xhYmVsIH0gZnJvbSAnLi9taXhpbnMnO1xuaW1wb3J0IHsgdXNlQXV0b1Jlc2l6ZSwgUk9PVF9GT05UX1NJWkUgfSBmcm9tICcuL2hvb2tzJztcbmltcG9ydCB7XG4gICAgU3R5bGVkQ29udGVudCxcbiAgICBTdHlsZWRIZWxwZXJzLFxuICAgIFN0eWxlZExlZnRIZWxwZXIsXG4gICAgU3R5bGVkUmlnaHRIZWxwZXIsXG4gICAgU3R5bGVkTGFiZWwsXG4gICAgU3R5bGVkUGxhY2Vob2xkZXIsXG4gICAgU3R5bGVkVGV4dEFyZWEsXG4gICAgU3R5bGVkVGV4dEFyZWFXcmFwcGVyLFxuICAgIFN0eWxlZENvbnRhaW5lcixcbiAgICBTdHlsZWRJbmRpY2F0b3IsXG4gICAgU3R5bGVkT3B0aW9uYWxUZXh0LFxuICAgIE91dGVyTGFiZWxXcmFwcGVyLFxuICAgIFN0eWxlZEluZGljYXRvcldyYXBwZXIsXG4gICAgU3R5bGVkSGludFdyYXBwZXIsXG4gICAgSGludFRhcmdldFdyYXBwZXIsXG4gICAgVGl0bGVDYXB0aW9uLFxuICAgIEhpbnQsXG59IGZyb20gJy4vVGV4dEFyZWEuc3R5bGVzJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICcuL1RleHRBcmVhLnRva2Vucyc7XG5pbXBvcnQgeyBiYXNlIGFzIHZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3ZpZXcvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIHNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3NpemUvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGNsZWFyQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19jbGVhci9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgZGlzYWJsZWRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2Rpc2FibGVkL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBoaW50Vmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9faGludC12aWV3L2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBoaW50U2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9faGludC1zaXplL2Jhc2UnO1xuaW1wb3J0IHR5cGUgeyBUZXh0QXJlYVByb3BzLCBUZXh0QXJlYVJvb3RQcm9wcyB9IGZyb20gJy4vVGV4dEFyZWEudHlwZXMnO1xuXG5jb25zdCB7XG4gICAgaW5uZXJQbGFjZWhvbGRlclVwLFxuICAgIGZvY3VzZWRPdXRlclBsYWNlaG9sZGVyQ29sb3IsXG4gICAgaGlkZVBsYWNlSG9sZGVyLFxuICAgIHN0eWxlZENvbnRhaW5lcixcbiAgICBzdHlsZWRUZXh0QXJlYSxcbiAgICBzdHlsZWRUZXh0QXJlYVdyYXBwZXIsXG4gICAgc3R5bGVkUGxhY2Vob2xkZXIsXG4gICAgc3R5bGVkSGVscGVycyxcbn0gPSBjbGFzc2VzO1xuXG5jb25zdCBvcHRpb25hbFRleHQgPSAnb3B0aW9uYWwnO1xuXG5jb25zdCBiYXNlID0gY3NzYFxuICAgICR7YXBwbHlEeW5hbWljTGFiZWx9O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5gO1xuXG4vLyBUT0RPOiDQo9C00LDQu9C40YLRjCDQv9C+0YHQu9C1INC+0YLQutCw0LfQsCDQvtGCINGB0YLQsNGA0YvRhSDQsdC40LHQu9C40L7RgtC10LogcGxhc21hLXdlYiAvIHBsYXNtYS1iMmNcbmNvbnN0IGZhbGxiYWNrU3RhdHVzTWFwID0ge1xuICAgICcnOiAncHJpbWFyeScsXG4gICAgc3VjY2VzczogJ3Bvc2l0aXZlJyxcbiAgICB3YXJuaW5nOiAnd2FybmluZycsXG4gICAgZXJyb3I6ICduZWdhdGl2ZScsXG59O1xuXG4vLyBUT0RPOiDQn9C10YDQtdC90LXRgdGC0Lgg0Y3RgtC+0YIg0LzQtdGC0L7QtCDQsiDRhNCw0LnQuyBhcHBseUR5bmFtaWNMYWJlbC50c1xuZXhwb3J0IGNvbnN0IGdldER5bmFtaWNMYWJlbENsYXNzZXMgPSAocHJvcHM6IFRleHRBcmVhUHJvcHMsIGZvY3VzZWQ6IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCB7IHJlYWRPbmx5LCBsYWJlbCwgbGFiZWxQbGFjZW1lbnQsIHJvd3MsIHZhbHVlLCBzaXplIH0gPSBwcm9wcztcblxuICAgIC8vINCU0L7QsdCw0LLQuNGC0Ywg0LrQu9Cw0YHRgSDQvtGC0LLQtdGH0LDRjtGJ0LjQuSDQt9CwINC40LfQvNC10L3QtdC90LjQtSDRhtCy0LXRgtCwINC/0LvQtdC50YHRhdC+0LvQtNC10YDQsCDQv9GA0Lgg0YTQvtC60YPRgdC1XG4gICAgY29uc3Qgd2l0aEZvY3VzZWRPdXRlclVwUGxhY2Vob2xkZXIgPVxuICAgICAgICAhcmVhZE9ubHkgJiYgZm9jdXNlZCAmJiAoIWxhYmVsIHx8IGxhYmVsUGxhY2VtZW50ID09PSAnb3V0ZXInKSA/IGZvY3VzZWRPdXRlclBsYWNlaG9sZGVyQ29sb3IgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDQv9C+0LTQvdGP0YLQuNC1INC4INGD0LzQtdC90YzRiNC10L3QuNC1INC/0LvQtdC50YHRhdC+0LvQtNC10YDQsFxuICAgIGNvbnN0IHdpdGhJbm5lclBsYWNlaG9sZGVyVXAgPVxuICAgICAgICBsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJlxuICAgICAgICBsYWJlbCAmJlxuICAgICAgICAhcm93cyAmJlxuICAgICAgICBzaXplICE9PSAneHMnICYmXG4gICAgICAgICgoIXJlYWRPbmx5ICYmICh2YWx1ZSB8fCBmb2N1c2VkKSkgfHwgKHJlYWRPbmx5ICYmIHZhbHVlKSlcbiAgICAgICAgICAgID8gaW5uZXJQbGFjZWhvbGRlclVwXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIC8vINCU0L7QsdCw0LLQuNGC0Ywg0LrQu9Cw0YHRgSDQvtGC0LLQtdGH0LDRjtGJ0LjQuSDQt9CwINGB0LrRgNGL0YLQuNC1INC/0LvQtdC50YHRhdC+0LvQtNC10YDQsFxuICAgIGNvbnN0IHdpdGhIaWRlUGxhY2Vob2xkZXIgPVxuICAgICAgICAodmFsdWUgJiYgIWxhYmVsKSB8fFxuICAgICAgICAobGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgKChmb2N1c2VkICYmICFyZWFkT25seSkgfHwgdmFsdWUpICYmIGxhYmVsICYmIHJvd3MpIHx8XG4gICAgICAgIChsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyAmJiB2YWx1ZSkgfHxcbiAgICAgICAgKGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmIHNpemUgPT09ICd4cycgJiYgdmFsdWUpXG4gICAgICAgICAgICA/IGhpZGVQbGFjZUhvbGRlclxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gW3dpdGhGb2N1c2VkT3V0ZXJVcFBsYWNlaG9sZGVyLCB3aXRoSW5uZXJQbGFjZWhvbGRlclVwLCB3aXRoSGlkZVBsYWNlaG9sZGVyXTtcbn07XG5cbmV4cG9ydCBjb25zdCB0ZXh0QXJlYVJvb3QgPSAoUm9vdDogUm9vdFByb3BzPEhUTUxUZXh0QXJlYUVsZW1lbnQsIFRleHRBcmVhUm9vdFByb3BzPikgPT5cbiAgICBmb3J3YXJkUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQsIFRleHRBcmVhUHJvcHM+KChwcm9wcywgaW5uZXJSZWYpID0+IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgaGVscGVyVGV4dCxcbiAgICAgICAgICAgIHN0YXR1cyxcbiAgICAgICAgICAgIHJlc2l6ZSxcbiAgICAgICAgICAgIHJpZ2h0SGVscGVyLFxuICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgIGNvbnRlbnRSaWdodCxcbiAgICAgICAgICAgIGF1dG9SZXNpemUgPSBmYWxzZSxcbiAgICAgICAgICAgIG1pbkF1dG8gPSAwLFxuICAgICAgICAgICAgbWF4QXV0byxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQgPSAnaW5uZXInLFxuICAgICAgICAgICAgdGl0bGVDYXB0aW9uLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICByZXF1aXJlZCA9IGZhbHNlLFxuICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnQgPSAncmlnaHQnLFxuICAgICAgICAgICAgb3B0aW9uYWwgPSBmYWxzZSxcbiAgICAgICAgICAgIGNsZWFyLFxuICAgICAgICAgICAgaGFzRGl2aWRlcixcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBzdHlsZSxcbiAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgcm93cyxcbiAgICAgICAgICAgIGNvbHMsXG4gICAgICAgICAgICBoaW50VHJpZ2dlciA9ICdob3ZlcicsXG4gICAgICAgICAgICBoaW50VGV4dCxcbiAgICAgICAgICAgIGhpbnRWaWV3ID0gJ2RlZmF1bHQnLFxuICAgICAgICAgICAgaGludFNpemUgPSAnbScsXG4gICAgICAgICAgICBoaW50VGFyZ2V0SWNvbixcbiAgICAgICAgICAgIGhpbnRQbGFjZW1lbnQgPSAnYXV0bycsXG4gICAgICAgICAgICBoaW50SGFzQXJyb3csXG4gICAgICAgICAgICBoaW50T2Zmc2V0ID0gWzAsIDBdLFxuICAgICAgICAgICAgaGludFdpZHRoLFxuICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0LFxuICAgICAgICAgICAgb25DaGFuZ2UsXG4gICAgICAgICAgICAuLi5yZXN0XG4gICAgICAgIH0gPSBwcm9wcztcblxuICAgICAgICBjb25zdCBbaXNIaW50VmlzaWJsZSwgc2V0SXNIaW50VmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgICAgIGNvbnN0IFtoZWxwZXJXaWR0aCwgc2V0SGVscGVyV2lkdGhdID0gdXNlU3RhdGU8c3RyaW5nPih3aWR0aCA/IGAke3dpZHRofXJlbWAgOiAnMTAwJScpO1xuICAgICAgICBjb25zdCBbZm9jdXNlZCwgc2V0Rm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgICAgIGNvbnN0IFt1bmNvbnRyb2xsZWRWYWx1ZSwgc2V0VW5jb250cm9sbGVkVmFsdWVdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgICAgIGNvbnN0IG91dGVyUmVmID0gY3JlYXRlUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+KCk7XG4gICAgICAgIGNvbnN0IGhpbnRJZCA9IHNhZmVVc2VJZCgpO1xuXG4gICAgICAgIGNvbnN0IGhpbnRSZWYgPSB1c2VPdXRzaWRlQ2xpY2s8SFRNTERpdkVsZW1lbnQ+KCgpID0+IHtcbiAgICAgICAgICAgIHNldElzSGludFZpc2libGUoZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgaGludElubmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICAgICAgY29uc3QgaGludEZvcmtSZWYgPSB1c2VGb3JrUmVmKGhpbnRSZWYsIGhpbnRJbm5lclJlZik7XG5cbiAgICAgICAgY29uc3QgaW5uZXJPcHRpb25hbCA9IHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbDtcbiAgICAgICAgY29uc3QgaGFzSGVscGVyID0gQm9vbGVhbihsZWZ0SGVscGVyIHx8IHJpZ2h0SGVscGVyIHx8IGhlbHBlclRleHQpO1xuICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gQm9vbGVhbihsYWJlbCAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyk7XG4gICAgICAgIGNvbnN0IGhhc0lubmVyTGFiZWwgPSBCb29sZWFuKGxhYmVsICYmIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmIHNpemUgIT09ICd4cycpO1xuICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaGFzT3V0ZXJMYWJlbDtcblxuICAgICAgICBjb25zdCBvdmVycmlkZGVuVmlldyA9IHN0YXR1cyAhPT0gdW5kZWZpbmVkID8gZmFsbGJhY2tTdGF0dXNNYXBbc3RhdHVzXSA6IHZpZXc7XG4gICAgICAgIGNvbnN0IHRleHRhcmVhSGVscGVySWQgPSBpZCA/IGAke2lkfS1oZWxwZXJgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBhcHBseUN1c3RvbVdpZHRoID0gcmVzaXplICE9PSAnaG9yaXpvbnRhbCcgJiYgcmVzaXplICE9PSAnYm90aCcgJiYgIWNvbHM7XG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyTGFiZWwgPSBoYXNJbm5lckxhYmVsID8gbGFiZWwgOiBwbGFjZWhvbGRlcjtcblxuICAgICAgICBjb25zdCBjbGVhckNsYXNzID0gY2xlYXIgPyBjbGFzc2VzLmNsZWFyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNIaW50Q2xhc3MgPSBoaW50VGV4dCA/IGNsYXNzZXMuaGFzSGludCA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgaGFzUmlnaHRDb250ZW50Q2xhc3MgPSBjb250ZW50UmlnaHQgPyBjbGFzc2VzLmhhc1JpZ2h0Q29udGVudCA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgaGFzRGl2aWRlckNsYXNzID0gaGFzRGl2aWRlciA/IGNsYXNzZXMuaGFzRGl2aWRlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyA9IHJlcXVpcmVkUGxhY2VtZW50ID09PSAncmlnaHQnID8gJ2FsaWduLXJpZ2h0ICcgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgY29uc3QgaGFuZGxlSGludFNob3cgPSAoKSA9PiBzZXRJc0hpbnRWaXNpYmxlKHRydWUpO1xuICAgICAgICBjb25zdCBoYW5kbGVIaW50SGlkZSA9ICgpID0+IHNldElzSGludFZpc2libGUoZmFsc2UpO1xuICAgICAgICBjb25zdCBoYW5kbGVIaW50Q2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoaGludFRleHQgJiYgaGludFRyaWdnZXIgPT09ICdjbGljaycpIHtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRJc1BvcG92ZXIgPSBldmVudC50YXJnZXQgPT09IGhpbnRJbm5lclJlZi5jdXJyZW50O1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvb3RIYXNUYXJnZXQgPSBoaW50SW5uZXJSZWYuY3VycmVudD8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0YXJnZXRJc1BvcG92ZXIgJiYgIXJvb3RIYXNUYXJnZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0SXNIaW50VmlzaWJsZSh0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgdXNlUmVzaXplT2JzZXJ2ZXIob3V0ZXJSZWYsIChjdXJyZW50RWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyB3aWR0aDogaW5saW5lV2lkdGggfSA9IGN1cnJlbnRFbGVtZW50LnN0eWxlO1xuXG4gICAgICAgICAgICBpZiAoaW5saW5lV2lkdGggfHwgY29scykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgd2lkdGg6IGVsZW1lbnRXaWR0aCB9ID0gY3VycmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgc2V0SGVscGVyV2lkdGgoYCR7ZWxlbWVudFdpZHRoIC8gUk9PVF9GT05UX1NJWkV9cmVtYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHVzZUF1dG9SZXNpemUoYXV0b1Jlc2l6ZSB8fCBCb29sZWFuKGNsZWFyKSwgb3V0ZXJSZWYsIHZhbHVlLCBtaW5BdXRvLCBtYXhBdXRvKTtcblxuICAgICAgICBjb25zdCBvbkZvY3VzSGFuZGxlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgICAgIHNldEZvY3VzZWQodHJ1ZSk7XG4gICAgICAgIH0sIFtdKTtcblxuICAgICAgICBjb25zdCBvbkJsdXJIYW5kbGVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICAgICAgc2V0Rm9jdXNlZChmYWxzZSk7XG4gICAgICAgIH0sIFtdKTtcblxuICAgICAgICBjb25zdCBvbkNoYW5nZUhhbmRsZXIgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgICAgIChldmVudDogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTFRleHRBcmVhRWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICAvLyBJTkZPOiDQlNC70Y8g0LrRgNCw0LnQvdC1INGA0LXQtNC60LjRhSDQutC10LnRgdC+0LIsINC60L7Qs9C00LAgdmFsdWUg0YHQvdCw0YDRg9C20Lgg0L3QtSDQutC+0L3RgtGA0L7Qu9C40YDRg9C10YLRgdGPXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VW5jb250cm9sbGVkVmFsdWUoZXZlbnQ/LnRhcmdldC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U/LihldmVudCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW3ZhbHVlLCBvbkNoYW5nZV0sXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgaGFuZGxlVGV4dEFyZWFGb2N1cyA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmIChyZWFkT25seSB8fCBkaXNhYmxlZCB8fCAhb3V0ZXJSZWY/LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG91dGVyUmVmLmN1cnJlbnQuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgICBsZWZ0OiBvdXRlclJlZi5jdXJyZW50Lm9mZnNldExlZnQsXG4gICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIG91dGVyUmVmLmN1cnJlbnQuZm9jdXMoKTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkeW5hbWljTGFiZWxDbGFzc2VzID0gZ2V0RHluYW1pY0xhYmVsQ2xhc3NlcyhcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzaXplLFxuICAgICAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSB8fCB1bmNvbnRyb2xsZWRWYWx1ZSB8fCBkZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICAgICAgcm93cyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmb2N1c2VkLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IG9wdGlvbmFsVGV4dE5vZGUgPSBpbm5lck9wdGlvbmFsID8gKFxuICAgICAgICAgICAgPFN0eWxlZE9wdGlvbmFsVGV4dCBpbmhlcml0Rm9udD17IWhhc091dGVyTGFiZWx9PlxuICAgICAgICAgICAgICAgIHtCb29sZWFuKGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPyBwbGFjZWhvbGRlckxhYmVsIDogbGFiZWwpICYmICdcXHhhMCd9XG4gICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dH1cbiAgICAgICAgICAgIDwvU3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICApIDogbnVsbDtcblxuICAgICAgICBjb25zdCBIaW50Q29tcG9uZW50ID0gdXNlTWVtbyhcbiAgICAgICAgICAgICgpID0+IChcbiAgICAgICAgICAgICAgICA8SGludFxuICAgICAgICAgICAgICAgICAgICByZWY9e2hpbnRGb3JrUmVmfVxuICAgICAgICAgICAgICAgICAgICB0ZXh0PXtTdHJpbmcoaGludFRleHQpfVxuICAgICAgICAgICAgICAgICAgICBvcGVuZWQ9e2lzSGludFZpc2libGV9XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD17XG4gICAgICAgICAgICAgICAgICAgICAgICA8SGludFRhcmdldFdyYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17aGludElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi4oaGludFRyaWdnZXIgPT09ICdob3ZlcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcjogaGFuZGxlSGludFNob3csXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZTogaGFuZGxlSGludEhpZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHsgb25DbGljazogaGFuZGxlSGludENsaWNrIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoaW50VGFyZ2V0SWNvbiB8fCA8SWNvbkluZm9DaXJjbGVPdXRsaW5lIHNpemU9XCJ4c1wiIGNvbG9yPVwiaW5oZXJpdFwiIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9IaW50VGFyZ2V0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9e2hpbnRQbGFjZW1lbnR9XG4gICAgICAgICAgICAgICAgICAgIGhhc0Fycm93PXtoaW50SGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgbWluV2lkdGg9e2hpbnRXaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgbWF4V2lkdGg9e2hpbnRXaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgY29udGVudExlZnQ9e2hpbnRDb250ZW50TGVmdH1cbiAgICAgICAgICAgICAgICAgICAgZnJhbWU9e2hpbnRJZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBoaW50VGV4dCxcbiAgICAgICAgICAgICAgICBpc0hpbnRWaXNpYmxlLFxuICAgICAgICAgICAgICAgIGhpbnRJZCxcbiAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcixcbiAgICAgICAgICAgICAgICBoYW5kbGVIaW50U2hvdyxcbiAgICAgICAgICAgICAgICBoYW5kbGVIaW50SGlkZSxcbiAgICAgICAgICAgICAgICBoYW5kbGVIaW50Q2xpY2ssXG4gICAgICAgICAgICAgICAgaGludFRhcmdldEljb24sXG4gICAgICAgICAgICAgICAgaGludFBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICBoaW50SGFzQXJyb3csXG4gICAgICAgICAgICAgICAgaGludE9mZnNldCxcbiAgICAgICAgICAgICAgICBoaW50V2lkdGgsXG4gICAgICAgICAgICAgICAgaGludENvbnRlbnRMZWZ0LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFJvb3RcbiAgICAgICAgICAgICAgICB2aWV3PXtvdmVycmlkZGVuVmlld31cbiAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgY2xlYXI9e2NsZWFyfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiBoZWxwZXJXaWR0aCwgLi4uc3R5bGUgfX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KGNsZWFyQ2xhc3MsIGhhc0RpdmlkZXJDbGFzcywgaGFzSGludENsYXNzLCBjbGFzc05hbWUpfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVRleHRBcmVhRm9jdXN9XG4gICAgICAgICAgICAgICAgey4uLihoaW50VGV4dCAmJiB7XG4gICAgICAgICAgICAgICAgICAgIGhpbnRWaWV3OiBoaW50VmlldyB8fCAnZGVmYXVsdCcsXG4gICAgICAgICAgICAgICAgICAgIGhpbnRTaXplOiBoaW50U2l6ZSB8fCAnbScsXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgeyhoYXNPdXRlckxhYmVsIHx8IHRpdGxlQ2FwdGlvbikgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8T3V0ZXJMYWJlbFdyYXBwZXIgaXNJbm5uZXJMYWJlbD17bGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcid9PlxuICAgICAgICAgICAgICAgICAgICAgICAge2hhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbmRpY2F0b3JXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkTGFiZWw+e2xhYmVsfTwvU3R5bGVkTGFiZWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hpbnRUZXh0ICYmIDxTdHlsZWRIaW50V3JhcHBlcj57SGludENvbXBvbmVudH08L1N0eWxlZEhpbnRXcmFwcGVyPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3JlcXVpcmVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbmRpY2F0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLm91dGVyTGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0hpbnRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRJbmRpY2F0b3JXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0aXRsZUNhcHRpb24gJiYgPFRpdGxlQ2FwdGlvbj57dGl0bGVDYXB0aW9ufTwvVGl0bGVDYXB0aW9uPn1cbiAgICAgICAgICAgICAgICAgICAgPC9PdXRlckxhYmVsV3JhcHBlcj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChzdHlsZWRDb250YWluZXIsIC4uLmR5bmFtaWNMYWJlbENsYXNzZXMpfVxuICAgICAgICAgICAgICAgICAgICB3aWR0aD17aGVscGVyV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXNIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e29uQmx1ckhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoaW50VGV4dCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRIaW50V3JhcHBlciBjbGFzc05hbWU9e2NsYXNzZXMuaW5uZXJMYWJlbFBsYWNlbWVudH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7SGludENvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRIaW50V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHtjb250ZW50UmlnaHQgJiYgPFN0eWxlZENvbnRlbnQ+e2NvbnRlbnRSaWdodH08L1N0eWxlZENvbnRlbnQ+fVxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFXcmFwcGVyIGNsYXNzTmFtZT17c3R5bGVkVGV4dEFyZWFXcmFwcGVyfSBoYXNIZWxwZXI9e2hhc0hlbHBlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KHN0eWxlZFRleHRBcmVhLCBoYXNSaWdodENvbnRlbnRDbGFzcyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0NvbnRlbnRSaWdodD17Qm9vbGVhbihjb250ZW50UmlnaHQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0hlbHBlcj17aGFzSGVscGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGx5Q3VzdG9tV2lkdGg9e2FwcGx5Q3VzdG9tV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXttZXJnZVJlZnMob3V0ZXJSZWYsIGlubmVyUmVmKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXthdXRvUmVzaXplIHx8IEJvb2xlYW4oY2xlYXIpID8gbWluQXV0byA6IGhlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17dGV4dGFyZWFIZWxwZXJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd3M9e3Jvd3N9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNpemU9e3Jlc2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0QXJlYVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIHtoYXNIZWxwZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhlbHBlcnMgY2xhc3NOYW1lPXtzdHlsZWRIZWxwZXJzfSBpZD17dGV4dGFyZWFIZWxwZXJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyhsZWZ0SGVscGVyIHx8IGhlbHBlclRleHQpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZExlZnRIZWxwZXI+e2xlZnRIZWxwZXIgfHwgaGVscGVyVGV4dH08L1N0eWxlZExlZnRIZWxwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmlnaHRIZWxwZXIgJiYgPFN0eWxlZFJpZ2h0SGVscGVyPntyaWdodEhlbHBlcn08L1N0eWxlZFJpZ2h0SGVscGVyPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSGVscGVycz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge3BsYWNlaG9sZGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ29udGVudFJpZ2h0PXtCb29sZWFuKGNvbnRlbnRSaWdodCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZWRQbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cGxhY2Vob2xkZXJMYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgb3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkUGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgICk7XG4gICAgfSk7XG5cbmV4cG9ydCBjb25zdCB0ZXh0QXJlYUNvbmZpZyA9IHtcbiAgICBuYW1lOiAnVGV4dEFyZWEnLFxuICAgIHRhZzogJ2RpdicsXG4gICAgbGF5b3V0OiB0ZXh0QXJlYVJvb3QsXG4gICAgYmFzZSxcbiAgICB2YXJpYXRpb25zOiB7XG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIGNzczogc2l6ZUNTUyxcbiAgICAgICAgfSxcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgY3NzOiB2aWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBjbGVhcjoge1xuICAgICAgICAgICAgY3NzOiBjbGVhckNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgY3NzOiBkaXNhYmxlZENTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZWFkT25seToge1xuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGhpbnRWaWV3OiB7XG4gICAgICAgICAgICBjc3M6IGhpbnRWaWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBoaW50U2l6ZToge1xuICAgICAgICAgICAgY3NzOiBoaW50U2l6ZUNTUyxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIGRlZmF1bHRzOiB7XG4gICAgICAgIHNpemU6ICdtJyxcbiAgICAgICAgdmlldzogJ3ByaW1hcnknLFxuICAgIH0sXG59O1xuIl19 */"));
51
56
 
52
57
  // TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c
53
58
  var fallbackStatusMap = {
@@ -92,6 +97,7 @@ var textAreaRoot = exports.textAreaRoot = function textAreaRoot(Root) {
92
97
  label = props.label,
93
98
  _props$labelPlacement = props.labelPlacement,
94
99
  labelPlacement = _props$labelPlacement === void 0 ? 'inner' : _props$labelPlacement,
100
+ titleCaption = props.titleCaption,
95
101
  placeholder = props.placeholder,
96
102
  defaultValue = props.defaultValue,
97
103
  height = props.height,
@@ -114,21 +120,46 @@ var textAreaRoot = exports.textAreaRoot = function textAreaRoot(Root) {
114
120
  readOnly = props.readOnly,
115
121
  rows = props.rows,
116
122
  cols = props.cols,
123
+ _props$hintTrigger = props.hintTrigger,
124
+ hintTrigger = _props$hintTrigger === void 0 ? 'hover' : _props$hintTrigger,
125
+ hintText = props.hintText,
126
+ _props$hintView = props.hintView,
127
+ hintView = _props$hintView === void 0 ? 'default' : _props$hintView,
128
+ _props$hintSize = props.hintSize,
129
+ hintSize = _props$hintSize === void 0 ? 'm' : _props$hintSize,
130
+ hintTargetIcon = props.hintTargetIcon,
131
+ _props$hintPlacement = props.hintPlacement,
132
+ hintPlacement = _props$hintPlacement === void 0 ? 'auto' : _props$hintPlacement,
133
+ hintHasArrow = props.hintHasArrow,
134
+ _props$hintOffset = props.hintOffset,
135
+ hintOffset = _props$hintOffset === void 0 ? [0, 0] : _props$hintOffset,
136
+ hintWidth = props.hintWidth,
137
+ hintContentLeft = props.hintContentLeft,
117
138
  onChange = props.onChange,
118
139
  rest = _objectWithoutProperties(props, _excluded);
119
- var _useState = (0, _react.useState)(width ? "".concat(width, "rem") : '100%'),
140
+ var _useState = (0, _react.useState)(false),
120
141
  _useState2 = _slicedToArray(_useState, 2),
121
- helperWidth = _useState2[0],
122
- setHelperWidth = _useState2[1];
123
- var _useState3 = (0, _react.useState)(false),
142
+ isHintVisible = _useState2[0],
143
+ setIsHintVisible = _useState2[1];
144
+ var _useState3 = (0, _react.useState)(width ? "".concat(width, "rem") : '100%'),
124
145
  _useState4 = _slicedToArray(_useState3, 2),
125
- focused = _useState4[0],
126
- setFocused = _useState4[1];
127
- var _useState5 = (0, _react.useState)(),
146
+ helperWidth = _useState4[0],
147
+ setHelperWidth = _useState4[1];
148
+ var _useState5 = (0, _react.useState)(false),
128
149
  _useState6 = _slicedToArray(_useState5, 2),
129
- uncontrolledValue = _useState6[0],
130
- setUncontrolledValue = _useState6[1];
150
+ focused = _useState6[0],
151
+ setFocused = _useState6[1];
152
+ var _useState7 = (0, _react.useState)(),
153
+ _useState8 = _slicedToArray(_useState7, 2),
154
+ uncontrolledValue = _useState8[0],
155
+ setUncontrolledValue = _useState8[1];
131
156
  var outerRef = /*#__PURE__*/(0, _react.createRef)();
157
+ var hintId = (0, _utils.safeUseId)();
158
+ var hintRef = (0, _hooks.useOutsideClick)(function () {
159
+ setIsHintVisible(false);
160
+ });
161
+ var hintInnerRef = (0, _react.useRef)(null);
162
+ var hintForkRef = (0, _plasmaCore.useForkRef)(hintRef, hintInnerRef);
132
163
  var innerOptional = required ? false : optional;
133
164
  var hasHelper = Boolean(leftHelper || rightHelper || helperText);
134
165
  var hasOuterLabel = Boolean(label && labelPlacement === 'outer');
@@ -139,18 +170,36 @@ var textAreaRoot = exports.textAreaRoot = function textAreaRoot(Root) {
139
170
  var applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;
140
171
  var placeholderLabel = hasInnerLabel ? label : placeholder;
141
172
  var clearClass = clear ? _TextArea2.classes.clear : undefined;
173
+ var hasHintClass = hintText ? _TextArea2.classes.hasHint : undefined;
142
174
  var hasRightContentClass = contentRight ? _TextArea2.classes.hasRightContent : undefined;
143
175
  var hasDividerClass = hasDivider ? _TextArea2.classes.hasDivider : undefined;
144
176
  var requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;
177
+ var handleHintShow = function handleHintShow() {
178
+ return setIsHintVisible(true);
179
+ };
180
+ var handleHintHide = function handleHintHide() {
181
+ return setIsHintVisible(false);
182
+ };
183
+ var handleHintClick = function handleHintClick(event) {
184
+ if (hintText && hintTrigger === 'click') {
185
+ var _hintInnerRef$current;
186
+ event.stopPropagation();
187
+ var targetIsPopover = event.target === hintInnerRef.current;
188
+ var rootHasTarget = (_hintInnerRef$current = hintInnerRef.current) === null || _hintInnerRef$current === void 0 ? void 0 : _hintInnerRef$current.contains(event.target);
189
+ if (!targetIsPopover && !rootHasTarget) {
190
+ setIsHintVisible(true);
191
+ }
192
+ }
193
+ };
145
194
  (0, _plasmaCore.useResizeObserver)(outerRef, function (currentElement) {
146
195
  var inlineWidth = currentElement.style.width;
147
196
  if (inlineWidth || cols) {
148
197
  var _currentElement$getBo = currentElement.getBoundingClientRect(),
149
198
  elementWidth = _currentElement$getBo.width;
150
- setHelperWidth("".concat(elementWidth / _hooks.ROOT_FONT_SIZE, "rem"));
199
+ setHelperWidth("".concat(elementWidth / _hooks2.ROOT_FONT_SIZE, "rem"));
151
200
  }
152
201
  });
153
- (0, _hooks.useAutoResize)(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto);
202
+ (0, _hooks2.useAutoResize)(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto);
154
203
  var onFocusHandler = (0, _react.useCallback)(function () {
155
204
  setFocused(true);
156
205
  }, []);
@@ -183,8 +232,35 @@ var textAreaRoot = exports.textAreaRoot = function textAreaRoot(Root) {
183
232
  value: value || uncontrolledValue || defaultValue,
184
233
  rows: rows
185
234
  }, focused);
186
- var optionalTextNode = innerOptional ? /*#__PURE__*/_react["default"].createElement(_TextArea.StyledOptionalText, null, Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\xa0', optionalText) : null;
187
- return /*#__PURE__*/_react["default"].createElement(Root, {
235
+ var optionalTextNode = innerOptional ? /*#__PURE__*/_react["default"].createElement(_TextArea.StyledOptionalText, {
236
+ inheritFont: !hasOuterLabel
237
+ }, Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\xa0', optionalText) : null;
238
+ var HintComponent = (0, _react.useMemo)(function () {
239
+ return /*#__PURE__*/_react["default"].createElement(_TextArea.Hint, {
240
+ ref: hintForkRef,
241
+ text: String(hintText),
242
+ opened: isHintVisible,
243
+ target: /*#__PURE__*/_react["default"].createElement(_TextArea.HintTargetWrapper, _extends({
244
+ id: hintId
245
+ }, hintTrigger === 'hover' ? {
246
+ onMouseEnter: handleHintShow,
247
+ onMouseLeave: handleHintHide
248
+ } : {
249
+ onClick: handleHintClick
250
+ }), hintTargetIcon || _IconInfoCircleOutlin || (_IconInfoCircleOutlin = /*#__PURE__*/_react["default"].createElement(_Icon.IconInfoCircleOutline, {
251
+ size: "xs",
252
+ color: "inherit"
253
+ }))),
254
+ placement: hintPlacement,
255
+ hasArrow: hintHasArrow,
256
+ offset: hintOffset,
257
+ minWidth: hintWidth,
258
+ maxWidth: hintWidth,
259
+ contentLeft: hintContentLeft,
260
+ frame: hintId
261
+ });
262
+ }, [hintText, isHintVisible, hintId, hintTrigger, handleHintShow, handleHintHide, handleHintClick, hintTargetIcon, hintPlacement, hintHasArrow, hintOffset, hintWidth, hintContentLeft]);
263
+ return /*#__PURE__*/_react["default"].createElement(Root, _extends({
188
264
  view: overriddenView,
189
265
  size: size,
190
266
  disabled: disabled,
@@ -193,18 +269,25 @@ var textAreaRoot = exports.textAreaRoot = function textAreaRoot(Root) {
193
269
  style: _objectSpread({
194
270
  width: helperWidth
195
271
  }, style),
196
- className: (0, _utils.cx)(clearClass, hasDividerClass, className),
272
+ className: (0, _utils.cx)(clearClass, hasDividerClass, hasHintClass, className),
197
273
  onClick: handleTextAreaFocus
198
- }, hasOuterLabel && /*#__PURE__*/_react["default"].createElement(_TextArea.StyledLabel, null, required && /*#__PURE__*/_react["default"].createElement(_TextArea.StyledIndicator, {
199
- className: (0, _utils.cx)(_TextArea2.classes.outerLabelPlacement, requiredPlacementClass)
200
- }), label, optionalTextNode), /*#__PURE__*/_react["default"].createElement(_TextArea.StyledContainer, {
274
+ }, hintText && {
275
+ hintView: hintView || 'default',
276
+ hintSize: hintSize || 'm'
277
+ }), (hasOuterLabel || titleCaption) && /*#__PURE__*/_react["default"].createElement(_TextArea.OuterLabelWrapper, {
278
+ isInnnerLabel: labelPlacement === 'inner'
279
+ }, hasOuterLabel && /*#__PURE__*/_react["default"].createElement(_TextArea.StyledIndicatorWrapper, null, /*#__PURE__*/_react["default"].createElement(_TextArea.StyledLabel, null, label), hintText && /*#__PURE__*/_react["default"].createElement(_TextArea.StyledHintWrapper, null, HintComponent), required && /*#__PURE__*/_react["default"].createElement(_TextArea.StyledIndicator, {
280
+ className: (0, _utils.cx)(_TextArea2.classes.outerLabelPlacement, requiredPlacementClass, hasHintClass)
281
+ }), optionalTextNode), titleCaption && /*#__PURE__*/_react["default"].createElement(_TextArea.TitleCaption, null, titleCaption)), /*#__PURE__*/_react["default"].createElement(_TextArea.StyledContainer, {
201
282
  className: _utils.cx.apply(void 0, [styledContainer].concat(_toConsumableArray(dynamicLabelClasses))),
202
283
  width: helperWidth,
203
284
  onFocus: onFocusHandler,
204
285
  onBlur: onBlurHandler
205
- }, required && !hasOuterLabel && /*#__PURE__*/_react["default"].createElement(_TextArea.StyledIndicator, {
286
+ }, !hasOuterLabel && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, required && /*#__PURE__*/_react["default"].createElement(_TextArea.StyledIndicator, {
206
287
  className: (0, _utils.cx)(_TextArea2.classes.innerLabelPlacement, requiredPlacementClass)
207
- }), contentRight && /*#__PURE__*/_react["default"].createElement(_TextArea.StyledContent, null, contentRight), /*#__PURE__*/_react["default"].createElement(_TextArea.StyledTextAreaWrapper, {
288
+ }), hintText && /*#__PURE__*/_react["default"].createElement(_TextArea.StyledHintWrapper, {
289
+ className: _TextArea2.classes.innerLabelPlacement
290
+ }, HintComponent)), contentRight && /*#__PURE__*/_react["default"].createElement(_TextArea.StyledContent, null, contentRight), /*#__PURE__*/_react["default"].createElement(_TextArea.StyledTextAreaWrapper, {
208
291
  className: styledTextAreaWrapper,
209
292
  hasHelper: hasHelper
210
293
  }, /*#__PURE__*/_react["default"].createElement(_TextArea.StyledTextArea, _extends({
@@ -258,6 +341,12 @@ var textAreaConfig = exports.textAreaConfig = {
258
341
  },
259
342
  readOnly: {
260
343
  attrs: true
344
+ },
345
+ hintView: {
346
+ css: _base5.base
347
+ },
348
+ hintSize: {
349
+ css: _base6.base
261
350
  }
262
351
  },
263
352
  defaults: {