@salutejs/plasma-new-hope 0.156.0-canary.1421.11105397584.0 → 0.156.0-canary.1421.11105922905.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. package/cjs/components/Drawer/Drawer.js +6 -4
  2. package/cjs/components/Drawer/Drawer.js.map +1 -1
  3. package/cjs/components/Drawer/Drawer.styles.js +11 -14
  4. package/cjs/components/Drawer/Drawer.styles.js.map +1 -1
  5. package/cjs/components/Drawer/Drawer.tokens.js +5 -1
  6. package/cjs/components/Drawer/Drawer.tokens.js.map +1 -1
  7. package/cjs/components/Drawer/hooks/useDrawer.js +11 -4
  8. package/cjs/components/Drawer/hooks/useDrawer.js.map +1 -1
  9. package/cjs/components/TextArea/TextArea.js +21 -4
  10. package/cjs/components/TextArea/TextArea.js.map +1 -1
  11. package/cjs/components/TextArea/utils/index.js +13 -0
  12. package/cjs/components/TextArea/utils/index.js.map +1 -0
  13. package/cjs/components/TextField/TextField.js +16 -0
  14. package/cjs/components/TextField/TextField.js.map +1 -1
  15. package/cjs/hooks/useForm.js +11 -8
  16. package/cjs/hooks/useForm.js.map +1 -1
  17. package/emotion/cjs/components/Drawer/Drawer.js +2 -0
  18. package/emotion/cjs/components/Drawer/Drawer.styles.js +11 -14
  19. package/emotion/cjs/components/Drawer/Drawer.tokens.js +5 -1
  20. package/emotion/cjs/components/Drawer/hooks/useDrawer.js +11 -4
  21. package/emotion/cjs/components/TextArea/TextArea.js +18 -1
  22. package/emotion/cjs/components/TextArea/utils/index.js +12 -0
  23. package/emotion/cjs/components/TextField/TextField.js +17 -1
  24. package/emotion/cjs/examples/plasma_b2c/components/Drawer/Drawer.stories.tsx +3 -1
  25. package/emotion/cjs/examples/plasma_web/components/Drawer/Drawer.stories.tsx +3 -1
  26. package/emotion/cjs/hooks/useForm.js +11 -8
  27. package/emotion/es/components/Drawer/Drawer.js +3 -1
  28. package/emotion/es/components/Drawer/Drawer.styles.js +11 -14
  29. package/emotion/es/components/Drawer/Drawer.tokens.js +5 -1
  30. package/emotion/es/components/Drawer/hooks/useDrawer.js +11 -4
  31. package/emotion/es/components/TextArea/TextArea.js +19 -2
  32. package/emotion/es/components/TextArea/utils/index.js +6 -0
  33. package/emotion/es/components/TextField/TextField.js +17 -1
  34. package/emotion/es/examples/plasma_b2c/components/Drawer/Drawer.stories.tsx +3 -1
  35. package/emotion/es/examples/plasma_web/components/Drawer/Drawer.stories.tsx +3 -1
  36. package/emotion/es/hooks/useForm.js +11 -8
  37. package/es/components/Drawer/Drawer.js +4 -2
  38. package/es/components/Drawer/Drawer.js.map +1 -1
  39. package/es/components/Drawer/Drawer.styles.js +11 -14
  40. package/es/components/Drawer/Drawer.styles.js.map +1 -1
  41. package/es/components/Drawer/Drawer.tokens.js +5 -1
  42. package/es/components/Drawer/Drawer.tokens.js.map +1 -1
  43. package/es/components/Drawer/hooks/useDrawer.js +11 -4
  44. package/es/components/Drawer/hooks/useDrawer.js.map +1 -1
  45. package/es/components/TextArea/TextArea.js +18 -1
  46. package/es/components/TextArea/TextArea.js.map +1 -1
  47. package/es/components/TextArea/utils/index.js +9 -0
  48. package/es/components/TextArea/utils/index.js.map +1 -0
  49. package/es/components/TextField/TextField.js +16 -0
  50. package/es/components/TextField/TextField.js.map +1 -1
  51. package/es/hooks/useForm.js +11 -8
  52. package/es/hooks/useForm.js.map +1 -1
  53. package/package.json +2 -2
  54. package/styled-components/cjs/components/Drawer/Drawer.js +2 -0
  55. package/styled-components/cjs/components/Drawer/Drawer.styles.js +11 -14
  56. package/styled-components/cjs/components/Drawer/Drawer.tokens.js +5 -1
  57. package/styled-components/cjs/components/Drawer/hooks/useDrawer.js +11 -4
  58. package/styled-components/cjs/components/TextArea/TextArea.js +17 -0
  59. package/styled-components/cjs/components/TextArea/utils/index.js +12 -0
  60. package/styled-components/cjs/components/TextField/TextField.js +16 -0
  61. package/styled-components/cjs/examples/plasma_b2c/components/Drawer/Drawer.stories.tsx +3 -1
  62. package/styled-components/cjs/examples/plasma_web/components/Drawer/Drawer.stories.tsx +3 -1
  63. package/styled-components/cjs/hooks/useForm.js +11 -8
  64. package/styled-components/es/components/Drawer/Drawer.js +3 -1
  65. package/styled-components/es/components/Drawer/Drawer.styles.js +11 -14
  66. package/styled-components/es/components/Drawer/Drawer.tokens.js +5 -1
  67. package/styled-components/es/components/Drawer/hooks/useDrawer.js +11 -4
  68. package/styled-components/es/components/TextArea/TextArea.js +18 -1
  69. package/styled-components/es/components/TextArea/utils/index.js +6 -0
  70. package/styled-components/es/components/TextField/TextField.js +16 -0
  71. package/styled-components/es/examples/plasma_b2c/components/Drawer/Drawer.stories.tsx +3 -1
  72. package/styled-components/es/examples/plasma_web/components/Drawer/Drawer.stories.tsx +3 -1
  73. package/styled-components/es/hooks/useForm.js +11 -8
  74. package/types/components/Drawer/Drawer.d.ts.map +1 -1
  75. package/types/components/Drawer/Drawer.styles.d.ts.map +1 -1
  76. package/types/components/Drawer/Drawer.tokens.d.ts +4 -0
  77. package/types/components/Drawer/Drawer.tokens.d.ts.map +1 -1
  78. package/types/components/Drawer/hooks/useDrawer.d.ts.map +1 -1
  79. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  80. package/types/components/TextArea/utils/index.d.ts +2 -0
  81. package/types/components/TextArea/utils/index.d.ts.map +1 -0
  82. package/types/components/TextField/TextField.d.ts.map +1 -1
  83. package/types/hooks/useForm.d.ts.map +1 -1
@@ -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 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(\n Boolean(outerValue) || Boolean(inputRef?.current?.value) || Boolean(rest?.defaultValue),\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 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\n if (onKeyDown) {\n onKeyDown(event);\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 useEffect(() => {\n setHasValue(Boolean(rest?.defaultValue));\n }, [rest.defaultValue]);\n\n useEffect(() => {\n setHasValue(Boolean(outerValue) || Boolean(inputRef?.current?.value));\n }, [outerValue, inputRef?.current?.value]);\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 // Ref для внутреннего использования. Не отдается наружу.\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 && !hasValue && (\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","_inputRef$current","_inputRef$current3","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","current","defaultValue","_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","scrollTo","top","left","offsetLeft","behavior","focus","getRef","element","index","handleOnKeyDown","useEffect","map","text","_inputRef$current2","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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"}
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(\n Boolean(outerValue) || Boolean(inputRef?.current?.value) || Boolean(rest?.defaultValue),\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 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\n if (onKeyDown) {\n onKeyDown(event);\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 useEffect(() => {\n console.log(inputRef);\n if (inputRef.current) {\n console.log(inputRef, 'current');\n inputRef.current.addEventListener('setInitialValue', () => setHasValue(true));\n }\n\n return () => {\n if (inputRef.current) {\n inputRef.current.removeEventListener('setInitialValue', () => setHasValue(true));\n }\n };\n }, []);\n\n useEffect(() => {\n setHasValue(Boolean(rest?.defaultValue));\n }, [rest.defaultValue]);\n\n useEffect(() => {\n setHasValue(Boolean(outerValue) || Boolean(inputRef?.current?.value));\n }, [outerValue, inputRef?.current?.value]);\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 // Ref для внутреннего использования. Не отдается наружу.\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 && !hasValue && (\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","_inputRef$current","_inputRef$current3","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","current","defaultValue","_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","scrollTo","top","left","offsetLeft","behavior","focus","getRef","element","index","handleOnKeyDown","useEffect","map","text","console","log","addEventListener","removeEventListener","_inputRef$current2","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":";;;;;;;;;;;;;;;AAkCA,IAAMA,YAAY,GAAG,UAAU,CAAA;AAExB,IAAMC,IAAI,GAGhB,UAAA;IAEYC,aAAa,GAAGA,SAAhBA,aAAaA,CAAIC,IAA+C,EAAA;AAAA,EAAA,oBACzEC,UAAU,CACN,UAAAC,IAAA,EAsCIC,GAAG,EACF;IAAA,IAAAC,iBAAA,EAAAC,kBAAA,CAAA;AAAA,IAAA,IArCGC,EAAE,GAAAJ,IAAA,CAAFI,EAAE;MACFC,SAAS,GAAAL,IAAA,CAATK,SAAS;MACTC,KAAK,GAAAN,IAAA,CAALM,KAAK;MAGLC,WAAW,GAAAP,IAAA,CAAXO,WAAW;MACXC,YAAY,GAAAR,IAAA,CAAZQ,YAAY;MACZC,KAAK,GAAAT,IAAA,CAALS,KAAK;MACLC,cAAc,GAAAV,IAAA,CAAdU,cAAc;MACdC,UAAU,GAAAX,IAAA,CAAVW,UAAU;MACVC,SAAS,GAAAZ,IAAA,CAATY,SAAS;MACTC,WAAW,GAAAb,IAAA,CAAXa,WAAW;MACXC,UAAU,GAAAd,IAAA,CAAVc,UAAU;MAAAC,oBAAA,GAAAf,IAAA,CACVgB,eAAe;AAAfA,MAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,oBAAA;MAAAE,qBAAA,GAAAjB,IAAA,CACzBkB,iBAAiB;AAAjBA,MAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,qBAAA;MAG3BE,IAAI,GAAAnB,IAAA,CAAJmB,IAAI;MACJC,IAAI,GAAApB,IAAA,CAAJoB,IAAI;MAAAC,aAAA,GAAArB,IAAA,CACJsB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAAAE,aAAA,GAAAvB,IAAA,CAChBwB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAAAE,aAAA,GAAAzB,IAAA,CAChB0B,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAChBE,QAAQ,GAAA3B,IAAA,CAAR2B,QAAQ;MAGDC,UAAU,GAAA5B,IAAA,CAAjB6B,KAAK;MACEC,MAAM,GAAA9B,IAAA,CAAb+B,KAAK;MAGLC,QAAQ,GAAAhC,IAAA,CAARgC,QAAQ;MACRC,aAAa,GAAAjC,IAAA,CAAbiC,aAAa;MACbC,QAAQ,GAAAlC,IAAA,CAARkC,QAAQ;MACRC,SAAS,GAAAnC,IAAA,CAATmC,SAAS;AAENC,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,YAAY,GAAGC,UAAU,CAACF,QAAQ,EAAEtC,GAAG,CAAC,CAAA;AAC9C,IAAA,IAAMyC,SAAS,GAAGJ,MAAM,CAA2B,EAAE,CAAC,CAAA;AAEtD,IAAA,IAAMK,cAAc,GAAG;AAAEN,MAAAA,UAAU,EAAVA,UAAU;AAAEE,MAAAA,QAAQ,EAARA,QAAQ;AAAEG,MAAAA,SAAAA,EAAAA,SAAAA;KAAW,CAAA;AAE1D,IAAA,IAAAE,SAAA,GAAgCC,QAAQ,CACpCC,OAAO,CAAClB,UAAU,CAAC,IAAIkB,OAAO,CAACP,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAArC,KAAAA,CAAAA,IAAAA,CAAAA,iBAAA,GAARqC,QAAQ,CAAEQ,OAAO,MAAA,IAAA,IAAA7C,iBAAA,KAAjBqC,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAAA,CAAmBV,KAAK,CAAC,IAAIiB,OAAO,CAACV,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEY,YAAY,CAC1F,CAAC;MAAAC,UAAA,GAAAC,cAAA,CAAAN,SAAA,EAAA,CAAA,CAAA;AAFMO,MAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,WAAW,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAG5B,IAAA,IAAAI,UAAA,GAA0BR,QAAQ,CAAoB,EAAE,CAAC;MAAAS,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAlDtB,MAAAA,KAAK,GAAAuB,UAAA,CAAA,CAAA,CAAA;AAAEC,MAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtB,IAAA,IAAME,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMC,OAAO,GAAGtD,EAAE,IAAIoD,MAAM,CAAA;AAC5B,IAAA,IAAMG,OAAO,GAAGF,SAAS,EAAE,CAAA;AAC3B,IAAA,IAAMG,YAAY,GAAGH,SAAS,EAAE,CAAA;AAEhC,IAAA,IAAMI,iBAAiB,GAAG7C,eAAe,KAAK,MAAM,CAAA;AACpD,IAAA,IAAM8C,cAAc,GAAGD,iBAAiB,IAAIf,OAAO,CAACf,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEgC,MAAM,CAAC,CAAA;IAClE,IAAMC,YAAY,GAAGF,cAAc,GAAGG,OAAO,CAACC,QAAQ,GAAGC,SAAS,CAAA;AAElE,IAAA,IAAMC,aAAa,GAAGtB,OAAO,CAACrC,KAAK,CAAC,CAAA;AACpC,IAAA,IAAM4D,aAAa,GAAGjD,IAAI,KAAK,IAAI,IAAIV,cAAc,KAAK,OAAO,IAAI,CAACoD,cAAc,IAAIM,aAAa,CAAA;AACrG,IAAA,IAAME,aAAa,GAAG5D,cAAc,KAAK,OAAO,IAAI0D,aAAa,CAAA;IACjE,IAAMG,cAAc,GAAGzB,OAAO,CAACjC,WAAW,CAAC,IAAI,CAACwD,aAAa,CAAA;IAE7D,IAAMG,eAAe,GAAGH,aAAa,IAAIC,aAAa,GAAG7D,KAAK,GAAG0D,SAAS,CAAA;IAC1E,IAAMM,wBAAwB,GAAG/D,cAAc,KAAK,OAAO,IAAI,CAAC2D,aAAa,GAAGF,SAAS,GAAGzD,cAAc,CAAA;AAE1G,IAAA,IAAMgE,qBAAqB,GAAGH,cAAc,GAAG1D,WAAW,GAAGsD,SAAS,CAAA;IACtE,IAAMQ,gBAAgB,GAAG7B,OAAO,CAAC4B,qBAAqB,CAAC,IAAI,CAACvB,QAAQ,CAAA;IAEpE,IAAMyB,sBAAsB,GAAG1D,iBAAiB,KAAK,OAAO,GAAG,cAAc,GAAGiD,SAAS,CAAA;IACzF,IAAMU,mBAAmB,GAAGJ,wBAAwB,GAC9CR,OAAO,CAAAa,EAAAA,CAAAA,MAAA,CAAIL,wBAAyB,EAAwC,gBAAA,CAAA,CAAA,GAC5EN,SAAS,CAAA;IACf,IAAMY,aAAa,GAAG5B,QAAQ,GAAGc,OAAO,CAACd,QAAQ,GAAGgB,SAAS,CAAA;IAE7D,IAAMa,yBAAyB,GAAG,CAACzE,WAAW,IAAIuD,cAAc,GAAGG,OAAO,CAACgB,mBAAmB,GAAGd,SAAS,CAAA;IAC1G,IAAMe,0BAA0B,GAC5B,CAAC1E,YAAY,IAAIsD,cAAc,GAAGG,OAAO,CAACkB,oBAAoB,GAAGhB,SAAS,CAAA;AAE9E,IAAA,IAAMiB,WAA+C,GAAIC,SAAnDD,WAA+CA,CAAIC,KAAK,EAAK;MAC/DjC,WAAW,CAACN,OAAO,CAAEuC,KAAK,CAACC,MAAM,CAAsBzD,KAAK,CAAC,CAAC,CAAA;KACjE,CAAA;AAED,IAAA,IAAM0D,YAAkD,GAAIF,SAAtDE,YAAkDA,CAAIF,KAAK,EAAK;MAClE,IAAI7D,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAAkE,aAAA,GAA6BH,KAAK,CAACC,MAAM;QAAjCG,SAAS,GAAAD,aAAA,CAATC,SAAS;QAAE5D,KAAAA,GAAAA,aAAAA,CAAAA,KAAAA,CAAAA;MAEnB,IAAI4D,SAAS,KAAK,CAAC,CAAC,IAAI5D,KAAK,CAACkC,MAAM,GAAG0B,SAAS,EAAE;AAC9C,QAAA,OAAA;AACJ,OAAA;AAEAzD,MAAAA,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,IAARA,QAAQ,CAAGqD,KAAK,CAAC,CAAA;KACpB,CAAA;IAED,IAAMK,WAAW,GAAGA,SAAdA,WAAWA,CAAIC,QAA2B,EAAEC,SAAyC,EAAK;MAC5FrC,QAAQ,CAACoC,QAAQ,CAAC,CAAA;AAClB1D,MAAAA,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,IAAbA,aAAa,CAAG2D,SAAS,CAAC,CAAA;KAC7B,CAAA;IAED,IAAAC,iBAAA,GAAqFC,gBAAgB,CAAC;AAClGnD,QAAAA,cAAc,EAAdA,cAAc;AACdnB,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAQ,EAARA,QAAQ;AACRS,QAAAA,KAAK,EAALA,KAAK;AACLf,QAAAA,eAAe,EAAfA,eAAe;AACf0E,QAAAA,WAAW,EAAXA,WAAW;AACXxD,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAQ,EAARA,QAAQ;QACR+D,eAAe,EAAG3D,IAAI,CAAS2D,eAAAA;AACnC,OAAC,CAAC;MAVMC,kBAAkB,GAAAH,iBAAA,CAAlBG,kBAAkB;MAAEC,iBAAiB,GAAAJ,iBAAA,CAAjBI,iBAAiB;MAAEC,WAAW,GAAAL,iBAAA,CAAXK,WAAW;MAAEC,oBAAAA,GAAAA,iBAAAA,CAAAA,oBAAAA,CAAAA;AAY5D,IAAA,IAAMC,WAAW,GAAGA,SAAdA,WAAWA,CAAIf,KAA0C,EAAA;AAAA,MAAA,OAAKA,KAAK,CAACgB,eAAe,EAAE,CAAA;AAAA,KAAA,CAAA;AAE3F,IAAA,IAAMC,gBAAgB,GAAGA,SAAnBA,gBAAgBA,GAAS;AAC3B,MAAA,IAAIhF,QAAQ,IAAIE,QAAQ,IAAI,EAACe,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,IAAAA,QAAQ,CAAEQ,OAAO,CAAE,EAAA;AAC5C,QAAA,OAAA;AACJ,OAAA;AAEAR,MAAAA,QAAQ,CAACQ,OAAO,CAACwD,QAAQ,CAAC;AACtBC,QAAAA,GAAG,EAAE,CAAC;AACNC,QAAAA,IAAI,EAAElE,QAAQ,CAACQ,OAAO,CAAC2D,UAAU;AACjCC,QAAAA,QAAQ,EAAE,QAAA;AACd,OAAC,CAAC,CAAA;AAEFpE,MAAAA,QAAQ,CAACQ,OAAO,CAAC6D,KAAK,EAAE,CAAA;KAC3B,CAAA;IAED,IAAMC,MAAM,GAAGA,SAATA,MAAMA,CAAIC,OAAiC,EAAEC,KAAa,EAAK;MACjE,IAAID,OAAO,IAAIpE,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,IAAAA,SAAS,CAAEK,OAAO,EAAE;AAC/BL,QAAAA,SAAS,CAACK,OAAO,CAACgE,KAAK,CAAC,GAAGD,OAAO,CAAA;AACtC,OAAA;KACH,CAAA;AAED,IAAA,IAAME,eAAe,GAAGA,SAAlBA,eAAeA,CAAI3B,KAAsE,EAAK;MAChGW,kBAAkB,CAACX,KAAK,CAAC,CAAA;AAEzB,MAAA,IAAIlD,SAAS,EAAE;QACXA,SAAS,CAACkD,KAAK,CAAC,CAAA;AACpB,OAAA;KACH,CAAA;AAED4B,IAAAA,SAAS,CAAC,YAAM;MACZ,IAAI,CAACpD,iBAAiB,IAAI,EAAC/B,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,IAAAA,MAAM,CAAEiC,MAAM,CAAE,EAAA;AACvC,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAM4B,QAAQ,GACV7D,CAAAA,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEoF,GAAG,CAAC,UAACrF,KAAK,EAAEkF,KAAK,EAAA;QAAA,OAAM;UAC3B3G,EAAE,EAAA,EAAA,CAAA0E,MAAA,CAAKiC,KAAM,OAAAjC,MAAA,CAAGjD,KAAM,CAAC;AACvBsF,UAAAA,IAAI,EAAEtF,KAAAA;SACT,CAAA;OAAC,CAAC,KAAI,EAAE,CAAA;MAEb0B,QAAQ,CAACoC,QAAQ,CAAC,CAAA;AACtB,KAAC,EAAE,CAAC9B,iBAAiB,EAAE/B,MAAM,CAAC,CAAC,CAAA;AAE/BmF,IAAAA,SAAS,CAAC,YAAM;AACZG,MAAAA,OAAO,CAACC,GAAG,CAAC9E,QAAQ,CAAC,CAAA;MACrB,IAAIA,QAAQ,CAACQ,OAAO,EAAE;AAClBqE,QAAAA,OAAO,CAACC,GAAG,CAAC9E,QAAQ,EAAE,SAAS,CAAC,CAAA;AAChCA,QAAAA,QAAQ,CAACQ,OAAO,CAACuE,gBAAgB,CAAC,iBAAiB,EAAE,YAAA;UAAA,OAAMlE,WAAW,CAAC,IAAI,CAAC,CAAA;SAAC,CAAA,CAAA;AACjF,OAAA;AAEA,MAAA,OAAO,YAAM;QACT,IAAIb,QAAQ,CAACQ,OAAO,EAAE;AAClBR,UAAAA,QAAQ,CAACQ,OAAO,CAACwE,mBAAmB,CAAC,iBAAiB,EAAE,YAAA;YAAA,OAAMnE,WAAW,CAAC,IAAI,CAAC,CAAA;WAAC,CAAA,CAAA;AACpF,SAAA;OACH,CAAA;KACJ,EAAE,EAAE,CAAC,CAAA;AAEN6D,IAAAA,SAAS,CAAC,YAAM;MACZ7D,WAAW,CAACN,OAAO,CAACV,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEY,YAAY,CAAC,CAAC,CAAA;AAC5C,KAAC,EAAE,CAACZ,IAAI,CAACY,YAAY,CAAC,CAAC,CAAA;AAEvBiE,IAAAA,SAAS,CAAC,YAAM;AAAA,MAAA,IAAAO,kBAAA,CAAA;MACZpE,WAAW,CAACN,OAAO,CAAClB,UAAU,CAAC,IAAIkB,OAAO,CAACP,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,IAAA,CAAAiF,kBAAA,GAARjF,QAAQ,CAAEQ,OAAO,MAAAyE,IAAAA,IAAAA,kBAAA,uBAAjBjF,kBAAAA,CAAmBV,KAAK,CAAC,CAAC,CAAA;KACxE,EAAE,CAACD,UAAU,EAAEW,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,gBAAApC,kBAAA,GAARoC,QAAQ,CAAEQ,OAAO,cAAA5C,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBoC,kBAAAA,CAAmBV,KAAK,CAAC,CAAC,CAAA;IAE1C,IAAM4F,aAAa,GAAG3E,OAAO,CAACpB,QAAQ,GAAG,KAAK,GAAGC,QAAQ,CAAC,CAAA;IAC1D,IAAM+F,sBAAsB,GAAGD,aAAa,IAAI,CAACjD,eAAe,IAAI,CAACF,aAAa,CAAA;IAClF,IAAMqD,gBAAgB,GAAGF,aAAa,gBAClCG,KAAA,CAAAC,aAAA,CAACC,kBAAkB,EAAA,IAAA,EACdhF,OAAO,CAAC4E,sBAAsB,GAAGhD,qBAAqB,GAAGF,eAAe,CAAC,IAAI,MAAM,EACnF7E,YACe,CAAC,GACrB,IAAI,CAAA;AAER,IAAA,oBACIiI,KAAA,CAAAC,aAAA,CAAC/H,IAAI,EAAA;AACDqB,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXI,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAS;AAChCZ,MAAAA,cAAc,EAAE+D,wBAAyB;AACzCsD,MAAAA,OAAO,EAAEzB,gBAAiB;MAC1BjG,SAAS,EAAE2H,EAAE,CAACnD,mBAAmB,EAAEZ,OAAO,CAACgE,kBAAkB,EAAE5H,SAAS,CAAE;AAC1EC,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAAA,EAEZgE,aAAa,iBACVsD,KAAA,CAAAC,aAAA,CAACK,KAAK,EAAA;AAAC9H,MAAAA,EAAE,EAAEuD,OAAQ;AAACwE,MAAAA,OAAO,EAAE/H,EAAAA;AAAG,KAAA,EAC3BsB,QAAQ,iBACLkG,KAAA,CAAAC,aAAA,CAACO,eAAe,EAAA;AAAC/H,MAAAA,SAAS,EAAE2H,EAAE,CAAC/D,OAAO,CAACoE,mBAAmB,EAAEzD,sBAAsB,CAAA;KACrF,CAAA,EACAJ,eAAe,EACfmD,gBACE,CACV,eACDC,KAAA,CAAAC,aAAA,CAACS,YAAAA;AACG;AAAA,MAAA;MACArI,GAAG,EAAGmC,IAAI,CAASmG,eAAgB;AACnClI,MAAAA,SAAS,EAAE2H,EAAE,CAAChE,YAAY,EAAEgB,yBAAyB,EAAEE,0BAA0B,CAAA;KAEhF,EAAA,CAACZ,aAAa,IAAI5C,QAAQ,iBACvBkG,KAAA,CAAAC,aAAA,CAACO,eAAe,EAAA;AAAC/H,MAAAA,SAAS,EAAE2H,EAAE,CAAC/D,OAAO,CAACuE,mBAAmB,EAAE5D,sBAAsB,CAAA;AAAE,KACvF,CAAA,EACArE,WAAW,iBAAIqH,KAAA,CAAAC,aAAA,CAACY,iBAAiB,EAAA,IAAA,EAAElI,WAA+B,CAAC,eACpEqH,KAAA,CAAAC,aAAA,CAACa,iBAAiB,EAAA;MACdC,QAAQ,EAAE,CAAC,CAAE;AACb1I,MAAAA,GAAG,EAAEoC,UAAW;AAChBF,MAAAA,SAAS,EAAEgE,oBAAqB;AAChC9F,MAAAA,SAAS,EAAE2D,YAAAA;AAAa,KAAA,EAEvBrD,UAAU,iBAAIiH,KAAA,CAAAC,aAAA,CAACe,gBAAgB,EAAEjI,IAAAA,EAAAA,UAA6B,CAAC,EAC/DkD,iBAAiB,IAAIf,OAAO,CAACf,KAAK,KAALA,IAAAA,IAAAA,KAAK,uBAALA,KAAK,CAAEgC,MAAM,CAAC,iBACxC6D,KAAA,CAAAC,aAAA,CAACgB,WAAW,QACP9G,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEmF,GAAG,CAAC,UAAA4B,KAAA,EAAuB/B,KAAK,EAAK;AAAA,MAAA,IAA1BgC,MAAM,GAAAD,KAAA,CAAV1I,EAAE;QAAU+G,IAAAA,GAAAA,KAAAA,CAAAA,IAAAA,CAAAA;AACvB,MAAA,oBACIS,KAAA,CAAAC,aAAA,CAACmB,aAAa,EAAA;AACV5I,QAAAA,EAAE,EAAE2I,MAAO;QACX9I,GAAG,EAAG6G,SAAAA,GAAAA,CAAAA,OAAO,EAAA;AAAA,UAAA,OAAKD,MAAM,CAACC,OAAO,EAAEC,KAAK,CAAC,CAAA;SAAC;QACzCkC,GAAG,EAAA,EAAA,CAAAnE,MAAA,CAAKiE,MAAO,OAAAjE,MAAA,CAAGiC,KAAM,CAAE;AAC1BvF,QAAAA,QAAQ,EAAEA,QAAS;AACnBF,QAAAA,QAAQ,EAAEA,QAAS;AACnBO,QAAAA,KAAK,EAAEsF,IAAK;AACZA,QAAAA,IAAI,EAAEA,IAAK;QACXhF,SAAS,EAAGkD,SAAAA,SAAAA,CAAAA,KAAK,EAAA;AAAA,UAAA,OAAKY,iBAAiB,CAACZ,KAAK,EAAE0D,MAAM,EAAEhC,KAAK,CAAC,CAAA;SAAC;QAC9DmC,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,UAAA,OAAMhD,WAAW,CAAC6C,MAAM,EAAEhC,KAAK,CAAC,CAAA;SAAC;AAC1CgB,QAAAA,OAAO,EAAE3B,WAAAA;AAAY,OACvB,CAAA,CAAA;AAEV,KAAC,CACQ,CAChB,eACDwB,KAAA,CAAAC,aAAA,CAACsB,cAAc,EAAA,IAAA,eACXvB,KAAA,CAAAC,aAAA,CAACuB,KAAK,EAAAC,QAAA,CAAA;AACFpJ,MAAAA,GAAG,EAAEuC,YAAa;AAClBpC,MAAAA,EAAE,EAAEsD,OAAQ;AACZ7B,MAAAA,KAAK,EAAED,UAAW;AAClB,MAAA,iBAAA,EAAiB+B,OAAQ;AACzB,MAAA,kBAAA,EAAkBC,YAAa;AAC/B/C,MAAAA,WAAW,EAAE6D,qBAAsB;AACnCrE,MAAAA,SAAS,EAAE2H,EAAE,CAACjD,aAAa,CAAE;AAC7BvD,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAS;AAChCgI,MAAAA,OAAO,EAAElE,WAAY;AACrBpD,MAAAA,QAAQ,EAAEuD,YAAa;AACvBpD,MAAAA,SAAS,EAAE6E,eAAAA;KACP5E,EAAAA,IAAI,CAAC,CAAA,EAEZiC,aAAa,iBACVuD,KAAA,CAAAC,aAAA,CAACK,KAAK,EAAA;AAAC9H,MAAAA,EAAE,EAAEuD,OAAQ;AAACwE,MAAAA,OAAO,EAAEzE,OAAAA;KACxBc,EAAAA,eAAe,EACfmD,gBACE,CACV,EACAhD,gBAAgB,IAAI,CAACxB,QAAQ,iBAC1ByE,KAAA,CAAAC,aAAA,CAAC0B,gBAAgB,EACZ7E,IAAAA,EAAAA,qBAAqB,EACrBgD,sBAAsB,IAAIC,gBACb,CAEV,CAAA,EACf/G,SAAS,iBAAIgH,KAAA,CAAAC,aAAA,CAAC2B,eAAe,EAAA,IAAA,EAAE5I,SAA2B,CAC5C,CAAA,EAClBJ,YAAY,iBAAIoH,KAAA,CAAAC,aAAA,CAAC4B,kBAAkB,EAAA,IAAA,EAAEjJ,YAAiC,CAC7D,CAAA,EACbM,UAAU,iBAAI8G,KAAA,CAAAC,aAAA,CAAC6B,UAAU,EAAA;AAACtJ,MAAAA,EAAE,EAAEwD,YAAAA;KAAe9C,EAAAA,UAAuB,CACnE,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAM6I,eAAe,GAAG;AAC3BC,EAAAA,IAAI,EAAE,WAAW;AACjBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEjK,aAAa;AACrBD,EAAAA,IAAI,EAAJA,IAAI;AACJmK,EAAAA,UAAU,EAAE;AACR5I,IAAAA,IAAI,EAAE;AACF6I,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACD7I,IAAAA,IAAI,EAAE;AACF4I,MAAAA,GAAG,EAAEE,MAAAA;KACR;AACD1I,IAAAA,QAAQ,EAAE;AACNwI,MAAAA,GAAG,EAAEG,MAAW;AAChBC,MAAAA,KAAK,EAAE,IAAA;KACV;AACD9I,IAAAA,QAAQ,EAAE;AACN0I,MAAAA,GAAG,EAAEK,MAAW;AAChBD,MAAAA,KAAK,EAAE,IAAA;KACV;AACD1J,IAAAA,cAAc,EAAE;AACZsJ,MAAAA,GAAG,EAAEM,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNnJ,IAAAA,IAAI,EAAE,GAAG;AACTD,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;"}
@@ -14,6 +14,9 @@ var initData = function initData(ref, defaultValues) {
14
14
  type = item.type;
15
15
  if ((type === 'text' || type === 'textarea') && defaultValues[_name]) {
16
16
  item.value = String(defaultValues[_name]);
17
+ item.setAttribute('defaultValue', String(defaultValues[_name]));
18
+ var event = new Event('setInitialValue');
19
+ item.dispatchEvent(event);
17
20
  }
18
21
  if (type === 'checkbox' && defaultValues[_name]) {
19
22
  item.checked = Boolean(defaultValues[_name]);
@@ -25,30 +28,30 @@ var initData = function initData(ref, defaultValues) {
25
28
  var sliderType = item.getAttribute('datatype');
26
29
  if (sliderType === 'slider-single') {
27
30
  item.setAttribute('defaultValue', String(defaultValues[_name]));
28
- var event = new Event('setInitialValue');
29
- item.dispatchEvent(event);
31
+ var _event = new Event('setInitialValue');
32
+ item.dispatchEvent(_event);
30
33
  }
31
34
  if (sliderType === 'slider-double') {
32
35
  var isMax = item.getAttribute('data-slidertype') === 'max' ? 1 : 0;
33
36
  var _data = defaultValues[_name];
34
37
  item.setAttribute('defaultValue', String(_data[isMax]));
35
- var _event = new Event('setInitialValue');
36
- item.dispatchEvent(_event);
38
+ var _event2 = new Event('setInitialValue');
39
+ item.dispatchEvent(_event2);
37
40
  }
38
41
  }
39
42
  if (type === 'hidden') {
40
43
  var datepickerType = item.getAttribute('datatype');
41
44
  if (datepickerType === 'datepicker-single') {
42
45
  item.setAttribute('defaultValue', String(defaultValues[_name]));
43
- var _event2 = new Event('setInitialValue');
44
- item.dispatchEvent(_event2);
46
+ var _event3 = new Event('setInitialValue');
47
+ item.dispatchEvent(_event3);
45
48
  }
46
49
  if (datepickerType === 'datepicker-double') {
47
50
  var isTo = item.getAttribute('data-datepicker') === 'to' ? 1 : 0;
48
51
  var _data2 = defaultValues[_name];
49
52
  item.setAttribute('defaultValue', String(_data2[isTo]));
50
- var _event3 = new Event('setInitialValue');
51
- item.dispatchEvent(_event3);
53
+ var _event4 = new Event('setInitialValue');
54
+ item.dispatchEvent(_event4);
52
55
  }
53
56
  }
54
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useForm.js","sources":["../../src/hooks/useForm.ts"],"sourcesContent":["import React, { RefObject, useEffect } from 'react';\n\ntype DataType = { [name: string]: string | boolean | null | number | number[] | Date | string[] };\n\nconst initData = (ref: RefObject<HTMLFormElement>, defaultValues: DataType) => {\n if (!ref.current) {\n return;\n }\n\n const form = ref.current as HTMLFormElement;\n const items = form.elements;\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i] as HTMLInputElement;\n const { name, value, type } = item;\n\n if ((type === 'text' || type === 'textarea') && defaultValues[name]) {\n item.value = String(defaultValues[name]);\n }\n\n if (type === 'checkbox' && defaultValues[name]) {\n item.checked = Boolean(defaultValues[name]);\n }\n\n if (type === 'radio' && defaultValues[name]) {\n item.checked = defaultValues[name] === value;\n }\n\n if (type === 'number' && defaultValues[name]) {\n const sliderType = item.getAttribute('datatype');\n\n if (sliderType === 'slider-single') {\n item.setAttribute('defaultValue', String(defaultValues[name]));\n const event = new Event('setInitialValue');\n item.dispatchEvent(event);\n }\n\n if (sliderType === 'slider-double') {\n const isMax = item.getAttribute('data-slidertype') === 'max' ? 1 : 0;\n const data = defaultValues[name] as number[];\n\n item.setAttribute('defaultValue', String(data[isMax]));\n const event = new Event('setInitialValue');\n item.dispatchEvent(event);\n }\n }\n\n if (type === 'hidden') {\n const datepickerType = item.getAttribute('datatype');\n\n if (datepickerType === 'datepicker-single') {\n item.setAttribute('defaultValue', String(defaultValues[name]));\n const event = new Event('setInitialValue');\n item.dispatchEvent(event);\n }\n\n if (datepickerType === 'datepicker-double') {\n const isTo = item.getAttribute('data-datepicker') === 'to' ? 1 : 0;\n const data = defaultValues[name] as number[];\n\n item.setAttribute('defaultValue', String(data[isTo]));\n const event = new Event('setInitialValue');\n item.dispatchEvent(event);\n }\n }\n }\n};\n\nconst valideParams = (name: string) => {\n return name && name !== '';\n};\n\nexport const useForm = (onSubmit: (data: DataType) => void, defaultValues: DataType) => {\n const formRef = React.createRef<HTMLFormElement>();\n\n useEffect(() => {\n initData(formRef, defaultValues);\n }, []);\n\n const formData = (event: React.FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n\n const result: DataType = {};\n\n const form = event.target as HTMLFormElement;\n const items = form.elements;\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i] as HTMLInputElement;\n const { name, value, type } = item;\n\n if ((type === 'text' || type === 'textarea') && valideParams(name)) {\n result[name] = value;\n }\n\n if (type === 'checkbox' && valideParams(name)) {\n result[name] = item.checked;\n }\n\n if (type === 'radio' && valideParams(name)) {\n if (item.checked) {\n result[name] = value;\n } else if (!(name in result)) {\n result[name] = null;\n }\n }\n\n if (type === 'number' && valideParams(name)) {\n const sliderType = item.getAttribute('datatype');\n\n if (sliderType === 'slider-single') {\n result[name] = value;\n }\n\n if (sliderType === 'slider-double') {\n const isMin = item.getAttribute('data-slidertype') === 'min';\n if (isMin) {\n result[name] = [Number(value)];\n }\n\n if (!isMin && Array.isArray(result[name])) {\n result[name] = [...(result[name] as number[]), Number(value)];\n }\n }\n }\n\n if (type === 'hidden' && valideParams(name)) {\n const sliderType = item.getAttribute('datatype');\n\n if (sliderType === 'datepicker-single') {\n result[name] = value;\n }\n\n if (sliderType === 'datepicker-double') {\n const isMin = item.getAttribute('data-datepicker') === 'from';\n if (isMin) {\n result[name] = [String(value)];\n }\n\n if (!isMin && Array.isArray(result[name])) {\n result[name] = [...(result[name] as string[]), String(value)];\n }\n }\n }\n }\n\n onSubmit(result);\n };\n\n return { formRef, formData };\n};\n"],"names":["initData","ref","defaultValues","current","form","items","elements","i","length","item","name","value","type","String","checked","Boolean","sliderType","getAttribute","setAttribute","event","Event","dispatchEvent","isMax","data","datepickerType","isTo","valideParams","useForm","onSubmit","formRef","React","createRef","useEffect","formData","preventDefault","result","target","isMin","Number","Array","isArray","concat","_toConsumableArray"],"mappings":"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"}
1
+ {"version":3,"file":"useForm.js","sources":["../../src/hooks/useForm.ts"],"sourcesContent":["import React, { RefObject, useEffect } from 'react';\n\ntype DataType = { [name: string]: string | boolean | null | number | number[] | Date | string[] };\n\nconst initData = (ref: RefObject<HTMLFormElement>, defaultValues: DataType) => {\n if (!ref.current) {\n return;\n }\n\n const form = ref.current as HTMLFormElement;\n const items = form.elements;\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i] as HTMLInputElement;\n const { name, value, type } = item;\n\n if ((type === 'text' || type === 'textarea') && defaultValues[name]) {\n item.value = String(defaultValues[name]);\n item.setAttribute('defaultValue', String(defaultValues[name]));\n const event = new Event('setInitialValue');\n item.dispatchEvent(event);\n }\n\n if (type === 'checkbox' && defaultValues[name]) {\n item.checked = Boolean(defaultValues[name]);\n }\n\n if (type === 'radio' && defaultValues[name]) {\n item.checked = defaultValues[name] === value;\n }\n\n if (type === 'number' && defaultValues[name]) {\n const sliderType = item.getAttribute('datatype');\n\n if (sliderType === 'slider-single') {\n item.setAttribute('defaultValue', String(defaultValues[name]));\n const event = new Event('setInitialValue');\n item.dispatchEvent(event);\n }\n\n if (sliderType === 'slider-double') {\n const isMax = item.getAttribute('data-slidertype') === 'max' ? 1 : 0;\n const data = defaultValues[name] as number[];\n\n item.setAttribute('defaultValue', String(data[isMax]));\n const event = new Event('setInitialValue');\n item.dispatchEvent(event);\n }\n }\n\n if (type === 'hidden') {\n const datepickerType = item.getAttribute('datatype');\n\n if (datepickerType === 'datepicker-single') {\n item.setAttribute('defaultValue', String(defaultValues[name]));\n const event = new Event('setInitialValue');\n item.dispatchEvent(event);\n }\n\n if (datepickerType === 'datepicker-double') {\n const isTo = item.getAttribute('data-datepicker') === 'to' ? 1 : 0;\n const data = defaultValues[name] as number[];\n\n item.setAttribute('defaultValue', String(data[isTo]));\n const event = new Event('setInitialValue');\n item.dispatchEvent(event);\n }\n }\n }\n};\n\nconst valideParams = (name: string) => {\n return name && name !== '';\n};\n\nexport const useForm = (onSubmit: (data: DataType) => void, defaultValues: DataType) => {\n const formRef = React.createRef<HTMLFormElement>();\n\n useEffect(() => {\n initData(formRef, defaultValues);\n }, []);\n\n const formData = (event: React.FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n\n const result: DataType = {};\n\n const form = event.target as HTMLFormElement;\n const items = form.elements;\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i] as HTMLInputElement;\n const { name, value, type } = item;\n\n if ((type === 'text' || type === 'textarea') && valideParams(name)) {\n result[name] = value;\n }\n\n if (type === 'checkbox' && valideParams(name)) {\n result[name] = item.checked;\n }\n\n if (type === 'radio' && valideParams(name)) {\n if (item.checked) {\n result[name] = value;\n } else if (!(name in result)) {\n result[name] = null;\n }\n }\n\n if (type === 'number' && valideParams(name)) {\n const sliderType = item.getAttribute('datatype');\n\n if (sliderType === 'slider-single') {\n result[name] = value;\n }\n\n if (sliderType === 'slider-double') {\n const isMin = item.getAttribute('data-slidertype') === 'min';\n if (isMin) {\n result[name] = [Number(value)];\n }\n\n if (!isMin && Array.isArray(result[name])) {\n result[name] = [...(result[name] as number[]), Number(value)];\n }\n }\n }\n\n if (type === 'hidden' && valideParams(name)) {\n const sliderType = item.getAttribute('datatype');\n\n if (sliderType === 'datepicker-single') {\n result[name] = value;\n }\n\n if (sliderType === 'datepicker-double') {\n const isMin = item.getAttribute('data-datepicker') === 'from';\n if (isMin) {\n result[name] = [String(value)];\n }\n\n if (!isMin && Array.isArray(result[name])) {\n result[name] = [...(result[name] as string[]), String(value)];\n }\n }\n }\n }\n\n onSubmit(result);\n };\n\n return { formRef, formData };\n};\n"],"names":["initData","ref","defaultValues","current","form","items","elements","i","length","item","name","value","type","String","setAttribute","event","Event","dispatchEvent","checked","Boolean","sliderType","getAttribute","isMax","data","datepickerType","isTo","valideParams","useForm","onSubmit","formRef","React","createRef","useEffect","formData","preventDefault","result","target","isMin","Number","Array","isArray","concat","_toConsumableArray"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.156.0-canary.1421.11105397584.0",
3
+ "version": "0.156.0-canary.1421.11105922905.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -123,5 +123,5 @@
123
123
  "react-popper": "2.3.0",
124
124
  "storeon": "3.1.5"
125
125
  },
126
- "gitHead": "81fd4393a1599ed102f482ec16ade076097ea61e"
126
+ "gitHead": "136a2361fa3e3e19fa4d7c95e7ea0593fd2316ea"
127
127
  }
@@ -70,6 +70,7 @@ var drawerRoot = exports.drawerRoot = function drawerRoot(Root) {
70
70
  var overlayBackgroundToken = withBlur ? "var(".concat(_Drawer.tokens.drawerOverlayWithBlurColor, ")") : "var(".concat(_Drawer.tokens.drawerOverlayColor, ")");
71
71
  var innerWidth = width ? (0, _utils2.getSizeValueFromProp)(width) : '100%';
72
72
  var innerHeight = height ? (0, _utils2.getSizeValueFromProp)(height) : '100%';
73
+ var placementClass = placement ? _Drawer.classes["".concat(placement, "Placement")] : undefined;
73
74
  var _useDrawer = (0, _hooks.useDrawer)({
74
75
  id: innerId,
75
76
  isOpen: innerIsOpen,
@@ -95,6 +96,7 @@ var drawerRoot = exports.drawerRoot = function drawerRoot(Root) {
95
96
  return /*#__PURE__*/_react["default"].createElement(_Drawer2.StyledPopup, _extends({
96
97
  id: innerId,
97
98
  ref: asModal ? innerRef : outerRef,
99
+ className: (0, _utils2.cx)(placementClass),
98
100
  opened: innerIsOpen,
99
101
  zIndex: zIndex,
100
102
  placement: placement,
@@ -52,24 +52,21 @@ var animationVariants = {
52
52
  }
53
53
  }
54
54
  };
55
+ var templateAnimationStyle = function templateAnimationStyle(placement) {
56
+ return "\n &.".concat(_Drawer.classes["".concat(placement, "Placement")], " {\n && .").concat(_Popup.popupClasses.root, " {\n animation: ").concat(placement, "ShowAnimation 0.2s forwards;\n }\n\n &&.").concat(_Popup.popupClasses.endAnimation, " .").concat(_Popup.popupClasses.root, " {\n animation: ").concat(placement, "HideAnimation 0.2s forwards;\n }\n\n @keyframes ").concat(placement, "ShowAnimation {\n 0% {\n transform: ").concat(animationVariants[placement].show.start, ";\n opacity: 0;\n }\n\n 100% {\n transform: ").concat(animationVariants[placement].show.end, ";\n opacity: 1;\n }\n }\n\n @keyframes ").concat(placement, "HideAnimation {\n 0% {\n transform: ").concat(animationVariants[placement].hide.start, ";\n opacity: 1;\n }\n\n 100% {\n transform: ").concat(animationVariants[placement].hide.end, ";\n opacity: 0;\n }\n } \n }\n ");
57
+ };
58
+ var getAnimationStyles = function getAnimationStyles() {
59
+ return Object.keys(animationVariants).reduce(function (acc, placement) {
60
+ acc += templateAnimationStyle(placement);
61
+ return acc;
62
+ }, '');
63
+ };
55
64
  var StyledPopup = exports.StyledPopup = /*#__PURE__*/(0, _styledComponents["default"])(Popup).withConfig({
56
65
  componentId: "plasma-new-hope__sc-cup208-0"
57
- })(["&&.", "{animation:fadeIn 0.2s forwards;}&&.", " .", "{animation:fadeOut 0.2s forwards;}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes fadeOut{from{opacity:1;}to{opacity:0;}}&& .", ",&& .", " > div{width:", ";height:", ";}&& .", "{animation:showAnimation 0.2s forwards;}&&.", " .", "{animation:hideAnimation 0.2s forwards;}@keyframes showAnimation{0%{transform:", ";opacity:0;}100%{transform:", ";opacity:1;}}@keyframes hideAnimation{0%{transform:", ";opacity:1;}100%{transform:", ";opacity:0;}}"], _Drawer.classes.overlay, _Popup.popupClasses.endAnimation, _Drawer.classes.overlay, _Popup.popupClasses.root, _Popup.popupClasses.root, function (_ref) {
66
+ })(["&&.", "{animation:fadeIn 0.2s forwards;}&&.", " .", "{animation:fadeOut 0.2s forwards;}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes fadeOut{from{opacity:1;}to{opacity:0;}}&& .", ",&& .", " > div{width:", ";height:", ";}", ""], _Drawer.classes.overlay, _Popup.popupClasses.endAnimation, _Drawer.classes.overlay, _Popup.popupClasses.root, _Popup.popupClasses.root, function (_ref) {
58
67
  var width = _ref.width;
59
68
  return width;
60
69
  }, function (_ref2) {
61
70
  var height = _ref2.height;
62
71
  return height;
63
- }, _Popup.popupClasses.root, _Popup.popupClasses.endAnimation, _Popup.popupClasses.root, function (_ref3) {
64
- var placement = _ref3.placement;
65
- return animationVariants[placement].show.start;
66
- }, function (_ref4) {
67
- var placement = _ref4.placement;
68
- return animationVariants[placement].show.end;
69
- }, function (_ref5) {
70
- var placement = _ref5.placement;
71
- return animationVariants[placement].hide.start;
72
- }, function (_ref6) {
73
- var placement = _ref6.placement;
74
- return animationVariants[placement].hide.end;
75
- });
72
+ }, /*#__PURE__*/getAnimationStyles());
@@ -11,7 +11,11 @@ var classes = exports.classes = {
11
11
  overlay: 'drawer-overlay',
12
12
  horizontal: 'drawer-horizontal',
13
13
  hasHeader: 'drawer-has-header',
14
- isRightClose: 'drawer-right-close-button'
14
+ isRightClose: 'drawer-right-close-button',
15
+ topPlacement: 'drawer-top-placement',
16
+ bottomPlacement: 'drawer-bottom-placement',
17
+ rightPlacement: 'drawer-right-placement',
18
+ leftPlacement: 'drawer-left-placement'
15
19
  };
16
20
  var tokens = exports.tokens = {
17
21
  drawerOverlayWithBlurColor: '--plasma-drawer-overlay-with-blur-color',
@@ -7,6 +7,7 @@ exports.useDrawer = void 0;
7
7
  var _react = /*#__PURE__*/require("react");
8
8
  var _DrawerContext = /*#__PURE__*/require("../DrawerContext");
9
9
  var _Popup = /*#__PURE__*/require("../../Popup");
10
+ var _utils = /*#__PURE__*/require("../../../utils");
10
11
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
11
12
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
13
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -25,7 +26,7 @@ var useDrawer = exports.useDrawer = function useDrawer(_ref) {
25
26
  _ref$disableScroll = _ref.disableScroll,
26
27
  disableScroll = _ref$disableScroll === void 0 ? true : _ref$disableScroll;
27
28
  var popupController = (0, _Popup.usePopupContext)();
28
- var overflow = (0, _react.useRef)(document.body.style.overflowY);
29
+ var overflow = (0, _react.useRef)(_utils.canUseDOM ? document.body.style.overflow : 'initial');
29
30
 
30
31
  // При ESC закрывает текущее окно, если это возможно
31
32
  var onKeyDown = (0, _react.useCallback)(function (event) {
@@ -51,14 +52,20 @@ var useDrawer = exports.useDrawer = function useDrawer(_ref) {
51
52
 
52
53
  // linaria не поддерживает динамический global
53
54
  (0, _react.useEffect)(function () {
55
+ if (!_utils.canUseDOM) {
56
+ return;
57
+ }
54
58
  if (isOpen && disableScroll) {
55
- overflow.current = document.body.style.overflowY;
56
- document.body.style.overflowY = 'hidden';
59
+ overflow.current = document.body.style.overflow;
60
+ document.body.style.overflow = 'hidden';
57
61
  }
58
62
  }, [isOpen, disableScroll]);
59
63
  (0, _react.useEffect)(function () {
64
+ if (!_utils.canUseDOM) {
65
+ return;
66
+ }
60
67
  if (!isOpen && !(0, _DrawerContext.hasDrawers)(popupController.items)) {
61
- document.body.style.overflowY = overflow.current;
68
+ document.body.style.overflow = overflow.current;
62
69
  }
63
70
  }, [isOpen, popupController.items]);
64
71
  var drawerInfo = _objectSpread({
@@ -16,6 +16,7 @@ var _TextArea2 = /*#__PURE__*/require("./TextArea.tokens");
16
16
  var _base = /*#__PURE__*/require("./variations/_view/base");
17
17
  var _base2 = /*#__PURE__*/require("./variations/_size/base");
18
18
  var _base3 = /*#__PURE__*/require("./variations/_disabled/base");
19
+ var _utils2 = /*#__PURE__*/require("./utils");
19
20
  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"];
20
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
21
22
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
@@ -159,6 +160,22 @@ var textAreaRoot = exports.textAreaRoot = function textAreaRoot(Root) {
159
160
  }
160
161
  onChange === null || onChange === void 0 || onChange(event);
161
162
  }, [value, onChange]);
163
+ (0, _react.useEffect)(function () {
164
+ console.log(outerRef);
165
+ if (outerRef.current) {
166
+ console.log(outerRef, 'outer');
167
+ outerRef.current.addEventListener('setInitialValue', function (e) {
168
+ return setUncontrolledValue((0, _utils2.setInitialValue)(e));
169
+ });
170
+ }
171
+ return function () {
172
+ if (outerRef.current) {
173
+ outerRef.current.removeEventListener('setInitialValue', function (e) {
174
+ return setUncontrolledValue((0, _utils2.setInitialValue)(e));
175
+ });
176
+ }
177
+ };
178
+ }, []);
162
179
  var dynamicLabelClasses = getDynamicLabelClasses(_objectSpread({
163
180
  size: size,
164
181
  readOnly: readOnly,
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.setInitialValue = void 0;
7
+ var setInitialValue = exports.setInitialValue = function setInitialValue(e) {
8
+ console.log(e.target);
9
+ var item = e.target;
10
+ var defaultValue = String(item.getAttribute('defaultValue'));
11
+ return defaultValue;
12
+ };
@@ -174,6 +174,22 @@ var textFieldRoot = exports.textFieldRoot = function textFieldRoot(Root) {
174
174
  })) || [];
175
175
  setChips(newChips);
176
176
  }, [isChipEnumeration, values]);
177
+ (0, _react.useEffect)(function () {
178
+ console.log(inputRef);
179
+ if (inputRef.current) {
180
+ console.log(inputRef, 'current');
181
+ inputRef.current.addEventListener('setInitialValue', function () {
182
+ return setHasValue(true);
183
+ });
184
+ }
185
+ return function () {
186
+ if (inputRef.current) {
187
+ inputRef.current.removeEventListener('setInitialValue', function () {
188
+ return setHasValue(true);
189
+ });
190
+ }
191
+ };
192
+ }, []);
177
193
  (0, _react.useEffect)(function () {
178
194
  setHasValue(Boolean(rest === null || rest === void 0 ? void 0 : rest.defaultValue));
179
195
  }, [rest.defaultValue]);
@@ -136,6 +136,7 @@ const StoryDrawerDemo = ({
136
136
  showHeader,
137
137
  showFooter,
138
138
  showActions,
139
+ hasClose,
139
140
  closePlacement,
140
141
  offsetX,
141
142
  offsetY,
@@ -159,11 +160,12 @@ const StoryDrawerDemo = ({
159
160
  {...rest}
160
161
  >
161
162
  <DrawerHeader
163
+ hasClose={hasClose}
162
164
  closePlacement={closePlacement as ClosePlacementType}
163
165
  actions={
164
166
  showActions && (
165
167
  <StyledIconButton size="s" view="clear">
166
- <IconDone size="s" />
168
+ <IconDone size="s" color="inherit" />
167
169
  </StyledIconButton>
168
170
  )
169
171
  }
@@ -136,6 +136,7 @@ const StoryDrawerDemo = ({
136
136
  showHeader,
137
137
  showFooter,
138
138
  showActions,
139
+ hasClose,
139
140
  closePlacement,
140
141
  offsetX,
141
142
  offsetY,
@@ -159,11 +160,12 @@ const StoryDrawerDemo = ({
159
160
  {...rest}
160
161
  >
161
162
  <DrawerHeader
163
+ hasClose={hasClose}
162
164
  closePlacement={closePlacement as ClosePlacementType}
163
165
  actions={
164
166
  showActions && (
165
167
  <StyledIconButton size="s" view="clear">
166
- <IconDone size="s" />
168
+ <IconDone size="s" color="inherit" />
167
169
  </StyledIconButton>
168
170
  )
169
171
  }
@@ -27,6 +27,9 @@ var initData = function initData(ref, defaultValues) {
27
27
  type = item.type;
28
28
  if ((type === 'text' || type === 'textarea') && defaultValues[_name]) {
29
29
  item.value = String(defaultValues[_name]);
30
+ item.setAttribute('defaultValue', String(defaultValues[_name]));
31
+ var event = new Event('setInitialValue');
32
+ item.dispatchEvent(event);
30
33
  }
31
34
  if (type === 'checkbox' && defaultValues[_name]) {
32
35
  item.checked = Boolean(defaultValues[_name]);
@@ -38,30 +41,30 @@ var initData = function initData(ref, defaultValues) {
38
41
  var sliderType = item.getAttribute('datatype');
39
42
  if (sliderType === 'slider-single') {
40
43
  item.setAttribute('defaultValue', String(defaultValues[_name]));
41
- var event = new Event('setInitialValue');
42
- item.dispatchEvent(event);
44
+ var _event = new Event('setInitialValue');
45
+ item.dispatchEvent(_event);
43
46
  }
44
47
  if (sliderType === 'slider-double') {
45
48
  var isMax = item.getAttribute('data-slidertype') === 'max' ? 1 : 0;
46
49
  var _data = defaultValues[_name];
47
50
  item.setAttribute('defaultValue', String(_data[isMax]));
48
- var _event = new Event('setInitialValue');
49
- item.dispatchEvent(_event);
51
+ var _event2 = new Event('setInitialValue');
52
+ item.dispatchEvent(_event2);
50
53
  }
51
54
  }
52
55
  if (type === 'hidden') {
53
56
  var datepickerType = item.getAttribute('datatype');
54
57
  if (datepickerType === 'datepicker-single') {
55
58
  item.setAttribute('defaultValue', String(defaultValues[_name]));
56
- var _event2 = new Event('setInitialValue');
57
- item.dispatchEvent(_event2);
59
+ var _event3 = new Event('setInitialValue');
60
+ item.dispatchEvent(_event3);
58
61
  }
59
62
  if (datepickerType === 'datepicker-double') {
60
63
  var isTo = item.getAttribute('data-datepicker') === 'to' ? 1 : 0;
61
64
  var _data2 = defaultValues[_name];
62
65
  item.setAttribute('defaultValue', String(_data2[isTo]));
63
- var _event3 = new Event('setInitialValue');
64
- item.dispatchEvent(_event3);
66
+ var _event4 = new Event('setInitialValue');
67
+ item.dispatchEvent(_event4);
65
68
  }
66
69
  }
67
70
  }
@@ -9,7 +9,7 @@ import { usePopupContext } from '../Popup';
9
9
  import { Overlay } from '../Overlay';
10
10
  import { DEFAULT_Z_INDEX } from '../Popup/utils';
11
11
  import { panelConfig } from '../Panel';
12
- import { getSizeValueFromProp } from '../../utils';
12
+ import { cx, getSizeValueFromProp } from '../../utils';
13
13
  import { classes, tokens } from './Drawer.tokens';
14
14
  import { base as viewCSS } from './variations/_view/base';
15
15
  import { base as sizeCSS } from './variations/_size/base';
@@ -62,6 +62,7 @@ export var drawerRoot = function drawerRoot(Root) {
62
62
  var overlayBackgroundToken = withBlur ? "var(".concat(tokens.drawerOverlayWithBlurColor, ")") : "var(".concat(tokens.drawerOverlayColor, ")");
63
63
  var innerWidth = width ? getSizeValueFromProp(width) : '100%';
64
64
  var innerHeight = height ? getSizeValueFromProp(height) : '100%';
65
+ var placementClass = placement ? classes["".concat(placement, "Placement")] : undefined;
65
66
  var _useDrawer = useDrawer({
66
67
  id: innerId,
67
68
  isOpen: innerIsOpen,
@@ -87,6 +88,7 @@ export var drawerRoot = function drawerRoot(Root) {
87
88
  return /*#__PURE__*/React.createElement(StyledPopup, _extends({
88
89
  id: innerId,
89
90
  ref: asModal ? innerRef : outerRef,
91
+ className: cx(placementClass),
90
92
  opened: innerIsOpen,
91
93
  zIndex: zIndex,
92
94
  placement: placement,
@@ -45,24 +45,21 @@ var animationVariants = {
45
45
  }
46
46
  }
47
47
  };
48
+ var templateAnimationStyle = function templateAnimationStyle(placement) {
49
+ return "\n &.".concat(classes["".concat(placement, "Placement")], " {\n && .").concat(popupClasses.root, " {\n animation: ").concat(placement, "ShowAnimation 0.2s forwards;\n }\n\n &&.").concat(popupClasses.endAnimation, " .").concat(popupClasses.root, " {\n animation: ").concat(placement, "HideAnimation 0.2s forwards;\n }\n\n @keyframes ").concat(placement, "ShowAnimation {\n 0% {\n transform: ").concat(animationVariants[placement].show.start, ";\n opacity: 0;\n }\n\n 100% {\n transform: ").concat(animationVariants[placement].show.end, ";\n opacity: 1;\n }\n }\n\n @keyframes ").concat(placement, "HideAnimation {\n 0% {\n transform: ").concat(animationVariants[placement].hide.start, ";\n opacity: 1;\n }\n\n 100% {\n transform: ").concat(animationVariants[placement].hide.end, ";\n opacity: 0;\n }\n } \n }\n ");
50
+ };
51
+ var getAnimationStyles = function getAnimationStyles() {
52
+ return Object.keys(animationVariants).reduce(function (acc, placement) {
53
+ acc += templateAnimationStyle(placement);
54
+ return acc;
55
+ }, '');
56
+ };
48
57
  export var StyledPopup = /*#__PURE__*/styled(Popup).withConfig({
49
58
  componentId: "plasma-new-hope__sc-cup208-0"
50
- })(["&&.", "{animation:fadeIn 0.2s forwards;}&&.", " .", "{animation:fadeOut 0.2s forwards;}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes fadeOut{from{opacity:1;}to{opacity:0;}}&& .", ",&& .", " > div{width:", ";height:", ";}&& .", "{animation:showAnimation 0.2s forwards;}&&.", " .", "{animation:hideAnimation 0.2s forwards;}@keyframes showAnimation{0%{transform:", ";opacity:0;}100%{transform:", ";opacity:1;}}@keyframes hideAnimation{0%{transform:", ";opacity:1;}100%{transform:", ";opacity:0;}}"], classes.overlay, popupClasses.endAnimation, classes.overlay, popupClasses.root, popupClasses.root, function (_ref) {
59
+ })(["&&.", "{animation:fadeIn 0.2s forwards;}&&.", " .", "{animation:fadeOut 0.2s forwards;}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes fadeOut{from{opacity:1;}to{opacity:0;}}&& .", ",&& .", " > div{width:", ";height:", ";}", ""], classes.overlay, popupClasses.endAnimation, classes.overlay, popupClasses.root, popupClasses.root, function (_ref) {
51
60
  var width = _ref.width;
52
61
  return width;
53
62
  }, function (_ref2) {
54
63
  var height = _ref2.height;
55
64
  return height;
56
- }, popupClasses.root, popupClasses.endAnimation, popupClasses.root, function (_ref3) {
57
- var placement = _ref3.placement;
58
- return animationVariants[placement].show.start;
59
- }, function (_ref4) {
60
- var placement = _ref4.placement;
61
- return animationVariants[placement].show.end;
62
- }, function (_ref5) {
63
- var placement = _ref5.placement;
64
- return animationVariants[placement].hide.start;
65
- }, function (_ref6) {
66
- var placement = _ref6.placement;
67
- return animationVariants[placement].hide.end;
68
- });
65
+ }, /*#__PURE__*/getAnimationStyles());