@salutejs/plasma-new-hope 0.171.0-canary.1491.11400434499.0 → 0.171.0-canary.1492.11402523696.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -129,7 +129,7 @@ var textAreaRoot = function textAreaRoot(Root) {
129
129
  setHelperWidth("".concat(elementWidth / useAutoResize.ROOT_FONT_SIZE, "rem"));
130
130
  }
131
131
  });
132
- useAutoResize.useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto);
132
+ useAutoResize.useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto, defaultValue);
133
133
  var onFocusHandler = React.useCallback(function () {
134
134
  setFocused(true);
135
135
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback } from 'react';\nimport { css } from '@linaria/core';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx, mergeRefs } from '../../utils';\nimport type { RootProps } from '../../engines/types';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n StyledIndicator,\n StyledOptionalText,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as clearCSS } from './variations/_clear/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport type { TextAreaProps } from './TextArea.types';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n} = classes;\n\nconst optionalText = 'optional';\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, rows, value, size } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !rows &&\n size !== 'xs' &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && rows) ||\n (labelPlacement === 'outer' && value) ||\n (labelPlacement === 'inner' && size === 'xs' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n rightHelper,\n leftHelper,\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n required = false,\n requiredPlacement = 'right',\n optional = false,\n clear,\n hasDivider,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n onChange,\n ...rest\n } = props;\n\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = createRef<HTMLTextAreaElement>();\n\n const innerOptional = required ? false : optional;\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const hasInnerLabel = Boolean(label && labelPlacement === 'inner' && size !== 'xs');\n const hasPlaceholderOptional = innerOptional && !hasOuterLabel;\n\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeholderLabel = hasInnerLabel ? label : placeholder;\n\n const clearClass = clear ? classes.clear : undefined;\n const hasRightContentClass = contentRight ? classes.hasRightContent : undefined;\n const hasDividerClass = hasDivider ? classes.hasDivider : undefined;\n const requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth } = currentElement.style;\n\n if (inlineWidth || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n\n onChange?.(event);\n },\n [value, onChange],\n );\n\n const handleTextAreaFocus = () => {\n if (readOnly || disabled || !outerRef?.current) {\n return;\n }\n\n outerRef.current.scrollTo({\n top: 0,\n left: outerRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n outerRef.current.focus();\n };\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n rows,\n },\n focused,\n );\n\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText>\n {Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n clear={clear}\n style={{ width: helperWidth, ...style }}\n className={cx(clearClass, hasDividerClass, className)}\n onClick={handleTextAreaFocus}\n >\n {hasOuterLabel && (\n <StyledLabel>\n {required && (\n <StyledIndicator className={cx(classes.outerLabelPlacement, requiredPlacementClass)} />\n )}\n {label}\n {optionalTextNode}\n </StyledLabel>\n )}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {required && !hasOuterLabel && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, requiredPlacementClass)} />\n )}\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={cx(styledTextArea, hasRightContentClass)}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={mergeRefs(outerRef, innerRef)}\n disabled={disabled}\n height={autoResize || Boolean(clear) ? minAuto : height}\n width={width}\n placeholder={placeholderLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n {...rest}\n />\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {(leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n clear: {\n css: clearCSS,\n attrs: true,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","optionalText","base","fallbackStatusMap","success","warning","error","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","rows","value","size","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","placeholder","defaultValue","height","width","disabled","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$optional","optional","clear","hasDivider","view","id","style","className","cols","onChange","rest","_excluded","_useState","useState","concat","_useState2","_slicedToArray","helperWidth","setHelperWidth","_useState3","_useState4","setFocused","_useState5","_useState6","uncontrolledValue","setUncontrolledValue","outerRef","createRef","innerOptional","hasHelper","Boolean","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","clearClass","hasRightContentClass","hasRightContent","hasDividerClass","requiredPlacementClass","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","event","target","handleTextAreaFocus","current","scrollTo","top","left","offsetLeft","behavior","focus","dynamicLabelClasses","optionalTextNode","React","createElement","StyledOptionalText","_objectSpread","cx","onClick","StyledLabel","StyledIndicator","outerLabelPlacement","StyledContainer","apply","_toConsumableArray","onFocus","onBlur","innerLabelPlacement","StyledContent","StyledTextAreaWrapper","StyledTextArea","_extends","hasContentRight","ref","mergeRefs","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","clearCSS","attrs","disabledCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback } from 'react';\nimport { css } from '@linaria/core';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx, mergeRefs } from '../../utils';\nimport type { RootProps } from '../../engines/types';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n StyledIndicator,\n StyledOptionalText,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as clearCSS } from './variations/_clear/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport type { TextAreaProps } from './TextArea.types';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n} = classes;\n\nconst optionalText = 'optional';\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, rows, value, size } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !rows &&\n size !== 'xs' &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && rows) ||\n (labelPlacement === 'outer' && value) ||\n (labelPlacement === 'inner' && size === 'xs' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n rightHelper,\n leftHelper,\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n required = false,\n requiredPlacement = 'right',\n optional = false,\n clear,\n hasDivider,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n onChange,\n ...rest\n } = props;\n\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = createRef<HTMLTextAreaElement>();\n\n const innerOptional = required ? false : optional;\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const hasInnerLabel = Boolean(label && labelPlacement === 'inner' && size !== 'xs');\n const hasPlaceholderOptional = innerOptional && !hasOuterLabel;\n\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeholderLabel = hasInnerLabel ? label : placeholder;\n\n const clearClass = clear ? classes.clear : undefined;\n const hasRightContentClass = contentRight ? classes.hasRightContent : undefined;\n const hasDividerClass = hasDivider ? classes.hasDivider : undefined;\n const requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth } = currentElement.style;\n\n if (inlineWidth || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto, defaultValue);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n\n onChange?.(event);\n },\n [value, onChange],\n );\n\n const handleTextAreaFocus = () => {\n if (readOnly || disabled || !outerRef?.current) {\n return;\n }\n\n outerRef.current.scrollTo({\n top: 0,\n left: outerRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n outerRef.current.focus();\n };\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n rows,\n },\n focused,\n );\n\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText>\n {Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n clear={clear}\n style={{ width: helperWidth, ...style }}\n className={cx(clearClass, hasDividerClass, className)}\n onClick={handleTextAreaFocus}\n >\n {hasOuterLabel && (\n <StyledLabel>\n {required && (\n <StyledIndicator className={cx(classes.outerLabelPlacement, requiredPlacementClass)} />\n )}\n {label}\n {optionalTextNode}\n </StyledLabel>\n )}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {required && !hasOuterLabel && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, requiredPlacementClass)} />\n )}\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={cx(styledTextArea, hasRightContentClass)}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={mergeRefs(outerRef, innerRef)}\n disabled={disabled}\n height={autoResize || Boolean(clear) ? minAuto : height}\n width={width}\n placeholder={placeholderLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n {...rest}\n />\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {(leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n clear: {\n css: clearCSS,\n attrs: true,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","optionalText","base","fallbackStatusMap","success","warning","error","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","rows","value","size","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","placeholder","defaultValue","height","width","disabled","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$optional","optional","clear","hasDivider","view","id","style","className","cols","onChange","rest","_excluded","_useState","useState","concat","_useState2","_slicedToArray","helperWidth","setHelperWidth","_useState3","_useState4","setFocused","_useState5","_useState6","uncontrolledValue","setUncontrolledValue","outerRef","createRef","innerOptional","hasHelper","Boolean","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","clearClass","hasRightContentClass","hasRightContent","hasDividerClass","requiredPlacementClass","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","event","target","handleTextAreaFocus","current","scrollTo","top","left","offsetLeft","behavior","focus","dynamicLabelClasses","optionalTextNode","React","createElement","StyledOptionalText","_objectSpread","cx","onClick","StyledLabel","StyledIndicator","outerLabelPlacement","StyledContainer","apply","_toConsumableArray","onFocus","onBlur","innerLabelPlacement","StyledContent","StyledTextAreaWrapper","StyledTextArea","_extends","hasContentRight","ref","mergeRefs","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","clearCSS","attrs","disabledCSS","defaults"],"mappings":"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"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
 
7
7
  var ROOT_FONT_SIZE = 16;
8
- var useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto) {
8
+ var useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto, defaultValue) {
9
9
  var isManualResize = React.useRef(false);
10
10
  var previousHeight = React.useRef();
11
11
  React.useEffect(function () {
@@ -28,7 +28,7 @@ var useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto)
28
28
  ref.current.style.height = "".concat(newHeight, "rem");
29
29
  previousHeight.current = newHeight;
30
30
  }
31
- }, [ref, active, value]);
31
+ }, [ref, active, value, defaultValue]);
32
32
  };
33
33
 
34
34
  exports.ROOT_FONT_SIZE = ROOT_FONT_SIZE;
@@ -1 +1 @@
1
- {"version":3,"file":"useAutoResize.js","sources":["../../../../src/components/TextArea/hooks/useAutoResize.ts"],"sourcesContent":["import { useEffect, useRef, MutableRefObject } from 'react';\n\nexport const ROOT_FONT_SIZE = 16;\n\nexport const useAutoResize = <T extends HTMLTextAreaElement>(\n active: boolean,\n ref: MutableRefObject<T | null>,\n value?: string | ReadonlyArray<string> | number,\n minAuto?: number,\n maxAuto?: number,\n) => {\n const isManualResize = useRef<boolean>(false);\n const previousHeight = useRef<number | undefined>();\n\n useEffect(() => {\n if (active && ref && ref.current && !isManualResize.current) {\n // проверка на пользовательский resize (вручную)\n const height = ref.current.clientHeight / ROOT_FONT_SIZE;\n if (previousHeight.current !== undefined && previousHeight.current !== height) {\n isManualResize.current = true;\n return;\n }\n\n const style = getComputedStyle(ref.current);\n const lineHeight = parseInt(style.lineHeight, 10);\n const lineHeightInRem = lineHeight / ROOT_FONT_SIZE;\n\n const minAutoHeight = minAuto ? minAuto * lineHeightInRem : 0;\n ref.current.style.height = `${minAutoHeight}rem`;\n\n const lines = Math.floor(ref.current.scrollHeight / lineHeight);\n const newScrollHeight = lines * lineHeightInRem;\n\n const maxAutoHeight = maxAuto ? maxAuto * lineHeightInRem : newScrollHeight;\n\n const newHeight = Math.min(newScrollHeight, maxAutoHeight);\n\n ref.current.style.height = `${newHeight}rem`;\n previousHeight.current = newHeight;\n }\n }, [ref, active, value]);\n};\n"],"names":["ROOT_FONT_SIZE","useAutoResize","active","ref","value","minAuto","maxAuto","isManualResize","useRef","previousHeight","useEffect","current","height","clientHeight","undefined","style","getComputedStyle","lineHeight","parseInt","lineHeightInRem","minAutoHeight","concat","lines","Math","floor","scrollHeight","newScrollHeight","maxAutoHeight","newHeight","min"],"mappings":";;;;;;AAEO,IAAMA,cAAc,GAAG,GAAE;AAEnBC,IAAAA,aAAa,GAAG,SAAhBA,aAAaA,CACtBC,MAAe,EACfC,GAA+B,EAC/BC,KAA+C,EAC/CC,OAAgB,EAChBC,OAAgB,EACf;AACD,EAAA,IAAMC,cAAc,GAAGC,YAAM,CAAU,KAAK,CAAC,CAAA;AAC7C,EAAA,IAAMC,cAAc,GAAGD,YAAM,EAAsB,CAAA;AAEnDE,EAAAA,eAAS,CAAC,YAAM;AACZ,IAAA,IAAIR,MAAM,IAAIC,GAAG,IAAIA,GAAG,CAACQ,OAAO,IAAI,CAACJ,cAAc,CAACI,OAAO,EAAE;AACzD;MACA,IAAMC,MAAM,GAAGT,GAAG,CAACQ,OAAO,CAACE,YAAY,GAAGb,cAAc,CAAA;MACxD,IAAIS,cAAc,CAACE,OAAO,KAAKG,SAAS,IAAIL,cAAc,CAACE,OAAO,KAAKC,MAAM,EAAE;QAC3EL,cAAc,CAACI,OAAO,GAAG,IAAI,CAAA;AAC7B,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMI,KAAK,GAAGC,gBAAgB,CAACb,GAAG,CAACQ,OAAO,CAAC,CAAA;MAC3C,IAAMM,UAAU,GAAGC,QAAQ,CAACH,KAAK,CAACE,UAAU,EAAE,EAAE,CAAC,CAAA;AACjD,MAAA,IAAME,eAAe,GAAGF,UAAU,GAAGjB,cAAc,CAAA;MAEnD,IAAMoB,aAAa,GAAGf,OAAO,GAAGA,OAAO,GAAGc,eAAe,GAAG,CAAC,CAAA;MAC7DhB,GAAG,CAACQ,OAAO,CAACI,KAAK,CAACH,MAAM,GAAAS,EAAAA,CAAAA,MAAA,CAAMD,aAAa,EAAK,KAAA,CAAA,CAAA;AAEhD,MAAA,IAAME,KAAK,GAAGC,IAAI,CAACC,KAAK,CAACrB,GAAG,CAACQ,OAAO,CAACc,YAAY,GAAGR,UAAU,CAAC,CAAA;AAC/D,MAAA,IAAMS,eAAe,GAAGJ,KAAK,GAAGH,eAAe,CAAA;MAE/C,IAAMQ,aAAa,GAAGrB,OAAO,GAAGA,OAAO,GAAGa,eAAe,GAAGO,eAAe,CAAA;MAE3E,IAAME,SAAS,GAAGL,IAAI,CAACM,GAAG,CAACH,eAAe,EAAEC,aAAa,CAAC,CAAA;MAE1DxB,GAAG,CAACQ,OAAO,CAACI,KAAK,CAACH,MAAM,GAAAS,EAAAA,CAAAA,MAAA,CAAMO,SAAS,EAAK,KAAA,CAAA,CAAA;MAC5CnB,cAAc,CAACE,OAAO,GAAGiB,SAAS,CAAA;AACtC,KAAA;GACH,EAAE,CAACzB,GAAG,EAAED,MAAM,EAAEE,KAAK,CAAC,CAAC,CAAA;AAC5B;;;;;"}
1
+ {"version":3,"file":"useAutoResize.js","sources":["../../../../src/components/TextArea/hooks/useAutoResize.ts"],"sourcesContent":["import { useEffect, useRef, MutableRefObject } from 'react';\n\nexport const ROOT_FONT_SIZE = 16;\n\nexport const useAutoResize = <T extends HTMLTextAreaElement>(\n active: boolean,\n ref: MutableRefObject<T | null>,\n value?: string | ReadonlyArray<string> | number,\n minAuto?: number,\n maxAuto?: number,\n defaultValue?: string | ReadonlyArray<string> | number,\n) => {\n const isManualResize = useRef<boolean>(false);\n const previousHeight = useRef<number | undefined>();\n\n useEffect(() => {\n if (active && ref && ref.current && !isManualResize.current) {\n // проверка на пользовательский resize (вручную)\n const height = ref.current.clientHeight / ROOT_FONT_SIZE;\n if (previousHeight.current !== undefined && previousHeight.current !== height) {\n isManualResize.current = true;\n return;\n }\n\n const style = getComputedStyle(ref.current);\n const lineHeight = parseInt(style.lineHeight, 10);\n const lineHeightInRem = lineHeight / ROOT_FONT_SIZE;\n\n const minAutoHeight = minAuto ? minAuto * lineHeightInRem : 0;\n ref.current.style.height = `${minAutoHeight}rem`;\n\n const lines = Math.floor(ref.current.scrollHeight / lineHeight);\n const newScrollHeight = lines * lineHeightInRem;\n\n const maxAutoHeight = maxAuto ? maxAuto * lineHeightInRem : newScrollHeight;\n\n const newHeight = Math.min(newScrollHeight, maxAutoHeight);\n\n ref.current.style.height = `${newHeight}rem`;\n previousHeight.current = newHeight;\n }\n }, [ref, active, value, defaultValue]);\n};\n"],"names":["ROOT_FONT_SIZE","useAutoResize","active","ref","value","minAuto","maxAuto","defaultValue","isManualResize","useRef","previousHeight","useEffect","current","height","clientHeight","undefined","style","getComputedStyle","lineHeight","parseInt","lineHeightInRem","minAutoHeight","concat","lines","Math","floor","scrollHeight","newScrollHeight","maxAutoHeight","newHeight","min"],"mappings":";;;;;;AAEO,IAAMA,cAAc,GAAG,GAAE;IAEnBC,aAAa,GAAG,SAAhBA,aAAaA,CACtBC,MAAe,EACfC,GAA+B,EAC/BC,KAA+C,EAC/CC,OAAgB,EAChBC,OAAgB,EAChBC,YAAsD,EACrD;AACD,EAAA,IAAMC,cAAc,GAAGC,YAAM,CAAU,KAAK,CAAC,CAAA;AAC7C,EAAA,IAAMC,cAAc,GAAGD,YAAM,EAAsB,CAAA;AAEnDE,EAAAA,eAAS,CAAC,YAAM;AACZ,IAAA,IAAIT,MAAM,IAAIC,GAAG,IAAIA,GAAG,CAACS,OAAO,IAAI,CAACJ,cAAc,CAACI,OAAO,EAAE;AACzD;MACA,IAAMC,MAAM,GAAGV,GAAG,CAACS,OAAO,CAACE,YAAY,GAAGd,cAAc,CAAA;MACxD,IAAIU,cAAc,CAACE,OAAO,KAAKG,SAAS,IAAIL,cAAc,CAACE,OAAO,KAAKC,MAAM,EAAE;QAC3EL,cAAc,CAACI,OAAO,GAAG,IAAI,CAAA;AAC7B,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMI,KAAK,GAAGC,gBAAgB,CAACd,GAAG,CAACS,OAAO,CAAC,CAAA;MAC3C,IAAMM,UAAU,GAAGC,QAAQ,CAACH,KAAK,CAACE,UAAU,EAAE,EAAE,CAAC,CAAA;AACjD,MAAA,IAAME,eAAe,GAAGF,UAAU,GAAGlB,cAAc,CAAA;MAEnD,IAAMqB,aAAa,GAAGhB,OAAO,GAAGA,OAAO,GAAGe,eAAe,GAAG,CAAC,CAAA;MAC7DjB,GAAG,CAACS,OAAO,CAACI,KAAK,CAACH,MAAM,GAAAS,EAAAA,CAAAA,MAAA,CAAMD,aAAa,EAAK,KAAA,CAAA,CAAA;AAEhD,MAAA,IAAME,KAAK,GAAGC,IAAI,CAACC,KAAK,CAACtB,GAAG,CAACS,OAAO,CAACc,YAAY,GAAGR,UAAU,CAAC,CAAA;AAC/D,MAAA,IAAMS,eAAe,GAAGJ,KAAK,GAAGH,eAAe,CAAA;MAE/C,IAAMQ,aAAa,GAAGtB,OAAO,GAAGA,OAAO,GAAGc,eAAe,GAAGO,eAAe,CAAA;MAE3E,IAAME,SAAS,GAAGL,IAAI,CAACM,GAAG,CAACH,eAAe,EAAEC,aAAa,CAAC,CAAA;MAE1DzB,GAAG,CAACS,OAAO,CAACI,KAAK,CAACH,MAAM,GAAAS,EAAAA,CAAAA,MAAA,CAAMO,SAAS,EAAK,KAAA,CAAA,CAAA;MAC5CnB,cAAc,CAACE,OAAO,GAAGiB,SAAS,CAAA;AACtC,KAAA;GACH,EAAE,CAAC1B,GAAG,EAAED,MAAM,EAAEE,KAAK,EAAEG,YAAY,CAAC,CAAC,CAAA;AAC1C;;;;;"}
@@ -47,7 +47,7 @@ var innerPlaceholderUp = _TextArea2.classes.innerPlaceholderUp,
47
47
  styledPlaceholder = _TextArea2.classes.styledPlaceholder,
48
48
  styledHelpers = _TextArea2.classes.styledHelpers;
49
49
  var optionalText = 'optional';
50
- var base = /*#__PURE__*/(0, _react2.css)(_mixins.applyDynamicLabel, ";position:relative;box-sizing:border-box;;label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEFyZWEvVGV4dEFyZWEudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDZ0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0QXJlYS9UZXh0QXJlYS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlU3RhdGUsIGNyZWF0ZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5cbmltcG9ydCB7IGN4LCBtZXJnZVJlZnMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJvb3RQcm9wcyB9IGZyb20gJy4uLy4uL2VuZ2luZXMvdHlwZXMnO1xuXG5pbXBvcnQgeyBhcHBseUR5bmFtaWNMYWJlbCB9IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IHVzZUF1dG9SZXNpemUsIFJPT1RfRk9OVF9TSVpFIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQge1xuICAgIFN0eWxlZENvbnRlbnQsXG4gICAgU3R5bGVkSGVscGVycyxcbiAgICBTdHlsZWRMZWZ0SGVscGVyLFxuICAgIFN0eWxlZFJpZ2h0SGVscGVyLFxuICAgIFN0eWxlZExhYmVsLFxuICAgIFN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIFN0eWxlZFRleHRBcmVhLFxuICAgIFN0eWxlZFRleHRBcmVhV3JhcHBlcixcbiAgICBTdHlsZWRDb250YWluZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yLFxuICAgIFN0eWxlZE9wdGlvbmFsVGV4dCxcbn0gZnJvbSAnLi9UZXh0QXJlYS5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEFyZWEudG9rZW5zJztcbmltcG9ydCB7IGJhc2UgYXMgdmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgc2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgY2xlYXJDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2NsZWFyL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBkaXNhYmxlZENTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fZGlzYWJsZWQvYmFzZSc7XG5pbXBvcnQgdHlwZSB7IFRleHRBcmVhUHJvcHMgfSBmcm9tICcuL1RleHRBcmVhLnR5cGVzJztcblxuY29uc3Qge1xuICAgIGlubmVyUGxhY2Vob2xkZXJVcCxcbiAgICBmb2N1c2VkT3V0ZXJQbGFjZWhvbGRlckNvbG9yLFxuICAgIGhpZGVQbGFjZUhvbGRlcixcbiAgICBzdHlsZWRDb250YWluZXIsXG4gICAgc3R5bGVkVGV4dEFyZWEsXG4gICAgc3R5bGVkVGV4dEFyZWFXcmFwcGVyLFxuICAgIHN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIHN0eWxlZEhlbHBlcnMsXG59ID0gY2xhc3NlcztcblxuY29uc3Qgb3B0aW9uYWxUZXh0ID0gJ29wdGlvbmFsJztcblxuY29uc3QgYmFzZSA9IGNzc2BcbiAgICAke2FwcGx5RHluYW1pY0xhYmVsfTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuYDtcblxuLy8gVE9ETzog0KPQtNCw0LvQuNGC0Ywg0L/QvtGB0LvQtSDQvtGC0LrQsNC30LAg0L7RgiDRgdGC0LDRgNGL0YUg0LHQuNCx0LvQuNC+0YLQtdC6IHBsYXNtYS13ZWIgLyBwbGFzbWEtYjJjXG5jb25zdCBmYWxsYmFja1N0YXR1c01hcCA9IHtcbiAgICAnJzogJ3ByaW1hcnknLFxuICAgIHN1Y2Nlc3M6ICdwb3NpdGl2ZScsXG4gICAgd2FybmluZzogJ3dhcm5pbmcnLFxuICAgIGVycm9yOiAnbmVnYXRpdmUnLFxufTtcblxuLy8gVE9ETzog0J/QtdGA0LXQvdC10YHRgtC4INGN0YLQvtGCINC80LXRgtC+0LQg0LIg0YTQsNC50LsgYXBwbHlEeW5hbWljTGFiZWwudHNcbmV4cG9ydCBjb25zdCBnZXREeW5hbWljTGFiZWxDbGFzc2VzID0gKHByb3BzOiBUZXh0QXJlYVByb3BzLCBmb2N1c2VkOiBib29sZWFuKSA9PiB7XG4gICAgY29uc3QgeyByZWFkT25seSwgbGFiZWwsIGxhYmVsUGxhY2VtZW50LCByb3dzLCB2YWx1ZSwgc2l6ZSB9ID0gcHJvcHM7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDQuNC30LzQtdC90LXQvdC40LUg0YbQstC10YLQsCDQv9C70LXQudGB0YXQvtC70LTQtdGA0LAg0L/RgNC4INGE0L7QutGD0YHQtVxuICAgIGNvbnN0IHdpdGhGb2N1c2VkT3V0ZXJVcFBsYWNlaG9sZGVyID1cbiAgICAgICAgIXJlYWRPbmx5ICYmIGZvY3VzZWQgJiYgKCFsYWJlbCB8fCBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJykgPyBmb2N1c2VkT3V0ZXJQbGFjZWhvbGRlckNvbG9yIDogdW5kZWZpbmVkO1xuXG4gICAgLy8g0JTQvtCx0LDQstC40YLRjCDQutC70LDRgdGBINC+0YLQstC10YfQsNGO0YnQuNC5INC30LAg0L/QvtC00L3Rj9GC0LjQtSDQuCDRg9C80LXQvdGM0YjQtdC90LjQtSDQv9C70LXQudGB0YXQvtC70LTQtdGA0LBcbiAgICBjb25zdCB3aXRoSW5uZXJQbGFjZWhvbGRlclVwID1cbiAgICAgICAgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiZcbiAgICAgICAgbGFiZWwgJiZcbiAgICAgICAgIXJvd3MgJiZcbiAgICAgICAgc2l6ZSAhPT0gJ3hzJyAmJlxuICAgICAgICAoKCFyZWFkT25seSAmJiAodmFsdWUgfHwgZm9jdXNlZCkpIHx8IChyZWFkT25seSAmJiB2YWx1ZSkpXG4gICAgICAgICAgICA/IGlubmVyUGxhY2Vob2xkZXJVcFxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDRgdC60YDRi9GC0LjQtSDQv9C70LXQudGB0YXQvtC70LTQtdGA0LBcbiAgICBjb25zdCB3aXRoSGlkZVBsYWNlaG9sZGVyID1cbiAgICAgICAgKHZhbHVlICYmICFsYWJlbCkgfHxcbiAgICAgICAgKGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmICgoZm9jdXNlZCAmJiAhcmVhZE9ubHkpIHx8IHZhbHVlKSAmJiBsYWJlbCAmJiByb3dzKSB8fFxuICAgICAgICAobGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgdmFsdWUpIHx8XG4gICAgICAgIChsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiBzaXplID09PSAneHMnICYmIHZhbHVlKVxuICAgICAgICAgICAgPyBoaWRlUGxhY2VIb2xkZXJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIFt3aXRoRm9jdXNlZE91dGVyVXBQbGFjZWhvbGRlciwgd2l0aElubmVyUGxhY2Vob2xkZXJVcCwgd2l0aEhpZGVQbGFjZWhvbGRlcl07XG59O1xuXG5leHBvcnQgY29uc3QgdGV4dEFyZWFSb290ID0gKFJvb3Q6IFJvb3RQcm9wczxIVE1MVGV4dEFyZWFFbGVtZW50LCBUZXh0QXJlYVByb3BzPikgPT5cbiAgICBmb3J3YXJkUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQsIFRleHRBcmVhUHJvcHM+KChwcm9wcywgaW5uZXJSZWYpID0+IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgaGVscGVyVGV4dCxcbiAgICAgICAgICAgIHN0YXR1cyxcbiAgICAgICAgICAgIHJlc2l6ZSxcbiAgICAgICAgICAgIHJpZ2h0SGVscGVyLFxuICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgIGNvbnRlbnRSaWdodCxcbiAgICAgICAgICAgIGF1dG9SZXNpemUgPSBmYWxzZSxcbiAgICAgICAgICAgIG1pbkF1dG8gPSAwLFxuICAgICAgICAgICAgbWF4QXV0byxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQgPSAnaW5uZXInLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICByZXF1aXJlZCA9IGZhbHNlLFxuICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnQgPSAncmlnaHQnLFxuICAgICAgICAgICAgb3B0aW9uYWwgPSBmYWxzZSxcbiAgICAgICAgICAgIGNsZWFyLFxuICAgICAgICAgICAgaGFzRGl2aWRlcixcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBzdHlsZSxcbiAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgcm93cyxcbiAgICAgICAgICAgIGNvbHMsXG4gICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgfSA9IHByb3BzO1xuXG4gICAgICAgIGNvbnN0IFtoZWxwZXJXaWR0aCwgc2V0SGVscGVyV2lkdGhdID0gdXNlU3RhdGU8c3RyaW5nPih3aWR0aCA/IGAke3dpZHRofXJlbWAgOiAnMTAwJScpO1xuICAgICAgICBjb25zdCBbZm9jdXNlZCwgc2V0Rm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgICAgIGNvbnN0IFt1bmNvbnRyb2xsZWRWYWx1ZSwgc2V0VW5jb250cm9sbGVkVmFsdWVdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgICAgIGNvbnN0IG91dGVyUmVmID0gY3JlYXRlUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+KCk7XG5cbiAgICAgICAgY29uc3QgaW5uZXJPcHRpb25hbCA9IHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbDtcbiAgICAgICAgY29uc3QgaGFzSGVscGVyID0gQm9vbGVhbihsZWZ0SGVscGVyIHx8IHJpZ2h0SGVscGVyIHx8IGhlbHBlclRleHQpO1xuICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gQm9vbGVhbihsYWJlbCAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyk7XG4gICAgICAgIGNvbnN0IGhhc0lubmVyTGFiZWwgPSBCb29sZWFuKGxhYmVsICYmIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmIHNpemUgIT09ICd4cycpO1xuICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaGFzT3V0ZXJMYWJlbDtcblxuICAgICAgICBjb25zdCBvdmVycmlkZGVuVmlldyA9IHN0YXR1cyAhPT0gdW5kZWZpbmVkID8gZmFsbGJhY2tTdGF0dXNNYXBbc3RhdHVzXSA6IHZpZXc7XG4gICAgICAgIGNvbnN0IHRleHRhcmVhSGVscGVySWQgPSBpZCA/IGAke2lkfS1oZWxwZXJgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBhcHBseUN1c3RvbVdpZHRoID0gcmVzaXplICE9PSAnaG9yaXpvbnRhbCcgJiYgcmVzaXplICE9PSAnYm90aCcgJiYgIWNvbHM7XG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyTGFiZWwgPSBoYXNJbm5lckxhYmVsID8gbGFiZWwgOiBwbGFjZWhvbGRlcjtcblxuICAgICAgICBjb25zdCBjbGVhckNsYXNzID0gY2xlYXIgPyBjbGFzc2VzLmNsZWFyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNSaWdodENvbnRlbnRDbGFzcyA9IGNvbnRlbnRSaWdodCA/IGNsYXNzZXMuaGFzUmlnaHRDb250ZW50IDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNEaXZpZGVyQ2xhc3MgPSBoYXNEaXZpZGVyID8gY2xhc3Nlcy5oYXNEaXZpZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCByZXF1aXJlZFBsYWNlbWVudENsYXNzID0gcmVxdWlyZWRQbGFjZW1lbnQgPT09ICdyaWdodCcgPyAnYWxpZ24tcmlnaHQgJyA6IHVuZGVmaW5lZDtcblxuICAgICAgICB1c2VSZXNpemVPYnNlcnZlcihvdXRlclJlZiwgKGN1cnJlbnRFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHdpZHRoOiBpbmxpbmVXaWR0aCB9ID0gY3VycmVudEVsZW1lbnQuc3R5bGU7XG5cbiAgICAgICAgICAgIGlmIChpbmxpbmVXaWR0aCB8fCBjb2xzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB3aWR0aDogZWxlbWVudFdpZHRoIH0gPSBjdXJyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICBzZXRIZWxwZXJXaWR0aChgJHtlbGVtZW50V2lkdGggLyBST09UX0ZPTlRfU0laRX1yZW1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdXNlQXV0b1Jlc2l6ZShhdXRvUmVzaXplIHx8IEJvb2xlYW4oY2xlYXIpLCBvdXRlclJlZiwgdmFsdWUsIG1pbkF1dG8sIG1heEF1dG8pO1xuXG4gICAgICAgIGNvbnN0IG9uRm9jdXNIYW5kbGVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICAgICAgc2V0Rm9jdXNlZCh0cnVlKTtcbiAgICAgICAgfSwgW10pO1xuXG4gICAgICAgIGNvbnN0IG9uQmx1ckhhbmRsZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkKGZhbHNlKTtcbiAgICAgICAgfSwgW10pO1xuXG4gICAgICAgIGNvbnN0IG9uQ2hhbmdlSGFuZGxlciA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAgICAgKGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIC8vIElORk86INCU0LvRjyDQutGA0LDQudC90LUg0YDQtdC00LrQuNGFINC60LXQudGB0L7Qsiwg0LrQvtCz0LTQsCB2YWx1ZSDRgdC90LDRgNGD0LbQuCDQvdC1INC60L7QvdGC0YDQvtC70LjRgNGD0LXRgtGB0Y9cbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBzZXRVbmNvbnRyb2xsZWRWYWx1ZShldmVudD8udGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT8uKGV2ZW50KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbdmFsdWUsIG9uQ2hhbmdlXSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBoYW5kbGVUZXh0QXJlYUZvY3VzID0gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlYWRPbmx5IHx8IGRpc2FibGVkIHx8ICFvdXRlclJlZj8uY3VycmVudCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgb3V0ZXJSZWYuY3VycmVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIGxlZnQ6IG91dGVyUmVmLmN1cnJlbnQub2Zmc2V0TGVmdCxcbiAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgb3V0ZXJSZWYuY3VycmVudC5mb2N1cygpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGR5bmFtaWNMYWJlbENsYXNzZXMgPSBnZXREeW5hbWljTGFiZWxDbGFzc2VzKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHksXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlIHx8IHVuY29udHJvbGxlZFZhbHVlIHx8IGRlZmF1bHRWYWx1ZSxcbiAgICAgICAgICAgICAgICByb3dzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZvY3VzZWQsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uYWxUZXh0Tm9kZSA9IGlubmVyT3B0aW9uYWwgPyAoXG4gICAgICAgICAgICA8U3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICAgICAgICAgIHtCb29sZWFuKGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPyBwbGFjZWhvbGRlckxhYmVsIDogbGFiZWwpICYmICdcXHhhMCd9XG4gICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dH1cbiAgICAgICAgICAgIDwvU3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICApIDogbnVsbDtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFJvb3RcbiAgICAgICAgICAgICAgICB2aWV3PXtvdmVycmlkZGVuVmlld31cbiAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgY2xlYXI9e2NsZWFyfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiBoZWxwZXJXaWR0aCwgLi4uc3R5bGUgfX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KGNsZWFyQ2xhc3MsIGhhc0RpdmlkZXJDbGFzcywgY2xhc3NOYW1lKX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVUZXh0QXJlYUZvY3VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtoYXNPdXRlckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgPFN0eWxlZExhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAge3JlcXVpcmVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChzdHlsZWRDb250YWluZXIsIC4uLmR5bmFtaWNMYWJlbENsYXNzZXMpfVxuICAgICAgICAgICAgICAgICAgICB3aWR0aD17aGVscGVyV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXNIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e29uQmx1ckhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgIWhhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvciBjbGFzc05hbWU9e2N4KGNsYXNzZXMuaW5uZXJMYWJlbFBsYWNlbWVudCwgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyl9IC8+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHtjb250ZW50UmlnaHQgJiYgPFN0eWxlZENvbnRlbnQ+e2NvbnRlbnRSaWdodH08L1N0eWxlZENvbnRlbnQ+fVxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFXcmFwcGVyIGNsYXNzTmFtZT17c3R5bGVkVGV4dEFyZWFXcmFwcGVyfSBoYXNIZWxwZXI9e2hhc0hlbHBlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KHN0eWxlZFRleHRBcmVhLCBoYXNSaWdodENvbnRlbnRDbGFzcyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0NvbnRlbnRSaWdodD17Qm9vbGVhbihjb250ZW50UmlnaHQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0hlbHBlcj17aGFzSGVscGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGx5Q3VzdG9tV2lkdGg9e2FwcGx5Q3VzdG9tV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXttZXJnZVJlZnMob3V0ZXJSZWYsIGlubmVyUmVmKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXthdXRvUmVzaXplIHx8IEJvb2xlYW4oY2xlYXIpID8gbWluQXV0byA6IGhlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17dGV4dGFyZWFIZWxwZXJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd3M9e3Jvd3N9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNpemU9e3Jlc2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0QXJlYVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIHtoYXNIZWxwZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhlbHBlcnMgY2xhc3NOYW1lPXtzdHlsZWRIZWxwZXJzfSBpZD17dGV4dGFyZWFIZWxwZXJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyhsZWZ0SGVscGVyIHx8IGhlbHBlclRleHQpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZExlZnRIZWxwZXI+e2xlZnRIZWxwZXIgfHwgaGVscGVyVGV4dH08L1N0eWxlZExlZnRIZWxwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmlnaHRIZWxwZXIgJiYgPFN0eWxlZFJpZ2h0SGVscGVyPntyaWdodEhlbHBlcn08L1N0eWxlZFJpZ2h0SGVscGVyPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSGVscGVycz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge3BsYWNlaG9sZGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ29udGVudFJpZ2h0PXtCb29sZWFuKGNvbnRlbnRSaWdodCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZWRQbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cGxhY2Vob2xkZXJMYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgb3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkUGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgICk7XG4gICAgfSk7XG5cbmV4cG9ydCBjb25zdCB0ZXh0QXJlYUNvbmZpZyA9IHtcbiAgICBuYW1lOiAnVGV4dEFyZWEnLFxuICAgIHRhZzogJ2RpdicsXG4gICAgbGF5b3V0OiB0ZXh0QXJlYVJvb3QsXG4gICAgYmFzZSxcbiAgICB2YXJpYXRpb25zOiB7XG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIGNzczogc2l6ZUNTUyxcbiAgICAgICAgfSxcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgY3NzOiB2aWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBjbGVhcjoge1xuICAgICAgICAgICAgY3NzOiBjbGVhckNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgY3NzOiBkaXNhYmxlZENTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZWFkT25seToge1xuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgfSxcbiAgICBkZWZhdWx0czoge1xuICAgICAgICBzaXplOiAnbScsXG4gICAgICAgIHZpZXc6ICdwcmltYXJ5JyxcbiAgICB9LFxufTtcbiJdfQ== */"));
50
+ var base = /*#__PURE__*/(0, _react2.css)(_mixins.applyDynamicLabel, ";position:relative;box-sizing:border-box;;label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEFyZWEvVGV4dEFyZWEudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDZ0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0QXJlYS9UZXh0QXJlYS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlU3RhdGUsIGNyZWF0ZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5cbmltcG9ydCB7IGN4LCBtZXJnZVJlZnMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJvb3RQcm9wcyB9IGZyb20gJy4uLy4uL2VuZ2luZXMvdHlwZXMnO1xuXG5pbXBvcnQgeyBhcHBseUR5bmFtaWNMYWJlbCB9IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IHVzZUF1dG9SZXNpemUsIFJPT1RfRk9OVF9TSVpFIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQge1xuICAgIFN0eWxlZENvbnRlbnQsXG4gICAgU3R5bGVkSGVscGVycyxcbiAgICBTdHlsZWRMZWZ0SGVscGVyLFxuICAgIFN0eWxlZFJpZ2h0SGVscGVyLFxuICAgIFN0eWxlZExhYmVsLFxuICAgIFN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIFN0eWxlZFRleHRBcmVhLFxuICAgIFN0eWxlZFRleHRBcmVhV3JhcHBlcixcbiAgICBTdHlsZWRDb250YWluZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yLFxuICAgIFN0eWxlZE9wdGlvbmFsVGV4dCxcbn0gZnJvbSAnLi9UZXh0QXJlYS5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEFyZWEudG9rZW5zJztcbmltcG9ydCB7IGJhc2UgYXMgdmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgc2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgY2xlYXJDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2NsZWFyL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBkaXNhYmxlZENTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fZGlzYWJsZWQvYmFzZSc7XG5pbXBvcnQgdHlwZSB7IFRleHRBcmVhUHJvcHMgfSBmcm9tICcuL1RleHRBcmVhLnR5cGVzJztcblxuY29uc3Qge1xuICAgIGlubmVyUGxhY2Vob2xkZXJVcCxcbiAgICBmb2N1c2VkT3V0ZXJQbGFjZWhvbGRlckNvbG9yLFxuICAgIGhpZGVQbGFjZUhvbGRlcixcbiAgICBzdHlsZWRDb250YWluZXIsXG4gICAgc3R5bGVkVGV4dEFyZWEsXG4gICAgc3R5bGVkVGV4dEFyZWFXcmFwcGVyLFxuICAgIHN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIHN0eWxlZEhlbHBlcnMsXG59ID0gY2xhc3NlcztcblxuY29uc3Qgb3B0aW9uYWxUZXh0ID0gJ29wdGlvbmFsJztcblxuY29uc3QgYmFzZSA9IGNzc2BcbiAgICAke2FwcGx5RHluYW1pY0xhYmVsfTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuYDtcblxuLy8gVE9ETzog0KPQtNCw0LvQuNGC0Ywg0L/QvtGB0LvQtSDQvtGC0LrQsNC30LAg0L7RgiDRgdGC0LDRgNGL0YUg0LHQuNCx0LvQuNC+0YLQtdC6IHBsYXNtYS13ZWIgLyBwbGFzbWEtYjJjXG5jb25zdCBmYWxsYmFja1N0YXR1c01hcCA9IHtcbiAgICAnJzogJ3ByaW1hcnknLFxuICAgIHN1Y2Nlc3M6ICdwb3NpdGl2ZScsXG4gICAgd2FybmluZzogJ3dhcm5pbmcnLFxuICAgIGVycm9yOiAnbmVnYXRpdmUnLFxufTtcblxuLy8gVE9ETzog0J/QtdGA0LXQvdC10YHRgtC4INGN0YLQvtGCINC80LXRgtC+0LQg0LIg0YTQsNC50LsgYXBwbHlEeW5hbWljTGFiZWwudHNcbmV4cG9ydCBjb25zdCBnZXREeW5hbWljTGFiZWxDbGFzc2VzID0gKHByb3BzOiBUZXh0QXJlYVByb3BzLCBmb2N1c2VkOiBib29sZWFuKSA9PiB7XG4gICAgY29uc3QgeyByZWFkT25seSwgbGFiZWwsIGxhYmVsUGxhY2VtZW50LCByb3dzLCB2YWx1ZSwgc2l6ZSB9ID0gcHJvcHM7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDQuNC30LzQtdC90LXQvdC40LUg0YbQstC10YLQsCDQv9C70LXQudGB0YXQvtC70LTQtdGA0LAg0L/RgNC4INGE0L7QutGD0YHQtVxuICAgIGNvbnN0IHdpdGhGb2N1c2VkT3V0ZXJVcFBsYWNlaG9sZGVyID1cbiAgICAgICAgIXJlYWRPbmx5ICYmIGZvY3VzZWQgJiYgKCFsYWJlbCB8fCBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJykgPyBmb2N1c2VkT3V0ZXJQbGFjZWhvbGRlckNvbG9yIDogdW5kZWZpbmVkO1xuXG4gICAgLy8g0JTQvtCx0LDQstC40YLRjCDQutC70LDRgdGBINC+0YLQstC10YfQsNGO0YnQuNC5INC30LAg0L/QvtC00L3Rj9GC0LjQtSDQuCDRg9C80LXQvdGM0YjQtdC90LjQtSDQv9C70LXQudGB0YXQvtC70LTQtdGA0LBcbiAgICBjb25zdCB3aXRoSW5uZXJQbGFjZWhvbGRlclVwID1cbiAgICAgICAgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiZcbiAgICAgICAgbGFiZWwgJiZcbiAgICAgICAgIXJvd3MgJiZcbiAgICAgICAgc2l6ZSAhPT0gJ3hzJyAmJlxuICAgICAgICAoKCFyZWFkT25seSAmJiAodmFsdWUgfHwgZm9jdXNlZCkpIHx8IChyZWFkT25seSAmJiB2YWx1ZSkpXG4gICAgICAgICAgICA/IGlubmVyUGxhY2Vob2xkZXJVcFxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDRgdC60YDRi9GC0LjQtSDQv9C70LXQudGB0YXQvtC70LTQtdGA0LBcbiAgICBjb25zdCB3aXRoSGlkZVBsYWNlaG9sZGVyID1cbiAgICAgICAgKHZhbHVlICYmICFsYWJlbCkgfHxcbiAgICAgICAgKGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmICgoZm9jdXNlZCAmJiAhcmVhZE9ubHkpIHx8IHZhbHVlKSAmJiBsYWJlbCAmJiByb3dzKSB8fFxuICAgICAgICAobGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgdmFsdWUpIHx8XG4gICAgICAgIChsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiBzaXplID09PSAneHMnICYmIHZhbHVlKVxuICAgICAgICAgICAgPyBoaWRlUGxhY2VIb2xkZXJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIFt3aXRoRm9jdXNlZE91dGVyVXBQbGFjZWhvbGRlciwgd2l0aElubmVyUGxhY2Vob2xkZXJVcCwgd2l0aEhpZGVQbGFjZWhvbGRlcl07XG59O1xuXG5leHBvcnQgY29uc3QgdGV4dEFyZWFSb290ID0gKFJvb3Q6IFJvb3RQcm9wczxIVE1MVGV4dEFyZWFFbGVtZW50LCBUZXh0QXJlYVByb3BzPikgPT5cbiAgICBmb3J3YXJkUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQsIFRleHRBcmVhUHJvcHM+KChwcm9wcywgaW5uZXJSZWYpID0+IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgaGVscGVyVGV4dCxcbiAgICAgICAgICAgIHN0YXR1cyxcbiAgICAgICAgICAgIHJlc2l6ZSxcbiAgICAgICAgICAgIHJpZ2h0SGVscGVyLFxuICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgIGNvbnRlbnRSaWdodCxcbiAgICAgICAgICAgIGF1dG9SZXNpemUgPSBmYWxzZSxcbiAgICAgICAgICAgIG1pbkF1dG8gPSAwLFxuICAgICAgICAgICAgbWF4QXV0byxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQgPSAnaW5uZXInLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICByZXF1aXJlZCA9IGZhbHNlLFxuICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnQgPSAncmlnaHQnLFxuICAgICAgICAgICAgb3B0aW9uYWwgPSBmYWxzZSxcbiAgICAgICAgICAgIGNsZWFyLFxuICAgICAgICAgICAgaGFzRGl2aWRlcixcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBzdHlsZSxcbiAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgcm93cyxcbiAgICAgICAgICAgIGNvbHMsXG4gICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgfSA9IHByb3BzO1xuXG4gICAgICAgIGNvbnN0IFtoZWxwZXJXaWR0aCwgc2V0SGVscGVyV2lkdGhdID0gdXNlU3RhdGU8c3RyaW5nPih3aWR0aCA/IGAke3dpZHRofXJlbWAgOiAnMTAwJScpO1xuICAgICAgICBjb25zdCBbZm9jdXNlZCwgc2V0Rm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgICAgIGNvbnN0IFt1bmNvbnRyb2xsZWRWYWx1ZSwgc2V0VW5jb250cm9sbGVkVmFsdWVdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgICAgIGNvbnN0IG91dGVyUmVmID0gY3JlYXRlUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+KCk7XG5cbiAgICAgICAgY29uc3QgaW5uZXJPcHRpb25hbCA9IHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbDtcbiAgICAgICAgY29uc3QgaGFzSGVscGVyID0gQm9vbGVhbihsZWZ0SGVscGVyIHx8IHJpZ2h0SGVscGVyIHx8IGhlbHBlclRleHQpO1xuICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gQm9vbGVhbihsYWJlbCAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyk7XG4gICAgICAgIGNvbnN0IGhhc0lubmVyTGFiZWwgPSBCb29sZWFuKGxhYmVsICYmIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmIHNpemUgIT09ICd4cycpO1xuICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaGFzT3V0ZXJMYWJlbDtcblxuICAgICAgICBjb25zdCBvdmVycmlkZGVuVmlldyA9IHN0YXR1cyAhPT0gdW5kZWZpbmVkID8gZmFsbGJhY2tTdGF0dXNNYXBbc3RhdHVzXSA6IHZpZXc7XG4gICAgICAgIGNvbnN0IHRleHRhcmVhSGVscGVySWQgPSBpZCA/IGAke2lkfS1oZWxwZXJgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBhcHBseUN1c3RvbVdpZHRoID0gcmVzaXplICE9PSAnaG9yaXpvbnRhbCcgJiYgcmVzaXplICE9PSAnYm90aCcgJiYgIWNvbHM7XG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyTGFiZWwgPSBoYXNJbm5lckxhYmVsID8gbGFiZWwgOiBwbGFjZWhvbGRlcjtcblxuICAgICAgICBjb25zdCBjbGVhckNsYXNzID0gY2xlYXIgPyBjbGFzc2VzLmNsZWFyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNSaWdodENvbnRlbnRDbGFzcyA9IGNvbnRlbnRSaWdodCA/IGNsYXNzZXMuaGFzUmlnaHRDb250ZW50IDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNEaXZpZGVyQ2xhc3MgPSBoYXNEaXZpZGVyID8gY2xhc3Nlcy5oYXNEaXZpZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCByZXF1aXJlZFBsYWNlbWVudENsYXNzID0gcmVxdWlyZWRQbGFjZW1lbnQgPT09ICdyaWdodCcgPyAnYWxpZ24tcmlnaHQgJyA6IHVuZGVmaW5lZDtcblxuICAgICAgICB1c2VSZXNpemVPYnNlcnZlcihvdXRlclJlZiwgKGN1cnJlbnRFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHdpZHRoOiBpbmxpbmVXaWR0aCB9ID0gY3VycmVudEVsZW1lbnQuc3R5bGU7XG5cbiAgICAgICAgICAgIGlmIChpbmxpbmVXaWR0aCB8fCBjb2xzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB3aWR0aDogZWxlbWVudFdpZHRoIH0gPSBjdXJyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICBzZXRIZWxwZXJXaWR0aChgJHtlbGVtZW50V2lkdGggLyBST09UX0ZPTlRfU0laRX1yZW1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdXNlQXV0b1Jlc2l6ZShhdXRvUmVzaXplIHx8IEJvb2xlYW4oY2xlYXIpLCBvdXRlclJlZiwgdmFsdWUsIG1pbkF1dG8sIG1heEF1dG8sIGRlZmF1bHRWYWx1ZSk7XG5cbiAgICAgICAgY29uc3Qgb25Gb2N1c0hhbmRsZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkKHRydWUpO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgY29uc3Qgb25CbHVySGFuZGxlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgICAgIHNldEZvY3VzZWQoZmFsc2UpO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgY29uc3Qgb25DaGFuZ2VIYW5kbGVyID0gdXNlQ2FsbGJhY2soXG4gICAgICAgICAgICAoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSU5GTzog0JTQu9GPINC60YDQsNC50L3QtSDRgNC10LTQutC40YUg0LrQtdC50YHQvtCyLCDQutC+0LPQtNCwIHZhbHVlINGB0L3QsNGA0YPQttC4INC90LUg0LrQvtC90YLRgNC+0LvQuNGA0YPQtdGC0YHRj1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFVuY29udHJvbGxlZFZhbHVlKGV2ZW50Py50YXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFt2YWx1ZSwgb25DaGFuZ2VdLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGhhbmRsZVRleHRBcmVhRm9jdXMgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVhZE9ubHkgfHwgZGlzYWJsZWQgfHwgIW91dGVyUmVmPy5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBvdXRlclJlZi5jdXJyZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgbGVmdDogb3V0ZXJSZWYuY3VycmVudC5vZmZzZXRMZWZ0LFxuICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBvdXRlclJlZi5jdXJyZW50LmZvY3VzKCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZHluYW1pY0xhYmVsQ2xhc3NlcyA9IGdldER5bmFtaWNMYWJlbENsYXNzZXMoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICByZWFkT25seSxcbiAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUgfHwgdW5jb250cm9sbGVkVmFsdWUgfHwgZGVmYXVsdFZhbHVlLFxuICAgICAgICAgICAgICAgIHJvd3MsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZm9jdXNlZCxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBvcHRpb25hbFRleHROb2RlID0gaW5uZXJPcHRpb25hbCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRPcHRpb25hbFRleHQ+XG4gICAgICAgICAgICAgICAge0Jvb2xlYW4oaGFzUGxhY2Vob2xkZXJPcHRpb25hbCA/IHBsYWNlaG9sZGVyTGFiZWwgOiBsYWJlbCkgJiYgJ1xceGEwJ31cbiAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0fVxuICAgICAgICAgICAgPC9TdHlsZWRPcHRpb25hbFRleHQ+XG4gICAgICAgICkgOiBudWxsO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8Um9vdFxuICAgICAgICAgICAgICAgIHZpZXc9e292ZXJyaWRkZW5WaWV3fVxuICAgICAgICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICBjbGVhcj17Y2xlYXJ9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IGhlbHBlcldpZHRoLCAuLi5zdHlsZSB9fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goY2xlYXJDbGFzcywgaGFzRGl2aWRlckNsYXNzLCBjbGFzc05hbWUpfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVRleHRBcmVhRm9jdXN9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2hhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbmRpY2F0b3IgY2xhc3NOYW1lPXtjeChjbGFzc2VzLm91dGVyTGFiZWxQbGFjZW1lbnQsIHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MpfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZExhYmVsPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KHN0eWxlZENvbnRhaW5lciwgLi4uZHluYW1pY0xhYmVsQ2xhc3Nlcyl9XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPXtoZWxwZXJXaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17b25Gb2N1c0hhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17b25CbHVySGFuZGxlcn1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiAhaGFzT3V0ZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge2NvbnRlbnRSaWdodCAmJiA8U3R5bGVkQ29udGVudD57Y29udGVudFJpZ2h0fTwvU3R5bGVkQ29udGVudD59XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYVdyYXBwZXIgY2xhc3NOYW1lPXtzdHlsZWRUZXh0QXJlYVdyYXBwZXJ9IGhhc0hlbHBlcj17aGFzSGVscGVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goc3R5bGVkVGV4dEFyZWEsIGhhc1JpZ2h0Q29udGVudENsYXNzKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ29udGVudFJpZ2h0PXtCb29sZWFuKGNvbnRlbnRSaWdodCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzSGVscGVyPXtoYXNIZWxwZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbHlDdXN0b21XaWR0aD17YXBwbHlDdXN0b21XaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e21lcmdlUmVmcyhvdXRlclJlZiwgaW5uZXJSZWYpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9e2F1dG9SZXNpemUgfHwgQm9vbGVhbihjbGVhcikgPyBtaW5BdXRvIDogaGVpZ2h0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJMYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXt0ZXh0YXJlYUhlbHBlcklkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xzPXtjb2xzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2l6ZT17cmVzaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZUhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFRleHRBcmVhV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAge2hhc0hlbHBlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSGVscGVycyBjbGFzc05hbWU9e3N0eWxlZEhlbHBlcnN9IGlkPXt0ZXh0YXJlYUhlbHBlcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KGxlZnRIZWxwZXIgfHwgaGVscGVyVGV4dCkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkTGVmdEhlbHBlcj57bGVmdEhlbHBlciB8fCBoZWxwZXJUZXh0fTwvU3R5bGVkTGVmdEhlbHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyaWdodEhlbHBlciAmJiA8U3R5bGVkUmlnaHRIZWxwZXI+e3JpZ2h0SGVscGVyfTwvU3R5bGVkUmlnaHRIZWxwZXI+fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRIZWxwZXJzPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICB7cGxhY2Vob2xkZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkUGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNDb250ZW50UmlnaHQ9e0Jvb2xlYW4oY29udGVudFJpZ2h0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlZFBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxGb3I9e2lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlckxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHshaGFzT3V0ZXJMYWJlbCAmJiBvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRQbGFjZWhvbGRlcj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvUm9vdD5cbiAgICAgICAgKTtcbiAgICB9KTtcblxuZXhwb3J0IGNvbnN0IHRleHRBcmVhQ29uZmlnID0ge1xuICAgIG5hbWU6ICdUZXh0QXJlYScsXG4gICAgdGFnOiAnZGl2JyxcbiAgICBsYXlvdXQ6IHRleHRBcmVhUm9vdCxcbiAgICBiYXNlLFxuICAgIHZhcmlhdGlvbnM6IHtcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgY3NzOiBzaXplQ1NTLFxuICAgICAgICB9LFxuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgICBjc3M6IHZpZXdDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGNsZWFyOiB7XG4gICAgICAgICAgICBjc3M6IGNsZWFyQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICBjc3M6IGRpc2FibGVkQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlYWRPbmx5OiB7XG4gICAgICAgICAgICBhdHRyczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIGRlZmF1bHRzOiB7XG4gICAgICAgIHNpemU6ICdtJyxcbiAgICAgICAgdmlldzogJ3ByaW1hcnknLFxuICAgIH0sXG59O1xuIl19 */"));
51
51
 
52
52
  // TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c
53
53
  var fallbackStatusMap = {
@@ -150,7 +150,7 @@ var textAreaRoot = exports.textAreaRoot = function textAreaRoot(Root) {
150
150
  setHelperWidth("".concat(elementWidth / _hooks.ROOT_FONT_SIZE, "rem"));
151
151
  }
152
152
  });
153
- (0, _hooks.useAutoResize)(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto);
153
+ (0, _hooks.useAutoResize)(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto, defaultValue);
154
154
  var onFocusHandler = (0, _react.useCallback)(function () {
155
155
  setFocused(true);
156
156
  }, []);
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useAutoResize = exports.ROOT_FONT_SIZE = void 0;
7
7
  var _react = /*#__PURE__*/require("react");
8
8
  var ROOT_FONT_SIZE = exports.ROOT_FONT_SIZE = 16;
9
- var useAutoResize = exports.useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto) {
9
+ var useAutoResize = exports.useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto, defaultValue) {
10
10
  var isManualResize = (0, _react.useRef)(false);
11
11
  var previousHeight = (0, _react.useRef)();
12
12
  (0, _react.useEffect)(function () {
@@ -29,5 +29,5 @@ var useAutoResize = exports.useAutoResize = function useAutoResize(active, ref,
29
29
  ref.current.style.height = "".concat(newHeight, "rem");
30
30
  previousHeight.current = newHeight;
31
31
  }
32
- }, [ref, active, value]);
32
+ }, [ref, active, value, defaultValue]);
33
33
  };
@@ -39,7 +39,7 @@ var innerPlaceholderUp = classes.innerPlaceholderUp,
39
39
  styledPlaceholder = classes.styledPlaceholder,
40
40
  styledHelpers = classes.styledHelpers;
41
41
  var optionalText = 'optional';
42
- var base = /*#__PURE__*/css(applyDynamicLabel, ";position:relative;box-sizing:border-box;;label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEFyZWEvVGV4dEFyZWEudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDZ0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0QXJlYS9UZXh0QXJlYS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlU3RhdGUsIGNyZWF0ZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5cbmltcG9ydCB7IGN4LCBtZXJnZVJlZnMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJvb3RQcm9wcyB9IGZyb20gJy4uLy4uL2VuZ2luZXMvdHlwZXMnO1xuXG5pbXBvcnQgeyBhcHBseUR5bmFtaWNMYWJlbCB9IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IHVzZUF1dG9SZXNpemUsIFJPT1RfRk9OVF9TSVpFIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQge1xuICAgIFN0eWxlZENvbnRlbnQsXG4gICAgU3R5bGVkSGVscGVycyxcbiAgICBTdHlsZWRMZWZ0SGVscGVyLFxuICAgIFN0eWxlZFJpZ2h0SGVscGVyLFxuICAgIFN0eWxlZExhYmVsLFxuICAgIFN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIFN0eWxlZFRleHRBcmVhLFxuICAgIFN0eWxlZFRleHRBcmVhV3JhcHBlcixcbiAgICBTdHlsZWRDb250YWluZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yLFxuICAgIFN0eWxlZE9wdGlvbmFsVGV4dCxcbn0gZnJvbSAnLi9UZXh0QXJlYS5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEFyZWEudG9rZW5zJztcbmltcG9ydCB7IGJhc2UgYXMgdmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgc2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgY2xlYXJDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2NsZWFyL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBkaXNhYmxlZENTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fZGlzYWJsZWQvYmFzZSc7XG5pbXBvcnQgdHlwZSB7IFRleHRBcmVhUHJvcHMgfSBmcm9tICcuL1RleHRBcmVhLnR5cGVzJztcblxuY29uc3Qge1xuICAgIGlubmVyUGxhY2Vob2xkZXJVcCxcbiAgICBmb2N1c2VkT3V0ZXJQbGFjZWhvbGRlckNvbG9yLFxuICAgIGhpZGVQbGFjZUhvbGRlcixcbiAgICBzdHlsZWRDb250YWluZXIsXG4gICAgc3R5bGVkVGV4dEFyZWEsXG4gICAgc3R5bGVkVGV4dEFyZWFXcmFwcGVyLFxuICAgIHN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIHN0eWxlZEhlbHBlcnMsXG59ID0gY2xhc3NlcztcblxuY29uc3Qgb3B0aW9uYWxUZXh0ID0gJ29wdGlvbmFsJztcblxuY29uc3QgYmFzZSA9IGNzc2BcbiAgICAke2FwcGx5RHluYW1pY0xhYmVsfTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuYDtcblxuLy8gVE9ETzog0KPQtNCw0LvQuNGC0Ywg0L/QvtGB0LvQtSDQvtGC0LrQsNC30LAg0L7RgiDRgdGC0LDRgNGL0YUg0LHQuNCx0LvQuNC+0YLQtdC6IHBsYXNtYS13ZWIgLyBwbGFzbWEtYjJjXG5jb25zdCBmYWxsYmFja1N0YXR1c01hcCA9IHtcbiAgICAnJzogJ3ByaW1hcnknLFxuICAgIHN1Y2Nlc3M6ICdwb3NpdGl2ZScsXG4gICAgd2FybmluZzogJ3dhcm5pbmcnLFxuICAgIGVycm9yOiAnbmVnYXRpdmUnLFxufTtcblxuLy8gVE9ETzog0J/QtdGA0LXQvdC10YHRgtC4INGN0YLQvtGCINC80LXRgtC+0LQg0LIg0YTQsNC50LsgYXBwbHlEeW5hbWljTGFiZWwudHNcbmV4cG9ydCBjb25zdCBnZXREeW5hbWljTGFiZWxDbGFzc2VzID0gKHByb3BzOiBUZXh0QXJlYVByb3BzLCBmb2N1c2VkOiBib29sZWFuKSA9PiB7XG4gICAgY29uc3QgeyByZWFkT25seSwgbGFiZWwsIGxhYmVsUGxhY2VtZW50LCByb3dzLCB2YWx1ZSwgc2l6ZSB9ID0gcHJvcHM7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDQuNC30LzQtdC90LXQvdC40LUg0YbQstC10YLQsCDQv9C70LXQudGB0YXQvtC70LTQtdGA0LAg0L/RgNC4INGE0L7QutGD0YHQtVxuICAgIGNvbnN0IHdpdGhGb2N1c2VkT3V0ZXJVcFBsYWNlaG9sZGVyID1cbiAgICAgICAgIXJlYWRPbmx5ICYmIGZvY3VzZWQgJiYgKCFsYWJlbCB8fCBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJykgPyBmb2N1c2VkT3V0ZXJQbGFjZWhvbGRlckNvbG9yIDogdW5kZWZpbmVkO1xuXG4gICAgLy8g0JTQvtCx0LDQstC40YLRjCDQutC70LDRgdGBINC+0YLQstC10YfQsNGO0YnQuNC5INC30LAg0L/QvtC00L3Rj9GC0LjQtSDQuCDRg9C80LXQvdGM0YjQtdC90LjQtSDQv9C70LXQudGB0YXQvtC70LTQtdGA0LBcbiAgICBjb25zdCB3aXRoSW5uZXJQbGFjZWhvbGRlclVwID1cbiAgICAgICAgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiZcbiAgICAgICAgbGFiZWwgJiZcbiAgICAgICAgIXJvd3MgJiZcbiAgICAgICAgc2l6ZSAhPT0gJ3hzJyAmJlxuICAgICAgICAoKCFyZWFkT25seSAmJiAodmFsdWUgfHwgZm9jdXNlZCkpIHx8IChyZWFkT25seSAmJiB2YWx1ZSkpXG4gICAgICAgICAgICA/IGlubmVyUGxhY2Vob2xkZXJVcFxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDRgdC60YDRi9GC0LjQtSDQv9C70LXQudGB0YXQvtC70LTQtdGA0LBcbiAgICBjb25zdCB3aXRoSGlkZVBsYWNlaG9sZGVyID1cbiAgICAgICAgKHZhbHVlICYmICFsYWJlbCkgfHxcbiAgICAgICAgKGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmICgoZm9jdXNlZCAmJiAhcmVhZE9ubHkpIHx8IHZhbHVlKSAmJiBsYWJlbCAmJiByb3dzKSB8fFxuICAgICAgICAobGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgdmFsdWUpIHx8XG4gICAgICAgIChsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiBzaXplID09PSAneHMnICYmIHZhbHVlKVxuICAgICAgICAgICAgPyBoaWRlUGxhY2VIb2xkZXJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIFt3aXRoRm9jdXNlZE91dGVyVXBQbGFjZWhvbGRlciwgd2l0aElubmVyUGxhY2Vob2xkZXJVcCwgd2l0aEhpZGVQbGFjZWhvbGRlcl07XG59O1xuXG5leHBvcnQgY29uc3QgdGV4dEFyZWFSb290ID0gKFJvb3Q6IFJvb3RQcm9wczxIVE1MVGV4dEFyZWFFbGVtZW50LCBUZXh0QXJlYVByb3BzPikgPT5cbiAgICBmb3J3YXJkUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQsIFRleHRBcmVhUHJvcHM+KChwcm9wcywgaW5uZXJSZWYpID0+IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgaGVscGVyVGV4dCxcbiAgICAgICAgICAgIHN0YXR1cyxcbiAgICAgICAgICAgIHJlc2l6ZSxcbiAgICAgICAgICAgIHJpZ2h0SGVscGVyLFxuICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgIGNvbnRlbnRSaWdodCxcbiAgICAgICAgICAgIGF1dG9SZXNpemUgPSBmYWxzZSxcbiAgICAgICAgICAgIG1pbkF1dG8gPSAwLFxuICAgICAgICAgICAgbWF4QXV0byxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQgPSAnaW5uZXInLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICByZXF1aXJlZCA9IGZhbHNlLFxuICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnQgPSAncmlnaHQnLFxuICAgICAgICAgICAgb3B0aW9uYWwgPSBmYWxzZSxcbiAgICAgICAgICAgIGNsZWFyLFxuICAgICAgICAgICAgaGFzRGl2aWRlcixcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBzdHlsZSxcbiAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgcm93cyxcbiAgICAgICAgICAgIGNvbHMsXG4gICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgfSA9IHByb3BzO1xuXG4gICAgICAgIGNvbnN0IFtoZWxwZXJXaWR0aCwgc2V0SGVscGVyV2lkdGhdID0gdXNlU3RhdGU8c3RyaW5nPih3aWR0aCA/IGAke3dpZHRofXJlbWAgOiAnMTAwJScpO1xuICAgICAgICBjb25zdCBbZm9jdXNlZCwgc2V0Rm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgICAgIGNvbnN0IFt1bmNvbnRyb2xsZWRWYWx1ZSwgc2V0VW5jb250cm9sbGVkVmFsdWVdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgICAgIGNvbnN0IG91dGVyUmVmID0gY3JlYXRlUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+KCk7XG5cbiAgICAgICAgY29uc3QgaW5uZXJPcHRpb25hbCA9IHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbDtcbiAgICAgICAgY29uc3QgaGFzSGVscGVyID0gQm9vbGVhbihsZWZ0SGVscGVyIHx8IHJpZ2h0SGVscGVyIHx8IGhlbHBlclRleHQpO1xuICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gQm9vbGVhbihsYWJlbCAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyk7XG4gICAgICAgIGNvbnN0IGhhc0lubmVyTGFiZWwgPSBCb29sZWFuKGxhYmVsICYmIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmIHNpemUgIT09ICd4cycpO1xuICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaGFzT3V0ZXJMYWJlbDtcblxuICAgICAgICBjb25zdCBvdmVycmlkZGVuVmlldyA9IHN0YXR1cyAhPT0gdW5kZWZpbmVkID8gZmFsbGJhY2tTdGF0dXNNYXBbc3RhdHVzXSA6IHZpZXc7XG4gICAgICAgIGNvbnN0IHRleHRhcmVhSGVscGVySWQgPSBpZCA/IGAke2lkfS1oZWxwZXJgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBhcHBseUN1c3RvbVdpZHRoID0gcmVzaXplICE9PSAnaG9yaXpvbnRhbCcgJiYgcmVzaXplICE9PSAnYm90aCcgJiYgIWNvbHM7XG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyTGFiZWwgPSBoYXNJbm5lckxhYmVsID8gbGFiZWwgOiBwbGFjZWhvbGRlcjtcblxuICAgICAgICBjb25zdCBjbGVhckNsYXNzID0gY2xlYXIgPyBjbGFzc2VzLmNsZWFyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNSaWdodENvbnRlbnRDbGFzcyA9IGNvbnRlbnRSaWdodCA/IGNsYXNzZXMuaGFzUmlnaHRDb250ZW50IDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNEaXZpZGVyQ2xhc3MgPSBoYXNEaXZpZGVyID8gY2xhc3Nlcy5oYXNEaXZpZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCByZXF1aXJlZFBsYWNlbWVudENsYXNzID0gcmVxdWlyZWRQbGFjZW1lbnQgPT09ICdyaWdodCcgPyAnYWxpZ24tcmlnaHQgJyA6IHVuZGVmaW5lZDtcblxuICAgICAgICB1c2VSZXNpemVPYnNlcnZlcihvdXRlclJlZiwgKGN1cnJlbnRFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHdpZHRoOiBpbmxpbmVXaWR0aCB9ID0gY3VycmVudEVsZW1lbnQuc3R5bGU7XG5cbiAgICAgICAgICAgIGlmIChpbmxpbmVXaWR0aCB8fCBjb2xzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB3aWR0aDogZWxlbWVudFdpZHRoIH0gPSBjdXJyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICBzZXRIZWxwZXJXaWR0aChgJHtlbGVtZW50V2lkdGggLyBST09UX0ZPTlRfU0laRX1yZW1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdXNlQXV0b1Jlc2l6ZShhdXRvUmVzaXplIHx8IEJvb2xlYW4oY2xlYXIpLCBvdXRlclJlZiwgdmFsdWUsIG1pbkF1dG8sIG1heEF1dG8pO1xuXG4gICAgICAgIGNvbnN0IG9uRm9jdXNIYW5kbGVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICAgICAgc2V0Rm9jdXNlZCh0cnVlKTtcbiAgICAgICAgfSwgW10pO1xuXG4gICAgICAgIGNvbnN0IG9uQmx1ckhhbmRsZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkKGZhbHNlKTtcbiAgICAgICAgfSwgW10pO1xuXG4gICAgICAgIGNvbnN0IG9uQ2hhbmdlSGFuZGxlciA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAgICAgKGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgICAgIC8vIElORk86INCU0LvRjyDQutGA0LDQudC90LUg0YDQtdC00LrQuNGFINC60LXQudGB0L7Qsiwg0LrQvtCz0LTQsCB2YWx1ZSDRgdC90LDRgNGD0LbQuCDQvdC1INC60L7QvdGC0YDQvtC70LjRgNGD0LXRgtGB0Y9cbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBzZXRVbmNvbnRyb2xsZWRWYWx1ZShldmVudD8udGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT8uKGV2ZW50KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbdmFsdWUsIG9uQ2hhbmdlXSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBoYW5kbGVUZXh0QXJlYUZvY3VzID0gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlYWRPbmx5IHx8IGRpc2FibGVkIHx8ICFvdXRlclJlZj8uY3VycmVudCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgb3V0ZXJSZWYuY3VycmVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIGxlZnQ6IG91dGVyUmVmLmN1cnJlbnQub2Zmc2V0TGVmdCxcbiAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgb3V0ZXJSZWYuY3VycmVudC5mb2N1cygpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGR5bmFtaWNMYWJlbENsYXNzZXMgPSBnZXREeW5hbWljTGFiZWxDbGFzc2VzKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICAgICAgcmVhZE9ubHksXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlIHx8IHVuY29udHJvbGxlZFZhbHVlIHx8IGRlZmF1bHRWYWx1ZSxcbiAgICAgICAgICAgICAgICByb3dzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZvY3VzZWQsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uYWxUZXh0Tm9kZSA9IGlubmVyT3B0aW9uYWwgPyAoXG4gICAgICAgICAgICA8U3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICAgICAgICAgIHtCb29sZWFuKGhhc1BsYWNlaG9sZGVyT3B0aW9uYWwgPyBwbGFjZWhvbGRlckxhYmVsIDogbGFiZWwpICYmICdcXHhhMCd9XG4gICAgICAgICAgICAgICAge29wdGlvbmFsVGV4dH1cbiAgICAgICAgICAgIDwvU3R5bGVkT3B0aW9uYWxUZXh0PlxuICAgICAgICApIDogbnVsbDtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFJvb3RcbiAgICAgICAgICAgICAgICB2aWV3PXtvdmVycmlkZGVuVmlld31cbiAgICAgICAgICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgY2xlYXI9e2NsZWFyfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiBoZWxwZXJXaWR0aCwgLi4uc3R5bGUgfX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KGNsZWFyQ2xhc3MsIGhhc0RpdmlkZXJDbGFzcywgY2xhc3NOYW1lKX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVUZXh0QXJlYUZvY3VzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtoYXNPdXRlckxhYmVsICYmIChcbiAgICAgICAgICAgICAgICAgICAgPFN0eWxlZExhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAge3JlcXVpcmVkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5vdXRlckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDxTdHlsZWRDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChzdHlsZWRDb250YWluZXIsIC4uLmR5bmFtaWNMYWJlbENsYXNzZXMpfVxuICAgICAgICAgICAgICAgICAgICB3aWR0aD17aGVscGVyV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXNIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e29uQmx1ckhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgIWhhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEluZGljYXRvciBjbGFzc05hbWU9e2N4KGNsYXNzZXMuaW5uZXJMYWJlbFBsYWNlbWVudCwgcmVxdWlyZWRQbGFjZW1lbnRDbGFzcyl9IC8+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHtjb250ZW50UmlnaHQgJiYgPFN0eWxlZENvbnRlbnQ+e2NvbnRlbnRSaWdodH08L1N0eWxlZENvbnRlbnQ+fVxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFXcmFwcGVyIGNsYXNzTmFtZT17c3R5bGVkVGV4dEFyZWFXcmFwcGVyfSBoYXNIZWxwZXI9e2hhc0hlbHBlcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KHN0eWxlZFRleHRBcmVhLCBoYXNSaWdodENvbnRlbnRDbGFzcyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0NvbnRlbnRSaWdodD17Qm9vbGVhbihjb250ZW50UmlnaHQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0hlbHBlcj17aGFzSGVscGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGx5Q3VzdG9tV2lkdGg9e2FwcGx5Q3VzdG9tV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXttZXJnZVJlZnMob3V0ZXJSZWYsIGlubmVyUmVmKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXthdXRvUmVzaXplIHx8IEJvb2xlYW4oY2xlYXIpID8gbWluQXV0byA6IGhlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyTGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT17dGV4dGFyZWFIZWxwZXJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd3M9e3Jvd3N9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNpemU9e3Jlc2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0QXJlYVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIHtoYXNIZWxwZXIgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEhlbHBlcnMgY2xhc3NOYW1lPXtzdHlsZWRIZWxwZXJzfSBpZD17dGV4dGFyZWFIZWxwZXJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyhsZWZ0SGVscGVyIHx8IGhlbHBlclRleHQpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZExlZnRIZWxwZXI+e2xlZnRIZWxwZXIgfHwgaGVscGVyVGV4dH08L1N0eWxlZExlZnRIZWxwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmlnaHRIZWxwZXIgJiYgPFN0eWxlZFJpZ2h0SGVscGVyPntyaWdodEhlbHBlcn08L1N0eWxlZFJpZ2h0SGVscGVyPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkSGVscGVycz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge3BsYWNlaG9sZGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ29udGVudFJpZ2h0PXtCb29sZWFuKGNvbnRlbnRSaWdodCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZWRQbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cGxhY2Vob2xkZXJMYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IWhhc091dGVyTGFiZWwgJiYgb3B0aW9uYWxUZXh0Tm9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkUGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgICk7XG4gICAgfSk7XG5cbmV4cG9ydCBjb25zdCB0ZXh0QXJlYUNvbmZpZyA9IHtcbiAgICBuYW1lOiAnVGV4dEFyZWEnLFxuICAgIHRhZzogJ2RpdicsXG4gICAgbGF5b3V0OiB0ZXh0QXJlYVJvb3QsXG4gICAgYmFzZSxcbiAgICB2YXJpYXRpb25zOiB7XG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICAgIGNzczogc2l6ZUNTUyxcbiAgICAgICAgfSxcbiAgICAgICAgdmlldzoge1xuICAgICAgICAgICAgY3NzOiB2aWV3Q1NTLFxuICAgICAgICB9LFxuICAgICAgICBjbGVhcjoge1xuICAgICAgICAgICAgY3NzOiBjbGVhckNTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBkaXNhYmxlZDoge1xuICAgICAgICAgICAgY3NzOiBkaXNhYmxlZENTUyxcbiAgICAgICAgICAgIGF0dHJzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZWFkT25seToge1xuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgfSxcbiAgICBkZWZhdWx0czoge1xuICAgICAgICBzaXplOiAnbScsXG4gICAgICAgIHZpZXc6ICdwcmltYXJ5JyxcbiAgICB9LFxufTtcbiJdfQ== */"));
42
+ var base = /*#__PURE__*/css(applyDynamicLabel, ";position:relative;box-sizing:border-box;;label:plasma-new-hope__base;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy1lbW90aW9uL2NvbXBvbmVudHMvVGV4dEFyZWEvVGV4dEFyZWEudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDZ0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjLWVtb3Rpb24vY29tcG9uZW50cy9UZXh0QXJlYS9UZXh0QXJlYS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlU3RhdGUsIGNyZWF0ZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJ0BzYWx1dGVqcy9wbGFzbWEtY29yZSc7XG5cbmltcG9ydCB7IGN4LCBtZXJnZVJlZnMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJvb3RQcm9wcyB9IGZyb20gJy4uLy4uL2VuZ2luZXMvdHlwZXMnO1xuXG5pbXBvcnQgeyBhcHBseUR5bmFtaWNMYWJlbCB9IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IHVzZUF1dG9SZXNpemUsIFJPT1RfRk9OVF9TSVpFIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQge1xuICAgIFN0eWxlZENvbnRlbnQsXG4gICAgU3R5bGVkSGVscGVycyxcbiAgICBTdHlsZWRMZWZ0SGVscGVyLFxuICAgIFN0eWxlZFJpZ2h0SGVscGVyLFxuICAgIFN0eWxlZExhYmVsLFxuICAgIFN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIFN0eWxlZFRleHRBcmVhLFxuICAgIFN0eWxlZFRleHRBcmVhV3JhcHBlcixcbiAgICBTdHlsZWRDb250YWluZXIsXG4gICAgU3R5bGVkSW5kaWNhdG9yLFxuICAgIFN0eWxlZE9wdGlvbmFsVGV4dCxcbn0gZnJvbSAnLi9UZXh0QXJlYS5zdHlsZXMnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJy4vVGV4dEFyZWEudG9rZW5zJztcbmltcG9ydCB7IGJhc2UgYXMgdmlld0NTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fdmlldy9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgc2l6ZUNTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fc2l6ZS9iYXNlJztcbmltcG9ydCB7IGJhc2UgYXMgY2xlYXJDU1MgfSBmcm9tICcuL3ZhcmlhdGlvbnMvX2NsZWFyL2Jhc2UnO1xuaW1wb3J0IHsgYmFzZSBhcyBkaXNhYmxlZENTUyB9IGZyb20gJy4vdmFyaWF0aW9ucy9fZGlzYWJsZWQvYmFzZSc7XG5pbXBvcnQgdHlwZSB7IFRleHRBcmVhUHJvcHMgfSBmcm9tICcuL1RleHRBcmVhLnR5cGVzJztcblxuY29uc3Qge1xuICAgIGlubmVyUGxhY2Vob2xkZXJVcCxcbiAgICBmb2N1c2VkT3V0ZXJQbGFjZWhvbGRlckNvbG9yLFxuICAgIGhpZGVQbGFjZUhvbGRlcixcbiAgICBzdHlsZWRDb250YWluZXIsXG4gICAgc3R5bGVkVGV4dEFyZWEsXG4gICAgc3R5bGVkVGV4dEFyZWFXcmFwcGVyLFxuICAgIHN0eWxlZFBsYWNlaG9sZGVyLFxuICAgIHN0eWxlZEhlbHBlcnMsXG59ID0gY2xhc3NlcztcblxuY29uc3Qgb3B0aW9uYWxUZXh0ID0gJ29wdGlvbmFsJztcblxuY29uc3QgYmFzZSA9IGNzc2BcbiAgICAke2FwcGx5RHluYW1pY0xhYmVsfTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuYDtcblxuLy8gVE9ETzog0KPQtNCw0LvQuNGC0Ywg0L/QvtGB0LvQtSDQvtGC0LrQsNC30LAg0L7RgiDRgdGC0LDRgNGL0YUg0LHQuNCx0LvQuNC+0YLQtdC6IHBsYXNtYS13ZWIgLyBwbGFzbWEtYjJjXG5jb25zdCBmYWxsYmFja1N0YXR1c01hcCA9IHtcbiAgICAnJzogJ3ByaW1hcnknLFxuICAgIHN1Y2Nlc3M6ICdwb3NpdGl2ZScsXG4gICAgd2FybmluZzogJ3dhcm5pbmcnLFxuICAgIGVycm9yOiAnbmVnYXRpdmUnLFxufTtcblxuLy8gVE9ETzog0J/QtdGA0LXQvdC10YHRgtC4INGN0YLQvtGCINC80LXRgtC+0LQg0LIg0YTQsNC50LsgYXBwbHlEeW5hbWljTGFiZWwudHNcbmV4cG9ydCBjb25zdCBnZXREeW5hbWljTGFiZWxDbGFzc2VzID0gKHByb3BzOiBUZXh0QXJlYVByb3BzLCBmb2N1c2VkOiBib29sZWFuKSA9PiB7XG4gICAgY29uc3QgeyByZWFkT25seSwgbGFiZWwsIGxhYmVsUGxhY2VtZW50LCByb3dzLCB2YWx1ZSwgc2l6ZSB9ID0gcHJvcHM7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDQuNC30LzQtdC90LXQvdC40LUg0YbQstC10YLQsCDQv9C70LXQudGB0YXQvtC70LTQtdGA0LAg0L/RgNC4INGE0L7QutGD0YHQtVxuICAgIGNvbnN0IHdpdGhGb2N1c2VkT3V0ZXJVcFBsYWNlaG9sZGVyID1cbiAgICAgICAgIXJlYWRPbmx5ICYmIGZvY3VzZWQgJiYgKCFsYWJlbCB8fCBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJykgPyBmb2N1c2VkT3V0ZXJQbGFjZWhvbGRlckNvbG9yIDogdW5kZWZpbmVkO1xuXG4gICAgLy8g0JTQvtCx0LDQstC40YLRjCDQutC70LDRgdGBINC+0YLQstC10YfQsNGO0YnQuNC5INC30LAg0L/QvtC00L3Rj9GC0LjQtSDQuCDRg9C80LXQvdGM0YjQtdC90LjQtSDQv9C70LXQudGB0YXQvtC70LTQtdGA0LBcbiAgICBjb25zdCB3aXRoSW5uZXJQbGFjZWhvbGRlclVwID1cbiAgICAgICAgbGFiZWxQbGFjZW1lbnQgPT09ICdpbm5lcicgJiZcbiAgICAgICAgbGFiZWwgJiZcbiAgICAgICAgIXJvd3MgJiZcbiAgICAgICAgc2l6ZSAhPT0gJ3hzJyAmJlxuICAgICAgICAoKCFyZWFkT25seSAmJiAodmFsdWUgfHwgZm9jdXNlZCkpIHx8IChyZWFkT25seSAmJiB2YWx1ZSkpXG4gICAgICAgICAgICA/IGlubmVyUGxhY2Vob2xkZXJVcFxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyDQlNC+0LHQsNCy0LjRgtGMINC60LvQsNGB0YEg0L7RgtCy0LXRh9Cw0Y7RidC40Lkg0LfQsCDRgdC60YDRi9GC0LjQtSDQv9C70LXQudGB0YXQvtC70LTQtdGA0LBcbiAgICBjb25zdCB3aXRoSGlkZVBsYWNlaG9sZGVyID1cbiAgICAgICAgKHZhbHVlICYmICFsYWJlbCkgfHxcbiAgICAgICAgKGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmICgoZm9jdXNlZCAmJiAhcmVhZE9ubHkpIHx8IHZhbHVlKSAmJiBsYWJlbCAmJiByb3dzKSB8fFxuICAgICAgICAobGFiZWxQbGFjZW1lbnQgPT09ICdvdXRlcicgJiYgdmFsdWUpIHx8XG4gICAgICAgIChsYWJlbFBsYWNlbWVudCA9PT0gJ2lubmVyJyAmJiBzaXplID09PSAneHMnICYmIHZhbHVlKVxuICAgICAgICAgICAgPyBoaWRlUGxhY2VIb2xkZXJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIFt3aXRoRm9jdXNlZE91dGVyVXBQbGFjZWhvbGRlciwgd2l0aElubmVyUGxhY2Vob2xkZXJVcCwgd2l0aEhpZGVQbGFjZWhvbGRlcl07XG59O1xuXG5leHBvcnQgY29uc3QgdGV4dEFyZWFSb290ID0gKFJvb3Q6IFJvb3RQcm9wczxIVE1MVGV4dEFyZWFFbGVtZW50LCBUZXh0QXJlYVByb3BzPikgPT5cbiAgICBmb3J3YXJkUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQsIFRleHRBcmVhUHJvcHM+KChwcm9wcywgaW5uZXJSZWYpID0+IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgaGVscGVyVGV4dCxcbiAgICAgICAgICAgIHN0YXR1cyxcbiAgICAgICAgICAgIHJlc2l6ZSxcbiAgICAgICAgICAgIHJpZ2h0SGVscGVyLFxuICAgICAgICAgICAgbGVmdEhlbHBlcixcbiAgICAgICAgICAgIGNvbnRlbnRSaWdodCxcbiAgICAgICAgICAgIGF1dG9SZXNpemUgPSBmYWxzZSxcbiAgICAgICAgICAgIG1pbkF1dG8gPSAwLFxuICAgICAgICAgICAgbWF4QXV0byxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgbGFiZWxQbGFjZW1lbnQgPSAnaW5uZXInLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICByZXF1aXJlZCA9IGZhbHNlLFxuICAgICAgICAgICAgcmVxdWlyZWRQbGFjZW1lbnQgPSAncmlnaHQnLFxuICAgICAgICAgICAgb3B0aW9uYWwgPSBmYWxzZSxcbiAgICAgICAgICAgIGNsZWFyLFxuICAgICAgICAgICAgaGFzRGl2aWRlcixcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICB2aWV3LFxuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICBzdHlsZSxcbiAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgcm93cyxcbiAgICAgICAgICAgIGNvbHMsXG4gICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgfSA9IHByb3BzO1xuXG4gICAgICAgIGNvbnN0IFtoZWxwZXJXaWR0aCwgc2V0SGVscGVyV2lkdGhdID0gdXNlU3RhdGU8c3RyaW5nPih3aWR0aCA/IGAke3dpZHRofXJlbWAgOiAnMTAwJScpO1xuICAgICAgICBjb25zdCBbZm9jdXNlZCwgc2V0Rm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgICAgIGNvbnN0IFt1bmNvbnRyb2xsZWRWYWx1ZSwgc2V0VW5jb250cm9sbGVkVmFsdWVdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgICAgIGNvbnN0IG91dGVyUmVmID0gY3JlYXRlUmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+KCk7XG5cbiAgICAgICAgY29uc3QgaW5uZXJPcHRpb25hbCA9IHJlcXVpcmVkID8gZmFsc2UgOiBvcHRpb25hbDtcbiAgICAgICAgY29uc3QgaGFzSGVscGVyID0gQm9vbGVhbihsZWZ0SGVscGVyIHx8IHJpZ2h0SGVscGVyIHx8IGhlbHBlclRleHQpO1xuICAgICAgICBjb25zdCBoYXNPdXRlckxhYmVsID0gQm9vbGVhbihsYWJlbCAmJiBsYWJlbFBsYWNlbWVudCA9PT0gJ291dGVyJyk7XG4gICAgICAgIGNvbnN0IGhhc0lubmVyTGFiZWwgPSBCb29sZWFuKGxhYmVsICYmIGxhYmVsUGxhY2VtZW50ID09PSAnaW5uZXInICYmIHNpemUgIT09ICd4cycpO1xuICAgICAgICBjb25zdCBoYXNQbGFjZWhvbGRlck9wdGlvbmFsID0gaW5uZXJPcHRpb25hbCAmJiAhaGFzT3V0ZXJMYWJlbDtcblxuICAgICAgICBjb25zdCBvdmVycmlkZGVuVmlldyA9IHN0YXR1cyAhPT0gdW5kZWZpbmVkID8gZmFsbGJhY2tTdGF0dXNNYXBbc3RhdHVzXSA6IHZpZXc7XG4gICAgICAgIGNvbnN0IHRleHRhcmVhSGVscGVySWQgPSBpZCA/IGAke2lkfS1oZWxwZXJgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBhcHBseUN1c3RvbVdpZHRoID0gcmVzaXplICE9PSAnaG9yaXpvbnRhbCcgJiYgcmVzaXplICE9PSAnYm90aCcgJiYgIWNvbHM7XG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyTGFiZWwgPSBoYXNJbm5lckxhYmVsID8gbGFiZWwgOiBwbGFjZWhvbGRlcjtcblxuICAgICAgICBjb25zdCBjbGVhckNsYXNzID0gY2xlYXIgPyBjbGFzc2VzLmNsZWFyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNSaWdodENvbnRlbnRDbGFzcyA9IGNvbnRlbnRSaWdodCA/IGNsYXNzZXMuaGFzUmlnaHRDb250ZW50IDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBoYXNEaXZpZGVyQ2xhc3MgPSBoYXNEaXZpZGVyID8gY2xhc3Nlcy5oYXNEaXZpZGVyIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCByZXF1aXJlZFBsYWNlbWVudENsYXNzID0gcmVxdWlyZWRQbGFjZW1lbnQgPT09ICdyaWdodCcgPyAnYWxpZ24tcmlnaHQgJyA6IHVuZGVmaW5lZDtcblxuICAgICAgICB1c2VSZXNpemVPYnNlcnZlcihvdXRlclJlZiwgKGN1cnJlbnRFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHdpZHRoOiBpbmxpbmVXaWR0aCB9ID0gY3VycmVudEVsZW1lbnQuc3R5bGU7XG5cbiAgICAgICAgICAgIGlmIChpbmxpbmVXaWR0aCB8fCBjb2xzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB3aWR0aDogZWxlbWVudFdpZHRoIH0gPSBjdXJyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICBzZXRIZWxwZXJXaWR0aChgJHtlbGVtZW50V2lkdGggLyBST09UX0ZPTlRfU0laRX1yZW1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdXNlQXV0b1Jlc2l6ZShhdXRvUmVzaXplIHx8IEJvb2xlYW4oY2xlYXIpLCBvdXRlclJlZiwgdmFsdWUsIG1pbkF1dG8sIG1heEF1dG8sIGRlZmF1bHRWYWx1ZSk7XG5cbiAgICAgICAgY29uc3Qgb25Gb2N1c0hhbmRsZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkKHRydWUpO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgY29uc3Qgb25CbHVySGFuZGxlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgICAgIHNldEZvY3VzZWQoZmFsc2UpO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgY29uc3Qgb25DaGFuZ2VIYW5kbGVyID0gdXNlQ2FsbGJhY2soXG4gICAgICAgICAgICAoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSU5GTzog0JTQu9GPINC60YDQsNC50L3QtSDRgNC10LTQutC40YUg0LrQtdC50YHQvtCyLCDQutC+0LPQtNCwIHZhbHVlINGB0L3QsNGA0YPQttC4INC90LUg0LrQvtC90YLRgNC+0LvQuNGA0YPQtdGC0YHRj1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFVuY29udHJvbGxlZFZhbHVlKGV2ZW50Py50YXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFt2YWx1ZSwgb25DaGFuZ2VdLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGhhbmRsZVRleHRBcmVhRm9jdXMgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVhZE9ubHkgfHwgZGlzYWJsZWQgfHwgIW91dGVyUmVmPy5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBvdXRlclJlZi5jdXJyZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgbGVmdDogb3V0ZXJSZWYuY3VycmVudC5vZmZzZXRMZWZ0LFxuICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBvdXRlclJlZi5jdXJyZW50LmZvY3VzKCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZHluYW1pY0xhYmVsQ2xhc3NlcyA9IGdldER5bmFtaWNMYWJlbENsYXNzZXMoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICByZWFkT25seSxcbiAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICBsYWJlbFBsYWNlbWVudCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUgfHwgdW5jb250cm9sbGVkVmFsdWUgfHwgZGVmYXVsdFZhbHVlLFxuICAgICAgICAgICAgICAgIHJvd3MsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZm9jdXNlZCxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBvcHRpb25hbFRleHROb2RlID0gaW5uZXJPcHRpb25hbCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRPcHRpb25hbFRleHQ+XG4gICAgICAgICAgICAgICAge0Jvb2xlYW4oaGFzUGxhY2Vob2xkZXJPcHRpb25hbCA/IHBsYWNlaG9sZGVyTGFiZWwgOiBsYWJlbCkgJiYgJ1xceGEwJ31cbiAgICAgICAgICAgICAgICB7b3B0aW9uYWxUZXh0fVxuICAgICAgICAgICAgPC9TdHlsZWRPcHRpb25hbFRleHQ+XG4gICAgICAgICkgOiBudWxsO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8Um9vdFxuICAgICAgICAgICAgICAgIHZpZXc9e292ZXJyaWRkZW5WaWV3fVxuICAgICAgICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICBjbGVhcj17Y2xlYXJ9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IGhlbHBlcldpZHRoLCAuLi5zdHlsZSB9fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goY2xlYXJDbGFzcywgaGFzRGl2aWRlckNsYXNzLCBjbGFzc05hbWUpfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVRleHRBcmVhRm9jdXN9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2hhc091dGVyTGFiZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7cmVxdWlyZWQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJbmRpY2F0b3IgY2xhc3NOYW1lPXtjeChjbGFzc2VzLm91dGVyTGFiZWxQbGFjZW1lbnQsIHJlcXVpcmVkUGxhY2VtZW50Q2xhc3MpfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZExhYmVsPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KHN0eWxlZENvbnRhaW5lciwgLi4uZHluYW1pY0xhYmVsQ2xhc3Nlcyl9XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPXtoZWxwZXJXaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17b25Gb2N1c0hhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17b25CbHVySGFuZGxlcn1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtyZXF1aXJlZCAmJiAhaGFzT3V0ZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSW5kaWNhdG9yIGNsYXNzTmFtZT17Y3goY2xhc3Nlcy5pbm5lckxhYmVsUGxhY2VtZW50LCByZXF1aXJlZFBsYWNlbWVudENsYXNzKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge2NvbnRlbnRSaWdodCAmJiA8U3R5bGVkQ29udGVudD57Y29udGVudFJpZ2h0fTwvU3R5bGVkQ29udGVudD59XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYVdyYXBwZXIgY2xhc3NOYW1lPXtzdHlsZWRUZXh0QXJlYVdyYXBwZXJ9IGhhc0hlbHBlcj17aGFzSGVscGVyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goc3R5bGVkVGV4dEFyZWEsIGhhc1JpZ2h0Q29udGVudENsYXNzKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzQ29udGVudFJpZ2h0PXtCb29sZWFuKGNvbnRlbnRSaWdodCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzSGVscGVyPXtoYXNIZWxwZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbHlDdXN0b21XaWR0aD17YXBwbHlDdXN0b21XaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e21lcmdlUmVmcyhvdXRlclJlZiwgaW5uZXJSZWYpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9e2F1dG9SZXNpemUgfHwgQm9vbGVhbihjbGVhcikgPyBtaW5BdXRvIDogaGVpZ2h0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJMYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXt0ZXh0YXJlYUhlbHBlcklkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xzPXtjb2xzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2l6ZT17cmVzaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZUhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFRleHRBcmVhV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAge2hhc0hlbHBlciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkSGVscGVycyBjbGFzc05hbWU9e3N0eWxlZEhlbHBlcnN9IGlkPXt0ZXh0YXJlYUhlbHBlcklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KGxlZnRIZWxwZXIgfHwgaGVscGVyVGV4dCkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkTGVmdEhlbHBlcj57bGVmdEhlbHBlciB8fCBoZWxwZXJUZXh0fTwvU3R5bGVkTGVmdEhlbHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyaWdodEhlbHBlciAmJiA8U3R5bGVkUmlnaHRIZWxwZXI+e3JpZ2h0SGVscGVyfTwvU3R5bGVkUmlnaHRIZWxwZXI+fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRIZWxwZXJzPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICB7cGxhY2Vob2xkZXJMYWJlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8U3R5bGVkUGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNDb250ZW50UmlnaHQ9e0Jvb2xlYW4oY29udGVudFJpZ2h0KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlZFBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxGb3I9e2lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlckxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHshaGFzT3V0ZXJMYWJlbCAmJiBvcHRpb25hbFRleHROb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TdHlsZWRQbGFjZWhvbGRlcj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvUm9vdD5cbiAgICAgICAgKTtcbiAgICB9KTtcblxuZXhwb3J0IGNvbnN0IHRleHRBcmVhQ29uZmlnID0ge1xuICAgIG5hbWU6ICdUZXh0QXJlYScsXG4gICAgdGFnOiAnZGl2JyxcbiAgICBsYXlvdXQ6IHRleHRBcmVhUm9vdCxcbiAgICBiYXNlLFxuICAgIHZhcmlhdGlvbnM6IHtcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgY3NzOiBzaXplQ1NTLFxuICAgICAgICB9LFxuICAgICAgICB2aWV3OiB7XG4gICAgICAgICAgICBjc3M6IHZpZXdDU1MsXG4gICAgICAgIH0sXG4gICAgICAgIGNsZWFyOiB7XG4gICAgICAgICAgICBjc3M6IGNsZWFyQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGRpc2FibGVkOiB7XG4gICAgICAgICAgICBjc3M6IGRpc2FibGVkQ1NTLFxuICAgICAgICAgICAgYXR0cnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlYWRPbmx5OiB7XG4gICAgICAgICAgICBhdHRyczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIGRlZmF1bHRzOiB7XG4gICAgICAgIHNpemU6ICdtJyxcbiAgICAgICAgdmlldzogJ3ByaW1hcnknLFxuICAgIH0sXG59O1xuIl19 */"));
43
43
 
44
44
  // TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c
45
45
  var fallbackStatusMap = {
@@ -142,7 +142,7 @@ export var textAreaRoot = function textAreaRoot(Root) {
142
142
  setHelperWidth("".concat(elementWidth / ROOT_FONT_SIZE, "rem"));
143
143
  }
144
144
  });
145
- useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto);
145
+ useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto, defaultValue);
146
146
  var onFocusHandler = useCallback(function () {
147
147
  setFocused(true);
148
148
  }, []);
@@ -1,6 +1,6 @@
1
1
  import { useEffect, useRef } from 'react';
2
2
  export var ROOT_FONT_SIZE = 16;
3
- export var useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto) {
3
+ export var useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto, defaultValue) {
4
4
  var isManualResize = useRef(false);
5
5
  var previousHeight = useRef();
6
6
  useEffect(function () {
@@ -23,5 +23,5 @@ export var useAutoResize = function useAutoResize(active, ref, value, minAuto, m
23
23
  ref.current.style.height = "".concat(newHeight, "rem");
24
24
  previousHeight.current = newHeight;
25
25
  }
26
- }, [ref, active, value]);
26
+ }, [ref, active, value, defaultValue]);
27
27
  };
@@ -125,7 +125,7 @@ var textAreaRoot = function textAreaRoot(Root) {
125
125
  setHelperWidth("".concat(elementWidth / ROOT_FONT_SIZE, "rem"));
126
126
  }
127
127
  });
128
- useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto);
128
+ useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto, defaultValue);
129
129
  var onFocusHandler = useCallback(function () {
130
130
  setFocused(true);
131
131
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback } from 'react';\nimport { css } from '@linaria/core';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx, mergeRefs } from '../../utils';\nimport type { RootProps } from '../../engines/types';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n StyledIndicator,\n StyledOptionalText,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as clearCSS } from './variations/_clear/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport type { TextAreaProps } from './TextArea.types';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n} = classes;\n\nconst optionalText = 'optional';\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, rows, value, size } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !rows &&\n size !== 'xs' &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && rows) ||\n (labelPlacement === 'outer' && value) ||\n (labelPlacement === 'inner' && size === 'xs' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n rightHelper,\n leftHelper,\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n required = false,\n requiredPlacement = 'right',\n optional = false,\n clear,\n hasDivider,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n onChange,\n ...rest\n } = props;\n\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = createRef<HTMLTextAreaElement>();\n\n const innerOptional = required ? false : optional;\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const hasInnerLabel = Boolean(label && labelPlacement === 'inner' && size !== 'xs');\n const hasPlaceholderOptional = innerOptional && !hasOuterLabel;\n\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeholderLabel = hasInnerLabel ? label : placeholder;\n\n const clearClass = clear ? classes.clear : undefined;\n const hasRightContentClass = contentRight ? classes.hasRightContent : undefined;\n const hasDividerClass = hasDivider ? classes.hasDivider : undefined;\n const requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth } = currentElement.style;\n\n if (inlineWidth || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n\n onChange?.(event);\n },\n [value, onChange],\n );\n\n const handleTextAreaFocus = () => {\n if (readOnly || disabled || !outerRef?.current) {\n return;\n }\n\n outerRef.current.scrollTo({\n top: 0,\n left: outerRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n outerRef.current.focus();\n };\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n rows,\n },\n focused,\n );\n\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText>\n {Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n clear={clear}\n style={{ width: helperWidth, ...style }}\n className={cx(clearClass, hasDividerClass, className)}\n onClick={handleTextAreaFocus}\n >\n {hasOuterLabel && (\n <StyledLabel>\n {required && (\n <StyledIndicator className={cx(classes.outerLabelPlacement, requiredPlacementClass)} />\n )}\n {label}\n {optionalTextNode}\n </StyledLabel>\n )}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {required && !hasOuterLabel && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, requiredPlacementClass)} />\n )}\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={cx(styledTextArea, hasRightContentClass)}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={mergeRefs(outerRef, innerRef)}\n disabled={disabled}\n height={autoResize || Boolean(clear) ? minAuto : height}\n width={width}\n placeholder={placeholderLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n {...rest}\n />\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {(leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n clear: {\n css: clearCSS,\n attrs: true,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","optionalText","base","fallbackStatusMap","success","warning","error","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","rows","value","size","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","placeholder","defaultValue","height","width","disabled","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$optional","optional","clear","hasDivider","view","id","style","className","cols","onChange","rest","_excluded","_useState","useState","concat","_useState2","_slicedToArray","helperWidth","setHelperWidth","_useState3","_useState4","setFocused","_useState5","_useState6","uncontrolledValue","setUncontrolledValue","outerRef","createRef","innerOptional","hasHelper","Boolean","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","clearClass","hasRightContentClass","hasRightContent","hasDividerClass","requiredPlacementClass","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","event","target","handleTextAreaFocus","current","scrollTo","top","left","offsetLeft","behavior","focus","dynamicLabelClasses","optionalTextNode","React","createElement","StyledOptionalText","_objectSpread","cx","onClick","StyledLabel","StyledIndicator","outerLabelPlacement","StyledContainer","apply","_toConsumableArray","onFocus","onBlur","innerLabelPlacement","StyledContent","StyledTextAreaWrapper","StyledTextArea","_extends","hasContentRight","ref","mergeRefs","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","clearCSS","attrs","disabledCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback } from 'react';\nimport { css } from '@linaria/core';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx, mergeRefs } from '../../utils';\nimport type { RootProps } from '../../engines/types';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n StyledIndicator,\n StyledOptionalText,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as clearCSS } from './variations/_clear/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport type { TextAreaProps } from './TextArea.types';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n} = classes;\n\nconst optionalText = 'optional';\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, rows, value, size } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !rows &&\n size !== 'xs' &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && rows) ||\n (labelPlacement === 'outer' && value) ||\n (labelPlacement === 'inner' && size === 'xs' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n rightHelper,\n leftHelper,\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n required = false,\n requiredPlacement = 'right',\n optional = false,\n clear,\n hasDivider,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n onChange,\n ...rest\n } = props;\n\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = createRef<HTMLTextAreaElement>();\n\n const innerOptional = required ? false : optional;\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const hasInnerLabel = Boolean(label && labelPlacement === 'inner' && size !== 'xs');\n const hasPlaceholderOptional = innerOptional && !hasOuterLabel;\n\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeholderLabel = hasInnerLabel ? label : placeholder;\n\n const clearClass = clear ? classes.clear : undefined;\n const hasRightContentClass = contentRight ? classes.hasRightContent : undefined;\n const hasDividerClass = hasDivider ? classes.hasDivider : undefined;\n const requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth } = currentElement.style;\n\n if (inlineWidth || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto, defaultValue);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n\n onChange?.(event);\n },\n [value, onChange],\n );\n\n const handleTextAreaFocus = () => {\n if (readOnly || disabled || !outerRef?.current) {\n return;\n }\n\n outerRef.current.scrollTo({\n top: 0,\n left: outerRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n outerRef.current.focus();\n };\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n rows,\n },\n focused,\n );\n\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText>\n {Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n clear={clear}\n style={{ width: helperWidth, ...style }}\n className={cx(clearClass, hasDividerClass, className)}\n onClick={handleTextAreaFocus}\n >\n {hasOuterLabel && (\n <StyledLabel>\n {required && (\n <StyledIndicator className={cx(classes.outerLabelPlacement, requiredPlacementClass)} />\n )}\n {label}\n {optionalTextNode}\n </StyledLabel>\n )}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {required && !hasOuterLabel && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, requiredPlacementClass)} />\n )}\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={cx(styledTextArea, hasRightContentClass)}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={mergeRefs(outerRef, innerRef)}\n disabled={disabled}\n height={autoResize || Boolean(clear) ? minAuto : height}\n width={width}\n placeholder={placeholderLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n {...rest}\n />\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {(leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {placeholderLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeholderLabel}\n {!hasOuterLabel && optionalTextNode}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n clear: {\n css: clearCSS,\n attrs: true,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","optionalText","base","fallbackStatusMap","success","warning","error","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","rows","value","size","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","placeholder","defaultValue","height","width","disabled","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$optional","optional","clear","hasDivider","view","id","style","className","cols","onChange","rest","_excluded","_useState","useState","concat","_useState2","_slicedToArray","helperWidth","setHelperWidth","_useState3","_useState4","setFocused","_useState5","_useState6","uncontrolledValue","setUncontrolledValue","outerRef","createRef","innerOptional","hasHelper","Boolean","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","clearClass","hasRightContentClass","hasRightContent","hasDividerClass","requiredPlacementClass","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","event","target","handleTextAreaFocus","current","scrollTo","top","left","offsetLeft","behavior","focus","dynamicLabelClasses","optionalTextNode","React","createElement","StyledOptionalText","_objectSpread","cx","onClick","StyledLabel","StyledIndicator","outerLabelPlacement","StyledContainer","apply","_toConsumableArray","onFocus","onBlur","innerLabelPlacement","StyledContent","StyledTextAreaWrapper","StyledTextArea","_extends","hasContentRight","ref","mergeRefs","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","clearCSS","attrs","disabledCSS","defaults"],"mappings":";;;;;;;;;;;;;;AA6BA,IACIA,kBAAkB,GAQlBC,OAAO,CARPD,kBAAkB;EAClBE,4BAA4B,GAO5BD,OAAO,CAPPC,4BAA4B;EAC5BC,eAAe,GAMfF,OAAO,CANPE,eAAe;EACfC,eAAe,GAKfH,OAAO,CALPG,eAAe;EACfC,cAAc,GAIdJ,OAAO,CAJPI,cAAc;EACdC,qBAAqB,GAGrBL,OAAO,CAHPK,qBAAqB;EACrBC,iBAAiB,GAEjBN,OAAO,CAFPM,iBAAiB;EACjBC,aAAAA,GACAP,OAAO,CADPO,aAAAA,CAAAA;AAGJ,IAAMC,YAAY,GAAG,UAAU,CAAA;AAE/B,IAAMC,IAAI,GAKT,SAAA,CAAA;;AAED;AACA,IAAMC,iBAAiB,GAAG;AACtB,EAAA,EAAE,EAAE,SAAS;AACbC,EAAAA,OAAO,EAAE,UAAU;AACnBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,KAAK,EAAE,UAAA;AACX,CAAC,CAAA;;AAED;AACO,IAAMC,sBAAsB,GAAGA,SAAzBA,sBAAsBA,CAAIC,KAAoB,EAAEC,OAAgB,EAAK;AAC9E,EAAA,IAAQC,QAAQ,GAA+CF,KAAK,CAA5DE,QAAQ;IAAEC,KAAK,GAAwCH,KAAK,CAAlDG,KAAK;IAAEC,cAAc,GAAwBJ,KAAK,CAA3CI,cAAc;IAAEC,IAAI,GAAkBL,KAAK,CAA3BK,IAAI;IAAEC,KAAK,GAAWN,KAAK,CAArBM,KAAK;IAAEC,IAAAA,GAASP,KAAK,CAAdO,IAAAA,CAAAA;;AAEtD;AACA,EAAA,IAAMC,6BAA6B,GAC/B,CAACN,QAAQ,IAAID,OAAO,KAAK,CAACE,KAAK,IAAIC,cAAc,KAAK,OAAO,CAAC,GAAGlB,4BAA4B,GAAGuB,SAAS,CAAA;;AAE7G;AACA,EAAA,IAAMC,sBAAsB,GACxBN,cAAc,KAAK,OAAO,IAC1BD,KAAK,IACL,CAACE,IAAI,IACLE,IAAI,KAAK,IAAI,KACX,CAACL,QAAQ,KAAKI,KAAK,IAAIL,OAAO,CAAC,IAAMC,QAAQ,IAAII,KAAM,CAAC,GACpDtB,kBAAkB,GAClByB,SAAS,CAAA;;AAEnB;AACA,EAAA,IAAME,mBAAmB,GACpBL,KAAK,IAAI,CAACH,KAAK,IACfC,cAAc,KAAK,OAAO,KAAMH,OAAO,IAAI,CAACC,QAAQ,IAAKI,KAAK,CAAC,IAAIH,KAAK,IAAIE,IAAK,IACjFD,cAAc,KAAK,OAAO,IAAIE,KAAM,IACpCF,cAAc,KAAK,OAAO,IAAIG,IAAI,KAAK,IAAI,IAAID,KAAM,GAChDnB,eAAe,GACfsB,SAAS,CAAA;AAEnB,EAAA,OAAO,CAACD,6BAA6B,EAAEE,sBAAsB,EAAEC,mBAAmB,CAAC,CAAA;AACvF,EAAC;IAEYC,YAAY,GAAGA,SAAfA,YAAYA,CAAIC,IAAmD,EAAA;AAAA,EAAA,oBAC5EC,UAAU,CAAqC,UAACd,KAAK,EAAEe,QAAQ,EAAK;AAChE,IAAA,IACIC,UAAU,GAgCVhB,KAAK,CAhCLgB,UAAU;MACVC,MAAM,GA+BNjB,KAAK,CA/BLiB,MAAM;MACNC,MAAM,GA8BNlB,KAAK,CA9BLkB,MAAM;MACNC,WAAW,GA6BXnB,KAAK,CA7BLmB,WAAW;MACXC,UAAU,GA4BVpB,KAAK,CA5BLoB,UAAU;MACVC,YAAY,GA2BZrB,KAAK,CA3BLqB,YAAY;MAAAC,iBAAA,GA2BZtB,KAAK,CA1BLuB,UAAU;AAAVA,MAAAA,UAAU,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,iBAAA;MAAAE,cAAA,GA0BlBxB,KAAK,CAzBLyB,OAAO;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,cAAA;MACXE,OAAO,GAwBP1B,KAAK,CAxBL0B,OAAO;MACPvB,KAAK,GAuBLH,KAAK,CAvBLG,KAAK;MAAAwB,qBAAA,GAuBL3B,KAAK,CAtBLI,cAAc;AAAdA,MAAAA,cAAc,GAAAuB,qBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,qBAAA;MACxBC,WAAW,GAqBX5B,KAAK,CArBL4B,WAAW;MACXC,YAAY,GAoBZ7B,KAAK,CApBL6B,YAAY;MACZC,MAAM,GAmBN9B,KAAK,CAnBL8B,MAAM;MACNC,KAAK,GAkBL/B,KAAK,CAlBL+B,KAAK;MACLzB,KAAK,GAiBLN,KAAK,CAjBLM,KAAK;MACL0B,QAAQ,GAgBRhC,KAAK,CAhBLgC,QAAQ;MAAAC,eAAA,GAgBRjC,KAAK,CAfLkC,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MAAAE,qBAAA,GAehBnC,KAAK,CAdLoC,iBAAiB;AAAjBA,MAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,qBAAA;MAAAE,eAAA,GAc3BrC,KAAK,CAbLsC,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MAChBE,KAAK,GAYLvC,KAAK,CAZLuC,KAAK;MACLC,UAAU,GAWVxC,KAAK,CAXLwC,UAAU;MACVjC,IAAI,GAUJP,KAAK,CAVLO,IAAI;MACJkC,IAAI,GASJzC,KAAK,CATLyC,IAAI;MACJC,EAAE,GAQF1C,KAAK,CARL0C,EAAE;MACFC,KAAK,GAOL3C,KAAK,CAPL2C,KAAK;MACLC,SAAS,GAMT5C,KAAK,CANL4C,SAAS;MACT1C,QAAQ,GAKRF,KAAK,CALLE,QAAQ;MACRG,IAAI,GAIJL,KAAK,CAJLK,IAAI;MACJwC,IAAI,GAGJ7C,KAAK,CAHL6C,IAAI;MACJC,QAAQ,GAER9C,KAAK,CAFL8C,QAAQ;AACLC,MAAAA,IAAAA,GAAAA,wBAAAA,CACH/C,KAAK,EAAAgD,SAAA,CAAA,CAAA;IAET,IAAAC,SAAA,GAAsCC,QAAQ,CAASnB,KAAK,GAAAoB,EAAAA,CAAAA,MAAA,CAAMpB,KAAM,EAAO,KAAA,CAAA,GAAA,MAAM,CAAC;MAAAqB,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AAA/EK,MAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,cAAc,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAClC,IAAA,IAAAI,UAAA,GAA8BN,QAAQ,CAAC,KAAK,CAAC;MAAAO,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAtCvD,MAAAA,OAAO,GAAAwD,UAAA,CAAA,CAAA,CAAA;AAAEC,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AAC1B,IAAA,IAAAE,UAAA,GAAkDT,QAAQ,EAAsB;MAAAU,UAAA,GAAAP,cAAA,CAAAM,UAAA,EAAA,CAAA,CAAA;AAAzEE,MAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAE9C,IAAA,IAAMG,QAAQ,gBAAGC,SAAS,EAAuB,CAAA;AAEjD,IAAA,IAAMC,aAAa,GAAG/B,QAAQ,GAAG,KAAK,GAAGI,QAAQ,CAAA;IACjD,IAAM4B,SAAS,GAAGC,OAAO,CAAC/C,UAAU,IAAID,WAAW,IAAIH,UAAU,CAAC,CAAA;IAClE,IAAMoD,aAAa,GAAGD,OAAO,CAAChE,KAAK,IAAIC,cAAc,KAAK,OAAO,CAAC,CAAA;AAClE,IAAA,IAAMiE,aAAa,GAAGF,OAAO,CAAChE,KAAK,IAAIC,cAAc,KAAK,OAAO,IAAIG,IAAI,KAAK,IAAI,CAAC,CAAA;AACnF,IAAA,IAAM+D,sBAAsB,GAAGL,aAAa,IAAI,CAACG,aAAa,CAAA;IAE9D,IAAMG,cAAc,GAAGtD,MAAM,KAAKR,SAAS,GAAGd,iBAAiB,CAACsB,MAAM,CAAC,GAAGwB,IAAI,CAAA;IAC9E,IAAM+B,gBAAgB,GAAG9B,EAAE,GAAA,EAAA,CAAAS,MAAA,CAAMT,EAAG,eAAWjC,SAAS,CAAA;IACxD,IAAMgE,gBAAgB,GAAGvD,MAAM,KAAK,YAAY,IAAIA,MAAM,KAAK,MAAM,IAAI,CAAC2B,IAAI,CAAA;AAC9E,IAAA,IAAM6B,gBAAgB,GAAGL,aAAa,GAAGlE,KAAK,GAAGyB,WAAW,CAAA;IAE5D,IAAM+C,UAAU,GAAGpC,KAAK,GAAGtD,OAAO,CAACsD,KAAK,GAAG9B,SAAS,CAAA;IACpD,IAAMmE,oBAAoB,GAAGvD,YAAY,GAAGpC,OAAO,CAAC4F,eAAe,GAAGpE,SAAS,CAAA;IAC/E,IAAMqE,eAAe,GAAGtC,UAAU,GAAGvD,OAAO,CAACuD,UAAU,GAAG/B,SAAS,CAAA;IACnE,IAAMsE,sBAAsB,GAAG3C,iBAAiB,KAAK,OAAO,GAAG,cAAc,GAAG3B,SAAS,CAAA;AAEzFuE,IAAAA,iBAAiB,CAACjB,QAAQ,EAAGkB,UAAAA,cAAc,EAAK;AAC5C,MAAA,IAAeC,WAAAA,GAAgBD,cAAc,CAACtC,KAAK,CAA3CZ,KAAK,CAAA;MAEb,IAAImD,WAAW,IAAIrC,IAAI,EAAE;AACrB,QAAA,IAAAsC,qBAAA,GAAgCF,cAAc,CAACG,qBAAqB,EAAE;UAAvDC,YAAAA,GAAAA,qBAAAA,CAAPtD,KAAK,CAAA;AACbwB,QAAAA,cAAc,IAAAJ,MAAA,CAAIkC,YAAY,GAAGC,cAAe,QAAI,CAAC,CAAA;AACzD,OAAA;AACJ,KAAC,CAAC,CAAA;AAEFC,IAAAA,aAAa,CAAChE,UAAU,IAAI4C,OAAO,CAAC5B,KAAK,CAAC,EAAEwB,QAAQ,EAAEzD,KAAK,EAAEmB,OAAO,EAAEC,OAAO,EAAEG,YAAY,CAAC,CAAA;AAE5F,IAAA,IAAM2D,cAAc,GAAGC,WAAW,CAAC,YAAM;MACrC/B,UAAU,CAAC,IAAI,CAAC,CAAA;KACnB,EAAE,EAAE,CAAC,CAAA;AAEN,IAAA,IAAMgC,aAAa,GAAGD,WAAW,CAAC,YAAM;MACpC/B,UAAU,CAAC,KAAK,CAAC,CAAA;KACpB,EAAE,EAAE,CAAC,CAAA;AAEN,IAAA,IAAMiC,eAAe,GAAGF,WAAW,CAC/B,UAACG,KAA6C,EAAK;AAC/C;MACA,IAAItF,KAAK,KAAKG,SAAS,EAAE;QACrBqD,oBAAoB,CAAC8B,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEC,MAAM,CAACvF,KAAK,CAAC,CAAA;AAC7C,OAAA;AAEAwC,MAAAA,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,IAARA,QAAQ,CAAG8C,KAAK,CAAC,CAAA;AACrB,KAAC,EACD,CAACtF,KAAK,EAAEwC,QAAQ,CACpB,CAAC,CAAA;AAED,IAAA,IAAMgD,mBAAmB,GAAGA,SAAtBA,mBAAmBA,GAAS;AAC9B,MAAA,IAAI5F,QAAQ,IAAI8B,QAAQ,IAAI,EAAC+B,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAEgC,OAAO,CAAE,EAAA;AAC5C,QAAA,OAAA;AACJ,OAAA;AAEAhC,MAAAA,QAAQ,CAACgC,OAAO,CAACC,QAAQ,CAAC;AACtBC,QAAAA,GAAG,EAAE,CAAC;AACNC,QAAAA,IAAI,EAAEnC,QAAQ,CAACgC,OAAO,CAACI,UAAU;AACjCC,QAAAA,QAAQ,EAAE,QAAA;AACd,OAAC,CAAC,CAAA;AAEFrC,MAAAA,QAAQ,CAACgC,OAAO,CAACM,KAAK,EAAE,CAAA;KAC3B,CAAA;IAED,IAAMC,mBAAmB,GAAGvG,sBAAsB,CAC9C;AACIQ,MAAAA,IAAI,EAAJA,IAAI;AACJL,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,KAAK,EAALA,KAAK;AACLC,MAAAA,cAAc,EAAdA,cAAc;AACdE,MAAAA,KAAK,EAAEA,KAAK,IAAIuD,iBAAiB,IAAIhC,YAAY;AACjDxB,MAAAA,IAAAA,EAAAA,IAAAA;KACH,EACDJ,OACJ,CAAC,CAAA;IAED,IAAMsG,gBAAgB,GAAGtC,aAAa,gBAClCuC,KAAA,CAAAC,aAAA,CAACC,kBAAkB,EAAA,IAAA,EACdvC,OAAO,CAACG,sBAAsB,GAAGI,gBAAgB,GAAGvE,KAAK,CAAC,IAAI,MAAM,EACpEV,YACe,CAAC,GACrB,IAAI,CAAA;AAER,IAAA,oBACI+G,KAAA,CAAAC,aAAA,CAAC5F,IAAI,EAAA;AACD4B,MAAAA,IAAI,EAAE8B,cAAe;AACrBhE,MAAAA,IAAI,EAAEA,IAAK;AACXyB,MAAAA,QAAQ,EAAEA,QAAS;AACnB9B,MAAAA,QAAQ,EAAEA,QAAS;AACnBqC,MAAAA,KAAK,EAAEA,KAAM;AACbI,MAAAA,KAAK,EAAAgE,cAAA,CAAA;AAAI5E,QAAAA,KAAK,EAAEuB,WAAAA;AAAW,OAAA,EAAKX,KAAAA,CAAQ;MACxCC,SAAS,EAAEgE,EAAE,CAACjC,UAAU,EAAEG,eAAe,EAAElC,SAAS,CAAE;AACtDiE,MAAAA,OAAO,EAAEf,mBAAAA;AAAoB,KAAA,EAE5B1B,aAAa,iBACVoC,KAAA,CAAAC,aAAA,CAACK,WAAW,EACP5E,IAAAA,EAAAA,QAAQ,iBACLsE,KAAA,CAAAC,aAAA,CAACM,eAAe,EAAA;AAACnE,MAAAA,SAAS,EAAEgE,EAAE,CAAC3H,OAAO,CAAC+H,mBAAmB,EAAEjC,sBAAsB,CAAA;KACrF,CAAA,EACA5E,KAAK,EACLoG,gBACQ,CAChB,eACDC,KAAA,CAAAC,aAAA,CAACQ,eAAe,EAAA;AACZrE,MAAAA,SAAS,EAAEgE,EAAE,CAAAM,KAAA,CAAC9H,KAAAA,CAAAA,EAAAA,CAAAA,eAAe,CAAA+D,CAAAA,MAAA,CAAAgE,kBAAA,CAAKb,mBAAmB,CAAE,CAAA,CAAA;AACvDvE,MAAAA,KAAK,EAAEuB,WAAY;AACnB8D,MAAAA,OAAO,EAAE5B,cAAe;AACxB6B,MAAAA,MAAM,EAAE3B,aAAAA;KAEPxD,EAAAA,QAAQ,IAAI,CAACkC,aAAa,iBACvBoC,KAAA,CAAAC,aAAA,CAACM,eAAe,EAAA;AAACnE,MAAAA,SAAS,EAAEgE,EAAE,CAAC3H,OAAO,CAACqI,mBAAmB,EAAEvC,sBAAsB,CAAA;AAAE,KACvF,CAAA,EACA1D,YAAY,iBAAImF,KAAA,CAAAC,aAAA,CAACc,aAAa,EAAA,IAAA,EAAElG,YAA4B,CAAC,eAC9DmF,KAAA,CAAAC,aAAA,CAACe,qBAAqB,EAAA;AAAC5E,MAAAA,SAAS,EAAEtD,qBAAsB;AAAC4E,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,eAC1EsC,KAAA,CAAAC,aAAA,CAACgB,cAAc,EAAAC,QAAA,CAAA;AACX9E,MAAAA,SAAS,EAAEgE,EAAE,CAACvH,cAAc,EAAEuF,oBAAoB,CAAE;AACpDlC,MAAAA,EAAE,EAAEA,EAAG;AACPiF,MAAAA,eAAe,EAAExD,OAAO,CAAC9C,YAAY,CAAE;AACvC6C,MAAAA,SAAS,EAAEA,SAAU;AACrBO,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCmD,MAAAA,GAAG,EAAEC,SAAS,CAAC9D,QAAQ,EAAEhD,QAAQ,CAAE;AACnCiB,MAAAA,QAAQ,EAAEA,QAAS;MACnBF,MAAM,EAAEP,UAAU,IAAI4C,OAAO,CAAC5B,KAAK,CAAC,GAAGd,OAAO,GAAGK,MAAO;AACxDC,MAAAA,KAAK,EAAEA,KAAM;AACbH,MAAAA,WAAW,EAAE8C,gBAAiB;AAC9B,MAAA,kBAAA,EAAkBF,gBAAiB;AACnClE,MAAAA,KAAK,EAAEA,KAAM;AACbJ,MAAAA,QAAQ,EAAEA,QAAS;AACnBG,MAAAA,IAAI,EAAEA,IAAK;AACXwC,MAAAA,IAAI,EAAEA,IAAK;AACX3B,MAAAA,MAAM,EAAEA,MAAO;AACfW,MAAAA,YAAY,EAAEA,YAAa;AAC3BiB,MAAAA,QAAQ,EAAE6C,eAAAA;KACN5C,EAAAA,IAAI,CAAC,CAEM,CAAA,EACtBmB,SAAS,iBACNsC,KAAA,CAAAC,aAAA,CAACqB,aAAa,EAAA;AAAClF,MAAAA,SAAS,EAAEpD,aAAc;AAACkD,MAAAA,EAAE,EAAE8B,gBAAAA;AAAiB,KAAA,EACzD,CAACpD,UAAU,IAAIJ,UAAU,kBACtBwF,KAAA,CAAAC,aAAA,CAACsB,gBAAgB,EAAE3G,IAAAA,EAAAA,UAAU,IAAIJ,UAA6B,CACjE,EACAG,WAAW,iBAAIqF,KAAA,CAAAC,aAAA,CAACuB,iBAAiB,QAAE7G,WAA+B,CACxD,CAClB,EACAuD,gBAAgB,iBACb8B,KAAA,CAAAC,aAAA,CAACwB,iBAAiB,EAAA;AACdN,MAAAA,eAAe,EAAExD,OAAO,CAAC9C,YAAY,CAAE;AACvCuB,MAAAA,SAAS,EAAErD,iBAAkB;AAC7B2I,MAAAA,OAAO,EAAExF,EAAAA;KAERgC,EAAAA,gBAAgB,EAChB,CAACN,aAAa,IAAImC,gBACJ,CAEV,CACf,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAM4B,cAAc,GAAG;AAC1BC,EAAAA,IAAI,EAAE,UAAU;AAChBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE1H,YAAY;AACpBlB,EAAAA,IAAI,EAAJA,IAAI;AACJ6I,EAAAA,UAAU,EAAE;AACRhI,IAAAA,IAAI,EAAE;AACFiI,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACDhG,IAAAA,IAAI,EAAE;AACF+F,MAAAA,GAAG,EAAEE,MAAAA;KACR;AACDnG,IAAAA,KAAK,EAAE;AACHiG,MAAAA,GAAG,EAAEG,MAAQ;AACbC,MAAAA,KAAK,EAAE,IAAA;KACV;AACD5G,IAAAA,QAAQ,EAAE;AACNwG,MAAAA,GAAG,EAAEK,MAAW;AAChBD,MAAAA,KAAK,EAAE,IAAA;KACV;AACD1I,IAAAA,QAAQ,EAAE;AACN0I,MAAAA,KAAK,EAAE,IAAA;AACX,KAAA;GACH;AACDE,EAAAA,QAAQ,EAAE;AACNvI,IAAAA,IAAI,EAAE,GAAG;AACTkC,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { useRef, useEffect } from 'react';
2
2
 
3
3
  var ROOT_FONT_SIZE = 16;
4
- var useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto) {
4
+ var useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto, defaultValue) {
5
5
  var isManualResize = useRef(false);
6
6
  var previousHeight = useRef();
7
7
  useEffect(function () {
@@ -24,7 +24,7 @@ var useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto)
24
24
  ref.current.style.height = "".concat(newHeight, "rem");
25
25
  previousHeight.current = newHeight;
26
26
  }
27
- }, [ref, active, value]);
27
+ }, [ref, active, value, defaultValue]);
28
28
  };
29
29
 
30
30
  export { ROOT_FONT_SIZE, useAutoResize };
@@ -1 +1 @@
1
- {"version":3,"file":"useAutoResize.js","sources":["../../../../src/components/TextArea/hooks/useAutoResize.ts"],"sourcesContent":["import { useEffect, useRef, MutableRefObject } from 'react';\n\nexport const ROOT_FONT_SIZE = 16;\n\nexport const useAutoResize = <T extends HTMLTextAreaElement>(\n active: boolean,\n ref: MutableRefObject<T | null>,\n value?: string | ReadonlyArray<string> | number,\n minAuto?: number,\n maxAuto?: number,\n) => {\n const isManualResize = useRef<boolean>(false);\n const previousHeight = useRef<number | undefined>();\n\n useEffect(() => {\n if (active && ref && ref.current && !isManualResize.current) {\n // проверка на пользовательский resize (вручную)\n const height = ref.current.clientHeight / ROOT_FONT_SIZE;\n if (previousHeight.current !== undefined && previousHeight.current !== height) {\n isManualResize.current = true;\n return;\n }\n\n const style = getComputedStyle(ref.current);\n const lineHeight = parseInt(style.lineHeight, 10);\n const lineHeightInRem = lineHeight / ROOT_FONT_SIZE;\n\n const minAutoHeight = minAuto ? minAuto * lineHeightInRem : 0;\n ref.current.style.height = `${minAutoHeight}rem`;\n\n const lines = Math.floor(ref.current.scrollHeight / lineHeight);\n const newScrollHeight = lines * lineHeightInRem;\n\n const maxAutoHeight = maxAuto ? maxAuto * lineHeightInRem : newScrollHeight;\n\n const newHeight = Math.min(newScrollHeight, maxAutoHeight);\n\n ref.current.style.height = `${newHeight}rem`;\n previousHeight.current = newHeight;\n }\n }, [ref, active, value]);\n};\n"],"names":["ROOT_FONT_SIZE","useAutoResize","active","ref","value","minAuto","maxAuto","isManualResize","useRef","previousHeight","useEffect","current","height","clientHeight","undefined","style","getComputedStyle","lineHeight","parseInt","lineHeightInRem","minAutoHeight","concat","lines","Math","floor","scrollHeight","newScrollHeight","maxAutoHeight","newHeight","min"],"mappings":";;AAEO,IAAMA,cAAc,GAAG,GAAE;AAEnBC,IAAAA,aAAa,GAAG,SAAhBA,aAAaA,CACtBC,MAAe,EACfC,GAA+B,EAC/BC,KAA+C,EAC/CC,OAAgB,EAChBC,OAAgB,EACf;AACD,EAAA,IAAMC,cAAc,GAAGC,MAAM,CAAU,KAAK,CAAC,CAAA;AAC7C,EAAA,IAAMC,cAAc,GAAGD,MAAM,EAAsB,CAAA;AAEnDE,EAAAA,SAAS,CAAC,YAAM;AACZ,IAAA,IAAIR,MAAM,IAAIC,GAAG,IAAIA,GAAG,CAACQ,OAAO,IAAI,CAACJ,cAAc,CAACI,OAAO,EAAE;AACzD;MACA,IAAMC,MAAM,GAAGT,GAAG,CAACQ,OAAO,CAACE,YAAY,GAAGb,cAAc,CAAA;MACxD,IAAIS,cAAc,CAACE,OAAO,KAAKG,SAAS,IAAIL,cAAc,CAACE,OAAO,KAAKC,MAAM,EAAE;QAC3EL,cAAc,CAACI,OAAO,GAAG,IAAI,CAAA;AAC7B,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMI,KAAK,GAAGC,gBAAgB,CAACb,GAAG,CAACQ,OAAO,CAAC,CAAA;MAC3C,IAAMM,UAAU,GAAGC,QAAQ,CAACH,KAAK,CAACE,UAAU,EAAE,EAAE,CAAC,CAAA;AACjD,MAAA,IAAME,eAAe,GAAGF,UAAU,GAAGjB,cAAc,CAAA;MAEnD,IAAMoB,aAAa,GAAGf,OAAO,GAAGA,OAAO,GAAGc,eAAe,GAAG,CAAC,CAAA;MAC7DhB,GAAG,CAACQ,OAAO,CAACI,KAAK,CAACH,MAAM,GAAAS,EAAAA,CAAAA,MAAA,CAAMD,aAAa,EAAK,KAAA,CAAA,CAAA;AAEhD,MAAA,IAAME,KAAK,GAAGC,IAAI,CAACC,KAAK,CAACrB,GAAG,CAACQ,OAAO,CAACc,YAAY,GAAGR,UAAU,CAAC,CAAA;AAC/D,MAAA,IAAMS,eAAe,GAAGJ,KAAK,GAAGH,eAAe,CAAA;MAE/C,IAAMQ,aAAa,GAAGrB,OAAO,GAAGA,OAAO,GAAGa,eAAe,GAAGO,eAAe,CAAA;MAE3E,IAAME,SAAS,GAAGL,IAAI,CAACM,GAAG,CAACH,eAAe,EAAEC,aAAa,CAAC,CAAA;MAE1DxB,GAAG,CAACQ,OAAO,CAACI,KAAK,CAACH,MAAM,GAAAS,EAAAA,CAAAA,MAAA,CAAMO,SAAS,EAAK,KAAA,CAAA,CAAA;MAC5CnB,cAAc,CAACE,OAAO,GAAGiB,SAAS,CAAA;AACtC,KAAA;GACH,EAAE,CAACzB,GAAG,EAAED,MAAM,EAAEE,KAAK,CAAC,CAAC,CAAA;AAC5B;;;;"}
1
+ {"version":3,"file":"useAutoResize.js","sources":["../../../../src/components/TextArea/hooks/useAutoResize.ts"],"sourcesContent":["import { useEffect, useRef, MutableRefObject } from 'react';\n\nexport const ROOT_FONT_SIZE = 16;\n\nexport const useAutoResize = <T extends HTMLTextAreaElement>(\n active: boolean,\n ref: MutableRefObject<T | null>,\n value?: string | ReadonlyArray<string> | number,\n minAuto?: number,\n maxAuto?: number,\n defaultValue?: string | ReadonlyArray<string> | number,\n) => {\n const isManualResize = useRef<boolean>(false);\n const previousHeight = useRef<number | undefined>();\n\n useEffect(() => {\n if (active && ref && ref.current && !isManualResize.current) {\n // проверка на пользовательский resize (вручную)\n const height = ref.current.clientHeight / ROOT_FONT_SIZE;\n if (previousHeight.current !== undefined && previousHeight.current !== height) {\n isManualResize.current = true;\n return;\n }\n\n const style = getComputedStyle(ref.current);\n const lineHeight = parseInt(style.lineHeight, 10);\n const lineHeightInRem = lineHeight / ROOT_FONT_SIZE;\n\n const minAutoHeight = minAuto ? minAuto * lineHeightInRem : 0;\n ref.current.style.height = `${minAutoHeight}rem`;\n\n const lines = Math.floor(ref.current.scrollHeight / lineHeight);\n const newScrollHeight = lines * lineHeightInRem;\n\n const maxAutoHeight = maxAuto ? maxAuto * lineHeightInRem : newScrollHeight;\n\n const newHeight = Math.min(newScrollHeight, maxAutoHeight);\n\n ref.current.style.height = `${newHeight}rem`;\n previousHeight.current = newHeight;\n }\n }, [ref, active, value, defaultValue]);\n};\n"],"names":["ROOT_FONT_SIZE","useAutoResize","active","ref","value","minAuto","maxAuto","defaultValue","isManualResize","useRef","previousHeight","useEffect","current","height","clientHeight","undefined","style","getComputedStyle","lineHeight","parseInt","lineHeightInRem","minAutoHeight","concat","lines","Math","floor","scrollHeight","newScrollHeight","maxAutoHeight","newHeight","min"],"mappings":";;AAEO,IAAMA,cAAc,GAAG,GAAE;IAEnBC,aAAa,GAAG,SAAhBA,aAAaA,CACtBC,MAAe,EACfC,GAA+B,EAC/BC,KAA+C,EAC/CC,OAAgB,EAChBC,OAAgB,EAChBC,YAAsD,EACrD;AACD,EAAA,IAAMC,cAAc,GAAGC,MAAM,CAAU,KAAK,CAAC,CAAA;AAC7C,EAAA,IAAMC,cAAc,GAAGD,MAAM,EAAsB,CAAA;AAEnDE,EAAAA,SAAS,CAAC,YAAM;AACZ,IAAA,IAAIT,MAAM,IAAIC,GAAG,IAAIA,GAAG,CAACS,OAAO,IAAI,CAACJ,cAAc,CAACI,OAAO,EAAE;AACzD;MACA,IAAMC,MAAM,GAAGV,GAAG,CAACS,OAAO,CAACE,YAAY,GAAGd,cAAc,CAAA;MACxD,IAAIU,cAAc,CAACE,OAAO,KAAKG,SAAS,IAAIL,cAAc,CAACE,OAAO,KAAKC,MAAM,EAAE;QAC3EL,cAAc,CAACI,OAAO,GAAG,IAAI,CAAA;AAC7B,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMI,KAAK,GAAGC,gBAAgB,CAACd,GAAG,CAACS,OAAO,CAAC,CAAA;MAC3C,IAAMM,UAAU,GAAGC,QAAQ,CAACH,KAAK,CAACE,UAAU,EAAE,EAAE,CAAC,CAAA;AACjD,MAAA,IAAME,eAAe,GAAGF,UAAU,GAAGlB,cAAc,CAAA;MAEnD,IAAMqB,aAAa,GAAGhB,OAAO,GAAGA,OAAO,GAAGe,eAAe,GAAG,CAAC,CAAA;MAC7DjB,GAAG,CAACS,OAAO,CAACI,KAAK,CAACH,MAAM,GAAAS,EAAAA,CAAAA,MAAA,CAAMD,aAAa,EAAK,KAAA,CAAA,CAAA;AAEhD,MAAA,IAAME,KAAK,GAAGC,IAAI,CAACC,KAAK,CAACtB,GAAG,CAACS,OAAO,CAACc,YAAY,GAAGR,UAAU,CAAC,CAAA;AAC/D,MAAA,IAAMS,eAAe,GAAGJ,KAAK,GAAGH,eAAe,CAAA;MAE/C,IAAMQ,aAAa,GAAGtB,OAAO,GAAGA,OAAO,GAAGc,eAAe,GAAGO,eAAe,CAAA;MAE3E,IAAME,SAAS,GAAGL,IAAI,CAACM,GAAG,CAACH,eAAe,EAAEC,aAAa,CAAC,CAAA;MAE1DzB,GAAG,CAACS,OAAO,CAACI,KAAK,CAACH,MAAM,GAAAS,EAAAA,CAAAA,MAAA,CAAMO,SAAS,EAAK,KAAA,CAAA,CAAA;MAC5CnB,cAAc,CAACE,OAAO,GAAGiB,SAAS,CAAA;AACtC,KAAA;GACH,EAAE,CAAC1B,GAAG,EAAED,MAAM,EAAEE,KAAK,EAAEG,YAAY,CAAC,CAAC,CAAA;AAC1C;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.171.0-canary.1491.11400434499.0",
3
+ "version": "0.171.0-canary.1492.11402523696.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -80,7 +80,7 @@
80
80
  "@rollup/plugin-babel": "^6.0.4",
81
81
  "@rollup/plugin-commonjs": "^25.0.4",
82
82
  "@rollup/plugin-node-resolve": "^15.1.0",
83
- "@salutejs/plasma-sb-utils": "0.181.0-canary.1491.11400434499.0",
83
+ "@salutejs/plasma-sb-utils": "0.180.0",
84
84
  "@storybook/addon-docs": "^7.6.17",
85
85
  "@storybook/addon-essentials": "^7.6.17",
86
86
  "@storybook/addons": "^7.6.17",
@@ -114,7 +114,7 @@
114
114
  "@linaria/react": "5.0.3",
115
115
  "@popperjs/core": "2.11.8",
116
116
  "@salutejs/input-core": "2.1.2",
117
- "@salutejs/plasma-core": "1.183.0-canary.1491.11400434499.0",
117
+ "@salutejs/plasma-core": "1.182.0",
118
118
  "@salutejs/react-maskinput": "3.2.6",
119
119
  "classnames": "2.5.1",
120
120
  "dayjs": "1.11.11",
@@ -124,5 +124,5 @@
124
124
  "react-popper": "2.3.0",
125
125
  "storeon": "3.1.5"
126
126
  },
127
- "gitHead": "6334b48153b037ae83eba00c17aa6279e7715b82"
127
+ "gitHead": "281fb2b8ec684d93619d01e836ed13a5fbfc9c9e"
128
128
  }
@@ -150,7 +150,7 @@ var textAreaRoot = exports.textAreaRoot = function textAreaRoot(Root) {
150
150
  setHelperWidth("".concat(elementWidth / _hooks.ROOT_FONT_SIZE, "rem"));
151
151
  }
152
152
  });
153
- (0, _hooks.useAutoResize)(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto);
153
+ (0, _hooks.useAutoResize)(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto, defaultValue);
154
154
  var onFocusHandler = (0, _react.useCallback)(function () {
155
155
  setFocused(true);
156
156
  }, []);
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useAutoResize = exports.ROOT_FONT_SIZE = void 0;
7
7
  var _react = /*#__PURE__*/require("react");
8
8
  var ROOT_FONT_SIZE = exports.ROOT_FONT_SIZE = 16;
9
- var useAutoResize = exports.useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto) {
9
+ var useAutoResize = exports.useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto, defaultValue) {
10
10
  var isManualResize = (0, _react.useRef)(false);
11
11
  var previousHeight = (0, _react.useRef)();
12
12
  (0, _react.useEffect)(function () {
@@ -29,5 +29,5 @@ var useAutoResize = exports.useAutoResize = function useAutoResize(active, ref,
29
29
  ref.current.style.height = "".concat(newHeight, "rem");
30
30
  previousHeight.current = newHeight;
31
31
  }
32
- }, [ref, active, value]);
32
+ }, [ref, active, value, defaultValue]);
33
33
  };
@@ -142,7 +142,7 @@ export var textAreaRoot = function textAreaRoot(Root) {
142
142
  setHelperWidth("".concat(elementWidth / ROOT_FONT_SIZE, "rem"));
143
143
  }
144
144
  });
145
- useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto);
145
+ useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto, defaultValue);
146
146
  var onFocusHandler = useCallback(function () {
147
147
  setFocused(true);
148
148
  }, []);
@@ -1,6 +1,6 @@
1
1
  import { useEffect, useRef } from 'react';
2
2
  export var ROOT_FONT_SIZE = 16;
3
- export var useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto) {
3
+ export var useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto, defaultValue) {
4
4
  var isManualResize = useRef(false);
5
5
  var previousHeight = useRef();
6
6
  useEffect(function () {
@@ -23,5 +23,5 @@ export var useAutoResize = function useAutoResize(active, ref, value, minAuto, m
23
23
  ref.current.style.height = "".concat(newHeight, "rem");
24
24
  previousHeight.current = newHeight;
25
25
  }
26
- }, [ref, active, value]);
26
+ }, [ref, active, value, defaultValue]);
27
27
  };
@@ -1,4 +1,4 @@
1
1
  import { MutableRefObject } from 'react';
2
2
  export declare const ROOT_FONT_SIZE = 16;
3
- export declare const useAutoResize: <T extends HTMLTextAreaElement>(active: boolean, ref: MutableRefObject<T | null>, value?: string | number | readonly string[] | undefined, minAuto?: number | undefined, maxAuto?: number | undefined) => void;
3
+ export declare const useAutoResize: <T extends HTMLTextAreaElement>(active: boolean, ref: MutableRefObject<T | null>, value?: string | number | readonly string[] | undefined, minAuto?: number | undefined, maxAuto?: number | undefined, defaultValue?: string | number | readonly string[] | undefined) => void;
4
4
  //# sourceMappingURL=useAutoResize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAutoResize.d.ts","sourceRoot":"","sources":["../../../../src/components/TextArea/hooks/useAutoResize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAE5D,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,eAAO,MAAM,aAAa,0CACd,OAAO,+JAoClB,CAAC"}
1
+ {"version":3,"file":"useAutoResize.d.ts","sourceRoot":"","sources":["../../../../src/components/TextArea/hooks/useAutoResize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAE5D,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,eAAO,MAAM,aAAa,0CACd,OAAO,+NAqClB,CAAC"}