@salutejs/plasma-new-hope 0.173.0-canary.1500.11456169969.0 → 0.173.1-canary.1502.11462220468.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (672) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.css +35 -19
  2. package/cjs/components/Autocomplete/Autocomplete.js +4 -2
  3. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/Badge/Badge.css +0 -2
  5. package/cjs/components/Badge/Badge.js +2 -9
  6. package/cjs/components/Badge/Badge.js.map +1 -1
  7. package/cjs/components/Badge/Badge.tokens.js +1 -2
  8. package/cjs/components/Badge/Badge.tokens.js.map +1 -1
  9. package/cjs/components/Combobox/ComboboxNew/Combobox.css +39 -18
  10. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +39 -18
  11. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +39 -18
  12. package/cjs/components/DatePicker/RangeDate/RangeDate.css +34 -18
  13. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +34 -18
  14. package/cjs/components/DatePicker/SingleDate/SingleDate.css +36 -20
  15. package/cjs/components/Range/Range.css +40 -19
  16. package/cjs/components/Slider/Slider.css +40 -19
  17. package/cjs/components/Slider/Slider.js +2 -0
  18. package/cjs/components/Slider/Slider.js.map +1 -1
  19. package/cjs/components/Slider/components/Double/Double.css +40 -19
  20. package/cjs/components/Tabs/createTabsController.js.map +1 -1
  21. package/cjs/components/Tabs/tokens.js +1 -2
  22. package/cjs/components/Tabs/tokens.js.map +1 -1
  23. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.css +0 -2
  24. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +10 -11
  25. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
  26. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.css +1 -3
  27. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +16 -14
  28. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  29. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  30. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js.map +1 -1
  31. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/{base_9miwn.css → base_4ob3q5.css} +1 -1
  32. package/cjs/components/Tabs/ui/horizontal/const.js +11 -0
  33. package/cjs/components/Tabs/ui/horizontal/const.js.map +1 -0
  34. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.css +5 -7
  35. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +2 -8
  36. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js.map +1 -1
  37. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +1 -1
  38. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js.map +1 -1
  39. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/{VerticalTabItem.styles_1yspq9o.css → VerticalTabItem.styles_16d3lah.css} +1 -1
  40. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.css +0 -2
  41. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -10
  42. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  43. package/cjs/components/TextArea/TextArea.js +111 -19
  44. package/cjs/components/TextArea/TextArea.js.map +1 -1
  45. package/cjs/components/TextArea/TextArea.styles.js +166 -63
  46. package/cjs/components/TextArea/TextArea.styles.js.map +1 -1
  47. package/cjs/components/TextArea/TextArea.styles_1ke2ihc.css +18 -0
  48. package/cjs/components/TextArea/TextArea.tokens.js +45 -5
  49. package/cjs/components/TextArea/TextArea.tokens.js.map +1 -1
  50. package/cjs/components/TextArea/hooks/useAutoResize.js +2 -4
  51. package/cjs/components/TextArea/hooks/useAutoResize.js.map +1 -1
  52. package/cjs/components/TextArea/ui/Hint/Hint.css +30 -0
  53. package/cjs/components/TextArea/ui/Hint/Hint.js +53 -0
  54. package/cjs/components/TextArea/ui/Hint/Hint.js.map +1 -0
  55. package/cjs/components/TextArea/variations/_clear/base.js +1 -1
  56. package/cjs/components/TextArea/variations/_clear/base.js.map +1 -1
  57. package/cjs/components/TextArea/variations/_clear/base_iz2qkw.css +1 -0
  58. package/cjs/components/{Badge/variations/_truncate → TextArea/variations/_hint-size}/base.js +2 -2
  59. package/cjs/components/TextArea/variations/_hint-size/base.js.map +1 -0
  60. package/cjs/components/TextArea/variations/_hint-size/base_1ipgv90.css +1 -0
  61. package/cjs/components/{Tabs/ui/vertical/VerticalTabItem/variations/_truncate → TextArea/variations/_hint-view}/base.js +2 -2
  62. package/cjs/components/TextArea/variations/_hint-view/base.js.map +1 -0
  63. package/cjs/components/TextArea/variations/_hint-view/base_111a0qe.css +1 -0
  64. package/cjs/components/TextArea/variations/_view/base.js +1 -1
  65. package/cjs/components/TextArea/variations/_view/base.js.map +1 -1
  66. package/cjs/components/TextArea/variations/_view/base_1xgrm3x.css +1 -0
  67. package/cjs/components/TextField/TextField.js +100 -10
  68. package/cjs/components/TextField/TextField.js.map +1 -1
  69. package/cjs/components/TextField/TextField.styles.js +82 -23
  70. package/cjs/components/TextField/TextField.styles.js.map +1 -1
  71. package/cjs/components/TextField/TextField.styles_grgg7q.css +22 -0
  72. package/cjs/components/TextField/TextField.tokens.js +42 -2
  73. package/cjs/components/TextField/TextField.tokens.js.map +1 -1
  74. package/cjs/components/TextField/ui/Hint/Hint.css +34 -0
  75. package/cjs/components/TextField/ui/Hint/Hint.js +53 -0
  76. package/cjs/components/TextField/ui/Hint/Hint.js.map +1 -0
  77. package/cjs/components/TextField/variations/_clear/base.js +1 -1
  78. package/cjs/components/TextField/variations/_clear/base.js.map +1 -1
  79. package/cjs/components/TextField/variations/_clear/base_1i91sjp.css +1 -0
  80. package/cjs/components/TextField/variations/_disabled/base.js +1 -1
  81. package/cjs/components/TextField/variations/_disabled/{base_2tv0nz.css → base_4d3opa.css} +1 -1
  82. package/cjs/components/{Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate → TextField/variations/_hint-size}/base.js +2 -2
  83. package/cjs/components/TextField/variations/_hint-size/base.js.map +1 -0
  84. package/cjs/components/TextField/variations/_hint-size/base_1x99605.css +1 -0
  85. package/cjs/components/{Tabs/ui/horizontal/HorizontalTabs/variations/_truncate → TextField/variations/_hint-view}/base.js +2 -2
  86. package/cjs/components/TextField/variations/_hint-view/base.js.map +1 -0
  87. package/cjs/components/TextField/variations/_hint-view/base_l8etux.css +1 -0
  88. package/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  89. package/cjs/components/TextField/variations/_label-placement/base.js.map +1 -1
  90. package/cjs/components/TextField/variations/_label-placement/base_3domm.css +1 -0
  91. package/cjs/components/TextField/variations/_read-only/base.js +1 -1
  92. package/cjs/components/TextField/variations/_read-only/base.js.map +1 -1
  93. package/cjs/components/TextField/variations/_read-only/base_17ypmu7.css +1 -0
  94. package/cjs/components/TextField/variations/_size/base.js +1 -1
  95. package/cjs/components/TextField/variations/_size/base.js.map +1 -1
  96. package/cjs/components/TextField/variations/_size/base_1xdmaqh.css +1 -0
  97. package/cjs/components/TextField/variations/_view/base.js +1 -1
  98. package/cjs/components/TextField/variations/_view/base.js.map +1 -1
  99. package/cjs/components/TextField/variations/_view/base_qhyte8.css +1 -0
  100. package/cjs/components/TextFieldGroup/TextFieldGroup.css +1 -1
  101. package/cjs/components/TextFieldGroup/variations/_shape/base.js +1 -1
  102. package/cjs/components/TextFieldGroup/variations/_shape/base_52bndd.css +1 -0
  103. package/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +23 -0
  104. package/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js.map +1 -0
  105. package/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +23 -0
  106. package/cjs/components/_Icon/Icons/IconInfoCircleOutline.js.map +1 -0
  107. package/cjs/index.css +62 -50
  108. package/cjs/utils/index.js.map +1 -1
  109. package/emotion/cjs/components/Autocomplete/Autocomplete.js +4 -2
  110. package/emotion/cjs/components/Badge/Badge.js +2 -9
  111. package/emotion/cjs/components/Badge/Badge.tokens.js +1 -2
  112. package/emotion/cjs/components/Tabs/tokens.js +1 -2
  113. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +15 -11
  114. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +21 -14
  115. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  116. package/emotion/cjs/components/Tabs/ui/horizontal/const.js +10 -0
  117. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +2 -8
  118. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +5 -5
  119. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -10
  120. package/emotion/cjs/components/TextArea/TextArea.js +115 -23
  121. package/emotion/cjs/components/TextArea/TextArea.styles.js +103 -41
  122. package/emotion/cjs/components/TextArea/TextArea.template-doc.mdx +6 -1
  123. package/emotion/cjs/components/TextArea/TextArea.tokens.js +45 -5
  124. package/emotion/cjs/components/TextArea/hooks/useAutoResize.js +2 -4
  125. package/emotion/cjs/components/TextArea/ui/Hint/Hint.js +53 -0
  126. package/emotion/cjs/components/TextArea/ui/Hint/Hint.types.js +5 -0
  127. package/emotion/cjs/components/TextArea/variations/_clear/base.js +1 -1
  128. package/emotion/cjs/components/TextArea/variations/_hint-size/base.js +11 -0
  129. package/emotion/cjs/components/TextArea/variations/_hint-size/tokens.json +21 -0
  130. package/emotion/cjs/components/TextArea/variations/_hint-view/base.js +11 -0
  131. package/emotion/cjs/components/TextArea/variations/_hint-view/tokens.json +5 -0
  132. package/emotion/cjs/components/TextArea/variations/_view/base.js +2 -1
  133. package/emotion/cjs/components/TextField/TextField.js +103 -13
  134. package/emotion/cjs/components/TextField/TextField.styles.js +88 -37
  135. package/emotion/cjs/components/TextField/TextField.template-doc.mdx +6 -1
  136. package/emotion/cjs/components/TextField/TextField.tokens.js +42 -2
  137. package/emotion/cjs/components/TextField/ui/Hint/Hint.js +53 -0
  138. package/emotion/cjs/components/TextField/ui/Hint/Hint.types.js +5 -0
  139. package/emotion/cjs/components/TextField/variations/_clear/base.js +1 -1
  140. package/emotion/cjs/components/TextField/variations/_hint-size/base.js +11 -0
  141. package/emotion/cjs/components/TextField/variations/_hint-size/tokens.json +21 -0
  142. package/emotion/cjs/components/TextField/variations/_hint-view/base.js +11 -0
  143. package/emotion/cjs/components/TextField/variations/_hint-view/tokens.json +5 -0
  144. package/emotion/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  145. package/emotion/cjs/components/TextField/variations/_read-only/base.js +1 -1
  146. package/emotion/cjs/components/TextField/variations/_size/base.js +1 -1
  147. package/emotion/cjs/components/TextField/variations/_view/base.js +1 -1
  148. package/emotion/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +22 -0
  149. package/emotion/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +22 -0
  150. package/emotion/cjs/components/_Icon/index.js +8 -1
  151. package/emotion/cjs/examples/plasma_b2c/components/Badge/Badge.config.js +14 -17
  152. package/emotion/cjs/examples/plasma_b2c/components/Badge/Badge.stories.tsx +2 -9
  153. package/emotion/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +74 -87
  154. package/emotion/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +15 -18
  155. package/emotion/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +15 -18
  156. package/emotion/cjs/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.js +6 -9
  157. package/emotion/cjs/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.js +6 -9
  158. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +17 -10
  159. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  160. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +20 -13
  161. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  162. package/emotion/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  163. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +17 -10
  164. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  165. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.config.js +20 -13
  166. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  167. package/emotion/es/components/Autocomplete/Autocomplete.js +4 -2
  168. package/emotion/es/components/Badge/Badge.js +2 -9
  169. package/emotion/es/components/Badge/Badge.tokens.js +1 -2
  170. package/emotion/es/components/Tabs/tokens.js +1 -2
  171. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +16 -11
  172. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +22 -14
  173. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  174. package/emotion/es/components/Tabs/ui/horizontal/const.js +4 -0
  175. package/emotion/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +2 -8
  176. package/emotion/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +5 -5
  177. package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -10
  178. package/emotion/es/components/TextArea/TextArea.js +115 -23
  179. package/emotion/es/components/TextArea/TextArea.styles.js +102 -40
  180. package/emotion/es/components/TextArea/TextArea.template-doc.mdx +6 -1
  181. package/emotion/es/components/TextArea/TextArea.tokens.js +45 -5
  182. package/emotion/es/components/TextArea/hooks/useAutoResize.js +2 -4
  183. package/emotion/es/components/TextArea/ui/Hint/Hint.js +44 -0
  184. package/emotion/es/components/TextArea/ui/Hint/Hint.types.js +1 -0
  185. package/emotion/es/components/TextArea/variations/_clear/base.js +2 -2
  186. package/emotion/es/components/TextArea/variations/_hint-size/base.js +5 -0
  187. package/emotion/es/components/TextArea/variations/_hint-size/tokens.json +21 -0
  188. package/emotion/es/components/TextArea/variations/_hint-view/base.js +5 -0
  189. package/emotion/es/components/TextArea/variations/_hint-view/tokens.json +5 -0
  190. package/emotion/es/components/TextArea/variations/_view/base.js +2 -1
  191. package/emotion/es/components/TextField/TextField.js +102 -12
  192. package/emotion/es/components/TextField/TextField.styles.js +87 -36
  193. package/emotion/es/components/TextField/TextField.template-doc.mdx +6 -1
  194. package/emotion/es/components/TextField/TextField.tokens.js +42 -2
  195. package/emotion/es/components/TextField/ui/Hint/Hint.js +44 -0
  196. package/emotion/es/components/TextField/ui/Hint/Hint.types.js +1 -0
  197. package/emotion/es/components/TextField/variations/_clear/base.js +2 -2
  198. package/emotion/es/components/TextField/variations/_hint-size/base.js +5 -0
  199. package/emotion/es/components/TextField/variations/_hint-size/tokens.json +21 -0
  200. package/emotion/es/components/TextField/variations/_hint-view/base.js +5 -0
  201. package/emotion/es/components/TextField/variations/_hint-view/tokens.json +5 -0
  202. package/emotion/es/components/TextField/variations/_label-placement/base.js +1 -1
  203. package/emotion/es/components/TextField/variations/_read-only/base.js +2 -2
  204. package/emotion/es/components/TextField/variations/_size/base.js +2 -2
  205. package/emotion/es/components/TextField/variations/_view/base.js +2 -2
  206. package/emotion/es/components/_Icon/Icon.assets/InfoCircleOutline.js +15 -0
  207. package/emotion/es/components/_Icon/Icons/IconInfoCircleOutline.js +15 -0
  208. package/emotion/es/components/_Icon/index.js +2 -1
  209. package/emotion/es/examples/plasma_b2c/components/Badge/Badge.config.js +14 -17
  210. package/emotion/es/examples/plasma_b2c/components/Badge/Badge.stories.tsx +2 -9
  211. package/emotion/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +74 -87
  212. package/emotion/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +15 -18
  213. package/emotion/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +15 -18
  214. package/emotion/es/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.js +6 -9
  215. package/emotion/es/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.js +6 -9
  216. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +17 -10
  217. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  218. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.config.js +20 -13
  219. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  220. package/emotion/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  221. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.config.js +17 -10
  222. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  223. package/emotion/es/examples/plasma_web/components/TextField/TextField.config.js +20 -13
  224. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  225. package/es/components/Autocomplete/Autocomplete.css +35 -19
  226. package/es/components/Autocomplete/Autocomplete.js +4 -2
  227. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  228. package/es/components/Badge/Badge.css +0 -2
  229. package/es/components/Badge/Badge.js +2 -9
  230. package/es/components/Badge/Badge.js.map +1 -1
  231. package/es/components/Badge/Badge.tokens.js +1 -2
  232. package/es/components/Badge/Badge.tokens.js.map +1 -1
  233. package/es/components/Combobox/ComboboxNew/Combobox.css +39 -18
  234. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +39 -18
  235. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +39 -18
  236. package/es/components/DatePicker/RangeDate/RangeDate.css +34 -18
  237. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +34 -18
  238. package/es/components/DatePicker/SingleDate/SingleDate.css +36 -20
  239. package/es/components/Range/Range.css +40 -19
  240. package/es/components/Slider/Slider.css +40 -19
  241. package/es/components/Slider/Slider.js +2 -0
  242. package/es/components/Slider/Slider.js.map +1 -1
  243. package/es/components/Slider/components/Double/Double.css +40 -19
  244. package/es/components/Tabs/createTabsController.js.map +1 -1
  245. package/es/components/Tabs/tokens.js +1 -2
  246. package/es/components/Tabs/tokens.js.map +1 -1
  247. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.css +0 -2
  248. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +11 -12
  249. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
  250. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.css +1 -3
  251. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +17 -15
  252. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  253. package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  254. package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js.map +1 -1
  255. package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/{base_9miwn.css → base_4ob3q5.css} +1 -1
  256. package/es/components/Tabs/ui/horizontal/const.js +7 -0
  257. package/es/components/Tabs/ui/horizontal/const.js.map +1 -0
  258. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.css +5 -7
  259. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +2 -8
  260. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js.map +1 -1
  261. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +1 -1
  262. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js.map +1 -1
  263. package/es/components/Tabs/ui/vertical/VerticalTabItem/{VerticalTabItem.styles_1yspq9o.css → VerticalTabItem.styles_16d3lah.css} +1 -1
  264. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.css +0 -2
  265. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -10
  266. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  267. package/es/components/TextArea/TextArea.js +115 -23
  268. package/es/components/TextArea/TextArea.js.map +1 -1
  269. package/es/components/TextArea/TextArea.styles.js +160 -64
  270. package/es/components/TextArea/TextArea.styles.js.map +1 -1
  271. package/es/components/TextArea/TextArea.styles_1ke2ihc.css +18 -0
  272. package/es/components/TextArea/TextArea.tokens.js +45 -5
  273. package/es/components/TextArea/TextArea.tokens.js.map +1 -1
  274. package/es/components/TextArea/hooks/useAutoResize.js +2 -4
  275. package/es/components/TextArea/hooks/useAutoResize.js.map +1 -1
  276. package/es/components/TextArea/ui/Hint/Hint.css +30 -0
  277. package/es/components/TextArea/ui/Hint/Hint.js +49 -0
  278. package/es/components/TextArea/ui/Hint/Hint.js.map +1 -0
  279. package/es/components/TextArea/variations/_clear/base.js +1 -1
  280. package/es/components/TextArea/variations/_clear/base.js.map +1 -1
  281. package/es/components/TextArea/variations/_clear/base_iz2qkw.css +1 -0
  282. package/es/components/{Tabs/ui/vertical/VerticalTabs/variations/_truncate → TextArea/variations/_hint-size}/base.js +2 -2
  283. package/es/components/TextArea/variations/_hint-size/base.js.map +1 -0
  284. package/es/components/TextArea/variations/_hint-size/base_1ipgv90.css +1 -0
  285. package/es/components/TextArea/variations/_hint-view/base.js +5 -0
  286. package/es/components/TextArea/variations/_hint-view/base.js.map +1 -0
  287. package/es/components/TextArea/variations/_hint-view/base_111a0qe.css +1 -0
  288. package/es/components/TextArea/variations/_view/base.js +1 -1
  289. package/es/components/TextArea/variations/_view/base.js.map +1 -1
  290. package/es/components/TextArea/variations/_view/base_1xgrm3x.css +1 -0
  291. package/es/components/TextField/TextField.js +101 -11
  292. package/es/components/TextField/TextField.js.map +1 -1
  293. package/es/components/TextField/TextField.styles.js +76 -24
  294. package/es/components/TextField/TextField.styles.js.map +1 -1
  295. package/es/components/TextField/TextField.styles_grgg7q.css +22 -0
  296. package/es/components/TextField/TextField.tokens.js +42 -2
  297. package/es/components/TextField/TextField.tokens.js.map +1 -1
  298. package/es/components/TextField/ui/Hint/Hint.css +34 -0
  299. package/es/components/TextField/ui/Hint/Hint.js +49 -0
  300. package/es/components/TextField/ui/Hint/Hint.js.map +1 -0
  301. package/es/components/TextField/variations/_clear/base.js +1 -1
  302. package/es/components/TextField/variations/_clear/base.js.map +1 -1
  303. package/es/components/TextField/variations/_clear/base_1i91sjp.css +1 -0
  304. package/es/components/TextField/variations/_disabled/base.js +1 -1
  305. package/es/components/TextField/variations/_disabled/{base_2tv0nz.css → base_4d3opa.css} +1 -1
  306. package/es/components/TextField/variations/_hint-size/base.js +5 -0
  307. package/es/components/TextField/variations/_hint-size/base.js.map +1 -0
  308. package/es/components/TextField/variations/_hint-size/base_1x99605.css +1 -0
  309. package/es/components/{Tabs/ui/horizontal/HorizontalTabs/variations/_truncate → TextField/variations/_hint-view}/base.js +2 -2
  310. package/es/components/TextField/variations/_hint-view/base.js.map +1 -0
  311. package/es/components/TextField/variations/_hint-view/base_l8etux.css +1 -0
  312. package/es/components/TextField/variations/_label-placement/base.js +1 -1
  313. package/es/components/TextField/variations/_label-placement/base.js.map +1 -1
  314. package/es/components/TextField/variations/_label-placement/base_3domm.css +1 -0
  315. package/es/components/TextField/variations/_read-only/base.js +1 -1
  316. package/es/components/TextField/variations/_read-only/base.js.map +1 -1
  317. package/es/components/TextField/variations/_read-only/base_17ypmu7.css +1 -0
  318. package/es/components/TextField/variations/_size/base.js +1 -1
  319. package/es/components/TextField/variations/_size/base.js.map +1 -1
  320. package/es/components/TextField/variations/_size/base_1xdmaqh.css +1 -0
  321. package/es/components/TextField/variations/_view/base.js +1 -1
  322. package/es/components/TextField/variations/_view/base.js.map +1 -1
  323. package/es/components/TextField/variations/_view/base_qhyte8.css +1 -0
  324. package/es/components/TextFieldGroup/TextFieldGroup.css +1 -1
  325. package/es/components/TextFieldGroup/variations/_shape/base.js +1 -1
  326. package/es/components/TextFieldGroup/variations/_shape/base_52bndd.css +1 -0
  327. package/es/components/_Icon/Icon.assets/InfoCircleOutline.js +19 -0
  328. package/es/components/_Icon/Icon.assets/InfoCircleOutline.js.map +1 -0
  329. package/es/components/_Icon/Icons/IconInfoCircleOutline.js +19 -0
  330. package/es/components/_Icon/Icons/IconInfoCircleOutline.js.map +1 -0
  331. package/es/index.css +62 -50
  332. package/es/utils/index.js.map +1 -1
  333. package/package.json +2 -2
  334. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +4 -2
  335. package/styled-components/cjs/components/Badge/Badge.js +2 -9
  336. package/styled-components/cjs/components/Badge/Badge.tokens.js +1 -2
  337. package/styled-components/cjs/components/Tabs/tokens.js +1 -2
  338. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +15 -11
  339. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +21 -14
  340. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  341. package/styled-components/cjs/components/Tabs/ui/horizontal/const.js +10 -0
  342. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +2 -8
  343. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +1 -1
  344. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -10
  345. package/styled-components/cjs/components/TextArea/TextArea.js +114 -22
  346. package/styled-components/cjs/components/TextArea/TextArea.styles.js +88 -42
  347. package/styled-components/cjs/components/TextArea/TextArea.template-doc.mdx +6 -1
  348. package/styled-components/cjs/components/TextArea/TextArea.tokens.js +45 -5
  349. package/styled-components/cjs/components/TextArea/hooks/useAutoResize.js +2 -4
  350. package/styled-components/cjs/components/TextArea/ui/Hint/Hint.js +53 -0
  351. package/styled-components/cjs/components/TextArea/ui/Hint/Hint.types.js +5 -0
  352. package/styled-components/cjs/components/TextArea/variations/_clear/base.js +1 -1
  353. package/styled-components/cjs/components/TextArea/variations/_hint-size/base.js +11 -0
  354. package/styled-components/cjs/components/TextArea/variations/_hint-size/tokens.json +21 -0
  355. package/styled-components/cjs/components/TextArea/variations/_hint-view/base.js +11 -0
  356. package/styled-components/cjs/components/TextArea/variations/_hint-view/tokens.json +5 -0
  357. package/styled-components/cjs/components/TextArea/variations/_view/base.js +2 -1
  358. package/styled-components/cjs/components/TextField/TextField.js +102 -12
  359. package/styled-components/cjs/components/TextField/TextField.styles.js +49 -21
  360. package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +6 -1
  361. package/styled-components/cjs/components/TextField/TextField.tokens.js +42 -2
  362. package/styled-components/cjs/components/TextField/ui/Hint/Hint.js +53 -0
  363. package/styled-components/cjs/components/TextField/ui/Hint/Hint.types.js +5 -0
  364. package/styled-components/cjs/components/TextField/variations/_clear/base.js +1 -1
  365. package/styled-components/cjs/components/TextField/variations/_hint-size/base.js +11 -0
  366. package/styled-components/cjs/components/TextField/variations/_hint-size/tokens.json +21 -0
  367. package/styled-components/cjs/components/TextField/variations/_hint-view/base.js +11 -0
  368. package/styled-components/cjs/components/TextField/variations/_hint-view/tokens.json +5 -0
  369. package/styled-components/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  370. package/styled-components/cjs/components/TextField/variations/_read-only/base.js +1 -1
  371. package/styled-components/cjs/components/TextField/variations/_size/base.js +1 -1
  372. package/styled-components/cjs/components/TextField/variations/_view/base.js +1 -1
  373. package/styled-components/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +22 -0
  374. package/styled-components/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +22 -0
  375. package/styled-components/cjs/components/_Icon/index.js +8 -1
  376. package/styled-components/cjs/examples/plasma_b2c/components/Badge/Badge.config.js +0 -3
  377. package/styled-components/cjs/examples/plasma_b2c/components/Badge/Badge.stories.tsx +2 -9
  378. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +74 -87
  379. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +0 -3
  380. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +0 -3
  381. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.js +0 -3
  382. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.js +0 -3
  383. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +16 -9
  384. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  385. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +16 -9
  386. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  387. package/styled-components/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  388. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +16 -9
  389. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  390. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.config.js +16 -9
  391. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  392. package/styled-components/es/components/Autocomplete/Autocomplete.js +4 -2
  393. package/styled-components/es/components/Badge/Badge.js +2 -9
  394. package/styled-components/es/components/Badge/Badge.tokens.js +1 -2
  395. package/styled-components/es/components/Tabs/tokens.js +1 -2
  396. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +16 -11
  397. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +22 -14
  398. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.js +1 -1
  399. package/styled-components/es/components/Tabs/ui/horizontal/const.js +4 -0
  400. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +2 -8
  401. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +1 -1
  402. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -10
  403. package/styled-components/es/components/TextArea/TextArea.js +114 -22
  404. package/styled-components/es/components/TextArea/TextArea.styles.js +87 -41
  405. package/styled-components/es/components/TextArea/TextArea.template-doc.mdx +6 -1
  406. package/styled-components/es/components/TextArea/TextArea.tokens.js +45 -5
  407. package/styled-components/es/components/TextArea/hooks/useAutoResize.js +2 -4
  408. package/styled-components/es/components/TextArea/ui/Hint/Hint.js +44 -0
  409. package/styled-components/es/components/TextArea/ui/Hint/Hint.types.js +1 -0
  410. package/styled-components/es/components/TextArea/variations/_clear/base.js +2 -2
  411. package/styled-components/es/components/TextArea/variations/_hint-size/base.js +5 -0
  412. package/styled-components/es/components/TextArea/variations/_hint-size/tokens.json +21 -0
  413. package/styled-components/es/components/TextArea/variations/_hint-view/base.js +5 -0
  414. package/styled-components/es/components/TextArea/variations/_hint-view/tokens.json +5 -0
  415. package/styled-components/es/components/TextArea/variations/_view/base.js +2 -1
  416. package/styled-components/es/components/TextField/TextField.js +101 -11
  417. package/styled-components/es/components/TextField/TextField.styles.js +48 -20
  418. package/styled-components/es/components/TextField/TextField.template-doc.mdx +6 -1
  419. package/styled-components/es/components/TextField/TextField.tokens.js +42 -2
  420. package/styled-components/es/components/TextField/ui/Hint/Hint.js +44 -0
  421. package/styled-components/es/components/TextField/ui/Hint/Hint.types.js +1 -0
  422. package/styled-components/es/components/TextField/variations/_clear/base.js +2 -2
  423. package/styled-components/es/components/TextField/variations/_hint-size/base.js +5 -0
  424. package/styled-components/es/components/TextField/variations/_hint-size/tokens.json +21 -0
  425. package/styled-components/es/components/TextField/variations/_hint-view/base.js +5 -0
  426. package/styled-components/es/components/TextField/variations/_hint-view/tokens.json +5 -0
  427. package/styled-components/es/components/TextField/variations/_label-placement/base.js +1 -1
  428. package/styled-components/es/components/TextField/variations/_read-only/base.js +2 -2
  429. package/styled-components/es/components/TextField/variations/_size/base.js +2 -2
  430. package/styled-components/es/components/TextField/variations/_view/base.js +2 -2
  431. package/styled-components/es/components/_Icon/Icon.assets/InfoCircleOutline.js +15 -0
  432. package/styled-components/es/components/_Icon/Icons/IconInfoCircleOutline.js +15 -0
  433. package/styled-components/es/components/_Icon/index.js +2 -1
  434. package/styled-components/es/examples/plasma_b2c/components/Badge/Badge.config.js +0 -3
  435. package/styled-components/es/examples/plasma_b2c/components/Badge/Badge.stories.tsx +2 -9
  436. package/styled-components/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +74 -87
  437. package/styled-components/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +0 -3
  438. package/styled-components/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +0 -3
  439. package/styled-components/es/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.js +0 -3
  440. package/styled-components/es/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.js +0 -3
  441. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +16 -9
  442. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  443. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +16 -9
  444. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  445. package/styled-components/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +72 -33
  446. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.config.js +16 -9
  447. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  448. package/styled-components/es/examples/plasma_web/components/TextField/TextField.config.js +16 -9
  449. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  450. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  451. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts +408 -0
  452. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
  453. package/types/components/Badge/Badge.d.ts +0 -4
  454. package/types/components/Badge/Badge.d.ts.map +1 -1
  455. package/types/components/Badge/Badge.tokens.d.ts +0 -1
  456. package/types/components/Badge/Badge.tokens.d.ts.map +1 -1
  457. package/types/components/Badge/Badge.types.d.ts +0 -5
  458. package/types/components/Badge/Badge.types.d.ts.map +1 -1
  459. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts +408 -0
  460. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts.map +1 -1
  461. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts +408 -0
  462. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  463. package/types/components/Dropdown/ui/DropdownOld/utils/index.d.ts +3 -2
  464. package/types/components/Dropdown/ui/DropdownOld/utils/index.d.ts.map +1 -1
  465. package/types/components/Popover/Popover.types.d.ts +2 -3
  466. package/types/components/Popover/Popover.types.d.ts.map +1 -1
  467. package/types/components/Range/Range.styles.d.ts +408 -0
  468. package/types/components/Range/Range.styles.d.ts.map +1 -1
  469. package/types/components/Slider/components/Double/Double.styles.d.ts +408 -0
  470. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  471. package/types/components/Tabs/TabItem.types.d.ts +50 -13
  472. package/types/components/Tabs/TabItem.types.d.ts.map +1 -1
  473. package/types/components/Tabs/Tabs.types.d.ts +44 -7
  474. package/types/components/Tabs/Tabs.types.d.ts.map +1 -1
  475. package/types/components/Tabs/createTabsController.d.ts +2 -2
  476. package/types/components/Tabs/createTabsController.d.ts.map +1 -1
  477. package/types/components/Tabs/tokens.d.ts +0 -1
  478. package/types/components/Tabs/tokens.d.ts.map +1 -1
  479. package/types/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.d.ts +0 -3
  480. package/types/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.d.ts.map +1 -1
  481. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts +2 -5
  482. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts.map +1 -1
  483. package/types/components/Tabs/ui/horizontal/HorizontalTabs/variations/_view/base.d.ts.map +1 -1
  484. package/types/components/Tabs/ui/horizontal/const.d.ts +2 -0
  485. package/types/components/Tabs/ui/horizontal/const.d.ts.map +1 -0
  486. package/types/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.d.ts +0 -3
  487. package/types/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.d.ts.map +1 -1
  488. package/types/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.d.ts.map +1 -1
  489. package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts +0 -4
  490. package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts.map +1 -1
  491. package/types/components/TextArea/TextArea.d.ts +9 -3
  492. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  493. package/types/components/TextArea/TextArea.styles.d.ts +12 -1
  494. package/types/components/TextArea/TextArea.styles.d.ts.map +1 -1
  495. package/types/components/TextArea/TextArea.tokens.d.ts +40 -0
  496. package/types/components/TextArea/TextArea.tokens.d.ts.map +1 -1
  497. package/types/components/TextArea/TextArea.types.d.ts +78 -3
  498. package/types/components/TextArea/TextArea.types.d.ts.map +1 -1
  499. package/types/components/TextArea/hooks/useAutoResize.d.ts.map +1 -1
  500. package/types/components/TextArea/ui/Hint/Hint.d.ts +4 -0
  501. package/types/components/TextArea/ui/Hint/Hint.d.ts.map +1 -0
  502. package/types/components/TextArea/ui/Hint/Hint.types.d.ts +17 -0
  503. package/types/components/TextArea/ui/Hint/Hint.types.d.ts.map +1 -0
  504. package/types/components/TextArea/variations/_clear/base.d.ts.map +1 -1
  505. package/types/components/TextArea/variations/_hint-size/base.d.ts.map +1 -0
  506. package/types/components/TextArea/variations/_hint-view/base.d.ts.map +1 -0
  507. package/types/components/TextArea/variations/_view/base.d.ts.map +1 -1
  508. package/types/components/TextField/TextField.d.ts +9 -3
  509. package/types/components/TextField/TextField.d.ts.map +1 -1
  510. package/types/components/TextField/TextField.styles.d.ts +9 -0
  511. package/types/components/TextField/TextField.styles.d.ts.map +1 -1
  512. package/types/components/TextField/TextField.tokens.d.ts +40 -0
  513. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  514. package/types/components/TextField/TextField.types.d.ts +73 -2
  515. package/types/components/TextField/TextField.types.d.ts.map +1 -1
  516. package/types/components/TextField/ui/Hint/Hint.d.ts +4 -0
  517. package/types/components/TextField/ui/Hint/Hint.d.ts.map +1 -0
  518. package/types/components/TextField/ui/Hint/Hint.types.d.ts +17 -0
  519. package/types/components/TextField/ui/Hint/Hint.types.d.ts.map +1 -0
  520. package/types/components/TextField/variations/_clear/base.d.ts.map +1 -1
  521. package/types/components/TextField/variations/_hint-size/base.d.ts.map +1 -0
  522. package/types/components/TextField/variations/_hint-view/base.d.ts.map +1 -0
  523. package/types/components/TextField/variations/_label-placement/base.d.ts.map +1 -1
  524. package/types/components/TextField/variations/_read-only/base.d.ts.map +1 -1
  525. package/types/components/TextField/variations/_size/base.d.ts.map +1 -1
  526. package/types/components/TextField/variations/_view/base.d.ts.map +1 -1
  527. package/types/components/_Icon/Icon.assets/InfoCircleOutline.d.ts +4 -0
  528. package/types/components/_Icon/Icon.assets/InfoCircleOutline.d.ts.map +1 -0
  529. package/types/components/_Icon/Icons/IconInfoCircleOutline.d.ts +4 -0
  530. package/types/components/_Icon/Icons/IconInfoCircleOutline.d.ts.map +1 -0
  531. package/types/components/_Icon/index.d.ts +1 -0
  532. package/types/components/_Icon/index.d.ts.map +1 -1
  533. package/types/examples/plasma_b2c/components/Badge/Badge.config.d.ts +0 -3
  534. package/types/examples/plasma_b2c/components/Badge/Badge.config.d.ts.map +1 -1
  535. package/types/examples/plasma_b2c/components/Badge/Badge.d.ts +0 -6
  536. package/types/examples/plasma_b2c/components/Badge/Badge.d.ts.map +1 -1
  537. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +740 -12
  538. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +1 -1
  539. package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts +17 -8
  540. package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts.map +1 -1
  541. package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts +1 -7
  542. package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts.map +1 -1
  543. package/types/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.d.ts +0 -3
  544. package/types/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.d.ts.map +1 -1
  545. package/types/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.d.ts +0 -3
  546. package/types/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.d.ts.map +1 -1
  547. package/types/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.d.ts +0 -3
  548. package/types/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.d.ts.map +1 -1
  549. package/types/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.d.ts +0 -3
  550. package/types/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.d.ts.map +1 -1
  551. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts +7 -0
  552. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts.map +1 -1
  553. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts +455 -0
  554. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts.map +1 -1
  555. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts +7 -0
  556. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts.map +1 -1
  557. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +415 -0
  558. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
  559. package/types/examples/plasma_web/components/Badge/Badge.d.ts +0 -3
  560. package/types/examples/plasma_web/components/Badge/Badge.d.ts.map +1 -1
  561. package/types/examples/plasma_web/components/Mask/Mask.d.ts +740 -12
  562. package/types/examples/plasma_web/components/Mask/Mask.d.ts.map +1 -1
  563. package/types/examples/plasma_web/components/Tabs/TabItem.d.ts +17 -2
  564. package/types/examples/plasma_web/components/Tabs/TabItem.d.ts.map +1 -1
  565. package/types/examples/plasma_web/components/Tabs/Tabs.d.ts +1 -1
  566. package/types/examples/plasma_web/components/Tabs/Tabs.d.ts.map +1 -1
  567. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts +7 -0
  568. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts.map +1 -1
  569. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts +455 -0
  570. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts.map +1 -1
  571. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts +7 -0
  572. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts.map +1 -1
  573. package/types/examples/plasma_web/components/TextField/TextField.d.ts +415 -0
  574. package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
  575. package/types/utils/getPopoverPlacement.d.ts +3 -2
  576. package/types/utils/getPopoverPlacement.d.ts.map +1 -1
  577. package/types/utils/index.d.ts +1 -1
  578. package/types/utils/index.d.ts.map +1 -1
  579. package/cjs/components/Badge/variations/_truncate/base.js.map +0 -1
  580. package/cjs/components/Badge/variations/_truncate/base_nf9u2h.css +0 -1
  581. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.js.map +0 -1
  582. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base_1b34xv3.css +0 -1
  583. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base.js.map +0 -1
  584. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base_1kepful.css +0 -1
  585. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.js.map +0 -1
  586. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base_1nwonlh.css +0 -1
  587. package/cjs/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.js +0 -9
  588. package/cjs/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.js.map +0 -1
  589. package/cjs/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base_14x17ie.css +0 -1
  590. package/cjs/components/TextArea/TextArea.styles_es0miz.css +0 -11
  591. package/cjs/components/TextArea/variations/_clear/base_vidplj.css +0 -1
  592. package/cjs/components/TextArea/variations/_view/base_td55th.css +0 -1
  593. package/cjs/components/TextField/TextField.styles_1d2ryq.css +0 -15
  594. package/cjs/components/TextField/variations/_clear/base_rit6gc.css +0 -1
  595. package/cjs/components/TextField/variations/_label-placement/base_1ghihns.css +0 -1
  596. package/cjs/components/TextField/variations/_read-only/base_1n7tghz.css +0 -1
  597. package/cjs/components/TextField/variations/_size/base_1h8l0kj.css +0 -1
  598. package/cjs/components/TextField/variations/_view/base_1noe46b.css +0 -1
  599. package/cjs/components/TextFieldGroup/variations/_shape/base_1e0je21.css +0 -1
  600. package/emotion/cjs/components/Badge/variations/_truncate/base.js +0 -10
  601. package/emotion/cjs/components/Badge/variations/_truncate/tokens.json +0 -1
  602. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.js +0 -10
  603. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/tokens.json +0 -1
  604. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base.js +0 -11
  605. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/tokens.json +0 -1
  606. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.js +0 -10
  607. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/tokens.json +0 -1
  608. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.js +0 -10
  609. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/tokens.json +0 -1
  610. package/emotion/es/components/Badge/variations/_truncate/base.js +0 -4
  611. package/emotion/es/components/Badge/variations/_truncate/tokens.json +0 -1
  612. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.js +0 -4
  613. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/tokens.json +0 -1
  614. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base.js +0 -5
  615. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/tokens.json +0 -1
  616. package/emotion/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.js +0 -4
  617. package/emotion/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/tokens.json +0 -1
  618. package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.js +0 -4
  619. package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/tokens.json +0 -1
  620. package/es/components/Badge/variations/_truncate/base.js +0 -5
  621. package/es/components/Badge/variations/_truncate/base.js.map +0 -1
  622. package/es/components/Badge/variations/_truncate/base_nf9u2h.css +0 -1
  623. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.js +0 -5
  624. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.js.map +0 -1
  625. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base_1b34xv3.css +0 -1
  626. package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base.js.map +0 -1
  627. package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base_1kepful.css +0 -1
  628. package/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.js +0 -5
  629. package/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.js.map +0 -1
  630. package/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base_1nwonlh.css +0 -1
  631. package/es/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.js.map +0 -1
  632. package/es/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base_14x17ie.css +0 -1
  633. package/es/components/TextArea/TextArea.styles_es0miz.css +0 -11
  634. package/es/components/TextArea/variations/_clear/base_vidplj.css +0 -1
  635. package/es/components/TextArea/variations/_view/base_td55th.css +0 -1
  636. package/es/components/TextField/TextField.styles_1d2ryq.css +0 -15
  637. package/es/components/TextField/variations/_clear/base_rit6gc.css +0 -1
  638. package/es/components/TextField/variations/_label-placement/base_1ghihns.css +0 -1
  639. package/es/components/TextField/variations/_read-only/base_1n7tghz.css +0 -1
  640. package/es/components/TextField/variations/_size/base_1h8l0kj.css +0 -1
  641. package/es/components/TextField/variations/_view/base_1noe46b.css +0 -1
  642. package/es/components/TextFieldGroup/variations/_shape/base_1e0je21.css +0 -1
  643. package/styled-components/cjs/components/Badge/variations/_truncate/base.js +0 -10
  644. package/styled-components/cjs/components/Badge/variations/_truncate/tokens.json +0 -1
  645. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.js +0 -10
  646. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/tokens.json +0 -1
  647. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base.js +0 -11
  648. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/tokens.json +0 -1
  649. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.js +0 -10
  650. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/tokens.json +0 -1
  651. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.js +0 -10
  652. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/tokens.json +0 -1
  653. package/styled-components/es/components/Badge/variations/_truncate/base.js +0 -4
  654. package/styled-components/es/components/Badge/variations/_truncate/tokens.json +0 -1
  655. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.js +0 -4
  656. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/tokens.json +0 -1
  657. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base.js +0 -5
  658. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/tokens.json +0 -1
  659. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.js +0 -4
  660. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/tokens.json +0 -1
  661. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.js +0 -4
  662. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/tokens.json +0 -1
  663. package/types/components/Badge/variations/_truncate/base.d.ts.map +0 -1
  664. package/types/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.d.ts.map +0 -1
  665. package/types/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base.d.ts.map +0 -1
  666. package/types/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.d.ts.map +0 -1
  667. package/types/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.d.ts +0 -2
  668. package/types/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.d.ts.map +0 -1
  669. /package/types/components/{Badge/variations/_truncate → TextArea/variations/_hint-size}/base.d.ts +0 -0
  670. /package/types/components/{Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate → TextArea/variations/_hint-view}/base.d.ts +0 -0
  671. /package/types/components/{Tabs/ui/horizontal/HorizontalTabs/variations/_truncate → TextField/variations/_hint-size}/base.d.ts +0 -0
  672. /package/types/components/{Tabs/ui/vertical/VerticalTabItem/variations/_truncate → TextField/variations/_hint-view}/base.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- 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"];
2
+ 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"];
3
3
  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); }
4
4
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
5
5
  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."); }
@@ -18,18 +18,22 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
18
18
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
19
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
20
20
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
- import React, { forwardRef, useState, createRef, useCallback } from 'react';
21
+ import React, { forwardRef, useState, createRef, useCallback, useRef } from 'react';
22
22
  import { css } from '@emotion/react';
23
- import { useResizeObserver } from '@salutejs/plasma-core';
23
+ import { useForkRef, useResizeObserver } from '@salutejs/plasma-core';
24
24
  import { cx, mergeRefs } from '../../utils';
25
+ import { useOutsideClick } from '../../hooks';
25
26
  import { applyDynamicLabel } from './mixins';
26
27
  import { useAutoResize, ROOT_FONT_SIZE } from './hooks';
27
- import { StyledContent, StyledHelpers, StyledLeftHelper, StyledRightHelper, StyledLabel, StyledPlaceholder, StyledTextArea, StyledTextAreaWrapper, StyledContainer, StyledIndicator, StyledOptionalText } from './TextArea.styles';
28
+ import { StyledContent, StyledHelpers, StyledLeftHelper, StyledRightHelper, StyledLabel, StyledPlaceholder, StyledTextArea, StyledTextAreaWrapper, StyledContainer, StyledIndicator, StyledOptionalText, OuterLabelWrapper, StyledIndicatorWrapper, StyledHintWrapper, TitleCaption } from './TextArea.styles';
28
29
  import { classes } from './TextArea.tokens';
29
30
  import { base as viewCSS } from './variations/_view/base';
30
31
  import { base as sizeCSS } from './variations/_size/base';
31
32
  import { base as clearCSS } from './variations/_clear/base';
32
33
  import { base as disabledCSS } from './variations/_disabled/base';
34
+ import { base as hintViewCSS } from './variations/_hint-view/base';
35
+ import { base as hintSizeCSS } from './variations/_hint-size/base';
36
+ import { HintComponent } from './ui/Hint/Hint';
33
37
  var innerPlaceholderUp = classes.innerPlaceholderUp,
34
38
  focusedOuterPlaceholderColor = classes.focusedOuterPlaceholderColor,
35
39
  hidePlaceHolder = classes.hidePlaceHolder,
@@ -39,7 +43,7 @@ var innerPlaceholderUp = classes.innerPlaceholderUp,
39
43
  styledPlaceholder = classes.styledPlaceholder,
40
44
  styledHelpers = classes.styledHelpers;
41
45
  var optionalText = 'optional';
42
- var base = /*#__PURE__*/css(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== */"));
46
+ var base = /*#__PURE__*/css(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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEFyZWEvVGV4dEFyZWEudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtEZ0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0QXJlYS9UZXh0QXJlYS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlU3RhdGUsIGNyZWF0ZVJlZiwgdXNlQ2FsbGJhY2ssIHVzZVJlZiwgTW91c2VFdmVudEhhbmRsZXIgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB1c2VGb3JrUmVmLCB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5cbmltcG9ydCB7IGN4LCBtZXJnZVJlZnMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJvb3RQcm9wcyB9IGZyb20gJy4uLy4uL2VuZ2luZXMvdHlwZXMnO1xuaW1wb3J0IHsgdXNlT3V0c2lkZUNsaWNrIH0gZnJvbSAnLi4vLi4vaG9va3MnO1xuXG5pbXBvcnQgeyBhcHBseUR5bmFtaWNMYWJlbCB9IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IHVzZUF1dG9SZXNpemUsIFJPT1RfRk9OVF9TSVpFIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQge1xuICAgIFN0eWxlZENvbnRlbnQsXG4gICAgU3R5bGVkSGVscGVycyxcbiAgICBTdHlsZWRMZWZ0SGVscGVyLFxuICAgIFN0eWxlZFJpZ2h0SGVscGVyLFxuICAgIFN0eWxlZExhYmVsLFxuICAgIFN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIFN0eWxlZFRleHRBcmVhLFxuICAgIFN0eWxlZFRleHRBcmVhV3JhcHBlcixcbiAgICBTdHlsZWRDb250YWluZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yLFxuICAgIFN0eWxlZE9wdGlvbmFsVGV4dCxcbiAgICBPdXRlckxhYmVsV3JhcHBlcixcbiAgICBTdHlsZWRJbmRpY2F0b3JXcmFwcGVyLFxuICAgIFN0eWxlZEhpbnRXcmFwcGVyLFxuICAgIFRpdGxlQ2FwdGlvbixcbn0gZnJvbSAnLi9UZXh0QXJlYS5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEFyZWEudG9rZW5zJztcbmltcG9ydCB7IGJhc2UgYXMgdmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgc2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgY2xlYXJDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2NsZWFyL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBkaXNhYmxlZENTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fZGlzYWJsZWQvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGhpbnRWaWV3Q1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19oaW50LXZpZXcvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGhpbnRTaXplQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19oaW50LXNpemUvYmFzZSc7XG5pbXBvcnQgdHlwZSB7IFRleHRBcmVhUHJvcHMsIFRleHRBcmVhUm9vdFByb3BzIH0gZnJvbSAnLi9UZXh0QXJlYS50eXBlcyc7XG5pbXBvcnQgeyBIaW50Q29tcG9uZW50IH0gZnJvbSAnLi91aS9IaW50L0hpbnQnO1xuXG5jb25zdCB7XG4gICAgaW5uZXJQbGFjZWhvbGRlclVwLFxuICAgIGZvY3VzZWRPdXRlclBsYWNlaG9sZGVyQ29sb3IsXG4gICAgaGlkZVBsYWNlSG9sZGVyLFxuICAgIHN0eWxlZENvbnRhaW5lcixcbiAgICBzdHlsZWRUZXh0QXJlYSxcbiAgICBzdHlsZWRUZXh0QXJlYVdyYXBwZXIsXG4gICAgc3R5bGVkUGxhY2Vob2xkZXIsXG4gICAgc3R5bGVkSGVscGVycyxcbn0gPSBjbGFzc2VzO1xuXG5jb25zdCBvcHRpb25hbFRleHQgPSAnb3B0aW9uYWwnO1xuXG5jb25zdCBiYXNlID0gY3NzYFxuICAgICR7YXBwbHlEeW5hbWljTGFiZWx9O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5gO1xuXG4vLyBUT0RPOiDQo9C00LDQu9C40YLRjCDQv9C+0YHQu9C1INC+0YLQutCw0LfQsCDQvtGCINGB0YLQsNGA0YvRhSDQsdC40LHQu9C40L7RgtC10LogcGxhc21hLXdlYiAvIHBsYXNtYS1iMmNcbmNvbnN0IGZhbGxiYWNrU3RhdHVzTWFwID0ge1xuICAgICcnOiAncHJpbWFyeScsXG4gICAgc3VjY2VzczogJ3Bvc2l0aXZlJyxcbiAgICB3YXJuaW5nOiAnd2FybmluZycsXG4gICAgZXJyb3I6ICduZWdhdGl2ZScsXG59O1xuXG5jb25zdCBISU5UX0RFRkFVTFRfT0ZGU0VUOiBbbnVtYmVyLCBudW1iZXJdID0gWzAsIDBdO1xuXG4vLyBUT0RPOiDQn9C10YDQtdC90LXRgdGC0Lgg0Y3RgtC+0YIg0LzQtdGC0L7QtCDQsiDRhNCw0LnQuyBhcHBseUR5bmFtaWNMYWJlbC50c1xuZXhwb3J0IGNvbnN0IGdldER5bmFtaWNMYWJlbENsYXNzZXMgPSAocHJvcHM6IFRleHRBcmVhUHJvcHMsIGZvY3VzZWQ6IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCB7IHJlYWRPbmx5LCBsYWJlbCwgbGFiZWxQbGFjZW1lbnQsIHJvd3MsIHZhbHVlLCBzaXplIH0gPSBwcm9wcztcblxuICAgIC8vINCU0L7QsdCw0LLQuNGC0Ywg0LrQu9Cw0YHRgSDQvtGC0LLQtdGH0LDRjtGJ0LjQuSDQt9CwINC40LfQvNC10L3QtdC90LjQtSDRhtCy0LXRgtCwINC/0LvQtdC50YHRhdC+0LvQtNC10YDQsCDQv9GA0Lgg0YTQvtC60YPRgdC1XG4gICAgY29uc3Qgd2l0aEZvY3VzZWRPdXRlclVwUGxhY2Vob2xkZXIgPVxuICAgICAgICAhcmVhZE9ubHkgJiYgZm9jdXNlZCAmJiAoIWxhYmVsIHx8IGxhYmVsUGxhY2VtZW50ID09PSAnb3V0ZXInKSA/IGZvY3VzZWRPdXRlclBsYWNlaG9sZGVyQ29sb3IgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDQv9C+0LTQvdGP0YLQuNC1INC4INGD0LzQtdC90YzRiNC10L3QuNC1INC/0LvQtdC50YHRhdC+0LvQtNC10YDQsFxuICAgIGNvbnN0IHdpdGhJbm5lclBsYWNlaG9sZGVyVXAgPVxuICAgICAgICBsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJlxuICAgICAgICBsYWJlbCAmJlxuICAgICAgICAhcm93cyAmJlxuICAgICAgICBzaXplICE9PSAneHMnICYmXG4gICAgICAgICgoIXJlYWRPbmx5ICYmICh2YWx1ZSB8fCBmb2N1c2VkKSkgfHwgKHJlYWRPbmx5ICYmIHZhbHVlKSlcbiAgICAgICAgICAgID8gaW5uZXJQbGFjZWhvbGRlclVwXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIC8vINCU0L7QsdCw0LLQuNGC0Ywg0LrQu9Cw0YHRgSDQvtGC0LLQtdGH0LDRjtGJ0LjQuSDQt9CwINGB0LrRgNGL0YLQuNC1INC/0LvQtdC50YHRhdC+0LvQtNC10YDQsFxuICAgIGNvbnN0IHdpdGhIaWRlUGxhY2Vob2xkZXIgPVxuICAgICAgICAodmFsdWUgJiYgIWxhYmVsKSB8fFxuICAgICAgICAobGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgKChmb2N1c2VkICYmICFyZWFkT25seSkgfHwgdmFsdWUpICYmIGxhYmVsICYmIHJvd3MpIHx8XG4gICAgICAgIChsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyAmJiB2YWx1ZSkgfHxcbiAgICAgICAgKGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmIHNpemUgPT09ICd4cycgJiYgdmFsdWUpXG4gICAgICAgICAgICA/IGhpZGVQbGFjZUhvbGRlclxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gW3dpdGhGb2N1c2VkT3V0ZXJVcFBsYWNlaG9sZGVyLCB3aXRoSW5uZXJQbGFjZWhvbGRlclVwLCB3aXRoSGlkZVBsYWNlaG9sZGVyXTtcbn07XG5cbmV4cG9ydCBjb25zdCB0ZXh0QXJlYVJvb3QgPSAoUm9vdDogUm9vdFByb3BzPEhUTUxUZXh0QXJlYUVsZW1lbnQsIFRleHRBcmVhUm9vdFByb3BzPikgPT5cbiAgICBmb3J3YXJkUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQsIFRleHRBcmVhUHJvcHM+KChwcm9wcywgaW5uZXJSZWYpID0+IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgaGVscGVyVGV4dCxcbiAgICAgICAgICAgIHN0YXR1cyxcbiAgICAgICAgICAgIHJlc2l6ZSxcbiAgICAgICAgICAgIHJpZ2h0SGVscGVyLFxuICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgIGNvbnRlbnRSaWdodCxcbiAgICAgICAgICAgIGF1dG9SZXNpemUgPSBmYWxzZSxcbiAgICAgICAgICAgIG1pbkF1dG8gPSAwLFxuICAgICAgICAgICAgbWF4QXV0byxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQgPSAnaW5uZXInLFxuICAgICAgICAgICAgdGl0bGVDYXB0aW9uLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICByZXF1aXJlZCA9IGZhbHNlLFxuICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnQgPSAncmlnaHQnLFxuICAgICAgICAgICAgb3B0aW9uYWwgPSBmYWxzZSxcbiAgICAgICAgICAgIGNsZWFyLFxuICAgICAgICAgICAgaGFzRGl2aWRlcixcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBzdHlsZSxcbiAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgcm93cyxcbiAgICAgICAgICAgIGNvbHMsXG4gICAgICAgICAgICBoaW50VHJpZ2dlciA9ICdob3ZlcicsXG4gICAgICAgICAgICBoaW50VGV4dCxcbiAgICAgICAgICAgIGhpbnRWaWV3ID0gJ2RlZmF1bHQnLFxuICAgICAgICAgICAgaGludFNpemUgPSAnbScsXG4gICAgICAgICAgICBoaW50VGFyZ2V0SWNvbixcbiAgICAgICAgICAgIGhpbnRQbGFjZW1lbnQgPSAnYXV0bycsXG4gICAgICAgICAgICBoaW50SGFzQXJyb3csXG4gICAgICAgICAgICBoaW50T2Zmc2V0ID0gSElOVF9ERUZBVUxUX09GRlNFVCxcbiAgICAgICAgICAgIGhpbnRXaWR0aCxcbiAgICAgICAgICAgIGhpbnRDb250ZW50TGVmdCxcbiAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICB9ID0gcHJvcHM7XG5cbiAgICAgICAgY29uc3QgW2lzSGludFZpc2libGUsIHNldElzSGludFZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgICAgICBjb25zdCBbaGVscGVyV2lkdGgsIHNldEhlbHBlcldpZHRoXSA9IHVzZVN0YXRlPHN0cmluZz4od2lkdGggPyBgJHt3aWR0aH1yZW1gIDogJzEwMCUnKTtcbiAgICAgICAgY29uc3QgW2ZvY3VzZWQsIHNldEZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgICAgICBjb25zdCBbdW5jb250cm9sbGVkVmFsdWUsIHNldFVuY29udHJvbGxlZFZhbHVlXSA9IHVzZVN0YXRlPHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcblxuICAgICAgICBjb25zdCBvdXRlclJlZiA9IGNyZWF0ZVJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PigpO1xuXG4gICAgICAgIGNvbnN0IGhpbnRSZWYgPSB1c2VPdXRzaWRlQ2xpY2s8SFRNTERpdkVsZW1lbnQ+KCgpID0+IHtcbiAgICAgICAgICAgIHNldElzSGludFZpc2libGUoZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgaGludElubmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICAgICAgY29uc3QgaGludEZvcmtSZWYgPSB1c2VGb3JrUmVmKGhpbnRSZWYsIGhpbnRJbm5lclJlZik7XG5cbiAgICAgICAgY29uc3QgaW5uZXJPcHRpb25hbCA9IHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbDtcbiAgICAgICAgY29uc3QgaGFzSGVscGVyID0gQm9vbGVhbihsZWZ0SGVscGVyIHx8IHJpZ2h0SGVscGVyIHx8IGhlbHBlclRleHQpO1xuICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gQm9vbGVhbihsYWJlbCAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyk7XG4gICAgICAgIGNvbnN0IGhhc0lubmVyTGFiZWwgPSBCb29sZWFuKGxhYmVsICYmIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmIHNpemUgIT09ICd4cycpO1xuICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaGFzT3V0ZXJMYWJlbDtcblxuICAgICAgICBjb25zdCBvdmVycmlkZGVuVmlldyA9IHN0YXR1cyAhPT0gdW5kZWZpbmVkID8gZmFsbGJhY2tTdGF0dXNNYXBbc3RhdHVzXSA6IHZpZXc7XG4gICAgICAgIGNvbnN0IHRleHRhcmVhSGVscGVySWQgPSBpZCA/IGAke2lkfS1oZWxwZXJgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBhcHBseUN1c3RvbVdpZHRoID0gcmVzaXplICE9PSAnaG9yaXpvbnRhbCcgJiYgcmVzaXplICE9PSAnYm90aCcgJiYgIWNvbHM7XG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyTGFiZWwgPSBoYXNJbm5lckxhYmVsID8gbGFiZWwgOiBwbGFjZWhvbGRlcjtcblxuICAgICAgICBjb25zdCBjbGVhckNsYXNzID0gY2xlYXIgPyBjbGFzc2VzLmNsZWFyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNIaW50Q2xhc3MgPSBoaW50VGV4dCA/IGNsYXNzZXMuaGFzSGludCA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgaGFzUmlnaHRDb250ZW50Q2xhc3MgPSBjb250ZW50UmlnaHQgPyBjbGFzc2VzLmhhc1JpZ2h0Q29udGVudCA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgaGFzRGl2aWRlckNsYXNzID0gaGFzRGl2aWRlciA/IGNsYXNzZXMuaGFzRGl2aWRlciA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyA9IHJlcXVpcmVkUGxhY2VtZW50ID09PSAncmlnaHQnID8gY2xhc3Nlcy5yZXF1aXJlZEFsaWduUmlnaHQgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgY29uc3QgaGFuZGxlSGludFNob3cgPSAoKSA9PiBzZXRJc0hpbnRWaXNpYmxlKHRydWUpO1xuICAgICAgICBjb25zdCBoYW5kbGVIaW50SGlkZSA9ICgpID0+IHNldElzSGludFZpc2libGUoZmFsc2UpO1xuICAgICAgICBjb25zdCBoYW5kbGVIaW50Q2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWhpbnRUZXh0IHx8IGhpbnRUcmlnZ2VyICE9PSAnY2xpY2snKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldElzUG9wb3ZlciA9IGV2ZW50LnRhcmdldCA9PT0gaGludElubmVyUmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICBjb25zdCByb290SGFzVGFyZ2V0ID0gaGludElubmVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KTtcblxuICAgICAgICAgICAgaWYgKCF0YXJnZXRJc1BvcG92ZXIgJiYgIXJvb3RIYXNUYXJnZXQpIHtcbiAgICAgICAgICAgICAgICBzZXRJc0hpbnRWaXNpYmxlKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHVzZVJlc2l6ZU9ic2VydmVyKG91dGVyUmVmLCAoY3VycmVudEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgd2lkdGg6IGlubGluZVdpZHRoIH0gPSBjdXJyZW50RWxlbWVudC5zdHlsZTtcblxuICAgICAgICAgICAgaWYgKGlubGluZVdpZHRoIHx8IGNvbHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHdpZHRoOiBlbGVtZW50V2lkdGggfSA9IGN1cnJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIHNldEhlbHBlcldpZHRoKGAke2VsZW1lbnRXaWR0aCAvIFJPT1RfRk9OVF9TSVpFfXJlbWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB1c2VBdXRvUmVzaXplKGF1dG9SZXNpemUgfHwgQm9vbGVhbihjbGVhciksIG91dGVyUmVmLCB2YWx1ZSwgbWluQXV0bywgbWF4QXV0byk7XG5cbiAgICAgICAgY29uc3Qgb25Gb2N1c0hhbmRsZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkKHRydWUpO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgY29uc3Qgb25CbHVySGFuZGxlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgICAgIHNldEZvY3VzZWQoZmFsc2UpO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgY29uc3Qgb25DaGFuZ2VIYW5kbGVyID0gdXNlQ2FsbGJhY2soXG4gICAgICAgICAgICAoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSU5GTzog0JTQu9GPINC60YDQsNC50L3QtSDRgNC10LTQutC40YUg0LrQtdC50YHQvtCyLCDQutC+0LPQtNCwIHZhbHVlINGB0L3QsNGA0YPQttC4INC90LUg0LrQvtC90YLRgNC+0LvQuNGA0YPQtdGC0YHRj1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFVuY29udHJvbGxlZFZhbHVlKGV2ZW50Py50YXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFt2YWx1ZSwgb25DaGFuZ2VdLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGhhbmRsZVRleHRBcmVhRm9jdXMgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVhZE9ubHkgfHwgZGlzYWJsZWQgfHwgIW91dGVyUmVmPy5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBvdXRlclJlZi5jdXJyZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgbGVmdDogb3V0ZXJSZWYuY3VycmVudC5vZmZzZXRMZWZ0LFxuICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBvdXRlclJlZi5jdXJyZW50LmZvY3VzKCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZHluYW1pY0xhYmVsQ2xhc3NlcyA9IGdldER5bmFtaWNMYWJlbENsYXNzZXMoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICByZWFkT25seSxcbiAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUgfHwgdW5jb250cm9sbGVkVmFsdWUgfHwgZGVmYXVsdFZhbHVlLFxuICAgICAgICAgICAgICAgIHJvd3MsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZm9jdXNlZCxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBvcHRpb25hbFRleHROb2RlID0gaW5uZXJPcHRpb25hbCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRPcHRpb25hbFRleHQgaW5oZXJpdEZvbnQ9eyFoYXNPdXRlckxhYmVsfT5cbiAgICAgICAgICAgICAgICB7Qm9vbGVhbihoYXNQbGFjZWhvbGRlck9wdGlvbmFsID8gcGxhY2Vob2xkZXJMYWJlbCA6IGxhYmVsKSAmJiAnXFx4YTAnfVxuICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHR9XG4gICAgICAgICAgICA8L1N0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgKSA6IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxSb290XG4gICAgICAgICAgICAgICAgdmlldz17b3ZlcnJpZGRlblZpZXd9XG4gICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgIGNsZWFyPXtjbGVhcn1cbiAgICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogaGVscGVyV2lkdGgsIC4uLnN0eWxlIH19XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChjbGVhckNsYXNzLCBoYXNEaXZpZGVyQ2xhc3MsIGhhc0hpbnRDbGFzcywgY2xhc3NOYW1lKX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVUZXh0QXJlYUZvY3VzfVxuICAgICAgICAgICAgICAgIHsuLi4oaGludFRleHQgJiYgeyBoaW50VmlldywgaGludFNpemUgfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgeyhoYXNPdXRlckxhYmVsIHx8IHRpdGxlQ2FwdGlvbikgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8T3V0ZXJMYWJlbFdyYXBwZXIgaXNJbm5uZXJMYWJlbD17bGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcid9PlxuICAgICAgICAgICAgICAgICAgICAgICAge2hhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbmRpY2F0b3JXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkTGFiZWw+e2xhYmVsfTwvU3R5bGVkTGFiZWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2hpbnRUZXh0ICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRIaW50V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SGludENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2hpbnRGb3JrUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGV4dD17aGludFRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUcmlnZ2VyPXtoaW50VHJpZ2dlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNIaW50VmlzaWJsZT17aXNIaW50VmlzaWJsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFRhcmdldEljb249e2hpbnRUYXJnZXRJY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50UGxhY2VtZW50PXtoaW50UGxhY2VtZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50SGFzQXJyb3c9e2hpbnRIYXNBcnJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludE9mZnNldD17aGludE9mZnNldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFdpZHRoPXtoaW50V2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRDb250ZW50TGVmdD17aGludENvbnRlbnRMZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50U2hvdz17aGFuZGxlSGludFNob3d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRIaWRlPXtoYW5kbGVIaW50SGlkZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludENsaWNrPXtoYW5kbGVIaW50Q2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSGludFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFBsYWNlbWVudENsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNIaW50Q2xhc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSW5kaWNhdG9yV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7dGl0bGVDYXB0aW9uICYmIDxUaXRsZUNhcHRpb24+e3RpdGxlQ2FwdGlvbn08L1RpdGxlQ2FwdGlvbj59XG4gICAgICAgICAgICAgICAgICAgIDwvT3V0ZXJMYWJlbFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goc3R5bGVkQ29udGFpbmVyLCAuLi5keW5hbWljTGFiZWxDbGFzc2VzKX1cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg9e2hlbHBlcldpZHRofVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXtvbkZvY3VzSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgb25CbHVyPXtvbkJsdXJIYW5kbGVyfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgeyFoYXNPdXRlckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3JlcXVpcmVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvciBjbGFzc05hbWU9e2N4KGNsYXNzZXMuaW5uZXJMYWJlbFBsYWNlbWVudCwgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyl9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aGludFRleHQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSGludFdyYXBwZXIgY2xhc3NOYW1lPXtjbGFzc2VzLmlubmVyTGFiZWxQbGFjZW1lbnR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhpbnRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2hpbnRGb3JrUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRUZXh0PXtoaW50VGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VHJpZ2dlcj17aGludFRyaWdnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNIaW50VmlzaWJsZT17aXNIaW50VmlzaWJsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50VGFyZ2V0SWNvbj17aGludFRhcmdldEljb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGludFBsYWNlbWVudD17aGludFBsYWNlbWVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50SGFzQXJyb3c9e2hpbnRIYXNBcnJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaW50T2Zmc2V0PXtoaW50T2Zmc2V0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRXaWR0aD17aGludFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpbnRDb250ZW50TGVmdD17aGludENvbnRlbnRMZWZ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUhpbnRTaG93PXtoYW5kbGVIaW50U2hvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVIaW50SGlkZT17aGFuZGxlSGludEhpZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlSGludENsaWNrPXtoYW5kbGVIaW50Q2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEhpbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge2NvbnRlbnRSaWdodCAmJiA8U3R5bGVkQ29udGVudD57Y29udGVudFJpZ2h0fTwvU3R5bGVkQ29udGVudD59XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYVdyYXBwZXIgY2xhc3NOYW1lPXtzdHlsZWRUZXh0QXJlYVdyYXBwZXJ9IGhhc0hlbHBlcj17aGFzSGVscGVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goc3R5bGVkVGV4dEFyZWEsIGhhc1JpZ2h0Q29udGVudENsYXNzKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ29udGVudFJpZ2h0PXtCb29sZWFuKGNvbnRlbnRSaWdodCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzSGVscGVyPXtoYXNIZWxwZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbHlDdXN0b21XaWR0aD17YXBwbHlDdXN0b21XaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e21lcmdlUmVmcyhvdXRlclJlZiwgaW5uZXJSZWYpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9e2F1dG9SZXNpemUgfHwgQm9vbGVhbihjbGVhcikgPyBtaW5BdXRvIDogaGVpZ2h0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJMYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXt0ZXh0YXJlYUhlbHBlcklkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xzPXtjb2xzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2l6ZT17cmVzaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZUhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFRleHRBcmVhV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAge2hhc0hlbHBlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSGVscGVycyBjbGFzc05hbWU9e3N0eWxlZEhlbHBlcnN9IGlkPXt0ZXh0YXJlYUhlbHBlcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KGxlZnRIZWxwZXIgfHwgaGVscGVyVGV4dCkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkTGVmdEhlbHBlcj57bGVmdEhlbHBlciB8fCBoZWxwZXJUZXh0fTwvU3R5bGVkTGVmdEhlbHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyaWdodEhlbHBlciAmJiA8U3R5bGVkUmlnaHRIZWxwZXI+e3JpZ2h0SGVscGVyfTwvU3R5bGVkUmlnaHRIZWxwZXI+fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRIZWxwZXJzPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICB7cGxhY2Vob2xkZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkUGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNDb250ZW50UmlnaHQ9e0Jvb2xlYW4oY29udGVudFJpZ2h0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlZFBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxGb3I9e2lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlckxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHshaGFzT3V0ZXJMYWJlbCAmJiBvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRQbGFjZWhvbGRlcj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvUm9vdD5cbiAgICAgICAgKTtcbiAgICB9KTtcblxuZXhwb3J0IGNvbnN0IHRleHRBcmVhQ29uZmlnID0ge1xuICAgIG5hbWU6ICdUZXh0QXJlYScsXG4gICAgdGFnOiAnZGl2JyxcbiAgICBsYXlvdXQ6IHRleHRBcmVhUm9vdCxcbiAgICBiYXNlLFxuICAgIHZhcmlhdGlvbnM6IHtcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgY3NzOiBzaXplQ1NTLFxuICAgICAgICB9LFxuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgICBjc3M6IHZpZXdDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGNsZWFyOiB7XG4gICAgICAgICAgICBjc3M6IGNsZWFyQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICBjc3M6IGRpc2FibGVkQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlYWRPbmx5OiB7XG4gICAgICAgICAgICBhdHRyczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgaGludFZpZXc6IHtcbiAgICAgICAgICAgIGNzczogaGludFZpZXdDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGhpbnRTaXplOiB7XG4gICAgICAgICAgICBjc3M6IGhpbnRTaXplQ1NTLFxuICAgICAgICB9LFxuICAgIH0sXG4gICAgZGVmYXVsdHM6IHtcbiAgICAgICAgc2l6ZTogJ20nLFxuICAgICAgICB2aWV3OiAncHJpbWFyeScsXG4gICAgfSxcbn07XG4iXX0= */"));
43
47
 
44
48
  // TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c
45
49
  var fallbackStatusMap = {
@@ -48,6 +52,7 @@ var fallbackStatusMap = {
48
52
  warning: 'warning',
49
53
  error: 'negative'
50
54
  };
55
+ var HINT_DEFAULT_OFFSET = [0, 0];
51
56
 
52
57
  // TODO: Перенести этот метод в файл applyDynamicLabel.ts
53
58
  export var getDynamicLabelClasses = function getDynamicLabelClasses(props, focused) {
@@ -84,6 +89,7 @@ export var textAreaRoot = function textAreaRoot(Root) {
84
89
  label = props.label,
85
90
  _props$labelPlacement = props.labelPlacement,
86
91
  labelPlacement = _props$labelPlacement === void 0 ? 'inner' : _props$labelPlacement,
92
+ titleCaption = props.titleCaption,
87
93
  placeholder = props.placeholder,
88
94
  defaultValue = props.defaultValue,
89
95
  height = props.height,
@@ -106,21 +112,45 @@ export var textAreaRoot = function textAreaRoot(Root) {
106
112
  readOnly = props.readOnly,
107
113
  rows = props.rows,
108
114
  cols = props.cols,
115
+ _props$hintTrigger = props.hintTrigger,
116
+ hintTrigger = _props$hintTrigger === void 0 ? 'hover' : _props$hintTrigger,
117
+ hintText = props.hintText,
118
+ _props$hintView = props.hintView,
119
+ hintView = _props$hintView === void 0 ? 'default' : _props$hintView,
120
+ _props$hintSize = props.hintSize,
121
+ hintSize = _props$hintSize === void 0 ? 'm' : _props$hintSize,
122
+ hintTargetIcon = props.hintTargetIcon,
123
+ _props$hintPlacement = props.hintPlacement,
124
+ hintPlacement = _props$hintPlacement === void 0 ? 'auto' : _props$hintPlacement,
125
+ hintHasArrow = props.hintHasArrow,
126
+ _props$hintOffset = props.hintOffset,
127
+ hintOffset = _props$hintOffset === void 0 ? HINT_DEFAULT_OFFSET : _props$hintOffset,
128
+ hintWidth = props.hintWidth,
129
+ hintContentLeft = props.hintContentLeft,
109
130
  onChange = props.onChange,
110
131
  rest = _objectWithoutProperties(props, _excluded);
111
- var _useState = useState(width ? "".concat(width, "rem") : '100%'),
132
+ var _useState = useState(false),
112
133
  _useState2 = _slicedToArray(_useState, 2),
113
- helperWidth = _useState2[0],
114
- setHelperWidth = _useState2[1];
115
- var _useState3 = useState(false),
134
+ isHintVisible = _useState2[0],
135
+ setIsHintVisible = _useState2[1];
136
+ var _useState3 = useState(width ? "".concat(width, "rem") : '100%'),
116
137
  _useState4 = _slicedToArray(_useState3, 2),
117
- focused = _useState4[0],
118
- setFocused = _useState4[1];
119
- var _useState5 = useState(),
138
+ helperWidth = _useState4[0],
139
+ setHelperWidth = _useState4[1];
140
+ var _useState5 = useState(false),
120
141
  _useState6 = _slicedToArray(_useState5, 2),
121
- uncontrolledValue = _useState6[0],
122
- setUncontrolledValue = _useState6[1];
142
+ focused = _useState6[0],
143
+ setFocused = _useState6[1];
144
+ var _useState7 = useState(),
145
+ _useState8 = _slicedToArray(_useState7, 2),
146
+ uncontrolledValue = _useState8[0],
147
+ setUncontrolledValue = _useState8[1];
123
148
  var outerRef = /*#__PURE__*/createRef();
149
+ var hintRef = useOutsideClick(function () {
150
+ setIsHintVisible(false);
151
+ });
152
+ var hintInnerRef = useRef(null);
153
+ var hintForkRef = useForkRef(hintRef, hintInnerRef);
124
154
  var innerOptional = required ? false : optional;
125
155
  var hasHelper = Boolean(leftHelper || rightHelper || helperText);
126
156
  var hasOuterLabel = Boolean(label && labelPlacement === 'outer');
@@ -131,9 +161,28 @@ export var textAreaRoot = function textAreaRoot(Root) {
131
161
  var applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;
132
162
  var placeholderLabel = hasInnerLabel ? label : placeholder;
133
163
  var clearClass = clear ? classes.clear : undefined;
164
+ var hasHintClass = hintText ? classes.hasHint : undefined;
134
165
  var hasRightContentClass = contentRight ? classes.hasRightContent : undefined;
135
166
  var hasDividerClass = hasDivider ? classes.hasDivider : undefined;
136
- var requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;
167
+ var requiredPlacementClass = requiredPlacement === 'right' ? classes.requiredAlignRight : undefined;
168
+ var handleHintShow = function handleHintShow() {
169
+ return setIsHintVisible(true);
170
+ };
171
+ var handleHintHide = function handleHintHide() {
172
+ return setIsHintVisible(false);
173
+ };
174
+ var handleHintClick = function handleHintClick(event) {
175
+ var _hintInnerRef$current;
176
+ if (!hintText || hintTrigger !== 'click') {
177
+ return;
178
+ }
179
+ event.stopPropagation();
180
+ var targetIsPopover = event.target === hintInnerRef.current;
181
+ var rootHasTarget = (_hintInnerRef$current = hintInnerRef.current) === null || _hintInnerRef$current === void 0 ? void 0 : _hintInnerRef$current.contains(event.target);
182
+ if (!targetIsPopover && !rootHasTarget) {
183
+ setIsHintVisible(true);
184
+ }
185
+ };
137
186
  useResizeObserver(outerRef, function (currentElement) {
138
187
  var inlineWidth = currentElement.style.width;
139
188
  if (inlineWidth || cols) {
@@ -175,8 +224,10 @@ export var textAreaRoot = function textAreaRoot(Root) {
175
224
  value: value || uncontrolledValue || defaultValue,
176
225
  rows: rows
177
226
  }, focused);
178
- var optionalTextNode = innerOptional ? /*#__PURE__*/React.createElement(StyledOptionalText, null, Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\xa0', optionalText) : null;
179
- return /*#__PURE__*/React.createElement(Root, {
227
+ var optionalTextNode = innerOptional ? /*#__PURE__*/React.createElement(StyledOptionalText, {
228
+ inheritFont: !hasOuterLabel
229
+ }, Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\xa0', optionalText) : null;
230
+ return /*#__PURE__*/React.createElement(Root, _extends({
180
231
  view: overriddenView,
181
232
  size: size,
182
233
  disabled: disabled,
@@ -185,18 +236,53 @@ export var textAreaRoot = function textAreaRoot(Root) {
185
236
  style: _objectSpread({
186
237
  width: helperWidth
187
238
  }, style),
188
- className: cx(clearClass, hasDividerClass, className),
239
+ className: cx(clearClass, hasDividerClass, hasHintClass, className),
189
240
  onClick: handleTextAreaFocus
190
- }, hasOuterLabel && /*#__PURE__*/React.createElement(StyledLabel, null, required && /*#__PURE__*/React.createElement(StyledIndicator, {
191
- className: cx(classes.outerLabelPlacement, requiredPlacementClass)
192
- }), label, optionalTextNode), /*#__PURE__*/React.createElement(StyledContainer, {
241
+ }, hintText && {
242
+ hintView: hintView,
243
+ hintSize: hintSize
244
+ }), (hasOuterLabel || titleCaption) && /*#__PURE__*/React.createElement(OuterLabelWrapper, {
245
+ isInnnerLabel: labelPlacement === 'inner'
246
+ }, hasOuterLabel && /*#__PURE__*/React.createElement(StyledIndicatorWrapper, null, /*#__PURE__*/React.createElement(StyledLabel, null, label), hintText && /*#__PURE__*/React.createElement(StyledHintWrapper, null, /*#__PURE__*/React.createElement(HintComponent, {
247
+ ref: hintForkRef,
248
+ hintText: hintText,
249
+ hintTrigger: hintTrigger,
250
+ isHintVisible: isHintVisible,
251
+ hintTargetIcon: hintTargetIcon,
252
+ hintPlacement: hintPlacement,
253
+ hintHasArrow: hintHasArrow,
254
+ hintOffset: hintOffset,
255
+ hintWidth: hintWidth,
256
+ hintContentLeft: hintContentLeft,
257
+ handleHintShow: handleHintShow,
258
+ handleHintHide: handleHintHide,
259
+ handleHintClick: handleHintClick
260
+ })), required && /*#__PURE__*/React.createElement(StyledIndicator, {
261
+ className: cx(classes.outerLabelPlacement, requiredPlacementClass, hasHintClass)
262
+ }), optionalTextNode), titleCaption && /*#__PURE__*/React.createElement(TitleCaption, null, titleCaption)), /*#__PURE__*/React.createElement(StyledContainer, {
193
263
  className: cx.apply(void 0, [styledContainer].concat(_toConsumableArray(dynamicLabelClasses))),
194
264
  width: helperWidth,
195
265
  onFocus: onFocusHandler,
196
266
  onBlur: onBlurHandler
197
- }, required && !hasOuterLabel && /*#__PURE__*/React.createElement(StyledIndicator, {
267
+ }, !hasOuterLabel && /*#__PURE__*/React.createElement(React.Fragment, null, required && /*#__PURE__*/React.createElement(StyledIndicator, {
198
268
  className: cx(classes.innerLabelPlacement, requiredPlacementClass)
199
- }), contentRight && /*#__PURE__*/React.createElement(StyledContent, null, contentRight), /*#__PURE__*/React.createElement(StyledTextAreaWrapper, {
269
+ }), hintText && /*#__PURE__*/React.createElement(StyledHintWrapper, {
270
+ className: classes.innerLabelPlacement
271
+ }, /*#__PURE__*/React.createElement(HintComponent, {
272
+ ref: hintForkRef,
273
+ hintText: hintText,
274
+ hintTrigger: hintTrigger,
275
+ isHintVisible: isHintVisible,
276
+ hintTargetIcon: hintTargetIcon,
277
+ hintPlacement: hintPlacement,
278
+ hintHasArrow: hintHasArrow,
279
+ hintOffset: hintOffset,
280
+ hintWidth: hintWidth,
281
+ hintContentLeft: hintContentLeft,
282
+ handleHintShow: handleHintShow,
283
+ handleHintHide: handleHintHide,
284
+ handleHintClick: handleHintClick
285
+ }))), contentRight && /*#__PURE__*/React.createElement(StyledContent, null, contentRight), /*#__PURE__*/React.createElement(StyledTextAreaWrapper, {
200
286
  className: styledTextAreaWrapper,
201
287
  hasHelper: hasHelper
202
288
  }, /*#__PURE__*/React.createElement(StyledTextArea, _extends({
@@ -250,6 +336,12 @@ export var textAreaConfig = {
250
336
  },
251
337
  readOnly: {
252
338
  attrs: true
339
+ },
340
+ hintView: {
341
+ css: hintViewCSS
342
+ },
343
+ hintSize: {
344
+ css: hintSizeCSS
253
345
  }
254
346
  },
255
347
  defaults: {