@salutejs/plasma-new-hope 0.141.0-canary.1421.10719019658.0 → 0.141.0-canary.1421.10763753065.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. package/cjs/components/TextArea/TextArea.js +4 -3
  2. package/cjs/components/TextArea/TextArea.js.map +1 -1
  3. package/cjs/components/TextField/TextField.js +12 -7
  4. package/cjs/components/TextField/TextField.js.map +1 -1
  5. package/cjs/index.js +3 -0
  6. package/cjs/index.js.map +1 -1
  7. package/cjs/utils/index.js.map +1 -1
  8. package/cjs/utils/setRefList.js +28 -0
  9. package/cjs/utils/setRefList.js.map +1 -0
  10. package/emotion/cjs/components/TextArea/TextArea.js +4 -4
  11. package/emotion/cjs/components/TextField/TextField.js +13 -8
  12. package/emotion/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +3 -41
  13. package/emotion/cjs/utils/index.js +15 -0
  14. package/emotion/cjs/utils/setRefList.js +27 -0
  15. package/emotion/es/components/TextArea/TextArea.js +5 -5
  16. package/emotion/es/components/TextField/TextField.js +13 -8
  17. package/emotion/es/examples/plasma_b2c/components/Form/Form.stories.tsx +3 -41
  18. package/emotion/es/utils/index.js +1 -0
  19. package/emotion/es/utils/setRefList.js +20 -0
  20. package/es/components/TextArea/TextArea.js +4 -3
  21. package/es/components/TextArea/TextArea.js.map +1 -1
  22. package/es/components/TextField/TextField.js +12 -7
  23. package/es/components/TextField/TextField.js.map +1 -1
  24. package/es/index.js +1 -0
  25. package/es/index.js.map +1 -1
  26. package/es/utils/index.js.map +1 -1
  27. package/es/utils/setRefList.js +23 -0
  28. package/es/utils/setRefList.js.map +1 -0
  29. package/package.json +4 -4
  30. package/styled-components/cjs/components/TextArea/TextArea.js +3 -3
  31. package/styled-components/cjs/components/TextField/TextField.js +12 -7
  32. package/styled-components/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +3 -41
  33. package/styled-components/cjs/utils/index.js +15 -0
  34. package/styled-components/cjs/utils/setRefList.js +27 -0
  35. package/styled-components/es/components/TextArea/TextArea.js +4 -4
  36. package/styled-components/es/components/TextField/TextField.js +12 -7
  37. package/styled-components/es/examples/plasma_b2c/components/Form/Form.stories.tsx +3 -41
  38. package/styled-components/es/utils/index.js +1 -0
  39. package/styled-components/es/utils/setRefList.js +20 -0
  40. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  41. package/types/components/TextField/TextField.d.ts.map +1 -1
  42. package/types/utils/index.d.ts +1 -0
  43. package/types/utils/index.d.ts.map +1 -1
  44. package/types/utils/setRefList.d.ts +6 -0
  45. package/types/utils/setRefList.d.ts.map +1 -0
@@ -1,5 +1,5 @@
1
1
  import { useForm } from 'react-hook-form';
2
- import React, { useState } from 'react';
2
+ import React from 'react';
3
3
  import type { Meta, StoryObj } from '@storybook/react';
4
4
 
5
5
  import { WithTheme } from '../../../_helpers';
@@ -9,7 +9,6 @@ import { TextArea } from '../TextArea/TextArea'; // TextArea.tsx 120 строк
9
9
  import { Checkbox } from '../Checkbox/Checkbox';
10
10
  import { Switch } from '../Switch/Switch';
11
11
  import { Radiobox } from '../Radiobox/Radiobox';
12
- import { Select } from '../Select/Select';
13
12
  import { RadioGroup } from '../../../../components/Radiobox';
14
13
 
15
14
  type StoryDropdownProps = {};
@@ -21,42 +20,6 @@ const itemsRadiobox = [
21
20
  { langName, value: 'assembly', label: 'Assembly', disabled: false },
22
21
  ];
23
22
 
24
- const itemsSelect = [
25
- {
26
- value: 'north_america',
27
- label: 'Северная Америка',
28
- },
29
- {
30
- value: 'europe',
31
- label: 'Европа',
32
- },
33
- {
34
- value: 'asia',
35
- label: 'Азия',
36
- },
37
- ];
38
-
39
- const FormSelect = (props) => {
40
- const { onChange, onBlur, name, ref } = props;
41
- const [value, setValue] = useState();
42
-
43
- const onChangeValue = (e) => {
44
- setValue(e);
45
- onChange({
46
- target: {
47
- value: e,
48
- name,
49
- },
50
- });
51
- };
52
-
53
- const onBlurValue = (e) => {
54
- onBlur(e);
55
- };
56
-
57
- return <Select {...props} value={value} onChange={onChangeValue} onBlur={onBlurValue} name={name} ref={ref} />;
58
- };
59
-
60
23
  const DefaultForm = () => {
61
24
  const { register, handleSubmit } = useForm();
62
25
  const onSubmit = (data) => {
@@ -65,8 +28,8 @@ const DefaultForm = () => {
65
28
 
66
29
  return (
67
30
  <form onSubmit={handleSubmit(onSubmit)} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
68
- <TextField {...register('textfield')} placeholder="Textfield" />
69
- <TextArea {...register('textarea')} placeholder="Textarea" />
31
+ <TextField {...register('textfield')} placeholder="Textfield" required={false} />
32
+ <TextArea {...register('textarea')} autoResize placeholder="Textarea" />
70
33
  <Checkbox {...register('checkbox')} label="Checkbox" />
71
34
  <Switch {...register('switch')} label="Switch" labelPosition="after" />
72
35
  <RadioGroup aria-labelledby="radiogroup-title-id">
@@ -83,7 +46,6 @@ const DefaultForm = () => {
83
46
  />
84
47
  ))}
85
48
  </RadioGroup>
86
- <FormSelect {...register('select')} items={itemsSelect} />
87
49
  <Button type="submit">Отправить</Button>
88
50
  </form>
89
51
  );
@@ -3,6 +3,7 @@ export { extractTextFrom } from './extractTextFrom';
3
3
  export { getSizeValueFromProp } from './getSizeValueFromProp';
4
4
  export { IS_REACT_18, safeUseId } from './react';
5
5
  export { isNumber } from './isNumber';
6
+ export { mergeRefs, setRef } from './setRefList';
6
7
  export { isEmpty } from './isEmpty';
7
8
  export * from './getPopoverPlacement';
8
9
  export var cx = function cx() {
@@ -0,0 +1,20 @@
1
+ export function mergeRefs() {
2
+ for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
3
+ refs[_key] = arguments[_key];
4
+ }
5
+ return function (val) {
6
+ setRef.apply(void 0, [val].concat(refs));
7
+ };
8
+ }
9
+ export function setRef(val) {
10
+ for (var _len2 = arguments.length, refs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
11
+ refs[_key2 - 1] = arguments[_key2];
12
+ }
13
+ refs.forEach(function (ref) {
14
+ if (typeof ref === 'function') {
15
+ ref(val);
16
+ } else if (ref != null) {
17
+ ref.current = val;
18
+ }
19
+ });
20
+ }
@@ -9,6 +9,7 @@ import { classes } from './TextArea.tokens.js';
9
9
  import { base as base$2 } from './variations/_view/base.js';
10
10
  import { base as base$1 } from './variations/_size/base.js';
11
11
  import { base as base$3 } from './variations/_disabled/base.js';
12
+ import { mergeRefs } from '../../utils/setRefList.js';
12
13
 
13
14
  var _excluded = ["helperText", "status", "resize", "rightHelper", "leftHelper", "contentRight", "autoResize", "minAuto", "maxAuto", "label", "labelPlacement", "placeholder", "defaultValue", "height", "width", "value", "disabled", "required", "requiredPlacement", "optional", "size", "view", "id", "style", "className", "readOnly", "rows", "cols", "onChange"];
14
15
  var innerPlaceholderUp = classes.innerPlaceholderUp,
@@ -100,8 +101,7 @@ var textAreaRoot = function textAreaRoot(Root) {
100
101
  _useState6 = _slicedToArray(_useState5, 2),
101
102
  uncontrolledValue = _useState6[0],
102
103
  setUncontrolledValue = _useState6[1];
103
- var outerRef = innerRef && 'current' in innerRef ? innerRef : /*#__PURE__*/createRef();
104
- var ref = innerRef !== null && innerRef !== void 0 ? innerRef : /*#__PURE__*/createRef();
104
+ var outerRef = /*#__PURE__*/createRef();
105
105
  var innerOptional = required ? false : optional;
106
106
  var hasHelper = Boolean(leftHelper || rightHelper || helperText);
107
107
  var hasOuterLabel = Boolean(label && labelPlacement === 'outer');
@@ -132,6 +132,7 @@ var textAreaRoot = function textAreaRoot(Root) {
132
132
  if (value === undefined) {
133
133
  setUncontrolledValue(event === null || event === void 0 ? void 0 : event.target.value);
134
134
  }
135
+ console.log(event);
135
136
  onChange === null || onChange === void 0 || onChange(event);
136
137
  }, [value, onChange]);
137
138
  var dynamicLabelClasses = getDynamicLabelClasses(_objectSpread2({
@@ -173,7 +174,7 @@ var textAreaRoot = function textAreaRoot(Root) {
173
174
  hasContentRight: Boolean(contentRight),
174
175
  hasHelper: hasHelper,
175
176
  applyCustomWidth: applyCustomWidth,
176
- ref: ref,
177
+ ref: mergeRefs(outerRef, innerRef),
177
178
  disabled: disabled,
178
179
  height: autoResize ? minAuto : height,
179
180
  width: width,
@@ -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 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 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 = false,\n requiredPlacement = 'right',\n optional = false,\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 ref = innerRef ?? 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 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 = 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 style={{ width: helperWidth, ...style }}\n className={className}\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={styledTextArea}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={ref}\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 {!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 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","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","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$optional","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","ref","innerOptional","hasHelper","Boolean","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","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","outerLabelPlacement","StyledContainer","apply","_toConsumableArray","onFocus","onBlur","innerLabelPlacement","StyledContent","StyledTextAreaWrapper","StyledTextArea","_extends","hasContentRight","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","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 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, 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 = false,\n requiredPlacement = 'right',\n optional = false,\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 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 console.log(event);\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 = 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 style={{ width: helperWidth, ...style }}\n className={className}\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={styledTextArea}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={mergeRefs(outerRef, innerRef)}\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 {!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 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","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","_props$required","required","_props$requiredPlacem","requiredPlacement","_props$optional","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","innerOptional","hasHelper","Boolean","hasOuterLabel","hasInnerLabel","hasPlaceholderOptional","overriddenView","textareaHelperId","applyCustomWidth","placeholderLabel","requiredPlacementClass","useResizeObserver","currentElement","inlineWidth","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","event","target","console","log","dynamicLabelClasses","_objectSpread","optionalTextNode","React","createElement","StyledOptionalText","StyledLabel","StyledIndicator","cx","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","disabledCSS","attrs","defaults"],"mappings":"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"}
@@ -13,7 +13,7 @@ import { classes } from './TextField.tokens.js';
13
13
  import { TextFieldChip } from './ui/TextFieldChip/TextFieldChip.js';
14
14
  import { useKeyNavigation } from './hooks/useKeyNavigation.js';
15
15
 
16
- 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"];
16
+ var _excluded = ["id", "className", "style", "contentLeft", "contentRight", "label", "labelPlacement", "textBefore", "textAfter", "placeholder", "leftHelper", "enumerationType", "requiredPlacement", "view", "size", "readOnly", "disabled", "required", "optional", "value", "chips", "onChange", "onChangeChips", "onSearch", "onKeyDown"];
17
17
  var optionalText = 'optional';
18
18
  var base = "bpunezx";
19
19
  var textFieldRoot = function textFieldRoot(Root) {
@@ -42,6 +42,7 @@ var textFieldRoot = function textFieldRoot(Root) {
42
42
  _ref$required = _ref.required,
43
43
  required = _ref$required === void 0 ? false : _ref$required,
44
44
  optional = _ref.optional,
45
+ outerValue = _ref.value,
45
46
  values = _ref.chips,
46
47
  onChange = _ref.onChange,
47
48
  onChangeChips = _ref.onChangeChips,
@@ -57,7 +58,7 @@ var textFieldRoot = function textFieldRoot(Root) {
57
58
  inputRef: inputRef,
58
59
  chipsRefs: chipsRefs
59
60
  };
60
- var _useState = useState(!!rest.value),
61
+ var _useState = useState(Boolean(outerValue)),
61
62
  _useState2 = _slicedToArray(_useState, 2),
62
63
  hasValue = _useState2[0],
63
64
  setHasValue = _useState2[1];
@@ -70,23 +71,23 @@ var textFieldRoot = function textFieldRoot(Root) {
70
71
  var labelId = safeUseId();
71
72
  var helperTextId = safeUseId();
72
73
  var isChipEnumeration = enumerationType === 'chip';
73
- var isChipsVisible = isChipEnumeration && !!(chips !== null && chips !== void 0 && chips.length);
74
+ var isChipsVisible = isChipEnumeration && Boolean(chips === null || chips === void 0 ? void 0 : chips.length);
74
75
  var withHasChips = isChipsVisible ? classes.hasChips : undefined;
75
- var hasLabelValue = !!label;
76
+ var hasLabelValue = Boolean(label);
76
77
  var hasInnerLabel = size !== 'xs' && labelPlacement === 'inner' && !isChipsVisible && hasLabelValue;
77
78
  var hasOuterLabel = labelPlacement === 'outer' && hasLabelValue;
78
- var hasPlaceholder = !!placeholder && !hasInnerLabel;
79
+ var hasPlaceholder = Boolean(placeholder) && !hasInnerLabel;
79
80
  var innerLabelValue = hasInnerLabel || hasOuterLabel ? label : undefined;
80
81
  var innerLabelPlacementValue = labelPlacement === 'inner' && !hasInnerLabel ? undefined : labelPlacement;
81
82
  var innerPlaceholderValue = hasPlaceholder ? placeholder : undefined;
82
- var placeholderShown = !!innerPlaceholderValue && !hasValue;
83
+ var placeholderShown = Boolean(innerPlaceholderValue) && !hasValue;
83
84
  var requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;
84
85
  var labelPlacementClass = innerLabelPlacementValue ? classes["".concat(innerLabelPlacementValue, "LabelPlacement")] : undefined;
85
86
  var hasValueClass = hasValue ? classes.hasValue : undefined;
86
87
  var wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;
87
88
  var wrapperWithoutRightContent = !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;
88
89
  var handleInput = function handleInput(event) {
89
- setHasValue(!!event.target.value);
90
+ setHasValue(Boolean(event.target.value));
90
91
  };
91
92
  var handleChange = function handleChange(event) {
92
93
  if (disabled || readOnly) {
@@ -154,6 +155,9 @@ var textFieldRoot = function textFieldRoot(Root) {
154
155
  })) || [];
155
156
  setChips(newChips);
156
157
  }, [isChipEnumeration, values]);
158
+ useEffect(function () {
159
+ setHasValue(Boolean(outerValue));
160
+ }, [outerValue]);
157
161
  var innerOptional = Boolean(required ? false : optional);
158
162
  var hasPlaceholderOptional = innerOptional && !innerLabelValue && !hasOuterLabel;
159
163
  var optionalTextNode = innerOptional ? /*#__PURE__*/React.createElement(StyledOptionalText, null, Boolean(hasPlaceholderOptional ? innerPlaceholderValue : innerLabelValue) && '\xa0', optionalText) : null;
@@ -207,6 +211,7 @@ var textFieldRoot = function textFieldRoot(Root) {
207
211
  })), /*#__PURE__*/React.createElement(InputContainer, null, /*#__PURE__*/React.createElement(Input, _extends({
208
212
  ref: inputForkRef,
209
213
  id: innerId,
214
+ value: outerValue,
210
215
  "aria-labelledby": labelId,
211
216
  "aria-describedby": helperTextId,
212
217
  placeholder: innerPlaceholderValue,
@@ -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 { FormEventHandler, 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 labelPlacementCSS } from './variations/_label-placement/base';\nimport {\n Input,\n InputContainer,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n StyledTextBefore,\n StyledTextAfter,\n StyledIndicator,\n StyledOptionalText,\n InputPlaceholder,\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,\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 [hasValue, setHasValue] = useState(!!rest.value);\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 isChipsVisible = isChipEnumeration && !!chips?.length;\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n\n const hasLabelValue = !!label;\n const hasInnerLabel = size !== 'xs' && labelPlacement === 'inner' && !isChipsVisible && hasLabelValue;\n const hasOuterLabel = labelPlacement === 'outer' && hasLabelValue;\n const hasPlaceholder = !!placeholder && !hasInnerLabel;\n\n const innerLabelValue = hasInnerLabel || hasOuterLabel ? label : undefined;\n const innerLabelPlacementValue = labelPlacement === 'inner' && !hasInnerLabel ? undefined : labelPlacement;\n\n const innerPlaceholderValue = hasPlaceholder ? placeholder : undefined;\n const placeholderShown = !!innerPlaceholderValue && !hasValue;\n\n const requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;\n const labelPlacementClass = innerLabelPlacementValue\n ? classes[`${innerLabelPlacementValue}LabelPlacement` as keyof typeof classes]\n : undefined;\n const hasValueClass = hasValue ? classes.hasValue : undefined;\n\n const wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;\n\n const handleInput: FormEventHandler<HTMLInputElement> = (event) => {\n setHasValue(!!(event.target as HTMLInputElement).value);\n };\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 onEnterDisabled: (rest as any).onEnterDisabled,\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 innerOptional = Boolean(required ? false : optional);\n const hasPlaceholderOptional = innerOptional && !innerLabelValue && !hasOuterLabel;\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText>\n {Boolean(hasPlaceholderOptional ? innerPlaceholderValue : innerLabelValue) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n className={cx(labelPlacementClass, classes.textFieldGroupItem, className)}\n style={style}\n >\n {hasOuterLabel && (\n <Label id={labelId} htmlFor={id}>\n {required && (\n <StyledIndicator className={cx(classes.outerLabelPlacement, requiredPlacementClass)} />\n )}\n {innerLabelValue}\n {optionalTextNode}\n </Label>\n )}\n <InputWrapper\n // Рефка для внутреннего использования. Не отдается наружу.\n ref={(rest as any).inputWrapperRef}\n className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}\n >\n {!hasOuterLabel && required && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, 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 <InputContainer>\n <Input\n ref={inputForkRef}\n id={innerId}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n className={cx(hasValueClass)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onInput={handleInput}\n onChange={handleChange}\n onKeyDown={handleOnKeyDown}\n {...rest}\n />\n {hasInnerLabel && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n {optionalTextNode}\n </Label>\n )}\n {placeholderShown && (\n <InputPlaceholder>\n {innerPlaceholderValue}\n {hasPlaceholderOptional && optionalTextNode}\n </InputPlaceholder>\n )}\n </InputContainer>\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 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","optional","values","chips","onChange","onChangeChips","onSearch","onKeyDown","rest","contentRef","useRef","inputRef","inputForkRef","useForkRef","chipsRefs","controlledRefs","_useState","useState","value","_useState2","_slicedToArray","hasValue","setHasValue","_useState3","_useState4","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","isChipsVisible","length","withHasChips","classes","hasChips","undefined","hasLabelValue","hasInnerLabel","hasOuterLabel","hasPlaceholder","innerLabelValue","innerLabelPlacementValue","innerPlaceholderValue","placeholderShown","requiredPlacementClass","labelPlacementClass","concat","hasValueClass","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","handleInput","event","target","handleChange","_event$target","maxLength","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","onEnterDisabled","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","stopPropagation","handleInputFocus","current","scrollTo","top","left","offsetLeft","behavior","focus","getRef","element","index","handleOnKeyDown","useEffect","map","text","innerOptional","Boolean","hasPlaceholderOptional","optionalTextNode","React","createElement","StyledOptionalText","onClick","cx","textFieldGroupItem","Label","htmlFor","StyledIndicator","outerLabelPlacement","InputWrapper","inputWrapperRef","innerLabelPlacement","StyledContentLeft","InputLabelWrapper","tabIndex","StyledTextBefore","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","InputContainer","Input","_extends","onInput","InputPlaceholder","StyledTextAfter","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","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 { FormEventHandler, 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 labelPlacementCSS } from './variations/_label-placement/base';\nimport {\n Input,\n InputContainer,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n StyledTextBefore,\n StyledTextAfter,\n StyledIndicator,\n StyledOptionalText,\n InputPlaceholder,\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,\n\n // controlled\n value: outerValue,\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 [hasValue, setHasValue] = useState(Boolean(outerValue));\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 isChipsVisible = isChipEnumeration && Boolean(chips?.length);\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n\n const hasLabelValue = Boolean(label);\n const hasInnerLabel = size !== 'xs' && labelPlacement === 'inner' && !isChipsVisible && hasLabelValue;\n const hasOuterLabel = labelPlacement === 'outer' && hasLabelValue;\n const hasPlaceholder = Boolean(placeholder) && !hasInnerLabel;\n\n const innerLabelValue = hasInnerLabel || hasOuterLabel ? label : undefined;\n const innerLabelPlacementValue = labelPlacement === 'inner' && !hasInnerLabel ? undefined : labelPlacement;\n\n const innerPlaceholderValue = hasPlaceholder ? placeholder : undefined;\n const placeholderShown = Boolean(innerPlaceholderValue) && !hasValue;\n\n const requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;\n const labelPlacementClass = innerLabelPlacementValue\n ? classes[`${innerLabelPlacementValue}LabelPlacement` as keyof typeof classes]\n : undefined;\n const hasValueClass = hasValue ? classes.hasValue : undefined;\n\n const wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;\n\n const handleInput: FormEventHandler<HTMLInputElement> = (event) => {\n setHasValue(Boolean((event.target as HTMLInputElement).value));\n };\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 onEnterDisabled: (rest as any).onEnterDisabled,\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 useEffect(() => {\n setHasValue(Boolean(outerValue));\n }, [outerValue]);\n\n const innerOptional = Boolean(required ? false : optional);\n const hasPlaceholderOptional = innerOptional && !innerLabelValue && !hasOuterLabel;\n const optionalTextNode = innerOptional ? (\n <StyledOptionalText>\n {Boolean(hasPlaceholderOptional ? innerPlaceholderValue : innerLabelValue) && '\\xa0'}\n {optionalText}\n </StyledOptionalText>\n ) : null;\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n className={cx(labelPlacementClass, classes.textFieldGroupItem, className)}\n style={style}\n >\n {hasOuterLabel && (\n <Label id={labelId} htmlFor={id}>\n {required && (\n <StyledIndicator className={cx(classes.outerLabelPlacement, requiredPlacementClass)} />\n )}\n {innerLabelValue}\n {optionalTextNode}\n </Label>\n )}\n <InputWrapper\n // Рефка для внутреннего использования. Не отдается наружу.\n ref={(rest as any).inputWrapperRef}\n className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}\n >\n {!hasOuterLabel && required && (\n <StyledIndicator className={cx(classes.innerLabelPlacement, 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 <InputContainer>\n <Input\n ref={inputForkRef}\n id={innerId}\n value={outerValue}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n className={cx(hasValueClass)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onInput={handleInput}\n onChange={handleChange}\n onKeyDown={handleOnKeyDown}\n {...rest}\n />\n {hasInnerLabel && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n {optionalTextNode}\n </Label>\n )}\n {placeholderShown && (\n <InputPlaceholder>\n {innerPlaceholderValue}\n {hasPlaceholderOptional && optionalTextNode}\n </InputPlaceholder>\n )}\n </InputContainer>\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 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","optional","outerValue","value","values","chips","onChange","onChangeChips","onSearch","onKeyDown","rest","contentRef","useRef","inputRef","inputForkRef","useForkRef","chipsRefs","controlledRefs","_useState","useState","Boolean","_useState2","_slicedToArray","hasValue","setHasValue","_useState3","_useState4","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","isChipsVisible","length","withHasChips","classes","hasChips","undefined","hasLabelValue","hasInnerLabel","hasOuterLabel","hasPlaceholder","innerLabelValue","innerLabelPlacementValue","innerPlaceholderValue","placeholderShown","requiredPlacementClass","labelPlacementClass","concat","hasValueClass","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","handleInput","event","target","handleChange","_event$target","maxLength","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","onEnterDisabled","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","stopPropagation","handleInputFocus","current","scrollTo","top","left","offsetLeft","behavior","focus","getRef","element","index","handleOnKeyDown","useEffect","map","text","innerOptional","hasPlaceholderOptional","optionalTextNode","React","createElement","StyledOptionalText","onClick","cx","textFieldGroupItem","Label","htmlFor","StyledIndicator","outerLabelPlacement","InputWrapper","inputWrapperRef","innerLabelPlacement","StyledContentLeft","InputLabelWrapper","tabIndex","StyledTextBefore","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","InputContainer","Input","_extends","onInput","InputPlaceholder","StyledTextAfter","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","labelPlacementCSS","defaults"],"mappings":"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"}
package/es/index.js CHANGED
@@ -189,6 +189,7 @@ export { extractTextFrom } from './utils/extractTextFrom.js';
189
189
  export { getSizeValueFromProp } from './utils/getSizeValueFromProp.js';
190
190
  export { IS_REACT_18, safeUseId } from './utils/react.js';
191
191
  export { isNumber } from './utils/isNumber.js';
192
+ export { mergeRefs, setRef } from './utils/setRefList.js';
192
193
  export { isEmpty } from './utils/isEmpty.js';
193
194
  export { getPlacement, getPlacements } from './utils/getPopoverPlacement.js';
194
195
  //# sourceMappingURL=index.js.map
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import { CSSProperties } from '@linaria/core';\n\nexport { canUseDOM } from './canUseDOM';\nexport { extractTextFrom } from './extractTextFrom';\nexport { getSizeValueFromProp } from './getSizeValueFromProp';\nexport { IS_REACT_18, safeUseId } from './react';\nexport { isNumber } from './isNumber';\nexport { isEmpty } from './isEmpty';\nexport * from './getPopoverPlacement';\n\nexport const cx = (...classes: (string | undefined)[]) => classes.filter((classItem) => classItem).join(' ');\n\nexport const composableStyle = (s: TemplateStringsArray, ...expr: Array<string | number | CSSProperties>): string => {\n let res = '';\n for (let i = 0; i < Math.max(s.length, expr.length); ++i) {\n res += s[i] ?? '';\n res += expr[i] ?? '';\n }\n\n return res;\n};\n"],"names":["cx","_len","arguments","length","classes","Array","_key","filter","classItem","join","composableStyle","s","res","i","Math","max","_s$i","_ref","undefined"],"mappings":";;;AAUaA,IAAAA,EAAE,GAAG,SAALA,EAAEA,GAAA;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAOC,OAAO,GAAAC,IAAAA,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAPF,IAAAA,OAAO,CAAAE,IAAA,CAAAJ,GAAAA,SAAA,CAAAI,IAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAA6BF,OAAO,CAACG,MAAM,CAAC,UAACC,SAAS,EAAA;AAAA,IAAA,OAAKA,SAAS,CAAA;AAAA,GAAA,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAAA;AAAA,EAAA;IAE/FC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,CAAuB,EAA8D;EACjH,IAAIC,GAAG,GAAG,EAAE,CAAA;EACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,IAAI,CAACC,GAAG,CAACJ,CAAC,CAACR,MAAM,EAAAD,SAAA,CAAAC,MAAA,IAAA,CAAA,GAAA,CAAA,GAAAD,SAAA,CAAAC,MAAA,GAAA,CAAa,CAAC,EAAE,EAAEU,CAAC,EAAE;IAAA,IAAAG,IAAA,EAAAC,IAAA,CAAA;AACtDL,IAAAA,GAAG,IAAAI,CAAAA,IAAA,GAAIL,CAAC,CAACE,CAAC,CAAC,MAAA,IAAA,IAAAG,IAAA,KAAA,KAAA,CAAA,GAAAA,IAAA,GAAI,EAAE,CAAA;IACjBJ,GAAG,IAAA,CAAAK,IAAA,GAASJ,CAAC,YAAAX,SAAA,CAAAC,MAAA,IAADU,CAAC,OAAAK,SAAA,GAAAhB,SAAA,CAADW,CAAC,mBAAAI,IAAA,KAAA,KAAA,CAAA,GAAAA,IAAA,GAAK,EAAE,CAAA;AACxB,GAAA;AAEA,EAAA,OAAOL,GAAG,CAAA;AACd;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import { CSSProperties } from '@linaria/core';\n\nexport { canUseDOM } from './canUseDOM';\nexport { extractTextFrom } from './extractTextFrom';\nexport { getSizeValueFromProp } from './getSizeValueFromProp';\nexport { IS_REACT_18, safeUseId } from './react';\nexport { isNumber } from './isNumber';\nexport { mergeRefs, setRef } from './setRefList';\nexport { isEmpty } from './isEmpty';\nexport * from './getPopoverPlacement';\n\nexport const cx = (...classes: (string | undefined)[]) => classes.filter((classItem) => classItem).join(' ');\n\nexport const composableStyle = (s: TemplateStringsArray, ...expr: Array<string | number | CSSProperties>): string => {\n let res = '';\n for (let i = 0; i < Math.max(s.length, expr.length); ++i) {\n res += s[i] ?? '';\n res += expr[i] ?? '';\n }\n\n return res;\n};\n"],"names":["cx","_len","arguments","length","classes","Array","_key","filter","classItem","join","composableStyle","s","res","i","Math","max","_s$i","_ref","undefined"],"mappings":";;;AAWaA,IAAAA,EAAE,GAAG,SAALA,EAAEA,GAAA;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAOC,OAAO,GAAAC,IAAAA,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAPF,IAAAA,OAAO,CAAAE,IAAA,CAAAJ,GAAAA,SAAA,CAAAI,IAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAA6BF,OAAO,CAACG,MAAM,CAAC,UAACC,SAAS,EAAA;AAAA,IAAA,OAAKA,SAAS,CAAA;AAAA,GAAA,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAAA;AAAA,EAAA;IAE/FC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,CAAuB,EAA8D;EACjH,IAAIC,GAAG,GAAG,EAAE,CAAA;EACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGC,IAAI,CAACC,GAAG,CAACJ,CAAC,CAACR,MAAM,EAAAD,SAAA,CAAAC,MAAA,IAAA,CAAA,GAAA,CAAA,GAAAD,SAAA,CAAAC,MAAA,GAAA,CAAa,CAAC,EAAE,EAAEU,CAAC,EAAE;IAAA,IAAAG,IAAA,EAAAC,IAAA,CAAA;AACtDL,IAAAA,GAAG,IAAAI,CAAAA,IAAA,GAAIL,CAAC,CAACE,CAAC,CAAC,MAAA,IAAA,IAAAG,IAAA,KAAA,KAAA,CAAA,GAAAA,IAAA,GAAI,EAAE,CAAA;IACjBJ,GAAG,IAAA,CAAAK,IAAA,GAASJ,CAAC,YAAAX,SAAA,CAAAC,MAAA,IAADU,CAAC,OAAAK,SAAA,GAAAhB,SAAA,CAADW,CAAC,mBAAAI,IAAA,KAAA,KAAA,CAAA,GAAAA,IAAA,GAAK,EAAE,CAAA;AACxB,GAAA;AAEA,EAAA,OAAOL,GAAG,CAAA;AACd;;;;"}
@@ -0,0 +1,23 @@
1
+ function mergeRefs() {
2
+ for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
3
+ refs[_key] = arguments[_key];
4
+ }
5
+ return function (val) {
6
+ setRef.apply(void 0, [val].concat(refs));
7
+ };
8
+ }
9
+ function setRef(val) {
10
+ for (var _len2 = arguments.length, refs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
11
+ refs[_key2 - 1] = arguments[_key2];
12
+ }
13
+ refs.forEach(function (ref) {
14
+ if (typeof ref === 'function') {
15
+ ref(val);
16
+ } else if (ref != null) {
17
+ ref.current = val;
18
+ }
19
+ });
20
+ }
21
+
22
+ export { mergeRefs, setRef };
23
+ //# sourceMappingURL=setRefList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setRefList.js","sources":["../../src/utils/setRefList.ts"],"sourcesContent":["import type { MutableRefObject, RefCallback } from 'react';\n\ntype MutableRefList<T> = Array<RefCallback<T> | MutableRefObject<T> | undefined | null>;\n\nexport function mergeRefs<T>(...refs: MutableRefList<T>): RefCallback<T> {\n return (val: T) => {\n setRef(val, ...refs);\n };\n}\n\nexport function setRef<T>(val: T, ...refs: MutableRefList<T>): void {\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n ref(val);\n } else if (ref != null) {\n ref.current = val;\n }\n });\n}\n"],"names":["mergeRefs","_len","arguments","length","refs","Array","_key","val","setRef","apply","concat","_len2","_key2","forEach","ref","current"],"mappings":"AAIO,SAASA,SAASA,GAAgD;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAzCC,IAAI,GAAAC,IAAAA,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAJF,IAAAA,IAAI,CAAAE,IAAA,CAAAJ,GAAAA,SAAA,CAAAI,IAAA,CAAA,CAAA;AAAA,GAAA;EAChC,OAAO,UAACC,GAAM,EAAK;IACfC,MAAM,CAAAC,KAAA,CAACF,KAAAA,CAAAA,EAAAA,CAAAA,GAAG,EAAAG,MAAA,CAAKN,IAAI,CAAC,CAAA,CAAA;GACvB,CAAA;AACL,CAAA;AAEO,SAASI,MAAMA,CAAID,GAAM,EAAoC;EAAA,KAAAI,IAAAA,KAAA,GAAAT,SAAA,CAAAC,MAAA,EAA/BC,IAAI,OAAAC,KAAA,CAAAM,KAAA,GAAAA,CAAAA,GAAAA,KAAA,WAAAC,KAAA,GAAA,CAAA,EAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA,EAAA,EAAA;AAAJR,IAAAA,IAAI,CAAAQ,KAAA,GAAAV,CAAAA,CAAAA,GAAAA,SAAA,CAAAU,KAAA,CAAA,CAAA;AAAA,GAAA;AACrCR,EAAAA,IAAI,CAACS,OAAO,CAAC,UAACC,GAAG,EAAK;AAClB,IAAA,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;MAC3BA,GAAG,CAACP,GAAG,CAAC,CAAA;AACZ,KAAC,MAAM,IAAIO,GAAG,IAAI,IAAI,EAAE;MACpBA,GAAG,CAACC,OAAO,GAAGR,GAAG,CAAA;AACrB,KAAA;AACJ,GAAC,CAAC,CAAA;AACN;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.141.0-canary.1421.10719019658.0",
3
+ "version": "0.141.0-canary.1421.10763753065.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -80,7 +80,7 @@
80
80
  "@rollup/plugin-babel": "^6.0.4",
81
81
  "@rollup/plugin-commonjs": "^25.0.4",
82
82
  "@rollup/plugin-node-resolve": "^15.1.0",
83
- "@salutejs/plasma-sb-utils": "0.177.0-dev.0",
83
+ "@salutejs/plasma-sb-utils": "0.177.0",
84
84
  "@storybook/addon-docs": "^7.6.17",
85
85
  "@storybook/addon-essentials": "^7.6.17",
86
86
  "@storybook/addons": "^7.6.17",
@@ -114,7 +114,7 @@
114
114
  "@linaria/core": "5.0.2",
115
115
  "@linaria/react": "5.0.3",
116
116
  "@popperjs/core": "2.11.8",
117
- "@salutejs/plasma-core": "1.179.0-dev.0",
117
+ "@salutejs/plasma-core": "1.179.0",
118
118
  "dayjs": "1.11.11",
119
119
  "focus-visible": "5.2.0",
120
120
  "lodash.throttle": "4.1.1",
@@ -122,5 +122,5 @@
122
122
  "react-popper": "2.3.0",
123
123
  "storeon": "3.1.5"
124
124
  },
125
- "gitHead": "7bef74006c584c9ad801ee0e1a4fa7ef02efcf27"
125
+ "gitHead": "5bad33394c28e457392728fe55c73ce6d9652705"
126
126
  }
@@ -126,8 +126,7 @@ var textAreaRoot = exports.textAreaRoot = function textAreaRoot(Root) {
126
126
  _useState6 = _slicedToArray(_useState5, 2),
127
127
  uncontrolledValue = _useState6[0],
128
128
  setUncontrolledValue = _useState6[1];
129
- var outerRef = innerRef && 'current' in innerRef ? innerRef : /*#__PURE__*/(0, _react.createRef)();
130
- var ref = innerRef !== null && innerRef !== void 0 ? innerRef : /*#__PURE__*/(0, _react.createRef)();
129
+ var outerRef = /*#__PURE__*/(0, _react.createRef)();
131
130
  var innerOptional = required ? false : optional;
132
131
  var hasHelper = Boolean(leftHelper || rightHelper || helperText);
133
132
  var hasOuterLabel = Boolean(label && labelPlacement === 'outer');
@@ -158,6 +157,7 @@ var textAreaRoot = exports.textAreaRoot = function textAreaRoot(Root) {
158
157
  if (value === undefined) {
159
158
  setUncontrolledValue(event === null || event === void 0 ? void 0 : event.target.value);
160
159
  }
160
+ console.log(event);
161
161
  onChange === null || onChange === void 0 || onChange(event);
162
162
  }, [value, onChange]);
163
163
  var dynamicLabelClasses = getDynamicLabelClasses(_objectSpread({
@@ -199,7 +199,7 @@ var textAreaRoot = exports.textAreaRoot = function textAreaRoot(Root) {
199
199
  hasContentRight: Boolean(contentRight),
200
200
  hasHelper: hasHelper,
201
201
  applyCustomWidth: applyCustomWidth,
202
- ref: ref,
202
+ ref: (0, _utils.mergeRefs)(outerRef, innerRef),
203
203
  disabled: disabled,
204
204
  height: autoResize ? minAuto : height,
205
205
  width: width,