@salutejs/plasma-new-hope 0.72.0-canary.1160.8612911363.0 → 0.72.0-canary.1160.8617165473.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Cell/Cell.js +2 -0
- package/cjs/components/Cell/Cell.js.map +1 -1
- package/cjs/components/TextField/TextField.js +5 -5
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/cjs/components/TextField/hooks/useKeyNavigation.js +5 -4
- package/cjs/components/TextField/hooks/useKeyNavigation.js.map +1 -1
- package/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.js +3 -3
- package/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.js.map +1 -1
- package/es/components/Cell/Cell.js +2 -0
- package/es/components/Cell/Cell.js.map +1 -1
- package/es/components/TextField/TextField.js +5 -5
- package/es/components/TextField/TextField.js.map +1 -1
- package/es/components/TextField/hooks/useKeyNavigation.js +5 -4
- package/es/components/TextField/hooks/useKeyNavigation.js.map +1 -1
- package/es/components/TextField/ui/TextFieldChip/TextFieldChip.js +3 -3
- package/es/components/TextField/ui/TextFieldChip/TextFieldChip.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Cell/Cell.js +2 -0
- package/styled-components/cjs/components/TextField/TextField.js +5 -5
- package/styled-components/cjs/components/TextField/hooks/useKeyNavigation.js +5 -4
- package/styled-components/cjs/components/TextField/ui/TextFieldChip/TextFieldChip.js +3 -3
- package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +60 -12
- package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +60 -12
- package/styled-components/cjs/examples/sds_engineer/components/TextField/TextField.stories.tsx +60 -12
- package/styled-components/es/components/Cell/Cell.js +2 -0
- package/styled-components/es/components/TextField/TextField.js +5 -5
- package/styled-components/es/components/TextField/hooks/useKeyNavigation.js +5 -4
- package/styled-components/es/components/TextField/ui/TextFieldChip/TextFieldChip.js +3 -3
- package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +60 -12
- package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +60 -12
- package/styled-components/es/examples/sds_engineer/components/TextField/TextField.stories.tsx +60 -12
- package/types/components/Cell/Cell.d.ts.map +1 -1
- package/types/components/TextField/TextField.types.d.ts +42 -19
- package/types/components/TextField/TextField.types.d.ts.map +1 -1
- package/types/components/TextField/hooks/useKeyNavigation.d.ts +2 -2
- package/types/components/TextField/hooks/useKeyNavigation.d.ts.map +1 -1
- package/types/components/TextField/ui/TextFieldChip/TextFieldChip.types.d.ts +1 -1
- package/types/components/TextField/ui/TextFieldChip/TextFieldChip.types.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +35 -1
- package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
- package/types/examples/plasma_web/components/TextField/TextField.d.ts +35 -1
- package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
- package/types/examples/sds_engineer/components/TextField/TextField.d.ts +35 -1
- package/types/examples/sds_engineer/components/TextField/TextField.d.ts.map +1 -1
@@ -29,6 +29,8 @@ var cellRoot = function cellRoot(Root) {
|
|
29
29
|
_ref$stretching = _ref.stretching,
|
30
30
|
stretching = _ref$stretching === void 0 ? 'filled' : _ref$stretching;
|
31
31
|
var stretchingClass = Cell_tokens.classes["".concat(stretching, "Stretching")];
|
32
|
+
|
33
|
+
// Импорт старых свойств
|
32
34
|
var titleText = title || description;
|
33
35
|
var contentLeftDeprecated = contentLeft || content;
|
34
36
|
return /*#__PURE__*/React.createElement(Root, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Cell.js","sources":["../../../src/components/Cell/Cell.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { CellProps } from './Cell.types';\nimport { base, CellLeft, CellRight, CellContentWrapper, CellContent } from './Cell.styles';\nimport { classes } from './Cell.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { CellTextbox } from './ui/CellTextbox/CellTextbox';\n\nexport const cellRoot = (Root: RootProps<HTMLDivElement, CellProps>) =>\n forwardRef<HTMLDivElement, CellProps>(\n (\n {\n size,\n view,\n contentLeft,\n contentRight,\n alignContentLeft = 'center',\n alignContentRight = 'center',\n children,\n title,\n subtitle,\n label,\n description,\n content,\n stretching = 'filled',\n },\n outerRootRef,\n ) => {\n const stretchingClass = classes[`${stretching}Stretching` as keyof typeof classes];\n const titleText = title || description;\n const contentLeftDeprecated = contentLeft || content;\n\n return (\n <Root ref={outerRootRef} size={size} view={view} className={cx(stretchingClass, classes.cellRoot)}>\n {contentLeftDeprecated && <CellLeft align={alignContentLeft}>{contentLeftDeprecated}</CellLeft>}\n <CellContentWrapper>\n <CellContent>\n {titleText || subtitle || label ? (\n <CellTextbox label={label} title={titleText} subtitle={subtitle} />\n ) : (\n children\n )}\n </CellContent>\n {contentRight && <CellRight align={alignContentRight}>{contentRight}</CellRight>}\n </CellContentWrapper>\n </Root>\n );\n },\n );\n\nexport const cellConfig = {\n name: 'Cell',\n tag: 'div',\n layout: cellRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["cellRoot","Root","forwardRef","_ref","outerRootRef","size","view","contentLeft","contentRight","_ref$alignContentLeft","alignContentLeft","_ref$alignContentRigh","alignContentRight","children","title","subtitle","label","description","content","_ref$stretching","stretching","stretchingClass","classes","concat","titleText","contentLeftDeprecated","React","createElement","ref","className","cx","CellLeft","align","CellContentWrapper","CellContent","CellTextbox","CellRight","cellConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;;;;;IAYaA,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,IAA0C,EAAA;AAAA,EAAA,oBAC/DC,gBAAU,CACN,UAAAC,IAAA,EAgBIC,YAAY,EACX;AAAA,IAAA,IAfGC,IAAI,GAAAF,IAAA,CAAJE,IAAI;MACJC,IAAI,GAAAH,IAAA,CAAJG,IAAI;MACJC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;MACXC,YAAY,GAAAL,IAAA,CAAZK,YAAY;MAAAC,qBAAA,GAAAN,IAAA,CACZO,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,qBAAA;MAAAE,qBAAA,GAAAR,IAAA,CAC3BS,iBAAiB;AAAjBA,MAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,qBAAA;MAC5BE,QAAQ,GAAAV,IAAA,CAARU,QAAQ;MACRC,KAAK,GAAAX,IAAA,CAALW,KAAK;MACLC,QAAQ,GAAAZ,IAAA,CAARY,QAAQ;MACRC,KAAK,GAAAb,IAAA,CAALa,KAAK;MACLC,WAAW,GAAAd,IAAA,CAAXc,WAAW;MACXC,OAAO,GAAAf,IAAA,CAAPe,OAAO;MAAAC,eAAA,GAAAhB,IAAA,CACPiB,UAAU;AAAVA,MAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,eAAA,CAAA;AAIzB,IAAA,IAAME,eAAe,GAAGC,mBAAO,IAAAC,MAAA,CAAIH,UAAU,EAAqC,YAAA,CAAA,CAAA,CAAA;
|
1
|
+
{"version":3,"file":"Cell.js","sources":["../../../src/components/Cell/Cell.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { CellProps } from './Cell.types';\nimport { base, CellLeft, CellRight, CellContentWrapper, CellContent } from './Cell.styles';\nimport { classes } from './Cell.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { CellTextbox } from './ui/CellTextbox/CellTextbox';\n\nexport const cellRoot = (Root: RootProps<HTMLDivElement, CellProps>) =>\n forwardRef<HTMLDivElement, CellProps>(\n (\n {\n size,\n view,\n contentLeft,\n contentRight,\n alignContentLeft = 'center',\n alignContentRight = 'center',\n children,\n title,\n subtitle,\n label,\n description,\n content,\n stretching = 'filled',\n },\n outerRootRef,\n ) => {\n const stretchingClass = classes[`${stretching}Stretching` as keyof typeof classes];\n\n // Импорт старых свойств\n const titleText = title || description;\n const contentLeftDeprecated = contentLeft || content;\n\n return (\n <Root ref={outerRootRef} size={size} view={view} className={cx(stretchingClass, classes.cellRoot)}>\n {contentLeftDeprecated && <CellLeft align={alignContentLeft}>{contentLeftDeprecated}</CellLeft>}\n <CellContentWrapper>\n <CellContent>\n {titleText || subtitle || label ? (\n <CellTextbox label={label} title={titleText} subtitle={subtitle} />\n ) : (\n children\n )}\n </CellContent>\n {contentRight && <CellRight align={alignContentRight}>{contentRight}</CellRight>}\n </CellContentWrapper>\n </Root>\n );\n },\n );\n\nexport const cellConfig = {\n name: 'Cell',\n tag: 'div',\n layout: cellRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["cellRoot","Root","forwardRef","_ref","outerRootRef","size","view","contentLeft","contentRight","_ref$alignContentLeft","alignContentLeft","_ref$alignContentRigh","alignContentRight","children","title","subtitle","label","description","content","_ref$stretching","stretching","stretchingClass","classes","concat","titleText","contentLeftDeprecated","React","createElement","ref","className","cx","CellLeft","align","CellContentWrapper","CellContent","CellTextbox","CellRight","cellConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
@@ -17,7 +17,7 @@ var TextField_tokens = require('./TextField.tokens.js');
|
|
17
17
|
var TextFieldChip = require('./ui/TextFieldChip/TextFieldChip.js');
|
18
18
|
var useKeyNavigation = require('./hooks/useKeyNavigation.js');
|
19
19
|
|
20
|
-
var _excluded = ["id", "contentLeft", "contentRight", "label", "labelPlacement", "placeholder", "leftHelper", "enumerationType", "view", "size", "readOnly", "disabled", "
|
20
|
+
var _excluded = ["id", "contentLeft", "contentRight", "label", "labelPlacement", "placeholder", "leftHelper", "enumerationType", "view", "size", "readOnly", "disabled", "chips", "onChange", "onChangeChips", "onSearch"];
|
21
21
|
var base = "bpunezx";
|
22
22
|
var textFieldRoot = function textFieldRoot(Root) {
|
23
23
|
return /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
@@ -36,7 +36,7 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
36
36
|
readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
|
37
37
|
_ref$disabled = _ref.disabled,
|
38
38
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
39
|
-
values = _ref.
|
39
|
+
values = _ref.chips,
|
40
40
|
onChange = _ref.onChange,
|
41
41
|
onChangeChips = _ref.onChangeChips,
|
42
42
|
onSearch = _ref.onSearch,
|
@@ -152,20 +152,20 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
152
152
|
var chipId = _ref2.id,
|
153
153
|
text = _ref2.text;
|
154
154
|
return /*#__PURE__*/React.createElement(TextFieldChip.TextFieldChip, {
|
155
|
+
id: chipId,
|
155
156
|
ref: function ref(element) {
|
156
157
|
return getRef(element, index);
|
157
158
|
},
|
158
|
-
chipId: chipId,
|
159
159
|
key: "".concat(chipId, "_").concat(index),
|
160
160
|
disabled: disabled,
|
161
161
|
readOnly: readOnly,
|
162
162
|
value: text,
|
163
163
|
text: text,
|
164
164
|
onKeyDown: function onKeyDown(event) {
|
165
|
-
return handleChipKeyDown(event, chipId);
|
165
|
+
return handleChipKeyDown(event, chipId, index);
|
166
166
|
},
|
167
167
|
onClear: function onClear() {
|
168
|
-
return onChipClear(chipId);
|
168
|
+
return onChipClear(chipId, index);
|
169
169
|
},
|
170
170
|
onClick: onChipClick
|
171
171
|
});
|
@@ -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 } from 'react';\nimport { safeUseId } 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 LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks/useKeyNavigation';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n overflow: hidden;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLDivElement, TextFieldProps>(\n (\n {\n id,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n\n // controlled\n values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\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\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.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n inputRef.current.focus({ preventScroll: true });\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\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 ref={ref}\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n >\n {labelInside ||\n (innerLabelValue && (\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n ))}\n <InputWrapper className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}>\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips>\n {chips?.map(({ id: chipId, text }, index) => {\n return (\n <TextFieldChip\n ref={(element) => getRef(element, index)}\n chipId={chipId}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId)}\n onClear={() => onChipClear(chipId)}\n onClick={onChipClick}\n />\n );\n })}\n </StyledChips>\n )}\n <Input\n {...rest}\n ref={inputRef}\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={handleInputKeydown}\n />\n {labelInside && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n </Label>\n )}\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":["base","textFieldRoot","Root","forwardRef","_ref","ref","id","contentLeft","contentRight","label","labelPlacement","placeholder","leftHelper","_ref$enumerationType","enumerationType","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","values","onChange","onChangeChips","onSearch","rest","contentRef","useRef","inputRef","chipsRefs","controlledRefs","_useState","useState","_useState2","_slicedToArray","chips","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","hideLabel","labelInside","innerLabelPlacementValue","innerPlaceholderValue","innerLabelValue","undefined","isChipsVisible","length","withHasChips","classes","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","scrollIntoView","behavior","block","inline","focus","preventScroll","getRef","element","index","useEffect","map","concat","text","React","createElement","onClick","Label","htmlFor","InputWrapper","className","cx","StyledContentLeft","InputLabelWrapper","tabIndex","onKeyDown","Boolean","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","Input","_extends","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","labelPlacementCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;AA4BO,IAAMA,IAAI,GAIhB,UAAA;IAEYC,aAAa,GAAGA,SAAhBA,aAAaA,CAAIC,IAA+C,EAAA;AAAA,EAAA,oBACzEC,gBAAU,CACN,UAAAC,IAAA,EA6BIC,GAAG,EACF;AAAA,IAAA,IA5BGC,EAAE,GAAAF,IAAA,CAAFE,EAAE;MAGFC,WAAW,GAAAH,IAAA,CAAXG,WAAW;MACXC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;MACZC,KAAK,GAAAL,IAAA,CAALK,KAAK;MACLC,cAAc,GAAAN,IAAA,CAAdM,cAAc;MACdC,WAAW,GAAAP,IAAA,CAAXO,WAAW;MACXC,UAAU,GAAAR,IAAA,CAAVQ,UAAU;MAAAC,oBAAA,GAAAT,IAAA,CACVU,eAAe;AAAfA,MAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,oBAAA;MAGzBE,IAAI,GAAAX,IAAA,CAAJW,IAAI;MACJC,IAAI,GAAAZ,IAAA,CAAJY,IAAI;MAAAC,aAAA,GAAAb,IAAA,CACJc,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAAAE,aAAA,GAAAf,IAAA,CAChBgB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAGhBE,MAAM,GAAAjB,IAAA,CAANiB,MAAM;MAGNC,QAAQ,GAAAlB,IAAA,CAARkB,QAAQ;MACRC,aAAa,GAAAnB,IAAA,CAAbmB,aAAa;MACbC,QAAQ,GAAApB,IAAA,CAARoB,QAAQ;AAELC,MAAAA,IAAAA,GAAAA,iDAAAA,CAAAA,IAAAA,EAAAA,SAAAA,CAAAA,CAAAA;AAIP,IAAA,IAAMC,UAAU,GAAGC,YAAM,CAAiB,IAAI,CAAC,CAAA;AAC/C,IAAA,IAAMC,QAAQ,GAAGD,YAAM,CAAmB,IAAI,CAAC,CAAA;AAC/C,IAAA,IAAME,SAAS,GAAGF,YAAM,CAA2B,EAAE,CAAC,CAAA;AAEtD,IAAA,IAAMG,cAAc,GAAG;AAAEJ,MAAAA,UAAU,EAAVA,UAAU;AAAEE,MAAAA,QAAQ,EAARA,QAAQ;AAAEC,MAAAA,SAAAA,EAAAA,SAAAA;KAAW,CAAA;AAE1D,IAAA,IAAAE,SAAA,GAA0BC,cAAQ,CAAoB,EAAE,CAAC;MAAAC,UAAA,GAAAC,uCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlDI,MAAAA,KAAK,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,QAAQ,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtB,IAAA,IAAMI,MAAM,GAAGC,oBAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,OAAO,GAAGjC,EAAE,IAAI+B,MAAM,CAAA;AAC5B,IAAA,IAAMG,OAAO,GAAGF,oBAAS,EAAE,CAAA;AAC3B,IAAA,IAAMG,YAAY,GAAGH,oBAAS,EAAE,CAAA;AAEhC,IAAA,IAAMI,iBAAiB,GAAG5B,eAAe,KAAK,MAAM,CAAA;IACpD,IAAM6B,SAAS,GAAG,CAAC3B,IAAI,KAAK,IAAI,IAAI0B,iBAAiB,KAAKhC,cAAc,KAAK,OAAO,CAAA;IACpF,IAAMkC,WAAW,GAAG5B,IAAI,KAAK,IAAI,IAAIN,cAAc,KAAK,OAAO,CAAA;AAC/D,IAAA,IAAMmC,wBAAwB,GAAGF,SAAS,GAAG,OAAO,GAAGjC,cAAc,CAAA;AACrE,IAAA,IAAMoC,qBAAqB,GAAGH,SAAS,GAAGlC,KAAK,GAAGE,WAAW,CAAA;AAC7D,IAAA,IAAMoC,eAAe,GAAGJ,SAAS,GAAGK,SAAS,GAAGvC,KAAK,CAAA;IAErD,IAAMwC,cAAc,GAAGP,iBAAiB,KAAIP,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEe,MAAM,CAAA,CAAA;IACzD,IAAMC,YAAY,GAAGF,cAAc,GAAGG,wBAAO,CAACC,QAAQ,GAAGL,SAAS,CAAA;IAClE,IAAMM,yBAAyB,GAAG,CAAC/C,WAAW,IAAI0C,cAAc,GAAGG,wBAAO,CAACG,mBAAmB,GAAGP,SAAS,CAAA;IAC1G,IAAMQ,0BAA0B,GAC5B,CAAChD,YAAY,IAAIyC,cAAc,GAAGG,wBAAO,CAACK,oBAAoB,GAAGT,SAAS,CAAA;AAE9E,IAAA,IAAMU,YAAkD,GAAIC,SAAtDD,YAAkDA,CAAIC,KAAK,EAAK;MAClE,IAAIvC,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAA0C,aAAA,GAA6BD,KAAK,CAACE,MAAM;QAAjCC,SAAS,GAAAF,aAAA,CAATE,SAAS;QAAEC,KAAAA,GAAAA,aAAAA,CAAAA,KAAAA,CAAAA;MAEnB,IAAID,SAAS,KAAK,CAAC,CAAC,IAAIC,KAAK,CAACb,MAAM,GAAGY,SAAS,EAAE;AAC9C,QAAA,OAAA;AACJ,OAAA;AAEAxC,MAAAA,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAGqC,KAAK,CAAC,CAAA;KACpB,CAAA;IAED,IAAMK,WAAW,GAAGA,SAAdA,WAAWA,CAAIC,QAA2B,EAAEC,SAAyC,EAAK;MAC5F9B,QAAQ,CAAC6B,QAAQ,CAAC,CAAA;AAClB1C,MAAAA,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAG2C,SAAS,CAAC,CAAA;KAC7B,CAAA;IAED,IAAAC,iBAAA,GAAqFC,iCAAgB,CAAC;AAClGtC,QAAAA,cAAc,EAAdA,cAAc;AACdV,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAQ,EAARA,QAAQ;AACRiB,QAAAA,KAAK,EAALA,KAAK;AACLrB,QAAAA,eAAe,EAAfA,eAAe;AACfkD,QAAAA,WAAW,EAAXA,WAAW;AACXxC,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAAA,EAAAA,QAAAA;AACJ,OAAC,CAAC;MATM+C,kBAAkB,GAAAF,iBAAA,CAAlBE,kBAAkB;MAAEC,iBAAiB,GAAAH,iBAAA,CAAjBG,iBAAiB;MAAEC,WAAW,GAAAJ,iBAAA,CAAXI,WAAW;MAAEC,oBAAAA,GAAAA,iBAAAA,CAAAA,oBAAAA,CAAAA;AAW5D,IAAA,IAAMC,WAAW,GAAGA,SAAdA,WAAWA,CAAId,KAA0C,EAAA;AAAA,MAAA,OAAKA,KAAK,CAACe,eAAe,EAAE,CAAA;AAAA,KAAA,CAAA;AAE3F,IAAA,IAAMC,gBAAgB,GAAGA,SAAnBA,gBAAgBA,GAAS;AAC3B,MAAA,IAAIzD,QAAQ,IAAIE,QAAQ,IAAI,EAACQ,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAEgD,OAAO,CAAE,EAAA;AAC5C,QAAA,OAAA;AACJ,OAAA;AAEAhD,MAAAA,QAAQ,CAACgD,OAAO,CAACC,cAAc,CAAC;AAC5BC,QAAAA,QAAQ,EAAE,QAAQ;AAClBC,QAAAA,KAAK,EAAE,QAAQ;AACfC,QAAAA,MAAM,EAAE,QAAA;AACZ,OAAC,CAAC,CAAA;AACFpD,MAAAA,QAAQ,CAACgD,OAAO,CAACK,KAAK,CAAC;AAAEC,QAAAA,aAAa,EAAE,IAAA;AAAK,OAAC,CAAC,CAAA;KAClD,CAAA;IAED,IAAMC,MAAM,GAAGA,SAATA,MAAMA,CAAIC,OAAiC,EAAEC,KAAa,EAAK;MACjE,IAAID,OAAO,IAAIvD,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,IAAAA,SAAS,CAAE+C,OAAO,EAAE;AAC/B/C,QAAAA,SAAS,CAAC+C,OAAO,CAACS,KAAK,CAAC,GAAGD,OAAO,CAAA;AACtC,OAAA;KACH,CAAA;AAEDE,IAAAA,eAAS,CAAC,YAAM;MACZ,IAAI,CAAC5C,iBAAiB,IAAI,EAACrB,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,IAAAA,MAAM,CAAE6B,MAAM,CAAE,EAAA;AACvC,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMe,QAAQ,GACV5C,CAAAA,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEkE,GAAG,CAAC,UAACxB,KAAK,EAAEsB,KAAK,EAAA;QAAA,OAAM;UAC3B/E,EAAE,EAAA,EAAA,CAAAkF,MAAA,CAAKH,KAAM,OAAAG,MAAA,CAAGzB,KAAM,CAAC;AACvB0B,UAAAA,IAAI,EAAE1B,KAAAA;SACT,CAAA;OAAC,CAAC,KAAI,EAAE,CAAA;MAEb3B,QAAQ,CAAC6B,QAAQ,CAAC,CAAA;AACtB,KAAC,EAAE,CAACvB,iBAAiB,EAAErB,MAAM,CAAC,CAAC,CAAA;AAE/B,IAAA,oBACIqE,KAAA,CAAAC,aAAA,CAACzF,IAAI,EAAA;AACDG,MAAAA,GAAG,EAAEA,GAAI;AACTU,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXI,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAS;AAChCR,MAAAA,cAAc,EAAEmC,wBAAyB;AACzC+C,MAAAA,OAAO,EAAEjB,gBAAAA;KAER/B,EAAAA,WAAW,IACPG,eAAe,iBACZ2C,KAAA,CAAAC,aAAA,CAACE,sBAAK,EAAA;AAACvF,MAAAA,EAAE,EAAEkC,OAAQ;AAACsD,MAAAA,OAAO,EAAExF,EAAAA;AAAG,KAAA,EAC3ByC,eACE,CACT,eACN2C,KAAA,CAAAC,aAAA,CAACI,6BAAY,EAAA;AAACC,MAAAA,SAAS,EAAEC,QAAE,CAAC9C,YAAY,EAAEG,yBAAyB,EAAEE,0BAA0B,CAAA;AAAE,KAAA,EAC5FjD,WAAW,iBAAImF,KAAA,CAAAC,aAAA,CAACO,kCAAiB,EAAE3F,IAAAA,EAAAA,WAA+B,CAAC,eACpEmF,KAAA,CAAAC,aAAA,CAACQ,kCAAiB,EAAA;MACdC,QAAQ,EAAE,CAAC,CAAE;AACb/F,MAAAA,GAAG,EAAEqB,UAAW;AAChB2E,MAAAA,SAAS,EAAE7B,oBAAqB;AAChCwB,MAAAA,SAAS,EAAE7C,YAAAA;AAAa,KAAA,EAEvBT,iBAAiB,IAAI4D,OAAO,CAACnE,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEe,MAAM,CAAC,iBACxCwC,KAAA,CAAAC,aAAA,CAACY,4BAAW,EAAA,IAAA,EACPpE,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEoD,GAAG,CAAC,UAAAiB,KAAA,EAAuBnB,KAAK,EAAK;AAAA,MAAA,IAA1BoB,MAAM,GAAAD,KAAA,CAAVlG,EAAE;QAAUmF,IAAAA,GAAAA,KAAAA,CAAAA,IAAAA,CAAAA;AACvB,MAAA,oBACIC,KAAA,CAAAC,aAAA,CAACe,2BAAa,EAAA;QACVrG,GAAG,EAAG+E,SAAAA,GAAAA,CAAAA,OAAO,EAAA;AAAA,UAAA,OAAKD,MAAM,CAACC,OAAO,EAAEC,KAAK,CAAC,CAAA;SAAC;AACzCoB,QAAAA,MAAM,EAAEA,MAAO;QACfE,GAAG,EAAA,EAAA,CAAAnB,MAAA,CAAKiB,MAAO,OAAAjB,MAAA,CAAGH,KAAM,CAAE;AAC1BjE,QAAAA,QAAQ,EAAEA,QAAS;AACnBF,QAAAA,QAAQ,EAAEA,QAAS;AACnB6C,QAAAA,KAAK,EAAE0B,IAAK;AACZA,QAAAA,IAAI,EAAEA,IAAK;QACXY,SAAS,EAAG1C,SAAAA,SAAAA,CAAAA,KAAK,EAAA;AAAA,UAAA,OAAKW,iBAAiB,CAACX,KAAK,EAAE8C,MAAM,CAAC,CAAA;SAAC;QACvDG,OAAO,EAAE,SAAAA,OAAA,GAAA;UAAA,OAAMrC,WAAW,CAACkC,MAAM,CAAC,CAAA;SAAC;AACnCb,QAAAA,OAAO,EAAEnB,WAAAA;AAAY,OACvB,CAAA,CAAA;KAET,CACQ,CAChB,eACDiB,KAAA,CAAAC,aAAA,CAACkB,sBAAK,EAAAC,iCAAA,CAAA,EAAA,EACErF,IAAI,EAAA;AACRpB,MAAAA,GAAG,EAAEuB,QAAS;AACdtB,MAAAA,EAAE,EAAEiC,OAAQ;AACZ,MAAA,iBAAA,EAAiBC,OAAQ;AACzB,MAAA,kBAAA,EAAkBC,YAAa;AAC/B9B,MAAAA,WAAW,EAAEmC,qBAAsB;AACnC1B,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAS;AAChCI,MAAAA,QAAQ,EAAEoC,YAAa;AACvB2C,MAAAA,SAAS,EAAEhC,kBAAAA;KAAmB,CAAA,CAAA,EAEjCzB,WAAW,iBACR8C,KAAA,CAAAC,aAAA,CAACE,sBAAK,EAAA;AAACvF,MAAAA,EAAE,EAAEkC,OAAQ;AAACsD,MAAAA,OAAO,EAAEvD,OAAAA;KACxBQ,EAAAA,eACE,CAEI,CAAA,EAClBvC,YAAY,iBAAIkF,KAAA,CAAAC,aAAA,CAACoB,mCAAkB,QAAEvG,YAAiC,CAC7D,CAAA,EACbI,UAAU,iBAAI8E,KAAA,CAAAC,aAAA,CAACqB,2BAAU,EAAA;AAAC1G,MAAAA,EAAE,EAAEmC,YAAAA;KAAe7B,EAAAA,UAAuB,CACnE,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMqG,eAAe,GAAG;AAC3BC,EAAAA,IAAI,EAAE,WAAW;AACjBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEnH,aAAa;AACrBD,EAAAA,IAAI,EAAJA,IAAI;AACJqH,EAAAA,UAAU,EAAE;AACRtG,IAAAA,IAAI,EAAE;AACFuG,MAAAA,GAAG,EAAEC,WAAAA;KACR;AACDvG,IAAAA,IAAI,EAAE;AACFsG,MAAAA,GAAG,EAAEE,WAAAA;KACR;AACDpG,IAAAA,QAAQ,EAAE;AACNkG,MAAAA,GAAG,EAAEG,WAAW;AAChBC,MAAAA,KAAK,EAAE,IAAA;KACV;AACDxG,IAAAA,QAAQ,EAAE;AACNoG,MAAAA,GAAG,EAAEK,WAAW;AAChBD,MAAAA,KAAK,EAAE,IAAA;KACV;AACDhH,IAAAA,cAAc,EAAE;AACZ4G,MAAAA,GAAG,EAAEM,WAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACN7G,IAAAA,IAAI,EAAE,GAAG;AACTD,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;;;"}
|
1
|
+
{"version":3,"file":"TextField.js","sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { ChangeEventHandler } from 'react';\nimport { safeUseId } 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 LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks/useKeyNavigation';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n overflow: hidden;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLDivElement, TextFieldProps>(\n (\n {\n id,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n\n // controlled\n chips: values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\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\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.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n inputRef.current.focus({ preventScroll: true });\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\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 ref={ref}\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n >\n {labelInside ||\n (innerLabelValue && (\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n ))}\n <InputWrapper className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}>\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\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 {...rest}\n ref={inputRef}\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={handleInputKeydown}\n />\n {labelInside && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n </Label>\n )}\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":["base","textFieldRoot","Root","forwardRef","_ref","ref","id","contentLeft","contentRight","label","labelPlacement","placeholder","leftHelper","_ref$enumerationType","enumerationType","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","values","chips","onChange","onChangeChips","onSearch","rest","contentRef","useRef","inputRef","chipsRefs","controlledRefs","_useState","useState","_useState2","_slicedToArray","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","hideLabel","labelInside","innerLabelPlacementValue","innerPlaceholderValue","innerLabelValue","undefined","isChipsVisible","length","withHasChips","classes","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","scrollIntoView","behavior","block","inline","focus","preventScroll","getRef","element","index","useEffect","map","concat","text","React","createElement","onClick","Label","htmlFor","InputWrapper","className","cx","StyledContentLeft","InputLabelWrapper","tabIndex","onKeyDown","Boolean","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","Input","_extends","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","labelPlacementCSS","defaults"],"mappings":"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"}
|
@@ -64,7 +64,7 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
|
|
64
64
|
updateChips(_newChips, _newValues);
|
65
65
|
}
|
66
66
|
};
|
67
|
-
var onChipClear = function onChipClear(clearId) {
|
67
|
+
var onChipClear = function onChipClear(clearId, index) {
|
68
68
|
if (!chips.length) {
|
69
69
|
return;
|
70
70
|
}
|
@@ -76,19 +76,20 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
|
|
76
76
|
var text = _ref6.text;
|
77
77
|
return text;
|
78
78
|
});
|
79
|
+
chipsRefs === null || chipsRefs === void 0 ? void 0 : chipsRefs.current.splice(index, 1);
|
79
80
|
updateChips(newChips, newValues);
|
80
81
|
};
|
81
|
-
var handleChipKeyDown = function handleChipKeyDown(event, chipId) {
|
82
|
+
var handleChipKeyDown = function handleChipKeyDown(event, chipId, chipIndex) {
|
82
83
|
if (event.key === Keys.Tab) {
|
83
84
|
event.preventDefault();
|
84
85
|
}
|
85
86
|
if (event.key === Keys.Backspace) {
|
86
|
-
onChipClear(chipId);
|
87
|
+
onChipClear(chipId, chipIndex);
|
87
88
|
}
|
88
89
|
};
|
89
90
|
var handleContentKeyDown = function handleContentKeyDown(event) {
|
90
91
|
var _inputRef$current2, _focusedItem, _focusedItem2;
|
91
|
-
var chipsRefsCount =
|
92
|
+
var chipsRefsCount = chipsRefs.current.length;
|
92
93
|
var currentCaretPosition = (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.selectionStart) || 0;
|
93
94
|
var newActiveChipIndex = activeChipIndex;
|
94
95
|
var focusedItem = null;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useKeyNavigation.js","sources":["../../../../src/components/TextField/hooks/useKeyNavigation.ts"],"sourcesContent":["import { useState } from 'react';\nimport type { ChangeEvent, KeyboardEvent } from 'react';\n\nimport type { UseKeyNavigationProps } from '../TextField.types';\n\nexport const Keys = {\n Enter: 'Enter',\n Tab: 'Tab',\n Escape: 'Escape',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n Backspace: 'Backspace',\n};\n\nexport const useKeyNavigation = ({\n controlledRefs: { chipsRefs, contentRef, inputRef },\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onChange,\n onSearch,\n}: UseKeyNavigationProps) => {\n const [activeChipIndex, setActiveChipIndex] = useState(-1);\n\n const handleInputKeydown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n const { value } = event.target as HTMLInputElement;\n\n if (disabled || readOnly) {\n return;\n }\n\n if (event.key === Keys.Enter && enumerationType === 'chip' && value) {\n const nextIndex = chips?.length || 0;\n\n const newChips = [...chips, { id: `${nextIndex}_${value}`, text: value }];\n const newValues = newChips.map(({ text }) => text);\n\n updateChips(newChips, newValues);\n event.target.value = '';\n onChange?.(event);\n }\n\n if (event.key === Keys.Enter && onSearch) {\n onSearch(value, event);\n }\n\n if (event.key === Keys.Backspace && chips.length && inputRef?.current?.selectionStart === 0) {\n const newChips = [...chips];\n newChips?.pop();\n chipsRefs?.current.pop();\n\n const newValues = newChips.map(({ text }) => text);\n\n updateChips(newChips, newValues);\n }\n };\n\n const onChipClear = (clearId: string) => {\n if (!chips.length) {\n return;\n }\n\n const newChips = chips?.filter(({ id: chipId }) => chipId !== clearId) || [];\n const newValues = newChips.map(({ text }) => text);\n\n updateChips(newChips, newValues);\n };\n\n const handleChipKeyDown = (event: KeyboardEvent<HTMLButtonElement>, chipId: string) => {\n if (event.key === Keys.Tab) {\n event.preventDefault();\n }\n\n if (event.key === Keys.Backspace) {\n onChipClear(chipId);\n }\n };\n\n const handleContentKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n const chipsRefsCount = chips.length;\n const currentCaretPosition = inputRef?.current?.selectionStart || 0;\n\n let newActiveChipIndex = activeChipIndex;\n let focusedItem: HTMLButtonElement | HTMLInputElement | null = null;\n\n if (event.key === Keys.ArrowLeft && enumerationType === 'chip' && currentCaretPosition <= 0) {\n const index = activeChipIndex - 1 <= 0 ? 0 : activeChipIndex - 1;\n\n newActiveChipIndex = document.activeElement === inputRef?.current ? chipsRefsCount - 1 : index;\n\n focusedItem = chipsRefs.current?.[newActiveChipIndex];\n }\n\n if (\n event.key === Keys.ArrowRight &&\n enumerationType === 'chip' &&\n document.activeElement !== inputRef?.current\n ) {\n const index = activeChipIndex + 1 >= chipsRefsCount ? activeChipIndex : activeChipIndex + 1;\n\n newActiveChipIndex = document.activeElement === contentRef?.current ? 0 : index;\n focusedItem =\n index === activeChipIndex\n ? (inputRef?.current as HTMLInputElement)\n : chipsRefs.current?.[newActiveChipIndex];\n }\n\n if (event.key === Keys.Backspace && document.activeElement !== inputRef?.current) {\n const index = activeChipIndex - 1 <= 0 ? 0 : activeChipIndex - 1;\n\n newActiveChipIndex = chipsRefsCount === 0 ? -1 : index;\n focusedItem =\n chipsRefsCount === 0\n ? (inputRef?.current as HTMLInputElement)\n : chipsRefs?.current?.[newActiveChipIndex];\n }\n\n focusedItem?.focus();\n focusedItem?.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n\n setActiveChipIndex(newActiveChipIndex);\n };\n\n return { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } as const;\n};\n"],"names":["Keys","Enter","Tab","Escape","ArrowLeft","ArrowRight","Backspace","useKeyNavigation","_ref","_ref$controlledRefs","controlledRefs","chipsRefs","contentRef","inputRef","disabled","readOnly","chips","enumerationType","updateChips","onChange","onSearch","_useState","useState","_useState2","_slicedToArray","activeChipIndex","setActiveChipIndex","handleInputKeydown","event","_inputRef$current","_ref2","target","value","key","nextIndex","length","newChips","concat","_toConsumableArray","id","text","newValues","map","_ref3","current","selectionStart","pop","_ref4","onChipClear","clearId","filter","_ref5","chipId","_ref6","handleChipKeyDown","preventDefault","handleContentKeyDown","_inputRef$current2","_focusedItem","_focusedItem2","chipsRefsCount","currentCaretPosition","newActiveChipIndex","focusedItem","_chipsRefs$current","index","document","activeElement","_chipsRefs$current2","_chipsRefs$current3","focus","scrollIntoView","behavior","block","inline"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useKeyNavigation.js","sources":["../../../../src/components/TextField/hooks/useKeyNavigation.ts"],"sourcesContent":["import { useState } from 'react';\nimport type { ChangeEvent, KeyboardEvent } from 'react';\n\nimport type { UseKeyNavigationProps } from '../TextField.types';\n\nexport const Keys = {\n Enter: 'Enter',\n Tab: 'Tab',\n Escape: 'Escape',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n Backspace: 'Backspace',\n};\n\nexport const useKeyNavigation = ({\n controlledRefs: { chipsRefs, contentRef, inputRef },\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onChange,\n onSearch,\n}: UseKeyNavigationProps) => {\n const [activeChipIndex, setActiveChipIndex] = useState(-1);\n\n const handleInputKeydown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n const { value } = event.target as HTMLInputElement;\n\n if (disabled || readOnly) {\n return;\n }\n\n if (event.key === Keys.Enter && enumerationType === 'chip' && value) {\n const nextIndex = chips?.length || 0;\n\n const newChips = [...chips, { id: `${nextIndex}_${value}`, text: value }];\n const newValues = newChips.map(({ text }) => text);\n\n updateChips(newChips, newValues);\n event.target.value = '';\n onChange?.(event);\n }\n\n if (event.key === Keys.Enter && onSearch) {\n onSearch(value, event);\n }\n\n if (event.key === Keys.Backspace && chips.length && inputRef?.current?.selectionStart === 0) {\n const newChips = [...chips];\n newChips?.pop();\n chipsRefs?.current.pop();\n\n const newValues = newChips.map(({ text }) => text);\n\n updateChips(newChips, newValues);\n }\n };\n\n const onChipClear = (clearId: string, index: number) => {\n if (!chips.length) {\n return;\n }\n\n const newChips = chips?.filter(({ id: chipId }) => chipId !== clearId) || [];\n const newValues = newChips.map(({ text }) => text);\n chipsRefs?.current.splice(index, 1);\n\n updateChips(newChips, newValues);\n };\n\n const handleChipKeyDown = (event: KeyboardEvent<HTMLButtonElement>, chipId: string, chipIndex: number) => {\n if (event.key === Keys.Tab) {\n event.preventDefault();\n }\n\n if (event.key === Keys.Backspace) {\n onChipClear(chipId, chipIndex);\n }\n };\n\n const handleContentKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n const chipsRefsCount = chipsRefs.current.length;\n const currentCaretPosition = inputRef?.current?.selectionStart || 0;\n\n let newActiveChipIndex = activeChipIndex;\n let focusedItem: HTMLButtonElement | HTMLInputElement | null = null;\n\n if (event.key === Keys.ArrowLeft && enumerationType === 'chip' && currentCaretPosition <= 0) {\n const index = activeChipIndex - 1 <= 0 ? 0 : activeChipIndex - 1;\n\n newActiveChipIndex = document.activeElement === inputRef?.current ? chipsRefsCount - 1 : index;\n\n focusedItem = chipsRefs.current?.[newActiveChipIndex];\n }\n\n if (\n event.key === Keys.ArrowRight &&\n enumerationType === 'chip' &&\n document.activeElement !== inputRef?.current\n ) {\n const index = activeChipIndex + 1 >= chipsRefsCount ? activeChipIndex : activeChipIndex + 1;\n\n newActiveChipIndex = document.activeElement === contentRef?.current ? 0 : index;\n focusedItem =\n index === activeChipIndex\n ? (inputRef?.current as HTMLInputElement)\n : chipsRefs.current?.[newActiveChipIndex];\n }\n\n if (event.key === Keys.Backspace && document.activeElement !== inputRef?.current) {\n const index = activeChipIndex - 1 <= 0 ? 0 : activeChipIndex - 1;\n\n newActiveChipIndex = chipsRefsCount === 0 ? -1 : index;\n focusedItem =\n chipsRefsCount === 0\n ? (inputRef?.current as HTMLInputElement)\n : chipsRefs?.current?.[newActiveChipIndex];\n }\n\n focusedItem?.focus();\n focusedItem?.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n\n setActiveChipIndex(newActiveChipIndex);\n };\n\n return { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } as const;\n};\n"],"names":["Keys","Enter","Tab","Escape","ArrowLeft","ArrowRight","Backspace","useKeyNavigation","_ref","_ref$controlledRefs","controlledRefs","chipsRefs","contentRef","inputRef","disabled","readOnly","chips","enumerationType","updateChips","onChange","onSearch","_useState","useState","_useState2","_slicedToArray","activeChipIndex","setActiveChipIndex","handleInputKeydown","event","_inputRef$current","_ref2","target","value","key","nextIndex","length","newChips","concat","_toConsumableArray","id","text","newValues","map","_ref3","current","selectionStart","pop","_ref4","onChipClear","clearId","index","filter","_ref5","chipId","_ref6","splice","handleChipKeyDown","chipIndex","preventDefault","handleContentKeyDown","_inputRef$current2","_focusedItem","_focusedItem2","chipsRefsCount","currentCaretPosition","newActiveChipIndex","focusedItem","_chipsRefs$current","document","activeElement","_chipsRefs$current2","_chipsRefs$current3","focus","scrollIntoView","behavior","block","inline"],"mappings":"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"}
|
@@ -9,7 +9,7 @@ var TextFieldChip_styles = require('./TextFieldChip.styles.js');
|
|
9
9
|
* Чип, отображающий выбранный элемент
|
10
10
|
*/
|
11
11
|
var TextFieldChip = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
12
|
-
var
|
12
|
+
var id = _ref.id,
|
13
13
|
text = _ref.text,
|
14
14
|
disabled = _ref.disabled,
|
15
15
|
readOnly = _ref.readOnly,
|
@@ -17,10 +17,10 @@ var TextFieldChip = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
17
17
|
onClear = _ref.onClear,
|
18
18
|
onKeyDown = _ref.onKeyDown;
|
19
19
|
var onClearHandle = function onClearHandle() {
|
20
|
-
return onClear(
|
20
|
+
return onClear(id);
|
21
21
|
};
|
22
22
|
var onKeyDownHandle = function onKeyDownHandle(event) {
|
23
|
-
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event,
|
23
|
+
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event, id);
|
24
24
|
};
|
25
25
|
return /*#__PURE__*/React.createElement(TextFieldChip_styles.StyledChip, {
|
26
26
|
ref: ref,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TextFieldChip.js","sources":["../../../../../src/components/TextField/ui/TextFieldChip/TextFieldChip.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { StyledChip } from './TextFieldChip.styles';\nimport type { TextFieldChipProps } from './TextFieldChip.types';\n\n/**\n * Чип, отображающий выбранный элемент\n */\nexport const TextFieldChip = forwardRef<HTMLButtonElement, TextFieldChipProps>(\n ({
|
1
|
+
{"version":3,"file":"TextFieldChip.js","sources":["../../../../../src/components/TextField/ui/TextFieldChip/TextFieldChip.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { StyledChip } from './TextFieldChip.styles';\nimport type { TextFieldChipProps } from './TextFieldChip.types';\n\n/**\n * Чип, отображающий выбранный элемент\n */\nexport const TextFieldChip = forwardRef<HTMLButtonElement, TextFieldChipProps>(\n ({ id, text, disabled, readOnly, onClick, onClear, onKeyDown }, ref) => {\n const onClearHandle = () => onClear(id);\n\n const onKeyDownHandle = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(event, id);\n };\n\n return (\n <StyledChip\n ref={ref}\n tabIndex={-1}\n disabled={disabled}\n readOnly={readOnly}\n onClick={onClick}\n onClear={onClearHandle}\n onKeyDown={onKeyDownHandle}\n text={`${text}`}\n />\n );\n },\n);\n"],"names":["TextFieldChip","forwardRef","_ref","ref","id","text","disabled","readOnly","onClick","onClear","onKeyDown","onClearHandle","onKeyDownHandle","event","React","createElement","StyledChip","tabIndex","concat"],"mappings":";;;;;;;AAKA;AACA;AACA;AACO,IAAMA,aAAa,gBAAGC,gBAAU,CACnC,UAAAC,IAAA,EAAgEC,GAAG,EAAK;AAAA,EAAA,IAArEC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IAAEC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IAAEC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IAAEC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IAAEC,OAAO,GAAAN,IAAA,CAAPM,OAAO;IAAEC,OAAO,GAAAP,IAAA,CAAPO,OAAO;IAAEC,SAAS,GAAAR,IAAA,CAATQ,SAAS,CAAA;AACxD,EAAA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,GAAA;IAAA,OAASF,OAAO,CAACL,EAAE,CAAC,CAAA;AAAA,GAAA,CAAA;AAEvC,EAAA,IAAMQ,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,KAA6C,EAAK;IACvEH,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAGG,KAAK,EAAET,EAAE,CAAC,CAAA;GACzB,CAAA;AAED,EAAA,oBACIU,KAAA,CAAAC,aAAA,CAACC,+BAAU,EAAA;AACPb,IAAAA,GAAG,EAAEA,GAAI;IACTc,QAAQ,EAAE,CAAC,CAAE;AACbX,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,OAAO,EAAEE,aAAc;AACvBD,IAAAA,SAAS,EAAEE,eAAgB;IAC3BP,IAAI,EAAA,EAAA,CAAAa,MAAA,CAAKb,IAAI,CAAA;AAAG,GACnB,CAAC,CAAA;AAEV,CACJ;;;;"}
|
@@ -25,6 +25,8 @@ var cellRoot = function cellRoot(Root) {
|
|
25
25
|
_ref$stretching = _ref.stretching,
|
26
26
|
stretching = _ref$stretching === void 0 ? 'filled' : _ref$stretching;
|
27
27
|
var stretchingClass = classes["".concat(stretching, "Stretching")];
|
28
|
+
|
29
|
+
// Импорт старых свойств
|
28
30
|
var titleText = title || description;
|
29
31
|
var contentLeftDeprecated = contentLeft || content;
|
30
32
|
return /*#__PURE__*/React.createElement(Root, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Cell.js","sources":["../../../src/components/Cell/Cell.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { CellProps } from './Cell.types';\nimport { base, CellLeft, CellRight, CellContentWrapper, CellContent } from './Cell.styles';\nimport { classes } from './Cell.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { CellTextbox } from './ui/CellTextbox/CellTextbox';\n\nexport const cellRoot = (Root: RootProps<HTMLDivElement, CellProps>) =>\n forwardRef<HTMLDivElement, CellProps>(\n (\n {\n size,\n view,\n contentLeft,\n contentRight,\n alignContentLeft = 'center',\n alignContentRight = 'center',\n children,\n title,\n subtitle,\n label,\n description,\n content,\n stretching = 'filled',\n },\n outerRootRef,\n ) => {\n const stretchingClass = classes[`${stretching}Stretching` as keyof typeof classes];\n const titleText = title || description;\n const contentLeftDeprecated = contentLeft || content;\n\n return (\n <Root ref={outerRootRef} size={size} view={view} className={cx(stretchingClass, classes.cellRoot)}>\n {contentLeftDeprecated && <CellLeft align={alignContentLeft}>{contentLeftDeprecated}</CellLeft>}\n <CellContentWrapper>\n <CellContent>\n {titleText || subtitle || label ? (\n <CellTextbox label={label} title={titleText} subtitle={subtitle} />\n ) : (\n children\n )}\n </CellContent>\n {contentRight && <CellRight align={alignContentRight}>{contentRight}</CellRight>}\n </CellContentWrapper>\n </Root>\n );\n },\n );\n\nexport const cellConfig = {\n name: 'Cell',\n tag: 'div',\n layout: cellRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["cellRoot","Root","forwardRef","_ref","outerRootRef","size","view","contentLeft","contentRight","_ref$alignContentLeft","alignContentLeft","_ref$alignContentRigh","alignContentRight","children","title","subtitle","label","description","content","_ref$stretching","stretching","stretchingClass","classes","concat","titleText","contentLeftDeprecated","React","createElement","ref","className","cx","CellLeft","align","CellContentWrapper","CellContent","CellTextbox","CellRight","cellConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;IAYaA,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,IAA0C,EAAA;AAAA,EAAA,oBAC/DC,UAAU,CACN,UAAAC,IAAA,EAgBIC,YAAY,EACX;AAAA,IAAA,IAfGC,IAAI,GAAAF,IAAA,CAAJE,IAAI;MACJC,IAAI,GAAAH,IAAA,CAAJG,IAAI;MACJC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;MACXC,YAAY,GAAAL,IAAA,CAAZK,YAAY;MAAAC,qBAAA,GAAAN,IAAA,CACZO,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,qBAAA;MAAAE,qBAAA,GAAAR,IAAA,CAC3BS,iBAAiB;AAAjBA,MAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,qBAAA;MAC5BE,QAAQ,GAAAV,IAAA,CAARU,QAAQ;MACRC,KAAK,GAAAX,IAAA,CAALW,KAAK;MACLC,QAAQ,GAAAZ,IAAA,CAARY,QAAQ;MACRC,KAAK,GAAAb,IAAA,CAALa,KAAK;MACLC,WAAW,GAAAd,IAAA,CAAXc,WAAW;MACXC,OAAO,GAAAf,IAAA,CAAPe,OAAO;MAAAC,eAAA,GAAAhB,IAAA,CACPiB,UAAU;AAAVA,MAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,eAAA,CAAA;AAIzB,IAAA,IAAME,eAAe,GAAGC,OAAO,IAAAC,MAAA,CAAIH,UAAU,EAAqC,YAAA,CAAA,CAAA,CAAA;
|
1
|
+
{"version":3,"file":"Cell.js","sources":["../../../src/components/Cell/Cell.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { CellProps } from './Cell.types';\nimport { base, CellLeft, CellRight, CellContentWrapper, CellContent } from './Cell.styles';\nimport { classes } from './Cell.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { CellTextbox } from './ui/CellTextbox/CellTextbox';\n\nexport const cellRoot = (Root: RootProps<HTMLDivElement, CellProps>) =>\n forwardRef<HTMLDivElement, CellProps>(\n (\n {\n size,\n view,\n contentLeft,\n contentRight,\n alignContentLeft = 'center',\n alignContentRight = 'center',\n children,\n title,\n subtitle,\n label,\n description,\n content,\n stretching = 'filled',\n },\n outerRootRef,\n ) => {\n const stretchingClass = classes[`${stretching}Stretching` as keyof typeof classes];\n\n // Импорт старых свойств\n const titleText = title || description;\n const contentLeftDeprecated = contentLeft || content;\n\n return (\n <Root ref={outerRootRef} size={size} view={view} className={cx(stretchingClass, classes.cellRoot)}>\n {contentLeftDeprecated && <CellLeft align={alignContentLeft}>{contentLeftDeprecated}</CellLeft>}\n <CellContentWrapper>\n <CellContent>\n {titleText || subtitle || label ? (\n <CellTextbox label={label} title={titleText} subtitle={subtitle} />\n ) : (\n children\n )}\n </CellContent>\n {contentRight && <CellRight align={alignContentRight}>{contentRight}</CellRight>}\n </CellContentWrapper>\n </Root>\n );\n },\n );\n\nexport const cellConfig = {\n name: 'Cell',\n tag: 'div',\n layout: cellRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["cellRoot","Root","forwardRef","_ref","outerRootRef","size","view","contentLeft","contentRight","_ref$alignContentLeft","alignContentLeft","_ref$alignContentRigh","alignContentRight","children","title","subtitle","label","description","content","_ref$stretching","stretching","stretchingClass","classes","concat","titleText","contentLeftDeprecated","React","createElement","ref","className","cx","CellLeft","align","CellContentWrapper","CellContent","CellTextbox","CellRight","cellConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","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", "contentLeft", "contentRight", "label", "labelPlacement", "placeholder", "leftHelper", "enumerationType", "view", "size", "readOnly", "disabled", "
|
16
|
+
var _excluded = ["id", "contentLeft", "contentRight", "label", "labelPlacement", "placeholder", "leftHelper", "enumerationType", "view", "size", "readOnly", "disabled", "chips", "onChange", "onChangeChips", "onSearch"];
|
17
17
|
var base = "bpunezx";
|
18
18
|
var textFieldRoot = function textFieldRoot(Root) {
|
19
19
|
return /*#__PURE__*/forwardRef(function (_ref, ref) {
|
@@ -32,7 +32,7 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
32
32
|
readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
|
33
33
|
_ref$disabled = _ref.disabled,
|
34
34
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
35
|
-
values = _ref.
|
35
|
+
values = _ref.chips,
|
36
36
|
onChange = _ref.onChange,
|
37
37
|
onChangeChips = _ref.onChangeChips,
|
38
38
|
onSearch = _ref.onSearch,
|
@@ -148,20 +148,20 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
148
148
|
var chipId = _ref2.id,
|
149
149
|
text = _ref2.text;
|
150
150
|
return /*#__PURE__*/React.createElement(TextFieldChip, {
|
151
|
+
id: chipId,
|
151
152
|
ref: function ref(element) {
|
152
153
|
return getRef(element, index);
|
153
154
|
},
|
154
|
-
chipId: chipId,
|
155
155
|
key: "".concat(chipId, "_").concat(index),
|
156
156
|
disabled: disabled,
|
157
157
|
readOnly: readOnly,
|
158
158
|
value: text,
|
159
159
|
text: text,
|
160
160
|
onKeyDown: function onKeyDown(event) {
|
161
|
-
return handleChipKeyDown(event, chipId);
|
161
|
+
return handleChipKeyDown(event, chipId, index);
|
162
162
|
},
|
163
163
|
onClear: function onClear() {
|
164
|
-
return onChipClear(chipId);
|
164
|
+
return onChipClear(chipId, index);
|
165
165
|
},
|
166
166
|
onClick: onChipClick
|
167
167
|
});
|
@@ -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 } from 'react';\nimport { safeUseId } 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 LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks/useKeyNavigation';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n overflow: hidden;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLDivElement, TextFieldProps>(\n (\n {\n id,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n\n // controlled\n values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\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\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.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n inputRef.current.focus({ preventScroll: true });\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\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 ref={ref}\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n >\n {labelInside ||\n (innerLabelValue && (\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n ))}\n <InputWrapper className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}>\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips>\n {chips?.map(({ id: chipId, text }, index) => {\n return (\n <TextFieldChip\n ref={(element) => getRef(element, index)}\n chipId={chipId}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId)}\n onClear={() => onChipClear(chipId)}\n onClick={onChipClick}\n />\n );\n })}\n </StyledChips>\n )}\n <Input\n {...rest}\n ref={inputRef}\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={handleInputKeydown}\n />\n {labelInside && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n </Label>\n )}\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":["base","textFieldRoot","Root","forwardRef","_ref","ref","id","contentLeft","contentRight","label","labelPlacement","placeholder","leftHelper","_ref$enumerationType","enumerationType","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","values","onChange","onChangeChips","onSearch","rest","contentRef","useRef","inputRef","chipsRefs","controlledRefs","_useState","useState","_useState2","_slicedToArray","chips","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","hideLabel","labelInside","innerLabelPlacementValue","innerPlaceholderValue","innerLabelValue","undefined","isChipsVisible","length","withHasChips","classes","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","scrollIntoView","behavior","block","inline","focus","preventScroll","getRef","element","index","useEffect","map","concat","text","React","createElement","onClick","Label","htmlFor","InputWrapper","className","cx","StyledContentLeft","InputLabelWrapper","tabIndex","onKeyDown","Boolean","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","Input","_extends","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 { ChangeEventHandler } from 'react';\nimport { safeUseId } 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 LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks/useKeyNavigation';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n overflow: hidden;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLDivElement, TextFieldProps>(\n (\n {\n id,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n\n // controlled\n chips: values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\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\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.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n inputRef.current.focus({ preventScroll: true });\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\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 ref={ref}\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n >\n {labelInside ||\n (innerLabelValue && (\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n ))}\n <InputWrapper className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}>\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\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 {...rest}\n ref={inputRef}\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={handleInputKeydown}\n />\n {labelInside && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n </Label>\n )}\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":["base","textFieldRoot","Root","forwardRef","_ref","ref","id","contentLeft","contentRight","label","labelPlacement","placeholder","leftHelper","_ref$enumerationType","enumerationType","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","values","chips","onChange","onChangeChips","onSearch","rest","contentRef","useRef","inputRef","chipsRefs","controlledRefs","_useState","useState","_useState2","_slicedToArray","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","hideLabel","labelInside","innerLabelPlacementValue","innerPlaceholderValue","innerLabelValue","undefined","isChipsVisible","length","withHasChips","classes","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","scrollIntoView","behavior","block","inline","focus","preventScroll","getRef","element","index","useEffect","map","concat","text","React","createElement","onClick","Label","htmlFor","InputWrapper","className","cx","StyledContentLeft","InputLabelWrapper","tabIndex","onKeyDown","Boolean","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","Input","_extends","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","labelPlacementCSS","defaults"],"mappings":";;;;;;;;;;;;;;;AA4BO,IAAMA,IAAI,GAIhB,UAAA;IAEYC,aAAa,GAAGA,SAAhBA,aAAaA,CAAIC,IAA+C,EAAA;AAAA,EAAA,oBACzEC,UAAU,CACN,UAAAC,IAAA,EA6BIC,GAAG,EACF;AAAA,IAAA,IA5BGC,EAAE,GAAAF,IAAA,CAAFE,EAAE;MAGFC,WAAW,GAAAH,IAAA,CAAXG,WAAW;MACXC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;MACZC,KAAK,GAAAL,IAAA,CAALK,KAAK;MACLC,cAAc,GAAAN,IAAA,CAAdM,cAAc;MACdC,WAAW,GAAAP,IAAA,CAAXO,WAAW;MACXC,UAAU,GAAAR,IAAA,CAAVQ,UAAU;MAAAC,oBAAA,GAAAT,IAAA,CACVU,eAAe;AAAfA,MAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,oBAAA;MAGzBE,IAAI,GAAAX,IAAA,CAAJW,IAAI;MACJC,IAAI,GAAAZ,IAAA,CAAJY,IAAI;MAAAC,aAAA,GAAAb,IAAA,CACJc,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAAAE,aAAA,GAAAf,IAAA,CAChBgB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAGTE,MAAM,GAAAjB,IAAA,CAAbkB,KAAK;MAGLC,QAAQ,GAAAnB,IAAA,CAARmB,QAAQ;MACRC,aAAa,GAAApB,IAAA,CAAboB,aAAa;MACbC,QAAQ,GAAArB,IAAA,CAARqB,QAAQ;AAELC,MAAAA,IAAAA,GAAAA,wBAAAA,CAAAA,IAAAA,EAAAA,SAAAA,CAAAA,CAAAA;AAIP,IAAA,IAAMC,UAAU,GAAGC,MAAM,CAAiB,IAAI,CAAC,CAAA;AAC/C,IAAA,IAAMC,QAAQ,GAAGD,MAAM,CAAmB,IAAI,CAAC,CAAA;AAC/C,IAAA,IAAME,SAAS,GAAGF,MAAM,CAA2B,EAAE,CAAC,CAAA;AAEtD,IAAA,IAAMG,cAAc,GAAG;AAAEJ,MAAAA,UAAU,EAAVA,UAAU;AAAEE,MAAAA,QAAQ,EAARA,QAAQ;AAAEC,MAAAA,SAAAA,EAAAA,SAAAA;KAAW,CAAA;AAE1D,IAAA,IAAAE,SAAA,GAA0BC,QAAQ,CAAoB,EAAE,CAAC;MAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlDV,MAAAA,KAAK,GAAAY,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtB,IAAA,IAAMG,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,OAAO,GAAGjC,EAAE,IAAI+B,MAAM,CAAA;AAC5B,IAAA,IAAMG,OAAO,GAAGF,SAAS,EAAE,CAAA;AAC3B,IAAA,IAAMG,YAAY,GAAGH,SAAS,EAAE,CAAA;AAEhC,IAAA,IAAMI,iBAAiB,GAAG5B,eAAe,KAAK,MAAM,CAAA;IACpD,IAAM6B,SAAS,GAAG,CAAC3B,IAAI,KAAK,IAAI,IAAI0B,iBAAiB,KAAKhC,cAAc,KAAK,OAAO,CAAA;IACpF,IAAMkC,WAAW,GAAG5B,IAAI,KAAK,IAAI,IAAIN,cAAc,KAAK,OAAO,CAAA;AAC/D,IAAA,IAAMmC,wBAAwB,GAAGF,SAAS,GAAG,OAAO,GAAGjC,cAAc,CAAA;AACrE,IAAA,IAAMoC,qBAAqB,GAAGH,SAAS,GAAGlC,KAAK,GAAGE,WAAW,CAAA;AAC7D,IAAA,IAAMoC,eAAe,GAAGJ,SAAS,GAAGK,SAAS,GAAGvC,KAAK,CAAA;IAErD,IAAMwC,cAAc,GAAGP,iBAAiB,KAAIpB,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAE4B,MAAM,CAAA,CAAA;IACzD,IAAMC,YAAY,GAAGF,cAAc,GAAGG,OAAO,CAACC,QAAQ,GAAGL,SAAS,CAAA;IAClE,IAAMM,yBAAyB,GAAG,CAAC/C,WAAW,IAAI0C,cAAc,GAAGG,OAAO,CAACG,mBAAmB,GAAGP,SAAS,CAAA;IAC1G,IAAMQ,0BAA0B,GAC5B,CAAChD,YAAY,IAAIyC,cAAc,GAAGG,OAAO,CAACK,oBAAoB,GAAGT,SAAS,CAAA;AAE9E,IAAA,IAAMU,YAAkD,GAAIC,SAAtDD,YAAkDA,CAAIC,KAAK,EAAK;MAClE,IAAIvC,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAA0C,aAAA,GAA6BD,KAAK,CAACE,MAAM;QAAjCC,SAAS,GAAAF,aAAA,CAATE,SAAS;QAAEC,KAAAA,GAAAA,aAAAA,CAAAA,KAAAA,CAAAA;MAEnB,IAAID,SAAS,KAAK,CAAC,CAAC,IAAIC,KAAK,CAACb,MAAM,GAAGY,SAAS,EAAE;AAC9C,QAAA,OAAA;AACJ,OAAA;AAEAvC,MAAAA,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAGoC,KAAK,CAAC,CAAA;KACpB,CAAA;IAED,IAAMK,WAAW,GAAGA,SAAdA,WAAWA,CAAIC,QAA2B,EAAEC,SAAyC,EAAK;MAC5F9B,QAAQ,CAAC6B,QAAQ,CAAC,CAAA;AAClBzC,MAAAA,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAG0C,SAAS,CAAC,CAAA;KAC7B,CAAA;IAED,IAAAC,iBAAA,GAAqFC,gBAAgB,CAAC;AAClGrC,QAAAA,cAAc,EAAdA,cAAc;AACdX,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAQ,EAARA,QAAQ;AACRI,QAAAA,KAAK,EAALA,KAAK;AACLR,QAAAA,eAAe,EAAfA,eAAe;AACfkD,QAAAA,WAAW,EAAXA,WAAW;AACXvC,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAAA,EAAAA,QAAAA;AACJ,OAAC,CAAC;MATM8C,kBAAkB,GAAAF,iBAAA,CAAlBE,kBAAkB;MAAEC,iBAAiB,GAAAH,iBAAA,CAAjBG,iBAAiB;MAAEC,WAAW,GAAAJ,iBAAA,CAAXI,WAAW;MAAEC,oBAAAA,GAAAA,iBAAAA,CAAAA,oBAAAA,CAAAA;AAW5D,IAAA,IAAMC,WAAW,GAAGA,SAAdA,WAAWA,CAAId,KAA0C,EAAA;AAAA,MAAA,OAAKA,KAAK,CAACe,eAAe,EAAE,CAAA;AAAA,KAAA,CAAA;AAE3F,IAAA,IAAMC,gBAAgB,GAAGA,SAAnBA,gBAAgBA,GAAS;AAC3B,MAAA,IAAIzD,QAAQ,IAAIE,QAAQ,IAAI,EAACS,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAE+C,OAAO,CAAE,EAAA;AAC5C,QAAA,OAAA;AACJ,OAAA;AAEA/C,MAAAA,QAAQ,CAAC+C,OAAO,CAACC,cAAc,CAAC;AAC5BC,QAAAA,QAAQ,EAAE,QAAQ;AAClBC,QAAAA,KAAK,EAAE,QAAQ;AACfC,QAAAA,MAAM,EAAE,QAAA;AACZ,OAAC,CAAC,CAAA;AACFnD,MAAAA,QAAQ,CAAC+C,OAAO,CAACK,KAAK,CAAC;AAAEC,QAAAA,aAAa,EAAE,IAAA;AAAK,OAAC,CAAC,CAAA;KAClD,CAAA;IAED,IAAMC,MAAM,GAAGA,SAATA,MAAMA,CAAIC,OAAiC,EAAEC,KAAa,EAAK;MACjE,IAAID,OAAO,IAAItD,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,IAAAA,SAAS,CAAE8C,OAAO,EAAE;AAC/B9C,QAAAA,SAAS,CAAC8C,OAAO,CAACS,KAAK,CAAC,GAAGD,OAAO,CAAA;AACtC,OAAA;KACH,CAAA;AAEDE,IAAAA,SAAS,CAAC,YAAM;MACZ,IAAI,CAAC5C,iBAAiB,IAAI,EAACrB,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,IAAAA,MAAM,CAAE6B,MAAM,CAAE,EAAA;AACvC,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMe,QAAQ,GACV5C,CAAAA,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEkE,GAAG,CAAC,UAACxB,KAAK,EAAEsB,KAAK,EAAA;QAAA,OAAM;UAC3B/E,EAAE,EAAA,EAAA,CAAAkF,MAAA,CAAKH,KAAM,OAAAG,MAAA,CAAGzB,KAAM,CAAC;AACvB0B,UAAAA,IAAI,EAAE1B,KAAAA;SACT,CAAA;OAAC,CAAC,KAAI,EAAE,CAAA;MAEb3B,QAAQ,CAAC6B,QAAQ,CAAC,CAAA;AACtB,KAAC,EAAE,CAACvB,iBAAiB,EAAErB,MAAM,CAAC,CAAC,CAAA;AAE/B,IAAA,oBACIqE,KAAA,CAAAC,aAAA,CAACzF,IAAI,EAAA;AACDG,MAAAA,GAAG,EAAEA,GAAI;AACTU,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXI,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAS;AAChCR,MAAAA,cAAc,EAAEmC,wBAAyB;AACzC+C,MAAAA,OAAO,EAAEjB,gBAAAA;KAER/B,EAAAA,WAAW,IACPG,eAAe,iBACZ2C,KAAA,CAAAC,aAAA,CAACE,KAAK,EAAA;AAACvF,MAAAA,EAAE,EAAEkC,OAAQ;AAACsD,MAAAA,OAAO,EAAExF,EAAAA;AAAG,KAAA,EAC3ByC,eACE,CACT,eACN2C,KAAA,CAAAC,aAAA,CAACI,YAAY,EAAA;AAACC,MAAAA,SAAS,EAAEC,EAAE,CAAC9C,YAAY,EAAEG,yBAAyB,EAAEE,0BAA0B,CAAA;AAAE,KAAA,EAC5FjD,WAAW,iBAAImF,KAAA,CAAAC,aAAA,CAACO,iBAAiB,EAAE3F,IAAAA,EAAAA,WAA+B,CAAC,eACpEmF,KAAA,CAAAC,aAAA,CAACQ,iBAAiB,EAAA;MACdC,QAAQ,EAAE,CAAC,CAAE;AACb/F,MAAAA,GAAG,EAAEsB,UAAW;AAChB0E,MAAAA,SAAS,EAAE7B,oBAAqB;AAChCwB,MAAAA,SAAS,EAAE7C,YAAAA;AAAa,KAAA,EAEvBT,iBAAiB,IAAI4D,OAAO,CAAChF,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAE4B,MAAM,CAAC,iBACxCwC,KAAA,CAAAC,aAAA,CAACY,WAAW,EAAA,IAAA,EACPjF,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEiE,GAAG,CAAC,UAAAiB,KAAA,EAAuBnB,KAAK,EAAK;AAAA,MAAA,IAA1BoB,MAAM,GAAAD,KAAA,CAAVlG,EAAE;QAAUmF,IAAAA,GAAAA,KAAAA,CAAAA,IAAAA,CAAAA;AACvB,MAAA,oBACIC,KAAA,CAAAC,aAAA,CAACe,aAAa,EAAA;AACVpG,QAAAA,EAAE,EAAEmG,MAAO;QACXpG,GAAG,EAAG+E,SAAAA,GAAAA,CAAAA,OAAO,EAAA;AAAA,UAAA,OAAKD,MAAM,CAACC,OAAO,EAAEC,KAAK,CAAC,CAAA;SAAC;QACzCsB,GAAG,EAAA,EAAA,CAAAnB,MAAA,CAAKiB,MAAO,OAAAjB,MAAA,CAAGH,KAAM,CAAE;AAC1BjE,QAAAA,QAAQ,EAAEA,QAAS;AACnBF,QAAAA,QAAQ,EAAEA,QAAS;AACnB6C,QAAAA,KAAK,EAAE0B,IAAK;AACZA,QAAAA,IAAI,EAAEA,IAAK;QACXY,SAAS,EAAG1C,SAAAA,SAAAA,CAAAA,KAAK,EAAA;AAAA,UAAA,OAAKW,iBAAiB,CAACX,KAAK,EAAE8C,MAAM,EAAEpB,KAAK,CAAC,CAAA;SAAC;QAC9DuB,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,UAAA,OAAMrC,WAAW,CAACkC,MAAM,EAAEpB,KAAK,CAAC,CAAA;SAAC;AAC1CO,QAAAA,OAAO,EAAEnB,WAAAA;AAAY,OACvB,CAAA,CAAA;KAET,CACQ,CAChB,eACDiB,KAAA,CAAAC,aAAA,CAACkB,KAAK,EAAAC,QAAA,CAAA,EAAA,EACEpF,IAAI,EAAA;AACRrB,MAAAA,GAAG,EAAEwB,QAAS;AACdvB,MAAAA,EAAE,EAAEiC,OAAQ;AACZ,MAAA,iBAAA,EAAiBC,OAAQ;AACzB,MAAA,kBAAA,EAAkBC,YAAa;AAC/B9B,MAAAA,WAAW,EAAEmC,qBAAsB;AACnC1B,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAS;AAChCK,MAAAA,QAAQ,EAAEmC,YAAa;AACvB2C,MAAAA,SAAS,EAAEhC,kBAAAA;KAAmB,CAAA,CAAA,EAEjCzB,WAAW,iBACR8C,KAAA,CAAAC,aAAA,CAACE,KAAK,EAAA;AAACvF,MAAAA,EAAE,EAAEkC,OAAQ;AAACsD,MAAAA,OAAO,EAAEvD,OAAAA;KACxBQ,EAAAA,eACE,CAEI,CAAA,EAClBvC,YAAY,iBAAIkF,KAAA,CAAAC,aAAA,CAACoB,kBAAkB,QAAEvG,YAAiC,CAC7D,CAAA,EACbI,UAAU,iBAAI8E,KAAA,CAAAC,aAAA,CAACqB,UAAU,EAAA;AAAC1G,MAAAA,EAAE,EAAEmC,YAAAA;KAAe7B,EAAAA,UAAuB,CACnE,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMqG,eAAe,GAAG;AAC3BC,EAAAA,IAAI,EAAE,WAAW;AACjBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEnH,aAAa;AACrBD,EAAAA,IAAI,EAAJA,IAAI;AACJqH,EAAAA,UAAU,EAAE;AACRtG,IAAAA,IAAI,EAAE;AACFuG,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACDvG,IAAAA,IAAI,EAAE;AACFsG,MAAAA,GAAG,EAAEE,MAAAA;KACR;AACDpG,IAAAA,QAAQ,EAAE;AACNkG,MAAAA,GAAG,EAAEG,MAAW;AAChBC,MAAAA,KAAK,EAAE,IAAA;KACV;AACDxG,IAAAA,QAAQ,EAAE;AACNoG,MAAAA,GAAG,EAAEK,MAAW;AAChBD,MAAAA,KAAK,EAAE,IAAA;KACV;AACDhH,IAAAA,cAAc,EAAE;AACZ4G,MAAAA,GAAG,EAAEM,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACN7G,IAAAA,IAAI,EAAE,GAAG;AACTD,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;"}
|
@@ -60,7 +60,7 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
|
|
60
60
|
updateChips(_newChips, _newValues);
|
61
61
|
}
|
62
62
|
};
|
63
|
-
var onChipClear = function onChipClear(clearId) {
|
63
|
+
var onChipClear = function onChipClear(clearId, index) {
|
64
64
|
if (!chips.length) {
|
65
65
|
return;
|
66
66
|
}
|
@@ -72,19 +72,20 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
|
|
72
72
|
var text = _ref6.text;
|
73
73
|
return text;
|
74
74
|
});
|
75
|
+
chipsRefs === null || chipsRefs === void 0 ? void 0 : chipsRefs.current.splice(index, 1);
|
75
76
|
updateChips(newChips, newValues);
|
76
77
|
};
|
77
|
-
var handleChipKeyDown = function handleChipKeyDown(event, chipId) {
|
78
|
+
var handleChipKeyDown = function handleChipKeyDown(event, chipId, chipIndex) {
|
78
79
|
if (event.key === Keys.Tab) {
|
79
80
|
event.preventDefault();
|
80
81
|
}
|
81
82
|
if (event.key === Keys.Backspace) {
|
82
|
-
onChipClear(chipId);
|
83
|
+
onChipClear(chipId, chipIndex);
|
83
84
|
}
|
84
85
|
};
|
85
86
|
var handleContentKeyDown = function handleContentKeyDown(event) {
|
86
87
|
var _inputRef$current2, _focusedItem, _focusedItem2;
|
87
|
-
var chipsRefsCount =
|
88
|
+
var chipsRefsCount = chipsRefs.current.length;
|
88
89
|
var currentCaretPosition = (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.selectionStart) || 0;
|
89
90
|
var newActiveChipIndex = activeChipIndex;
|
90
91
|
var focusedItem = null;
|