@salutejs/plasma-new-hope 0.343.1-canary.2382.20331057385.0 → 0.343.1-canary.2382.20333321525.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/cjs/components/Combobox/ComboboxNew/Combobox.js +3 -2
- package/dist/css/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/dist/css/cjs/components/Select/Select.js +5 -1
- package/dist/css/cjs/components/Select/Select.js.map +1 -1
- package/dist/css/cjs/components/Select/ui/Target/Target.js +2 -0
- package/dist/css/cjs/components/Select/ui/Target/Target.js.map +1 -1
- package/dist/css/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -1
- package/dist/css/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
- package/dist/css/es/components/Combobox/ComboboxNew/Combobox.js +3 -2
- package/dist/css/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/dist/css/es/components/Select/Select.js +5 -1
- package/dist/css/es/components/Select/Select.js.map +1 -1
- package/dist/css/es/components/Select/ui/Target/Target.js +2 -0
- package/dist/css/es/components/Select/ui/Target/Target.js.map +1 -1
- package/dist/css/es/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -1
- package/dist/css/es/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
- package/dist/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +3 -2
- package/dist/emotion/cjs/components/Select/Select.js +5 -1
- package/dist/emotion/cjs/components/Select/ui/Target/Target.js +2 -1
- package/dist/emotion/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
- package/dist/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
- package/dist/emotion/es/components/Combobox/ComboboxNew/Combobox.js +3 -2
- package/dist/emotion/es/components/Select/Select.js +5 -1
- package/dist/emotion/es/components/Select/ui/Target/Target.js +2 -1
- package/dist/emotion/es/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
- package/dist/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +3 -2
- package/dist/styled-components/cjs/components/Select/Select.js +5 -1
- package/dist/styled-components/cjs/components/Select/ui/Target/Target.js +2 -1
- package/dist/styled-components/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
- package/dist/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +3 -2
- package/dist/styled-components/es/components/Select/Select.js +5 -1
- package/dist/styled-components/es/components/Select/ui/Target/Target.js +2 -1
- package/dist/styled-components/es/components/Select/ui/Target/ui/Textfield/Textfield.js +2 -2
- package/package.json +5 -5
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +4 -0
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +6 -0
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
- package/types/components/Select/Select.d.ts.map +1 -1
- package/types/components/Select/Select.types.d.ts +5 -0
- package/types/components/Select/Select.types.d.ts.map +1 -1
- package/types/components/Select/ui/Target/Target.d.ts +1 -1
- package/types/components/Select/ui/Target/Target.d.ts.map +1 -1
- package/types/components/Select/ui/Target/Target.types.d.ts +1 -1
- package/types/components/Select/ui/Target/Target.types.d.ts.map +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.d.ts.map +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.types.d.ts +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.types.d.ts.map +1 -1
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +6 -0
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
- package/types/examples/components/Combobox/Combobox.d.ts +24 -0
- package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
- package/types/examples/components/Select/Select.d.ts +6 -0
- package/types/examples/components/Select/Select.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll, TreeList } from './ui';\nimport { pathReducer, focusedPathReducer, treePathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n treeView = false,\n arrowPlacement = 'left',\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n mode = 'default',\n chipClickArea,\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap, valueToPathMap] = usePathMaps(\n transformedItems,\n );\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [treePath, dispatchTreePath] = useReducer(treePathReducer, {});\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n const rootRef = useRef<HTMLInputElement>(null);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n /* Логика работы при клике за пределами выпадающего списка */\n useOutsideClick(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n handleListToggle(false);\n }, [floatingPopoverRef, listWrapperRef]);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\n ) => {\n if (props.onChange) {\n // Условие для отправки если компонент используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если компонент используется с формой.\n // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n dispatchTreePath({ type: 'reset' });\n\n // Скроллим чипы к левому краю при закрытии компонента\n const el = rootRef?.current?.querySelector('.input-scrollable-wrapper');\n if (multiselect && value.length > 0 && el) {\n el.scrollLeft = 0;\n }\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n break;\n }\n // Если чекбокс в состоянии checked\n case true: {\n updateDescendants(item, checkedCopy, false, valueToItemMap);\n checkedCopy.set(item.value, false);\n break;\n }\n // Если чекбокс в состоянии unchecked\n case false: {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n checkedCopy.set(item.value, true);\n break;\n }\n default: {\n break;\n }\n }\n\n const newValues: Array<string | number> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n dispatchTreePath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n dispatchTreePath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n treePath,\n dispatchTreePath,\n treeView,\n valueToPathMap,\n items: transformedItems,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(valueToCheckedMap);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n id={id}\n ref={rootRef}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n treePath,\n dispatchTreePath,\n arrowPlacement,\n valueToPathMap,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n {treeView ? (\n <TreeList\n items={items}\n listMaxHeight={listMaxHeight}\n onScroll={virtual ? undefined : handleScroll}\n virtual={virtual}\n beforeList={beforeList}\n afterList={afterList}\n />\n ) : (\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n )}\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$treeView","treeView","_props$arrowPlacement","arrowPlacement","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listHeight","listMaxHeight","listWidth","contentLeft","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","multiselect","_props$mode","mode","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","valueToPathMap","_useState","useState","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","treePathReducer","_useReducer4","treePath","dispatchTreePath","_useReducer5","focusedPathReducer","_useReducer6","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","rootRef","requiredProps","hintProps","useOutsideClick","handleListToggle","onChange","newValue","item","Array","isArray","_typeof","opened","type","_rootRef$current","el","current","querySelector","length","scrollLeft","handleCheckboxChange","checkedCopy","Map","get","updateDescendants","set","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","TreeList","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { RootProps } from 'src/engines';\nimport { isEmpty, safeUseId } from 'src/utils';\nimport { useOutsideClick } from 'src/hooks';\n\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner, Target, VirtualList, SelectAll, TreeList } from './ui';\nimport { pathReducer, focusedPathReducer, treePathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base, ListWrapper } from './Select.styles';\nimport type { MergedSelectProps, RequiredProps } from './Select.types';\nimport type { MergedDropdownNodeTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { FloatingPopover } from './FloatingPopover';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Select.context';\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, Omit<MergedSelectProps, 'items'>>) =>\n forwardRef<HTMLButtonElement, MergedSelectProps>((props, ref) => {\n const {\n // eslint-disable-block @typescript-eslint/ban-ts-comment\n id,\n value: outerValue,\n onChange: outerOnChange,\n target = 'textfield-like',\n items,\n treeView = false,\n arrowPlacement = 'left',\n placement = 'bottom',\n label,\n labelPlacement,\n placeholder,\n helperText,\n disabled = false,\n readOnly = false,\n view: outerView,\n size,\n listOverflow,\n listHeight,\n listMaxHeight,\n listWidth,\n contentLeft,\n contentRight,\n onScrollBottom,\n onScroll,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n renderItem,\n status,\n onItemSelect,\n separator,\n closeAfterSelect: outerCloseAfterSelect,\n isTargetAmount,\n beforeList,\n afterList,\n zIndex,\n name,\n defaultValue,\n virtual = false,\n onToggle,\n chipType,\n multiselect,\n mode = 'default',\n chipClickArea,\n // @ts-ignore\n _offset,\n\n // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.\n // @ts-ignore\n required,\n // @ts-ignore\n requiredPlacement,\n // @ts-ignore\n hasRequiredIndicator,\n // @ts-ignore\n optional,\n // @ts-ignore\n hintText,\n // @ts-ignore\n hintTrigger,\n // @ts-ignore\n hintView,\n // @ts-ignore\n hintSize,\n // @ts-ignore\n hintTargetPlacement,\n // @ts-ignore\n hintPlacement,\n // @ts-ignore\n hintWidth,\n // @ts-ignore\n hintHasArrow,\n // @ts-ignore\n hasHint,\n ...rest\n } = props;\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap, valueToPathMap] = usePathMaps(\n transformedItems,\n );\n\n const [internalValue, setInternalValue] = useState<string | number | Array<string | number>>(\n props.multiselect ? [] : '',\n );\n\n const value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [treePath, dispatchTreePath] = useReducer(treePathReducer, {});\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value.toString() || '';\n const closeAfterSelect = outerCloseAfterSelect ?? !props.multiselect;\n const treeId = safeUseId();\n const listWrapperRef = useRef<HTMLDivElement>(null);\n const view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\n const rootRef = useRef<HTMLInputElement>(null);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required,\n requiredPlacement,\n hasRequiredIndicator,\n optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText,\n hintTrigger,\n hintView,\n hintSize,\n hintTargetPlacement,\n hintPlacement,\n hintWidth,\n hintHasArrow,\n } as HintProps);\n\n /* Логика работы при клике за пределами выпадающего списка */\n useOutsideClick(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n handleListToggle(false);\n }, [floatingPopoverRef, listWrapperRef]);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n item?: MergedDropdownNodeTransformed | null,\n ) => {\n if (props.onChange) {\n // Условие для отправки если компонент используется без формы.\n if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n props.onChange(newValue as any, item || null);\n }\n\n // Условие для отправки если компонент используется с формой.\n // Убрать условие \"typeof ref === 'function'\" в PLASMA 2.0\n if (props.name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n props.onChange(newValue as any, item || null);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n dispatchTreePath({ type: 'reset' });\n\n // Скроллим чипы к левому краю при закрытии компонента\n const el = rootRef?.current?.querySelector('.input-scrollable-wrapper');\n if (multiselect && value.length > 0 && el) {\n el.scrollLeft = 0;\n }\n }\n\n if (onToggle) {\n onToggle(opened);\n }\n };\n\n const handleCheckboxChange = (item: MergedDropdownNodeTransformed) => {\n if (!props.multiselect) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n switch (checkedCopy.get(item.value)) {\n // Если чекбокс в состоянии indeterminate\n case 'indeterminate': {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n break;\n }\n // Если чекбокс в состоянии checked\n case true: {\n updateDescendants(item, checkedCopy, false, valueToItemMap);\n checkedCopy.set(item.value, false);\n break;\n }\n // Если чекбокс в состоянии unchecked\n case false: {\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n checkedCopy.set(item.value, true);\n break;\n }\n default: {\n break;\n }\n }\n\n const newValues: Array<string | number> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n // Оставляем values, которых нет в items.\n if (Array.isArray(value)) {\n value.forEach((val: string) => {\n if (!valueToItemMap.has(val)) {\n newValues.push(val);\n }\n });\n }\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n dispatchTreePath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues, item);\n }\n };\n\n const handleItemClick = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (props.multiselect) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n dispatchTreePath({ type: 'reset' });\n }\n\n // Закрываем список, если элемент уже выбран.\n if (mode === 'radio' && isCurrentChecked) {\n return;\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value, item);\n }\n\n if (onItemSelect) {\n onItemSelect(item, e!);\n }\n };\n\n const handlePressDown = (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (props.multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLElement>) => {\n if (onScroll) {\n onScroll(e);\n }\n\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n treePath,\n dispatchTreePath,\n treeView,\n valueToPathMap,\n items: transformedItems,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(valueToCheckedMap);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value) || typeof value === 'number') {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n // Только если value находится в items, т.к. value может и не существовать в items.\n if (valueToItemMap.has(val)) {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n }\n });\n } else {\n // Только если value находится в items, т.к. value может и не существовать в items.\n // eslint-disable-next-line no-lonely-if\n if (valueToItemMap.has(value)) {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n }\n\n setChecked(checkedCopy);\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue as string | string[]);\n }\n }, [defaultValue]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n hintView={hintView}\n hintSize={hintSize}\n id={id}\n ref={rootRef}\n {...(rest as any)}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiselect={props.multiselect}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLButtonElement>}\n />\n )}\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect: props.multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line no-underscore-dangle\n _checkboxAppearance: (rest as any)._checkboxAppearance,\n treePath,\n dispatchTreePath,\n arrowPlacement,\n valueToPathMap,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <Target\n ref={name ? null : ref}\n value={value}\n opened={isCurrentListOpen}\n valueToItemMap={valueToItemMap}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n contentRight={contentRight}\n disabled={disabled}\n readOnly={readOnly}\n renderValue={renderValue}\n selectProps={props}\n inputWrapperRef={referenceRef as React.MutableRefObject<HTMLDivElement>}\n multiselect={props.multiselect}\n view={view}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n isTargetAmount={isTargetAmount}\n onChange={onChange}\n chipView={chipView}\n separator={separator}\n requiredProps={requiredProps}\n hintProps={hintProps}\n />\n )}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n readOnly={readOnly}\n {...(rest as any)}\n >\n {treeView ? (\n <TreeList\n items={items}\n listMaxHeight={listMaxHeight}\n onScroll={virtual ? undefined : handleScroll}\n virtual={virtual}\n beforeList={beforeList}\n afterList={afterList}\n />\n ) : (\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\n virtual={virtual}\n >\n {beforeList}\n\n {props.multiselect && props.selectAllOptions && (\n // TODO: #2004\n <SelectAll selectAllOptions={props.selectAllOptions} variant={variant} />\n )}\n\n {virtual ? (\n <VirtualList\n items={transformedItems}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={onScroll}\n />\n ) : (\n transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\n )}\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n chipView: 'default',\n },\n};\n"],"names":["selectRoot","Root","forwardRef","props","ref","_getItemByFocused","id","outerValue","value","_props$target","target","items","_props$treeView","treeView","_props$arrowPlacement","arrowPlacement","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listHeight","listMaxHeight","listWidth","contentLeft","contentRight","onScrollBottom","onScroll","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","_props$virtual","virtual","onToggle","multiselect","_props$mode","mode","_offset","required","requiredPlacement","hasRequiredIndicator","optional","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","valueToPathMap","_useState","useState","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","treePathReducer","_useReducer4","treePath","dispatchTreePath","_useReducer5","focusedPathReducer","_useReducer6","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","listWrapperRef","getView","rootRef","requiredProps","hintProps","useOutsideClick","handleListToggle","onChange","newValue","item","Array","isArray","_typeof","opened","type","_rootRef$current","el","current","querySelector","length","scrollLeft","handleCheckboxChange","checkedCopy","Map","get","updateDescendants","set","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateAncestors","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","TreeList","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ var Target = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
13
13
|
labelPlacement = _ref.labelPlacement,
|
|
14
14
|
size = _ref.size,
|
|
15
15
|
contentLeft = _ref.contentLeft,
|
|
16
|
+
contentRight = _ref.contentRight,
|
|
16
17
|
disabled = _ref.disabled,
|
|
17
18
|
readOnly = _ref.readOnly,
|
|
18
19
|
renderValue = _ref.renderValue,
|
|
@@ -64,6 +65,7 @@ var Target = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
64
65
|
size: size,
|
|
65
66
|
view: view,
|
|
66
67
|
contentLeft: contentLeft,
|
|
68
|
+
contentRight: contentRight,
|
|
67
69
|
helperText: helperText,
|
|
68
70
|
treeId: treeId,
|
|
69
71
|
activeDescendantItemValue: activeDescendantItemValue,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Target.js","sources":["../../../../../../../src/components/Select/ui/Target/Target.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { TargetProps } from './Target.types';\nimport { Button, Textfield } from './ui';\n\nexport const Target = forwardRef<HTMLButtonElement, TargetProps>(\n (\n {\n value,\n opened,\n valueToItemMap,\n label,\n placeholder,\n onKeyDown,\n labelPlacement,\n size,\n contentLeft,\n disabled,\n readOnly,\n renderValue,\n selectProps,\n inputWrapperRef,\n multiselect,\n view,\n helperText,\n treeId,\n activeDescendantItemValue,\n isTargetAmount,\n onChange,\n chipView,\n separator,\n requiredProps,\n hintProps,\n },\n ref,\n ) => {\n const buttonRef = useForkRef(ref, inputWrapperRef as any);\n\n if (selectProps.renderTarget) {\n return (\n <div ref={inputWrapperRef as any}>\n {selectProps.renderTarget(\n Array.isArray(value)\n ? value.map((value) => valueToItemMap.get(value)!)\n : valueToItemMap.get(value)!,\n opened,\n )}\n </div>\n );\n }\n\n return selectProps.target === 'button-like' ? (\n <Button\n ref={buttonRef}\n opened={opened}\n value={value}\n valueToItemMap={valueToItemMap}\n onKeyDown={onKeyDown}\n label={label}\n size={size}\n disabled={disabled || readOnly}\n renderValue={renderValue}\n selectProps={selectProps}\n separator={separator}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n />\n ) : (\n <Textfield\n ref={ref as MutableRefObject<HTMLInputElement>}\n inputWrapperRef={inputWrapperRef}\n opened={opened}\n multiselect={multiselect}\n value={value}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n view={view}\n contentLeft={contentLeft}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n disabled={disabled}\n readOnly={readOnly}\n isTargetAmount={isTargetAmount}\n valueToItemMap={valueToItemMap}\n renderValue={renderValue}\n onChange={onChange}\n chipView={chipView}\n requiredProps={requiredProps}\n hintProps={hintProps}\n chipType={selectProps.chipType}\n chipClickArea={selectProps.chipClickArea}\n />\n );\n },\n);\n"],"names":["Target","forwardRef","_ref","ref","value","opened","valueToItemMap","label","placeholder","onKeyDown","labelPlacement","size","contentLeft","disabled","readOnly","renderValue","selectProps","inputWrapperRef","multiselect","view","helperText","treeId","activeDescendantItemValue","isTargetAmount","onChange","chipView","separator","requiredProps","hintProps","buttonRef","useForkRef","renderTarget","React","createElement","Array","isArray","map","get","target","Button","Textfield","chipType","chipClickArea"],"mappings":";;;;;AAOO,IAAMA,MAAM,gBAAGC,UAAU,CAC5B,UAAAC,IAAA,
|
|
1
|
+
{"version":3,"file":"Target.js","sources":["../../../../../../../src/components/Select/ui/Target/Target.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport type { TargetProps } from './Target.types';\nimport { Button, Textfield } from './ui';\n\nexport const Target = forwardRef<HTMLButtonElement, TargetProps>(\n (\n {\n value,\n opened,\n valueToItemMap,\n label,\n placeholder,\n onKeyDown,\n labelPlacement,\n size,\n contentLeft,\n contentRight,\n disabled,\n readOnly,\n renderValue,\n selectProps,\n inputWrapperRef,\n multiselect,\n view,\n helperText,\n treeId,\n activeDescendantItemValue,\n isTargetAmount,\n onChange,\n chipView,\n separator,\n requiredProps,\n hintProps,\n },\n ref,\n ) => {\n const buttonRef = useForkRef(ref, inputWrapperRef as any);\n\n if (selectProps.renderTarget) {\n return (\n <div ref={inputWrapperRef as any}>\n {selectProps.renderTarget(\n Array.isArray(value)\n ? value.map((value) => valueToItemMap.get(value)!)\n : valueToItemMap.get(value)!,\n opened,\n )}\n </div>\n );\n }\n\n return selectProps.target === 'button-like' ? (\n <Button\n ref={buttonRef}\n opened={opened}\n value={value}\n valueToItemMap={valueToItemMap}\n onKeyDown={onKeyDown}\n label={label}\n size={size}\n disabled={disabled || readOnly}\n renderValue={renderValue}\n selectProps={selectProps}\n separator={separator}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n />\n ) : (\n <Textfield\n ref={ref as MutableRefObject<HTMLInputElement>}\n inputWrapperRef={inputWrapperRef}\n opened={opened}\n multiselect={multiselect}\n value={value}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n labelPlacement={labelPlacement}\n size={size}\n view={view}\n contentLeft={contentLeft}\n contentRight={contentRight}\n helperText={helperText}\n treeId={treeId}\n activeDescendantItemValue={activeDescendantItemValue}\n disabled={disabled}\n readOnly={readOnly}\n isTargetAmount={isTargetAmount}\n valueToItemMap={valueToItemMap}\n renderValue={renderValue}\n onChange={onChange}\n chipView={chipView}\n requiredProps={requiredProps}\n hintProps={hintProps}\n chipType={selectProps.chipType}\n chipClickArea={selectProps.chipClickArea}\n />\n );\n },\n);\n"],"names":["Target","forwardRef","_ref","ref","value","opened","valueToItemMap","label","placeholder","onKeyDown","labelPlacement","size","contentLeft","contentRight","disabled","readOnly","renderValue","selectProps","inputWrapperRef","multiselect","view","helperText","treeId","activeDescendantItemValue","isTargetAmount","onChange","chipView","separator","requiredProps","hintProps","buttonRef","useForkRef","renderTarget","React","createElement","Array","isArray","map","get","target","Button","Textfield","chipType","chipClickArea"],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ var Textfield = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
18
18
|
size = _ref.size,
|
|
19
19
|
view = _ref.view,
|
|
20
20
|
contentLeft = _ref.contentLeft,
|
|
21
|
+
contentRight = _ref.contentRight,
|
|
21
22
|
helperText = _ref.helperText,
|
|
22
23
|
treeId = _ref.treeId,
|
|
23
24
|
activeDescendantItemValue = _ref.activeDescendantItemValue,
|
|
@@ -110,7 +111,7 @@ var Textfield = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
110
111
|
keepPlaceholder: keepPlaceholder,
|
|
111
112
|
placeholder: value instanceof Array && value.length ? '' : placeholder,
|
|
112
113
|
contentLeft: contentLeft,
|
|
113
|
-
contentRight: /*#__PURE__*/React.createElement(IconArrowWrapper, {
|
|
114
|
+
contentRight: contentRight ? contentRight || contentRight === undefined : /*#__PURE__*/React.createElement(IconArrowWrapper, {
|
|
114
115
|
disabled: disabled,
|
|
115
116
|
readOnly: readOnly
|
|
116
117
|
}, /*#__PURE__*/React.createElement(StyledArrow, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textfield.js","sources":["../../../../../../../../../src/components/Select/ui/Target/ui/Textfield/Textfield.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { sizeToIconSize, getItemId } from '../../../../utils';\nimport { classes } from '../../../../Select.tokens';\n\nimport { IconArrowWrapper, StyledArrow, StyledTextField, StyledLeftHelper } from './Textfield.styles';\nimport { TextfieldProps } from './Textfield.types';\n\nexport const Textfield = forwardRef<HTMLInputElement, TextfieldProps>(\n (\n {\n inputWrapperRef,\n opened,\n multiselect,\n value,\n label,\n labelPlacement,\n keepPlaceholder,\n placeholder,\n onKeyDown,\n size,\n view,\n contentLeft,\n helperText,\n treeId,\n activeDescendantItemValue,\n disabled,\n readOnly,\n isTargetAmount,\n valueToItemMap,\n renderValue,\n onChange,\n chipView,\n requiredProps,\n chipType,\n hintProps,\n chipClickArea,\n },\n ref,\n ) => {\n const withArrowInverse = opened ? classes.arrowInverse : undefined;\n\n const getValue = () => {\n if (multiselect || Array.isArray(value) || !value) {\n return '';\n }\n\n if (renderValue) {\n return renderValue(valueToItemMap.get(value.toString()) || { value, label: value.toString() });\n }\n\n return valueToItemMap.get(value.toString())?.label || value.toString();\n };\n\n const getChips = (): { value: string | number; label: string; disabled: boolean }[] => {\n if (multiselect && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [\n {\n value: '_removeAll',\n label: `Выбрано ${value.length}`,\n disabled: value.every((val) => valueToItemMap?.get(val)?.disabled),\n },\n ];\n }\n\n return value.map((value) => {\n const currentLabel = renderValue\n ? renderValue(valueToItemMap.get(value) || { value, label: value.toString() })\n : valueToItemMap.get(value)?.label || value.toString();\n\n return {\n value,\n label: currentLabel,\n disabled: valueToItemMap.get(value)?.disabled || false,\n };\n });\n }\n\n return [];\n };\n\n // Обработчик чипов\n const handleChipClick = (chip: { value: string; label: string; disabled: boolean }) => {\n if (!Array.isArray(value)) return;\n\n if (isTargetAmount) {\n // При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы\n onChange(\n value.filter((val) => valueToItemMap?.get(val)?.disabled),\n null,\n );\n } else {\n onChange(\n value.filter((val) => val !== chip.value),\n valueToItemMap.get(chip.value) || { value: chip.value, label: chip.label },\n );\n }\n };\n\n const helperTextStopPropagation = (event: React.MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n return (\n <StyledTextField\n ref={ref}\n inputWrapperRef={inputWrapperRef}\n readOnly\n className={readOnly ? classes.readOnly : undefined}\n value={getValue()}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n label={label}\n keepPlaceholder={keepPlaceholder}\n placeholder={value instanceof Array && value.length ? '' : placeholder}\n contentLeft={contentLeft as React.ReactElement}\n contentRight={\n <IconArrowWrapper disabled={disabled} readOnly={readOnly}>\n <StyledArrow color=\"inherit\" size={sizeToIconSize(size)} className={withArrowInverse} />\n </IconArrowWrapper>\n }\n onKeyDown={onKeyDown}\n leftHelper={\n helperText && <StyledLeftHelper onClick={helperTextStopPropagation}>{helperText}</StyledLeftHelper>\n }\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={opened}\n aria-activedescendant={activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''}\n {...(multiselect\n ? {\n enumerationType: 'chip',\n _chips: getChips(),\n _onChipCloseClick: handleChipClick,\n _chipClickArea: chipClickArea,\n chipType,\n chipView,\n }\n : { enumerationType: 'plain' })}\n _onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n opened={opened}\n // TODO: #1547\n _forceChipManipulationWithReadonly={!readOnly}\n {...requiredProps}\n {...hintProps}\n />\n );\n },\n);\n"],"names":["Textfield","forwardRef","_ref","ref","inputWrapperRef","opened","multiselect","value","label","labelPlacement","keepPlaceholder","placeholder","onKeyDown","size","view","contentLeft","helperText","treeId","activeDescendantItemValue","disabled","readOnly","isTargetAmount","valueToItemMap","renderValue","onChange","chipView","requiredProps","chipType","hintProps","chipClickArea","withArrowInverse","classes","arrowInverse","undefined","getValue","_valueToItemMap$get","Array","isArray","get","toString","getChips","length","concat","every","val","_valueToItemMap$get2","map","_valueToItemMap$get3","_valueToItemMap$get4","currentLabel","handleChipClick","chip","filter","_valueToItemMap$get5","helperTextStopPropagation","event","stopPropagation","React","createElement","StyledTextField","_extends","className","contentRight","IconArrowWrapper","StyledArrow","color","sizeToIconSize","leftHelper","StyledLeftHelper","onClick","role","getItemId","enumerationType","_chips","_onChipCloseClick","_chipClickArea","_onEnterDisabled","_forceChipManipulationWithReadonly"],"mappings":";;;;;;;AAQO,IAAMA,SAAS,gBAAGC,UAAU,CAC/B,UAAAC,IAAA,EA6BIC,GAAG,EACF;AAAA,EAAA,IA5BGC,eAAe,GAAAF,IAAA,CAAfE,eAAe;IACfC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IACXC,KAAK,GAAAL,IAAA,CAALK,KAAK;IACLC,KAAK,GAAAN,IAAA,CAALM,KAAK;IACLC,cAAc,GAAAP,IAAA,CAAdO,cAAc;IACdC,eAAe,GAAAR,IAAA,CAAfQ,eAAe;IACfC,WAAW,GAAAT,IAAA,CAAXS,WAAW;IACXC,SAAS,GAAAV,IAAA,CAATU,SAAS;IACTC,IAAI,GAAAX,IAAA,CAAJW,IAAI;IACJC,IAAI,GAAAZ,IAAA,CAAJY,IAAI;IACJC,WAAW,GAAAb,IAAA,CAAXa,WAAW;IACXC,UAAU,GAAAd,IAAA,CAAVc,UAAU;IACVC,MAAM,GAAAf,IAAA,CAANe,MAAM;IACNC,yBAAyB,GAAAhB,IAAA,CAAzBgB,yBAAyB;IACzBC,QAAQ,GAAAjB,IAAA,CAARiB,QAAQ;IACRC,QAAQ,GAAAlB,IAAA,CAARkB,QAAQ;IACRC,cAAc,GAAAnB,IAAA,CAAdmB,cAAc;IACdC,cAAc,GAAApB,IAAA,CAAdoB,cAAc;IACdC,WAAW,GAAArB,IAAA,CAAXqB,WAAW;IACXC,QAAQ,GAAAtB,IAAA,CAARsB,QAAQ;IACRC,QAAQ,GAAAvB,IAAA,CAARuB,QAAQ;IACRC,aAAa,GAAAxB,IAAA,CAAbwB,aAAa;IACbC,QAAQ,GAAAzB,IAAA,CAARyB,QAAQ;IACRC,SAAS,GAAA1B,IAAA,CAAT0B,SAAS;IACTC,aAAa,GAAA3B,IAAA,CAAb2B,aAAa,CAAA;EAIjB,IAAMC,gBAAgB,GAAGzB,MAAM,GAAG0B,OAAO,CAACC,YAAY,GAAGC,SAAS,CAAA;AAElE,EAAA,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,GAAS;AAAA,IAAA,IAAAC,mBAAA,CAAA;IACnB,IAAI7B,WAAW,IAAI8B,KAAK,CAACC,OAAO,CAAC9B,KAAK,CAAC,IAAI,CAACA,KAAK,EAAE;AAC/C,MAAA,OAAO,EAAE,CAAA;AACb,KAAA;AAEA,IAAA,IAAIgB,WAAW,EAAE;AACb,MAAA,OAAOA,WAAW,CAACD,cAAc,CAACgB,GAAG,CAAC/B,KAAK,CAACgC,QAAQ,EAAE,CAAC,IAAI;AAAEhC,QAAAA,KAAK,EAALA,KAAK;AAAEC,QAAAA,KAAK,EAAED,KAAK,CAACgC,QAAQ,EAAC;AAAE,OAAC,CAAC,CAAA;AAClG,KAAA;IAEA,OAAO,CAAA,CAAAJ,mBAAA,GAAAb,cAAc,CAACgB,GAAG,CAAC/B,KAAK,CAACgC,QAAQ,EAAE,CAAC,MAAAJ,IAAAA,IAAAA,mBAAA,KAApCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAsC3B,KAAK,KAAID,KAAK,CAACgC,QAAQ,EAAE,CAAA;GACzE,CAAA;AAED,EAAA,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,GAAyE;IACnF,IAAIlC,WAAW,IAAI8B,KAAK,CAACC,OAAO,CAAC9B,KAAK,CAAC,EAAE;AACrC,MAAA,IAAIA,KAAK,CAACkC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;AAEjC,MAAA,IAAIpB,cAAc,EAAE;AAChB,QAAA,OAAO,CACH;AACId,UAAAA,KAAK,EAAE,YAAY;AACnBC,UAAAA,KAAK,gDAAAkC,MAAA,CAAanC,KAAK,CAACkC,MAAM,CAAE;AAChCtB,UAAAA,QAAQ,EAAEZ,KAAK,CAACoC,KAAK,CAAC,UAACC,GAAG,EAAA;AAAA,YAAA,IAAAC,oBAAA,CAAA;AAAA,YAAA,OAAKvB,cAAc,KAAdA,IAAAA,IAAAA,cAAc,KAAAuB,KAAAA,CAAAA,IAAAA,CAAAA,oBAAA,GAAdvB,cAAc,CAAEgB,GAAG,CAACM,GAAG,CAAC,MAAA,IAAA,IAAAC,oBAAA,KAAxBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAA0B1B,QAAQ,CAAA;AAAA,WAAA,CAAA;AACrE,SAAC,CACJ,CAAA;AACL,OAAA;AAEA,MAAA,OAAOZ,KAAK,CAACuC,GAAG,CAAC,UAACvC,KAAK,EAAK;QAAA,IAAAwC,oBAAA,EAAAC,oBAAA,CAAA;AACxB,QAAA,IAAMC,YAAY,GAAG1B,WAAW,GAC1BA,WAAW,CAACD,cAAc,CAACgB,GAAG,CAAC/B,KAAK,CAAC,IAAI;AAAEA,UAAAA,KAAK,EAALA,KAAK;AAAEC,UAAAA,KAAK,EAAED,KAAK,CAACgC,QAAQ,EAAC;SAAG,CAAC,GAC5E,CAAAQ,CAAAA,oBAAA,GAAAzB,cAAc,CAACgB,GAAG,CAAC/B,KAAK,CAAC,cAAAwC,oBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAzBA,oBAAA,CAA2BvC,KAAK,KAAID,KAAK,CAACgC,QAAQ,EAAE,CAAA;QAE1D,OAAO;AACHhC,UAAAA,KAAK,EAALA,KAAK;AACLC,UAAAA,KAAK,EAAEyC,YAAY;AACnB9B,UAAAA,QAAQ,EAAE,CAAA6B,CAAAA,oBAAA,GAAA1B,cAAc,CAACgB,GAAG,CAAC/B,KAAK,CAAC,cAAAyC,oBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAzBA,oBAAA,CAA2B7B,QAAQ,KAAI,KAAA;SACpD,CAAA;AACL,OAAC,CAAC,CAAA;AACN,KAAA;AAEA,IAAA,OAAO,EAAE,CAAA;GACZ,CAAA;;AAED;AACA,EAAA,IAAM+B,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,IAAyD,EAAK;AACnF,IAAA,IAAI,CAACf,KAAK,CAACC,OAAO,CAAC9B,KAAK,CAAC,EAAE,OAAA;AAE3B,IAAA,IAAIc,cAAc,EAAE;AAChB;AACAG,MAAAA,QAAQ,CACJjB,KAAK,CAAC6C,MAAM,CAAC,UAACR,GAAG,EAAA;AAAA,QAAA,IAAAS,oBAAA,CAAA;AAAA,QAAA,OAAK/B,cAAc,KAAdA,IAAAA,IAAAA,cAAc,KAAA+B,KAAAA,CAAAA,IAAAA,CAAAA,oBAAA,GAAd/B,cAAc,CAAEgB,GAAG,CAACM,GAAG,CAAC,MAAA,IAAA,IAAAS,oBAAA,KAAxBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAA0BlC,QAAQ,CAAA;OAAC,CAAA,EACzD,IACJ,CAAC,CAAA;AACL,KAAC,MAAM;AACHK,MAAAA,QAAQ,CACJjB,KAAK,CAAC6C,MAAM,CAAC,UAACR,GAAG,EAAA;AAAA,QAAA,OAAKA,GAAG,KAAKO,IAAI,CAAC5C,KAAK,CAAA;OAAC,CAAA,EACzCe,cAAc,CAACgB,GAAG,CAACa,IAAI,CAAC5C,KAAK,CAAC,IAAI;QAAEA,KAAK,EAAE4C,IAAI,CAAC5C,KAAK;QAAEC,KAAK,EAAE2C,IAAI,CAAC3C,KAAAA;AAAM,OAC7E,CAAC,CAAA;AACL,KAAA;GACH,CAAA;AAED,EAAA,IAAM8C,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIC,KAAuC,EAAK;IAC3EA,KAAK,CAACC,eAAe,EAAE,CAAA;GAC1B,CAAA;AAED,EAAA,oBACIC,KAAA,CAAAC,aAAA,CAACC,eAAe,EAAAC,QAAA,CAAA;AACZzD,IAAAA,GAAG,EAAEA,GAAI;AACTC,IAAAA,eAAe,EAAEA,eAAgB;IACjCgB,QAAQ,EAAA,IAAA;AACRyC,IAAAA,SAAS,EAAEzC,QAAQ,GAAGW,OAAO,CAACX,QAAQ,GAAGa,SAAU;IACnD1B,KAAK,EAAE2B,QAAQ,EAAG;AAClBrB,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,IAAI,EAAEA,IAAK;AACXL,IAAAA,cAAc,EAAEA,cAAe;AAC/BU,IAAAA,QAAQ,EAAEA,QAAS;AACnBX,IAAAA,KAAK,EAAEA,KAAM;AACbE,IAAAA,eAAe,EAAEA,eAAgB;IACjCC,WAAW,EAAEJ,KAAK,YAAY6B,KAAK,IAAI7B,KAAK,CAACkC,MAAM,GAAG,EAAE,GAAG9B,WAAY;AACvEI,IAAAA,WAAW,EAAEA,WAAkC;AAC/C+C,IAAAA,YAAY,eACRL,KAAA,CAAAC,aAAA,CAACK,gBAAgB,EAAA;AAAC5C,MAAAA,QAAQ,EAAEA,QAAS;AAACC,MAAAA,QAAQ,EAAEA,QAAAA;AAAS,KAAA,eACrDqC,KAAA,CAAAC,aAAA,CAACM,WAAW,EAAA;AAACC,MAAAA,KAAK,EAAC,SAAS;AAACpD,MAAAA,IAAI,EAAEqD,cAAc,CAACrD,IAAI,CAAE;AAACgD,MAAAA,SAAS,EAAE/B,gBAAAA;AAAiB,KAAE,CACzE,CACrB;AACDlB,IAAAA,SAAS,EAAEA,SAAU;AACrBuD,IAAAA,UAAU,EACNnD,UAAU,iBAAIyC,KAAA,CAAAC,aAAA,CAACU,gBAAgB,EAAA;AAACC,MAAAA,OAAO,EAAEf,yBAAAA;AAA0B,KAAA,EAAEtC,UAA6B,CACrG;AACDsD,IAAAA,IAAI,EAAC,UAAU;AACf,IAAA,mBAAA,EAAkB,MAAM;IACxB,eAAA5B,EAAAA,EAAAA,CAAAA,MAAA,CAAkBzB,MAAM,EAAgB,eAAA,CAAA;AACxC,IAAA,eAAA,EAAeZ,MAAO;IACtB,uBAAuBa,EAAAA,yBAAyB,GAAGqD,SAAS,CAACtD,MAAM,EAAEC,yBAAyB,CAAC,GAAG,EAAA;AAAG,GAAA,EAChGZ,WAAW,GACV;AACIkE,IAAAA,eAAe,EAAE,MAAM;IACvBC,MAAM,EAAEjC,QAAQ,EAAE;AAClBkC,IAAAA,iBAAiB,EAAExB,eAAe;AAClCyB,IAAAA,cAAc,EAAE9C,aAAa;AAC7BF,IAAAA,QAAQ,EAARA,QAAQ;AACRF,IAAAA,QAAQ,EAARA,QAAAA;AACJ,GAAC,GACD;AAAE+C,IAAAA,eAAe,EAAE,OAAA;GAAS,EAAA;AAClCI,IAAAA,gBAAgB,EAAC,IAAA;AAAA;AACjBvE,IAAAA,MAAM,EAAEA,MAAAA;AACR;AAAA;AACAwE,IAAAA,kCAAkC,EAAE,CAACzD,QAAAA;AAAS,GAAA,EAC1CM,aAAa,EACbE,SAAS,CAChB,CAAC,CAAA;AAEV,CACJ;;;;"}
|
|
1
|
+
{"version":3,"file":"Textfield.js","sources":["../../../../../../../../../src/components/Select/ui/Target/ui/Textfield/Textfield.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { sizeToIconSize, getItemId } from '../../../../utils';\nimport { classes } from '../../../../Select.tokens';\n\nimport { IconArrowWrapper, StyledArrow, StyledTextField, StyledLeftHelper } from './Textfield.styles';\nimport { TextfieldProps } from './Textfield.types';\n\nexport const Textfield = forwardRef<HTMLInputElement, TextfieldProps>(\n (\n {\n inputWrapperRef,\n opened,\n multiselect,\n value,\n label,\n labelPlacement,\n keepPlaceholder,\n placeholder,\n onKeyDown,\n size,\n view,\n contentLeft,\n contentRight,\n helperText,\n treeId,\n activeDescendantItemValue,\n disabled,\n readOnly,\n isTargetAmount,\n valueToItemMap,\n renderValue,\n onChange,\n chipView,\n requiredProps,\n chipType,\n hintProps,\n chipClickArea,\n },\n ref,\n ) => {\n const withArrowInverse = opened ? classes.arrowInverse : undefined;\n\n const getValue = () => {\n if (multiselect || Array.isArray(value) || !value) {\n return '';\n }\n\n if (renderValue) {\n return renderValue(valueToItemMap.get(value.toString()) || { value, label: value.toString() });\n }\n\n return valueToItemMap.get(value.toString())?.label || value.toString();\n };\n\n const getChips = (): { value: string | number; label: string; disabled: boolean }[] => {\n if (multiselect && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [\n {\n value: '_removeAll',\n label: `Выбрано ${value.length}`,\n disabled: value.every((val) => valueToItemMap?.get(val)?.disabled),\n },\n ];\n }\n\n return value.map((value) => {\n const currentLabel = renderValue\n ? renderValue(valueToItemMap.get(value) || { value, label: value.toString() })\n : valueToItemMap.get(value)?.label || value.toString();\n\n return {\n value,\n label: currentLabel,\n disabled: valueToItemMap.get(value)?.disabled || false,\n };\n });\n }\n\n return [];\n };\n\n // Обработчик чипов\n const handleChipClick = (chip: { value: string; label: string; disabled: boolean }) => {\n if (!Array.isArray(value)) return;\n\n if (isTargetAmount) {\n // При закрытии чипа в режиме isTargetAmount в value оставляем только disabled-элементы\n onChange(\n value.filter((val) => valueToItemMap?.get(val)?.disabled),\n null,\n );\n } else {\n onChange(\n value.filter((val) => val !== chip.value),\n valueToItemMap.get(chip.value) || { value: chip.value, label: chip.label },\n );\n }\n };\n\n const helperTextStopPropagation = (event: React.MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n return (\n <StyledTextField\n ref={ref}\n inputWrapperRef={inputWrapperRef}\n readOnly\n className={readOnly ? classes.readOnly : undefined}\n value={getValue()}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n label={label}\n keepPlaceholder={keepPlaceholder}\n placeholder={value instanceof Array && value.length ? '' : placeholder}\n contentLeft={contentLeft as React.ReactElement}\n contentRight={\n contentRight ? (\n contentRight || contentRight === undefined\n ) : (\n <IconArrowWrapper disabled={disabled} readOnly={readOnly}>\n <StyledArrow color=\"inherit\" size={sizeToIconSize(size)} className={withArrowInverse} />\n </IconArrowWrapper>\n )\n }\n onKeyDown={onKeyDown}\n leftHelper={\n helperText && <StyledLeftHelper onClick={helperTextStopPropagation}>{helperText}</StyledLeftHelper>\n }\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={opened}\n aria-activedescendant={activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''}\n {...(multiselect\n ? {\n enumerationType: 'chip',\n _chips: getChips(),\n _onChipCloseClick: handleChipClick,\n _chipClickArea: chipClickArea,\n chipType,\n chipView,\n }\n : { enumerationType: 'plain' })}\n _onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n opened={opened}\n // TODO: #1547\n _forceChipManipulationWithReadonly={!readOnly}\n {...requiredProps}\n {...hintProps}\n />\n );\n },\n);\n"],"names":["Textfield","forwardRef","_ref","ref","inputWrapperRef","opened","multiselect","value","label","labelPlacement","keepPlaceholder","placeholder","onKeyDown","size","view","contentLeft","contentRight","helperText","treeId","activeDescendantItemValue","disabled","readOnly","isTargetAmount","valueToItemMap","renderValue","onChange","chipView","requiredProps","chipType","hintProps","chipClickArea","withArrowInverse","classes","arrowInverse","undefined","getValue","_valueToItemMap$get","Array","isArray","get","toString","getChips","length","concat","every","val","_valueToItemMap$get2","map","_valueToItemMap$get3","_valueToItemMap$get4","currentLabel","handleChipClick","chip","filter","_valueToItemMap$get5","helperTextStopPropagation","event","stopPropagation","React","createElement","StyledTextField","_extends","className","IconArrowWrapper","StyledArrow","color","sizeToIconSize","leftHelper","StyledLeftHelper","onClick","role","getItemId","enumerationType","_chips","_onChipCloseClick","_chipClickArea","_onEnterDisabled","_forceChipManipulationWithReadonly"],"mappings":"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"}
|
|
@@ -206,7 +206,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
206
206
|
var comboboxRoot = function(Root) {
|
|
207
207
|
return /*#__PURE__*/ (0, _react.forwardRef)(function(props, ref) {
|
|
208
208
|
var _getItemByFocused;
|
|
209
|
-
var name = props.name, multiple = props.multiple, outerValue = props.value, outerOnChange = props.onChange, defaultValue = props.defaultValue, isTargetAmount = props.isTargetAmount, targetAmount = props.targetAmount, items = props.items, _props_treeView = props.treeView, treeView = _props_treeView === void 0 ? false : _props_treeView, _props_arrowPlacement = props.arrowPlacement, arrowPlacement = _props_arrowPlacement === void 0 ? 'left' : _props_arrowPlacement, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom-start' : _props_placement, label = props.label, placeholder = props.placeholder, helperText = props.helperText, contentLeft = props.contentLeft, textBefore = props.textBefore, textAfter = props.textAfter, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, portal = props.portal, renderItem = props.renderItem, view = props.view, size = props.size, labelPlacement = props.labelPlacement, keepPlaceholder = props.keepPlaceholder, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_alwaysOpened = props.alwaysOpened, alwaysOpened = _props_alwaysOpened === void 0 ? false : _props_alwaysOpened, filter = props.filter, outerCloseAfterSelect = props.closeAfterSelect, renderValue = props.renderValue, zIndex = props.zIndex, beforeList = props.beforeList, afterList = props.afterList, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, hintView = props.hintView, hintSize = props.hintSize, emptyStateDescription = props.emptyStateDescription, onChangeValue = props.onChangeValue, filterValue = props.filterValue, onScroll = props.onScroll, onToggle = props.onToggle, _props_mode = props.mode, mode = _props_mode === void 0 ? 'default' : _props_mode, _props_chipClickArea = props.chipClickArea, chipClickArea = _props_chipClickArea === void 0 ? 'full' : _props_chipClickArea, // @ts-ignore
|
|
209
|
+
var name = props.name, multiple = props.multiple, outerValue = props.value, outerOnChange = props.onChange, defaultValue = props.defaultValue, isTargetAmount = props.isTargetAmount, targetAmount = props.targetAmount, items = props.items, _props_treeView = props.treeView, treeView = _props_treeView === void 0 ? false : _props_treeView, _props_arrowPlacement = props.arrowPlacement, arrowPlacement = _props_arrowPlacement === void 0 ? 'left' : _props_arrowPlacement, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom-start' : _props_placement, label = props.label, placeholder = props.placeholder, helperText = props.helperText, contentLeft = props.contentLeft, contentRight = props.contentRight, textBefore = props.textBefore, textAfter = props.textAfter, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, portal = props.portal, renderItem = props.renderItem, view = props.view, size = props.size, labelPlacement = props.labelPlacement, keepPlaceholder = props.keepPlaceholder, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_alwaysOpened = props.alwaysOpened, alwaysOpened = _props_alwaysOpened === void 0 ? false : _props_alwaysOpened, filter = props.filter, outerCloseAfterSelect = props.closeAfterSelect, renderValue = props.renderValue, zIndex = props.zIndex, beforeList = props.beforeList, afterList = props.afterList, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, hintView = props.hintView, hintSize = props.hintSize, emptyStateDescription = props.emptyStateDescription, onChangeValue = props.onChangeValue, filterValue = props.filterValue, onScroll = props.onScroll, onToggle = props.onToggle, _props_mode = props.mode, mode = _props_mode === void 0 ? 'default' : _props_mode, _props_chipClickArea = props.chipClickArea, chipClickArea = _props_chipClickArea === void 0 ? 'full' : _props_chipClickArea, // @ts-ignore
|
|
210
210
|
_offset = props._offset, rest = _object_without_properties(props, [
|
|
211
211
|
"name",
|
|
212
212
|
"multiple",
|
|
@@ -223,6 +223,7 @@ var comboboxRoot = function(Root) {
|
|
|
223
223
|
"placeholder",
|
|
224
224
|
"helperText",
|
|
225
225
|
"contentLeft",
|
|
226
|
+
"contentRight",
|
|
226
227
|
"textBefore",
|
|
227
228
|
"textAfter",
|
|
228
229
|
"variant",
|
|
@@ -710,7 +711,7 @@ var comboboxRoot = function(Root) {
|
|
|
710
711
|
label: label,
|
|
711
712
|
placeholder: placeholder,
|
|
712
713
|
contentLeft: contentLeft,
|
|
713
|
-
contentRight: /*#__PURE__*/ _react.default.createElement(_Comboboxstyles.IconArrowWrapper, {
|
|
714
|
+
contentRight: contentRight || contentRight === undefined ? contentRight : /*#__PURE__*/ _react.default.createElement(_Comboboxstyles.IconArrowWrapper, {
|
|
714
715
|
disabled: disabled,
|
|
715
716
|
readOnly: readOnly,
|
|
716
717
|
onClick: handleClickArrow,
|
|
@@ -178,7 +178,7 @@ var selectRoot = function(Root) {
|
|
|
178
178
|
return /*#__PURE__*/ (0, _react.forwardRef)(function(props, ref) {
|
|
179
179
|
var _getItemByFocused;
|
|
180
180
|
var // eslint-disable-block @typescript-eslint/ban-ts-comment
|
|
181
|
-
id = props.id, outerValue = props.value, outerOnChange = props.onChange, _props_target = props.target, target = _props_target === void 0 ? 'textfield-like' : _props_target, items = props.items, _props_treeView = props.treeView, treeView = _props_treeView === void 0 ? false : _props_treeView, _props_arrowPlacement = props.arrowPlacement, arrowPlacement = _props_arrowPlacement === void 0 ? 'left' : _props_arrowPlacement, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom' : _props_placement, label = props.label, labelPlacement = props.labelPlacement, placeholder = props.placeholder, helperText = props.helperText, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, outerView = props.view, size = props.size, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, contentLeft = props.contentLeft, onScrollBottom = props.onScrollBottom, onScroll = props.onScroll, chipView = props.chipView, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, portal = props.portal, renderValue = props.renderValue, renderItem = props.renderItem, status = props.status, onItemSelect = props.onItemSelect, separator = props.separator, outerCloseAfterSelect = props.closeAfterSelect, isTargetAmount = props.isTargetAmount, beforeList = props.beforeList, afterList = props.afterList, zIndex = props.zIndex, name = props.name, defaultValue = props.defaultValue, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, onToggle = props.onToggle, chipType = props.chipType, multiselect = props.multiselect, _props_mode = props.mode, mode = _props_mode === void 0 ? 'default' : _props_mode, chipClickArea = props.chipClickArea, // @ts-ignore
|
|
181
|
+
id = props.id, outerValue = props.value, outerOnChange = props.onChange, _props_target = props.target, target = _props_target === void 0 ? 'textfield-like' : _props_target, items = props.items, _props_treeView = props.treeView, treeView = _props_treeView === void 0 ? false : _props_treeView, _props_arrowPlacement = props.arrowPlacement, arrowPlacement = _props_arrowPlacement === void 0 ? 'left' : _props_arrowPlacement, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom' : _props_placement, label = props.label, labelPlacement = props.labelPlacement, placeholder = props.placeholder, helperText = props.helperText, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, outerView = props.view, size = props.size, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, contentLeft = props.contentLeft, contentRight = props.contentRight, onScrollBottom = props.onScrollBottom, onScroll = props.onScroll, chipView = props.chipView, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, portal = props.portal, renderValue = props.renderValue, renderItem = props.renderItem, status = props.status, onItemSelect = props.onItemSelect, separator = props.separator, outerCloseAfterSelect = props.closeAfterSelect, isTargetAmount = props.isTargetAmount, beforeList = props.beforeList, afterList = props.afterList, zIndex = props.zIndex, name = props.name, defaultValue = props.defaultValue, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, onToggle = props.onToggle, chipType = props.chipType, multiselect = props.multiselect, _props_mode = props.mode, mode = _props_mode === void 0 ? 'default' : _props_mode, chipClickArea = props.chipClickArea, // @ts-ignore
|
|
182
182
|
_offset = props._offset, // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.
|
|
183
183
|
// @ts-ignore
|
|
184
184
|
required = props.required, // @ts-ignore
|
|
@@ -215,6 +215,7 @@ var selectRoot = function(Root) {
|
|
|
215
215
|
"listMaxHeight",
|
|
216
216
|
"listWidth",
|
|
217
217
|
"contentLeft",
|
|
218
|
+
"contentRight",
|
|
218
219
|
"onScrollBottom",
|
|
219
220
|
"onScroll",
|
|
220
221
|
"chipView",
|
|
@@ -523,6 +524,8 @@ var selectRoot = function(Root) {
|
|
|
523
524
|
chipView: chipView,
|
|
524
525
|
disabled: disabled,
|
|
525
526
|
readOnly: readOnly,
|
|
527
|
+
hintView: hintView,
|
|
528
|
+
hintSize: hintSize,
|
|
526
529
|
id: id,
|
|
527
530
|
ref: rootRef
|
|
528
531
|
}, rest), name && /*#__PURE__*/ _react.default.createElement(_SelectNative.SelectNative, {
|
|
@@ -573,6 +576,7 @@ var selectRoot = function(Root) {
|
|
|
573
576
|
labelPlacement: labelPlacement,
|
|
574
577
|
size: size,
|
|
575
578
|
contentLeft: contentLeft,
|
|
579
|
+
contentRight: contentRight,
|
|
576
580
|
disabled: disabled,
|
|
577
581
|
readOnly: readOnly,
|
|
578
582
|
renderValue: renderValue,
|
|
@@ -53,7 +53,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
53
53
|
return newObj;
|
|
54
54
|
}
|
|
55
55
|
var Target = /*#__PURE__*/ (0, _react.forwardRef)(function(param, ref) {
|
|
56
|
-
var value = param.value, opened = param.opened, valueToItemMap = param.valueToItemMap, label = param.label, placeholder = param.placeholder, onKeyDown = param.onKeyDown, labelPlacement = param.labelPlacement, size = param.size, contentLeft = param.contentLeft, disabled = param.disabled, readOnly = param.readOnly, renderValue = param.renderValue, selectProps = param.selectProps, inputWrapperRef = param.inputWrapperRef, multiselect = param.multiselect, view = param.view, helperText = param.helperText, treeId = param.treeId, activeDescendantItemValue = param.activeDescendantItemValue, isTargetAmount = param.isTargetAmount, onChange = param.onChange, chipView = param.chipView, separator = param.separator, requiredProps = param.requiredProps, hintProps = param.hintProps;
|
|
56
|
+
var value = param.value, opened = param.opened, valueToItemMap = param.valueToItemMap, label = param.label, placeholder = param.placeholder, onKeyDown = param.onKeyDown, labelPlacement = param.labelPlacement, size = param.size, contentLeft = param.contentLeft, contentRight = param.contentRight, disabled = param.disabled, readOnly = param.readOnly, renderValue = param.renderValue, selectProps = param.selectProps, inputWrapperRef = param.inputWrapperRef, multiselect = param.multiselect, view = param.view, helperText = param.helperText, treeId = param.treeId, activeDescendantItemValue = param.activeDescendantItemValue, isTargetAmount = param.isTargetAmount, onChange = param.onChange, chipView = param.chipView, separator = param.separator, requiredProps = param.requiredProps, hintProps = param.hintProps;
|
|
57
57
|
var buttonRef = (0, _plasmacore.useForkRef)(ref, inputWrapperRef);
|
|
58
58
|
if (selectProps.renderTarget) {
|
|
59
59
|
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
@@ -89,6 +89,7 @@ var Target = /*#__PURE__*/ (0, _react.forwardRef)(function(param, ref) {
|
|
|
89
89
|
size: size,
|
|
90
90
|
view: view,
|
|
91
91
|
contentLeft: contentLeft,
|
|
92
|
+
contentRight: contentRight,
|
|
92
93
|
helperText: helperText,
|
|
93
94
|
treeId: treeId,
|
|
94
95
|
activeDescendantItemValue: activeDescendantItemValue,
|
|
@@ -113,7 +113,7 @@ function _object_spread_props(target, source) {
|
|
|
113
113
|
return target;
|
|
114
114
|
}
|
|
115
115
|
var Textfield = /*#__PURE__*/ (0, _react.forwardRef)(function(param, ref) {
|
|
116
|
-
var inputWrapperRef = param.inputWrapperRef, opened = param.opened, multiselect = param.multiselect, value = param.value, label = param.label, labelPlacement = param.labelPlacement, keepPlaceholder = param.keepPlaceholder, placeholder = param.placeholder, onKeyDown = param.onKeyDown, size = param.size, view = param.view, contentLeft = param.contentLeft, helperText = param.helperText, treeId = param.treeId, activeDescendantItemValue = param.activeDescendantItemValue, disabled = param.disabled, readOnly = param.readOnly, isTargetAmount = param.isTargetAmount, valueToItemMap = param.valueToItemMap, renderValue = param.renderValue, onChange = param.onChange, chipView = param.chipView, requiredProps = param.requiredProps, chipType = param.chipType, hintProps = param.hintProps, chipClickArea = param.chipClickArea;
|
|
116
|
+
var inputWrapperRef = param.inputWrapperRef, opened = param.opened, multiselect = param.multiselect, value = param.value, label = param.label, labelPlacement = param.labelPlacement, keepPlaceholder = param.keepPlaceholder, placeholder = param.placeholder, onKeyDown = param.onKeyDown, size = param.size, view = param.view, contentLeft = param.contentLeft, contentRight = param.contentRight, helperText = param.helperText, treeId = param.treeId, activeDescendantItemValue = param.activeDescendantItemValue, disabled = param.disabled, readOnly = param.readOnly, isTargetAmount = param.isTargetAmount, valueToItemMap = param.valueToItemMap, renderValue = param.renderValue, onChange = param.onChange, chipView = param.chipView, requiredProps = param.requiredProps, chipType = param.chipType, hintProps = param.hintProps, chipClickArea = param.chipClickArea;
|
|
117
117
|
var withArrowInverse = opened ? _Selecttokens.classes.arrowInverse : undefined;
|
|
118
118
|
var getValue = function() {
|
|
119
119
|
var _valueToItemMap_get;
|
|
@@ -193,7 +193,7 @@ var Textfield = /*#__PURE__*/ (0, _react.forwardRef)(function(param, ref) {
|
|
|
193
193
|
keepPlaceholder: keepPlaceholder,
|
|
194
194
|
placeholder: _instanceof(value, Array) && value.length ? '' : placeholder,
|
|
195
195
|
contentLeft: contentLeft,
|
|
196
|
-
contentRight: /*#__PURE__*/ _react.default.createElement(_Textfieldstyles.IconArrowWrapper, {
|
|
196
|
+
contentRight: contentRight ? contentRight || contentRight === undefined : /*#__PURE__*/ _react.default.createElement(_Textfieldstyles.IconArrowWrapper, {
|
|
197
197
|
disabled: disabled,
|
|
198
198
|
readOnly: readOnly
|
|
199
199
|
}, /*#__PURE__*/ _react.default.createElement(_Textfieldstyles.StyledArrow, {
|
|
@@ -1,16 +1 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "Combobox", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return Combobox;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _engines = require("../../../engines");
|
|
12
|
-
var _ = require("../../..");
|
|
13
|
-
var _Comboboxconfig = require("./Combobox.config");
|
|
14
|
-
var mergedConfig = (0, _engines.mergeConfig)(_.comboboxNewConfig, _Comboboxconfig.config);
|
|
15
|
-
var ComboboxComponent = (0, _engines.component)(mergedConfig);
|
|
16
|
-
var Combobox = ComboboxComponent;
|
|
@@ -149,7 +149,7 @@ import { Context } from "./Combobox.context";
|
|
|
149
149
|
*/ export var comboboxRoot = function(Root) {
|
|
150
150
|
return /*#__PURE__*/ forwardRef(function(props, ref) {
|
|
151
151
|
var _getItemByFocused;
|
|
152
|
-
var name = props.name, multiple = props.multiple, outerValue = props.value, outerOnChange = props.onChange, defaultValue = props.defaultValue, isTargetAmount = props.isTargetAmount, targetAmount = props.targetAmount, items = props.items, _props_treeView = props.treeView, treeView = _props_treeView === void 0 ? false : _props_treeView, _props_arrowPlacement = props.arrowPlacement, arrowPlacement = _props_arrowPlacement === void 0 ? 'left' : _props_arrowPlacement, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom-start' : _props_placement, label = props.label, placeholder = props.placeholder, helperText = props.helperText, contentLeft = props.contentLeft, textBefore = props.textBefore, textAfter = props.textAfter, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, portal = props.portal, renderItem = props.renderItem, view = props.view, size = props.size, labelPlacement = props.labelPlacement, keepPlaceholder = props.keepPlaceholder, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_alwaysOpened = props.alwaysOpened, alwaysOpened = _props_alwaysOpened === void 0 ? false : _props_alwaysOpened, filter = props.filter, outerCloseAfterSelect = props.closeAfterSelect, renderValue = props.renderValue, zIndex = props.zIndex, beforeList = props.beforeList, afterList = props.afterList, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, hintView = props.hintView, hintSize = props.hintSize, emptyStateDescription = props.emptyStateDescription, onChangeValue = props.onChangeValue, filterValue = props.filterValue, onScroll = props.onScroll, onToggle = props.onToggle, _props_mode = props.mode, mode = _props_mode === void 0 ? 'default' : _props_mode, _props_chipClickArea = props.chipClickArea, chipClickArea = _props_chipClickArea === void 0 ? 'full' : _props_chipClickArea, // @ts-ignore
|
|
152
|
+
var name = props.name, multiple = props.multiple, outerValue = props.value, outerOnChange = props.onChange, defaultValue = props.defaultValue, isTargetAmount = props.isTargetAmount, targetAmount = props.targetAmount, items = props.items, _props_treeView = props.treeView, treeView = _props_treeView === void 0 ? false : _props_treeView, _props_arrowPlacement = props.arrowPlacement, arrowPlacement = _props_arrowPlacement === void 0 ? 'left' : _props_arrowPlacement, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom-start' : _props_placement, label = props.label, placeholder = props.placeholder, helperText = props.helperText, contentLeft = props.contentLeft, contentRight = props.contentRight, textBefore = props.textBefore, textAfter = props.textAfter, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, portal = props.portal, renderItem = props.renderItem, view = props.view, size = props.size, labelPlacement = props.labelPlacement, keepPlaceholder = props.keepPlaceholder, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_alwaysOpened = props.alwaysOpened, alwaysOpened = _props_alwaysOpened === void 0 ? false : _props_alwaysOpened, filter = props.filter, outerCloseAfterSelect = props.closeAfterSelect, renderValue = props.renderValue, zIndex = props.zIndex, beforeList = props.beforeList, afterList = props.afterList, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, hintView = props.hintView, hintSize = props.hintSize, emptyStateDescription = props.emptyStateDescription, onChangeValue = props.onChangeValue, filterValue = props.filterValue, onScroll = props.onScroll, onToggle = props.onToggle, _props_mode = props.mode, mode = _props_mode === void 0 ? 'default' : _props_mode, _props_chipClickArea = props.chipClickArea, chipClickArea = _props_chipClickArea === void 0 ? 'full' : _props_chipClickArea, // @ts-ignore
|
|
153
153
|
_offset = props._offset, rest = _object_without_properties(props, [
|
|
154
154
|
"name",
|
|
155
155
|
"multiple",
|
|
@@ -166,6 +166,7 @@ import { Context } from "./Combobox.context";
|
|
|
166
166
|
"placeholder",
|
|
167
167
|
"helperText",
|
|
168
168
|
"contentLeft",
|
|
169
|
+
"contentRight",
|
|
169
170
|
"textBefore",
|
|
170
171
|
"textAfter",
|
|
171
172
|
"variant",
|
|
@@ -653,7 +654,7 @@ import { Context } from "./Combobox.context";
|
|
|
653
654
|
label: label,
|
|
654
655
|
placeholder: placeholder,
|
|
655
656
|
contentLeft: contentLeft,
|
|
656
|
-
contentRight: /*#__PURE__*/ React.createElement(IconArrowWrapper, {
|
|
657
|
+
contentRight: contentRight || contentRight === undefined ? contentRight : /*#__PURE__*/ React.createElement(IconArrowWrapper, {
|
|
657
658
|
disabled: disabled,
|
|
658
659
|
readOnly: readOnly,
|
|
659
660
|
onClick: handleClickArrow,
|
|
@@ -121,7 +121,7 @@ import { Context } from "./Select.context";
|
|
|
121
121
|
return /*#__PURE__*/ forwardRef(function(props, ref) {
|
|
122
122
|
var _getItemByFocused;
|
|
123
123
|
var // eslint-disable-block @typescript-eslint/ban-ts-comment
|
|
124
|
-
id = props.id, outerValue = props.value, outerOnChange = props.onChange, _props_target = props.target, target = _props_target === void 0 ? 'textfield-like' : _props_target, items = props.items, _props_treeView = props.treeView, treeView = _props_treeView === void 0 ? false : _props_treeView, _props_arrowPlacement = props.arrowPlacement, arrowPlacement = _props_arrowPlacement === void 0 ? 'left' : _props_arrowPlacement, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom' : _props_placement, label = props.label, labelPlacement = props.labelPlacement, placeholder = props.placeholder, helperText = props.helperText, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, outerView = props.view, size = props.size, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, contentLeft = props.contentLeft, onScrollBottom = props.onScrollBottom, onScroll = props.onScroll, chipView = props.chipView, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, portal = props.portal, renderValue = props.renderValue, renderItem = props.renderItem, status = props.status, onItemSelect = props.onItemSelect, separator = props.separator, outerCloseAfterSelect = props.closeAfterSelect, isTargetAmount = props.isTargetAmount, beforeList = props.beforeList, afterList = props.afterList, zIndex = props.zIndex, name = props.name, defaultValue = props.defaultValue, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, onToggle = props.onToggle, chipType = props.chipType, multiselect = props.multiselect, _props_mode = props.mode, mode = _props_mode === void 0 ? 'default' : _props_mode, chipClickArea = props.chipClickArea, // @ts-ignore
|
|
124
|
+
id = props.id, outerValue = props.value, outerOnChange = props.onChange, _props_target = props.target, target = _props_target === void 0 ? 'textfield-like' : _props_target, items = props.items, _props_treeView = props.treeView, treeView = _props_treeView === void 0 ? false : _props_treeView, _props_arrowPlacement = props.arrowPlacement, arrowPlacement = _props_arrowPlacement === void 0 ? 'left' : _props_arrowPlacement, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom' : _props_placement, label = props.label, labelPlacement = props.labelPlacement, placeholder = props.placeholder, helperText = props.helperText, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, outerView = props.view, size = props.size, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, contentLeft = props.contentLeft, contentRight = props.contentRight, onScrollBottom = props.onScrollBottom, onScroll = props.onScroll, chipView = props.chipView, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, portal = props.portal, renderValue = props.renderValue, renderItem = props.renderItem, status = props.status, onItemSelect = props.onItemSelect, separator = props.separator, outerCloseAfterSelect = props.closeAfterSelect, isTargetAmount = props.isTargetAmount, beforeList = props.beforeList, afterList = props.afterList, zIndex = props.zIndex, name = props.name, defaultValue = props.defaultValue, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, onToggle = props.onToggle, chipType = props.chipType, multiselect = props.multiselect, _props_mode = props.mode, mode = _props_mode === void 0 ? 'default' : _props_mode, chipClickArea = props.chipClickArea, // @ts-ignore
|
|
125
125
|
_offset = props._offset, // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.
|
|
126
126
|
// @ts-ignore
|
|
127
127
|
required = props.required, // @ts-ignore
|
|
@@ -158,6 +158,7 @@ import { Context } from "./Select.context";
|
|
|
158
158
|
"listMaxHeight",
|
|
159
159
|
"listWidth",
|
|
160
160
|
"contentLeft",
|
|
161
|
+
"contentRight",
|
|
161
162
|
"onScrollBottom",
|
|
162
163
|
"onScroll",
|
|
163
164
|
"chipView",
|
|
@@ -466,6 +467,8 @@ import { Context } from "./Select.context";
|
|
|
466
467
|
chipView: chipView,
|
|
467
468
|
disabled: disabled,
|
|
468
469
|
readOnly: readOnly,
|
|
470
|
+
hintView: hintView,
|
|
471
|
+
hintSize: hintSize,
|
|
469
472
|
id: id,
|
|
470
473
|
ref: rootRef
|
|
471
474
|
}, rest), name && /*#__PURE__*/ React.createElement(SelectNative, {
|
|
@@ -516,6 +519,7 @@ import { Context } from "./Select.context";
|
|
|
516
519
|
labelPlacement: labelPlacement,
|
|
517
520
|
size: size,
|
|
518
521
|
contentLeft: contentLeft,
|
|
522
|
+
contentRight: contentRight,
|
|
519
523
|
disabled: disabled,
|
|
520
524
|
readOnly: readOnly,
|
|
521
525
|
renderValue: renderValue,
|
|
@@ -2,7 +2,7 @@ import React, { forwardRef } from "react";
|
|
|
2
2
|
import { useForkRef } from "@salutejs/plasma-core";
|
|
3
3
|
import { Button, Textfield } from "./ui";
|
|
4
4
|
export var Target = /*#__PURE__*/ forwardRef(function(param, ref) {
|
|
5
|
-
var value = param.value, opened = param.opened, valueToItemMap = param.valueToItemMap, label = param.label, placeholder = param.placeholder, onKeyDown = param.onKeyDown, labelPlacement = param.labelPlacement, size = param.size, contentLeft = param.contentLeft, disabled = param.disabled, readOnly = param.readOnly, renderValue = param.renderValue, selectProps = param.selectProps, inputWrapperRef = param.inputWrapperRef, multiselect = param.multiselect, view = param.view, helperText = param.helperText, treeId = param.treeId, activeDescendantItemValue = param.activeDescendantItemValue, isTargetAmount = param.isTargetAmount, onChange = param.onChange, chipView = param.chipView, separator = param.separator, requiredProps = param.requiredProps, hintProps = param.hintProps;
|
|
5
|
+
var value = param.value, opened = param.opened, valueToItemMap = param.valueToItemMap, label = param.label, placeholder = param.placeholder, onKeyDown = param.onKeyDown, labelPlacement = param.labelPlacement, size = param.size, contentLeft = param.contentLeft, contentRight = param.contentRight, disabled = param.disabled, readOnly = param.readOnly, renderValue = param.renderValue, selectProps = param.selectProps, inputWrapperRef = param.inputWrapperRef, multiselect = param.multiselect, view = param.view, helperText = param.helperText, treeId = param.treeId, activeDescendantItemValue = param.activeDescendantItemValue, isTargetAmount = param.isTargetAmount, onChange = param.onChange, chipView = param.chipView, separator = param.separator, requiredProps = param.requiredProps, hintProps = param.hintProps;
|
|
6
6
|
var buttonRef = useForkRef(ref, inputWrapperRef);
|
|
7
7
|
if (selectProps.renderTarget) {
|
|
8
8
|
return /*#__PURE__*/ React.createElement("div", {
|
|
@@ -38,6 +38,7 @@ export var Target = /*#__PURE__*/ forwardRef(function(param, ref) {
|
|
|
38
38
|
size: size,
|
|
39
39
|
view: view,
|
|
40
40
|
contentLeft: contentLeft,
|
|
41
|
+
contentRight: contentRight,
|
|
41
42
|
helperText: helperText,
|
|
42
43
|
treeId: treeId,
|
|
43
44
|
activeDescendantItemValue: activeDescendantItemValue,
|