@salutejs/plasma-new-hope 0.145.0-canary.1433.10848014265.0 → 0.146.0-canary.1421.10850820002.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (220) hide show
  1. package/cjs/components/DatePicker/RangeDate/RangeDate.css +3 -2
  2. package/cjs/components/DatePicker/RangeDate/RangeDate.js +37 -2
  3. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  4. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +7 -1
  5. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  6. package/cjs/components/DatePicker/RangeDate/{RangeDate.styles_ww61h9.css → RangeDate.styles_z62207.css} +1 -0
  7. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +3 -2
  8. package/cjs/components/DatePicker/SingleDate/SingleDate.css +3 -2
  9. package/cjs/components/DatePicker/SingleDate/SingleDate.js +25 -2
  10. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  11. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +7 -1
  12. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  13. package/cjs/components/DatePicker/SingleDate/{SingleDate.styles_qt45m5.css → SingleDate.styles_1ecqwdo.css} +1 -0
  14. package/cjs/components/DatePicker/utils/setInitValue.js +12 -0
  15. package/cjs/components/DatePicker/utils/setInitValue.js.map +1 -0
  16. package/cjs/components/Slider/Slider.css +12 -10
  17. package/cjs/components/Slider/Slider.js +19 -6
  18. package/cjs/components/Slider/Slider.js.map +1 -1
  19. package/cjs/components/Slider/components/Double/Double.css +6 -5
  20. package/cjs/components/Slider/components/Double/Double.js +36 -2
  21. package/cjs/components/Slider/components/Double/Double.js.map +1 -1
  22. package/cjs/components/Slider/components/Double/Double.styles.js +7 -1
  23. package/cjs/components/Slider/components/Double/Double.styles.js.map +1 -1
  24. package/cjs/components/Slider/components/Double/{Double.styles_1jhda4u.css → Double.styles_1n0bups.css} +1 -0
  25. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +56 -0
  26. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -0
  27. package/cjs/components/Slider/components/Single/Single.css +6 -5
  28. package/cjs/components/Slider/components/Single/Single.js +35 -12
  29. package/cjs/components/Slider/components/Single/Single.js.map +1 -1
  30. package/cjs/components/Slider/components/Single/Single.styles.js +7 -1
  31. package/cjs/components/Slider/components/Single/Single.styles.js.map +1 -1
  32. package/{es/components/Slider/components/Single/Single.styles_1r9f1e0.css → cjs/components/Slider/components/Single/Single.styles_7gcb47.css} +1 -0
  33. package/cjs/components/Slider/utils/index.js +6 -0
  34. package/cjs/components/Slider/utils/index.js.map +1 -1
  35. package/cjs/components/TextArea/TextArea.js +3 -2
  36. package/cjs/components/TextArea/TextArea.js.map +1 -1
  37. package/cjs/hooks/useForm.js +124 -0
  38. package/cjs/hooks/useForm.js.map +1 -0
  39. package/cjs/index.css +18 -14
  40. package/cjs/index.js +5 -0
  41. package/cjs/index.js.map +1 -1
  42. package/cjs/utils/index.js.map +1 -1
  43. package/cjs/utils/setRefList.js +28 -0
  44. package/cjs/utils/setRefList.js.map +1 -0
  45. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +37 -2
  46. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +22 -10
  47. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +25 -2
  48. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +23 -10
  49. package/emotion/cjs/components/DatePicker/utils/setInitValue.js +11 -0
  50. package/emotion/cjs/components/Slider/Slider.js +15 -6
  51. package/emotion/cjs/components/Slider/components/Double/Double.js +36 -2
  52. package/emotion/cjs/components/Slider/components/Double/Double.styles.js +28 -15
  53. package/emotion/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +60 -0
  54. package/emotion/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +5 -0
  55. package/emotion/cjs/components/Slider/components/Single/Single.js +30 -7
  56. package/emotion/cjs/components/Slider/components/Single/Single.styles.js +26 -13
  57. package/emotion/cjs/components/Slider/components/index.js +11 -0
  58. package/emotion/cjs/components/Slider/utils/index.js +6 -1
  59. package/emotion/cjs/components/TextArea/TextArea.js +3 -3
  60. package/emotion/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +195 -0
  61. package/emotion/cjs/hooks/index.js +8 -1
  62. package/emotion/cjs/hooks/useForm.js +130 -0
  63. package/emotion/cjs/utils/index.js +15 -0
  64. package/emotion/cjs/utils/setRefList.js +27 -0
  65. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +38 -3
  66. package/emotion/es/components/DatePicker/RangeDate/RangeDate.styles.js +21 -9
  67. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +26 -3
  68. package/emotion/es/components/DatePicker/SingleDate/SingleDate.styles.js +22 -9
  69. package/emotion/es/components/DatePicker/utils/setInitValue.js +5 -0
  70. package/emotion/es/components/Slider/Slider.js +16 -6
  71. package/emotion/es/components/Slider/components/Double/Double.js +38 -4
  72. package/emotion/es/components/Slider/components/Double/Double.styles.js +27 -14
  73. package/emotion/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +51 -0
  74. package/emotion/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +1 -0
  75. package/emotion/es/components/Slider/components/Single/Single.js +32 -9
  76. package/emotion/es/components/Slider/components/Single/Single.styles.js +25 -12
  77. package/emotion/es/components/Slider/components/index.js +1 -0
  78. package/emotion/es/components/Slider/utils/index.js +5 -0
  79. package/emotion/es/components/TextArea/TextArea.js +4 -4
  80. package/emotion/es/examples/plasma_b2c/components/Form/Form.stories.tsx +195 -0
  81. package/emotion/es/hooks/index.js +2 -1
  82. package/emotion/es/hooks/useForm.js +121 -0
  83. package/emotion/es/utils/index.js +1 -0
  84. package/emotion/es/utils/setRefList.js +20 -0
  85. package/es/components/DatePicker/RangeDate/RangeDate.css +3 -2
  86. package/es/components/DatePicker/RangeDate/RangeDate.js +38 -3
  87. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  88. package/es/components/DatePicker/RangeDate/RangeDate.styles.js +7 -2
  89. package/es/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  90. package/es/components/DatePicker/RangeDate/{RangeDate.styles_ww61h9.css → RangeDate.styles_z62207.css} +1 -0
  91. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +3 -2
  92. package/es/components/DatePicker/SingleDate/SingleDate.css +3 -2
  93. package/es/components/DatePicker/SingleDate/SingleDate.js +26 -3
  94. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  95. package/es/components/DatePicker/SingleDate/SingleDate.styles.js +7 -2
  96. package/es/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  97. package/es/components/DatePicker/SingleDate/{SingleDate.styles_qt45m5.css → SingleDate.styles_1ecqwdo.css} +1 -0
  98. package/es/components/DatePicker/utils/setInitValue.js +8 -0
  99. package/es/components/DatePicker/utils/setInitValue.js.map +1 -0
  100. package/es/components/Slider/Slider.css +12 -10
  101. package/es/components/Slider/Slider.js +20 -7
  102. package/es/components/Slider/Slider.js.map +1 -1
  103. package/es/components/Slider/components/Double/Double.css +6 -5
  104. package/es/components/Slider/components/Double/Double.js +38 -4
  105. package/es/components/Slider/components/Double/Double.js.map +1 -1
  106. package/es/components/Slider/components/Double/Double.styles.js +7 -2
  107. package/es/components/Slider/components/Double/Double.styles.js.map +1 -1
  108. package/es/components/Slider/components/Double/{Double.styles_1jhda4u.css → Double.styles_1n0bups.css} +1 -0
  109. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +52 -0
  110. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -0
  111. package/es/components/Slider/components/Single/Single.css +6 -5
  112. package/es/components/Slider/components/Single/Single.js +32 -9
  113. package/es/components/Slider/components/Single/Single.js.map +1 -1
  114. package/es/components/Slider/components/Single/Single.styles.js +7 -2
  115. package/es/components/Slider/components/Single/Single.styles.js.map +1 -1
  116. package/{cjs/components/Slider/components/Single/Single.styles_1r9f1e0.css → es/components/Slider/components/Single/Single.styles_7gcb47.css} +1 -0
  117. package/es/components/Slider/utils/index.js +6 -1
  118. package/es/components/Slider/utils/index.js.map +1 -1
  119. package/es/components/TextArea/TextArea.js +3 -2
  120. package/es/components/TextArea/TextArea.js.map +1 -1
  121. package/es/hooks/useForm.js +120 -0
  122. package/es/hooks/useForm.js.map +1 -0
  123. package/es/index.css +18 -14
  124. package/es/index.js +2 -0
  125. package/es/index.js.map +1 -1
  126. package/es/utils/index.js.map +1 -1
  127. package/es/utils/setRefList.js +23 -0
  128. package/es/utils/setRefList.js.map +1 -0
  129. package/package.json +3 -2
  130. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +37 -2
  131. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +5 -2
  132. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +25 -2
  133. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +5 -2
  134. package/styled-components/cjs/components/DatePicker/utils/setInitValue.js +11 -0
  135. package/styled-components/cjs/components/Slider/Slider.js +15 -6
  136. package/styled-components/cjs/components/Slider/components/Double/Double.js +36 -2
  137. package/styled-components/cjs/components/Slider/components/Double/Double.styles.js +5 -2
  138. package/styled-components/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +60 -0
  139. package/styled-components/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +5 -0
  140. package/styled-components/cjs/components/Slider/components/Single/Single.js +30 -7
  141. package/styled-components/cjs/components/Slider/components/Single/Single.styles.js +5 -2
  142. package/styled-components/cjs/components/Slider/components/index.js +11 -0
  143. package/styled-components/cjs/components/Slider/utils/index.js +6 -1
  144. package/styled-components/cjs/components/TextArea/TextArea.js +2 -2
  145. package/styled-components/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +195 -0
  146. package/styled-components/cjs/hooks/index.js +8 -1
  147. package/styled-components/cjs/hooks/useForm.js +130 -0
  148. package/styled-components/cjs/utils/index.js +15 -0
  149. package/styled-components/cjs/utils/setRefList.js +27 -0
  150. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +38 -3
  151. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.styles.js +4 -1
  152. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +26 -3
  153. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.styles.js +4 -1
  154. package/styled-components/es/components/DatePicker/utils/setInitValue.js +5 -0
  155. package/styled-components/es/components/Slider/Slider.js +16 -6
  156. package/styled-components/es/components/Slider/components/Double/Double.js +38 -4
  157. package/styled-components/es/components/Slider/components/Double/Double.styles.js +4 -1
  158. package/styled-components/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +51 -0
  159. package/styled-components/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js +1 -0
  160. package/styled-components/es/components/Slider/components/Single/Single.js +32 -9
  161. package/styled-components/es/components/Slider/components/Single/Single.styles.js +4 -1
  162. package/styled-components/es/components/Slider/components/index.js +1 -0
  163. package/styled-components/es/components/Slider/utils/index.js +5 -0
  164. package/styled-components/es/components/TextArea/TextArea.js +3 -3
  165. package/styled-components/es/examples/plasma_b2c/components/Form/Form.stories.tsx +195 -0
  166. package/styled-components/es/hooks/index.js +2 -1
  167. package/styled-components/es/hooks/useForm.js +121 -0
  168. package/styled-components/es/utils/index.js +1 -0
  169. package/styled-components/es/utils/setRefList.js +20 -0
  170. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +2 -0
  171. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  172. package/types/components/DatePicker/RangeDate/RangeDate.styles.d.ts +1 -0
  173. package/types/components/DatePicker/RangeDate/RangeDate.styles.d.ts.map +1 -1
  174. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +4 -0
  175. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  176. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  177. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts +1 -0
  178. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  179. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
  180. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  181. package/types/components/DatePicker/utils/setInitValue.d.ts +2 -0
  182. package/types/components/DatePicker/utils/setInitValue.d.ts.map +1 -0
  183. package/types/components/Slider/Slider.d.ts.map +1 -1
  184. package/types/components/Slider/Slider.types.d.ts +2 -2
  185. package/types/components/Slider/Slider.types.d.ts.map +1 -1
  186. package/types/components/Slider/components/Double/Double.d.ts.map +1 -1
  187. package/types/components/Slider/components/Double/Double.styles.d.ts +1 -0
  188. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  189. package/types/components/Slider/components/Double/Double.types.d.ts +2 -0
  190. package/types/components/Slider/components/Double/Double.types.d.ts.map +1 -1
  191. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.d.ts +4 -0
  192. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.d.ts.map +1 -0
  193. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.d.ts +5 -0
  194. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.d.ts.map +1 -0
  195. package/types/components/Slider/components/Single/Single.d.ts.map +1 -1
  196. package/types/components/Slider/components/Single/Single.styles.d.ts +1 -0
  197. package/types/components/Slider/components/Single/Single.styles.d.ts.map +1 -1
  198. package/types/components/Slider/components/Single/Single.types.d.ts +3 -1
  199. package/types/components/Slider/components/Single/Single.types.d.ts.map +1 -1
  200. package/types/components/Slider/components/index.d.ts +2 -0
  201. package/types/components/Slider/components/index.d.ts.map +1 -1
  202. package/types/components/Slider/utils/index.d.ts +1 -0
  203. package/types/components/Slider/utils/index.d.ts.map +1 -1
  204. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  205. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +1 -0
  206. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
  207. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts +3 -1
  208. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts.map +1 -1
  209. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +1 -0
  210. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
  211. package/types/examples/plasma_web/components/Slider/Slider.d.ts +3 -1
  212. package/types/examples/plasma_web/components/Slider/Slider.d.ts.map +1 -1
  213. package/types/hooks/index.d.ts +1 -0
  214. package/types/hooks/index.d.ts.map +1 -1
  215. package/types/hooks/useForm.d.ts +10 -0
  216. package/types/hooks/useForm.d.ts.map +1 -0
  217. package/types/utils/index.d.ts +1 -0
  218. package/types/utils/index.d.ts.map +1 -1
  219. package/types/utils/setRefList.d.ts +6 -0
  220. package/types/utils/setRefList.d.ts.map +1 -0
@@ -46,7 +46,7 @@ var innerPlaceholderUp = _TextArea2.classes.innerPlaceholderUp,
46
46
  styledPlaceholder = _TextArea2.classes.styledPlaceholder,
47
47
  styledHelpers = _TextArea2.classes.styledHelpers;
48
48
  var optionalText = 'optional';
49
- var base = /*#__PURE__*/(0, _react2.css)(_mixins.applyDynamicLabel, ";position:relative;box-sizing:border-box;;label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEFyZWEvVGV4dEFyZWEudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlDZ0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0QXJlYS9UZXh0QXJlYS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlU3RhdGUsIGNyZWF0ZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5cbmltcG9ydCB7IGN4IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBSb290UHJvcHMgfSBmcm9tICcuLi8uLi9lbmdpbmVzL3R5cGVzJztcblxuaW1wb3J0IHsgYXBwbHlEeW5hbWljTGFiZWwgfSBmcm9tICcuL21peGlucyc7XG5pbXBvcnQgeyB1c2VBdXRvUmVzaXplLCBST09UX0ZPTlRfU0laRSB9IGZyb20gJy4vaG9va3MnO1xuaW1wb3J0IHtcbiAgICBTdHlsZWRDb250ZW50LFxuICAgIFN0eWxlZEhlbHBlcnMsXG4gICAgU3R5bGVkTGVmdEhlbHBlcixcbiAgICBTdHlsZWRSaWdodEhlbHBlcixcbiAgICBTdHlsZWRMYWJlbCxcbiAgICBTdHlsZWRQbGFjZWhvbGRlcixcbiAgICBTdHlsZWRUZXh0QXJlYSxcbiAgICBTdHlsZWRUZXh0QXJlYVdyYXBwZXIsXG4gICAgU3R5bGVkQ29udGFpbmVyLFxuICAgIFN0eWxlZEluZGljYXRvcixcbiAgICBTdHlsZWRPcHRpb25hbFRleHQsXG59IGZyb20gJy4vVGV4dEFyZWEuc3R5bGVzJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICcuL1RleHRBcmVhLnRva2Vucyc7XG5pbXBvcnQgeyBiYXNlIGFzIHZpZXdDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3ZpZXcvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIHNpemVDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX3NpemUvYmFzZSc7XG5pbXBvcnQgeyBiYXNlIGFzIGRpc2FibGVkQ1NTIH0gZnJvbSAnLi92YXJpYXRpb25zL19kaXNhYmxlZC9iYXNlJztcbmltcG9ydCB0eXBlIHsgVGV4dEFyZWFQcm9wcyB9IGZyb20gJy4vVGV4dEFyZWEudHlwZXMnO1xuXG5jb25zdCB7XG4gICAgaW5uZXJQbGFjZWhvbGRlclVwLFxuICAgIGZvY3VzZWRPdXRlclBsYWNlaG9sZGVyQ29sb3IsXG4gICAgaGlkZVBsYWNlSG9sZGVyLFxuICAgIHN0eWxlZENvbnRhaW5lcixcbiAgICBzdHlsZWRUZXh0QXJlYSxcbiAgICBzdHlsZWRUZXh0QXJlYVdyYXBwZXIsXG4gICAgc3R5bGVkUGxhY2Vob2xkZXIsXG4gICAgc3R5bGVkSGVscGVycyxcbn0gPSBjbGFzc2VzO1xuXG5jb25zdCBvcHRpb25hbFRleHQgPSAnb3B0aW9uYWwnO1xuXG5jb25zdCBiYXNlID0gY3NzYFxuICAgICR7YXBwbHlEeW5hbWljTGFiZWx9O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5gO1xuXG4vLyBUT0RPOiDQo9C00LDQu9C40YLRjCDQv9C+0YHQu9C1INC+0YLQutCw0LfQsCDQvtGCINGB0YLQsNGA0YvRhSDQsdC40LHQu9C40L7RgtC10LogcGxhc21hLXdlYiAvIHBsYXNtYS1iMmNcbmNvbnN0IGZhbGxiYWNrU3RhdHVzTWFwID0ge1xuICAgICcnOiAncHJpbWFyeScsXG4gICAgc3VjY2VzczogJ3Bvc2l0aXZlJyxcbiAgICB3YXJuaW5nOiAnd2FybmluZycsXG4gICAgZXJyb3I6ICduZWdhdGl2ZScsXG59O1xuXG4vLyBUT0RPOiDQn9C10YDQtdC90LXRgdGC0Lgg0Y3RgtC+0YIg0LzQtdGC0L7QtCDQsiDRhNCw0LnQuyBhcHBseUR5bmFtaWNMYWJlbC50c1xuZXhwb3J0IGNvbnN0IGdldER5bmFtaWNMYWJlbENsYXNzZXMgPSAocHJvcHM6IFRleHRBcmVhUHJvcHMsIGZvY3VzZWQ6IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCB7IHJlYWRPbmx5LCBsYWJlbCwgbGFiZWxQbGFjZW1lbnQsIGF1dG9SZXNpemUsIHJvd3MsIHZhbHVlLCBzaXplIH0gPSBwcm9wcztcblxuICAgIC8vINCU0L7QsdCw0LLQuNGC0Ywg0LrQu9Cw0YHRgSDQvtGC0LLQtdGH0LDRjtGJ0LjQuSDQt9CwINC40LfQvNC10L3QtdC90LjQtSDRhtCy0LXRgtCwINC/0LvQtdC50YHRhdC+0LvQtNC10YDQsCDQv9GA0Lgg0YTQvtC60YPRgdC1XG4gICAgY29uc3Qgd2l0aEZvY3VzZWRPdXRlclVwUGxhY2Vob2xkZXIgPVxuICAgICAgICAhcmVhZE9ubHkgJiYgZm9jdXNlZCAmJiAoIWxhYmVsIHx8IGxhYmVsUGxhY2VtZW50ID09PSAnb3V0ZXInKSA/IGZvY3VzZWRPdXRlclBsYWNlaG9sZGVyQ29sb3IgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDQv9C+0LTQvdGP0YLQuNC1INC4INGD0LzQtdC90YzRiNC10L3QuNC1INC/0LvQtdC50YHRhdC+0LvQtNC10YDQsFxuICAgIGNvbnN0IHdpdGhJbm5lclBsYWNlaG9sZGVyVXAgPVxuICAgICAgICBsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJlxuICAgICAgICBsYWJlbCAmJlxuICAgICAgICAhYXV0b1Jlc2l6ZSAmJlxuICAgICAgICAhcm93cyAmJlxuICAgICAgICBzaXplICE9PSAneHMnICYmXG4gICAgICAgICgoIXJlYWRPbmx5ICYmICh2YWx1ZSB8fCBmb2N1c2VkKSkgfHwgKHJlYWRPbmx5ICYmIHZhbHVlKSlcbiAgICAgICAgICAgID8gaW5uZXJQbGFjZWhvbGRlclVwXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIC8vINCU0L7QsdCw0LLQuNGC0Ywg0LrQu9Cw0YHRgSDQvtGC0LLQtdGH0LDRjtGJ0LjQuSDQt9CwINGB0LrRgNGL0YLQuNC1INC/0LvQtdC50YHRhdC+0LvQtNC10YDQsFxuICAgIGNvbnN0IHdpdGhIaWRlUGxhY2Vob2xkZXIgPVxuICAgICAgICAodmFsdWUgJiYgIWxhYmVsKSB8fFxuICAgICAgICAobGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgKChmb2N1c2VkICYmICFyZWFkT25seSkgfHwgdmFsdWUpICYmIGxhYmVsICYmIChyb3dzIHx8IGF1dG9SZXNpemUpKSB8fFxuICAgICAgICAobGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgdmFsdWUpIHx8XG4gICAgICAgIChsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiBzaXplID09PSAneHMnICYmIHZhbHVlKVxuICAgICAgICAgICAgPyBoaWRlUGxhY2VIb2xkZXJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIFt3aXRoRm9jdXNlZE91dGVyVXBQbGFjZWhvbGRlciwgd2l0aElubmVyUGxhY2Vob2xkZXJVcCwgd2l0aEhpZGVQbGFjZWhvbGRlcl07XG59O1xuXG5leHBvcnQgY29uc3QgdGV4dEFyZWFSb290ID0gKFJvb3Q6IFJvb3RQcm9wczxIVE1MVGV4dEFyZWFFbGVtZW50LCBUZXh0QXJlYVByb3BzPikgPT5cbiAgICBmb3J3YXJkUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQsIFRleHRBcmVhUHJvcHM+KChwcm9wcywgaW5uZXJSZWYpID0+IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgaGVscGVyVGV4dCxcbiAgICAgICAgICAgIHN0YXR1cyxcbiAgICAgICAgICAgIHJlc2l6ZSxcbiAgICAgICAgICAgIHJpZ2h0SGVscGVyLFxuICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgIGNvbnRlbnRSaWdodCxcbiAgICAgICAgICAgIGF1dG9SZXNpemUgPSBmYWxzZSxcbiAgICAgICAgICAgIG1pbkF1dG8gPSAwLFxuICAgICAgICAgICAgbWF4QXV0byxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQgPSAnaW5uZXInLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICByZXF1aXJlZCA9IGZhbHNlLFxuICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnQgPSAncmlnaHQnLFxuICAgICAgICAgICAgb3B0aW9uYWwgPSBmYWxzZSxcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBzdHlsZSxcbiAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgcm93cyxcbiAgICAgICAgICAgIGNvbHMsXG4gICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgfSA9IHByb3BzO1xuXG4gICAgICAgIGNvbnN0IFtoZWxwZXJXaWR0aCwgc2V0SGVscGVyV2lkdGhdID0gdXNlU3RhdGU8c3RyaW5nPih3aWR0aCA/IGAke3dpZHRofXJlbWAgOiAnMTAwJScpO1xuICAgICAgICBjb25zdCBbZm9jdXNlZCwgc2V0Rm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgICAgIGNvbnN0IFt1bmNvbnRyb2xsZWRWYWx1ZSwgc2V0VW5jb250cm9sbGVkVmFsdWVdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgICAgIGNvbnN0IG91dGVyUmVmID0gaW5uZXJSZWYgJiYgJ2N1cnJlbnQnIGluIGlubmVyUmVmID8gaW5uZXJSZWYgOiBjcmVhdGVSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4oKTtcblxuICAgICAgICBjb25zdCBpbm5lck9wdGlvbmFsID0gcmVxdWlyZWQgPyBmYWxzZSA6IG9wdGlvbmFsO1xuICAgICAgICBjb25zdCBoYXNIZWxwZXIgPSBCb29sZWFuKGxlZnRIZWxwZXIgfHwgcmlnaHRIZWxwZXIgfHwgaGVscGVyVGV4dCk7XG4gICAgICAgIGNvbnN0IGhhc091dGVyTGFiZWwgPSBCb29sZWFuKGxhYmVsICYmIGxhYmVsUGxhY2VtZW50ID09PSAnb3V0ZXInKTtcbiAgICAgICAgY29uc3QgaGFzSW5uZXJMYWJlbCA9IEJvb2xlYW4obGFiZWwgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgc2l6ZSAhPT0gJ3hzJyk7XG4gICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPSBpbm5lck9wdGlvbmFsICYmICFoYXNPdXRlckxhYmVsO1xuXG4gICAgICAgIGNvbnN0IG92ZXJyaWRkZW5WaWV3ID0gc3RhdHVzICE9PSB1bmRlZmluZWQgPyBmYWxsYmFja1N0YXR1c01hcFtzdGF0dXNdIDogdmlldztcbiAgICAgICAgY29uc3QgdGV4dGFyZWFIZWxwZXJJZCA9IGlkID8gYCR7aWR9LWhlbHBlcmAgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGFwcGx5Q3VzdG9tV2lkdGggPSByZXNpemUgIT09ICdob3Jpem9udGFsJyAmJiByZXNpemUgIT09ICdib3RoJyAmJiAhY29scztcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJMYWJlbCA9IGhhc0lubmVyTGFiZWwgPyBsYWJlbCA6IHBsYWNlaG9sZGVyO1xuXG4gICAgICAgIGNvbnN0IHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MgPSByZXF1aXJlZFBsYWNlbWVudCA9PT0gJ3JpZ2h0JyA/ICdhbGlnbi1yaWdodCAnIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIHVzZVJlc2l6ZU9ic2VydmVyKG91dGVyUmVmLCAoY3VycmVudEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgd2lkdGg6IGlubGluZVdpZHRoIH0gPSBjdXJyZW50RWxlbWVudC5zdHlsZTtcblxuICAgICAgICAgICAgaWYgKGlubGluZVdpZHRoIHx8IGNvbHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHdpZHRoOiBlbGVtZW50V2lkdGggfSA9IGN1cnJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIHNldEhlbHBlcldpZHRoKGAke2VsZW1lbnRXaWR0aCAvIFJPT1RfRk9OVF9TSVpFfXJlbWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB1c2VBdXRvUmVzaXplKGF1dG9SZXNpemUsIG91dGVyUmVmLCB2YWx1ZSwgbWluQXV0bywgbWF4QXV0byk7XG5cbiAgICAgICAgY29uc3Qgb25Gb2N1c0hhbmRsZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkKHRydWUpO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgY29uc3Qgb25CbHVySGFuZGxlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgICAgIHNldEZvY3VzZWQoZmFsc2UpO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgY29uc3Qgb25DaGFuZ2VIYW5kbGVyID0gdXNlQ2FsbGJhY2soXG4gICAgICAgICAgICAoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSU5GTzog0JTQu9GPINC60YDQsNC50L3QtSDRgNC10LTQutC40YUg0LrQtdC50YHQvtCyLCDQutC+0LPQtNCwIHZhbHVlINGB0L3QsNGA0YPQttC4INC90LUg0LrQvtC90YLRgNC+0LvQuNGA0YPQtdGC0YHRj1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFVuY29udHJvbGxlZFZhbHVlKGV2ZW50Py50YXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFt2YWx1ZSwgb25DaGFuZ2VdLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGR5bmFtaWNMYWJlbENsYXNzZXMgPSBnZXREeW5hbWljTGFiZWxDbGFzc2VzKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHksXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlIHx8IHVuY29udHJvbGxlZFZhbHVlIHx8IGRlZmF1bHRWYWx1ZSxcbiAgICAgICAgICAgICAgICAuLi4ocm93cyA/IHsgcm93cyB9IDogeyBhdXRvUmVzaXplIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZvY3VzZWQsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uYWxUZXh0Tm9kZSA9IGlubmVyT3B0aW9uYWwgPyAoXG4gICAgICAgICAgICA8U3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICAgICAgICAgIHtCb29sZWFuKGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPyBwbGFjZWhvbGRlckxhYmVsIDogbGFiZWwpICYmICdcXHhhMCd9XG4gICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dH1cbiAgICAgICAgICAgIDwvU3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICApIDogbnVsbDtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFJvb3RcbiAgICAgICAgICAgICAgICB2aWV3PXtvdmVycmlkZGVuVmlld31cbiAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IGhlbHBlcldpZHRoLCAuLi5zdHlsZSB9fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtoYXNPdXRlckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgPFN0eWxlZExhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAge3JlcXVpcmVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChzdHlsZWRDb250YWluZXIsIC4uLmR5bmFtaWNMYWJlbENsYXNzZXMpfVxuICAgICAgICAgICAgICAgICAgICB3aWR0aD17aGVscGVyV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXNIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e29uQmx1ckhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgIWhhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvciBjbGFzc05hbWU9e2N4KGNsYXNzZXMuaW5uZXJMYWJlbFBsYWNlbWVudCwgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyl9IC8+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHtjb250ZW50UmlnaHQgJiYgPFN0eWxlZENvbnRlbnQ+e2NvbnRlbnRSaWdodH08L1N0eWxlZENvbnRlbnQ+fVxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFXcmFwcGVyIGNsYXNzTmFtZT17c3R5bGVkVGV4dEFyZWFXcmFwcGVyfSBoYXNIZWxwZXI9e2hhc0hlbHBlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlZFRleHRBcmVhfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXtpZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNDb250ZW50UmlnaHQ9e0Jvb2xlYW4oY29udGVudFJpZ2h0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNIZWxwZXI9e2hhc0hlbHBlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBseUN1c3RvbVdpZHRoPXthcHBseUN1c3RvbVdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZj17b3V0ZXJSZWZ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD17YXV0b1Jlc2l6ZSA/IG1pbkF1dG8gOiBoZWlnaHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlckxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e3RleHRhcmVhSGVscGVySWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3dzPXtyb3dzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHM9e2NvbHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzaXplPXtyZXNpemV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkVGV4dEFyZWFXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICB7aGFzSGVscGVyICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRIZWxwZXJzIGNsYXNzTmFtZT17c3R5bGVkSGVscGVyc30gaWQ9e3RleHRhcmVhSGVscGVySWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsobGVmdEhlbHBlciB8fCBoZWxwZXJUZXh0KSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRMZWZ0SGVscGVyPntsZWZ0SGVscGVyIHx8IGhlbHBlclRleHR9PC9TdHlsZWRMZWZ0SGVscGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3JpZ2h0SGVscGVyICYmIDxTdHlsZWRSaWdodEhlbHBlcj57cmlnaHRIZWxwZXJ9PC9TdHlsZWRSaWdodEhlbHBlcj59XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZEhlbHBlcnM+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRQbGFjZWhvbGRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0NvbnRlbnRSaWdodD17Qm9vbGVhbihjb250ZW50UmlnaHQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVkUGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbEZvcj17aWR9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3BsYWNlaG9sZGVyTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyFoYXNPdXRlckxhYmVsICYmIG9wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9Sb290PlxuICAgICAgICApO1xuICAgIH0pO1xuXG5leHBvcnQgY29uc3QgdGV4dEFyZWFDb25maWcgPSB7XG4gICAgbmFtZTogJ1RleHRBcmVhJyxcbiAgICB0YWc6ICdkaXYnLFxuICAgIGxheW91dDogdGV4dEFyZWFSb290LFxuICAgIGJhc2UsXG4gICAgdmFyaWF0aW9uczoge1xuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICBjc3M6IHNpemVDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIHZpZXc6IHtcbiAgICAgICAgICAgIGNzczogdmlld0NTUyxcbiAgICAgICAgfSxcbiAgICAgICAgZGlzYWJsZWQ6IHtcbiAgICAgICAgICAgIGNzczogZGlzYWJsZWRDU1MsXG4gICAgICAgICAgICBhdHRyczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVhZE9ubHk6IHtcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgIH0sXG4gICAgZGVmYXVsdHM6IHtcbiAgICAgICAgc2l6ZTogJ20nLFxuICAgICAgICB2aWV3OiAncHJpbWFyeScsXG4gICAgfSxcbn07XG4iXX0= */"));
49
+ var base = /*#__PURE__*/(0, _react2.css)(_mixins.applyDynamicLabel, ";position:relative;box-sizing:border-box;;label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEFyZWEvVGV4dEFyZWEudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlDZ0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0QXJlYS9UZXh0QXJlYS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlU3RhdGUsIGNyZWF0ZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5cbmltcG9ydCB7IGN4LCBtZXJnZVJlZnMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJvb3RQcm9wcyB9IGZyb20gJy4uLy4uL2VuZ2luZXMvdHlwZXMnO1xuXG5pbXBvcnQgeyBhcHBseUR5bmFtaWNMYWJlbCB9IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IHVzZUF1dG9SZXNpemUsIFJPT1RfRk9OVF9TSVpFIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQge1xuICAgIFN0eWxlZENvbnRlbnQsXG4gICAgU3R5bGVkSGVscGVycyxcbiAgICBTdHlsZWRMZWZ0SGVscGVyLFxuICAgIFN0eWxlZFJpZ2h0SGVscGVyLFxuICAgIFN0eWxlZExhYmVsLFxuICAgIFN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIFN0eWxlZFRleHRBcmVhLFxuICAgIFN0eWxlZFRleHRBcmVhV3JhcHBlcixcbiAgICBTdHlsZWRDb250YWluZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yLFxuICAgIFN0eWxlZE9wdGlvbmFsVGV4dCxcbn0gZnJvbSAnLi9UZXh0QXJlYS5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEFyZWEudG9rZW5zJztcbmltcG9ydCB7IGJhc2UgYXMgdmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgc2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgZGlzYWJsZWRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2Rpc2FibGVkL2Jhc2UnO1xuaW1wb3J0IHR5cGUgeyBUZXh0QXJlYVByb3BzIH0gZnJvbSAnLi9UZXh0QXJlYS50eXBlcyc7XG5cbmNvbnN0IHtcbiAgICBpbm5lclBsYWNlaG9sZGVyVXAsXG4gICAgZm9jdXNlZE91dGVyUGxhY2Vob2xkZXJDb2xvcixcbiAgICBoaWRlUGxhY2VIb2xkZXIsXG4gICAgc3R5bGVkQ29udGFpbmVyLFxuICAgIHN0eWxlZFRleHRBcmVhLFxuICAgIHN0eWxlZFRleHRBcmVhV3JhcHBlcixcbiAgICBzdHlsZWRQbGFjZWhvbGRlcixcbiAgICBzdHlsZWRIZWxwZXJzLFxufSA9IGNsYXNzZXM7XG5cbmNvbnN0IG9wdGlvbmFsVGV4dCA9ICdvcHRpb25hbCc7XG5cbmNvbnN0IGJhc2UgPSBjc3NgXG4gICAgJHthcHBseUR5bmFtaWNMYWJlbH07XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbmA7XG5cbi8vIFRPRE86INCj0LTQsNC70LjRgtGMINC/0L7RgdC70LUg0L7RgtC60LDQt9CwINC+0YIg0YHRgtCw0YDRi9GFINCx0LjQsdC70LjQvtGC0LXQuiBwbGFzbWEtd2ViIC8gcGxhc21hLWIyY1xuY29uc3QgZmFsbGJhY2tTdGF0dXNNYXAgPSB7XG4gICAgJyc6ICdwcmltYXJ5JyxcbiAgICBzdWNjZXNzOiAncG9zaXRpdmUnLFxuICAgIHdhcm5pbmc6ICd3YXJuaW5nJyxcbiAgICBlcnJvcjogJ25lZ2F0aXZlJyxcbn07XG5cbi8vIFRPRE86INCf0LXRgNC10L3QtdGB0YLQuCDRjdGC0L7RgiDQvNC10YLQvtC0INCyINGE0LDQudC7IGFwcGx5RHluYW1pY0xhYmVsLnRzXG5leHBvcnQgY29uc3QgZ2V0RHluYW1pY0xhYmVsQ2xhc3NlcyA9IChwcm9wczogVGV4dEFyZWFQcm9wcywgZm9jdXNlZDogYm9vbGVhbikgPT4ge1xuICAgIGNvbnN0IHsgcmVhZE9ubHksIGxhYmVsLCBsYWJlbFBsYWNlbWVudCwgYXV0b1Jlc2l6ZSwgcm93cywgdmFsdWUsIHNpemUgfSA9IHByb3BzO1xuXG4gICAgLy8g0JTQvtCx0LDQstC40YLRjCDQutC70LDRgdGBINC+0YLQstC10YfQsNGO0YnQuNC5INC30LAg0LjQt9C80LXQvdC10L3QuNC1INGG0LLQtdGC0LAg0L/Qu9C10LnRgdGF0L7Qu9C00LXRgNCwINC/0YDQuCDRhNC+0LrRg9GB0LVcbiAgICBjb25zdCB3aXRoRm9jdXNlZE91dGVyVXBQbGFjZWhvbGRlciA9XG4gICAgICAgICFyZWFkT25seSAmJiBmb2N1c2VkICYmICghbGFiZWwgfHwgbGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicpID8gZm9jdXNlZE91dGVyUGxhY2Vob2xkZXJDb2xvciA6IHVuZGVmaW5lZDtcblxuICAgIC8vINCU0L7QsdCw0LLQuNGC0Ywg0LrQu9Cw0YHRgSDQvtGC0LLQtdGH0LDRjtGJ0LjQuSDQt9CwINC/0L7QtNC90Y/RgtC40LUg0Lgg0YPQvNC10L3RjNGI0LXQvdC40LUg0L/Qu9C10LnRgdGF0L7Qu9C00LXRgNCwXG4gICAgY29uc3Qgd2l0aElubmVyUGxhY2Vob2xkZXJVcCA9XG4gICAgICAgIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmXG4gICAgICAgIGxhYmVsICYmXG4gICAgICAgICFhdXRvUmVzaXplICYmXG4gICAgICAgICFyb3dzICYmXG4gICAgICAgIHNpemUgIT09ICd4cycgJiZcbiAgICAgICAgKCghcmVhZE9ubHkgJiYgKHZhbHVlIHx8IGZvY3VzZWQpKSB8fCAocmVhZE9ubHkgJiYgdmFsdWUpKVxuICAgICAgICAgICAgPyBpbm5lclBsYWNlaG9sZGVyVXBcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgLy8g0JTQvtCx0LDQstC40YLRjCDQutC70LDRgdGBINC+0YLQstC10YfQsNGO0YnQuNC5INC30LAg0YHQutGA0YvRgtC40LUg0L/Qu9C10LnRgdGF0L7Qu9C00LXRgNCwXG4gICAgY29uc3Qgd2l0aEhpZGVQbGFjZWhvbGRlciA9XG4gICAgICAgICh2YWx1ZSAmJiAhbGFiZWwpIHx8XG4gICAgICAgIChsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAoKGZvY3VzZWQgJiYgIXJlYWRPbmx5KSB8fCB2YWx1ZSkgJiYgbGFiZWwgJiYgKHJvd3MgfHwgYXV0b1Jlc2l6ZSkpIHx8XG4gICAgICAgIChsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyAmJiB2YWx1ZSkgfHxcbiAgICAgICAgKGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmIHNpemUgPT09ICd4cycgJiYgdmFsdWUpXG4gICAgICAgICAgICA/IGhpZGVQbGFjZUhvbGRlclxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gW3dpdGhGb2N1c2VkT3V0ZXJVcFBsYWNlaG9sZGVyLCB3aXRoSW5uZXJQbGFjZWhvbGRlclVwLCB3aXRoSGlkZVBsYWNlaG9sZGVyXTtcbn07XG5cbmV4cG9ydCBjb25zdCB0ZXh0QXJlYVJvb3QgPSAoUm9vdDogUm9vdFByb3BzPEhUTUxUZXh0QXJlYUVsZW1lbnQsIFRleHRBcmVhUHJvcHM+KSA9PlxuICAgIGZvcndhcmRSZWY8SFRNTFRleHRBcmVhRWxlbWVudCwgVGV4dEFyZWFQcm9wcz4oKHByb3BzLCBpbm5lclJlZikgPT4ge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBoZWxwZXJUZXh0LFxuICAgICAgICAgICAgc3RhdHVzLFxuICAgICAgICAgICAgcmVzaXplLFxuICAgICAgICAgICAgcmlnaHRIZWxwZXIsXG4gICAgICAgICAgICBsZWZ0SGVscGVyLFxuICAgICAgICAgICAgY29udGVudFJpZ2h0LFxuICAgICAgICAgICAgYXV0b1Jlc2l6ZSA9IGZhbHNlLFxuICAgICAgICAgICAgbWluQXV0byA9IDAsXG4gICAgICAgICAgICBtYXhBdXRvLFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBsYWJlbFBsYWNlbWVudCA9ICdpbm5lcicsXG4gICAgICAgICAgICBwbGFjZWhvbGRlcixcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgIHdpZHRoLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIHJlcXVpcmVkID0gZmFsc2UsXG4gICAgICAgICAgICByZXF1aXJlZFBsYWNlbWVudCA9ICdyaWdodCcsXG4gICAgICAgICAgICBvcHRpb25hbCA9IGZhbHNlLFxuICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgIHZpZXcsXG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIHN0eWxlLFxuICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgcmVhZE9ubHksXG4gICAgICAgICAgICByb3dzLFxuICAgICAgICAgICAgY29scyxcbiAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICB9ID0gcHJvcHM7XG5cbiAgICAgICAgY29uc3QgW2hlbHBlcldpZHRoLCBzZXRIZWxwZXJXaWR0aF0gPSB1c2VTdGF0ZTxzdHJpbmc+KHdpZHRoID8gYCR7d2lkdGh9cmVtYCA6ICcxMDAlJyk7XG4gICAgICAgIGNvbnN0IFtmb2N1c2VkLCBzZXRGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICAgICAgY29uc3QgW3VuY29udHJvbGxlZFZhbHVlLCBzZXRVbmNvbnRyb2xsZWRWYWx1ZV0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgICAgICAgY29uc3Qgb3V0ZXJSZWYgPSBjcmVhdGVSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4oKTtcblxuICAgICAgICBjb25zdCBpbm5lck9wdGlvbmFsID0gcmVxdWlyZWQgPyBmYWxzZSA6IG9wdGlvbmFsO1xuICAgICAgICBjb25zdCBoYXNIZWxwZXIgPSBCb29sZWFuKGxlZnRIZWxwZXIgfHwgcmlnaHRIZWxwZXIgfHwgaGVscGVyVGV4dCk7XG4gICAgICAgIGNvbnN0IGhhc091dGVyTGFiZWwgPSBCb29sZWFuKGxhYmVsICYmIGxhYmVsUGxhY2VtZW50ID09PSAnb3V0ZXInKTtcbiAgICAgICAgY29uc3QgaGFzSW5uZXJMYWJlbCA9IEJvb2xlYW4obGFiZWwgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgc2l6ZSAhPT0gJ3hzJyk7XG4gICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPSBpbm5lck9wdGlvbmFsICYmICFoYXNPdXRlckxhYmVsO1xuXG4gICAgICAgIGNvbnN0IG92ZXJyaWRkZW5WaWV3ID0gc3RhdHVzICE9PSB1bmRlZmluZWQgPyBmYWxsYmFja1N0YXR1c01hcFtzdGF0dXNdIDogdmlldztcbiAgICAgICAgY29uc3QgdGV4dGFyZWFIZWxwZXJJZCA9IGlkID8gYCR7aWR9LWhlbHBlcmAgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGFwcGx5Q3VzdG9tV2lkdGggPSByZXNpemUgIT09ICdob3Jpem9udGFsJyAmJiByZXNpemUgIT09ICdib3RoJyAmJiAhY29scztcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJMYWJlbCA9IGhhc0lubmVyTGFiZWwgPyBsYWJlbCA6IHBsYWNlaG9sZGVyO1xuXG4gICAgICAgIGNvbnN0IHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MgPSByZXF1aXJlZFBsYWNlbWVudCA9PT0gJ3JpZ2h0JyA/ICdhbGlnbi1yaWdodCAnIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIHVzZVJlc2l6ZU9ic2VydmVyKG91dGVyUmVmLCAoY3VycmVudEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgd2lkdGg6IGlubGluZVdpZHRoIH0gPSBjdXJyZW50RWxlbWVudC5zdHlsZTtcblxuICAgICAgICAgICAgaWYgKGlubGluZVdpZHRoIHx8IGNvbHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHdpZHRoOiBlbGVtZW50V2lkdGggfSA9IGN1cnJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIHNldEhlbHBlcldpZHRoKGAke2VsZW1lbnRXaWR0aCAvIFJPT1RfRk9OVF9TSVpFfXJlbWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB1c2VBdXRvUmVzaXplKGF1dG9SZXNpemUsIG91dGVyUmVmLCB2YWx1ZSwgbWluQXV0bywgbWF4QXV0byk7XG5cbiAgICAgICAgY29uc3Qgb25Gb2N1c0hhbmRsZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkKHRydWUpO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgY29uc3Qgb25CbHVySGFuZGxlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgICAgIHNldEZvY3VzZWQoZmFsc2UpO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgY29uc3Qgb25DaGFuZ2VIYW5kbGVyID0gdXNlQ2FsbGJhY2soXG4gICAgICAgICAgICAoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSU5GTzog0JTQu9GPINC60YDQsNC50L3QtSDRgNC10LTQutC40YUg0LrQtdC50YHQvtCyLCDQutC+0LPQtNCwIHZhbHVlINGB0L3QsNGA0YPQttC4INC90LUg0LrQvtC90YLRgNC+0LvQuNGA0YPQtdGC0YHRj1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFVuY29udHJvbGxlZFZhbHVlKGV2ZW50Py50YXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT8uKGV2ZW50KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbdmFsdWUsIG9uQ2hhbmdlXSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBkeW5hbWljTGFiZWxDbGFzc2VzID0gZ2V0RHluYW1pY0xhYmVsQ2xhc3NlcyhcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzaXplLFxuICAgICAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgICAgIGxhYmVsUGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSB8fCB1bmNvbnRyb2xsZWRWYWx1ZSB8fCBkZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICAgICAgLi4uKHJvd3MgPyB7IHJvd3MgfSA6IHsgYXV0b1Jlc2l6ZSB9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmb2N1c2VkLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IG9wdGlvbmFsVGV4dE5vZGUgPSBpbm5lck9wdGlvbmFsID8gKFxuICAgICAgICAgICAgPFN0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgICAgICAgICB7Qm9vbGVhbihoYXNQbGFjZWhvbGRlck9wdGlvbmFsID8gcGxhY2Vob2xkZXJMYWJlbCA6IGxhYmVsKSAmJiAnXFx4YTAnfVxuICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHR9XG4gICAgICAgICAgICA8L1N0eWxlZE9wdGlvbmFsVGV4dD5cbiAgICAgICAgKSA6IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxSb290XG4gICAgICAgICAgICAgICAgdmlldz17b3ZlcnJpZGRlblZpZXd9XG4gICAgICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiBoZWxwZXJXaWR0aCwgLi4uc3R5bGUgfX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7aGFzT3V0ZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvciBjbGFzc05hbWU9e2N4KGNsYXNzZXMub3V0ZXJMYWJlbFBsYWNlbWVudCwgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyl9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dE5vZGV9XG4gICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkTGFiZWw+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goc3R5bGVkQ29udGFpbmVyLCAuLi5keW5hbWljTGFiZWxDbGFzc2VzKX1cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg9e2hlbHBlcldpZHRofVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXtvbkZvY3VzSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgb25CbHVyPXtvbkJsdXJIYW5kbGVyfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3JlcXVpcmVkICYmICFoYXNPdXRlckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbmRpY2F0b3IgY2xhc3NOYW1lPXtjeChjbGFzc2VzLmlubmVyTGFiZWxQbGFjZW1lbnQsIHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MpfSAvPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICB7Y29udGVudFJpZ2h0ICYmIDxTdHlsZWRDb250ZW50Pntjb250ZW50UmlnaHR9PC9TdHlsZWRDb250ZW50Pn1cbiAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFRleHRBcmVhV3JhcHBlciBjbGFzc05hbWU9e3N0eWxlZFRleHRBcmVhV3JhcHBlcn0gaGFzSGVscGVyPXtoYXNIZWxwZXJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFRleHRBcmVhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZWRUZXh0QXJlYX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ29udGVudFJpZ2h0PXtCb29sZWFuKGNvbnRlbnRSaWdodCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzSGVscGVyPXtoYXNIZWxwZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbHlDdXN0b21XaWR0aD17YXBwbHlDdXN0b21XaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e21lcmdlUmVmcyhvdXRlclJlZiwgaW5uZXJSZWYpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9e2F1dG9SZXNpemUgPyBtaW5BdXRvIDogaGVpZ2h0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJMYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXt0ZXh0YXJlYUhlbHBlcklkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xzPXtjb2xzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2l6ZT17cmVzaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZUhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFRleHRBcmVhV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAge2hhc0hlbHBlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSGVscGVycyBjbGFzc05hbWU9e3N0eWxlZEhlbHBlcnN9IGlkPXt0ZXh0YXJlYUhlbHBlcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KGxlZnRIZWxwZXIgfHwgaGVscGVyVGV4dCkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkTGVmdEhlbHBlcj57bGVmdEhlbHBlciB8fCBoZWxwZXJUZXh0fTwvU3R5bGVkTGVmdEhlbHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyaWdodEhlbHBlciAmJiA8U3R5bGVkUmlnaHRIZWxwZXI+e3JpZ2h0SGVscGVyfTwvU3R5bGVkUmlnaHRIZWxwZXI+fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRIZWxwZXJzPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICB7cGxhY2Vob2xkZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkUGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNDb250ZW50UmlnaHQ9e0Jvb2xlYW4oY29udGVudFJpZ2h0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlZFBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxGb3I9e2lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlckxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHshaGFzT3V0ZXJMYWJlbCAmJiBvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRQbGFjZWhvbGRlcj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvUm9vdD5cbiAgICAgICAgKTtcbiAgICB9KTtcblxuZXhwb3J0IGNvbnN0IHRleHRBcmVhQ29uZmlnID0ge1xuICAgIG5hbWU6ICdUZXh0QXJlYScsXG4gICAgdGFnOiAnZGl2JyxcbiAgICBsYXlvdXQ6IHRleHRBcmVhUm9vdCxcbiAgICBiYXNlLFxuICAgIHZhcmlhdGlvbnM6IHtcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgY3NzOiBzaXplQ1NTLFxuICAgICAgICB9LFxuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgICBjc3M6IHZpZXdDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICBjc3M6IGRpc2FibGVkQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlYWRPbmx5OiB7XG4gICAgICAgICAgICBhdHRyczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIGRlZmF1bHRzOiB7XG4gICAgICAgIHNpemU6ICdtJyxcbiAgICAgICAgdmlldzogJ3ByaW1hcnknLFxuICAgIH0sXG59O1xuIl19 */"));
50
50
 
51
51
  // TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c
52
52
  var fallbackStatusMap = {
@@ -126,7 +126,7 @@ var textAreaRoot = exports.textAreaRoot = function textAreaRoot(Root) {
126
126
  _useState6 = _slicedToArray(_useState5, 2),
127
127
  uncontrolledValue = _useState6[0],
128
128
  setUncontrolledValue = _useState6[1];
129
- var outerRef = innerRef && 'current' in innerRef ? innerRef : /*#__PURE__*/(0, _react.createRef)();
129
+ var outerRef = /*#__PURE__*/(0, _react.createRef)();
130
130
  var innerOptional = required ? false : optional;
131
131
  var hasHelper = Boolean(leftHelper || rightHelper || helperText);
132
132
  var hasOuterLabel = Boolean(label && labelPlacement === 'outer');
@@ -198,7 +198,7 @@ var textAreaRoot = exports.textAreaRoot = function textAreaRoot(Root) {
198
198
  hasContentRight: Boolean(contentRight),
199
199
  hasHelper: hasHelper,
200
200
  applyCustomWidth: applyCustomWidth,
201
- ref: outerRef,
201
+ ref: (0, _utils.mergeRefs)(outerRef, innerRef),
202
202
  disabled: disabled,
203
203
  height: autoResize ? minAuto : height,
204
204
  width: width,
@@ -0,0 +1,195 @@
1
+ import { useForm, Controller } from 'react-hook-form';
2
+ import React from 'react';
3
+ import type { Meta, StoryObj } from '@storybook/react';
4
+
5
+ import { WithTheme } from '../../../_helpers';
6
+ import { Button } from '../Button/Button';
7
+ import { TextField } from '../TextField/TextField';
8
+ import { TextArea } from '../TextArea/TextArea'; // TextArea.tsx 120 строка, не работает из-за некорректного ref
9
+ import { Checkbox } from '../Checkbox/Checkbox';
10
+ import { Switch } from '../Switch/Switch';
11
+ import { Radiobox } from '../Radiobox/Radiobox';
12
+ import { RadioGroup } from '../../../../components/Radiobox';
13
+ import { Slider } from '../Slider/Slider';
14
+ import { useFormPlasma } from '../../../../hooks';
15
+ import { DatePicker, DatePickerRange } from '../DatePicker/DatePicker';
16
+
17
+ type StoryDropdownProps = {};
18
+
19
+ const langName = 'language';
20
+ const itemsRadiobox = [
21
+ { langName, value: 'c', label: 'C', disabled: false },
22
+ { langName, value: 'cpp', label: 'C++', disabled: false },
23
+ { langName, value: 'assembly', label: 'Assembly', disabled: false },
24
+ ];
25
+
26
+ const DefaultForm = () => {
27
+ const onSubmit = (data) => {
28
+ console.log(data);
29
+ };
30
+
31
+ const { formRef, formData } = useFormPlasma(onSubmit, {
32
+ textfield: 'textfield',
33
+ textarea: 'textarea',
34
+ checkbox: 'checkobox',
35
+ switch: true,
36
+ radiobox: 'c',
37
+ slider: 10,
38
+ sliderd: [10, 20],
39
+ datepicker: '12.09.2024',
40
+ datepickerRange: ['09.09.2024', '12.09.2024'],
41
+ });
42
+
43
+ return (
44
+ <form onSubmit={formData} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }} ref={formRef}>
45
+ <TextField name="textfield" placeholder="Textfield" required={false} />
46
+ <TextArea name="textarea" autoResize placeholder="Textarea" />
47
+ <Checkbox name="checkbox" label="Checkbox" />
48
+ <Switch name="switch" label="Switch" labelPosition="after" />
49
+ <RadioGroup aria-labelledby="radiogroup-title-id">
50
+ <div id="radiogroup-title-id" style={{ margin: '1rem 0', fontWeight: '600' }}>
51
+ Выберите язык программирования для изучения.
52
+ </div>
53
+ {itemsRadiobox.map((item) => (
54
+ <Radiobox
55
+ name="radiobox"
56
+ key={item.value}
57
+ value={item.value}
58
+ label={item.label}
59
+ disabled={item.disabled}
60
+ />
61
+ ))}
62
+ </RadioGroup>
63
+ <Slider name="slider" label="Slider" type="single" min={0} max={100} />
64
+ <Slider name="sliderd" label="Slider" type="double" min={0} max={100} />
65
+ <DatePicker label="DatePicker" name="datepicker" />
66
+ <DatePickerRange label="DatePicker" name="datepickerRange" />
67
+ <Button type="submit">Отправить</Button>
68
+ </form>
69
+ );
70
+ };
71
+
72
+ const meta: Meta<StoryDropdownProps> = {
73
+ title: 'plasma_b2c/Form',
74
+ decorators: [WithTheme],
75
+ component: DefaultForm,
76
+ };
77
+
78
+ export default meta;
79
+
80
+ const StoryPlasmaForm = () => {
81
+ return <DefaultForm />;
82
+ };
83
+
84
+ export const Default: StoryObj<StoryDropdownProps> = {
85
+ render: () => <StoryPlasmaForm />,
86
+ };
87
+
88
+ const DefaultUseForm = () => {
89
+ const { register, handleSubmit } = useForm({
90
+ defaultValues: {
91
+ textfield: 'John Doe',
92
+ textarea: 'Default description',
93
+ checkbox: true,
94
+ switch: true,
95
+ radiobox: 'c',
96
+ slider: 10,
97
+ },
98
+ });
99
+ const onSubmit = (data) => {
100
+ console.log(data);
101
+ };
102
+
103
+ return (
104
+ <form onSubmit={handleSubmit(onSubmit)} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
105
+ <TextField {...register('textfield')} placeholder="Textfield" required={false} />
106
+ <TextArea {...register('textarea')} autoResize placeholder="Textarea" />
107
+ <Checkbox {...register('checkbox')} label="Checkbox" />
108
+ <Switch {...register('switch')} label="Switch" labelPosition="after" />
109
+ <RadioGroup aria-labelledby="radiogroup-title-id">
110
+ <div id="radiogroup-title-id" style={{ margin: '1rem 0', fontWeight: '600' }}>
111
+ Выберите язык программирования для изучения.
112
+ </div>
113
+ {itemsRadiobox.map((item) => (
114
+ <Radiobox
115
+ {...register('radiobox')}
116
+ key={item.value}
117
+ value={item.value}
118
+ label={item.label}
119
+ disabled={item.disabled}
120
+ />
121
+ ))}
122
+ </RadioGroup>
123
+ <Button type="submit">Отправить</Button>
124
+ </form>
125
+ );
126
+ };
127
+
128
+ const StoryHookForm = () => {
129
+ return <DefaultUseForm />;
130
+ };
131
+
132
+ export const UseHookForm: StoryObj<StoryDropdownProps> = {
133
+ render: () => <StoryHookForm />,
134
+ };
135
+
136
+ const DefaultUseFormController = () => {
137
+ const { control, handleSubmit } = useForm({
138
+ defaultValues: {
139
+ textfield: 'John Doe',
140
+ textarea: 'Default description',
141
+ checkbox: true,
142
+ switch: true,
143
+ radiobox: 'c',
144
+ slider: 10,
145
+ sliderd: [10, 20],
146
+ },
147
+ });
148
+ const onSubmit = (data) => {
149
+ console.log(data);
150
+ };
151
+
152
+ return (
153
+ <form onSubmit={handleSubmit(onSubmit)} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
154
+ <Controller
155
+ name="textfield"
156
+ control={control}
157
+ render={({ field }) => <TextField {...field} label="TextField" />}
158
+ />
159
+ <Controller
160
+ name="textarea"
161
+ control={control}
162
+ render={({ field }) => <TextArea {...field} label="TextArea" />}
163
+ />
164
+ <Controller
165
+ name="checkbox"
166
+ control={control}
167
+ render={({ field }) => <Checkbox {...field} checked={field.value} label="Checkbox" />}
168
+ />
169
+ <Controller
170
+ name="switch"
171
+ control={control}
172
+ render={({ field }) => <Switch {...field} checked={field.value} labelPosition="after" label="Switch" />}
173
+ />
174
+ <Controller
175
+ name="slider"
176
+ control={control}
177
+ render={({ field }) => <Slider {...field} type="single" label="Slider" min={0} max={100} />}
178
+ />
179
+ <Controller
180
+ name="sliderd"
181
+ control={control}
182
+ render={({ field }) => <Slider {...field} type="double" label="Slider" min={0} max={100} />}
183
+ />
184
+ <Button type="submit">Отправить</Button>
185
+ </form>
186
+ );
187
+ };
188
+
189
+ const StoryHookFormController = () => {
190
+ return <DefaultUseFormController />;
191
+ };
192
+
193
+ export const UseHookFormController: StoryObj<StoryDropdownProps> = {
194
+ render: () => <StoryHookFormController />,
195
+ };
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "useForceUpdate", {
21
21
  return _useForceUpdate.useForceUpdate;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "useFormPlasma", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _useForm.useFormPlasma;
28
+ }
29
+ });
24
30
  Object.defineProperty(exports, "useIsomorphicLayoutEffect", {
25
31
  enumerable: true,
26
32
  get: function get() {
@@ -51,4 +57,5 @@ var _usePreviousValue = /*#__PURE__*/require("./usePreviousValue");
51
57
  var _useForceUpdate = /*#__PURE__*/require("./useForceUpdate");
52
58
  var _useDidMountEffect = /*#__PURE__*/require("./useDidMountEffect");
53
59
  var _useOutsideClick = /*#__PURE__*/require("./useOutsideClick");
54
- var _useIsomorphicLayoutEffect = /*#__PURE__*/require("./useIsomorphicLayoutEffect");
60
+ var _useIsomorphicLayoutEffect = /*#__PURE__*/require("./useIsomorphicLayoutEffect");
61
+ var _useForm = /*#__PURE__*/require("./useForm");
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useFormPlasma = void 0;
8
+ var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
11
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
12
+ 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."); }
13
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
15
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
16
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
17
+ var initData = function initData(ref, defaultValues) {
18
+ if (ref.current) {
19
+ var form = ref.current;
20
+ var items = form.elements;
21
+ for (var i = 0; i < items.length; i++) {
22
+ var item = items[i];
23
+ var _name = item.name,
24
+ value = item.value,
25
+ type = item.type;
26
+ if ((type === 'text' || type === 'textarea') && defaultValues[_name]) {
27
+ item.value = String(defaultValues[_name]);
28
+ }
29
+ if (type === 'checkbox' && defaultValues[_name]) {
30
+ item.checked = Boolean(defaultValues[_name]);
31
+ }
32
+ if (type === 'radio' && defaultValues[_name]) {
33
+ item.checked = defaultValues[_name] === value;
34
+ }
35
+ if (type === 'number' && defaultValues[_name]) {
36
+ var sliderType = item.getAttribute('datatype');
37
+ if (sliderType === 'slider-single') {
38
+ item.setAttribute('defaultValue', String(defaultValues[_name]));
39
+ var event = new Event('setInitValue');
40
+ item.dispatchEvent(event);
41
+ }
42
+ if (sliderType === 'slider-double') {
43
+ var isMax = item.getAttribute('data-slidertype') === 'max' ? 1 : 0;
44
+ var _data = defaultValues[_name];
45
+ item.setAttribute('defaultValue', String(_data[isMax]));
46
+ var _event = new Event('setInitValue');
47
+ item.dispatchEvent(_event);
48
+ }
49
+ }
50
+ if (type === 'hidden') {
51
+ var datepickerType = item.getAttribute('datatype');
52
+ if (datepickerType === 'datepicker-single') {
53
+ item.setAttribute('defaultValue', String(defaultValues[_name]));
54
+ var _event2 = new Event('setInitValue');
55
+ item.dispatchEvent(_event2);
56
+ }
57
+ if (datepickerType === 'datepicker-double') {
58
+ var isTo = item.getAttribute('data-datepicker') === 'to' ? 1 : 0;
59
+ var _data2 = defaultValues[_name];
60
+ item.setAttribute('defaultValue', String(_data2[isTo]));
61
+ var _event3 = new Event('setInitValue');
62
+ item.dispatchEvent(_event3);
63
+ }
64
+ }
65
+ }
66
+ }
67
+ };
68
+ var valideParams = function valideParams(name) {
69
+ return name && name !== '';
70
+ };
71
+ var useFormPlasma = exports.useFormPlasma = function useFormPlasma(onSubmit, defaultValues) {
72
+ var formRef = /*#__PURE__*/_react["default"].createRef();
73
+ (0, _react.useEffect)(function () {
74
+ initData(formRef, defaultValues);
75
+ });
76
+ var formData = function formData(event) {
77
+ event.preventDefault();
78
+ var result = {};
79
+ var form = event.target;
80
+ var items = form.elements;
81
+ for (var i = 0; i < items.length; i++) {
82
+ var item = items[i];
83
+ var _name2 = item.name,
84
+ value = item.value,
85
+ type = item.type;
86
+ if ((type === 'text' || type === 'textarea') && valideParams(_name2)) {
87
+ result[_name2] = value;
88
+ } else if (type === 'checkbox' && valideParams(_name2)) {
89
+ result[_name2] = item.checked;
90
+ } else if (type === 'radio' && valideParams(_name2)) {
91
+ if (item.checked) {
92
+ result[_name2] = value;
93
+ } else if (!(_name2 in result)) {
94
+ result[_name2] = null;
95
+ }
96
+ } else if (type === 'number' && valideParams(_name2)) {
97
+ var sliderType = item.getAttribute('datatype');
98
+ if (sliderType === 'slider-single') {
99
+ result[_name2] = value;
100
+ }
101
+ if (sliderType === 'slider-double') {
102
+ var isMin = item.getAttribute('data-slidertype') === 'min';
103
+ if (isMin) {
104
+ result[_name2] = [Number(value)];
105
+ } else if (!isMin && Array.isArray(result[_name2])) {
106
+ result[_name2] = [].concat(_toConsumableArray(result[_name2]), [Number(value)]);
107
+ }
108
+ }
109
+ } else if (type === 'hidden' && valideParams(_name2)) {
110
+ var _sliderType = item.getAttribute('datatype');
111
+ if (_sliderType === 'datepicker-single') {
112
+ result[_name2] = value;
113
+ }
114
+ if (_sliderType === 'datepicker-double') {
115
+ var _isMin = item.getAttribute('data-datepicker') === 'from';
116
+ if (_isMin) {
117
+ result[_name2] = [String(value)];
118
+ } else if (!_isMin && Array.isArray(result[_name2])) {
119
+ result[_name2] = [].concat(_toConsumableArray(result[_name2]), [String(value)]);
120
+ }
121
+ }
122
+ }
123
+ }
124
+ onSubmit(result);
125
+ };
126
+ return {
127
+ formRef: formRef,
128
+ formData: formData
129
+ };
130
+ };
@@ -13,6 +13,8 @@ var _exportNames = {
13
13
  IS_REACT_18: true,
14
14
  safeUseId: true,
15
15
  isNumber: true,
16
+ mergeRefs: true,
17
+ setRefList: true,
16
18
  isEmpty: true,
17
19
  constants: true
18
20
  };
@@ -53,17 +55,30 @@ Object.defineProperty(exports, "isNumber", {
53
55
  return _isNumber.isNumber;
54
56
  }
55
57
  });
58
+ Object.defineProperty(exports, "mergeRefs", {
59
+ enumerable: true,
60
+ get: function get() {
61
+ return _setRefList.mergeRefs;
62
+ }
63
+ });
56
64
  Object.defineProperty(exports, "safeUseId", {
57
65
  enumerable: true,
58
66
  get: function get() {
59
67
  return _react.safeUseId;
60
68
  }
61
69
  });
70
+ Object.defineProperty(exports, "setRefList", {
71
+ enumerable: true,
72
+ get: function get() {
73
+ return _setRefList.setRefList;
74
+ }
75
+ });
62
76
  var _canUseDOM = /*#__PURE__*/require("./canUseDOM");
63
77
  var _extractTextFrom = /*#__PURE__*/require("./extractTextFrom");
64
78
  var _getSizeValueFromProp = /*#__PURE__*/require("./getSizeValueFromProp");
65
79
  var _react = /*#__PURE__*/require("./react");
66
80
  var _isNumber = /*#__PURE__*/require("./isNumber");
81
+ var _setRefList = /*#__PURE__*/require("./setRefList");
67
82
  var _isEmpty = /*#__PURE__*/require("./isEmpty");
68
83
  var _constants = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./constants"));
69
84
  exports.constants = _constants;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.mergeRefs = mergeRefs;
7
+ exports.setRefList = setRefList;
8
+ function mergeRefs() {
9
+ for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
10
+ refs[_key] = arguments[_key];
11
+ }
12
+ return function (val) {
13
+ setRefList.apply(void 0, [val].concat(refs));
14
+ };
15
+ }
16
+ function setRefList(val) {
17
+ for (var _len2 = arguments.length, refs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
18
+ refs[_key2 - 1] = arguments[_key2];
19
+ }
20
+ refs.forEach(function (ref) {
21
+ if (typeof ref === 'function') {
22
+ ref(val);
23
+ } else if (ref != null) {
24
+ ref.current = val;
25
+ }
26
+ });
27
+ }
@@ -1,4 +1,4 @@
1
- var _excluded = ["className", "isDoubleCalendar", "opened", "label", "leftHelper", "contentLeft", "contentRight", "view", "size", "readOnly", "disabled", "dividerVariant", "dividerIcon", "defaultFirstDate", "defaultSecondDate", "firstValueError", "secondValueError", "firstValueSuccess", "secondValueSuccess", "firstPlaceholder", "secondPlaceholder", "firstTextfieldContentLeft", "firstTextfieldContentRight", "secondTextfieldContentLeft", "secondTextfieldContentRight", "firstTextfieldTextBefore", "secondTextfieldTextBefore", "firstTextfieldTextAfter", "secondTextfieldTextAfter", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "onToggle", "onChangeFirstValue", "onChangeSecondValue", "onCommitFirstDate", "onCommitSecondDate", "onFocusFirstTextfield", "onFocusSecondTextfield", "onBlurFirstTextfield", "onBlurSecondTextfield"];
1
+ var _excluded = ["className", "isDoubleCalendar", "opened", "label", "leftHelper", "contentLeft", "contentRight", "view", "size", "readOnly", "disabled", "name", "dividerVariant", "dividerIcon", "defaultFirstDate", "defaultSecondDate", "firstValueError", "secondValueError", "firstValueSuccess", "secondValueSuccess", "firstPlaceholder", "secondPlaceholder", "firstTextfieldContentLeft", "firstTextfieldContentRight", "secondTextfieldContentLeft", "secondTextfieldContentRight", "firstTextfieldTextBefore", "secondTextfieldTextBefore", "firstTextfieldTextAfter", "secondTextfieldTextAfter", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "onToggle", "onChangeFirstValue", "onChangeSecondValue", "onCommitFirstDate", "onCommitSecondDate", "onFocusFirstTextfield", "onFocusSecondTextfield", "onBlurFirstTextfield", "onBlurSecondTextfield"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -14,11 +14,12 @@ import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '.
14
14
  import { useDatePicker } from '../hooks/useDatePicker';
15
15
  import { classes } from '../DatePicker.tokens';
16
16
  import { useKeyNavigation } from '../hooks/useKeyboardNavigation';
17
+ import { setInitValue } from '../utils/setInitValue';
17
18
  import { base as sizeCSS } from './variations/_size/base';
18
19
  import { base as viewCSS } from './variations/_view/base';
19
20
  import { base as disabledCSS } from './variations/_disabled/base';
20
21
  import { base as readOnlyCSS } from './variations/_readonly/base';
21
- import { LeftHelper, StyledLabel, StyledRange, base } from './RangeDate.styles';
22
+ import { LeftHelper, StyledLabel, StyledRange, InputHidden, base } from './RangeDate.styles';
22
23
  import { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';
23
24
  export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
24
25
  return /*#__PURE__*/forwardRef(function (_ref, ref) {
@@ -38,6 +39,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
38
39
  readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
39
40
  _ref$disabled = _ref.disabled,
40
41
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
42
+ name = _ref.name,
41
43
  _ref$dividerVariant = _ref.dividerVariant,
42
44
  dividerVariant = _ref$dividerVariant === void 0 ? 'dash' : _ref$dividerVariant,
43
45
  dividerIcon = _ref.dividerIcon,
@@ -97,6 +99,8 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
97
99
  rest = _objectWithoutProperties(_ref, _excluded);
98
100
  var rangeRef = ref && 'current' in ref ? ref : /*#__PURE__*/createRef();
99
101
  var rootRef = useRef(null);
102
+ var innerRefFirst = useRef(null);
103
+ var innerRefSecond = useRef(null);
100
104
  var _useState = useState(rangeRef === null || rangeRef === void 0 || (_rangeRef$current = rangeRef.current) === null || _rangeRef$current === void 0 ? void 0 : _rangeRef$current.firstTextField()),
101
105
  _useState2 = _slicedToArray(_useState, 2),
102
106
  firstInputRef = _useState2[0],
@@ -182,6 +186,22 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
182
186
  onToggle: handleToggle
183
187
  }),
184
188
  onKeyDown = _useKeyNavigation.onKeyDown;
189
+ useEffect(function () {
190
+ if (innerRefSecond.current) {
191
+ innerRefSecond.current.addEventListener('setInitValue', function (e) {
192
+ var firstElement = innerRefFirst.current;
193
+ var firstValueInit = String(firstElement.getAttribute('defaultValue'));
194
+ var secondValueInit = setInitValue(e);
195
+ handleCommitFirstDate(firstValueInit, true, false);
196
+ handleCommitSecondDate(secondValueInit, true, false);
197
+ });
198
+ }
199
+ return function () {
200
+ if (innerRefSecond.current) {
201
+ innerRefSecond.current.addEventListener('setInitValue', function () {});
202
+ }
203
+ };
204
+ }, [innerRefSecond]);
185
205
  var RangeComponent = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledRange, {
186
206
  ref: rangeRef,
187
207
  dividerIcon: dividerIcon,
@@ -208,6 +228,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
208
228
  secondValueSuccess: secondValueSuccess,
209
229
  onChangeFirstValue: handleChangeFirstValue,
210
230
  onChangeSecondValue: handleChangeSecondValue,
231
+ name: name,
211
232
  onSearchFirstValue: function onSearchFirstValue(_, date) {
212
233
  handleCommitFirstDate(String(date), true, false);
213
234
  if (!calendarSecondValue || secondValueError) {
@@ -295,7 +316,21 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
295
316
  setIsInnerOpen(false);
296
317
  }
297
318
  }
298
- }), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, null, leftHelper));
319
+ }), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, null, leftHelper), /*#__PURE__*/React.createElement(InputHidden, {
320
+ name: name,
321
+ type: "hidden",
322
+ datatype: "datepicker-double",
323
+ "data-datepicker": "from",
324
+ value: inputFirstValue,
325
+ ref: innerRefFirst
326
+ }), /*#__PURE__*/React.createElement(InputHidden, {
327
+ name: name,
328
+ type: "hidden",
329
+ datatype: "datepicker-double",
330
+ "data-datepicker": "to",
331
+ value: inputSecondValue,
332
+ ref: innerRefSecond
333
+ }));
299
334
  });
300
335
  };
301
336
  export var datePickerRangeConfig = {