@salutejs/plasma-new-hope 0.141.2-canary.1412.10789995138.0 → 0.142.0-canary.1421.10790809666.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. package/cjs/components/Drawer/Drawer.css +3 -4
  2. package/cjs/components/Drawer/Drawer.js +1 -1
  3. package/cjs/components/Drawer/hooks/useDrawer.js +1 -1
  4. package/cjs/components/Modal/Modal.css +3 -4
  5. package/cjs/components/Modal/hooks/useModal.js +1 -1
  6. package/cjs/components/Notification/NotificationsProvider.css +3 -4
  7. package/cjs/components/Popup/Popup.css +3 -4
  8. package/cjs/components/Popup/Popup.js +38 -159
  9. package/cjs/components/Popup/Popup.js.map +1 -1
  10. package/cjs/components/Popup/Popup.styles.js +9 -21
  11. package/cjs/components/Popup/Popup.styles.js.map +1 -1
  12. package/cjs/components/Popup/Popup.styles_141jyqa.css +3 -0
  13. package/cjs/components/Popup/PopupContext.js +0 -3
  14. package/cjs/components/Popup/PopupContext.js.map +1 -1
  15. package/cjs/components/Popup/hooks/usePopup.js +1 -1
  16. package/cjs/components/Popup/hooks/usePopup.js.map +1 -1
  17. package/cjs/components/TextArea/TextArea.js +4 -2
  18. package/cjs/components/TextArea/TextArea.js.map +1 -1
  19. package/cjs/index.css +3 -4
  20. package/cjs/index.js +3 -0
  21. package/cjs/index.js.map +1 -1
  22. package/cjs/utils/index.js.map +1 -1
  23. package/cjs/utils/setRefList.js +28 -0
  24. package/cjs/utils/setRefList.js.map +1 -0
  25. package/emotion/cjs/components/Popup/Popup.js +38 -160
  26. package/emotion/cjs/components/Popup/Popup.styles.js +5 -25
  27. package/emotion/cjs/components/Popup/PopupContext.js +0 -3
  28. package/emotion/cjs/components/Popup/hooks/usePopup.js +1 -1
  29. package/emotion/cjs/components/TextArea/TextArea.js +4 -3
  30. package/emotion/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +68 -0
  31. package/emotion/cjs/examples/plasma_b2c/components/Modal/Modal.stories.tsx +1 -1
  32. package/emotion/cjs/examples/plasma_b2c/components/Popup/Popup.stories.tsx +1 -1
  33. package/emotion/cjs/examples/plasma_web/components/Modal/Modal.stories.tsx +1 -1
  34. package/emotion/cjs/examples/plasma_web/components/Popup/Popup.stories.tsx +1 -1
  35. package/emotion/cjs/utils/index.js +15 -0
  36. package/emotion/cjs/utils/setRefList.js +27 -0
  37. package/emotion/es/components/Popup/Popup.js +39 -160
  38. package/emotion/es/components/Popup/Popup.styles.js +4 -24
  39. package/emotion/es/components/Popup/PopupContext.js +0 -3
  40. package/emotion/es/components/Popup/hooks/usePopup.js +1 -1
  41. package/emotion/es/components/TextArea/TextArea.js +5 -4
  42. package/emotion/es/examples/plasma_b2c/components/Form/Form.stories.tsx +68 -0
  43. package/emotion/es/examples/plasma_b2c/components/Modal/Modal.stories.tsx +1 -1
  44. package/emotion/es/examples/plasma_b2c/components/Popup/Popup.stories.tsx +1 -1
  45. package/emotion/es/examples/plasma_web/components/Modal/Modal.stories.tsx +1 -1
  46. package/emotion/es/examples/plasma_web/components/Popup/Popup.stories.tsx +1 -1
  47. package/emotion/es/utils/index.js +1 -0
  48. package/emotion/es/utils/setRefList.js +20 -0
  49. package/es/components/Drawer/Drawer.css +3 -4
  50. package/es/components/Drawer/Drawer.js +1 -1
  51. package/es/components/Drawer/hooks/useDrawer.js +1 -1
  52. package/es/components/Modal/Modal.css +3 -4
  53. package/es/components/Modal/hooks/useModal.js +1 -1
  54. package/es/components/Notification/NotificationsProvider.css +3 -4
  55. package/es/components/Popup/Popup.css +3 -4
  56. package/es/components/Popup/Popup.js +40 -161
  57. package/es/components/Popup/Popup.js.map +1 -1
  58. package/es/components/Popup/Popup.styles.js +10 -20
  59. package/es/components/Popup/Popup.styles.js.map +1 -1
  60. package/es/components/Popup/Popup.styles_141jyqa.css +3 -0
  61. package/es/components/Popup/PopupContext.js +0 -3
  62. package/es/components/Popup/PopupContext.js.map +1 -1
  63. package/es/components/Popup/hooks/usePopup.js +1 -1
  64. package/es/components/Popup/hooks/usePopup.js.map +1 -1
  65. package/es/components/TextArea/TextArea.js +4 -2
  66. package/es/components/TextArea/TextArea.js.map +1 -1
  67. package/es/index.css +3 -4
  68. package/es/index.js +1 -0
  69. package/es/index.js.map +1 -1
  70. package/es/utils/index.js.map +1 -1
  71. package/es/utils/setRefList.js +23 -0
  72. package/es/utils/setRefList.js.map +1 -0
  73. package/package.json +4 -3
  74. package/styled-components/cjs/components/Popup/Popup.js +38 -160
  75. package/styled-components/cjs/components/Popup/Popup.styles.js +4 -7
  76. package/styled-components/cjs/components/Popup/PopupContext.js +0 -3
  77. package/styled-components/cjs/components/Popup/hooks/usePopup.js +1 -1
  78. package/styled-components/cjs/components/TextArea/TextArea.js +3 -2
  79. package/styled-components/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +68 -0
  80. package/styled-components/cjs/examples/plasma_b2c/components/Modal/Modal.stories.tsx +1 -1
  81. package/styled-components/cjs/examples/plasma_b2c/components/Popup/Popup.stories.tsx +1 -1
  82. package/styled-components/cjs/examples/plasma_web/components/Modal/Modal.stories.tsx +1 -1
  83. package/styled-components/cjs/examples/plasma_web/components/Popup/Popup.stories.tsx +1 -1
  84. package/styled-components/cjs/utils/index.js +15 -0
  85. package/styled-components/cjs/utils/setRefList.js +27 -0
  86. package/styled-components/es/components/Popup/Popup.js +39 -160
  87. package/styled-components/es/components/Popup/Popup.styles.js +3 -6
  88. package/styled-components/es/components/Popup/PopupContext.js +0 -3
  89. package/styled-components/es/components/Popup/hooks/usePopup.js +1 -1
  90. package/styled-components/es/components/TextArea/TextArea.js +4 -3
  91. package/styled-components/es/examples/plasma_b2c/components/Form/Form.stories.tsx +68 -0
  92. package/styled-components/es/examples/plasma_b2c/components/Modal/Modal.stories.tsx +1 -1
  93. package/styled-components/es/examples/plasma_b2c/components/Popup/Popup.stories.tsx +1 -1
  94. package/styled-components/es/examples/plasma_web/components/Modal/Modal.stories.tsx +1 -1
  95. package/styled-components/es/examples/plasma_web/components/Popup/Popup.stories.tsx +1 -1
  96. package/styled-components/es/utils/index.js +1 -0
  97. package/styled-components/es/utils/setRefList.js +20 -0
  98. package/types/components/Popup/Popup.d.ts +1 -1
  99. package/types/components/Popup/Popup.d.ts.map +1 -1
  100. package/types/components/Popup/Popup.styles.d.ts +0 -1
  101. package/types/components/Popup/Popup.styles.d.ts.map +1 -1
  102. package/types/components/Popup/PopupContext.d.ts.map +1 -1
  103. package/types/utils/index.d.ts +1 -0
  104. package/types/utils/index.d.ts.map +1 -1
  105. package/types/utils/setRefList.d.ts +6 -0
  106. package/types/utils/setRefList.d.ts.map +1 -0
  107. package/cjs/components/Popup/Popup.styles_8h77g1.css +0 -4
  108. package/es/components/Popup/Popup.styles_8h77g1.css +0 -4
@@ -21,7 +21,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
21
21
  import React, { forwardRef, useState, createRef, useCallback } from 'react';
22
22
  import { css } from '@emotion/react';
23
23
  import { useResizeObserver } from '@salutejs/plasma-core';
24
- import { cx } from '../../utils';
24
+ import { cx, mergeRefs } from '../../utils';
25
25
  import { applyDynamicLabel } from './mixins';
26
26
  import { useAutoResize, ROOT_FONT_SIZE } from './hooks';
27
27
  import { StyledContent, StyledHelpers, StyledLeftHelper, StyledRightHelper, StyledLabel, StyledPlaceholder, StyledTextArea, StyledTextAreaWrapper, StyledContainer, StyledIndicator, StyledOptionalText } from './TextArea.styles';
@@ -38,7 +38,7 @@ var innerPlaceholderUp = classes.innerPlaceholderUp,
38
38
  styledPlaceholder = classes.styledPlaceholder,
39
39
  styledHelpers = classes.styledHelpers;
40
40
  var optionalText = 'optional';
41
- 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,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= */"));
41
+ 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEFyZWEvVGV4dEFyZWEudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlDZ0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0QXJlYS9UZXh0QXJlYS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlU3RhdGUsIGNyZWF0ZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5cbmltcG9ydCB7IGN4LCBtZXJnZVJlZnMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJvb3RQcm9wcyB9IGZyb20gJy4uLy4uL2VuZ2luZXMvdHlwZXMnO1xuXG5pbXBvcnQgeyBhcHBseUR5bmFtaWNMYWJlbCB9IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IHVzZUF1dG9SZXNpemUsIFJPT1RfRk9OVF9TSVpFIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQge1xuICAgIFN0eWxlZENvbnRlbnQsXG4gICAgU3R5bGVkSGVscGVycyxcbiAgICBTdHlsZWRMZWZ0SGVscGVyLFxuICAgIFN0eWxlZFJpZ2h0SGVscGVyLFxuICAgIFN0eWxlZExhYmVsLFxuICAgIFN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIFN0eWxlZFRleHRBcmVhLFxuICAgIFN0eWxlZFRleHRBcmVhV3JhcHBlcixcbiAgICBTdHlsZWRDb250YWluZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yLFxuICAgIFN0eWxlZE9wdGlvbmFsVGV4dCxcbn0gZnJvbSAnLi9UZXh0QXJlYS5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEFyZWEudG9rZW5zJztcbmltcG9ydCB7IGJhc2UgYXMgdmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgc2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgZGlzYWJsZWRDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2Rpc2FibGVkL2Jhc2UnO1xuaW1wb3J0IHR5cGUgeyBUZXh0QXJlYVByb3BzIH0gZnJvbSAnLi9UZXh0QXJlYS50eXBlcyc7XG5cbmNvbnN0IHtcbiAgICBpbm5lclBsYWNlaG9sZGVyVXAsXG4gICAgZm9jdXNlZE91dGVyUGxhY2Vob2xkZXJDb2xvcixcbiAgICBoaWRlUGxhY2VIb2xkZXIsXG4gICAgc3R5bGVkQ29udGFpbmVyLFxuICAgIHN0eWxlZFRleHRBcmVhLFxuICAgIHN0eWxlZFRleHRBcmVhV3JhcHBlcixcbiAgICBzdHlsZWRQbGFjZWhvbGRlcixcbiAgICBzdHlsZWRIZWxwZXJzLFxufSA9IGNsYXNzZXM7XG5cbmNvbnN0IG9wdGlvbmFsVGV4dCA9ICdvcHRpb25hbCc7XG5cbmNvbnN0IGJhc2UgPSBjc3NgXG4gICAgJHthcHBseUR5bmFtaWNMYWJlbH07XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbmA7XG5cbi8vIFRPRE86INCj0LTQsNC70LjRgtGMINC/0L7RgdC70LUg0L7RgtC60LDQt9CwINC+0YIg0YHRgtCw0YDRi9GFINCx0LjQsdC70LjQvtGC0LXQuiBwbGFzbWEtd2ViIC8gcGxhc21hLWIyY1xuY29uc3QgZmFsbGJhY2tTdGF0dXNNYXAgPSB7XG4gICAgJyc6ICdwcmltYXJ5JyxcbiAgICBzdWNjZXNzOiAncG9zaXRpdmUnLFxuICAgIHdhcm5pbmc6ICd3YXJuaW5nJyxcbiAgICBlcnJvcjogJ25lZ2F0aXZlJyxcbn07XG5cbi8vIFRPRE86INCf0LXRgNC10L3QtdGB0YLQuCDRjdGC0L7RgiDQvNC10YLQvtC0INCyINGE0LDQudC7IGFwcGx5RHluYW1pY0xhYmVsLnRzXG5leHBvcnQgY29uc3QgZ2V0RHluYW1pY0xhYmVsQ2xhc3NlcyA9IChwcm9wczogVGV4dEFyZWFQcm9wcywgZm9jdXNlZDogYm9vbGVhbikgPT4ge1xuICAgIGNvbnN0IHsgcmVhZE9ubHksIGxhYmVsLCBsYWJlbFBsYWNlbWVudCwgYXV0b1Jlc2l6ZSwgcm93cywgdmFsdWUsIHNpemUgfSA9IHByb3BzO1xuXG4gICAgLy8g0JTQvtCx0LDQstC40YLRjCDQutC70LDRgdGBINC+0YLQstC10YfQsNGO0YnQuNC5INC30LAg0LjQt9C80LXQvdC10L3QuNC1INGG0LLQtdGC0LAg0L/Qu9C10LnRgdGF0L7Qu9C00LXRgNCwINC/0YDQuCDRhNC+0LrRg9GB0LVcbiAgICBjb25zdCB3aXRoRm9jdXNlZE91dGVyVXBQbGFjZWhvbGRlciA9XG4gICAgICAgICFyZWFkT25seSAmJiBmb2N1c2VkICYmICghbGFiZWwgfHwgbGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicpID8gZm9jdXNlZE91dGVyUGxhY2Vob2xkZXJDb2xvciA6IHVuZGVmaW5lZDtcblxuICAgIC8vINCU0L7QsdCw0LLQuNGC0Ywg0LrQu9Cw0YHRgSDQvtGC0LLQtdGH0LDRjtGJ0LjQuSDQt9CwINC/0L7QtNC90Y/RgtC40LUg0Lgg0YPQvNC10L3RjNGI0LXQvdC40LUg0L/Qu9C10LnRgdGF0L7Qu9C00LXRgNCwXG4gICAgY29uc3Qgd2l0aElubmVyUGxhY2Vob2xkZXJVcCA9XG4gICAgICAgIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmXG4gICAgICAgIGxhYmVsICYmXG4gICAgICAgICFhdXRvUmVzaXplICYmXG4gICAgICAgICFyb3dzICYmXG4gICAgICAgIHNpemUgIT09ICd4cycgJiZcbiAgICAgICAgKCghcmVhZE9ubHkgJiYgKHZhbHVlIHx8IGZvY3VzZWQpKSB8fCAocmVhZE9ubHkgJiYgdmFsdWUpKVxuICAgICAgICAgICAgPyBpbm5lclBsYWNlaG9sZGVyVXBcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgLy8g0JTQvtCx0LDQstC40YLRjCDQutC70LDRgdGBINC+0YLQstC10YfQsNGO0YnQuNC5INC30LAg0YHQutGA0YvRgtC40LUg0L/Qu9C10LnRgdGF0L7Qu9C00LXRgNCwXG4gICAgY29uc3Qgd2l0aEhpZGVQbGFjZWhvbGRlciA9XG4gICAgICAgICh2YWx1ZSAmJiAhbGFiZWwpIHx8XG4gICAgICAgIChsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiAoKGZvY3VzZWQgJiYgIXJlYWRPbmx5KSB8fCB2YWx1ZSkgJiYgbGFiZWwgJiYgKHJvd3MgfHwgYXV0b1Jlc2l6ZSkpIHx8XG4gICAgICAgIChsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyAmJiB2YWx1ZSkgfHxcbiAgICAgICAgKGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmIHNpemUgPT09ICd4cycgJiYgdmFsdWUpXG4gICAgICAgICAgICA/IGhpZGVQbGFjZUhvbGRlclxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gW3dpdGhGb2N1c2VkT3V0ZXJVcFBsYWNlaG9sZGVyLCB3aXRoSW5uZXJQbGFjZWhvbGRlclVwLCB3aXRoSGlkZVBsYWNlaG9sZGVyXTtcbn07XG5cbmV4cG9ydCBjb25zdCB0ZXh0QXJlYVJvb3QgPSAoUm9vdDogUm9vdFByb3BzPEhUTUxUZXh0QXJlYUVsZW1lbnQsIFRleHRBcmVhUHJvcHM+KSA9PlxuICAgIGZvcndhcmRSZWY8SFRNTFRleHRBcmVhRWxlbWVudCwgVGV4dEFyZWFQcm9wcz4oKHByb3BzLCBpbm5lclJlZikgPT4ge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBoZWxwZXJUZXh0LFxuICAgICAgICAgICAgc3RhdHVzLFxuICAgICAgICAgICAgcmVzaXplLFxuICAgICAgICAgICAgcmlnaHRIZWxwZXIsXG4gICAgICAgICAgICBsZWZ0SGVscGVyLFxuICAgICAgICAgICAgY29udGVudFJpZ2h0LFxuICAgICAgICAgICAgYXV0b1Jlc2l6ZSA9IGZhbHNlLFxuICAgICAgICAgICAgbWluQXV0byA9IDAsXG4gICAgICAgICAgICBtYXhBdXRvLFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBsYWJlbFBsYWNlbWVudCA9ICdpbm5lcicsXG4gICAgICAgICAgICBwbGFjZWhvbGRlcixcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgICAgIHdpZHRoLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIHJlcXVpcmVkID0gZmFsc2UsXG4gICAgICAgICAgICByZXF1aXJlZFBsYWNlbWVudCA9ICdyaWdodCcsXG4gICAgICAgICAgICBvcHRpb25hbCA9IGZhbHNlLFxuICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgIHZpZXcsXG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIHN0eWxlLFxuICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgcmVhZE9ubHksXG4gICAgICAgICAgICByb3dzLFxuICAgICAgICAgICAgY29scyxcbiAgICAgICAgICAgIG9uQ2hhbmdlLFxuICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICB9ID0gcHJvcHM7XG5cbiAgICAgICAgY29uc3QgW2hlbHBlcldpZHRoLCBzZXRIZWxwZXJXaWR0aF0gPSB1c2VTdGF0ZTxzdHJpbmc+KHdpZHRoID8gYCR7d2lkdGh9cmVtYCA6ICcxMDAlJyk7XG4gICAgICAgIGNvbnN0IFtmb2N1c2VkLCBzZXRGb2N1c2VkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICAgICAgY29uc3QgW3VuY29udHJvbGxlZFZhbHVlLCBzZXRVbmNvbnRyb2xsZWRWYWx1ZV0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgICAgICAgY29uc3Qgb3V0ZXJSZWYgPSBjcmVhdGVSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4oKTtcblxuICAgICAgICBjb25zdCBpbm5lck9wdGlvbmFsID0gcmVxdWlyZWQgPyBmYWxzZSA6IG9wdGlvbmFsO1xuICAgICAgICBjb25zdCBoYXNIZWxwZXIgPSBCb29sZWFuKGxlZnRIZWxwZXIgfHwgcmlnaHRIZWxwZXIgfHwgaGVscGVyVGV4dCk7XG4gICAgICAgIGNvbnN0IGhhc091dGVyTGFiZWwgPSBCb29sZWFuKGxhYmVsICYmIGxhYmVsUGxhY2VtZW50ID09PSAnb3V0ZXInKTtcbiAgICAgICAgY29uc3QgaGFzSW5uZXJMYWJlbCA9IEJvb2xlYW4obGFiZWwgJiYgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiYgc2l6ZSAhPT0gJ3hzJyk7XG4gICAgICAgIGNvbnN0IGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPSBpbm5lck9wdGlvbmFsICYmICFoYXNPdXRlckxhYmVsO1xuXG4gICAgICAgIGNvbnN0IG92ZXJyaWRkZW5WaWV3ID0gc3RhdHVzICE9PSB1bmRlZmluZWQgPyBmYWxsYmFja1N0YXR1c01hcFtzdGF0dXNdIDogdmlldztcbiAgICAgICAgY29uc3QgdGV4dGFyZWFIZWxwZXJJZCA9IGlkID8gYCR7aWR9LWhlbHBlcmAgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGFwcGx5Q3VzdG9tV2lkdGggPSByZXNpemUgIT09ICdob3Jpem9udGFsJyAmJiByZXNpemUgIT09ICdib3RoJyAmJiAhY29scztcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJMYWJlbCA9IGhhc0lubmVyTGFiZWwgPyBsYWJlbCA6IHBsYWNlaG9sZGVyO1xuXG4gICAgICAgIGNvbnN0IHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MgPSByZXF1aXJlZFBsYWNlbWVudCA9PT0gJ3JpZ2h0JyA/ICdhbGlnbi1yaWdodCAnIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIHVzZVJlc2l6ZU9ic2VydmVyKG91dGVyUmVmLCAoY3VycmVudEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgd2lkdGg6IGlubGluZVdpZHRoIH0gPSBjdXJyZW50RWxlbWVudC5zdHlsZTtcblxuICAgICAgICAgICAgaWYgKGlubGluZVdpZHRoIHx8IGNvbHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHdpZHRoOiBlbGVtZW50V2lkdGggfSA9IGN1cnJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIHNldEhlbHBlcldpZHRoKGAke2VsZW1lbnRXaWR0aCAvIFJPT1RfRk9OVF9TSVpFfXJlbWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB1c2VBdXRvUmVzaXplKGF1dG9SZXNpemUsIG91dGVyUmVmLCB2YWx1ZSwgbWluQXV0bywgbWF4QXV0byk7XG5cbiAgICAgICAgY29uc3Qgb25Gb2N1c0hhbmRsZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkKHRydWUpO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgY29uc3Qgb25CbHVySGFuZGxlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgICAgIHNldEZvY3VzZWQoZmFsc2UpO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgY29uc3Qgb25DaGFuZ2VIYW5kbGVyID0gdXNlQ2FsbGJhY2soXG4gICAgICAgICAgICAoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSU5GTzog0JTQu9GPINC60YDQsNC50L3QtSDRgNC10LTQutC40YUg0LrQtdC50YHQvtCyLCDQutC+0LPQtNCwIHZhbHVlINGB0L3QsNGA0YPQttC4INC90LUg0LrQvtC90YLRgNC+0LvQuNGA0YPQtdGC0YHRj1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFVuY29udHJvbGxlZFZhbHVlKGV2ZW50Py50YXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhldmVudCk7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U/LihldmVudCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW3ZhbHVlLCBvbkNoYW5nZV0sXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgZHluYW1pY0xhYmVsQ2xhc3NlcyA9IGdldER5bmFtaWNMYWJlbENsYXNzZXMoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICByZWFkT25seSxcbiAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUgfHwgdW5jb250cm9sbGVkVmFsdWUgfHwgZGVmYXVsdFZhbHVlLFxuICAgICAgICAgICAgICAgIC4uLihyb3dzID8geyByb3dzIH0gOiB7IGF1dG9SZXNpemUgfSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZm9jdXNlZCxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBvcHRpb25hbFRleHROb2RlID0gaW5uZXJPcHRpb25hbCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRPcHRpb25hbFRleHQ+XG4gICAgICAgICAgICAgICAge0Jvb2xlYW4oaGFzUGxhY2Vob2xkZXJPcHRpb25hbCA/IHBsYWNlaG9sZGVyTGFiZWwgOiBsYWJlbCkgJiYgJ1xceGEwJ31cbiAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0fVxuICAgICAgICAgICAgPC9TdHlsZWRPcHRpb25hbFRleHQ+XG4gICAgICAgICkgOiBudWxsO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8Um9vdFxuICAgICAgICAgICAgICAgIHZpZXc9e292ZXJyaWRkZW5WaWV3fVxuICAgICAgICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogaGVscGVyV2lkdGgsIC4uLnN0eWxlIH19XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2hhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbmRpY2F0b3IgY2xhc3NOYW1lPXtjeChjbGFzc2VzLm91dGVyTGFiZWxQbGFjZW1lbnQsIHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MpfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZExhYmVsPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KHN0eWxlZENvbnRhaW5lciwgLi4uZHluYW1pY0xhYmVsQ2xhc3Nlcyl9XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPXtoZWxwZXJXaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17b25Gb2N1c0hhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17b25CbHVySGFuZGxlcn1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiAhaGFzT3V0ZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge2NvbnRlbnRSaWdodCAmJiA8U3R5bGVkQ29udGVudD57Y29udGVudFJpZ2h0fTwvU3R5bGVkQ29udGVudD59XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYVdyYXBwZXIgY2xhc3NOYW1lPXtzdHlsZWRUZXh0QXJlYVdyYXBwZXJ9IGhhc0hlbHBlcj17aGFzSGVscGVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVkVGV4dEFyZWF9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0NvbnRlbnRSaWdodD17Qm9vbGVhbihjb250ZW50UmlnaHQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0hlbHBlcj17aGFzSGVscGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGx5Q3VzdG9tV2lkdGg9e2FwcGx5Q3VzdG9tV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXttZXJnZVJlZnMob3V0ZXJSZWYsIGlubmVyUmVmKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXthdXRvUmVzaXplID8gbWluQXV0byA6IGhlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17dGV4dGFyZWFIZWxwZXJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd3M9e3Jvd3N9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNpemU9e3Jlc2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0QXJlYVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIHtoYXNIZWxwZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhlbHBlcnMgY2xhc3NOYW1lPXtzdHlsZWRIZWxwZXJzfSBpZD17dGV4dGFyZWFIZWxwZXJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyhsZWZ0SGVscGVyIHx8IGhlbHBlclRleHQpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZExlZnRIZWxwZXI+e2xlZnRIZWxwZXIgfHwgaGVscGVyVGV4dH08L1N0eWxlZExlZnRIZWxwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmlnaHRIZWxwZXIgJiYgPFN0eWxlZFJpZ2h0SGVscGVyPntyaWdodEhlbHBlcn08L1N0eWxlZFJpZ2h0SGVscGVyPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSGVscGVycz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge3BsYWNlaG9sZGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ29udGVudFJpZ2h0PXtCb29sZWFuKGNvbnRlbnRSaWdodCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZWRQbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cGxhY2Vob2xkZXJMYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgb3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkUGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgICk7XG4gICAgfSk7XG5cbmV4cG9ydCBjb25zdCB0ZXh0QXJlYUNvbmZpZyA9IHtcbiAgICBuYW1lOiAnVGV4dEFyZWEnLFxuICAgIHRhZzogJ2RpdicsXG4gICAgbGF5b3V0OiB0ZXh0QXJlYVJvb3QsXG4gICAgYmFzZSxcbiAgICB2YXJpYXRpb25zOiB7XG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIGNzczogc2l6ZUNTUyxcbiAgICAgICAgfSxcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgY3NzOiB2aWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgY3NzOiBkaXNhYmxlZENTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZWFkT25seToge1xuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgfSxcbiAgICBkZWZhdWx0czoge1xuICAgICAgICBzaXplOiAnbScsXG4gICAgICAgIHZpZXc6ICdwcmltYXJ5JyxcbiAgICB9LFxufTtcbiJdfQ== */"));
42
42
 
43
43
  // TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c
44
44
  var fallbackStatusMap = {
@@ -118,7 +118,7 @@ export var textAreaRoot = function textAreaRoot(Root) {
118
118
  _useState6 = _slicedToArray(_useState5, 2),
119
119
  uncontrolledValue = _useState6[0],
120
120
  setUncontrolledValue = _useState6[1];
121
- var outerRef = innerRef && 'current' in innerRef ? innerRef : /*#__PURE__*/createRef();
121
+ var outerRef = /*#__PURE__*/createRef();
122
122
  var innerOptional = required ? false : optional;
123
123
  var hasHelper = Boolean(leftHelper || rightHelper || helperText);
124
124
  var hasOuterLabel = Boolean(label && labelPlacement === 'outer');
@@ -149,6 +149,7 @@ export var textAreaRoot = function textAreaRoot(Root) {
149
149
  if (value === undefined) {
150
150
  setUncontrolledValue(event === null || event === void 0 ? void 0 : event.target.value);
151
151
  }
152
+ console.log(event);
152
153
  onChange === null || onChange === void 0 || onChange(event);
153
154
  }, [value, onChange]);
154
155
  var dynamicLabelClasses = getDynamicLabelClasses(_objectSpread({
@@ -190,7 +191,7 @@ export var textAreaRoot = function textAreaRoot(Root) {
190
191
  hasContentRight: Boolean(contentRight),
191
192
  hasHelper: hasHelper,
192
193
  applyCustomWidth: applyCustomWidth,
193
- ref: outerRef,
194
+ ref: mergeRefs(outerRef, innerRef),
194
195
  disabled: disabled,
195
196
  height: autoResize ? minAuto : height,
196
197
  width: width,
@@ -0,0 +1,68 @@
1
+ import { useForm } 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
+
14
+ type StoryDropdownProps = {};
15
+
16
+ const langName = 'language';
17
+ const itemsRadiobox = [
18
+ { langName, value: 'c', label: 'C', disabled: false },
19
+ { langName, value: 'cpp', label: 'C++', disabled: false },
20
+ { langName, value: 'assembly', label: 'Assembly', disabled: false },
21
+ ];
22
+
23
+ const DefaultForm = () => {
24
+ const { register, handleSubmit } = useForm();
25
+ const onSubmit = (data) => {
26
+ console.log(data);
27
+ };
28
+
29
+ return (
30
+ <form onSubmit={handleSubmit(onSubmit)} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
31
+ <TextField {...register('textfield')} placeholder="Textfield" required={false} />
32
+ <TextArea {...register('textarea')} autoResize placeholder="Textarea" />
33
+ <Checkbox {...register('checkbox')} label="Checkbox" />
34
+ <Switch {...register('switch')} label="Switch" labelPosition="after" />
35
+ <RadioGroup aria-labelledby="radiogroup-title-id">
36
+ <div id="radiogroup-title-id" style={{ margin: '1rem 0', fontWeight: '600' }}>
37
+ Выберите язык программирования для изучения.
38
+ </div>
39
+ {itemsRadiobox.map((item) => (
40
+ <Radiobox
41
+ key={item.value}
42
+ value={item.value}
43
+ label={item.label}
44
+ disabled={item.disabled}
45
+ {...register('radiobox')}
46
+ />
47
+ ))}
48
+ </RadioGroup>
49
+ <Button type="submit">Отправить</Button>
50
+ </form>
51
+ );
52
+ };
53
+
54
+ const meta: Meta<StoryDropdownProps> = {
55
+ title: 'plasma_b2c/Form',
56
+ decorators: [WithTheme],
57
+ component: DefaultForm,
58
+ };
59
+
60
+ export default meta;
61
+
62
+ const StoryNormal = () => {
63
+ return <DefaultForm />;
64
+ };
65
+
66
+ export const Default: StoryObj<StoryDropdownProps> = {
67
+ render: () => <StoryNormal />,
68
+ };
@@ -80,7 +80,7 @@ const StyledButton = styled(Button)`
80
80
  `;
81
81
 
82
82
  const StyledWrapper = styled.div`
83
- height: 300px;
83
+ height: 1200px;
84
84
  `;
85
85
 
86
86
  const Content = styled.div`
@@ -55,7 +55,7 @@ const StyledButton = styled(Button)`
55
55
  `;
56
56
 
57
57
  const StyledWrapper = styled.div`
58
- height: 600px;
58
+ height: 1200px;
59
59
  `;
60
60
 
61
61
  const OtherContent = styled.div`
@@ -80,7 +80,7 @@ const StyledButton = styled(Button)`
80
80
  `;
81
81
 
82
82
  const StyledWrapper = styled.div`
83
- height: 300px;
83
+ height: 1200px;
84
84
  `;
85
85
 
86
86
  const Content = styled.div`
@@ -55,7 +55,7 @@ const StyledButton = styled(Button)`
55
55
  `;
56
56
 
57
57
  const StyledWrapper = styled.div`
58
- height: 600px;
58
+ height: 1200px;
59
59
  `;
60
60
 
61
61
  const OtherContent = styled.div`
@@ -3,6 +3,7 @@ export { extractTextFrom } from './extractTextFrom';
3
3
  export { getSizeValueFromProp } from './getSizeValueFromProp';
4
4
  export { IS_REACT_18, safeUseId } from './react';
5
5
  export { isNumber } from './isNumber';
6
+ export { mergeRefs, setRefList } from './setRefList';
6
7
  export { isEmpty } from './isEmpty';
7
8
  export * from './getPopoverPlacement';
8
9
  export var cx = function cx() {
@@ -0,0 +1,20 @@
1
+ export function mergeRefs() {
2
+ for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
3
+ refs[_key] = arguments[_key];
4
+ }
5
+ return function (val) {
6
+ setRefList.apply(void 0, [val].concat(refs));
7
+ };
8
+ }
9
+ export function setRefList(val) {
10
+ for (var _len2 = arguments.length, refs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
11
+ refs[_key2 - 1] = arguments[_key2];
12
+ }
13
+ refs.forEach(function (ref) {
14
+ if (typeof ref === 'function') {
15
+ ref(val);
16
+ } else if (ref != null) {
17
+ ref.current = val;
18
+ }
19
+ });
20
+ }
@@ -1,7 +1,6 @@
1
- .Popup_styles_8h77g1_svkpf6n__4eb91f42{position:fixed;top:0;left:0;right:0;bottom:0;}.Popup_styles_8h77g1_svkpf6n__4eb91f42:empty{width:0;pointer-events:none;}.Popup_styles_8h77g1_svkpf6n__4eb91f42:not(:empty){width:auto;pointer-events:auto;}
2
- .Popup_styles_8h77g1_s1cjo3us__4eb91f42{width:0;}
3
- .Popup_styles_8h77g1_p5u7tqa__4eb91f42{position:relative;max-width:100%;pointer-events:all;}
4
- .Popup_styles_8h77g1_p1f40oul__4eb91f42{position:absolute;z-index:var(--p1f40oul-0);left:var(--p1f40oul-1);right:var(--p1f40oul-2);top:var(--p1f40oul-3);bottom:var(--p1f40oul-4);-webkit-transform:var(--p1f40oul-5);-ms-transform:var(--p1f40oul-5);transform:var(--p1f40oul-5);}
1
+
2
+ .Popup_styles_141jyqa_p1cjo3us__ed39c2a3{position:relative;max-width:100%;pointer-events:all;}
3
+ .Popup_styles_141jyqa_p5u7tqa__ed39c2a3{position:absolute;z-index:var(--p5u7tqa-0);left:var(--p5u7tqa-1);right:var(--p5u7tqa-2);top:var(--p5u7tqa-3);bottom:var(--p5u7tqa-4);-webkit-transform:var(--p5u7tqa-5);-ms-transform:var(--p5u7tqa-5);transform:var(--p5u7tqa-5);}
5
4
 
6
5
  .Overlay_styles_cxej3y_s1afr8la__70d4dd9a{position:fixed;inset:0;z-index:var(--s1afr8la-0);--plasma_private-overlay-background-color:var(--s1afr8la-1);--plasma_private-overlay-backdrop-filter:var(--s1afr8la-2);background:var(--s1afr8la-3);-webkit-backdrop-filter:var(--s1afr8la-4);backdrop-filter:var(--s1afr8la-4);cursor:var(--s1afr8la-5);}
7
6
 
@@ -4,9 +4,9 @@ import { useFocusTrap, useForkRef, safeUseId } from '@salutejs/plasma-core';
4
4
  import '@linaria/core';
5
5
  import { component, mergeConfig } from '../../engines/common.js';
6
6
  import { usePopupContext } from '../Popup/PopupContext.js';
7
- import 'react-dom';
8
7
  import { getSizeValueFromProp } from '../../utils/getSizeValueFromProp.js';
9
8
  import '../../utils/react.js';
9
+ import 'react-dom';
10
10
  import '@linaria/react';
11
11
  import { DEFAULT_Z_INDEX } from '../Popup/utils/index.js';
12
12
  import { Overlay } from '../Overlay/Overlay.js';
@@ -2,9 +2,9 @@ import { objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPlugin
2
2
  import { useRef, useCallback, useEffect } from 'react';
3
3
  import { getIdLastDrawer, hasDrawers } from '../DrawerContext.js';
4
4
  import { usePopupContext } from '../../Popup/PopupContext.js';
5
- import 'react-dom';
6
5
  import '@salutejs/plasma-core';
7
6
  import '../../../utils/react.js';
7
+ import 'react-dom';
8
8
  import '@linaria/react';
9
9
 
10
10
  var ESCAPE_KEYCODE = 27;
@@ -1,6 +1,5 @@
1
- .Popup_styles_8h77g1_svkpf6n__4eb91f42{position:fixed;top:0;left:0;right:0;bottom:0;}.Popup_styles_8h77g1_svkpf6n__4eb91f42:empty{width:0;pointer-events:none;}.Popup_styles_8h77g1_svkpf6n__4eb91f42:not(:empty){width:auto;pointer-events:auto;}
2
- .Popup_styles_8h77g1_s1cjo3us__4eb91f42{width:0;}
3
- .Popup_styles_8h77g1_p5u7tqa__4eb91f42{position:relative;max-width:100%;pointer-events:all;}
4
- .Popup_styles_8h77g1_p1f40oul__4eb91f42{position:absolute;z-index:var(--p1f40oul-0);left:var(--p1f40oul-1);right:var(--p1f40oul-2);top:var(--p1f40oul-3);bottom:var(--p1f40oul-4);-webkit-transform:var(--p1f40oul-5);-ms-transform:var(--p1f40oul-5);transform:var(--p1f40oul-5);}
1
+
2
+ .Popup_styles_141jyqa_p1cjo3us__ed39c2a3{position:relative;max-width:100%;pointer-events:all;}
3
+ .Popup_styles_141jyqa_p5u7tqa__ed39c2a3{position:absolute;z-index:var(--p5u7tqa-0);left:var(--p5u7tqa-1);right:var(--p5u7tqa-2);top:var(--p5u7tqa-3);bottom:var(--p5u7tqa-4);-webkit-transform:var(--p5u7tqa-5);-ms-transform:var(--p5u7tqa-5);transform:var(--p5u7tqa-5);}
5
4
 
6
5
  .Overlay_styles_cxej3y_s1afr8la__70d4dd9a{position:fixed;inset:0;z-index:var(--s1afr8la-0);--plasma_private-overlay-background-color:var(--s1afr8la-1);--plasma_private-overlay-backdrop-filter:var(--s1afr8la-2);background:var(--s1afr8la-3);-webkit-backdrop-filter:var(--s1afr8la-4);backdrop-filter:var(--s1afr8la-4);cursor:var(--s1afr8la-5);}
@@ -2,9 +2,9 @@ import { objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPlugin
2
2
  import { useCallback, useEffect } from 'react';
3
3
  import { getIdLastModal } from '../ModalContext.js';
4
4
  import { usePopupContext } from '../../Popup/PopupContext.js';
5
- import 'react-dom';
6
5
  import '@salutejs/plasma-core';
7
6
  import '../../../utils/react.js';
7
+ import 'react-dom';
8
8
  import '@linaria/react';
9
9
 
10
10
  var ESCAPE_KEYCODE = 27;
@@ -1,7 +1,6 @@
1
- .Popup_styles_8h77g1_svkpf6n__4eb91f42{position:fixed;top:0;left:0;right:0;bottom:0;}.Popup_styles_8h77g1_svkpf6n__4eb91f42:empty{width:0;pointer-events:none;}.Popup_styles_8h77g1_svkpf6n__4eb91f42:not(:empty){width:auto;pointer-events:auto;}
2
- .Popup_styles_8h77g1_s1cjo3us__4eb91f42{width:0;}
3
- .Popup_styles_8h77g1_p5u7tqa__4eb91f42{position:relative;max-width:100%;pointer-events:all;}
4
- .Popup_styles_8h77g1_p1f40oul__4eb91f42{position:absolute;z-index:var(--p1f40oul-0);left:var(--p1f40oul-1);right:var(--p1f40oul-2);top:var(--p1f40oul-3);bottom:var(--p1f40oul-4);-webkit-transform:var(--p1f40oul-5);-ms-transform:var(--p1f40oul-5);transform:var(--p1f40oul-5);}
1
+
2
+ .Popup_styles_141jyqa_p1cjo3us__ed39c2a3{position:relative;max-width:100%;pointer-events:all;}
3
+ .Popup_styles_141jyqa_p5u7tqa__ed39c2a3{position:absolute;z-index:var(--p5u7tqa-0);left:var(--p5u7tqa-1);right:var(--p5u7tqa-2);top:var(--p5u7tqa-3);bottom:var(--p5u7tqa-4);-webkit-transform:var(--p5u7tqa-5);-ms-transform:var(--p5u7tqa-5);transform:var(--p5u7tqa-5);}
5
4
 
6
5
  .base_1x0spnh_b1ty39ru__fb659d61{color:var(--plasma-button-color);background-color:var(--plasma-button-background-color);}.base_1x0spnh_b1ty39ru__fb659d61.base_1x0spnh_buttonLoading__fb659d61{background-color:var(--plasma-button-loading-background-color);}.base_1x0spnh_b1ty39ru__fb659d61:hover{color:var(--plasma-button-color-hover,var(--plasma-button-color));background-color:var(--plasma-button-background-color-hover,var(--plasma-button-background-color));scale:var(--plasma-button-scale-hover);}.base_1x0spnh_b1ty39ru__fb659d61:active{color:var(--plasma-button-color-active,var(--plasma-button-color));background-color:var(--plasma-button-background-color-active,var(--plasma-button-background-color));scale:var(---plasma-button-scale-active);}
7
6
 
@@ -1,4 +1,3 @@
1
- .Popup_styles_8h77g1_svkpf6n__4eb91f42{position:fixed;top:0;left:0;right:0;bottom:0;}.Popup_styles_8h77g1_svkpf6n__4eb91f42:empty{width:0;pointer-events:none;}.Popup_styles_8h77g1_svkpf6n__4eb91f42:not(:empty){width:auto;pointer-events:auto;}
2
- .Popup_styles_8h77g1_s1cjo3us__4eb91f42{width:0;}
3
- .Popup_styles_8h77g1_p5u7tqa__4eb91f42{position:relative;max-width:100%;pointer-events:all;}
4
- .Popup_styles_8h77g1_p1f40oul__4eb91f42{position:absolute;z-index:var(--p1f40oul-0);left:var(--p1f40oul-1);right:var(--p1f40oul-2);top:var(--p1f40oul-3);bottom:var(--p1f40oul-4);-webkit-transform:var(--p1f40oul-5);-ms-transform:var(--p1f40oul-5);transform:var(--p1f40oul-5);}
1
+
2
+ .Popup_styles_141jyqa_p1cjo3us__ed39c2a3{position:relative;max-width:100%;pointer-events:all;}
3
+ .Popup_styles_141jyqa_p5u7tqa__ed39c2a3{position:absolute;z-index:var(--p5u7tqa-0);left:var(--p5u7tqa-1);right:var(--p5u7tqa-2);top:var(--p5u7tqa-3);bottom:var(--p5u7tqa-4);-webkit-transform:var(--p5u7tqa-5);-ms-transform:var(--p5u7tqa-5);transform:var(--p5u7tqa-5);}
@@ -1,6 +1,5 @@
1
- import { objectWithoutProperties as _objectWithoutProperties, extends as _extends, slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React, { forwardRef, useRef } from 'react';
3
- import ReactDOM from 'react-dom';
1
+ import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React, { forwardRef, useRef, useState, useEffect } from 'react';
4
3
  import { safeUseId, useForkRef } from '@salutejs/plasma-core';
5
4
  import { cx } from '../../utils/index.js';
6
5
  import { Portal } from '../Portal/Portal.js';
@@ -8,7 +7,6 @@ import { POPUP_PORTAL_ID } from './PopupContext.js';
8
7
  import { PopupRoot } from './PopupRoot.js';
9
8
  import { usePopup } from './hooks/usePopup.js';
10
9
  import { classes } from './Popup.tokens.js';
11
- import { StyledPortalContainer, StyledPortal } from './Popup.styles.js';
12
10
 
13
11
  var _excluded = ["id", "isOpen", "opened", "placement", "offset", "frame", "children", "overlay", "role", "zIndex", "popupInfo", "withAnimation", "className"];
14
12
  var handlePosition = function handlePosition(placement, offset) {
@@ -34,8 +32,8 @@ var handlePosition = function handlePosition(placement, offset) {
34
32
  var bottom;
35
33
  var transform;
36
34
  var placements = placement.split('-');
37
- placements.forEach(function (placementValue) {
38
- switch (placementValue) {
35
+ placements.forEach(function (placement) {
36
+ switch (placement) {
39
37
  case 'left':
40
38
  left = x;
41
39
  break;
@@ -66,139 +64,9 @@ var handlePosition = function handlePosition(placement, offset) {
66
64
  transform: transform
67
65
  };
68
66
  };
69
- /*
70
- const getPortalParent = (frame: 'document' | string | React.RefObject<HTMLElement>, portalRef) => {
71
- if (typeof frame !== 'string' && frame && frame.current) {
72
- portalRef.current = frame.current;
73
- return;
74
- }
75
-
76
- if (typeof frame === 'string' && frame !== 'document') {
77
- const element = document.getElementById(frame);
78
- if (element) {
79
- const portal = document.createElement('div');
80
- portal.className = 'frame-portal';
81
- portal.style.position = 'relative';
82
- portal.style.width = '0';
83
-
84
- element.appendChild(portal);
85
- portalRef.current = portal;
86
-
87
- return;
88
- //
89
- // const portal = document?.querySelector('.frame-portal');
90
- // if (!portal) {
91
- // portal = document.createElement('div');
92
- // document.getElementById(frame)?.appendChild(portal);
93
- // }
94
- // return portal;
95
- }
96
- }
97
-
98
- const portal = document.getElementById(POPUP_PORTAL_ID);
99
-
100
- if (!portal) {
101
- ReactDOM.createPortal(<StyledPortal id={POPUP_PORTAL_ID} ref={portalRef} />, document.body);
102
- }
103
-
104
- portalRef.current = portal;
105
-
106
- let portal;
107
-
108
- const hasFrame = typeof frame !== 'string' && frame && frame.current;
109
- if (hasFrame) {
110
- portal = frame.current;
111
- } else {
112
- // ReactDOM.createPortal(<StyledPortal id={POPUP_PORTAL_ID} ref={portalRef} />, document.body);
113
-
114
- portal = document.getElementById(POPUP_PORTAL_ID);
115
-
116
- if (!portal) {
117
- if (typeof frame === 'string' && frame !== 'document') {
118
- portal = document.createElement('div');
119
- document.getElementById(frame)?.appendChild(portal);
120
- } else {
121
- portal.className('frame-portal');
122
- document.body.appendChild(portal);
123
- // ReactDOM.createPortal(<StyledPortal id={POPUP_PORTAL_ID} ref={portalRef} />, document.body);
124
- }
125
- }
126
- }
127
-
128
- };
129
-
130
- const usePortalContainer = (frame: 'document' | string | React.RefObject<HTMLElement>) => {
131
- const portalRef = useRef<HTMLDivElement | null>(null);
132
-
133
- if (typeof frame !== 'string' && frame && frame.current) {
134
- return frame.current;
135
- }
136
-
137
- if (typeof frame === 'string' && frame !== 'document') {
138
- const element = document.getElementById(frame);
139
-
140
- const portal = document?.querySelector('.frame-portal');
141
-
142
- if (portal) {
143
- return portal;
144
- }
145
-
146
- if (element) {
147
- const portal = document.createElement('div');
148
- portal.className = 'frame-portal';
149
- portal.style.position = 'relative';
150
- // portal.style.width = '0';
151
-
152
- element.appendChild(portal);
153
- return portal;
154
- //
155
- // const portal = document?.querySelector('.frame-portal');
156
- // if (!portal) {
157
- // portal = document.createElement('div');
158
- // document.getElementById(frame)?.appendChild(portal);
159
- // }
160
- // return portal;
161
- }
162
- }
163
-
164
- const portal = document.getElementById(POPUP_PORTAL_ID);
165
-
166
- if (!portal) {
167
- const res = ReactDOM.createPortal(<StyledPortal id={POPUP_PORTAL_ID} ref={portalRef} />, document.body);
168
-
169
- console.log('!!! res', res);
170
- }
171
-
172
- console.log('!!!! portalRef.current', portalRef.current, document.getElementById(POPUP_PORTAL_ID));
173
- return portalRef.current;
174
-
175
- let portal;
176
-
177
- const hasFrame = typeof frame !== 'string' && frame && frame.current;
178
- if (hasFrame) {
179
- portal = frame.current;
180
- } else {
181
- // ReactDOM.createPortal(<StyledPortal id={POPUP_PORTAL_ID} ref={portalRef} />, document.body);
182
-
183
- portal = document.getElementById(POPUP_PORTAL_ID);
184
-
185
- if (!portal) {
186
- if (typeof frame === 'string' && frame !== 'document') {
187
- portal = document.createElement('div');
188
- document.getElementById(frame)?.appendChild(portal);
189
- } else {
190
- portal.className('frame-portal');
191
- document.body.appendChild(portal);
192
- // ReactDOM.createPortal(<StyledPortal id={POPUP_PORTAL_ID} ref={portalRef} />, document.body);
193
- }
194
- }
195
- }
196
-
197
- };
198
- */
199
67
 
200
68
  /**
201
- * Базовый компонент Popup.
69
+ * Базовый копмонент Popup.
202
70
  */
203
71
  var popupRoot = function popupRoot(Root) {
204
72
  return /*#__PURE__*/forwardRef(function (_ref, outerRootRef) {
@@ -233,16 +101,47 @@ var popupRoot = function popupRoot(Root) {
233
101
  isVisible = _usePopup.isVisible,
234
102
  animationInfo = _usePopup.animationInfo,
235
103
  setVisible = _usePopup.setVisible;
236
-
237
- // const container = usePortalContainer(frame);
238
104
  var portalRef = useRef(null);
239
105
  var contentRef = useRef(null);
240
106
  var innerRef = useForkRef(contentRef, outerRootRef);
107
+ var _useState = useState(false),
108
+ _useState2 = _slicedToArray(_useState, 2),
109
+ forceRender = _useState2[1];
110
+ useEffect(function () {
111
+ var portal = document.getElementById(POPUP_PORTAL_ID);
112
+ if (typeof frame !== 'string' && frame && frame.current) {
113
+ portal = frame.current;
114
+ }
115
+ if (!portal) {
116
+ portal = document.createElement('div');
117
+ portal.setAttribute('id', POPUP_PORTAL_ID);
118
+ /**
119
+ * Нужно для того, чтобы во фрейме не происходило скачков контента
120
+ * при анимации через transform, если есть элемент с шириной/высотой в 100% (Overlay)
121
+ */
122
+ portal.style.width = '0';
123
+ if (typeof frame === 'string' && frame !== 'document') {
124
+ var _document$getElementB;
125
+ (_document$getElementB = document.getElementById(frame)) === null || _document$getElementB === void 0 || _document$getElementB.appendChild(portal);
126
+ } else {
127
+ document.body.appendChild(portal);
128
+ }
129
+ }
130
+ portalRef.current = portal;
131
+
132
+ /**
133
+ * Изменение стейта нужно для того, чтобы Popup
134
+ * отобразился после записи DOM элемента в portalRef.current
135
+ */
136
+ forceRender(true);
137
+ }, []);
241
138
  if (!isVisible && !innerIsOpen) {
242
139
  return null;
243
140
  }
244
141
  var cls = cx(className, animationInfo !== null && animationInfo !== void 0 && animationInfo.endAnimation ? classes.endAnimation : '', animationInfo !== null && animationInfo !== void 0 && animationInfo.endTransition ? classes.endTransition : '');
245
- var rootNode = /*#__PURE__*/React.createElement(Root, _extends({
142
+ return /*#__PURE__*/React.createElement(React.Fragment, null, portalRef.current && /*#__PURE__*/React.createElement(Portal, {
143
+ container: portalRef.current
144
+ }, /*#__PURE__*/React.createElement(Root, _extends({
246
145
  className: cls
247
146
  }, rest), overlay, /*#__PURE__*/React.createElement(PopupRoot, {
248
147
  id: innerId,
@@ -252,27 +151,7 @@ var popupRoot = function popupRoot(Root) {
252
151
  zIndex: zIndex,
253
152
  animationInfo: animationInfo,
254
153
  setVisible: setVisible
255
- }, children));
256
- if (typeof frame !== 'string' && frame && frame.current) {
257
- return /*#__PURE__*/React.createElement(Portal, {
258
- container: frame.current
259
- }, rootNode);
260
- }
261
- var withFrameId = typeof frame === 'string' && frame !== 'document';
262
- var containerElement = withFrameId && document.getElementById(frame);
263
- if (containerElement) {
264
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement(StyledPortalContainer, {
265
- ref: portalRef
266
- }, portalRef.current && /*#__PURE__*/React.createElement(Portal, {
267
- container: portalRef.current
268
- }, rootNode)), containerElement));
269
- }
270
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement(StyledPortal, {
271
- id: POPUP_PORTAL_ID,
272
- ref: portalRef
273
- }, portalRef.current && /*#__PURE__*/React.createElement(Portal, {
274
- container: portalRef.current
275
- }, rootNode)), document.body));
154
+ }, children))));
276
155
  });
277
156
  };
278
157
  var popupConfig = {