@salutejs/plasma-new-hope 0.186.0-canary.1538.11705586782.0 → 0.186.0-canary.1541.11711445984.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. package/cjs/components/Dropdown/Dropdown.js +4 -6
  2. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  3. package/cjs/components/TextField/TextField.js +11 -0
  4. package/cjs/components/TextField/TextField.js.map +1 -1
  5. package/cjs/utils/syntheticEvent.js +56 -0
  6. package/cjs/utils/syntheticEvent.js.map +1 -0
  7. package/emotion/cjs/components/Dropdown/Dropdown.js +4 -6
  8. package/emotion/cjs/components/TextField/TextField.js +12 -1
  9. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +1 -0
  10. package/emotion/cjs/utils/syntheticEvent.js +54 -0
  11. package/emotion/es/components/Dropdown/Dropdown.js +4 -6
  12. package/emotion/es/components/TextField/TextField.js +12 -1
  13. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +1 -0
  14. package/emotion/es/utils/syntheticEvent.js +48 -0
  15. package/es/components/Dropdown/Dropdown.js +4 -6
  16. package/es/components/Dropdown/Dropdown.js.map +1 -1
  17. package/es/components/TextField/TextField.js +11 -0
  18. package/es/components/TextField/TextField.js.map +1 -1
  19. package/es/utils/syntheticEvent.js +51 -0
  20. package/es/utils/syntheticEvent.js.map +1 -0
  21. package/package.json +2 -2
  22. package/styled-components/cjs/components/Dropdown/Dropdown.js +4 -6
  23. package/styled-components/cjs/components/TextField/TextField.js +11 -0
  24. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +1 -0
  25. package/styled-components/cjs/utils/syntheticEvent.js +54 -0
  26. package/styled-components/es/components/Dropdown/Dropdown.js +4 -6
  27. package/styled-components/es/components/TextField/TextField.js +11 -0
  28. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +1 -0
  29. package/styled-components/es/utils/syntheticEvent.js +48 -0
  30. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  31. package/types/components/Dropdown/Dropdown.types.d.ts +0 -4
  32. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  33. package/types/components/TextField/TextField.d.ts.map +1 -1
  34. package/types/utils/syntheticEvent.d.ts +4 -0
  35. package/types/utils/syntheticEvent.d.ts.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { createContext, forwardRef, useReducer, useRef } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { pathReducer } from './reducers/pathReducer';\nimport { focusedPathReducer } from './reducers/focusedPathReducer';\nimport { DropdownInner } from './ui';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { Ul, base } from './Dropdown.styles';\nimport { childrenWithProps, getItemByFocused, getItemId, getPlacement } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType, ItemContext } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\nimport { FloatingPopover } from './FloatingPopover';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Выпадающий список.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, Omit<DropdownProps, 'items'>>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n items,\n children,\n placement,\n offset,\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n variant = 'normal',\n hasArrow = true,\n alwaysOpened = false,\n portal,\n ...rest\n },\n ref,\n ) => {\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n const treeId = safeUseId();\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>((event) => {\n if (!isCurrentListOpen || !closeOnOverlayClick || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false, event);\n }\n }, floatingPopoverRef);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (alwaysOpened || opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened, event);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n });\n\n const isCurrentListOpen = alwaysOpened || Boolean(path[0]);\n\n return (\n <Context.Provider\n value={{\n focusedPath,\n size,\n variant,\n itemRole,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemClick,\n onItemSelect,\n hasArrow,\n treeId,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n placement={getPlacement(placement)}\n offset={offset}\n portal={portal}\n trigger={trigger}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': `${treeId}_tree_level_1`,\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue.toString())\n : '',\n onKeyDown,\n })}\n >\n <Root\n className={cx(className, classes.dropdownRoot)}\n ref={ref}\n view={view}\n size={size}\n style={{ display: 'inline-block' }}\n {...rest}\n >\n <Ul\n ref={targetRef}\n id={`${treeId}_tree_level_1`}\n role=\"tree\"\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n >\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\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":["Context","createContext","dropdownRoot","Root","forwardRef","_ref","ref","_getItemByFocused","items","children","placement","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listWidth","listHeight","listOverflow","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$variant","variant","_ref$hasArrow","hasArrow","_ref$alwaysOpened","alwaysOpened","portal","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","activeDescendantItemValue","getItemByFocused","value","floatingPopoverRef","useRef","treeId","safeUseId","targetRef","useOutsideClick","event","isCurrentListOpen","type","handleGlobalToggle","opened","_useKeyNavigation","useKeyNavigation","onKeyDown","Boolean","React","createElement","Provider","FloatingPopover","getPlacement","target","childrenWithProps","role","concat","getItemId","toString","_extends","cx","classes","style","display","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { createContext, forwardRef, useReducer, useRef } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { pathReducer } from './reducers/pathReducer';\nimport { focusedPathReducer } from './reducers/focusedPathReducer';\nimport { DropdownInner } from './ui';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { Ul, base } from './Dropdown.styles';\nimport { childrenWithProps, getItemByFocused, getItemId, getPlacement } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType, ItemContext } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\nimport { FloatingPopover } from './FloatingPopover';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Выпадающий список.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, Omit<DropdownProps, 'items'>>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n items,\n children,\n placement,\n offset,\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n variant = 'normal',\n hasArrow = true,\n portal,\n ...rest\n },\n ref,\n ) => {\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n const treeId = safeUseId();\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>((event) => {\n if (!isCurrentListOpen || !closeOnOverlayClick) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false, event);\n }\n }, floatingPopoverRef);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened, event);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n });\n\n const isCurrentListOpen = Boolean(path[0]);\n\n return (\n <Context.Provider\n value={{\n focusedPath,\n size,\n variant,\n itemRole,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemClick,\n onItemSelect,\n hasArrow,\n treeId,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n placement={getPlacement(placement)}\n offset={offset}\n portal={portal}\n trigger={trigger}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': `${treeId}_tree_level_1`,\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue.toString())\n : '',\n onKeyDown,\n })}\n >\n <Root\n className={cx(className, classes.dropdownRoot)}\n ref={ref}\n view={view}\n size={size}\n style={{ display: 'inline-block' }}\n {...rest}\n >\n <Ul\n ref={targetRef}\n id={`${treeId}_tree_level_1`}\n role=\"tree\"\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n >\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\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":["Context","createContext","dropdownRoot","Root","forwardRef","_ref","ref","_getItemByFocused","items","children","placement","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listWidth","listHeight","listOverflow","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$variant","variant","_ref$hasArrow","hasArrow","portal","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","activeDescendantItemValue","getItemByFocused","value","floatingPopoverRef","useRef","treeId","safeUseId","targetRef","useOutsideClick","event","isCurrentListOpen","type","handleGlobalToggle","opened","_useKeyNavigation","useKeyNavigation","onKeyDown","Boolean","React","createElement","Provider","FloatingPopover","getPlacement","target","childrenWithProps","role","concat","getItemId","toString","_extends","cx","classes","style","display","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -3,6 +3,7 @@ import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _
3
3
  import React, { forwardRef, useRef, useState, useEffect } from 'react';
4
4
  import { useForkRef, safeUseId } from '@salutejs/plasma-core';
5
5
  import { cx } from '../../utils/index.js';
6
+ import { createEvent } from '../../utils/syntheticEvent.js';
6
7
  import { base as base$2 } from './variations/_size/base.js';
7
8
  import { base as base$1 } from './variations/_view/base.js';
8
9
  import { base as base$3 } from './variations/_clear/base.js';
@@ -215,11 +216,21 @@ var textFieldRoot = function textFieldRoot(Root) {
215
216
  setChips(newChips);
216
217
  }, [isChipEnumeration, values]);
217
218
  useEffect(function () {
219
+ console.log('Init Value');
218
220
  setHasValue(Boolean(rest === null || rest === void 0 ? void 0 : rest.defaultValue));
221
+ var event = createEvent(inputRef);
222
+ if (event) {
223
+ handleChange(event);
224
+ }
219
225
  }, [rest.defaultValue]);
220
226
  useEffect(function () {
221
227
  var _inputRef$current2;
228
+ console.log('Set Value');
222
229
  setHasValue(Boolean(outerValue) || Boolean(inputRef === null || inputRef === void 0 || (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.value));
230
+ var event = createEvent(inputRef);
231
+ if (event) {
232
+ handleChange(event);
233
+ }
223
234
  }, [outerValue, inputRef === null || inputRef === void 0 || (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.value]);
224
235
  var innerOptional = Boolean(required ? false : optional);
225
236
  var hasPlaceholderOptional = innerOptional && !innerLabelValue && !hasOuterLabel;
@@ -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, MouseEventHandler } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\n\nimport type { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps, TextFieldRootProps } from './TextField.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as clearCSS } from './variations/_clear/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 { base as hintViewCSS } from './variations/_hint-view/base';\nimport { base as hintSizeCSS } from './variations/_hint-size/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 OuterLabelWrapper,\n TitleCaption,\n StyledHintWrapper,\n StyledIndicatorWrapper,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks';\nimport { HintComponent } from './ui/Hint/Hint';\n\nconst optionalText = 'optional';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n`;\n\nconst HINT_DEFAULT_OFFSET: [number, number] = [0, 0];\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldRootProps>) =>\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 titleCaption,\n\n // hint\n hintTrigger = 'hover',\n hintText,\n hintView = 'default',\n hintSize = 'm',\n hintTargetIcon,\n hintPlacement = 'auto',\n hintHasArrow,\n hintOffset = HINT_DEFAULT_OFFSET,\n hintWidth,\n hintContentLeft,\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n required = false,\n clear = false,\n optional,\n hasDivider,\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 const [isHintVisible, setIsHintVisible] = useState(false);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isDefaultView = view === 'default' || readOnly || disabled;\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 clearClass = clear ? classes.clear : undefined;\n const hasDividerClass = hasDivider ? classes.hasDivider : undefined;\n const hasHintClass = hintText ? classes.hasHint : undefined;\n const requiredPlacementClass = requiredPlacement === 'right' ? classes.requiredAlignRight : 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 hintRef = useOutsideClick<HTMLDivElement>(() => {\n setIsHintVisible(false);\n });\n const hintInnerRef = useRef<HTMLDivElement>(null);\n const hintForkRef = useForkRef(hintRef, hintInnerRef);\n\n const handleInput: FormEventHandler<HTMLInputElement> = (event) => {\n setHasValue(Boolean((event.target as HTMLInputElement).value));\n };\n\n const handleHintShow = () => setIsHintVisible(true);\n const handleHintHide = () => setIsHintVisible(false);\n const handleHintClick: MouseEventHandler = (event) => {\n if (!hintText || hintTrigger !== 'click') {\n return;\n }\n\n event.stopPropagation();\n const targetIsPopover = event.target === hintInnerRef.current;\n const rootHasTarget = hintInnerRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n setIsHintVisible(true);\n }\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 clear={clear}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n className={cx(\n labelPlacementClass,\n clearClass,\n hasDividerClass,\n hasHintClass,\n classes.textFieldGroupItem,\n className,\n )}\n style={style}\n {...(hintText && { hintView, hintSize })}\n >\n {(hasOuterLabel || titleCaption) && (\n <OuterLabelWrapper isInnerLabel={labelPlacement === 'inner'}>\n {hasOuterLabel && (\n <StyledIndicatorWrapper>\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n\n {hintText && (\n <StyledHintWrapper>\n <HintComponent\n ref={hintForkRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n />\n </StyledHintWrapper>\n )}\n {required && (\n <StyledIndicator\n className={cx(\n classes.outerLabelPlacement,\n requiredPlacementClass,\n hasHintClass,\n )}\n />\n )}\n {optionalTextNode}\n </StyledIndicatorWrapper>\n )}\n {titleCaption && <TitleCaption>{titleCaption}</TitleCaption>}\n </OuterLabelWrapper>\n )}\n <InputWrapper\n // Ref для внутреннего использования. Не отдается наружу.\n ref={(rest as any).inputWrapperRef}\n className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}\n >\n {!hasOuterLabel && (\n <>\n {required && (\n <StyledIndicator\n className={cx(classes.innerLabelPlacement, requiredPlacementClass)}\n />\n )}\n {hintText && (\n <StyledHintWrapper className={classes.innerLabelPlacement}>\n <HintComponent\n ref={hintForkRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n />\n </StyledHintWrapper>\n )}\n </>\n )}\n {contentLeft && (\n <StyledContentLeft isClear={clear} isDefaultView={isDefaultView}>\n {contentLeft}\n </StyledContentLeft>\n )}\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 clear: {\n css: clearCSS,\n attrs: true,\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 hintView: {\n css: hintViewCSS,\n },\n hintSize: {\n css: hintSizeCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["optionalText","base","HINT_DEFAULT_OFFSET","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","titleCaption","_ref$hintTrigger","hintTrigger","hintText","_ref$hintView","hintView","_ref$hintSize","hintSize","hintTargetIcon","_ref$hintPlacement","hintPlacement","hintHasArrow","_ref$hintOffset","hintOffset","hintWidth","hintContentLeft","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$required","required","_ref$clear","clear","optional","hasDivider","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","_useState5","_useState6","isHintVisible","setIsHintVisible","uniqId","safeUseId","innerId","labelId","helperTextId","isDefaultView","isChipEnumeration","isChipsVisible","length","withHasChips","classes","hasChips","undefined","hasLabelValue","hasInnerLabel","hasOuterLabel","hasPlaceholder","innerLabelValue","innerLabelPlacementValue","innerPlaceholderValue","placeholderShown","clearClass","hasDividerClass","hasHintClass","hasHint","requiredPlacementClass","requiredAlignRight","labelPlacementClass","concat","hasValueClass","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","hintRef","useOutsideClick","hintInnerRef","hintForkRef","handleInput","event","target","handleHintShow","handleHintHide","handleHintClick","_hintInnerRef$current","stopPropagation","targetIsPopover","rootHasTarget","contains","handleChange","_event$target","maxLength","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","onEnterDisabled","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","handleInputFocus","scrollTo","top","left","offsetLeft","behavior","focus","getRef","element","index","handleOnKeyDown","useEffect","map","text","_inputRef$current2","innerOptional","hasPlaceholderOptional","optionalTextNode","React","createElement","StyledOptionalText","_extends","onClick","cx","textFieldGroupItem","OuterLabelWrapper","isInnerLabel","StyledIndicatorWrapper","Label","htmlFor","StyledHintWrapper","HintComponent","StyledIndicator","outerLabelPlacement","TitleCaption","InputWrapper","inputWrapperRef","Fragment","innerLabelPlacement","StyledContentLeft","isClear","InputLabelWrapper","tabIndex","StyledTextBefore","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","InputContainer","Input","onInput","InputPlaceholder","StyledTextAfter","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","clearCSS","attrs","disabledCSS","readOnlyCSS","labelPlacementCSS","hintViewCSS","hintSizeCSS","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, MouseEventHandler } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\n\nimport type { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\nimport { createEvent } from '../../utils/syntheticEvent';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps, TextFieldRootProps } from './TextField.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as clearCSS } from './variations/_clear/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 { base as hintViewCSS } from './variations/_hint-view/base';\nimport { base as hintSizeCSS } from './variations/_hint-size/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 OuterLabelWrapper,\n TitleCaption,\n StyledHintWrapper,\n StyledIndicatorWrapper,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks';\nimport { HintComponent } from './ui/Hint/Hint';\n\nconst optionalText = 'optional';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n`;\n\nconst HINT_DEFAULT_OFFSET: [number, number] = [0, 0];\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldRootProps>) =>\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 titleCaption,\n\n // hint\n hintTrigger = 'hover',\n hintText,\n hintView = 'default',\n hintSize = 'm',\n hintTargetIcon,\n hintPlacement = 'auto',\n hintHasArrow,\n hintOffset = HINT_DEFAULT_OFFSET,\n hintWidth,\n hintContentLeft,\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n required = false,\n clear = false,\n optional,\n hasDivider,\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 const [isHintVisible, setIsHintVisible] = useState(false);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isDefaultView = view === 'default' || readOnly || disabled;\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 clearClass = clear ? classes.clear : undefined;\n const hasDividerClass = hasDivider ? classes.hasDivider : undefined;\n const hasHintClass = hintText ? classes.hasHint : undefined;\n const requiredPlacementClass = requiredPlacement === 'right' ? classes.requiredAlignRight : 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 hintRef = useOutsideClick<HTMLDivElement>(() => {\n setIsHintVisible(false);\n });\n const hintInnerRef = useRef<HTMLDivElement>(null);\n const hintForkRef = useForkRef(hintRef, hintInnerRef);\n\n const handleInput: FormEventHandler<HTMLInputElement> = (event) => {\n setHasValue(Boolean((event.target as HTMLInputElement).value));\n };\n\n const handleHintShow = () => setIsHintVisible(true);\n const handleHintHide = () => setIsHintVisible(false);\n const handleHintClick: MouseEventHandler = (event) => {\n if (!hintText || hintTrigger !== 'click') {\n return;\n }\n\n event.stopPropagation();\n const targetIsPopover = event.target === hintInnerRef.current;\n const rootHasTarget = hintInnerRef.current?.contains(event.target as Element);\n\n if (!targetIsPopover && !rootHasTarget) {\n setIsHintVisible(true);\n }\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('Init Value');\n setHasValue(Boolean(rest?.defaultValue));\n const event = createEvent(inputRef);\n if (event) {\n handleChange(event);\n }\n }, [rest.defaultValue]);\n\n useEffect(() => {\n console.log('Set Value');\n setHasValue(Boolean(outerValue) || Boolean(inputRef?.current?.value));\n const event = createEvent(inputRef);\n if (event) {\n handleChange(event);\n }\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 clear={clear}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n className={cx(\n labelPlacementClass,\n clearClass,\n hasDividerClass,\n hasHintClass,\n classes.textFieldGroupItem,\n className,\n )}\n style={style}\n {...(hintText && { hintView, hintSize })}\n >\n {(hasOuterLabel || titleCaption) && (\n <OuterLabelWrapper isInnerLabel={labelPlacement === 'inner'}>\n {hasOuterLabel && (\n <StyledIndicatorWrapper>\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n\n {hintText && (\n <StyledHintWrapper>\n <HintComponent\n ref={hintForkRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n />\n </StyledHintWrapper>\n )}\n {required && (\n <StyledIndicator\n className={cx(\n classes.outerLabelPlacement,\n requiredPlacementClass,\n hasHintClass,\n )}\n />\n )}\n {optionalTextNode}\n </StyledIndicatorWrapper>\n )}\n {titleCaption && <TitleCaption>{titleCaption}</TitleCaption>}\n </OuterLabelWrapper>\n )}\n <InputWrapper\n // Ref для внутреннего использования. Не отдается наружу.\n ref={(rest as any).inputWrapperRef}\n className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}\n >\n {!hasOuterLabel && (\n <>\n {required && (\n <StyledIndicator\n className={cx(classes.innerLabelPlacement, requiredPlacementClass)}\n />\n )}\n {hintText && (\n <StyledHintWrapper className={classes.innerLabelPlacement}>\n <HintComponent\n ref={hintForkRef}\n hintText={hintText}\n hintTrigger={hintTrigger}\n isHintVisible={isHintVisible}\n hintTargetIcon={hintTargetIcon}\n hintPlacement={hintPlacement}\n hintHasArrow={hintHasArrow}\n hintOffset={hintOffset}\n hintWidth={hintWidth}\n hintContentLeft={hintContentLeft}\n handleHintShow={handleHintShow}\n handleHintHide={handleHintHide}\n handleHintClick={handleHintClick}\n />\n </StyledHintWrapper>\n )}\n </>\n )}\n {contentLeft && (\n <StyledContentLeft isClear={clear} isDefaultView={isDefaultView}>\n {contentLeft}\n </StyledContentLeft>\n )}\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 clear: {\n css: clearCSS,\n attrs: true,\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 hintView: {\n css: hintViewCSS,\n },\n hintSize: {\n css: hintSizeCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["optionalText","base","HINT_DEFAULT_OFFSET","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","titleCaption","_ref$hintTrigger","hintTrigger","hintText","_ref$hintView","hintView","_ref$hintSize","hintSize","hintTargetIcon","_ref$hintPlacement","hintPlacement","hintHasArrow","_ref$hintOffset","hintOffset","hintWidth","hintContentLeft","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$required","required","_ref$clear","clear","optional","hasDivider","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","_useState5","_useState6","isHintVisible","setIsHintVisible","uniqId","safeUseId","innerId","labelId","helperTextId","isDefaultView","isChipEnumeration","isChipsVisible","length","withHasChips","classes","hasChips","undefined","hasLabelValue","hasInnerLabel","hasOuterLabel","hasPlaceholder","innerLabelValue","innerLabelPlacementValue","innerPlaceholderValue","placeholderShown","clearClass","hasDividerClass","hasHintClass","hasHint","requiredPlacementClass","requiredAlignRight","labelPlacementClass","concat","hasValueClass","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","hintRef","useOutsideClick","hintInnerRef","hintForkRef","handleInput","event","target","handleHintShow","handleHintHide","handleHintClick","_hintInnerRef$current","stopPropagation","targetIsPopover","rootHasTarget","contains","handleChange","_event$target","maxLength","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","onEnterDisabled","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","handleInputFocus","scrollTo","top","left","offsetLeft","behavior","focus","getRef","element","index","handleOnKeyDown","useEffect","map","text","console","log","createEvent","_inputRef$current2","innerOptional","hasPlaceholderOptional","optionalTextNode","React","createElement","StyledOptionalText","_extends","onClick","cx","textFieldGroupItem","OuterLabelWrapper","isInnerLabel","StyledIndicatorWrapper","Label","htmlFor","StyledHintWrapper","HintComponent","StyledIndicator","outerLabelPlacement","TitleCaption","InputWrapper","inputWrapperRef","Fragment","innerLabelPlacement","StyledContentLeft","isClear","InputLabelWrapper","tabIndex","StyledTextBefore","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","InputContainer","Input","onInput","InputPlaceholder","StyledTextAfter","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","clearCSS","attrs","disabledCSS","readOnlyCSS","labelPlacementCSS","hintViewCSS","hintSizeCSS","defaults"],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ var createEvent = function createEvent(ref) {
2
+ if (ref.current) {
3
+ var event = new Event('change', {
4
+ bubbles: true
5
+ });
6
+ Object.defineProperty(event, 'target', {
7
+ writable: false,
8
+ value: ref.current
9
+ });
10
+ var syntheticEvent = createSyntheticEvent(event);
11
+ console.log(syntheticEvent);
12
+ return syntheticEvent;
13
+ }
14
+ return null;
15
+ };
16
+ var createSyntheticEvent = function createSyntheticEvent(event) {
17
+ var _isDefaultPrevented = false;
18
+ var _isPropagationStopped = false;
19
+ var preventDefault = function preventDefault() {
20
+ _isDefaultPrevented = true;
21
+ event.preventDefault();
22
+ };
23
+ var stopPropagation = function stopPropagation() {
24
+ _isPropagationStopped = true;
25
+ event.stopPropagation();
26
+ };
27
+ return {
28
+ nativeEvent: event,
29
+ currentTarget: event.currentTarget,
30
+ target: event.target,
31
+ bubbles: event.bubbles,
32
+ cancelable: event.cancelable,
33
+ defaultPrevented: event.defaultPrevented,
34
+ eventPhase: event.eventPhase,
35
+ isTrusted: event.isTrusted,
36
+ preventDefault: preventDefault,
37
+ isDefaultPrevented: function isDefaultPrevented() {
38
+ return _isDefaultPrevented;
39
+ },
40
+ stopPropagation: stopPropagation,
41
+ isPropagationStopped: function isPropagationStopped() {
42
+ return _isPropagationStopped;
43
+ },
44
+ persist: function persist() {},
45
+ timeStamp: event.timeStamp,
46
+ type: event.type
47
+ };
48
+ };
49
+
50
+ export { createEvent, createSyntheticEvent };
51
+ //# sourceMappingURL=syntheticEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syntheticEvent.js","sources":["../../src/utils/syntheticEvent.ts"],"sourcesContent":["import { RefObject } from 'react';\n\nexport const createEvent = (ref: RefObject<HTMLInputElement>) => {\n if (ref.current) {\n const event = new Event('change', { bubbles: true });\n Object.defineProperty(event, 'target', { writable: false, value: ref.current });\n const syntheticEvent = createSyntheticEvent(event) as React.ChangeEvent<typeof ref.current>;\n console.log(syntheticEvent);\n return syntheticEvent;\n }\n\n return null;\n};\n\nexport const createSyntheticEvent = <T extends Element, E extends Event>(event: E): React.SyntheticEvent<T, E> => {\n let isDefaultPrevented = false;\n let isPropagationStopped = false;\n const preventDefault = () => {\n isDefaultPrevented = true;\n event.preventDefault();\n };\n const stopPropagation = () => {\n isPropagationStopped = true;\n event.stopPropagation();\n };\n return {\n nativeEvent: event,\n currentTarget: event.currentTarget as EventTarget & T,\n target: event.target as EventTarget & T,\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n defaultPrevented: event.defaultPrevented,\n eventPhase: event.eventPhase,\n isTrusted: event.isTrusted,\n preventDefault,\n isDefaultPrevented: () => isDefaultPrevented,\n stopPropagation,\n isPropagationStopped: () => isPropagationStopped,\n persist: () => {},\n timeStamp: event.timeStamp,\n type: event.type,\n };\n};\n"],"names":["createEvent","ref","current","event","Event","bubbles","Object","defineProperty","writable","value","syntheticEvent","createSyntheticEvent","console","log","isDefaultPrevented","isPropagationStopped","preventDefault","stopPropagation","nativeEvent","currentTarget","target","cancelable","defaultPrevented","eventPhase","isTrusted","persist","timeStamp","type"],"mappings":"IAEaA,WAAW,GAAG,SAAdA,WAAWA,CAAIC,GAAgC,EAAK;EAC7D,IAAIA,GAAG,CAACC,OAAO,EAAE;AACb,IAAA,IAAMC,KAAK,GAAG,IAAIC,KAAK,CAAC,QAAQ,EAAE;AAAEC,MAAAA,OAAO,EAAE,IAAA;AAAK,KAAC,CAAC,CAAA;AACpDC,IAAAA,MAAM,CAACC,cAAc,CAACJ,KAAK,EAAE,QAAQ,EAAE;AAAEK,MAAAA,QAAQ,EAAE,KAAK;MAAEC,KAAK,EAAER,GAAG,CAACC,OAAAA;AAAQ,KAAC,CAAC,CAAA;AAC/E,IAAA,IAAMQ,cAAc,GAAGC,oBAAoB,CAACR,KAAK,CAA0C,CAAA;AAC3FS,IAAAA,OAAO,CAACC,GAAG,CAACH,cAAc,CAAC,CAAA;AAC3B,IAAA,OAAOA,cAAc,CAAA;AACzB,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACf,EAAC;IAEYC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAwCR,KAAQ,EAAiC;EAC9G,IAAIW,mBAAkB,GAAG,KAAK,CAAA;EAC9B,IAAIC,qBAAoB,GAAG,KAAK,CAAA;AAChC,EAAA,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,GAAS;AACzBF,IAAAA,mBAAkB,GAAG,IAAI,CAAA;IACzBX,KAAK,CAACa,cAAc,EAAE,CAAA;GACzB,CAAA;AACD,EAAA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,GAAS;AAC1BF,IAAAA,qBAAoB,GAAG,IAAI,CAAA;IAC3BZ,KAAK,CAACc,eAAe,EAAE,CAAA;GAC1B,CAAA;EACD,OAAO;AACHC,IAAAA,WAAW,EAAEf,KAAK;IAClBgB,aAAa,EAAEhB,KAAK,CAACgB,aAAgC;IACrDC,MAAM,EAAEjB,KAAK,CAACiB,MAAyB;IACvCf,OAAO,EAAEF,KAAK,CAACE,OAAO;IACtBgB,UAAU,EAAElB,KAAK,CAACkB,UAAU;IAC5BC,gBAAgB,EAAEnB,KAAK,CAACmB,gBAAgB;IACxCC,UAAU,EAAEpB,KAAK,CAACoB,UAAU;IAC5BC,SAAS,EAAErB,KAAK,CAACqB,SAAS;AAC1BR,IAAAA,cAAc,EAAdA,cAAc;IACdF,kBAAkB,EAAE,SAAAA,kBAAA,GAAA;AAAA,MAAA,OAAMA,mBAAkB,CAAA;AAAA,KAAA;AAC5CG,IAAAA,eAAe,EAAfA,eAAe;IACfF,oBAAoB,EAAE,SAAAA,oBAAA,GAAA;AAAA,MAAA,OAAMA,qBAAoB,CAAA;AAAA,KAAA;AAChDU,IAAAA,OAAO,EAAE,SAAAA,OAAA,GAAM,EAAE;IACjBC,SAAS,EAAEvB,KAAK,CAACuB,SAAS;IAC1BC,IAAI,EAAExB,KAAK,CAACwB,IAAAA;GACf,CAAA;AACL;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.186.0-canary.1538.11705586782.0",
3
+ "version": "0.186.0-canary.1541.11711445984.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -128,5 +128,5 @@
128
128
  "sideEffects": [
129
129
  "*.css"
130
130
  ],
131
- "gitHead": "3c750436525177470723718c6bd102cf48029982"
131
+ "gitHead": "4cee30093dbcc0d3ec6a6d54550521b7b94931b0"
132
132
  }
@@ -20,7 +20,7 @@ var _Dropdown2 = /*#__PURE__*/require("./Dropdown.tokens");
20
20
  var _useKeyboardNavigation = /*#__PURE__*/require("./hooks/useKeyboardNavigation");
21
21
  var _useHashMaps3 = /*#__PURE__*/require("./hooks/useHashMaps");
22
22
  var _FloatingPopover = /*#__PURE__*/require("./FloatingPopover");
23
- var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "alwaysOpened", "portal"];
23
+ var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "portal"];
24
24
  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); }
25
25
  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; }
26
26
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -66,8 +66,6 @@ var dropdownRoot = exports.dropdownRoot = function dropdownRoot(Root) {
66
66
  variant = _ref$variant === void 0 ? 'normal' : _ref$variant,
67
67
  _ref$hasArrow = _ref.hasArrow,
68
68
  hasArrow = _ref$hasArrow === void 0 ? true : _ref$hasArrow,
69
- _ref$alwaysOpened = _ref.alwaysOpened,
70
- alwaysOpened = _ref$alwaysOpened === void 0 ? false : _ref$alwaysOpened,
71
69
  portal = _ref.portal,
72
70
  rest = _objectWithoutProperties(_ref, _excluded);
73
71
  var _useReducer = (0, _react.useReducer)(_pathReducer.pathReducer, []),
@@ -88,7 +86,7 @@ var dropdownRoot = exports.dropdownRoot = function dropdownRoot(Root) {
88
86
 
89
87
  // Логика работы при клике за пределами выпадающего списка
90
88
  var targetRef = (0, _hooks.useOutsideClick)(function (event) {
91
- if (!isCurrentListOpen || !closeOnOverlayClick || alwaysOpened) {
89
+ if (!isCurrentListOpen || !closeOnOverlayClick) {
92
90
  return;
93
91
  }
94
92
  dispatchPath({
@@ -102,7 +100,7 @@ var dropdownRoot = exports.dropdownRoot = function dropdownRoot(Root) {
102
100
  }
103
101
  }, floatingPopoverRef);
104
102
  var handleGlobalToggle = function handleGlobalToggle(opened, event) {
105
- if (alwaysOpened || opened) {
103
+ if (opened) {
106
104
  dispatchPath({
107
105
  type: 'opened_first_level'
108
106
  });
@@ -131,7 +129,7 @@ var dropdownRoot = exports.dropdownRoot = function dropdownRoot(Root) {
131
129
  onItemClick: onItemClick
132
130
  }),
133
131
  onKeyDown = _useKeyNavigation.onKeyDown;
134
- var isCurrentListOpen = alwaysOpened || Boolean(path[0]);
132
+ var isCurrentListOpen = Boolean(path[0]);
135
133
  return /*#__PURE__*/_react["default"].createElement(Context.Provider, {
136
134
  value: {
137
135
  focusedPath: focusedPath,
@@ -10,6 +10,7 @@ var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
10
10
  var _styledComponents = /*#__PURE__*/require("styled-components");
11
11
  var _utils = /*#__PURE__*/require("../../utils");
12
12
  var _hooks = /*#__PURE__*/require("../../hooks");
13
+ var _syntheticEvent = /*#__PURE__*/require("../../utils/syntheticEvent");
13
14
  var _base = /*#__PURE__*/require("./variations/_size/base");
14
15
  var _base2 = /*#__PURE__*/require("./variations/_view/base");
15
16
  var _base3 = /*#__PURE__*/require("./variations/_clear/base");
@@ -231,11 +232,21 @@ var textFieldRoot = exports.textFieldRoot = function textFieldRoot(Root) {
231
232
  setChips(newChips);
232
233
  }, [isChipEnumeration, values]);
233
234
  (0, _react.useEffect)(function () {
235
+ console.log('Init Value');
234
236
  setHasValue(Boolean(rest === null || rest === void 0 ? void 0 : rest.defaultValue));
237
+ var event = (0, _syntheticEvent.createEvent)(inputRef);
238
+ if (event) {
239
+ handleChange(event);
240
+ }
235
241
  }, [rest.defaultValue]);
236
242
  (0, _react.useEffect)(function () {
237
243
  var _inputRef$current2;
244
+ console.log('Set Value');
238
245
  setHasValue(Boolean(outerValue) || Boolean(inputRef === null || inputRef === void 0 || (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.value));
246
+ var event = (0, _syntheticEvent.createEvent)(inputRef);
247
+ if (event) {
248
+ handleChange(event);
249
+ }
239
250
  }, [outerValue, inputRef === null || inputRef === void 0 || (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.value]);
240
251
  var innerOptional = Boolean(required ? false : optional);
241
252
  var hasPlaceholderOptional = innerOptional && !innerLabelValue && !hasOuterLabel;
@@ -171,6 +171,7 @@ const StoryDemo = ({ enableContentLeft, enableContentRight, view, ...rest }: Sto
171
171
 
172
172
  return (
173
173
  <div style={{ display: 'flex', flexDirection: 'column', gap: '2rem', width: '70%', margin: '0 auto' }}>
174
+ <div>{text}</div>
174
175
  <TextField
175
176
  {...rest}
176
177
  enumerationType="plain"
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createSyntheticEvent = exports.createEvent = void 0;
7
+ var createEvent = exports.createEvent = function createEvent(ref) {
8
+ if (ref.current) {
9
+ var event = new Event('change', {
10
+ bubbles: true
11
+ });
12
+ Object.defineProperty(event, 'target', {
13
+ writable: false,
14
+ value: ref.current
15
+ });
16
+ var syntheticEvent = createSyntheticEvent(event);
17
+ console.log(syntheticEvent);
18
+ return syntheticEvent;
19
+ }
20
+ return null;
21
+ };
22
+ var createSyntheticEvent = exports.createSyntheticEvent = function createSyntheticEvent(event) {
23
+ var _isDefaultPrevented = false;
24
+ var _isPropagationStopped = false;
25
+ var preventDefault = function preventDefault() {
26
+ _isDefaultPrevented = true;
27
+ event.preventDefault();
28
+ };
29
+ var stopPropagation = function stopPropagation() {
30
+ _isPropagationStopped = true;
31
+ event.stopPropagation();
32
+ };
33
+ return {
34
+ nativeEvent: event,
35
+ currentTarget: event.currentTarget,
36
+ target: event.target,
37
+ bubbles: event.bubbles,
38
+ cancelable: event.cancelable,
39
+ defaultPrevented: event.defaultPrevented,
40
+ eventPhase: event.eventPhase,
41
+ isTrusted: event.isTrusted,
42
+ preventDefault: preventDefault,
43
+ isDefaultPrevented: function isDefaultPrevented() {
44
+ return _isDefaultPrevented;
45
+ },
46
+ stopPropagation: stopPropagation,
47
+ isPropagationStopped: function isPropagationStopped() {
48
+ return _isPropagationStopped;
49
+ },
50
+ persist: function persist() {},
51
+ timeStamp: event.timeStamp,
52
+ type: event.type
53
+ };
54
+ };
@@ -1,4 +1,4 @@
1
- var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "alwaysOpened", "portal"];
1
+ var _excluded = ["items", "children", "placement", "offset", "closeOnOverlayClick", "onToggle", "size", "view", "itemRole", "className", "listWidth", "listHeight", "listOverflow", "closeOnSelect", "onHover", "onItemSelect", "onItemClick", "trigger", "variant", "hasArrow", "portal"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -57,8 +57,6 @@ export var dropdownRoot = function dropdownRoot(Root) {
57
57
  variant = _ref$variant === void 0 ? 'normal' : _ref$variant,
58
58
  _ref$hasArrow = _ref.hasArrow,
59
59
  hasArrow = _ref$hasArrow === void 0 ? true : _ref$hasArrow,
60
- _ref$alwaysOpened = _ref.alwaysOpened,
61
- alwaysOpened = _ref$alwaysOpened === void 0 ? false : _ref$alwaysOpened,
62
60
  portal = _ref.portal,
63
61
  rest = _objectWithoutProperties(_ref, _excluded);
64
62
  var _useReducer = useReducer(pathReducer, []),
@@ -79,7 +77,7 @@ export var dropdownRoot = function dropdownRoot(Root) {
79
77
 
80
78
  // Логика работы при клике за пределами выпадающего списка
81
79
  var targetRef = useOutsideClick(function (event) {
82
- if (!isCurrentListOpen || !closeOnOverlayClick || alwaysOpened) {
80
+ if (!isCurrentListOpen || !closeOnOverlayClick) {
83
81
  return;
84
82
  }
85
83
  dispatchPath({
@@ -93,7 +91,7 @@ export var dropdownRoot = function dropdownRoot(Root) {
93
91
  }
94
92
  }, floatingPopoverRef);
95
93
  var handleGlobalToggle = function handleGlobalToggle(opened, event) {
96
- if (alwaysOpened || opened) {
94
+ if (opened) {
97
95
  dispatchPath({
98
96
  type: 'opened_first_level'
99
97
  });
@@ -122,7 +120,7 @@ export var dropdownRoot = function dropdownRoot(Root) {
122
120
  onItemClick: onItemClick
123
121
  }),
124
122
  onKeyDown = _useKeyNavigation.onKeyDown;
125
- var isCurrentListOpen = alwaysOpened || Boolean(path[0]);
123
+ var isCurrentListOpen = Boolean(path[0]);
126
124
  return /*#__PURE__*/React.createElement(Context.Provider, {
127
125
  value: {
128
126
  focusedPath: focusedPath,
@@ -13,6 +13,7 @@ import { safeUseId, useForkRef } from '@salutejs/plasma-core';
13
13
  import { css } from 'styled-components';
14
14
  import { cx } from '../../utils';
15
15
  import { useOutsideClick } from '../../hooks';
16
+ import { createEvent } from '../../utils/syntheticEvent';
16
17
  import { base as sizeCSS } from './variations/_size/base';
17
18
  import { base as viewCSS } from './variations/_view/base';
18
19
  import { base as clearCSS } from './variations/_clear/base';
@@ -222,11 +223,21 @@ export var textFieldRoot = function textFieldRoot(Root) {
222
223
  setChips(newChips);
223
224
  }, [isChipEnumeration, values]);
224
225
  useEffect(function () {
226
+ console.log('Init Value');
225
227
  setHasValue(Boolean(rest === null || rest === void 0 ? void 0 : rest.defaultValue));
228
+ var event = createEvent(inputRef);
229
+ if (event) {
230
+ handleChange(event);
231
+ }
226
232
  }, [rest.defaultValue]);
227
233
  useEffect(function () {
228
234
  var _inputRef$current2;
235
+ console.log('Set Value');
229
236
  setHasValue(Boolean(outerValue) || Boolean(inputRef === null || inputRef === void 0 || (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.value));
237
+ var event = createEvent(inputRef);
238
+ if (event) {
239
+ handleChange(event);
240
+ }
230
241
  }, [outerValue, inputRef === null || inputRef === void 0 || (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.value]);
231
242
  var innerOptional = Boolean(required ? false : optional);
232
243
  var hasPlaceholderOptional = innerOptional && !innerLabelValue && !hasOuterLabel;
@@ -171,6 +171,7 @@ const StoryDemo = ({ enableContentLeft, enableContentRight, view, ...rest }: Sto
171
171
 
172
172
  return (
173
173
  <div style={{ display: 'flex', flexDirection: 'column', gap: '2rem', width: '70%', margin: '0 auto' }}>
174
+ <div>{text}</div>
174
175
  <TextField
175
176
  {...rest}
176
177
  enumerationType="plain"