@salutejs/plasma-new-hope 0.171.0-canary.1484.11400899769.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.
Files changed (43) hide show
  1. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +13 -19
  2. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
  3. package/cjs/components/TextArea/TextArea.js +1 -1
  4. package/cjs/components/TextArea/TextArea.js.map +1 -1
  5. package/cjs/components/TextArea/hooks/useAutoResize.js +2 -2
  6. package/cjs/components/TextArea/hooks/useAutoResize.js.map +1 -1
  7. package/emotion/cjs/components/Accordion/Accordion.template-doc.mdx +0 -32
  8. package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +13 -19
  9. package/emotion/cjs/components/TextArea/TextArea.js +2 -2
  10. package/emotion/cjs/components/TextArea/hooks/useAutoResize.js +2 -2
  11. package/emotion/cjs/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +1 -63
  12. package/emotion/cjs/examples/plasma_web/components/Accordion/Accordion.stories.tsx +1 -63
  13. package/emotion/es/components/Accordion/Accordion.template-doc.mdx +0 -32
  14. package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.js +14 -20
  15. package/emotion/es/components/TextArea/TextArea.js +2 -2
  16. package/emotion/es/components/TextArea/hooks/useAutoResize.js +2 -2
  17. package/emotion/es/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +1 -63
  18. package/emotion/es/examples/plasma_web/components/Accordion/Accordion.stories.tsx +1 -63
  19. package/es/components/Accordion/ui/AccordionItem/AccordionItem.js +14 -20
  20. package/es/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
  21. package/es/components/TextArea/TextArea.js +1 -1
  22. package/es/components/TextArea/TextArea.js.map +1 -1
  23. package/es/components/TextArea/hooks/useAutoResize.js +2 -2
  24. package/es/components/TextArea/hooks/useAutoResize.js.map +1 -1
  25. package/package.json +2 -2
  26. package/styled-components/cjs/components/Accordion/Accordion.template-doc.mdx +0 -32
  27. package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +13 -19
  28. package/styled-components/cjs/components/TextArea/TextArea.js +1 -1
  29. package/styled-components/cjs/components/TextArea/hooks/useAutoResize.js +2 -2
  30. package/styled-components/cjs/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +1 -63
  31. package/styled-components/cjs/examples/plasma_web/components/Accordion/Accordion.stories.tsx +1 -63
  32. package/styled-components/es/components/Accordion/Accordion.template-doc.mdx +0 -32
  33. package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.js +14 -20
  34. package/styled-components/es/components/TextArea/TextArea.js +1 -1
  35. package/styled-components/es/components/TextArea/hooks/useAutoResize.js +2 -2
  36. package/styled-components/es/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +1 -63
  37. package/styled-components/es/examples/plasma_web/components/Accordion/Accordion.stories.tsx +1 -63
  38. package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts +2 -17
  39. package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts.map +1 -1
  40. package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts +9 -17
  41. package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts.map +1 -1
  42. package/types/components/TextArea/hooks/useAutoResize.d.ts +1 -1
  43. package/types/components/TextArea/hooks/useAutoResize.d.ts.map +1 -1
@@ -1,12 +1,12 @@
1
1
  import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2 } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React, { forwardRef, useState, useRef, useEffect } from 'react';
2
+ import React, { useState, useRef, useEffect } from 'react';
3
3
  import { convertRoundnessMatrix } from '../../../../utils/roundness.js';
4
4
  import { classes, tokens } from '../../Accordion.tokens.js';
5
5
  import { cx } from '../../../../utils/index.js';
6
6
  import { StyledAccordionItem, StyledAccordionHeader, StyledAccordionHeaderLeft, StyledAccordionContentLeft, StyledAccordionTitle, StyledAccordionContentRight, StyledAccordionBodyAnimate, StyledAccordionBody, StyledArrow, StyledPlus, StyledMinus } from './AccordionItem.styles.js';
7
7
 
8
8
  var _StyledMinus, _StyledArrow;
9
- var AccordionItem = /*#__PURE__*/forwardRef(function (_ref, outerRef) {
9
+ var AccordionItem = function AccordionItem(_ref) {
10
10
  var _ref2;
11
11
  var value = _ref.value,
12
12
  contentRight = _ref.contentRight,
@@ -24,10 +24,8 @@ var AccordionItem = /*#__PURE__*/forwardRef(function (_ref, outerRef) {
24
24
  disabled = _ref.disabled,
25
25
  _ref$alignWithTitle = _ref.alignWithTitle,
26
26
  alignWithTitle = _ref$alignWithTitle === void 0 ? true : _ref$alignWithTitle,
27
- opened = _ref.opened,
28
27
  view = _ref.view,
29
- onChange = _ref.onChange,
30
- onClick = _ref.onClick;
28
+ onChange = _ref.onChange;
31
29
  var key = (_ref2 = eventKey !== null && eventKey !== void 0 ? eventKey : index) !== null && _ref2 !== void 0 ? _ref2 : 0;
32
30
  var _useState = useState(),
33
31
  _useState2 = _slicedToArray(_useState, 2),
@@ -40,9 +38,6 @@ var AccordionItem = /*#__PURE__*/forwardRef(function (_ref, outerRef) {
40
38
  if (onChange) {
41
39
  onChange(key, !value);
42
40
  }
43
- if (onClick) {
44
- onClick(key, !value);
45
- }
46
41
  };
47
42
  var leftContentRef = useRef(null);
48
43
  useEffect(function () {
@@ -51,11 +46,11 @@ var AccordionItem = /*#__PURE__*/forwardRef(function (_ref, outerRef) {
51
46
  var leftPaddingBody = leftContentWidth && (alignWithTitle || view === 'clear') ? "calc(".concat(leftContentWidth, "px + var(").concat(tokens.accordionItemGap, "))") : 0;
52
47
  setLeftPadding(leftPaddingBody);
53
48
  }, [value, type, leftContentRef, setLeftPadding]);
54
- var openedBodyClass = (opened !== null && opened !== void 0 ? opened : value) ? classes.accordionItemShowBody : undefined;
55
- var StyledAnimationPlus = function StyledAnimationPlus() {
49
+ var openedBodyClass = value ? classes.accordionItemShowBody : undefined;
50
+ var StyledAnimationPLus = function StyledAnimationPLus() {
56
51
  return /*#__PURE__*/React.createElement(StyledPlus, null, _StyledMinus || (_StyledMinus = /*#__PURE__*/React.createElement(StyledMinus, {
57
52
  size: "xs",
58
- color: "inherit"
53
+ color: "inhert"
59
54
  })), /*#__PURE__*/React.createElement(StyledMinus, {
60
55
  size: "xs",
61
56
  color: "inhert",
@@ -66,15 +61,14 @@ var AccordionItem = /*#__PURE__*/forwardRef(function (_ref, outerRef) {
66
61
  var disabledClass = disabled ? classes.accordionDisabled : '';
67
62
  var leftContent = contentLeft !== null && contentLeft !== void 0 ? contentLeft : type === 'arrow' ? _StyledArrow || (_StyledArrow = /*#__PURE__*/React.createElement(StyledArrow, {
68
63
  size: "xs",
69
- color: "inherit"
64
+ color: "inhert"
70
65
  })) : undefined;
71
- var leftContentRotate = type === 'arrow' && (opened !== null && opened !== void 0 ? opened : value) ? classes.accordionItemShowBody : undefined;
72
- var rightContent = contentRight !== null && contentRight !== void 0 ? contentRight : type === 'sign' ? /*#__PURE__*/React.createElement(StyledAnimationPlus, null) : undefined;
73
- var rightContentRotate = type === 'sign' && (opened !== null && opened !== void 0 ? opened : value) ? classes.accordionItemShowBody : undefined;
66
+ var leftContentRotate = type === 'arrow' && value ? classes.accordionItemShowBody : undefined;
67
+ var rightContent = contentRight !== null && contentRight !== void 0 ? contentRight : type === 'sign' ? /*#__PURE__*/React.createElement(StyledAnimationPLus, null) : undefined;
68
+ var rightContentRotate = type === 'sign' && value ? classes.accordionItemShowBody : undefined;
74
69
  return /*#__PURE__*/React.createElement(StyledAccordionItem, {
75
70
  className: cx(classes.accordionItem, className, disabledClass),
76
71
  key: key,
77
- ref: outerRef,
78
72
  style: _objectSpread2({
79
73
  borderRadius: accordionBorderRadius
80
74
  }, style)
@@ -82,17 +76,17 @@ var AccordionItem = /*#__PURE__*/forwardRef(function (_ref, outerRef) {
82
76
  role: "tab",
83
77
  tabIndex: 0,
84
78
  onClick: handleOpen,
85
- "aria-expanded": opened !== null && opened !== void 0 ? opened : value,
79
+ "aria-expanded": value,
86
80
  "aria-controls": "accordion-item-section".concat(key),
87
81
  id: "accordion-item-".concat(key)
88
82
  }, /*#__PURE__*/React.createElement(StyledAccordionHeaderLeft, null, leftContent && /*#__PURE__*/React.createElement(StyledAccordionContentLeft, {
89
83
  ref: leftContentRef,
90
84
  className: leftContentRotate
91
- }, leftContent), /*#__PURE__*/React.createElement(StyledAccordionTitle, null, title)), contentRight || /*#__PURE__*/React.createElement(StyledAccordionContentRight, {
85
+ }, leftContent), /*#__PURE__*/React.createElement(StyledAccordionTitle, null, title)), /*#__PURE__*/React.createElement(StyledAccordionContentRight, {
92
86
  className: rightContentRotate
93
87
  }, rightContent && rightContent)), /*#__PURE__*/React.createElement(StyledAccordionBodyAnimate, {
94
88
  "aria-labelledby": "accordion-item-".concat(key),
95
- "aria-hidden": !(opened !== null && opened !== void 0 ? opened : value),
89
+ "aria-hidden": !value,
96
90
  id: "accordion-item-section".concat(key),
97
91
  className: cx(openedBodyClass),
98
92
  style: {
@@ -101,7 +95,7 @@ var AccordionItem = /*#__PURE__*/forwardRef(function (_ref, outerRef) {
101
95
  }, /*#__PURE__*/React.createElement(StyledAccordionBody, {
102
96
  className: classes.accordionItemBody
103
97
  }, children)));
104
- });
98
+ };
105
99
 
106
100
  export { AccordionItem };
107
101
  //# sourceMappingURL=AccordionItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItem.js","sources":["../../../../../src/components/Accordion/ui/AccordionItem/AccordionItem.tsx"],"sourcesContent":["import React, { useState, useRef, forwardRef, useEffect } from 'react';\n\nimport { convertRoundnessMatrix } from '../../../../utils/roundness';\nimport { classes, tokens } from '../../Accordion.tokens';\nimport { cx } from '../../../../utils';\n\nimport {\n StyledAccordionItem,\n StyledAccordionHeader,\n StyledAccordionBody,\n StyledAccordionTitle,\n StyledAccordionContentLeft,\n StyledAccordionHeaderLeft,\n StyledAccordionContentRight,\n StyledArrow,\n StyledMinus,\n StyledPlus,\n StyledAccordionBodyAnimate,\n} from './AccordionItem.styles';\nimport type { AccordionItemProps } from './AccordionItem.types';\n\nexport const AccordionItem = forwardRef<HTMLDivElement, AccordionItemProps>(\n (\n {\n value,\n contentRight,\n contentLeft,\n title,\n pin = 'square-square',\n children,\n type = 'sign',\n index,\n className,\n style,\n eventKey,\n disabled,\n alignWithTitle = true,\n opened,\n view,\n onChange,\n onClick,\n },\n outerRef,\n ) => {\n const key = eventKey ?? index ?? 0;\n\n const [leftPadding, setLeftPadding] = useState<string | number | null>();\n\n const handleOpen = () => {\n if (disabled) {\n return;\n }\n if (onChange) {\n onChange(key, !value);\n }\n if (onClick) {\n onClick(key, !value);\n }\n };\n\n const leftContentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const leftContentWidth = leftContentRef?.current?.offsetWidth ?? 0;\n const leftPaddingBody =\n leftContentWidth && (alignWithTitle || view === 'clear')\n ? `calc(${leftContentWidth}px + var(${tokens.accordionItemGap}))`\n : 0;\n setLeftPadding(leftPaddingBody);\n }, [value, type, leftContentRef, setLeftPadding]);\n\n const openedBodyClass = opened ?? value ? classes.accordionItemShowBody : undefined;\n\n const StyledAnimationPlus = () => (\n <StyledPlus>\n <StyledMinus size=\"xs\" color=\"inherit\" />\n <StyledMinus\n size=\"xs\"\n color=\"inhert\"\n className={openedBodyClass ?? classes.accordionPlusAnimationElement}\n />\n </StyledPlus>\n );\n\n const accordionBorderRadius = convertRoundnessMatrix(pin, `var(${tokens.accordionItemBorderRadius})`, '1.5rem');\n const disabledClass = disabled ? classes.accordionDisabled : '';\n\n const leftContent = contentLeft ?? (type === 'arrow' ? <StyledArrow size=\"xs\" color=\"inherit\" /> : undefined);\n const leftContentRotate = type === 'arrow' && (opened ?? value) ? classes.accordionItemShowBody : undefined;\n\n const rightContent = contentRight ?? (type === 'sign' ? <StyledAnimationPlus /> : undefined);\n const rightContentRotate = type === 'sign' && (opened ?? value) ? classes.accordionItemShowBody : undefined;\n\n return (\n <StyledAccordionItem\n className={cx(classes.accordionItem, className, disabledClass)}\n key={key}\n ref={outerRef}\n style={{ borderRadius: accordionBorderRadius, ...style }}\n >\n <StyledAccordionHeader\n role=\"tab\"\n tabIndex={0}\n onClick={handleOpen}\n aria-expanded={opened ?? value}\n aria-controls={`accordion-item-section${key}`}\n id={`accordion-item-${key}`}\n >\n <StyledAccordionHeaderLeft>\n {leftContent && (\n <StyledAccordionContentLeft ref={leftContentRef} className={leftContentRotate}>\n {leftContent}\n </StyledAccordionContentLeft>\n )}\n <StyledAccordionTitle>{title}</StyledAccordionTitle>\n </StyledAccordionHeaderLeft>\n\n {contentRight || (\n <StyledAccordionContentRight className={rightContentRotate}>\n {rightContent && rightContent}\n </StyledAccordionContentRight>\n )}\n </StyledAccordionHeader>\n <StyledAccordionBodyAnimate\n aria-labelledby={`accordion-item-${key}`}\n aria-hidden={!(opened ?? value)}\n id={`accordion-item-section${key}`}\n className={cx(openedBodyClass)}\n style={{ paddingLeft: `${leftPadding}` }}\n >\n <StyledAccordionBody className={classes.accordionItemBody}>{children}</StyledAccordionBody>\n </StyledAccordionBodyAnimate>\n </StyledAccordionItem>\n );\n },\n);\n"],"names":["AccordionItem","forwardRef","_ref","outerRef","_ref2","value","contentRight","contentLeft","title","_ref$pin","pin","children","_ref$type","type","index","className","style","eventKey","disabled","_ref$alignWithTitle","alignWithTitle","opened","view","onChange","onClick","key","_useState","useState","_useState2","_slicedToArray","leftPadding","setLeftPadding","handleOpen","leftContentRef","useRef","useEffect","_leftContentRef$curre","_leftContentRef$curre2","leftContentWidth","current","offsetWidth","leftPaddingBody","concat","tokens","accordionItemGap","openedBodyClass","classes","accordionItemShowBody","undefined","StyledAnimationPlus","React","createElement","StyledPlus","_StyledMinus","StyledMinus","size","color","accordionPlusAnimationElement","accordionBorderRadius","convertRoundnessMatrix","accordionItemBorderRadius","disabledClass","accordionDisabled","leftContent","_StyledArrow","StyledArrow","leftContentRotate","rightContent","rightContentRotate","StyledAccordionItem","cx","accordionItem","ref","_objectSpread","borderRadius","StyledAccordionHeader","role","tabIndex","id","StyledAccordionHeaderLeft","StyledAccordionContentLeft","StyledAccordionTitle","StyledAccordionContentRight","StyledAccordionBodyAnimate","paddingLeft","StyledAccordionBody","accordionItemBody"],"mappings":"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"}
1
+ {"version":3,"file":"AccordionItem.js","sources":["../../../../../src/components/Accordion/ui/AccordionItem/AccordionItem.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\n\nimport { convertRoundnessMatrix } from '../../../../utils/roundness';\nimport { classes, tokens } from '../../Accordion.tokens';\nimport { cx } from '../../../../utils';\n\nimport {\n StyledAccordionItem,\n StyledAccordionHeader,\n StyledAccordionBody,\n StyledAccordionTitle,\n StyledAccordionContentLeft,\n StyledAccordionHeaderLeft,\n StyledAccordionContentRight,\n StyledArrow,\n StyledMinus,\n StyledPlus,\n StyledAccordionBodyAnimate,\n} from './AccordionItem.styles';\nimport type { AccordionItemProps } from './AccordionItem.types';\n\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n value,\n contentRight,\n contentLeft,\n title,\n pin = 'square-square',\n children,\n type = 'sign',\n index,\n className,\n style,\n eventKey,\n disabled,\n alignWithTitle = true,\n view,\n onChange,\n}) => {\n const key = eventKey ?? index ?? 0;\n\n const [leftPadding, setLeftPadding] = useState<string | number | null>();\n\n const handleOpen = () => {\n if (disabled) {\n return;\n }\n if (onChange) {\n onChange(key, !value);\n }\n };\n\n const leftContentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const leftContentWidth = leftContentRef?.current?.offsetWidth ?? 0;\n const leftPaddingBody =\n leftContentWidth && (alignWithTitle || view === 'clear')\n ? `calc(${leftContentWidth}px + var(${tokens.accordionItemGap}))`\n : 0;\n setLeftPadding(leftPaddingBody);\n }, [value, type, leftContentRef, setLeftPadding]);\n\n const openedBodyClass = value ? classes.accordionItemShowBody : undefined;\n\n const StyledAnimationPLus = () => (\n <StyledPlus>\n <StyledMinus size=\"xs\" color=\"inhert\" />\n <StyledMinus\n size=\"xs\"\n color=\"inhert\"\n className={openedBodyClass ?? classes.accordionPlusAnimationElement}\n />\n </StyledPlus>\n );\n\n const accordionBorderRadius = convertRoundnessMatrix(pin, `var(${tokens.accordionItemBorderRadius})`, '1.5rem');\n const disabledClass = disabled ? classes.accordionDisabled : '';\n\n const leftContent = contentLeft ?? (type === 'arrow' ? <StyledArrow size=\"xs\" color=\"inhert\" /> : undefined);\n const leftContentRotate = type === 'arrow' && value ? classes.accordionItemShowBody : undefined;\n\n const rightContent = contentRight ?? (type === 'sign' ? <StyledAnimationPLus /> : undefined);\n const rightContentRotate = type === 'sign' && value ? classes.accordionItemShowBody : undefined;\n\n return (\n <StyledAccordionItem\n className={cx(classes.accordionItem, className, disabledClass)}\n key={key}\n style={{ borderRadius: accordionBorderRadius, ...style }}\n >\n <StyledAccordionHeader\n role=\"tab\"\n tabIndex={0}\n onClick={handleOpen}\n aria-expanded={value}\n aria-controls={`accordion-item-section${key}`}\n id={`accordion-item-${key}`}\n >\n <StyledAccordionHeaderLeft>\n {leftContent && (\n <StyledAccordionContentLeft ref={leftContentRef} className={leftContentRotate}>\n {leftContent}\n </StyledAccordionContentLeft>\n )}\n <StyledAccordionTitle>{title}</StyledAccordionTitle>\n </StyledAccordionHeaderLeft>\n\n <StyledAccordionContentRight className={rightContentRotate}>\n {rightContent && rightContent}\n </StyledAccordionContentRight>\n </StyledAccordionHeader>\n <StyledAccordionBodyAnimate\n aria-labelledby={`accordion-item-${key}`}\n aria-hidden={!value}\n id={`accordion-item-section${key}`}\n className={cx(openedBodyClass)}\n style={{ paddingLeft: `${leftPadding}` }}\n >\n <StyledAccordionBody className={classes.accordionItemBody}>{children}</StyledAccordionBody>\n </StyledAccordionBodyAnimate>\n </StyledAccordionItem>\n );\n};\n"],"names":["AccordionItem","_ref","_ref2","value","contentRight","contentLeft","title","_ref$pin","pin","children","_ref$type","type","index","className","style","eventKey","disabled","_ref$alignWithTitle","alignWithTitle","view","onChange","key","_useState","useState","_useState2","_slicedToArray","leftPadding","setLeftPadding","handleOpen","leftContentRef","useRef","useEffect","_leftContentRef$curre","_leftContentRef$curre2","leftContentWidth","current","offsetWidth","leftPaddingBody","concat","tokens","accordionItemGap","openedBodyClass","classes","accordionItemShowBody","undefined","StyledAnimationPLus","React","createElement","StyledPlus","_StyledMinus","StyledMinus","size","color","accordionPlusAnimationElement","accordionBorderRadius","convertRoundnessMatrix","accordionItemBorderRadius","disabledClass","accordionDisabled","leftContent","_StyledArrow","StyledArrow","leftContentRotate","rightContent","rightContentRotate","StyledAccordionItem","cx","accordionItem","_objectSpread","borderRadius","StyledAccordionHeader","role","tabIndex","onClick","id","StyledAccordionHeaderLeft","StyledAccordionContentLeft","ref","StyledAccordionTitle","StyledAccordionContentRight","StyledAccordionBodyAnimate","paddingLeft","StyledAccordionBody","accordionItemBody"],"mappings":"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"}
@@ -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.1484.11400899769.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",
@@ -124,5 +124,5 @@
124
124
  "react-popper": "2.3.0",
125
125
  "storeon": "3.1.5"
126
126
  },
127
- "gitHead": "f817b95324448f5e8a40fd84c3071cf2435786b8"
127
+ "gitHead": "281fb2b8ec684d93619d01e836ed13a5fbfc9c9e"
128
128
  }
@@ -135,38 +135,6 @@ import TabItem from '@theme/TabItem';
135
135
  </TabItem>
136
136
  </Tabs>
137
137
 
138
- ### Использование Accordion в Controlled варианте
139
-
140
- ```tsx live
141
- import React, { useState } from 'react';
142
- import { Accordion, AccordionItem, IconButton } from '@salutejs/{{ package }}';
143
- import { IconPlus } from '@salutejs/plasma-icons';
144
-
145
- export function App() {
146
- const [activeFirst, setActiveFirst] = useState(false);
147
- const [activeSecond, setActiveSecond] = useState(false);
148
- const [activeThree, setActiveThree] = useState(false);
149
-
150
- const contentRight = (active, setActive) => {
151
- return (
152
- <IconButton view="secondary" size="s" onClick={() => setActive(!active)}>
153
- <IconPlus size="xs" />
154
- </IconButton>
155
- )
156
- }
157
-
158
- return (
159
- <div>
160
- <Accordion size="s" singleActive={true}>
161
- <AccordionItem opened={activeFirst} contentRight={contentRight(activeFirst, setActiveFirst)} type="arrow" title="Как оплатить заправку бонусами СберСпасибо?">После указания деталей заправки нажмите кнопку «К оплате». Откроется окно оплаты, где вы сможете списать бонусы и оплатить ими до 99% стоимости топлива</AccordionItem>
162
- <AccordionItem opened={activeSecond} contentRight={contentRight(activeSecond, setActiveSecond)} type="arrow" title="Как оплатить заправку бонусами СберСпасибо?">После указания деталей заправки нажмите кнопку «К оплате». Откроется окно оплаты, где вы сможете списать бонусы и оплатить ими до 99% стоимости топлива</AccordionItem>
163
- <AccordionItem opened={activeThree} contentRight={contentRight(activeThree, setActiveThree)} type="arrow" title="Как оплатить заправку бонусами СберСпасибо?">После указания деталей заправки нажмите кнопку «К оплате». Откроется окно оплаты, где вы сможете списать бонусы и оплатить ими до 99% стоимости топлива</AccordionItem>
164
- </Accordion>
165
- </div>
166
- );
167
- }
168
- ```
169
-
170
138
  ### Использование Accordion SingleActive
171
139
 
172
140
  ```tsx live
@@ -24,7 +24,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
24
24
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
25
25
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
26
26
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
- var AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, outerRef) {
27
+ var AccordionItem = exports.AccordionItem = function AccordionItem(_ref) {
28
28
  var _ref2;
29
29
  var value = _ref.value,
30
30
  contentRight = _ref.contentRight,
@@ -42,10 +42,8 @@ var AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.forwardRef)(
42
42
  disabled = _ref.disabled,
43
43
  _ref$alignWithTitle = _ref.alignWithTitle,
44
44
  alignWithTitle = _ref$alignWithTitle === void 0 ? true : _ref$alignWithTitle,
45
- opened = _ref.opened,
46
45
  view = _ref.view,
47
- onChange = _ref.onChange,
48
- onClick = _ref.onClick;
46
+ onChange = _ref.onChange;
49
47
  var key = (_ref2 = eventKey !== null && eventKey !== void 0 ? eventKey : index) !== null && _ref2 !== void 0 ? _ref2 : 0;
50
48
  var _useState = (0, _react.useState)(),
51
49
  _useState2 = _slicedToArray(_useState, 2),
@@ -58,9 +56,6 @@ var AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.forwardRef)(
58
56
  if (onChange) {
59
57
  onChange(key, !value);
60
58
  }
61
- if (onClick) {
62
- onClick(key, !value);
63
- }
64
59
  };
65
60
  var leftContentRef = (0, _react.useRef)(null);
66
61
  (0, _react.useEffect)(function () {
@@ -69,11 +64,11 @@ var AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.forwardRef)(
69
64
  var leftPaddingBody = leftContentWidth && (alignWithTitle || view === 'clear') ? "calc(".concat(leftContentWidth, "px + var(").concat(_Accordion.tokens.accordionItemGap, "))") : 0;
70
65
  setLeftPadding(leftPaddingBody);
71
66
  }, [value, type, leftContentRef, setLeftPadding]);
72
- var openedBodyClass = (opened !== null && opened !== void 0 ? opened : value) ? _Accordion.classes.accordionItemShowBody : undefined;
73
- var StyledAnimationPlus = function StyledAnimationPlus() {
67
+ var openedBodyClass = value ? _Accordion.classes.accordionItemShowBody : undefined;
68
+ var StyledAnimationPLus = function StyledAnimationPLus() {
74
69
  return /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledPlus, null, _StyledMinus || (_StyledMinus = /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledMinus, {
75
70
  size: "xs",
76
- color: "inherit"
71
+ color: "inhert"
77
72
  })), /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledMinus, {
78
73
  size: "xs",
79
74
  color: "inhert",
@@ -84,15 +79,14 @@ var AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.forwardRef)(
84
79
  var disabledClass = disabled ? _Accordion.classes.accordionDisabled : '';
85
80
  var leftContent = contentLeft !== null && contentLeft !== void 0 ? contentLeft : type === 'arrow' ? _StyledArrow || (_StyledArrow = /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledArrow, {
86
81
  size: "xs",
87
- color: "inherit"
82
+ color: "inhert"
88
83
  })) : undefined;
89
- var leftContentRotate = type === 'arrow' && (opened !== null && opened !== void 0 ? opened : value) ? _Accordion.classes.accordionItemShowBody : undefined;
90
- var rightContent = contentRight !== null && contentRight !== void 0 ? contentRight : type === 'sign' ? /*#__PURE__*/_react["default"].createElement(StyledAnimationPlus, null) : undefined;
91
- var rightContentRotate = type === 'sign' && (opened !== null && opened !== void 0 ? opened : value) ? _Accordion.classes.accordionItemShowBody : undefined;
84
+ var leftContentRotate = type === 'arrow' && value ? _Accordion.classes.accordionItemShowBody : undefined;
85
+ var rightContent = contentRight !== null && contentRight !== void 0 ? contentRight : type === 'sign' ? /*#__PURE__*/_react["default"].createElement(StyledAnimationPLus, null) : undefined;
86
+ var rightContentRotate = type === 'sign' && value ? _Accordion.classes.accordionItemShowBody : undefined;
92
87
  return /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionItem, {
93
88
  className: (0, _utils.cx)(_Accordion.classes.accordionItem, className, disabledClass),
94
89
  key: key,
95
- ref: outerRef,
96
90
  style: _objectSpread({
97
91
  borderRadius: accordionBorderRadius
98
92
  }, style)
@@ -100,17 +94,17 @@ var AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.forwardRef)(
100
94
  role: "tab",
101
95
  tabIndex: 0,
102
96
  onClick: handleOpen,
103
- "aria-expanded": opened !== null && opened !== void 0 ? opened : value,
97
+ "aria-expanded": value,
104
98
  "aria-controls": "accordion-item-section".concat(key),
105
99
  id: "accordion-item-".concat(key)
106
100
  }, /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionHeaderLeft, null, leftContent && /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionContentLeft, {
107
101
  ref: leftContentRef,
108
102
  className: leftContentRotate
109
- }, leftContent), /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionTitle, null, title)), contentRight || /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionContentRight, {
103
+ }, leftContent), /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionTitle, null, title)), /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionContentRight, {
110
104
  className: rightContentRotate
111
105
  }, rightContent && rightContent)), /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionBodyAnimate, {
112
106
  "aria-labelledby": "accordion-item-".concat(key),
113
- "aria-hidden": !(opened !== null && opened !== void 0 ? opened : value),
107
+ "aria-hidden": !value,
114
108
  id: "accordion-item-section".concat(key),
115
109
  className: (0, _utils.cx)(openedBodyClass),
116
110
  style: {
@@ -119,4 +113,4 @@ var AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.forwardRef)(
119
113
  }, /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionBody, {
120
114
  className: _Accordion.classes.accordionItemBody
121
115
  }, children)));
122
- });
116
+ };
@@ -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
  };
@@ -1,4 +1,4 @@
1
- import React, { useState } from 'react';
1
+ import React from 'react';
2
2
  import type { ComponentProps, ReactNode } from 'react';
3
3
  import type { StoryObj, Meta } from '@storybook/react';
4
4
  import { disableProps } from '@salutejs/plasma-sb-utils';
@@ -7,8 +7,6 @@ import { mergeConfig } from '../../../../engines';
7
7
  import { WithTheme, argTypesFromConfig } from '../../../_helpers';
8
8
  import { accordionConfig } from '../../../../components/Accordion';
9
9
  import { Pin } from '../../../../utils/roundness';
10
- import { IconButton } from '../IconButton/IconButton';
11
- import { IconPlus } from '../../../../components/_Icon';
12
10
 
13
11
  import { config } from './Accordion.config';
14
12
  import { Accordion, AccordionItem } from './Accordion';
@@ -93,63 +91,3 @@ export const Default: StoryObj<AccordionProps> = {
93
91
  );
94
92
  },
95
93
  };
96
-
97
- const getSizeForIcon = (size) => (size === 'xs' ? 'xs' : 's');
98
-
99
- const ControlledAccordion = (props: AccordionProps) => {
100
- const args = { ...props, text: undefined };
101
- const [activeFirst, setActiveFirst] = useState(false);
102
- const [activeSecond, setActiveSecond] = useState(false);
103
- const [activeThree, setActiveThree] = useState(false);
104
-
105
- return (
106
- <Accordion {...args}>
107
- <AccordionItem
108
- contentRight={
109
- <IconButton view="secondary" size={args.size} onClick={() => setActiveFirst(!activeFirst)}>
110
- <IconPlus size={getSizeForIcon(args.size)} />
111
- </IconButton>
112
- }
113
- alignWithTitle={args.alignWithTitle}
114
- type={args.type}
115
- pin={args.pin}
116
- title={args.title}
117
- opened={activeFirst}
118
- >
119
- {args.body}
120
- </AccordionItem>
121
- <AccordionItem
122
- contentRight={
123
- <IconButton view="secondary" size={args.size} onClick={() => setActiveSecond(!activeSecond)}>
124
- <IconPlus size={getSizeForIcon(args.size)} />
125
- </IconButton>
126
- }
127
- alignWithTitle={args.alignWithTitle}
128
- type={args.type}
129
- pin={args.pin}
130
- title={args.title}
131
- opened={activeSecond}
132
- >
133
- {args.body}
134
- </AccordionItem>
135
- <AccordionItem
136
- contentRight={
137
- <IconButton view="secondary" size={args.size} onClick={() => setActiveThree(!activeThree)}>
138
- <IconPlus size={getSizeForIcon(args.size)} />
139
- </IconButton>
140
- }
141
- alignWithTitle={args.alignWithTitle}
142
- type={args.type}
143
- pin={args.pin}
144
- title={args.title}
145
- opened={activeThree}
146
- >
147
- {args.body}
148
- </AccordionItem>
149
- </Accordion>
150
- );
151
- };
152
-
153
- export const Controlled: StoryObj<AccordionProps> = {
154
- render: (props: AccordionProps) => ControlledAccordion(props),
155
- };