@salutejs/plasma-new-hope 0.134.0-canary.1352.10591857563.0 → 0.134.0-canary.1352.10609199302.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.css +9 -8
  2. package/cjs/components/DatePicker/RangeDate/RangeDate.css +9 -8
  3. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +9 -8
  4. package/cjs/components/DatePicker/SingleDate/SingleDate.css +9 -8
  5. package/cjs/components/Range/Range.css +9 -8
  6. package/cjs/components/Slider/Slider.css +9 -8
  7. package/cjs/components/Slider/components/Double/Double.css +9 -8
  8. package/cjs/components/Switch/Switch.tokens.js +1 -1
  9. package/cjs/components/Switch/Switch.tokens.js.map +1 -1
  10. package/cjs/components/Switch/_size/base.js +1 -1
  11. package/cjs/components/Switch/_size/base.js.map +1 -1
  12. package/cjs/components/Switch/_size/{base_9sphki.css → base_1sjw39x.css} +1 -1
  13. package/cjs/components/Switch/_view/base.js +1 -1
  14. package/cjs/components/Switch/_view/base.js.map +1 -1
  15. package/cjs/components/Switch/_view/base_d10e49.css +1 -0
  16. package/cjs/components/TextArea/TextArea.js +18 -11
  17. package/cjs/components/TextArea/TextArea.js.map +1 -1
  18. package/cjs/components/TextArea/TextArea.styles.js +42 -36
  19. package/cjs/components/TextArea/TextArea.styles.js.map +1 -1
  20. package/cjs/components/TextArea/TextArea.styles_av6xxy.css +11 -0
  21. package/cjs/components/TextField/TextField.js +16 -9
  22. package/cjs/components/TextField/TextField.js.map +1 -1
  23. package/cjs/components/TextField/TextField.styles.js +8 -2
  24. package/cjs/components/TextField/TextField.styles.js.map +1 -1
  25. package/{es/components/TextField/TextField.styles_x7rboj.css → cjs/components/TextField/TextField.styles_1lfge6n.css} +3 -2
  26. package/cjs/index.css +22 -20
  27. package/emotion/cjs/components/Switch/Switch.tokens.js +1 -1
  28. package/emotion/cjs/components/Switch/_size/base.js +1 -1
  29. package/emotion/cjs/components/Switch/_view/base.js +1 -1
  30. package/emotion/cjs/components/TextArea/TextArea.js +19 -12
  31. package/emotion/cjs/components/TextArea/TextArea.styles.js +16 -12
  32. package/emotion/cjs/components/TextField/TextField.js +17 -10
  33. package/emotion/cjs/components/TextField/TextField.styles.js +30 -26
  34. package/emotion/cjs/examples/plasma_b2c/components/Switch/Switch.config.js +4 -4
  35. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +12 -9
  36. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +9 -0
  37. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +15 -12
  38. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +9 -1
  39. package/emotion/cjs/examples/plasma_web/components/Switch/Switch.config.js +4 -4
  40. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +10 -45
  41. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +10 -43
  42. package/emotion/es/components/Switch/Switch.tokens.js +1 -1
  43. package/emotion/es/components/Switch/_size/base.js +1 -1
  44. package/emotion/es/components/Switch/_view/base.js +1 -1
  45. package/emotion/es/components/TextArea/TextArea.js +20 -13
  46. package/emotion/es/components/TextArea/TextArea.styles.js +15 -11
  47. package/emotion/es/components/TextField/TextField.js +18 -11
  48. package/emotion/es/components/TextField/TextField.styles.js +29 -25
  49. package/emotion/es/examples/plasma_b2c/components/Switch/Switch.config.js +4 -4
  50. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +12 -9
  51. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +9 -0
  52. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.config.js +15 -12
  53. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +9 -1
  54. package/emotion/es/examples/plasma_web/components/Switch/Switch.config.js +4 -4
  55. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +10 -45
  56. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +10 -43
  57. package/es/components/Autocomplete/Autocomplete.css +9 -8
  58. package/es/components/DatePicker/RangeDate/RangeDate.css +9 -8
  59. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +9 -8
  60. package/es/components/DatePicker/SingleDate/SingleDate.css +9 -8
  61. package/es/components/Range/Range.css +9 -8
  62. package/es/components/Slider/Slider.css +9 -8
  63. package/es/components/Slider/components/Double/Double.css +9 -8
  64. package/es/components/Switch/Switch.tokens.js +1 -1
  65. package/es/components/Switch/Switch.tokens.js.map +1 -1
  66. package/es/components/Switch/_size/base.js +1 -1
  67. package/es/components/Switch/_size/base.js.map +1 -1
  68. package/es/components/Switch/_size/{base_9sphki.css → base_1sjw39x.css} +1 -1
  69. package/es/components/Switch/_view/base.js +1 -1
  70. package/es/components/Switch/_view/base.js.map +1 -1
  71. package/es/components/Switch/_view/base_d10e49.css +1 -0
  72. package/es/components/TextArea/TextArea.js +19 -12
  73. package/es/components/TextArea/TextArea.js.map +1 -1
  74. package/es/components/TextArea/TextArea.styles.js +42 -37
  75. package/es/components/TextArea/TextArea.styles.js.map +1 -1
  76. package/es/components/TextArea/TextArea.styles_av6xxy.css +11 -0
  77. package/es/components/TextField/TextField.js +17 -10
  78. package/es/components/TextField/TextField.js.map +1 -1
  79. package/es/components/TextField/TextField.styles.js +8 -3
  80. package/es/components/TextField/TextField.styles.js.map +1 -1
  81. package/{cjs/components/TextField/TextField.styles_x7rboj.css → es/components/TextField/TextField.styles_1lfge6n.css} +3 -2
  82. package/es/index.css +22 -20
  83. package/package.json +4 -4
  84. package/styled-components/cjs/components/Switch/Switch.tokens.js +1 -1
  85. package/styled-components/cjs/components/Switch/_size/base.js +1 -1
  86. package/styled-components/cjs/components/Switch/_view/base.js +1 -1
  87. package/styled-components/cjs/components/TextArea/TextArea.js +18 -11
  88. package/styled-components/cjs/components/TextArea/TextArea.styles.js +14 -11
  89. package/styled-components/cjs/components/TextField/TextField.js +16 -9
  90. package/styled-components/cjs/components/TextField/TextField.styles.js +6 -3
  91. package/styled-components/cjs/examples/plasma_b2c/components/Switch/Switch.config.js +1 -1
  92. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +7 -4
  93. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +9 -0
  94. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +7 -4
  95. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +9 -1
  96. package/styled-components/cjs/examples/plasma_web/components/Switch/Switch.config.js +1 -1
  97. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +10 -45
  98. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +10 -43
  99. package/styled-components/es/components/Switch/Switch.tokens.js +1 -1
  100. package/styled-components/es/components/Switch/_size/base.js +1 -1
  101. package/styled-components/es/components/Switch/_view/base.js +1 -1
  102. package/styled-components/es/components/TextArea/TextArea.js +19 -12
  103. package/styled-components/es/components/TextArea/TextArea.styles.js +13 -10
  104. package/styled-components/es/components/TextField/TextField.js +17 -10
  105. package/styled-components/es/components/TextField/TextField.styles.js +5 -2
  106. package/styled-components/es/examples/plasma_b2c/components/Switch/Switch.config.js +1 -1
  107. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +7 -4
  108. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +9 -0
  109. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +7 -4
  110. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +9 -1
  111. package/styled-components/es/examples/plasma_web/components/Switch/Switch.config.js +1 -1
  112. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +10 -45
  113. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +10 -43
  114. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts +4 -2
  115. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
  116. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts +4 -2
  117. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  118. package/types/components/Range/Range.styles.d.ts +4 -2
  119. package/types/components/Range/Range.styles.d.ts.map +1 -1
  120. package/types/components/Slider/components/Double/Double.styles.d.ts +4 -2
  121. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  122. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  123. package/types/components/TextArea/TextArea.styles.d.ts +1 -0
  124. package/types/components/TextArea/TextArea.styles.d.ts.map +1 -1
  125. package/types/components/TextArea/TextArea.types.d.ts +6 -2
  126. package/types/components/TextArea/TextArea.types.d.ts.map +1 -1
  127. package/types/components/TextField/TextField.d.ts.map +1 -1
  128. package/types/components/TextField/TextField.styles.d.ts +1 -0
  129. package/types/components/TextField/TextField.styles.d.ts.map +1 -1
  130. package/types/components/TextField/TextField.types.d.ts +6 -2
  131. package/types/components/TextField/TextField.types.d.ts.map +1 -1
  132. package/types/examples/plasma_b2c/components/Switch/Switch.config.d.ts.map +1 -1
  133. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts +3 -0
  134. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts.map +1 -1
  135. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts +3 -0
  136. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts.map +1 -1
  137. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts +3 -0
  138. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts.map +1 -1
  139. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +7 -2
  140. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
  141. package/types/examples/plasma_web/components/Switch/Switch.config.d.ts.map +1 -1
  142. package/types/examples/plasma_web/components/TextField/TextField.d.ts +4 -2
  143. package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
  144. package/types/examples/sds_engineer/components/TextField/TextField.d.ts +4 -2
  145. package/types/examples/sds_engineer/components/TextField/TextField.d.ts.map +1 -1
  146. package/cjs/components/Switch/_view/base_b0jyco.css +0 -1
  147. package/cjs/components/TextArea/TextArea.styles_wt773g.css +0 -10
  148. package/es/components/Switch/_view/base_b0jyco.css +0 -1
  149. package/es/components/TextArea/TextArea.styles_wt773g.css +0 -10
@@ -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 } 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} 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 disabledCSS } from './variations/_disabled/base';\nimport { base as requiredCSS } from './variations/_required/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 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, autoResize, 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 !autoResize &&\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 || autoResize)) ||\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,\n requiredAlign,\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 = innerRef && 'current' in innerRef ? innerRef : createRef<HTMLTextAreaElement>();\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\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 placeLabel = labelPlacement === 'inner' && label && size !== 'xs' ? label : placeholder;\n\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const requiredAlignClass = requiredAlign === '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, 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 dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n ...(rows ? { rows } : { autoResize }),\n },\n focused,\n );\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n style={{ width: helperWidth, ...style }}\n className={className}\n >\n {hasOuterLabel && (\n <StyledLabel>\n {required && <StyledIndicator className={cx('placement-outer', requiredAlignClass)} />}\n {label}\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('placement-inner', requiredAlignClass)} />\n )}\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={styledTextArea}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={outerRef}\n disabled={disabled}\n height={autoResize ? minAuto : height}\n width={width}\n placeholder={placeLabel}\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 {placeLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeLabel}\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 disabled: {\n css: disabledCSS,\n attrs: true,\n },\n required: {\n css: requiredCSS,\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","base","fallbackStatusMap","success","warning","error","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","autoResize","rows","value","size","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","placeholder","defaultValue","height","width","disabled","required","requiredAlign","view","id","style","className","cols","onChange","rest","_excluded","_useState","useState","concat","_useState2","_slicedToArray","helperWidth","setHelperWidth","_useState3","_useState4","setFocused","_useState5","_useState6","uncontrolledValue","setUncontrolledValue","outerRef","createRef","hasHelper","Boolean","overriddenView","textareaHelperId","applyCustomWidth","placeLabel","hasOuterLabel","requiredAlignClass","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","event","target","dynamicLabelClasses","_objectSpread","React","createElement","StyledLabel","StyledIndicator","cx","StyledContainer","apply","_toConsumableArray","onFocus","onBlur","StyledContent","StyledTextAreaWrapper","StyledTextArea","_extends","hasContentRight","ref","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","requiredCSS","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 } 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 disabledCSS } from './variations/_disabled/base';\nimport { base as requiredCSS } from './variations/_required/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, autoResize, 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 !autoResize &&\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 || autoResize)) ||\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,\n requiredPlacement = 'right',\n optional,\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 = innerRef && 'current' in innerRef ? innerRef : createRef<HTMLTextAreaElement>();\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\n const hasOuterLabel = Boolean(label && labelPlacement === 'outer');\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n let placeholderLabel = labelPlacement === 'inner' && label && size !== 'xs' ? label : placeholder;\n\n if (optional && !hasOuterLabel) {\n placeholderLabel = placeholderLabel ? `${placeholderLabel}\\xa0${optionalText}` : optionalText;\n }\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, 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 dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n value: value || uncontrolledValue || defaultValue,\n ...(rows ? { rows } : { autoResize }),\n },\n focused,\n );\n\n const optionalTextNode = optional ? (\n <StyledOptionalText>\n {Boolean(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 required={required}\n style={{ width: helperWidth, ...style }}\n className={className}\n >\n {hasOuterLabel && (\n <StyledLabel>\n {required && <StyledIndicator className={cx('placement-outer', requiredPlacementClass)} />}\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('placement-inner', requiredPlacementClass)} />\n )}\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={styledTextArea}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={outerRef}\n disabled={disabled}\n height={autoResize ? 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 </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 disabled: {\n css: disabledCSS,\n attrs: true,\n },\n required: {\n css: requiredCSS,\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","autoResize","rows","value","size","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","placeholder","defaultValue","height","width","disabled","required","_props$requiredPlacem","requiredPlacement","optional","view","id","style","className","cols","onChange","rest","_excluded","_useState","useState","concat","_useState2","_slicedToArray","helperWidth","setHelperWidth","_useState3","_useState4","setFocused","_useState5","_useState6","uncontrolledValue","setUncontrolledValue","outerRef","createRef","hasHelper","Boolean","hasOuterLabel","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","requiredPlacementClass","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","event","target","dynamicLabelClasses","_objectSpread","optionalTextNode","React","createElement","StyledOptionalText","StyledLabel","StyledIndicator","cx","StyledContainer","apply","_toConsumableArray","onFocus","onBlur","StyledContent","StyledTextAreaWrapper","StyledTextArea","_extends","hasContentRight","ref","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","requiredCSS","defaults"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import './TextArea.styles_wt773g.css';
1
+ import './TextArea.styles_av6xxy.css';
2
2
  'use strict';
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -11,13 +11,18 @@ var StyledLabel = /*#__PURE__*/react.styled('div')({
11
11
  "class": "s1luq7vd",
12
12
  propsAsIs: false
13
13
  });
14
- var _exp10 = function _exp10() {
14
+ var StyledOptionalText = /*#__PURE__*/react.styled('span')({
15
+ name: "StyledOptionalText",
16
+ "class": "s1r1fvk8",
17
+ propsAsIs: false
18
+ });
19
+ var _exp11 = function _exp11() {
15
20
  return function (_ref) {
16
21
  var hasHelper = _ref.hasHelper;
17
22
  return hasHelper ? "var(".concat(TextArea_tokens.tokens.inputPaddingBottomWithHelpers, ")") : "var(".concat(TextArea_tokens.tokens.inputPaddingBottom, ")");
18
23
  };
19
24
  };
20
- var _exp11 = function _exp11() {
25
+ var _exp12 = function _exp12() {
21
26
  return function (_ref2) {
22
27
  var hasHelper = _ref2.hasHelper;
23
28
  return hasHelper ? "var(".concat(TextArea_tokens.tokens.borderRadiusWithHelpers, ")") : "var(".concat(TextArea_tokens.tokens.borderRadius, ")");
@@ -25,19 +30,19 @@ var _exp11 = function _exp11() {
25
30
  };
26
31
  var StyledTextAreaWrapper = /*#__PURE__*/react.styled('div')({
27
32
  name: "StyledTextAreaWrapper",
28
- "class": "s1r1fvk8",
33
+ "class": "surmvwq",
29
34
  propsAsIs: false,
30
35
  vars: {
31
- "s1r1fvk8-0": [/*#__PURE__*/_exp10()],
32
- "s1r1fvk8-1": [/*#__PURE__*/_exp11()]
36
+ "surmvwq-0": [/*#__PURE__*/_exp11()],
37
+ "surmvwq-1": [/*#__PURE__*/_exp12()]
33
38
  }
34
39
  });
35
40
  var StyledContent = /*#__PURE__*/react.styled('div')({
36
41
  name: "StyledContent",
37
- "class": "surmvwq",
42
+ "class": "s18bd513",
38
43
  propsAsIs: false
39
44
  });
40
- var _exp15 = function _exp15() {
45
+ var _exp16 = function _exp16() {
41
46
  return function (_ref3) {
42
47
  var width = _ref3.width;
43
48
  return width;
@@ -45,55 +50,55 @@ var _exp15 = function _exp15() {
45
50
  };
46
51
  var StyledContainer = /*#__PURE__*/react.styled('div')({
47
52
  name: "StyledContainer",
48
- "class": "s18bd513",
53
+ "class": "s7alcr2",
49
54
  propsAsIs: false,
50
55
  vars: {
51
- "s18bd513-0": [/*#__PURE__*/_exp15()]
56
+ "s7alcr2-0": [/*#__PURE__*/_exp16()]
52
57
  }
53
58
  });
54
- var _exp18 = function _exp18() {
59
+ var _exp19 = function _exp19() {
55
60
  return function (_ref4) {
56
61
  var resize = _ref4.resize;
57
62
  return resize || 'none';
58
63
  };
59
64
  };
60
- var _exp19 = function _exp19() {
65
+ var _exp20 = function _exp20() {
61
66
  return function (_ref5) {
62
67
  var height = _ref5.height;
63
68
  return !Number.isNaN(Number(height)) ? "calc(".concat(height, "rem - 0.875rem)") : height || "var(".concat(TextArea_tokens.tokens.inputHeight, ")");
64
69
  };
65
70
  };
66
- var _exp20 = function _exp20() {
71
+ var _exp21 = function _exp21() {
67
72
  return function (_ref6) {
68
73
  var width = _ref6.width;
69
74
  return !Number.isNaN(Number(width)) ? "".concat(width, "rem") : width || "var(".concat(TextArea_tokens.tokens.inputWidth, ")");
70
75
  };
71
76
  };
72
- var _exp21 = function _exp21() {
77
+ var _exp22 = function _exp22() {
73
78
  return function (_ref7) {
74
79
  var rows = _ref7.rows;
75
80
  return rows ? 'unset' : 'var(--plasma_private-textarea-height)';
76
81
  };
77
82
  };
78
- var _exp22 = function _exp22() {
83
+ var _exp23 = function _exp23() {
79
84
  return function (_ref8) {
80
85
  var cols = _ref8.cols;
81
86
  return cols ? 'unset' : 'var(--plasma_private-textarea-width)';
82
87
  };
83
88
  };
84
- var _exp24 = function _exp24() {
89
+ var _exp25 = function _exp25() {
85
90
  return function (_ref9) {
86
91
  var applyCustomWidth = _ref9.applyCustomWidth;
87
92
  return applyCustomWidth ? 'var(--plasma_private-textarea-width)' : 'auto';
88
93
  };
89
94
  };
90
- var _exp26 = function _exp26() {
95
+ var _exp27 = function _exp27() {
91
96
  return function (_ref10) {
92
97
  var hasContentRight = _ref10.hasContentRight;
93
98
  return hasContentRight ? "var(".concat(TextArea_tokens.tokens.inputPaddingRightWithRightContent, ")") : "var(".concat(TextArea_tokens.tokens.inputPaddingRight, ")");
94
99
  };
95
100
  };
96
- var _exp33 = function _exp33() {
101
+ var _exp34 = function _exp34() {
97
102
  return function (_ref11) {
98
103
  var hasHelper = _ref11.hasHelper,
99
104
  rows = _ref11.rows;
@@ -102,38 +107,38 @@ var _exp33 = function _exp33() {
102
107
  };
103
108
  var StyledTextArea = /*#__PURE__*/react.styled('textarea')({
104
109
  name: "StyledTextArea",
105
- "class": "s7alcr2",
110
+ "class": "si9oz50",
106
111
  propsAsIs: false,
107
112
  vars: {
108
- "s7alcr2-0": [/*#__PURE__*/_exp18()],
109
- "s7alcr2-1": [/*#__PURE__*/_exp19()],
110
- "s7alcr2-2": [/*#__PURE__*/_exp20()],
111
- "s7alcr2-3": [/*#__PURE__*/_exp21()],
112
- "s7alcr2-4": [/*#__PURE__*/_exp22()],
113
- "s7alcr2-5": [/*#__PURE__*/_exp24()],
114
- "s7alcr2-6": [/*#__PURE__*/_exp26()],
115
- "s7alcr2-7": [/*#__PURE__*/_exp33()]
113
+ "si9oz50-0": [/*#__PURE__*/_exp19()],
114
+ "si9oz50-1": [/*#__PURE__*/_exp20()],
115
+ "si9oz50-2": [/*#__PURE__*/_exp21()],
116
+ "si9oz50-3": [/*#__PURE__*/_exp22()],
117
+ "si9oz50-4": [/*#__PURE__*/_exp23()],
118
+ "si9oz50-5": [/*#__PURE__*/_exp25()],
119
+ "si9oz50-6": [/*#__PURE__*/_exp27()],
120
+ "si9oz50-7": [/*#__PURE__*/_exp34()]
116
121
  }
117
122
  });
118
123
  var StyledHelpers = /*#__PURE__*/react.styled('div')({
119
124
  name: "StyledHelpers",
120
- "class": "si9oz50",
125
+ "class": "s18tpn65",
121
126
  propsAsIs: false
122
127
  });
123
128
  var StyledLeftHelper = /*#__PURE__*/react.styled('span')({
124
129
  name: "StyledLeftHelper",
125
- "class": "s18tpn65",
130
+ "class": "s19sfsrt",
126
131
  propsAsIs: false
127
132
  });
128
- var _exp56 = function _exp56() {
133
+ var _exp57 = function _exp57() {
129
134
  return StyledLeftHelper;
130
135
  };
131
- var StyledRightHelper = /*#__PURE__*/react.styled(_exp56())({
136
+ var StyledRightHelper = /*#__PURE__*/react.styled(_exp57())({
132
137
  name: "StyledRightHelper",
133
- "class": "s19sfsrt",
138
+ "class": "sfype23",
134
139
  propsAsIs: true
135
140
  });
136
- var _exp61 = function _exp61() {
141
+ var _exp62 = function _exp62() {
137
142
  return function (_ref12) {
138
143
  var hasContentRight = _ref12.hasContentRight;
139
144
  return hasContentRight ? "var(".concat(TextArea_tokens.tokens.inputPaddingRightWithRightContent, ")") : "var(".concat(TextArea_tokens.tokens.inputPaddingRight, ")");
@@ -141,15 +146,15 @@ var _exp61 = function _exp61() {
141
146
  };
142
147
  var StyledPlaceholder = /*#__PURE__*/react.styled('label')({
143
148
  name: "StyledPlaceholder",
144
- "class": "sfype23",
149
+ "class": "s3wsw3p",
145
150
  propsAsIs: false,
146
151
  vars: {
147
- "sfype23-0": [/*#__PURE__*/_exp61()]
152
+ "s3wsw3p-0": [/*#__PURE__*/_exp62()]
148
153
  }
149
154
  });
150
155
  var StyledIndicator = /*#__PURE__*/react.styled('div')({
151
156
  name: "StyledIndicator",
152
- "class": "s3wsw3p",
157
+ "class": "stc5t23",
153
158
  propsAsIs: false
154
159
  });
155
160
 
@@ -159,6 +164,7 @@ exports.StyledHelpers = StyledHelpers;
159
164
  exports.StyledIndicator = StyledIndicator;
160
165
  exports.StyledLabel = StyledLabel;
161
166
  exports.StyledLeftHelper = StyledLeftHelper;
167
+ exports.StyledOptionalText = StyledOptionalText;
162
168
  exports.StyledPlaceholder = StyledPlaceholder;
163
169
  exports.StyledRightHelper = StyledRightHelper;
164
170
  exports.StyledTextArea = StyledTextArea;
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.styles.js","sources":["../../../src/components/TextArea/TextArea.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { applyEllipsis } from '../../mixins';\n\nimport { tokens } from './TextArea.tokens';\n\nexport const StyledLabel = styled.div`\n position: relative;\n display: inline-block;\n margin-bottom: var(${tokens.labelMarginBottom});\n\n font-family: var(${tokens.inputFontFamily});\n font-size: var(${tokens.inputFontSize});\n font-style: var(${tokens.inputFontStyle});\n font-weight: var(${tokens.inputFontWeight});\n letter-spacing: var(${tokens.inputLetterSpacing});\n line-height: var(${tokens.inputLineHeight});\n`;\n\nexport const StyledTextAreaWrapper = styled.div<{\n hasHelper: boolean;\n}>`\n background-color: var(${tokens.inputBackgroundColor});\n\n padding-top: var(${tokens.inputPaddingTop});\n padding-bottom: ${({ hasHelper }) =>\n hasHelper ? `var(${tokens.inputPaddingBottomWithHelpers})` : `var(${tokens.inputPaddingBottom})`};\n\n border-radius: ${({ hasHelper }) =>\n hasHelper ? `var(${tokens.borderRadiusWithHelpers})` : `var(${tokens.borderRadius})`};\n`;\n\nexport const StyledContent = styled.div`\n position: absolute;\n display: flex;\n align-items: center;\n bottom: 0;\n z-index: 1;\n\n top: var(${tokens.rightContentTop});\n right: var(${tokens.rightContentRight});\n\n height: var(${tokens.rightContentHeight});\n`;\n\nexport const StyledContainer = styled.div<{ width: string }>`\n display: inline-flex;\n flex-direction: column;\n\n width: ${({ width }) => width};\n\n position: relative;\n`;\n\nexport const StyledTextArea = styled.textarea<{\n hasHelper: boolean;\n hasContentRight: boolean;\n applyCustomWidth: boolean;\n width?: string | number;\n height?: string | number;\n resize?: string;\n}>`\n display: block;\n box-sizing: border-box;\n outline: none;\n border: none;\n -webkit-appearance: none; /* для отображение рамок на iOS */\n background-color: transparent;\n\n color: var(${tokens.inputColor});\n caret-color: var(${tokens.inputCaretColor});\n\n resize: ${({ resize }) => resize || 'none'};\n\n --plasma_private-textarea-height: ${({ height }) =>\n !Number.isNaN(Number(height)) ? `calc(${height}rem - 0.875rem)` : height || `var(${tokens.inputHeight})`};\n\n --plasma_private-textarea-width: ${({ width }) =>\n !Number.isNaN(Number(width)) ? `${width}rem` : width || `var(${tokens.inputWidth})`};\n\n --plasma_private-textarea-computed-height: ${({ rows }) =>\n rows ? 'unset' : 'var(--plasma_private-textarea-height)'};\n --plasma_private-textarea-computed-width: ${({ cols }) =>\n cols ? 'unset' : 'var(--plasma_private-textarea-width)'};\n\n height: var(--plasma_private-textarea-computed-height);\n width: var(--plasma_private-textarea-computed-width);\n\n min-width: ${({ applyCustomWidth }) => (applyCustomWidth ? 'var(--plasma_private-textarea-width)' : 'auto')};\n max-width: ${({ applyCustomWidth }) => (applyCustomWidth ? 'var(--plasma_private-textarea-width)' : 'auto')};\n\n min-height: var(${tokens.inputMinHeight});\n\n padding-right: ${({ hasContentRight }) =>\n hasContentRight ? `var(${tokens.inputPaddingRightWithRightContent})` : `var(${tokens.inputPaddingRight})`};\n padding-left: var(${tokens.inputPaddingLeft});\n padding-top: 0;\n padding-bottom: 0;\n\n /* INFO: Высчитываем высоту блока с подсказками */\n --plasma_private-textarea-helpers-computed-height: calc(\n var(${tokens.helpersPaddingTop}) + var(${tokens.helpersPaddingBottom}) + var(${tokens.helpersLineHeight})\n );\n\n --plasma_private-textarea-input-with-helpers-height: calc(\n var(--plasma_private-textarea-height) - var(--plasma_private-textarea-helpers-computed-height) +\n var(${tokens.helpersOffset})\n );\n --plasma_private-textarea-input-without-helpers-height: calc(\n var(--plasma_private-textarea-computed-height) - var(${tokens.inputPaddingBottom})\n );\n\n --plasma_private-textarea-input-actual-height: ${({ hasHelper, rows }) =>\n hasHelper && !rows\n ? 'var(--plasma_private-textarea-input-with-helpers-height)'\n : 'var(--plasma_private-textarea-input-without-helpers-height)'};\n\n height: var(--plasma_private-textarea-input-actual-height);\n\n font-family: var(${tokens.inputFontFamily});\n font-size: var(${tokens.inputFontSize});\n font-style: var(${tokens.inputFontStyle});\n font-weight: var(${tokens.inputFontWeight});\n letter-spacing: var(${tokens.inputLetterSpacing});\n line-height: var(${tokens.inputLineHeight});\n\n &::placeholder {\n opacity: 0;\n }\n\n &:read-only {\n cursor: default;\n }\n\n &:focus:not(:disabled) {\n color: var(${tokens.inputColorFocus});\n }\n`;\n\nexport const StyledHelpers = styled.div`\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n\n transition: background-color 0.1s ease-in-out;\n\n background-color: var(${tokens.helpersBackgroundColor});\n\n padding-top: var(${tokens.helpersPaddingTop});\n padding-right: var(${tokens.helpersPaddingRight});\n padding-bottom: var(${tokens.helpersPaddingBottom});\n padding-left: var(${tokens.helpersPaddingLeft});\n\n border-bottom-left-radius: var(${tokens.borderRadius});\n border-bottom-right-radius: var(${tokens.borderRadius});\n`;\n\nexport const StyledLeftHelper = styled.span`\n ${applyEllipsis()};\n\n display: block;\n\n font-family: var(${tokens.helpersFontFamily});\n font-size: var(${tokens.helpersFontSize});\n font-style: var(${tokens.helpersFontStyle});\n font-weight: var(${tokens.helpersFontWeight});\n letter-spacing: var(${tokens.helpersLetterSpacing});\n line-height: var(${tokens.helpersLineHeight});\n\n color: var(${tokens.leftHelperColor});\n`;\n\nexport const StyledRightHelper = styled(StyledLeftHelper)`\n color: var(${tokens.rightHelperColor});\n margin-left: auto;\n`;\n\nexport const StyledPlaceholder = styled.label<{\n hasContentRight: boolean;\n}>`\n box-sizing: border-box;\n position: absolute;\n pointer-events: none;\n display: inline-flex;\n align-items: center;\n\n transition: all 0.1s ease-in-out;\n transform-origin: top left;\n\n color: var(${tokens.placeholderColor});\n\n width: 100%;\n height: auto;\n\n top: var(${tokens.inputPaddingTop});\n padding-left: var(${tokens.inputPaddingLeft});\n padding-right: ${({ hasContentRight }) =>\n hasContentRight ? `var(${tokens.inputPaddingRightWithRightContent})` : `var(${tokens.inputPaddingRight})`};\n\n font-family: var(${tokens.inputFontFamily});\n font-size: var(${tokens.inputFontSize});\n font-style: var(${tokens.inputFontStyle});\n font-weight: var(${tokens.inputFontWeight});\n letter-spacing: var(${tokens.inputLetterSpacing});\n line-height: var(${tokens.inputLineHeight});\n`;\n\nexport const StyledIndicator = styled.div`\n position: absolute;\n border-radius: 50%;\n\n background-color: var(${tokens.indicatorColor});\n\n &.placement-outer {\n width: var(${tokens.indicatorSizeOuter});\n height: var(${tokens.indicatorSizeOuter});\n inset: var(${tokens.indicatorLabelPlacementOuter});\n\n &.align-right {\n inset: var(${tokens.indicatorLabelPlacementOuterRight});\n }\n }\n\n &.placement-inner {\n width: var(${tokens.indicatorSizeInner});\n height: var(${tokens.indicatorSizeInner});\n inset: var(${tokens.indicatorLabelPlacementInner});\n\n &.align-right {\n inset: var(${tokens.indicatorLabelPlacementInnerRight});\n }\n }\n`;\n"],"names":["StyledLabel","styled","name","class","propsAsIs","_exp10","_ref","hasHelper","concat","tokens","inputPaddingBottomWithHelpers","inputPaddingBottom","_exp11","_ref2","borderRadiusWithHelpers","borderRadius","StyledTextAreaWrapper","vars","StyledContent","_exp15","_ref3","width","StyledContainer","_exp18","_ref4","resize","_exp19","_ref5","height","Number","isNaN","inputHeight","_exp20","_ref6","inputWidth","_exp21","_ref7","rows","_exp22","_ref8","cols","_exp24","_ref9","applyCustomWidth","_exp26","_ref10","hasContentRight","inputPaddingRightWithRightContent","inputPaddingRight","_exp33","_ref11","StyledTextArea","StyledHelpers","StyledLeftHelper","_exp56","StyledRightHelper","_exp61","_ref12","StyledPlaceholder","StyledIndicator"],"mappings":"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"}
1
+ {"version":3,"file":"TextArea.styles.js","sources":["../../../src/components/TextArea/TextArea.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { applyEllipsis } from '../../mixins';\n\nimport { tokens } from './TextArea.tokens';\n\nexport const StyledLabel = styled.div`\n position: relative;\n display: inline-flex;\n margin-bottom: var(${tokens.labelMarginBottom});\n\n font-family: var(${tokens.inputFontFamily});\n font-size: var(${tokens.inputFontSize});\n font-style: var(${tokens.inputFontStyle});\n font-weight: var(${tokens.inputFontWeight});\n letter-spacing: var(${tokens.inputLetterSpacing});\n line-height: var(${tokens.inputLineHeight});\n`;\n\nexport const StyledOptionalText = styled.span`\n color: var(${tokens.placeholderColor});\n`;\n\nexport const StyledTextAreaWrapper = styled.div<{\n hasHelper: boolean;\n}>`\n background-color: var(${tokens.inputBackgroundColor});\n\n padding-top: var(${tokens.inputPaddingTop});\n padding-bottom: ${({ hasHelper }) =>\n hasHelper ? `var(${tokens.inputPaddingBottomWithHelpers})` : `var(${tokens.inputPaddingBottom})`};\n\n border-radius: ${({ hasHelper }) =>\n hasHelper ? `var(${tokens.borderRadiusWithHelpers})` : `var(${tokens.borderRadius})`};\n`;\n\nexport const StyledContent = styled.div`\n position: absolute;\n display: flex;\n align-items: center;\n bottom: 0;\n z-index: 1;\n\n top: var(${tokens.rightContentTop});\n right: var(${tokens.rightContentRight});\n\n height: var(${tokens.rightContentHeight});\n`;\n\nexport const StyledContainer = styled.div<{ width: string }>`\n display: inline-flex;\n flex-direction: column;\n\n width: ${({ width }) => width};\n\n position: relative;\n`;\n\nexport const StyledTextArea = styled.textarea<{\n hasHelper: boolean;\n hasContentRight: boolean;\n applyCustomWidth: boolean;\n width?: string | number;\n height?: string | number;\n resize?: string;\n}>`\n display: block;\n box-sizing: border-box;\n outline: none;\n border: none;\n -webkit-appearance: none; /* для отображение рамок на iOS */\n background-color: transparent;\n\n color: var(${tokens.inputColor});\n caret-color: var(${tokens.inputCaretColor});\n\n resize: ${({ resize }) => resize || 'none'};\n\n --plasma_private-textarea-height: ${({ height }) =>\n !Number.isNaN(Number(height)) ? `calc(${height}rem - 0.875rem)` : height || `var(${tokens.inputHeight})`};\n\n --plasma_private-textarea-width: ${({ width }) =>\n !Number.isNaN(Number(width)) ? `${width}rem` : width || `var(${tokens.inputWidth})`};\n\n --plasma_private-textarea-computed-height: ${({ rows }) =>\n rows ? 'unset' : 'var(--plasma_private-textarea-height)'};\n --plasma_private-textarea-computed-width: ${({ cols }) =>\n cols ? 'unset' : 'var(--plasma_private-textarea-width)'};\n\n height: var(--plasma_private-textarea-computed-height);\n width: var(--plasma_private-textarea-computed-width);\n\n min-width: ${({ applyCustomWidth }) => (applyCustomWidth ? 'var(--plasma_private-textarea-width)' : 'auto')};\n max-width: ${({ applyCustomWidth }) => (applyCustomWidth ? 'var(--plasma_private-textarea-width)' : 'auto')};\n\n min-height: var(${tokens.inputMinHeight});\n\n padding-right: ${({ hasContentRight }) =>\n hasContentRight ? `var(${tokens.inputPaddingRightWithRightContent})` : `var(${tokens.inputPaddingRight})`};\n padding-left: var(${tokens.inputPaddingLeft});\n padding-top: 0;\n padding-bottom: 0;\n\n /* INFO: Высчитываем высоту блока с подсказками */\n --plasma_private-textarea-helpers-computed-height: calc(\n var(${tokens.helpersPaddingTop}) + var(${tokens.helpersPaddingBottom}) + var(${tokens.helpersLineHeight})\n );\n\n --plasma_private-textarea-input-with-helpers-height: calc(\n var(--plasma_private-textarea-height) - var(--plasma_private-textarea-helpers-computed-height) +\n var(${tokens.helpersOffset})\n );\n --plasma_private-textarea-input-without-helpers-height: calc(\n var(--plasma_private-textarea-computed-height) - var(${tokens.inputPaddingBottom})\n );\n\n --plasma_private-textarea-input-actual-height: ${({ hasHelper, rows }) =>\n hasHelper && !rows\n ? 'var(--plasma_private-textarea-input-with-helpers-height)'\n : 'var(--plasma_private-textarea-input-without-helpers-height)'};\n\n height: var(--plasma_private-textarea-input-actual-height);\n\n font-family: var(${tokens.inputFontFamily});\n font-size: var(${tokens.inputFontSize});\n font-style: var(${tokens.inputFontStyle});\n font-weight: var(${tokens.inputFontWeight});\n letter-spacing: var(${tokens.inputLetterSpacing});\n line-height: var(${tokens.inputLineHeight});\n\n &::placeholder {\n opacity: 0;\n }\n\n &:read-only {\n cursor: default;\n }\n\n &:focus:not(:disabled) {\n color: var(${tokens.inputColorFocus});\n }\n`;\n\nexport const StyledHelpers = styled.div`\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n\n transition: background-color 0.1s ease-in-out;\n\n background-color: var(${tokens.helpersBackgroundColor});\n\n padding-top: var(${tokens.helpersPaddingTop});\n padding-right: var(${tokens.helpersPaddingRight});\n padding-bottom: var(${tokens.helpersPaddingBottom});\n padding-left: var(${tokens.helpersPaddingLeft});\n\n border-bottom-left-radius: var(${tokens.borderRadius});\n border-bottom-right-radius: var(${tokens.borderRadius});\n`;\n\nexport const StyledLeftHelper = styled.span`\n ${applyEllipsis()};\n\n display: block;\n\n font-family: var(${tokens.helpersFontFamily});\n font-size: var(${tokens.helpersFontSize});\n font-style: var(${tokens.helpersFontStyle});\n font-weight: var(${tokens.helpersFontWeight});\n letter-spacing: var(${tokens.helpersLetterSpacing});\n line-height: var(${tokens.helpersLineHeight});\n\n color: var(${tokens.leftHelperColor});\n`;\n\nexport const StyledRightHelper = styled(StyledLeftHelper)`\n color: var(${tokens.rightHelperColor});\n margin-left: auto;\n`;\n\nexport const StyledPlaceholder = styled.label<{\n hasContentRight: boolean;\n}>`\n box-sizing: border-box;\n position: absolute;\n pointer-events: none;\n display: inline-flex;\n align-items: center;\n\n transition: all 0.1s ease-in-out;\n transform-origin: top left;\n\n color: var(${tokens.placeholderColor});\n\n width: 100%;\n height: auto;\n\n top: var(${tokens.inputPaddingTop});\n padding-left: var(${tokens.inputPaddingLeft});\n padding-right: ${({ hasContentRight }) =>\n hasContentRight ? `var(${tokens.inputPaddingRightWithRightContent})` : `var(${tokens.inputPaddingRight})`};\n\n font-family: var(${tokens.inputFontFamily});\n font-size: var(${tokens.inputFontSize});\n font-style: var(${tokens.inputFontStyle});\n font-weight: var(${tokens.inputFontWeight});\n letter-spacing: var(${tokens.inputLetterSpacing});\n line-height: var(${tokens.inputLineHeight});\n`;\n\nexport const StyledIndicator = styled.div`\n position: absolute;\n border-radius: 50%;\n\n background-color: var(${tokens.indicatorColor});\n\n &.placement-outer {\n width: var(${tokens.indicatorSizeOuter});\n height: var(${tokens.indicatorSizeOuter});\n inset: var(${tokens.indicatorLabelPlacementOuter});\n\n &.align-right {\n inset: var(${tokens.indicatorLabelPlacementOuterRight});\n }\n }\n\n &.placement-inner {\n width: var(${tokens.indicatorSizeInner});\n height: var(${tokens.indicatorSizeInner});\n inset: var(${tokens.indicatorLabelPlacementInner});\n\n &.align-right {\n inset: var(${tokens.indicatorLabelPlacementInnerRight});\n }\n }\n`;\n"],"names":["StyledLabel","styled","name","class","propsAsIs","StyledOptionalText","_exp11","_ref","hasHelper","concat","tokens","inputPaddingBottomWithHelpers","inputPaddingBottom","_exp12","_ref2","borderRadiusWithHelpers","borderRadius","StyledTextAreaWrapper","vars","StyledContent","_exp16","_ref3","width","StyledContainer","_exp19","_ref4","resize","_exp20","_ref5","height","Number","isNaN","inputHeight","_exp21","_ref6","inputWidth","_exp22","_ref7","rows","_exp23","_ref8","cols","_exp25","_ref9","applyCustomWidth","_exp27","_ref10","hasContentRight","inputPaddingRightWithRightContent","inputPaddingRight","_exp34","_ref11","StyledTextArea","StyledHelpers","StyledLeftHelper","_exp57","StyledRightHelper","_exp62","_ref12","StyledPlaceholder","StyledIndicator"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ .s1luq7vd{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;margin-bottom:var(--plasma-textarea-label-margin-bottom);font-family:var(--plasma-textarea-input-font-family);font-size:var(--plasma-textarea-input-font-size);font-style:var(--plasma-textarea-input-font-style);font-weight:var(--plasma-textarea-input-font-weight);-webkit-letter-spacing:var(--plasma-textarea-input-letter-spacing);-moz-letter-spacing:var(--plasma-textarea-input-letter-spacing);-ms-letter-spacing:var(--plasma-textarea-input-letter-spacing);letter-spacing:var(--plasma-textarea-input-letter-spacing);line-height:var(--plasma-textarea-input-line-height);}
2
+ .s1r1fvk8{color:var(--plasma-textarea-placeholder-color);}
3
+ .surmvwq{background-color:var(--plasma-textarea-input-background-color);padding-top:var(--plasma-textarea-input-padding-top);padding-bottom:var(--surmvwq-0);border-radius:var(--surmvwq-1);}
4
+ .s18bd513{position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;bottom:0;z-index:1;top:var(--plasma-textarea-right-content-top);right:var(--plasma-textarea-right-content-right);height:var(--plasma-textarea-right-content-height);}
5
+ .s7alcr2{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:var(--s7alcr2-0);position:relative;}
6
+ .si9oz50{display:block;box-sizing:border-box;outline:none;border:none;-webkit-appearance:none;background-color:transparent;color:var(--plasma-textarea-input-color);caret-color:var(--plasma-textarea-input-caret-color);resize:var(--si9oz50-0);--plasma_private-textarea-height:var(--si9oz50-1);--plasma_private-textarea-width:var(--si9oz50-2);--plasma_private-textarea-computed-height:var(--si9oz50-3);--plasma_private-textarea-computed-width:var(--si9oz50-4);height:var(--plasma_private-textarea-computed-height);width:var(--plasma_private-textarea-computed-width);min-width:var(--si9oz50-5);max-width:var(--si9oz50-5);min-height:var(--plasma-textarea-input-min-height);padding-right:var(--si9oz50-6);padding-left:var(--plasma-textarea-input-padding-left);padding-top:0;padding-bottom:0;--plasma_private-textarea-helpers-computed-height:calc( var(--plasma-textarea-helpers-padding-top) + var(--plasma-textarea-helpers-padding-bottom) + var(--plasma-textarea-helpers-line-height) );--plasma_private-textarea-input-with-helpers-height:calc( var(--plasma_private-textarea-height) - var(--plasma_private-textarea-helpers-computed-height) + var(--plasma-textarea-helpers-offset) );--plasma_private-textarea-input-without-helpers-height:calc( var(--plasma_private-textarea-computed-height) - var(--plasma-textarea-input-padding-bottom) );--plasma_private-textarea-input-actual-height:var(--si9oz50-7);height:var(--plasma_private-textarea-input-actual-height);font-family:var(--plasma-textarea-input-font-family);font-size:var(--plasma-textarea-input-font-size);font-style:var(--plasma-textarea-input-font-style);font-weight:var(--plasma-textarea-input-font-weight);-webkit-letter-spacing:var(--plasma-textarea-input-letter-spacing);-moz-letter-spacing:var(--plasma-textarea-input-letter-spacing);-ms-letter-spacing:var(--plasma-textarea-input-letter-spacing);letter-spacing:var(--plasma-textarea-input-letter-spacing);line-height:var(--plasma-textarea-input-line-height);}.si9oz50::-webkit-input-placeholder{opacity:0;}.si9oz50::-moz-placeholder{opacity:0;}.si9oz50:-ms-input-placeholder{opacity:0;}.si9oz50::placeholder{opacity:0;}.si9oz50:-moz-read-only{cursor:default;}.si9oz50:read-only{cursor:default;}.si9oz50:focus:not(:disabled){color:var(--plasma-textarea-input-color-focus);}
7
+ .s18tpn65{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-transition:background-color 0.1s ease-in-out;transition:background-color 0.1s ease-in-out;background-color:var(--plasma-textarea-helpers-background-color);padding-top:var(--plasma-textarea-helpers-padding-top);padding-right:var(--plasma-textarea-helpers-padding-right);padding-bottom:var(--plasma-textarea-helpers-padding-bottom);padding-left:var(--plasma-textarea-helpers-padding-left);border-bottom-left-radius:var(--plasma-textarea-border-radius);border-bottom-right-radius:var(--plasma-textarea-border-radius);}
8
+ .s19sfsrt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;font-family:var(--plasma-textarea-helpers-font-family);font-size:var(--plasma-textarea-helpers-font-size);font-style:var(--plasma-textarea-helpers-font-style);font-weight:var(--plasma-textarea-helpers-font-weight);-webkit-letter-spacing:var(--plasma-textarea-helpers-letter-spacing);-moz-letter-spacing:var(--plasma-textarea-helpers-letter-spacing);-ms-letter-spacing:var(--plasma-textarea-helpers-letter-spacing);letter-spacing:var(--plasma-textarea-helpers-letter-spacing);line-height:var(--plasma-textarea-helpers-line-height);color:var(--plasma-textarea-left-helper-color);}
9
+ .sfype23.s19sfsrt{color:var(--plasma-textarea-right-helper-color);margin-left:auto;}
10
+ .s3wsw3p{box-sizing:border-box;position:absolute;pointer-events:none;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:all 0.1s ease-in-out;transition:all 0.1s ease-in-out;-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;color:var(--plasma-textarea-placeholder-color);width:100%;height:auto;top:var(--plasma-textarea-input-padding-top);padding-left:var(--plasma-textarea-input-padding-left);padding-right:var(--s3wsw3p-0);font-family:var(--plasma-textarea-input-font-family);font-size:var(--plasma-textarea-input-font-size);font-style:var(--plasma-textarea-input-font-style);font-weight:var(--plasma-textarea-input-font-weight);-webkit-letter-spacing:var(--plasma-textarea-input-letter-spacing);-moz-letter-spacing:var(--plasma-textarea-input-letter-spacing);-ms-letter-spacing:var(--plasma-textarea-input-letter-spacing);letter-spacing:var(--plasma-textarea-input-letter-spacing);line-height:var(--plasma-textarea-input-line-height);}
11
+ .stc5t23{position:absolute;border-radius:50%;background-color:var(--plasma-textarea-indicator-color);}.stc5t23.placement-outer{width:var(--plasma-textarea-indicator-size-outer);height:var(--plasma-textarea-indicator-size-outer);inset:var(--plasma-textarea-indicator-placement-outer);}.stc5t23.placement-outer.align-right{inset:var(--plasma-textarea-indicator-placement-outer-right);}.stc5t23.placement-inner{width:var(--plasma-textarea-indicator-size-inner);height:var(--plasma-textarea-indicator-size-inner);inset:var(--plasma-textarea-indicator-placement-inner);}.stc5t23.placement-inner.align-right{inset:var(--plasma-textarea-indicator-placement-inner-right);}
@@ -18,7 +18,8 @@ var TextField_tokens = require('./TextField.tokens.js');
18
18
  var TextFieldChip = require('./ui/TextFieldChip/TextFieldChip.js');
19
19
  var useKeyNavigation = require('./hooks/useKeyNavigation.js');
20
20
 
21
- var _excluded = ["id", "className", "style", "contentLeft", "contentRight", "label", "labelPlacement", "textBefore", "textAfter", "placeholder", "leftHelper", "enumerationType", "requiredAlign", "view", "size", "readOnly", "disabled", "required", "chips", "onChange", "onChangeChips", "onSearch", "onKeyDown"];
21
+ var _excluded = ["id", "className", "style", "contentLeft", "contentRight", "label", "labelPlacement", "textBefore", "textAfter", "placeholder", "leftHelper", "enumerationType", "requiredPlacement", "view", "size", "readOnly", "disabled", "required", "optional", "chips", "onChange", "onChangeChips", "onSearch", "onKeyDown"];
22
+ var optionalText = 'optional';
22
23
  var base = "bpunezx";
23
24
  var textFieldRoot = function textFieldRoot(Root) {
24
25
  return /*#__PURE__*/React.forwardRef(function (_ref, ref) {
@@ -35,8 +36,8 @@ var textFieldRoot = function textFieldRoot(Root) {
35
36
  leftHelper = _ref.leftHelper,
36
37
  _ref$enumerationType = _ref.enumerationType,
37
38
  enumerationType = _ref$enumerationType === void 0 ? 'plain' : _ref$enumerationType,
38
- _ref$requiredAlign = _ref.requiredAlign,
39
- requiredAlign = _ref$requiredAlign === void 0 ? 'left' : _ref$requiredAlign,
39
+ _ref$requiredPlacemen = _ref.requiredPlacement,
40
+ requiredPlacement = _ref$requiredPlacemen === void 0 ? 'right' : _ref$requiredPlacemen,
40
41
  view = _ref.view,
41
42
  size = _ref.size,
42
43
  _ref$readOnly = _ref.readOnly,
@@ -45,6 +46,8 @@ var textFieldRoot = function textFieldRoot(Root) {
45
46
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
46
47
  _ref$required = _ref.required,
47
48
  required = _ref$required === void 0 ? false : _ref$required,
49
+ _ref$optional = _ref.optional,
50
+ optional = _ref$optional === void 0 ? false : _ref$optional,
48
51
  values = _ref.chips,
49
52
  onChange = _ref.onChange,
50
53
  onChangeChips = _ref.onChangeChips,
@@ -72,10 +75,13 @@ var textFieldRoot = function textFieldRoot(Root) {
72
75
  var hideLabel = (size === 'xs' || isChipEnumeration) && labelPlacement === 'inner';
73
76
  var labelInside = size !== 'xs' && labelPlacement === 'inner';
74
77
  var innerLabelPlacementValue = hideLabel ? 'outer' : labelPlacement;
75
- var innerPlaceholderValue = hideLabel ? label : placeholder;
76
78
  var innerLabelValue = hideLabel ? undefined : label;
77
79
  var hasOuterLabel = Boolean(!labelInside && innerLabelValue);
78
- var requiredAlignClass = requiredAlign === 'right' ? 'align-right ' : undefined;
80
+ var innerPlaceholderValue = hideLabel ? label : placeholder;
81
+ if (optional && !innerLabelValue && !hasOuterLabel) {
82
+ innerPlaceholderValue = innerPlaceholderValue ? "".concat(innerPlaceholderValue, "\xA0").concat(optionalText) : optionalText;
83
+ }
84
+ var requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;
79
85
  var hideLabelClass = hideLabel && label ? TextField_tokens.classes.hideLabel : undefined;
80
86
  var labelPlacementClass = TextField_tokens.classes["".concat(labelPlacement, "LabelPlacement")];
81
87
  var isChipsVisible = isChipEnumeration && (chips === null || chips === void 0 ? void 0 : chips.length);
@@ -147,6 +153,7 @@ var textFieldRoot = function textFieldRoot(Root) {
147
153
  })) || [];
148
154
  setChips(newChips);
149
155
  }, [isChipEnumeration, values]);
156
+ var optionalTextNode = optional ? /*#__PURE__*/React.createElement(TextField_styles.StyledOptionalText, null, Boolean(innerLabelValue) && '\xa0', optionalText) : null;
150
157
  return /*#__PURE__*/React.createElement(Root, {
151
158
  view: view,
152
159
  size: size,
@@ -161,11 +168,11 @@ var textFieldRoot = function textFieldRoot(Root) {
161
168
  id: labelId,
162
169
  htmlFor: id
163
170
  }, required && /*#__PURE__*/React.createElement(TextField_styles.StyledIndicator, {
164
- className: index.cx('placement-outer', requiredAlignClass)
165
- }), innerLabelValue), /*#__PURE__*/React.createElement(TextField_styles.InputWrapper, {
171
+ className: index.cx('placement-outer', requiredPlacementClass)
172
+ }), innerLabelValue, optionalTextNode), /*#__PURE__*/React.createElement(TextField_styles.InputWrapper, {
166
173
  className: index.cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)
167
174
  }, !hasOuterLabel && required && /*#__PURE__*/React.createElement(TextField_styles.StyledIndicator, {
168
- className: index.cx('placement-inner', requiredAlignClass)
175
+ className: index.cx('placement-inner', requiredPlacementClass)
169
176
  }), contentLeft && /*#__PURE__*/React.createElement(TextField_styles.StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(TextField_styles.InputLabelWrapper, {
170
177
  tabIndex: -1,
171
178
  ref: contentRef,
@@ -205,7 +212,7 @@ var textFieldRoot = function textFieldRoot(Root) {
205
212
  }, rest)), labelInside && /*#__PURE__*/React.createElement(TextField_styles.Label, {
206
213
  id: labelId,
207
214
  htmlFor: innerId
208
- }, innerLabelValue), textAfter && /*#__PURE__*/React.createElement(TextField_styles.StyledTextAfter, null, textAfter)), contentRight && /*#__PURE__*/React.createElement(TextField_styles.StyledContentRight, null, contentRight)), leftHelper && /*#__PURE__*/React.createElement(TextField_styles.LeftHelper, {
215
+ }, innerLabelValue, optionalTextNode), textAfter && /*#__PURE__*/React.createElement(TextField_styles.StyledTextAfter, null, textAfter)), contentRight && /*#__PURE__*/React.createElement(TextField_styles.StyledContentRight, null, contentRight)), leftHelper && /*#__PURE__*/React.createElement(TextField_styles.LeftHelper, {
209
216
  id: helperTextId
210
217
  }, leftHelper));
211
218
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.js","sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { ChangeEventHandler, KeyboardEvent, ChangeEvent } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\n\nimport type { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps } from './TextField.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_read-only/base';\nimport { base as requiredCSS } from './variations/_required/base';\nimport { base as labelPlacementCSS } from './variations/_label-placement/base';\nimport {\n Input,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n StyledTextBefore,\n StyledTextAfter,\n StyledIndicator,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n id,\n className,\n style,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n textBefore,\n textAfter,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n requiredAlign = 'left',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n required = false,\n\n // controlled\n chips: values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n onKeyDown,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n\n const controlledRefs = { contentRef, inputRef, chipsRefs };\n\n const [chips, setChips] = useState<Array<ChipValues>>([]);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isChipEnumeration = enumerationType === 'chip';\n const hideLabel = (size === 'xs' || isChipEnumeration) && labelPlacement === 'inner';\n const labelInside = size !== 'xs' && labelPlacement === 'inner';\n const innerLabelPlacementValue = hideLabel ? 'outer' : labelPlacement;\n const innerPlaceholderValue = hideLabel ? label : placeholder;\n const innerLabelValue = hideLabel ? undefined : label;\n const hasOuterLabel = Boolean(!labelInside && innerLabelValue);\n const requiredAlignClass = requiredAlign === 'right' ? 'align-right ' : undefined;\n const hideLabelClass = hideLabel && label ? classes.hideLabel : undefined;\n const labelPlacementClass = classes[`${labelPlacement}LabelPlacement` as keyof typeof classes];\n\n const isChipsVisible = isChipEnumeration && chips?.length;\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n const wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const { maxLength, value } = event.target;\n\n if (maxLength !== -1 && value.length > maxLength) {\n return;\n }\n\n onChange?.(event);\n };\n\n const updateChips = (newChips: Array<ChipValues>, newValues: Array<TextFieldPrimitiveValue>) => {\n setChips(newChips);\n onChangeChips?.(newValues);\n };\n\n const { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } = useKeyNavigation({\n controlledRefs,\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onSearch,\n onChange,\n });\n\n const onChipClick = (event: React.MouseEvent<HTMLButtonElement>) => event.stopPropagation();\n\n const handleInputFocus = () => {\n if (readOnly || disabled || !inputRef?.current) {\n return;\n }\n\n inputRef.current.scrollTo({\n top: 0,\n left: inputRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n inputRef.current.focus();\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\n };\n\n const handleOnKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n handleInputKeydown(event);\n onKeyDown && onKeyDown(event);\n };\n\n useEffect(() => {\n if (!isChipEnumeration && !values?.length) {\n return;\n }\n\n const newChips =\n values?.map((value, index) => ({\n id: `${index}_${value}`,\n text: value,\n })) || [];\n\n setChips(newChips);\n }, [isChipEnumeration, values]);\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n required={required}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n className={cx(labelPlacementClass, hideLabelClass, className)}\n style={style}\n >\n {hasOuterLabel && (\n <Label id={labelId} htmlFor={id}>\n {required && <StyledIndicator className={cx('placement-outer', requiredAlignClass)} />}\n {innerLabelValue}\n </Label>\n )}\n <InputWrapper className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}>\n {!hasOuterLabel && required && (\n <StyledIndicator className={cx('placement-inner', requiredAlignClass)} />\n )}\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {textBefore && <StyledTextBefore>{textBefore}</StyledTextBefore>}\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips>\n {chips?.map(({ id: chipId, text }, index) => {\n return (\n <TextFieldChip\n id={chipId}\n ref={(element) => getRef(element, index)}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId, index)}\n onClear={() => onChipClear(chipId, index)}\n onClick={onChipClick}\n />\n );\n })}\n </StyledChips>\n )}\n <Input\n ref={inputForkRef}\n id={innerId}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onChange={handleChange}\n onKeyDown={handleOnKeyDown}\n {...rest}\n />\n {labelInside && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n </Label>\n )}\n {textAfter && <StyledTextAfter>{textAfter}</StyledTextAfter>}\n </InputLabelWrapper>\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n </InputWrapper>\n {leftHelper && <LeftHelper id={helperTextId}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const textFieldConfig = {\n name: 'TextField',\n tag: 'div',\n layout: textFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n required: {\n css: requiredCSS,\n attrs: true,\n },\n labelPlacement: {\n css: labelPlacementCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["base","textFieldRoot","Root","forwardRef","_ref","ref","id","className","style","contentLeft","contentRight","label","labelPlacement","textBefore","textAfter","placeholder","leftHelper","_ref$enumerationType","enumerationType","_ref$requiredAlign","requiredAlign","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$required","required","values","chips","onChange","onChangeChips","onSearch","onKeyDown","rest","contentRef","useRef","inputRef","inputForkRef","useForkRef","chipsRefs","controlledRefs","_useState","useState","_useState2","_slicedToArray","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","hideLabel","labelInside","innerLabelPlacementValue","innerPlaceholderValue","innerLabelValue","undefined","hasOuterLabel","Boolean","requiredAlignClass","hideLabelClass","classes","labelPlacementClass","concat","isChipsVisible","length","withHasChips","hasChips","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","handleChange","event","_event$target","target","maxLength","value","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","stopPropagation","handleInputFocus","current","scrollTo","top","left","offsetLeft","behavior","focus","getRef","element","index","handleOnKeyDown","useEffect","map","text","React","createElement","onClick","cx","Label","htmlFor","StyledIndicator","InputWrapper","StyledContentLeft","InputLabelWrapper","tabIndex","StyledTextBefore","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","Input","_extends","StyledTextAfter","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","requiredCSS","labelPlacementCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"TextField.js","sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { ChangeEventHandler, KeyboardEvent, ChangeEvent } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\n\nimport type { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps } from './TextField.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_read-only/base';\nimport { base as requiredCSS } from './variations/_required/base';\nimport { base as labelPlacementCSS } from './variations/_label-placement/base';\nimport {\n Input,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n StyledTextBefore,\n StyledTextAfter,\n StyledIndicator,\n StyledOptionalText,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks';\n\nconst optionalText = 'optional';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n id,\n className,\n style,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n textBefore,\n textAfter,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n requiredPlacement = 'right',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n required = false,\n optional = false,\n\n // controlled\n chips: values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n onKeyDown,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n\n const controlledRefs = { contentRef, inputRef, chipsRefs };\n\n const [chips, setChips] = useState<Array<ChipValues>>([]);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isChipEnumeration = enumerationType === 'chip';\n const hideLabel = (size === 'xs' || isChipEnumeration) && labelPlacement === 'inner';\n const labelInside = size !== 'xs' && labelPlacement === 'inner';\n const innerLabelPlacementValue = hideLabel ? 'outer' : labelPlacement;\n const innerLabelValue = hideLabel ? undefined : label;\n const hasOuterLabel = Boolean(!labelInside && innerLabelValue);\n let innerPlaceholderValue = hideLabel ? label : placeholder;\n if (optional && !innerLabelValue && !hasOuterLabel) {\n innerPlaceholderValue = innerPlaceholderValue\n ? `${innerPlaceholderValue}\\xa0${optionalText}`\n : optionalText;\n }\n const requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;\n const hideLabelClass = hideLabel && label ? classes.hideLabel : undefined;\n const labelPlacementClass = classes[`${labelPlacement}LabelPlacement` as keyof typeof classes];\n\n const isChipsVisible = isChipEnumeration && chips?.length;\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n const wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const { maxLength, value } = event.target;\n\n if (maxLength !== -1 && value.length > maxLength) {\n return;\n }\n\n onChange?.(event);\n };\n\n const updateChips = (newChips: Array<ChipValues>, newValues: Array<TextFieldPrimitiveValue>) => {\n setChips(newChips);\n onChangeChips?.(newValues);\n };\n\n const { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } = useKeyNavigation({\n controlledRefs,\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onSearch,\n onChange,\n });\n\n const onChipClick = (event: React.MouseEvent<HTMLButtonElement>) => event.stopPropagation();\n\n const handleInputFocus = () => {\n if (readOnly || disabled || !inputRef?.current) {\n return;\n }\n\n inputRef.current.scrollTo({\n top: 0,\n left: inputRef.current.offsetLeft,\n behavior: 'smooth',\n });\n\n inputRef.current.focus();\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\n };\n\n const handleOnKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n handleInputKeydown(event);\n onKeyDown && onKeyDown(event);\n };\n\n useEffect(() => {\n if (!isChipEnumeration && !values?.length) {\n return;\n }\n\n const newChips =\n values?.map((value, index) => ({\n id: `${index}_${value}`,\n text: value,\n })) || [];\n\n setChips(newChips);\n }, [isChipEnumeration, values]);\n\n const optionalTextNode = optional ? (\n <StyledOptionalText>\n {Boolean(innerLabelValue) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n required={required}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n className={cx(labelPlacementClass, hideLabelClass, className)}\n style={style}\n >\n {hasOuterLabel && (\n <Label id={labelId} htmlFor={id}>\n {required && <StyledIndicator className={cx('placement-outer', requiredPlacementClass)} />}\n {innerLabelValue}\n {optionalTextNode}\n </Label>\n )}\n <InputWrapper className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}>\n {!hasOuterLabel && required && (\n <StyledIndicator className={cx('placement-inner', requiredPlacementClass)} />\n )}\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {textBefore && <StyledTextBefore>{textBefore}</StyledTextBefore>}\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips>\n {chips?.map(({ id: chipId, text }, index) => {\n return (\n <TextFieldChip\n id={chipId}\n ref={(element) => getRef(element, index)}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId, index)}\n onClear={() => onChipClear(chipId, index)}\n onClick={onChipClick}\n />\n );\n })}\n </StyledChips>\n )}\n <Input\n ref={inputForkRef}\n id={innerId}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onChange={handleChange}\n onKeyDown={handleOnKeyDown}\n {...rest}\n />\n {labelInside && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n {optionalTextNode}\n </Label>\n )}\n {textAfter && <StyledTextAfter>{textAfter}</StyledTextAfter>}\n </InputLabelWrapper>\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n </InputWrapper>\n {leftHelper && <LeftHelper id={helperTextId}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const textFieldConfig = {\n name: 'TextField',\n tag: 'div',\n layout: textFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n required: {\n css: requiredCSS,\n attrs: true,\n },\n labelPlacement: {\n css: labelPlacementCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["optionalText","base","textFieldRoot","Root","forwardRef","_ref","ref","id","className","style","contentLeft","contentRight","label","labelPlacement","textBefore","textAfter","placeholder","leftHelper","_ref$enumerationType","enumerationType","_ref$requiredPlacemen","requiredPlacement","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$required","required","_ref$optional","optional","values","chips","onChange","onChangeChips","onSearch","onKeyDown","rest","contentRef","useRef","inputRef","inputForkRef","useForkRef","chipsRefs","controlledRefs","_useState","useState","_useState2","_slicedToArray","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","hideLabel","labelInside","innerLabelPlacementValue","innerLabelValue","undefined","hasOuterLabel","Boolean","innerPlaceholderValue","concat","requiredPlacementClass","hideLabelClass","classes","labelPlacementClass","isChipsVisible","length","withHasChips","hasChips","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","handleChange","event","_event$target","target","maxLength","value","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","stopPropagation","handleInputFocus","current","scrollTo","top","left","offsetLeft","behavior","focus","getRef","element","index","handleOnKeyDown","useEffect","map","text","optionalTextNode","React","createElement","StyledOptionalText","onClick","cx","Label","htmlFor","StyledIndicator","InputWrapper","StyledContentLeft","InputLabelWrapper","tabIndex","StyledTextBefore","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","Input","_extends","StyledTextAfter","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","requiredCSS","labelPlacementCSS","defaults"],"mappings":"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"}