@salutejs/plasma-new-hope 0.336.0-canary.2213.17513842134.0 → 0.336.0-canary.2214.17514828735.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/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -8
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Select/Select.js +1 -8
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Tree/Tree.js +17 -2
- package/cjs/components/Tree/Tree.js.map +1 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -6
- package/emotion/cjs/components/Select/Select.js +1 -6
- package/emotion/cjs/components/Tree/Tree.js +9 -2
- package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
- package/emotion/cjs/examples/components/Tree/Tree.js +1 -0
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +1 -6
- package/emotion/es/components/Select/Select.js +1 -6
- package/emotion/es/components/Tree/Tree.js +9 -2
- package/emotion/es/examples/components/Combobox/Combobox.js +0 -7
- package/emotion/es/examples/components/Tree/Tree.js +1 -0
- package/es/components/Combobox/ComboboxNew/Combobox.js +1 -8
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Select/Select.js +1 -8
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Tree/Tree.js +17 -2
- package/es/components/Tree/Tree.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -6
- package/styled-components/cjs/components/Select/Select.js +1 -6
- package/styled-components/cjs/components/Tree/Tree.js +9 -2
- package/styled-components/cjs/examples/components/Tree/Tree.js +1 -0
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +1 -6
- package/styled-components/es/components/Select/Select.js +1 -6
- package/styled-components/es/components/Tree/Tree.js +9 -2
- package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
- package/styled-components/es/examples/components/Tree/Tree.js +1 -0
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +0 -7
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +0 -6
- 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 +0 -14
- package/types/components/Select/Select.types.d.ts.map +1 -1
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +0 -6
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
- package/types/components/Tree/Tree.d.ts +2 -2
- package/types/components/Tree/Tree.d.ts.map +1 -1
- package/types/components/Tree/Tree.types.d.ts +23 -1
- package/types/components/Tree/Tree.types.d.ts.map +1 -1
- package/types/examples/components/Combobox/Combobox.d.ts +0 -24
- package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
- package/types/examples/components/Select/Select.d.ts +0 -6
- package/types/examples/components/Select/Select.d.ts.map +1 -1
- package/types/examples/components/Tree/Tree.d.ts +1 -1
- package/types/examples/components/Tree/Tree.d.ts.map +1 -1
@@ -21,7 +21,7 @@ import { VirtualList } from './ui/VirtualList/VirtualList.js';
|
|
21
21
|
import { Inner } from './ui/Inner/Inner.js';
|
22
22
|
import { getView } from './utils/getView.js';
|
23
23
|
|
24
|
-
var _excluded = ["id", "value", "onChange", "target", "items", "placement", "label", "labelPlacement", "placeholder", "helperText", "disabled", "readOnly", "view", "size", "listOverflow", "listHeight", "listMaxHeight", "listWidth", "contentLeft", "onScrollBottom", "onScroll", "chipView", "variant", "portal", "renderValue", "renderItem", "status", "onItemSelect", "separator", "closeAfterSelect", "isTargetAmount", "beforeList", "afterList", "zIndex", "name", "defaultValue", "virtual", "onToggle", "chipType", "multiselect", "
|
24
|
+
var _excluded = ["id", "value", "onChange", "target", "items", "placement", "label", "labelPlacement", "placeholder", "helperText", "disabled", "readOnly", "view", "size", "listOverflow", "listHeight", "listMaxHeight", "listWidth", "contentLeft", "onScrollBottom", "onScroll", "chipView", "variant", "portal", "renderValue", "renderItem", "status", "onItemSelect", "separator", "closeAfterSelect", "isTargetAmount", "beforeList", "afterList", "zIndex", "name", "defaultValue", "virtual", "onToggle", "chipType", "multiselect", "_offset", "required", "requiredPlacement", "hasRequiredIndicator", "optional", "hintText", "hintTrigger", "hintView", "hintSize", "hintTargetPlacement", "hintPlacement", "hintWidth", "hintHasArrow", "hasHint"];
|
25
25
|
|
26
26
|
/**
|
27
27
|
* Выпадающий список. Поддерживает выбор одного или нескольких значений.
|
@@ -72,8 +72,6 @@ var selectRoot = function selectRoot(Root) {
|
|
72
72
|
_props$virtual = props.virtual,
|
73
73
|
virtual = _props$virtual === void 0 ? false : _props$virtual,
|
74
74
|
onToggle = props.onToggle,
|
75
|
-
_props$mode = props.mode,
|
76
|
-
mode = _props$mode === void 0 ? 'default' : _props$mode,
|
77
75
|
_offset = props._offset,
|
78
76
|
required = props.required,
|
79
77
|
requiredPlacement = props.requiredPlacement,
|
@@ -258,11 +256,6 @@ var selectRoot = function selectRoot(Root) {
|
|
258
256
|
type: 'reset'
|
259
257
|
});
|
260
258
|
}
|
261
|
-
|
262
|
-
// Закрываем список, если элемент уже выбран.
|
263
|
-
if (mode === 'radio' && isCurrentChecked) {
|
264
|
-
return;
|
265
|
-
}
|
266
259
|
if (onChange) {
|
267
260
|
onChange(isCurrentChecked ? '' : item.value, item);
|
268
261
|
}
|
@@ -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 } from './ui';\nimport { pathReducer, focusedPathReducer } 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 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 // @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, labelToItemMap] = 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 [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 view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\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 const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n }, floatingPopoverRef);\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 }\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 if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\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 }\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 }\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<HTMLUListElement>) => {\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 });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\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 {...(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 }}\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 labelToItemMap={labelToItemMap}\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 <ListWrapper listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\n ref={targetRef}\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 />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\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$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listOverflow","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","_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","labelToItemMap","_useState","useState","multiselect","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","getView","requiredProps","hintProps","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleListToggle","opened","handleCheckboxChange","checkedCopy","Map","get","set","updateDescendants","updateAncestors","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA4BA;AACA;AACA;IACaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,IAAoE,EAAA;AAAA,EAAA,oBAC3FC,UAAU,CAAuC,UAACC,KAAK,EAAEC,GAAG,EAAK;AAAA,IAAA,IAAAC,iBAAA,CAAA;AAC7D,IAAA,IAEIC,EAAE,GAwEFH,KAAK,CAxELG,EAAE,CAAA;MACKC,UAAU,GAuEjBJ,KAAK,CAvELK,KAAK,CAAA;MACGC,aAAA,GAsERN,KAAK,CArELO,MAAM,CAAA;AAANA,MAAAA,MAAM,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,gBAAgB,GAAAA,aAAA,CAAA;MACzBE,KAAK,GAoELR,KAAK,CApELQ,KAAK,CAAA;MAAAC,gBAAA,GAoELT,KAAK,CAnELU,SAAS,CAAA;AAATA,MAAAA,SAAS,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,gBAAA,CAAA;MACpBE,KAAK,GAkELX,KAAK,CAlELW,KAAK,CAAA;MACLC,cAAc,GAiEdZ,KAAK,CAjELY,cAAc,CAAA;MACdC,WAAW,GAgEXb,KAAK,CAhELa,WAAW,CAAA;MACXC,UAAU,GA+DVd,KAAK,CA/DLc,UAAU,CAAA;MAAAC,eAAA,GA+DVf,KAAK,CA9DLgB,QAAQ,CAAA;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA,CAAA;MAAAE,eAAA,GA8DhBjB,KAAK,CA7DLkB,QAAQ,CAAA;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA,CAAA;MACVE,SAAS,GA4DfnB,KAAK,CA5DLoB,IAAI,CAAA;MACJC,IAAI,GA2DJrB,KAAK,CA3DLqB,IAAI,CAAA;MACJC,YAAY,GA0DZtB,KAAK,CA1DLsB,YAAY,CAAA;MACZC,UAAU,GAyDVvB,KAAK,CAzDLuB,UAAU,CAAA;MACVC,aAAa,GAwDbxB,KAAK,CAxDLwB,aAAa,CAAA;MACbC,SAAS,GAuDTzB,KAAK,CAvDLyB,SAAS,CAAA;MACTC,WAAW,GAsDX1B,KAAK,CAtDL0B,WAAW,CAAA;MACXC,cAAc,GAqDd3B,KAAK,CArDL2B,cAAc,CAAA;MACdC,QAAQ,GAoDR5B,KAAK,CApDL4B,QAAQ,CAAA;MACRC,QAAQ,GAmDR7B,KAAK,CAnDL6B,QAAQ,CAAA;MAAAC,cAAA,GAmDR9B,KAAK,CAlDL+B,OAAO,CAAA;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,cAAA,CAAA;MAClBE,MAAM,GAiDNhC,KAAK,CAjDLgC,MAAM,CAAA;MACNC,WAAW,GAgDXjC,KAAK,CAhDLiC,WAAW,CAAA;MACXC,UAAU,GA+CVlC,KAAK,CA/CLkC,UAAU,CAAA;MACVC,MAAM,GA8CNnC,KAAK,CA9CLmC,MAAM,CAAA;MACNC,YAAY,GA6CZpC,KAAK,CA7CLoC,YAAY,CAAA;MACZC,SAAS,GA4CTrC,KAAK,CA5CLqC,SAAS,CAAA;MACSC,qBAAqB,GA2CvCtC,KAAK,CA3CLuC,gBAAgB,CAAA;MAChBC,cAAc,GA0CdxC,KAAK,CA1CLwC,cAAc,CAAA;MACdC,UAAU,GAyCVzC,KAAK,CAzCLyC,UAAU,CAAA;MACVC,SAAS,GAwCT1C,KAAK,CAxCL0C,SAAS,CAAA;MACTC,MAAM,GAuCN3C,KAAK,CAvCL2C,MAAM,CAAA;MACNC,IAAI,GAsCJ5C,KAAK,CAtCL4C,IAAI,CAAA;MACJC,YAAY,GAqCZ7C,KAAK,CArCL6C,YAAY,CAAA;MAAAC,cAAA,GAqCZ9C,KAAK,CApCL+C,OAAO,CAAA;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA,CAAA;MACfE,QAAQ,GAmCRhD,KAAK,CAnCLgD,QAAQ,CAAA;MAEGC,WAAA,GAiCXjD,KAAK,CAhCLkD,IAAI,CAAA;AAAJA,MAAAA,IAAI,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,WAAA,CAAA;MAEhBE,OAAO,GA8BPnD,KAAK,CA9BLmD,OAAO,CAAA;MAIPC,QAAQ,GA0BRpD,KAAK,CA1BLoD,QAAQ,CAAA;MAERC,iBAAiB,GAwBjBrD,KAAK,CAxBLqD,iBAAiB,CAAA;MAEjBC,oBAAoB,GAsBpBtD,KAAK,CAtBLsD,oBAAoB,CAAA;MAEpBC,QAAQ,GAoBRvD,KAAK,CApBLuD,QAAQ,CAAA;MAERC,QAAQ,GAkBRxD,KAAK,CAlBLwD,QAAQ,CAAA;MAERC,WAAW,GAgBXzD,KAAK,CAhBLyD,WAAW,CAAA;MAEXC,QAAQ,GAcR1D,KAAK,CAdL0D,QAAQ,CAAA;MAERC,QAAQ,GAYR3D,KAAK,CAZL2D,QAAQ,CAAA;MAERC,mBAAmB,GAUnB5D,KAAK,CAVL4D,mBAAmB,CAAA;MAEnBC,aAAa,GAQb7D,KAAK,CARL6D,aAAa,CAAA;MAEbC,SAAS,GAMT9D,KAAK,CANL8D,SAAS,CAAA;MAETC,YAAY,GAIZ/D,KAAK,CAJL+D,YAAY,CAAA;MAGTC,IAAI,GAAAC,wBAAA,CACPjE,KAAK,EAAAkE,SAAA,EAAA;IACT,IAAMC,gBAAgB,GAAGC,OAAO,CAAC,YAAA;AAAA,MAAA,OAAMC,qBAAqB,CAAC7D,KAAK,IAAI,EAAE,CAAC,CAAA;KAAE,EAAA,CAACA,KAAK,CAAC,CAAC,CAAA;;AAEnF;AACA,IAAA,IAAA8D,YAAA,GAAwFC,WAAW,CAC/FJ,gBACJ,CAAC;MAAAK,aAAA,GAAAC,cAAA,CAAAH,YAAA,EAAA,CAAA,CAAA;AAFMI,MAAAA,OAAO,GAAAF,aAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,iBAAiB,GAAAH,aAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,iBAAiB,GAAAJ,aAAA,CAAA,CAAA,CAAA;AAAEK,MAAAA,cAAc,GAAAL,aAAA,CAAA,CAAA,CAAA;AAAEM,MAAAA,cAAc,GAAAN,aAAA,CAAA,CAAA,CAAA,CAAA;IAIpF,IAAAO,SAAA,GAA0CC,QAAQ,CAC9ChF,KAAK,CAACiF,WAAW,GAAG,EAAE,GAAG,EAC7B,CAAC;MAAAC,UAAA,GAAAT,cAAA,CAAAM,SAAA,EAAA,CAAA,CAAA;AAFMI,MAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAItC,IAAA,IAAM7E,KAAK,GAAGD,UAAU,KAAK,IAAI,IAAIA,UAAU,KAAKiF,SAAS,GAAGjF,UAAU,GAAG+E,aAAa,CAAA;AAE1F,IAAA,IAAMG,kBAAkB,GAAGC,MAAM,CAAiB,IAAI,CAAC,CAAA;;AAEvD;AACA,IAAA,IAAAC,WAAA,GAA6BC,UAAU,CAACC,WAAW,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAlB,cAAA,CAAAe,WAAA,EAAA,CAAA,CAAA;AAAjDI,MAAAA,IAAI,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACzB,IAAA,IAAAG,YAAA,GAA2CL,UAAU,CAACM,kBAAkB,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAvB,cAAA,CAAAqB,YAAA,EAAA,CAAA,CAAA;AAAtEG,MAAAA,WAAW,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,mBAAmB,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACvC,IAAA,IAAAG,UAAA,GAA8BnB,QAAQ,CAACJ,iBAAiB,CAAC;MAAAwB,UAAA,GAAA3B,cAAA,CAAA0B,UAAA,EAAA,CAAA,CAAA;AAAlDE,MAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAE1B,IAAMG,iBAAiB,GAAGC,OAAO,CAACZ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,IAAMa,yBAAyB,GAAG,CAAAvG,CAAAA,iBAAA,GAAAwG,gBAAgB,CAACT,WAAW,EAAEtB,iBAAiB,CAAC,cAAAzE,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhDA,iBAAA,CAAkDG,KAAK,CAACsG,QAAQ,EAAE,KAAI,EAAE,CAAA;IAC1G,IAAMpE,gBAAgB,GAAGD,qBAAqB,KAArBA,IAAAA,IAAAA,qBAAqB,KAArBA,KAAAA,CAAAA,GAAAA,qBAAqB,GAAI,CAACtC,KAAK,CAACiF,WAAW,CAAA;AACpE,IAAA,IAAM2B,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,IAAA,IAAMzF,IAAI,GAAGb,MAAM,KAAK,gBAAgB,KAAKS,QAAQ,IAAIE,QAAQ,CAAC,GAAG,SAAS,GAAG4F,OAAO,CAAC3E,MAAM,EAAEhB,SAAS,CAAC,CAAA;;AAE3G;IACA,IAAM4F,aAAa,GACf/G,KAAK,CAACO,MAAM,KAAK,aAAa,GACxB8E,SAAS,GACR;AACGjC,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBC,MAAAA,QAAQ,EAARA,QAAAA;KACe,CAAA;;AAE7B;IACA,IAAMyD,SAAS,GACXhH,KAAK,CAACO,MAAM,KAAK,aAAa,GACxB8E,SAAS,GACR;AACG7B,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,WAAW,EAAXA,WAAW;AACXC,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBC,MAAAA,aAAa,EAAbA,aAAa;AACbC,MAAAA,SAAS,EAATA,SAAS;AACTC,MAAAA,YAAY,EAAZA,YAAAA;KACW,CAAA;AAEzB,IAAA,IAAMkD,SAAS,GAAGC,eAAe,CAAmB,YAAM;MACtD,IAAI,CAACX,iBAAiB,EAAE;AACpB,QAAA,OAAA;AACJ,OAAA;AAEAV,MAAAA,YAAY,CAAC;AAAEsB,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;AAC/BjB,MAAAA,mBAAmB,CAAC;AAAEiB,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;AAEtC,MAAA,IAAInE,QAAQ,EAAE;QACVA,QAAQ,CAAC,KAAK,CAAC,CAAA;AACnB,OAAA;KACH,EAAEsC,kBAAkB,CAAC,CAAA;IAEtB,IAAM8B,QAAQ,GAAG,SAAXA,QAAQA,CACVC,QAA2F,EAC3FC,IAA2C,EAC1C;MACD,IAAItH,KAAK,CAACoH,QAAQ,EAAE;AAChB;AACA,QAAA,IAAI,CAACpH,KAAK,CAAC4C,IAAI,KAAK,OAAOyE,QAAQ,KAAK,QAAQ,IAAIE,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,CAAC,EAAE;UAC1ErH,KAAK,CAACoH,QAAQ,CAACC,QAAQ,EAASC,IAAI,IAAI,IAAI,CAAC,CAAA;AACjD,SAAA;;AAEA;AACA;AACA,QAAA,IAAItH,KAAK,CAAC4C,IAAI,IAAI6E,OAAA,CAAOJ,QAAQ,CAAA,KAAK,QAAQ,IAAI,CAACE,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,EAAE;UACxErH,KAAK,CAACoH,QAAQ,CAACC,QAAQ,EAASC,IAAI,IAAI,IAAI,CAAC,CAAA;AACjD,SAAA;AACJ,OAAA;;AAEA;MACA,IAAI,OAAOD,QAAQ,KAAK,QAAQ,IAAIE,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,EAAE;QACzDjC,gBAAgB,CAACiC,QAAQ,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;AAED,IAAA,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,MAAe,EAAK;MAC1C,IAAI3G,QAAQ,IAAIE,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIyG,MAAM,EAAE;AACR9B,QAAAA,YAAY,CAAC;AAAEsB,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAChD,OAAC,MAAM;AACHjB,QAAAA,mBAAmB,CAAC;AAAEiB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACtCtB,QAAAA,YAAY,CAAC;AAAEsB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACnC,OAAA;AAEA,MAAA,IAAInE,QAAQ,EAAE;QACVA,QAAQ,CAAC2E,MAAM,CAAC,CAAA;AACpB,OAAA;KACH,CAAA;AAED,IAAA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIN,IAAmC,EAAK;AAClE,MAAA,IAAI,CAACtH,KAAK,CAACiF,WAAW,EAAE;AACpB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAM4C,WAAW,GAAG,IAAIC,GAAG,CAACzB,OAAO,CAAC,CAAA;MAEpC,IAAI,CAACwB,WAAW,CAACE,GAAG,CAACT,IAAI,CAACjH,KAAK,CAAC,EAAE;QAC9BwH,WAAW,CAACG,GAAG,CAACV,IAAI,CAACjH,KAAK,EAAE,IAAI,CAAC,CAAA;QACjC4H,iBAAiB,CAACX,IAAI,EAAEO,WAAW,EAAE,IAAI,EAAEhD,cAAc,CAAC,CAAA;AAC9D,OAAC,MAAM;QACHgD,WAAW,CAACG,GAAG,CAACV,IAAI,CAACjH,KAAK,EAAE,KAAK,CAAC,CAAA;AAClC4H,QAAAA,iBAAiB,CAACX,IAAI,EAAEO,WAAW,EAAE,KAAK,CAAC,CAAA;AAC/C,OAAA;AAEAK,MAAAA,eAAe,CAACZ,IAAI,EAAEO,WAAW,CAAC,CAAA;MAElC,IAAMM,SAAiC,GAAG,EAAE,CAAA;AAE5CtD,MAAAA,cAAc,CAACuD,OAAO,CAAC,UAACd,IAAI,EAAEe,GAAG,EAAK;AAClC,QAAA,IAAIR,WAAW,CAACE,GAAG,CAACM,GAAG,CAAC,EAAE;AACtBF,UAAAA,SAAS,CAACG,IAAI,CAAChB,IAAI,CAACjH,KAAK,CAAC,CAAA;AAC9B,SAAA;AACJ,OAAC,CAAC,CAAA;;AAEF;AACA,MAAA,IAAIkH,KAAK,CAACC,OAAO,CAACnH,KAAK,CAAC,EAAE;AACtBA,QAAAA,KAAK,CAAC+H,OAAO,CAAC,UAACG,GAAW,EAAK;AAC3B,UAAA,IAAI,CAAC1D,cAAc,CAAC2D,GAAG,CAACD,GAAG,CAAC,EAAE;AAC1BJ,YAAAA,SAAS,CAACG,IAAI,CAACC,GAAG,CAAC,CAAA;AACvB,WAAA;AACJ,SAAC,CAAC,CAAA;AACN,OAAA;AAEA,MAAA,IAAIhG,gBAAgB,EAAE;AAClBsD,QAAAA,YAAY,CAAC;AAAEsB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/BjB,QAAAA,mBAAmB,CAAC;AAAEiB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC1C,OAAA;AAEA,MAAA,IAAIC,QAAQ,EAAE;AACVA,QAAAA,QAAQ,CAACe,SAAS,EAAEb,IAAI,CAAC,CAAA;AAC7B,OAAA;KACH,CAAA;IAED,IAAMmB,eAAe,GAAG,SAAlBA,eAAeA,CAAInB,IAAmC,EAAEoB,CAAiC,EAAK;MAChG,IAAI,CAACC,OAAO,CAACrB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAE9G,KAAK,CAAC,EAAE;AACvB,QAAA,OAAA;AACJ,OAAA;MAEA,IAAIR,KAAK,CAACiF,WAAW,EAAE;QACnB2C,oBAAoB,CAACN,IAAI,CAAC,CAAA;AAC1B,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIoB,CAAC,EAAE;QACHA,CAAC,CAACE,eAAe,EAAE,CAAA;AACvB,OAAA;MAEA,IAAMC,gBAAgB,GAAGxC,OAAO,CAAC0B,GAAG,CAACT,IAAI,CAACjH,KAAK,CAAC,CAAA;AAEhD,MAAA,IAAIkC,gBAAgB,EAAE;AAClBsD,QAAAA,YAAY,CAAC;AAAEsB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/BjB,QAAAA,mBAAmB,CAAC;AAAEiB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC1C,OAAA;;AAEA;AACA,MAAA,IAAIjE,IAAI,KAAK,OAAO,IAAI2F,gBAAgB,EAAE;AACtC,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIzB,QAAQ,EAAE;QACVA,QAAQ,CAACyB,gBAAgB,GAAG,EAAE,GAAGvB,IAAI,CAACjH,KAAK,EAAEiH,IAAI,CAAC,CAAA;AACtD,OAAA;AAEA,MAAA,IAAIlF,YAAY,EAAE;AACdA,QAAAA,YAAY,CAACkF,IAAI,EAAEoB,CAAE,CAAC,CAAA;AAC1B,OAAA;KACH,CAAA;IAED,IAAMI,eAAe,GAAG,SAAlBA,eAAeA,CAAIxB,IAAmC,EAAEoB,CAAiC,EAAK;AAChG,MAAA,IAAIC,OAAO,CAACrB,IAAI,CAAC9G,KAAK,CAAC,EAAE;AACrBiI,QAAAA,eAAe,CAACnB,IAAI,EAAEoB,CAAC,CAAC,CAAA;AAC5B,OAAC,MAAM,IAAI1I,KAAK,CAACiF,WAAW,EAAE;QAC1B2C,oBAAoB,CAACN,IAAI,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;AAED,IAAA,IAAMyB,YAAY,GAAG,SAAfA,YAAYA,CAAIL,CAAkC,EAAK;AACzD,MAAA,IAAI9G,QAAQ,EAAE;QACVA,QAAQ,CAAC8G,CAAC,CAAC,CAAA;AACf,OAAA;MAEA,IAAI,CAAC/G,cAAc,EAAE,OAAA;AAErB,MAAA,IAAQpB,MAAM,GAAKmI,CAAC,CAAZnI,MAAM,CAAA;MAEd,IACKA,MAAM,CAAiByI,YAAY,GAAIzI,MAAM,CAAiB0I,SAAS,KACvE1I,MAAM,CAAiB2I,YAAY,EACtC;QACEvH,cAAc,CAAC+G,CAAC,CAAC,CAAA;AACrB,OAAA;KACH,CAAA;IAED,IAAAS,iBAAA,GAAsBC,gBAAgB,CAAC;AACnCnD,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBN,QAAAA,IAAI,EAAJA,IAAI;AACJC,QAAAA,YAAY,EAAZA,YAAY;AACZnB,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjB+C,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBoB,QAAAA,eAAe,EAAfA,eAAAA;AACJ,OAAC,CAAC;MATMO,SAAS,GAAAF,iBAAA,CAATE,SAAS,CAAA;;AAWjB;AACA;AACAC,IAAAA,eAAe,CAAC,YAAM;AAClB,MAAA,IAAMzB,WAAW,GAAG,IAAIC,GAAG,CAACzB,OAAO,CAAC,CAAA;AAEpCwB,MAAAA,WAAW,CAACO,OAAO,CAAC,UAACmB,CAAC,EAAElB,GAAG,EAAK;AAC5BR,QAAAA,WAAW,CAACG,GAAG,CAACK,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/B,OAAC,CAAC,CAAA;MAEF,IAAI,CAACM,OAAO,CAACtI,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAC9C,QAAA,IAAIkH,KAAK,CAACC,OAAO,CAACnH,KAAK,CAAC,EAAE;AACtBA,UAAAA,KAAK,CAAC+H,OAAO,CAAC,UAACG,GAAG,EAAK;AACnB;AACA,YAAA,IAAI1D,cAAc,CAAC2D,GAAG,CAACD,GAAG,CAAC,EAAE;AACzBV,cAAAA,WAAW,CAACG,GAAG,CAACO,GAAG,EAAE,IAAI,CAAC,CAAA;cAC1BN,iBAAiB,CAACpD,cAAc,CAACkD,GAAG,CAACQ,GAAG,CAAC,EAAGV,WAAW,EAAE,IAAI,CAAC,CAAA;cAC9DK,eAAe,CAACrD,cAAc,CAACkD,GAAG,CAACQ,GAAG,CAAC,EAAGV,WAAW,CAAC,CAAA;AAC1D,aAAA;AACJ,WAAC,CAAC,CAAA;AACN,SAAC,MAAM;AACH;AACA;AACA,UAAA,IAAIhD,cAAc,CAAC2D,GAAG,CAACnI,KAAK,CAAC,EAAE;AAC3BwH,YAAAA,WAAW,CAACG,GAAG,CAAC3H,KAAK,EAAE,MAAM,CAAC,CAAA;YAC9BmJ,qBAAqB,CAAC3E,cAAc,CAACkD,GAAG,CAAC1H,KAAK,CAAC,EAAGwH,WAAW,EAAE,KAAK,CAAC,CAAA;AACzE,WAAA;AACJ,SAAA;AACJ,OAAA;MAEAvB,UAAU,CAACuB,WAAW,CAAC,CAAA;;AAEvB;AACA;AACA;KACH,EAAE,CAACzH,UAAU,EAAE+E,aAAa,EAAE3E,KAAK,CAAC,CAAC,CAAA;AAEtC8I,IAAAA,eAAe,CAAC,YAAM;AAClB,MAAA,IAAIzG,YAAY,EAAE;QACduC,gBAAgB,CAACvC,YAAiC,CAAC,CAAA;AACvD,OAAA;AACJ,KAAC,EAAE,CAACA,YAAY,CAAC,CAAC,CAAA;AAElB,IAAA,oBACI4G,KAAA,CAAAC,aAAA,CAAC5J,IAAI,EAAA6J,QAAA,CAAA;AACDvI,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXT,MAAAA,cAAc,EAAEA,cAAe;AAC/BiB,MAAAA,QAAQ,EAAEA,QAAS;AACnBb,MAAAA,QAAQ,EAAEA,QAAS;AACnBE,MAAAA,QAAQ,EAAEA,QAAS;AACnBf,MAAAA,EAAE,EAAEA,EAAAA;KACC6D,EAAAA,IAAI,GAERpB,IAAI,iBACD6G,KAAA,CAAAC,aAAA,CAACE,YAAY,EAAA;AACTpJ,MAAAA,KAAK,EAAEqE,cAAe;AACtBjC,MAAAA,IAAI,EAAEA,IAAK;AACXvC,MAAAA,KAAK,EAAE8E,aAAc;MACrBF,WAAW,EAAEjF,KAAK,CAACiF,WAAY;AAC/BmC,MAAAA,QAAQ,EAAEA,QAAS;AACnByC,MAAAA,UAAU,EAAEzE,gBAAiB;AAC7BnF,MAAAA,GAAG,EAAEA,GAAAA;KACR,CACJ,eACDwJ,KAAA,CAAAC,aAAA,CAACI,OAAO,CAACC,QAAQ,EAAA;AACb1J,MAAAA,KAAK,EAAE;AACH4F,QAAAA,WAAW,EAAXA,WAAW;AACXI,QAAAA,OAAO,EAAPA,OAAO;QACPpB,WAAW,EAAEjF,KAAK,CAACiF,WAAW;AAC9B5D,QAAAA,IAAI,EAAJA,IAAI;AACJuG,QAAAA,oBAAoB,EAApBA,oBAAoB;AACpBa,QAAAA,eAAe,EAAfA,eAAe;AACf1G,QAAAA,OAAO,EAAPA,OAAO;AACPG,QAAAA,UAAU,EAAVA,UAAU;AACV0E,QAAAA,MAAM,EAANA,MAAM;AACN;AACA;AACA;QACAoD,mBAAmB,EAAGhG,IAAI,CAASgG,mBAAAA;AACvC,OAAA;AAAE,KAAA,eAEFP,KAAA,CAAAC,aAAA,CAACO,eAAe,EAAA;AACZhK,MAAAA,GAAG,EAAEqF,kBAAmB;AACxBqC,MAAAA,MAAM,EAAEpB,iBAAkB;AAC1BvD,MAAAA,QAAQ,EAAE0E,gBAAiB;AAC3BhH,MAAAA,SAAS,EAAEA,SAAU;AACrBsB,MAAAA,MAAM,EAAEA,MAAO;AACfP,MAAAA,SAAS,EAAEA,SAAU;AACrByI,MAAAA,MAAM,EAAE/G,OAAQ;MAChB5C,MAAM,EAAE,SAAAA,MAAAA,CAAC4J,YAAY,EAAA;AAAA,QAAA,oBACjBV,KAAA,CAAAC,aAAA,CAACU,MAAM,EAAA;AACHnK,UAAAA,GAAG,EAAE2C,IAAI,GAAG,IAAI,GAAG3C,GAAI;AACvBI,UAAAA,KAAK,EAAEA,KAAM;AACbsH,UAAAA,MAAM,EAAEpB,iBAAkB;AAC1B1B,UAAAA,cAAc,EAAEA,cAAe;AAC/BlE,UAAAA,KAAK,EAAEA,KAAM;AACbE,UAAAA,WAAW,EAAEA,WAAY;AACzBwI,UAAAA,SAAS,EAAEA,SAAU;AACrBzI,UAAAA,cAAc,EAAEA,cAAe;AAC/BS,UAAAA,IAAI,EAAEA,IAAK;AACXK,UAAAA,WAAW,EAAEA,WAAY;AACzBV,UAAAA,QAAQ,EAAEA,QAAS;AACnBE,UAAAA,QAAQ,EAAEA,QAAS;AACnBe,UAAAA,WAAW,EAAEA,WAAY;AACzBoI,UAAAA,WAAW,EAAErK,KAAM;AACnBsK,UAAAA,eAAe,EAAEH,YAAuD;UACxElF,WAAW,EAAEjF,KAAK,CAACiF,WAAY;AAC/B7D,UAAAA,IAAI,EAAEA,IAAK;AACXN,UAAAA,UAAU,EAAEA,UAAW;AACvB8F,UAAAA,MAAM,EAAEA,MAAO;AACfH,UAAAA,yBAAyB,EAAEA,yBAA0B;AACrDjE,UAAAA,cAAc,EAAEA,cAAe;AAC/B4E,UAAAA,QAAQ,EAAEA,QAAS;AACnBtC,UAAAA,cAAc,EAAEA,cAAe;AAC/BjD,UAAAA,QAAQ,EAAEA,QAAS;AACnBQ,UAAAA,SAAS,EAAEA,SAAU;AACrB0E,UAAAA,aAAa,EAAEA,aAAc;AAC7BC,UAAAA,SAAS,EAAEA,SAAAA;AAAU,SACxB,CAAC,CAAA;OACJ;AACFrE,MAAAA,MAAM,EAAEA,MAAO;AACf4H,MAAAA,OAAO,EAAE,KAAA;AAAM,KAAA,eAEfd,KAAA,CAAAC,aAAA,CAAC5J,IAAI,EAAA6J,QAAA,CAAA;AACDvI,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXT,MAAAA,cAAc,EAAEA,cAAe;AAC/BiB,MAAAA,QAAQ,EAAEA,QAAS;AACnBb,MAAAA,QAAQ,EAAEA,QAAS;AACnBE,MAAAA,QAAQ,EAAEA,QAAAA;AAAS,KAAA,EACd8C,IAAI,CAETyF,eAAAA,KAAA,CAAAC,aAAA,CAACc,WAAW,EAAA;AAAC/I,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,eAC9BgI,KAAA,CAAAC,aAAA,CAACe,EAAE,EAAA;AACCC,MAAAA,IAAI,EAAC,MAAM;AACXvK,MAAAA,EAAE,EAAAwK,EAAAA,CAAAA,MAAA,CAAK/D,MAAM,EAAgB,eAAA,CAAA;AAC7B,MAAA,sBAAA,EAAsBJ,OAAO,CAACxG,KAAK,CAACiF,WAAW,CAAE;AACjD3D,MAAAA,YAAY,EAAEA,YAAa;MAC3BE,aAAa,EAAEA,aAAa,IAAID,UAAW;AAC3CK,MAAAA,QAAQ,EAAEmB,OAAO,GAAGsC,SAAS,GAAG0D,YAAa;AAC7C9I,MAAAA,GAAG,EAAEgH,SAAU;AACflE,MAAAA,OAAO,EAAEA,OAAAA;KAERN,EAAAA,UAAU,EAEVzC,KAAK,CAACiF,WAAW,IAAIjF,KAAK,CAAC4K,gBAAgB;AAAA;AACxC;IACAnB,KAAA,CAAAC,aAAA,CAACmB,SAAS,EAAA;MAACD,gBAAgB,EAAE5K,KAAK,CAAC4K,gBAAiB;AAAC7I,MAAAA,OAAO,EAAEA,OAAAA;KAAU,CAC3E,EAEAgB,OAAO,gBACJ0G,KAAA,CAAAC,aAAA,CAACoB,WAAW,EAAA;AACRtK,MAAAA,KAAK,EAAE2D,gBAAiB;MACxB3C,aAAa,EAAEA,aAAa,IAAID,UAAW;AAC3CK,MAAAA,QAAQ,EAAEA,QAAAA;KACb,CAAC,GAEFuC,gBAAgB,CAAC4G,GAAG,CAAC,UAACzD,IAAI,EAAE0D,KAAK,EAAA;AAAA,MAAA,oBAC7BvB,KAAA,CAAAC,aAAA,CAACuB,KAAK,EAAA;AACF5C,QAAAA,GAAG,EAAAsC,EAAAA,CAAAA,MAAA,CAAKK,KAAK,EAAK,IAAA,CAAA;AAClB1D,QAAAA,IAAI,EAAEA,IAAK;AACX4D,QAAAA,YAAY,EAAE,CAAE;AAChBtF,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,YAAY,EAAEA,YAAa;AAC3BmF,QAAAA,KAAK,EAAEA,KAAM;AACbvJ,QAAAA,SAAS,EAAEA,SAAAA;AAAU,OACxB,CAAC,CAAA;KACL,CACJ,EACAiB,SACD,CACK,CACX,CACO,CACH,CAChB,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAMyI,YAAY,GAAG;AACxBvI,EAAAA,IAAI,EAAE,QAAQ;AACdwI,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAExL,UAAU;AAClByL,EAAAA,IAAI,EAAJA,IAAI;EACJC,UAAU,EAAE,EAAE;AACdC,EAAAA,QAAQ,EAAE;AACNpK,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAG;AACTT,IAAAA,cAAc,EAAE,OAAO;AACvBiB,IAAAA,QAAQ,EAAE,SAAA;AACd,GAAA;AACJ;;;;"}
|
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 } from './ui';\nimport { pathReducer, focusedPathReducer } 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 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 // @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, labelToItemMap] = 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 [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 view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);\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 const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false);\n }\n }, floatingPopoverRef);\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 }\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 if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\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 }\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 }\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<HTMLUListElement>) => {\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 });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\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 {...(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 }}\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 labelToItemMap={labelToItemMap}\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 <ListWrapper listWidth={listWidth}>\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n onScroll={virtual ? undefined : handleScroll}\n ref={targetRef}\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 />\n ))\n )}\n {afterList}\n </Ul>\n </ListWrapper>\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$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","_props$readOnly","readOnly","outerView","view","size","listOverflow","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","_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","labelToItemMap","_useState","useState","multiselect","_useState2","internalValue","setInternalValue","undefined","floatingPopoverRef","useRef","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState3","_useState4","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","toString","treeId","safeUseId","getView","requiredProps","hintProps","targetRef","useOutsideClick","type","onChange","newValue","item","Array","isArray","_typeof","handleListToggle","opened","handleCheckboxChange","checkedCopy","Map","get","set","updateDescendants","updateAncestors","newValues","forEach","key","push","val","has","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","_checkboxAppearance","FloatingPopover","offset","referenceRef","Target","selectProps","inputWrapperRef","isInner","ListWrapper","Ul","role","concat","selectAllOptions","SelectAll","VirtualList","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
|
@@ -46,7 +46,15 @@ var treeRoot = function treeRoot(Root) {
|
|
46
46
|
icon = _ref.icon,
|
47
47
|
renderTitle = _ref.renderTitle,
|
48
48
|
_ref$mode = _ref.mode,
|
49
|
-
mode = _ref$mode === void 0 ? 'default' : _ref$mode
|
49
|
+
mode = _ref$mode === void 0 ? 'default' : _ref$mode,
|
50
|
+
_ref$draggable = _ref.draggable,
|
51
|
+
draggable = _ref$draggable === void 0 ? false : _ref$draggable,
|
52
|
+
onDragStart = _ref.onDragStart,
|
53
|
+
onDragEnter = _ref.onDragEnter,
|
54
|
+
onDragOver = _ref.onDragOver,
|
55
|
+
onDragLeave = _ref.onDragLeave,
|
56
|
+
onDragEnd = _ref.onDragEnd,
|
57
|
+
onDrop = _ref.onDrop;
|
50
58
|
var _useState = useState(defaultSelectedKeys || []),
|
51
59
|
_useState2 = _slicedToArray(_useState, 2),
|
52
60
|
selected = _useState2[0],
|
@@ -121,7 +129,14 @@ var treeRoot = function treeRoot(Root) {
|
|
121
129
|
fullWidthItemSelection: fullWidthItemSelection,
|
122
130
|
arrowPlacement: arrowPlacement
|
123
131
|
}, /*#__PURE__*/React.createElement(Title, null, renderTitle ? renderTitle(item) : typeof item.title === 'function' ? item.title(item) : item.title), item.contentRight && /*#__PURE__*/React.createElement(ContentRight, null, item.contentRight));
|
124
|
-
}
|
132
|
+
},
|
133
|
+
draggable: draggable,
|
134
|
+
onDragStart: onDragStart,
|
135
|
+
onDragEnter: onDragEnter,
|
136
|
+
onDragOver: onDragOver,
|
137
|
+
onDragLeave: onDragLeave,
|
138
|
+
onDragEnd: onDragEnd,
|
139
|
+
onDrop: onDrop
|
125
140
|
})));
|
126
141
|
});
|
127
142
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Tree.js","sources":["../../../src/components/Tree/Tree.tsx"],"sourcesContent":["import React, { forwardRef, useState, useMemo } from 'react';\nimport type { Key } from 'react';\nimport Tree from 'rc-tree';\nimport { RootProps } from 'src/engines';\nimport { cx } from 'src/utils';\n\nimport type { TreeProps, SelectInfo } from './Tree.types';\nimport { IconArrowWrapper, StyledArrow, base, StyledFolder, TitleWrapper, Title, ContentRight } from './Tree.styles';\nimport { sizeToIconSize, traverseTree } from './utils';\nimport { classes } from './Tree.tokens';\n\n/**\n * Многоуровневый раскрывающийся список в виде дерева.\n */\nexport const treeRoot = (Root: RootProps<HTMLDivElement, TreeProps>) =>\n forwardRef<HTMLDivElement, TreeProps>(\n (\n {\n items,\n arrowPlacement = 'left',\n virtual = true,\n height,\n itemHeight,\n size,\n view,\n fullWidthItemSelection = false,\n multiple = false,\n defaultExpandAll = false,\n autoExpandParent = false,\n checkable = false,\n selectedKeys: outerSelectedKeys,\n checkedKeys,\n expandedKeys,\n defaultCheckedKeys,\n defaultExpandedKeys,\n defaultSelectedKeys,\n className,\n onTreeSelect,\n onTreeCheck,\n onTreeExpand,\n hasIcon = false,\n icon,\n renderTitle,\n mode = 'default',\n },\n ref,\n ) => {\n const [selected, setSelected] = useState<React.Key[]>(defaultSelectedKeys || []);\n\n const selectedKeys = outerSelectedKeys ?? selected;\n\n const isRadioMode = mode === 'radio' && !multiple;\n\n const handleSelect = (updatedSelectedKeys: Key[], info: SelectInfo) => {\n if (!multiple && isRadioMode && updatedSelectedKeys.length === 0) {\n return;\n }\n\n setSelected(updatedSelectedKeys);\n\n if (onTreeSelect) {\n onTreeSelect(updatedSelectedKeys, info);\n }\n };\n\n const invertedClass = arrowPlacement === 'right' ? classes.treeInverted : undefined;\n const itemFilledClass = fullWidthItemSelection ? classes.treeItemFilled : undefined;\n const radioModeClass = isRadioMode ? classes.treeRadioMode : undefined;\n\n // Проходимся по дереву и устанавливаем соответствующие классы для узлов дерева,\n // чтобы соблюсти иерархию вложенности в UI.\n const treeData = useMemo(() => traverseTree(items, selectedKeys), [items, selectedKeys]);\n\n return (\n <Root view={view} size={size} ref={ref} items={items}>\n <Tree\n height={height}\n itemHeight={itemHeight}\n virtual={virtual}\n multiple={multiple}\n checkable={checkable}\n className={cx(className, invertedClass, itemFilledClass, radioModeClass)}\n defaultExpandAll={defaultExpandAll}\n autoExpandParent={autoExpandParent}\n style={{ border: '1px solid #000' }}\n treeData={treeData}\n selectedKeys={selectedKeys}\n {...(checkedKeys !== undefined ? { checkedKeys } : {})}\n {...(expandedKeys !== undefined ? { expandedKeys } : {})}\n defaultCheckedKeys={defaultCheckedKeys}\n defaultExpandedKeys={defaultExpandedKeys}\n onSelect={handleSelect}\n // Тайп кастинг для упрощения API\n onCheck={onTreeCheck as any}\n onExpand={onTreeExpand}\n switcherIcon={(node) => {\n if (node.isLeaf) {\n return null;\n }\n\n return (\n <IconArrowWrapper>\n <StyledArrow size={sizeToIconSize(size)} color=\"inherit\" className=\"arrow\" />\n </IconArrowWrapper>\n );\n }}\n icon={hasIcon && (icon || <StyledFolder size={sizeToIconSize(size)} color=\"inherit\" />)}\n titleRender={(item) => (\n <TitleWrapper\n fullWidthItemSelection={fullWidthItemSelection}\n arrowPlacement={arrowPlacement}\n >\n <Title>\n {/* eslint-disable-next-line no-nested-ternary */}\n {renderTitle\n ? renderTitle(item)\n : typeof item.title === 'function'\n ? item.title(item)\n : item.title}\n </Title>\n\n {item.contentRight && <ContentRight>{item.contentRight}</ContentRight>}\n </TitleWrapper>\n )}\n />\n </Root>\n );\n },\n );\n\nexport const treeConfig = {\n name: 'Tree',\n tag: 'div',\n layout: treeRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["treeRoot","Root","forwardRef","_ref","ref","items","_ref$arrowPlacement","arrowPlacement","_ref$virtual","virtual","height","itemHeight","size","view","_ref$fullWidthItemSel","fullWidthItemSelection","_ref$multiple","multiple","_ref$defaultExpandAll","defaultExpandAll","_ref$autoExpandParent","autoExpandParent","_ref$checkable","checkable","outerSelectedKeys","selectedKeys","checkedKeys","expandedKeys","defaultCheckedKeys","defaultExpandedKeys","defaultSelectedKeys","className","onTreeSelect","onTreeCheck","onTreeExpand","_ref$hasIcon","hasIcon","icon","renderTitle","_ref$mode","mode","_useState","useState","_useState2","_slicedToArray","selected","setSelected","isRadioMode","handleSelect","updatedSelectedKeys","info","length","invertedClass","classes","treeInverted","undefined","itemFilledClass","treeItemFilled","radioModeClass","treeRadioMode","treeData","useMemo","traverseTree","React","createElement","Tree","_extends","cx","style","border","onSelect","onCheck","onExpand","switcherIcon","node","isLeaf","IconArrowWrapper","StyledArrow","sizeToIconSize","color","StyledFolder","titleRender","item","TitleWrapper","Title","title","contentRight","ContentRight","treeConfig","name","tag","layout","base","variations","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Tree.js","sources":["../../../src/components/Tree/Tree.tsx"],"sourcesContent":["import React, { forwardRef, useState, useMemo } from 'react';\nimport type { Key } from 'react';\nimport Tree from 'rc-tree';\nimport { RootProps } from 'src/engines';\nimport { cx } from 'src/utils';\n\nimport type { TreeProps, SelectInfo } from './Tree.types';\nimport { IconArrowWrapper, StyledArrow, base, StyledFolder, TitleWrapper, Title, ContentRight } from './Tree.styles';\nimport { sizeToIconSize, traverseTree } from './utils';\nimport { classes } from './Tree.tokens';\n\n/**\n * Многоуровневый раскрывающийся список в виде дерева.\n */\nexport const treeRoot = (\n Root: RootProps<\n HTMLDivElement,\n Omit<TreeProps, 'onDragStart' | 'onDragEnter' | 'onDragOver' | 'onDragLeave' | 'onDragEnd' | 'onDrop'>\n >,\n) =>\n forwardRef<HTMLDivElement, TreeProps>(\n (\n {\n items,\n arrowPlacement = 'left',\n virtual = true,\n height,\n itemHeight,\n size,\n view,\n fullWidthItemSelection = false,\n multiple = false,\n defaultExpandAll = false,\n autoExpandParent = false,\n checkable = false,\n selectedKeys: outerSelectedKeys,\n checkedKeys,\n expandedKeys,\n defaultCheckedKeys,\n defaultExpandedKeys,\n defaultSelectedKeys,\n className,\n onTreeSelect,\n onTreeCheck,\n onTreeExpand,\n hasIcon = false,\n icon,\n renderTitle,\n mode = 'default',\n draggable = false,\n onDragStart,\n onDragEnter,\n onDragOver,\n onDragLeave,\n onDragEnd,\n onDrop,\n },\n ref,\n ) => {\n const [selected, setSelected] = useState<React.Key[]>(defaultSelectedKeys || []);\n\n const selectedKeys = outerSelectedKeys ?? selected;\n\n const isRadioMode = mode === 'radio' && !multiple;\n\n const handleSelect = (updatedSelectedKeys: Key[], info: SelectInfo) => {\n if (!multiple && isRadioMode && updatedSelectedKeys.length === 0) {\n return;\n }\n\n setSelected(updatedSelectedKeys);\n\n if (onTreeSelect) {\n onTreeSelect(updatedSelectedKeys, info);\n }\n };\n\n const invertedClass = arrowPlacement === 'right' ? classes.treeInverted : undefined;\n const itemFilledClass = fullWidthItemSelection ? classes.treeItemFilled : undefined;\n const radioModeClass = isRadioMode ? classes.treeRadioMode : undefined;\n\n // Проходимся по дереву и устанавливаем соответствующие классы для узлов дерева,\n // чтобы соблюсти иерархию вложенности в UI.\n const treeData = useMemo(() => traverseTree(items, selectedKeys), [items, selectedKeys]);\n\n return (\n <Root view={view} size={size} ref={ref} items={items}>\n <Tree\n height={height}\n itemHeight={itemHeight}\n virtual={virtual}\n multiple={multiple}\n checkable={checkable}\n className={cx(className, invertedClass, itemFilledClass, radioModeClass)}\n defaultExpandAll={defaultExpandAll}\n autoExpandParent={autoExpandParent}\n style={{ border: '1px solid #000' }}\n treeData={treeData}\n selectedKeys={selectedKeys}\n {...(checkedKeys !== undefined ? { checkedKeys } : {})}\n {...(expandedKeys !== undefined ? { expandedKeys } : {})}\n defaultCheckedKeys={defaultCheckedKeys}\n defaultExpandedKeys={defaultExpandedKeys}\n onSelect={handleSelect}\n // Тайп кастинг для упрощения API\n onCheck={onTreeCheck as any}\n onExpand={onTreeExpand}\n switcherIcon={(node) => {\n if (node.isLeaf) {\n return null;\n }\n\n return (\n <IconArrowWrapper>\n <StyledArrow size={sizeToIconSize(size)} color=\"inherit\" className=\"arrow\" />\n </IconArrowWrapper>\n );\n }}\n icon={hasIcon && (icon || <StyledFolder size={sizeToIconSize(size)} color=\"inherit\" />)}\n titleRender={(item) => (\n <TitleWrapper\n fullWidthItemSelection={fullWidthItemSelection}\n arrowPlacement={arrowPlacement}\n >\n <Title>\n {/* eslint-disable-next-line no-nested-ternary */}\n {renderTitle\n ? renderTitle(item)\n : typeof item.title === 'function'\n ? item.title(item)\n : item.title}\n </Title>\n\n {item.contentRight && <ContentRight>{item.contentRight}</ContentRight>}\n </TitleWrapper>\n )}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragEnter={onDragEnter}\n onDragOver={onDragOver}\n onDragLeave={onDragLeave}\n onDragEnd={onDragEnd}\n onDrop={onDrop}\n />\n </Root>\n );\n },\n );\n\nexport const treeConfig = {\n name: 'Tree',\n tag: 'div',\n layout: treeRoot,\n base,\n variations: {},\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["treeRoot","Root","forwardRef","_ref","ref","items","_ref$arrowPlacement","arrowPlacement","_ref$virtual","virtual","height","itemHeight","size","view","_ref$fullWidthItemSel","fullWidthItemSelection","_ref$multiple","multiple","_ref$defaultExpandAll","defaultExpandAll","_ref$autoExpandParent","autoExpandParent","_ref$checkable","checkable","outerSelectedKeys","selectedKeys","checkedKeys","expandedKeys","defaultCheckedKeys","defaultExpandedKeys","defaultSelectedKeys","className","onTreeSelect","onTreeCheck","onTreeExpand","_ref$hasIcon","hasIcon","icon","renderTitle","_ref$mode","mode","_ref$draggable","draggable","onDragStart","onDragEnter","onDragOver","onDragLeave","onDragEnd","onDrop","_useState","useState","_useState2","_slicedToArray","selected","setSelected","isRadioMode","handleSelect","updatedSelectedKeys","info","length","invertedClass","classes","treeInverted","undefined","itemFilledClass","treeItemFilled","radioModeClass","treeRadioMode","treeData","useMemo","traverseTree","React","createElement","Tree","_extends","cx","style","border","onSelect","onCheck","onExpand","switcherIcon","node","isLeaf","IconArrowWrapper","StyledArrow","sizeToIconSize","color","StyledFolder","titleRender","item","TitleWrapper","Title","title","contentRight","ContentRight","treeConfig","name","tag","layout","base","variations","defaults"],"mappings":";;;;;;;;;AAWA;AACA;AACA;IACaA,QAAQ,GAAG,SAAXA,QAAQA,CACjBC,IAGC,EAAA;AAAA,EAAA,oBAEDC,UAAU,CACN,UAAAC,IAAA,EAoCIC,GAAG,EACF;AAAA,IAAA,IAnCGC,KAAK,GAAAF,IAAA,CAALE,KAAK;MAAAC,mBAAA,GAAAH,IAAA,CACLI,cAAc;AAAdA,MAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,mBAAA;MAAAE,YAAA,GAAAL,IAAA,CACvBM,OAAO;AAAPA,MAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,YAAA;MACdE,MAAM,GAAAP,IAAA,CAANO,MAAM;MACNC,UAAU,GAAAR,IAAA,CAAVQ,UAAU;MACVC,IAAI,GAAAT,IAAA,CAAJS,IAAI;MACJC,IAAI,GAAAV,IAAA,CAAJU,IAAI;MAAAC,qBAAA,GAAAX,IAAA,CACJY,sBAAsB;AAAtBA,MAAAA,sBAAsB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MAAAE,aAAA,GAAAb,IAAA,CAC9Bc,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAAAE,qBAAA,GAAAf,IAAA,CAChBgB,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MAAAE,qBAAA,GAAAjB,IAAA,CACxBkB,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MAAAE,cAAA,GAAAnB,IAAA,CACxBoB,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;MACHE,iBAAiB,GAAArB,IAAA,CAA/BsB,YAAY;MACZC,WAAW,GAAAvB,IAAA,CAAXuB,WAAW;MACXC,YAAY,GAAAxB,IAAA,CAAZwB,YAAY;MACZC,kBAAkB,GAAAzB,IAAA,CAAlByB,kBAAkB;MAClBC,mBAAmB,GAAA1B,IAAA,CAAnB0B,mBAAmB;MACnBC,mBAAmB,GAAA3B,IAAA,CAAnB2B,mBAAmB;MACnBC,SAAS,GAAA5B,IAAA,CAAT4B,SAAS;MACTC,YAAY,GAAA7B,IAAA,CAAZ6B,YAAY;MACZC,WAAW,GAAA9B,IAAA,CAAX8B,WAAW;MACXC,YAAY,GAAA/B,IAAA,CAAZ+B,YAAY;MAAAC,YAAA,GAAAhC,IAAA,CACZiC,OAAO;AAAPA,MAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,YAAA;MACfE,IAAI,GAAAlC,IAAA,CAAJkC,IAAI;MACJC,WAAW,GAAAnC,IAAA,CAAXmC,WAAW;MAAAC,SAAA,GAAApC,IAAA,CACXqC,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,SAAA;MAAAE,cAAA,GAAAtC,IAAA,CAChBuC,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;MACjBE,WAAW,GAAAxC,IAAA,CAAXwC,WAAW;MACXC,WAAW,GAAAzC,IAAA,CAAXyC,WAAW;MACXC,UAAU,GAAA1C,IAAA,CAAV0C,UAAU;MACVC,WAAW,GAAA3C,IAAA,CAAX2C,WAAW;MACXC,SAAS,GAAA5C,IAAA,CAAT4C,SAAS;MACTC,MAAM,GAAA7C,IAAA,CAAN6C,MAAM,CAAA;AAIV,IAAA,IAAAC,SAAA,GAAgCC,QAAQ,CAAcpB,mBAAmB,IAAI,EAAE,CAAC;MAAAqB,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzEI,MAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,WAAW,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;IAE5B,IAAM1B,YAAY,GAAGD,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAjBA,KAAAA,CAAAA,GAAAA,iBAAiB,GAAI6B,QAAQ,CAAA;AAElD,IAAA,IAAME,WAAW,GAAGf,IAAI,KAAK,OAAO,IAAI,CAACvB,QAAQ,CAAA;IAEjD,IAAMuC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,mBAA0B,EAAEC,IAAgB,EAAK;MACnE,IAAI,CAACzC,QAAQ,IAAIsC,WAAW,IAAIE,mBAAmB,CAACE,MAAM,KAAK,CAAC,EAAE;AAC9D,QAAA,OAAA;AACJ,OAAA;MAEAL,WAAW,CAACG,mBAAmB,CAAC,CAAA;AAEhC,MAAA,IAAIzB,YAAY,EAAE;AACdA,QAAAA,YAAY,CAACyB,mBAAmB,EAAEC,IAAI,CAAC,CAAA;AAC3C,OAAA;KACH,CAAA;IAED,IAAME,aAAa,GAAGrD,cAAc,KAAK,OAAO,GAAGsD,OAAO,CAACC,YAAY,GAAGC,SAAS,CAAA;IACnF,IAAMC,eAAe,GAAGjD,sBAAsB,GAAG8C,OAAO,CAACI,cAAc,GAAGF,SAAS,CAAA;IACnF,IAAMG,cAAc,GAAGX,WAAW,GAAGM,OAAO,CAACM,aAAa,GAAGJ,SAAS,CAAA;;AAEtE;AACA;IACA,IAAMK,QAAQ,GAAGC,OAAO,CAAC,YAAA;AAAA,MAAA,OAAMC,YAAY,CAACjE,KAAK,EAAEoB,YAAY,CAAC,CAAA;AAAA,KAAA,EAAE,CAACpB,KAAK,EAAEoB,YAAY,CAAC,CAAC,CAAA;AAExF,IAAA,oBACI8C,KAAA,CAAAC,aAAA,CAACvE,IAAI,EAAA;AAACY,MAAAA,IAAI,EAAEA,IAAK;AAACD,MAAAA,IAAI,EAAEA,IAAK;AAACR,MAAAA,GAAG,EAAEA,GAAI;AAACC,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAAA,eACjDkE,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAAC,QAAA,CAAA;AACDhE,MAAAA,MAAM,EAAEA,MAAO;AACfC,MAAAA,UAAU,EAAEA,UAAW;AACvBF,MAAAA,OAAO,EAAEA,OAAQ;AACjBQ,MAAAA,QAAQ,EAAEA,QAAS;AACnBM,MAAAA,SAAS,EAAEA,SAAU;MACrBQ,SAAS,EAAE4C,EAAE,CAAC5C,SAAS,EAAE6B,aAAa,EAAEI,eAAe,EAAEE,cAAc,CAAE;AACzE/C,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCE,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCuD,MAAAA,KAAK,EAAE;AAAEC,QAAAA,MAAM,EAAE,gBAAA;OAAmB;AACpCT,MAAAA,QAAQ,EAAEA,QAAS;AACnB3C,MAAAA,YAAY,EAAEA,YAAAA;KACTC,EAAAA,WAAW,KAAKqC,SAAS,GAAG;AAAErC,MAAAA,WAAW,EAAXA,WAAAA;AAAY,KAAC,GAAG,EAAE,EAChDC,YAAY,KAAKoC,SAAS,GAAG;AAAEpC,MAAAA,YAAY,EAAZA,YAAAA;KAAc,GAAG,EAAE,EAAA;AACvDC,MAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCiD,MAAAA,QAAQ,EAAEtB,YAAAA;AACV;AAAA;AACAuB,MAAAA,OAAO,EAAE9C,WAAmB;AAC5B+C,MAAAA,QAAQ,EAAE9C,YAAa;AACvB+C,MAAAA,YAAY,EAAE,SAAAA,YAACC,CAAAA,IAAI,EAAK;QACpB,IAAIA,IAAI,CAACC,MAAM,EAAE;AACb,UAAA,OAAO,IAAI,CAAA;AACf,SAAA;QAEA,oBACIZ,KAAA,CAAAC,aAAA,CAACY,gBAAgB,qBACbb,KAAA,CAAAC,aAAA,CAACa,WAAW,EAAA;AAACzE,UAAAA,IAAI,EAAE0E,cAAc,CAAC1E,IAAI,CAAE;AAAC2E,UAAAA,KAAK,EAAC,SAAS;AAACxD,UAAAA,SAAS,EAAC,OAAA;AAAO,SAAE,CAC9D,CAAC,CAAA;OAEzB;MACFM,IAAI,EAAED,OAAO,KAAKC,IAAI,iBAAIkC,KAAA,CAAAC,aAAA,CAACgB,YAAY,EAAA;AAAC5E,QAAAA,IAAI,EAAE0E,cAAc,CAAC1E,IAAI,CAAE;AAAC2E,QAAAA,KAAK,EAAC,SAAA;AAAS,OAAE,CAAC,CAAE;MACxFE,WAAW,EAAE,SAAAA,WAAAA,CAACC,IAAI,EAAA;AAAA,QAAA,oBACdnB,KAAA,CAAAC,aAAA,CAACmB,YAAY,EAAA;AACT5E,UAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CR,UAAAA,cAAc,EAAEA,cAAAA;SAEhBgE,eAAAA,KAAA,CAAAC,aAAA,CAACoB,KAAK,EAEDtD,IAAAA,EAAAA,WAAW,GACNA,WAAW,CAACoD,IAAI,CAAC,GACjB,OAAOA,IAAI,CAACG,KAAK,KAAK,UAAU,GAChCH,IAAI,CAACG,KAAK,CAACH,IAAI,CAAC,GAChBA,IAAI,CAACG,KACR,CAAC,EAEPH,IAAI,CAACI,YAAY,iBAAIvB,KAAA,CAAAC,aAAA,CAACuB,YAAY,QAAEL,IAAI,CAACI,YAA2B,CAC3D,CAAC,CAAA;OACjB;AACFpD,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,WAAW,EAAEA,WAAY;AACzBC,MAAAA,WAAW,EAAEA,WAAY;AACzBC,MAAAA,UAAU,EAAEA,UAAW;AACvBC,MAAAA,WAAW,EAAEA,WAAY;AACzBC,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,MAAM,EAAEA,MAAAA;AAAO,KAAA,CAClB,CACC,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMgD,UAAU,GAAG;AACtBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEnG,QAAQ;AAChBoG,EAAAA,IAAI,EAAJA,IAAI;EACJC,UAAU,EAAE,EAAE;AACdC,EAAAA,QAAQ,EAAE;AACNzF,IAAAA,IAAI,EAAE,SAAS;AACfD,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@salutejs/plasma-new-hope",
|
3
|
-
"version": "0.336.0-canary.
|
3
|
+
"version": "0.336.0-canary.2214.17514828735.0",
|
4
4
|
"description": "Salute Design System blueprint",
|
5
5
|
"main": "cjs/index.js",
|
6
6
|
"module": "es/index.js",
|
@@ -137,5 +137,5 @@
|
|
137
137
|
"sideEffects": [
|
138
138
|
"*.css"
|
139
139
|
],
|
140
|
-
"gitHead": "
|
140
|
+
"gitHead": "9718a9c38e5ba9311d0319a5b8a73214d98a5415"
|
141
141
|
}
|
@@ -218,7 +218,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
218
218
|
var comboboxRoot = function(Root) {
|
219
219
|
return /*#__PURE__*/ (0, _react.forwardRef)(function(props, ref) {
|
220
220
|
var _getItemByFocused;
|
221
|
-
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_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, onScroll = props.onScroll, onToggle = props.onToggle,
|
221
|
+
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_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, onScroll = props.onScroll, onToggle = props.onToggle, // @ts-ignore
|
222
222
|
_offset = props._offset, rest = _object_without_properties(props, [
|
223
223
|
"name",
|
224
224
|
"multiple",
|
@@ -262,7 +262,6 @@ var comboboxRoot = function(Root) {
|
|
262
262
|
"onChangeValue",
|
263
263
|
"onScroll",
|
264
264
|
"onToggle",
|
265
|
-
"mode",
|
266
265
|
"_offset"
|
267
266
|
]);
|
268
267
|
var transformedItems = (0, _react.useMemo)(function() {
|
@@ -491,10 +490,6 @@ var comboboxRoot = function(Root) {
|
|
491
490
|
type: 'reset'
|
492
491
|
});
|
493
492
|
}
|
494
|
-
// Закрываем список, если элемент уже выбран.
|
495
|
-
if (mode === 'radio' && isCurrentChecked) {
|
496
|
-
return;
|
497
|
-
}
|
498
493
|
if (onChange) {
|
499
494
|
onChange(isCurrentChecked ? '' : item.value, item);
|
500
495
|
}
|
@@ -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_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,
|
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_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, // @ts-ignore
|
182
182
|
_offset = props._offset, // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.
|
183
183
|
// @ts-ignore
|
184
184
|
required = props.required, // @ts-ignore
|
@@ -234,7 +234,6 @@ var selectRoot = function(Root) {
|
|
234
234
|
"onToggle",
|
235
235
|
"chipType",
|
236
236
|
"multiselect",
|
237
|
-
"mode",
|
238
237
|
"_offset",
|
239
238
|
"required",
|
240
239
|
"requiredPlacement",
|
@@ -397,10 +396,6 @@ var selectRoot = function(Root) {
|
|
397
396
|
type: 'reset'
|
398
397
|
});
|
399
398
|
}
|
400
|
-
// Закрываем список, если элемент уже выбран.
|
401
|
-
if (mode === 'radio' && isCurrentChecked) {
|
402
|
-
return;
|
403
|
-
}
|
404
399
|
if (onChange) {
|
405
400
|
onChange(isCurrentChecked ? '' : item.value, item);
|
406
401
|
}
|
@@ -168,7 +168,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
168
168
|
}
|
169
169
|
var treeRoot = function(Root) {
|
170
170
|
return /*#__PURE__*/ (0, _react.forwardRef)(function(param, ref) {
|
171
|
-
var items = param.items, _param_arrowPlacement = param.arrowPlacement, arrowPlacement = _param_arrowPlacement === void 0 ? 'left' : _param_arrowPlacement, _param_virtual = param.virtual, virtual = _param_virtual === void 0 ? true : _param_virtual, height = param.height, itemHeight = param.itemHeight, size = param.size, view = param.view, _param_fullWidthItemSelection = param.fullWidthItemSelection, fullWidthItemSelection = _param_fullWidthItemSelection === void 0 ? false : _param_fullWidthItemSelection, _param_multiple = param.multiple, multiple = _param_multiple === void 0 ? false : _param_multiple, _param_defaultExpandAll = param.defaultExpandAll, defaultExpandAll = _param_defaultExpandAll === void 0 ? false : _param_defaultExpandAll, _param_autoExpandParent = param.autoExpandParent, autoExpandParent = _param_autoExpandParent === void 0 ? false : _param_autoExpandParent, _param_checkable = param.checkable, checkable = _param_checkable === void 0 ? false : _param_checkable, outerSelectedKeys = param.selectedKeys, checkedKeys = param.checkedKeys, expandedKeys = param.expandedKeys, defaultCheckedKeys = param.defaultCheckedKeys, defaultExpandedKeys = param.defaultExpandedKeys, defaultSelectedKeys = param.defaultSelectedKeys, className = param.className, onTreeSelect = param.onTreeSelect, onTreeCheck = param.onTreeCheck, onTreeExpand = param.onTreeExpand, _param_hasIcon = param.hasIcon, hasIcon = _param_hasIcon === void 0 ? false : _param_hasIcon, icon = param.icon, renderTitle = param.renderTitle, _param_mode = param.mode, mode = _param_mode === void 0 ? 'default' : _param_mode;
|
171
|
+
var items = param.items, _param_arrowPlacement = param.arrowPlacement, arrowPlacement = _param_arrowPlacement === void 0 ? 'left' : _param_arrowPlacement, _param_virtual = param.virtual, virtual = _param_virtual === void 0 ? true : _param_virtual, height = param.height, itemHeight = param.itemHeight, size = param.size, view = param.view, _param_fullWidthItemSelection = param.fullWidthItemSelection, fullWidthItemSelection = _param_fullWidthItemSelection === void 0 ? false : _param_fullWidthItemSelection, _param_multiple = param.multiple, multiple = _param_multiple === void 0 ? false : _param_multiple, _param_defaultExpandAll = param.defaultExpandAll, defaultExpandAll = _param_defaultExpandAll === void 0 ? false : _param_defaultExpandAll, _param_autoExpandParent = param.autoExpandParent, autoExpandParent = _param_autoExpandParent === void 0 ? false : _param_autoExpandParent, _param_checkable = param.checkable, checkable = _param_checkable === void 0 ? false : _param_checkable, outerSelectedKeys = param.selectedKeys, checkedKeys = param.checkedKeys, expandedKeys = param.expandedKeys, defaultCheckedKeys = param.defaultCheckedKeys, defaultExpandedKeys = param.defaultExpandedKeys, defaultSelectedKeys = param.defaultSelectedKeys, className = param.className, onTreeSelect = param.onTreeSelect, onTreeCheck = param.onTreeCheck, onTreeExpand = param.onTreeExpand, _param_hasIcon = param.hasIcon, hasIcon = _param_hasIcon === void 0 ? false : _param_hasIcon, icon = param.icon, renderTitle = param.renderTitle, _param_mode = param.mode, mode = _param_mode === void 0 ? 'default' : _param_mode, _param_draggable = param.draggable, draggable = _param_draggable === void 0 ? false : _param_draggable, onDragStart = param.onDragStart, onDragEnter = param.onDragEnter, onDragOver = param.onDragOver, onDragLeave = param.onDragLeave, onDragEnd = param.onDragEnd, onDrop = param.onDrop;
|
172
172
|
var _useState = _sliced_to_array((0, _react.useState)(defaultSelectedKeys || []), 2), selected = _useState[0], setSelected = _useState[1];
|
173
173
|
var selectedKeys = outerSelectedKeys !== null && outerSelectedKeys !== void 0 ? outerSelectedKeys : selected;
|
174
174
|
var isRadioMode = mode === 'radio' && !multiple;
|
@@ -241,7 +241,14 @@ var treeRoot = function(Root) {
|
|
241
241
|
fullWidthItemSelection: fullWidthItemSelection,
|
242
242
|
arrowPlacement: arrowPlacement
|
243
243
|
}, /*#__PURE__*/ _react.default.createElement(_Treestyles.Title, null, renderTitle ? renderTitle(item) : typeof item.title === 'function' ? item.title(item) : item.title), item.contentRight && /*#__PURE__*/ _react.default.createElement(_Treestyles.ContentRight, null, item.contentRight));
|
244
|
-
}
|
244
|
+
},
|
245
|
+
draggable: draggable,
|
246
|
+
onDragStart: onDragStart,
|
247
|
+
onDragEnter: onDragEnter,
|
248
|
+
onDragOver: onDragOver,
|
249
|
+
onDragLeave: onDragLeave,
|
250
|
+
onDragEnd: onDragEnd,
|
251
|
+
onDrop: onDrop
|
245
252
|
})));
|
246
253
|
});
|
247
254
|
};
|
@@ -11,5 +11,6 @@ Object.defineProperty(exports, "Tree", {
|
|
11
11
|
var _Tree = require("../../../components/Tree");
|
12
12
|
var _engines = require("../../../engines");
|
13
13
|
var _Treeconfig = require("./Tree.config");
|
14
|
+
// @ts-ignore
|
14
15
|
var mergedConfig = (0, _engines.mergeConfig)(_Tree.treeConfig, _Treeconfig.config);
|
15
16
|
var Tree = (0, _engines.component)(mergedConfig);
|
@@ -161,7 +161,7 @@ import { Context } from "./Combobox.context";
|
|
161
161
|
*/ export var comboboxRoot = function(Root) {
|
162
162
|
return /*#__PURE__*/ forwardRef(function(props, ref) {
|
163
163
|
var _getItemByFocused;
|
164
|
-
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_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, onScroll = props.onScroll, onToggle = props.onToggle,
|
164
|
+
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_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, onScroll = props.onScroll, onToggle = props.onToggle, // @ts-ignore
|
165
165
|
_offset = props._offset, rest = _object_without_properties(props, [
|
166
166
|
"name",
|
167
167
|
"multiple",
|
@@ -205,7 +205,6 @@ import { Context } from "./Combobox.context";
|
|
205
205
|
"onChangeValue",
|
206
206
|
"onScroll",
|
207
207
|
"onToggle",
|
208
|
-
"mode",
|
209
208
|
"_offset"
|
210
209
|
]);
|
211
210
|
var transformedItems = useMemo(function() {
|
@@ -434,10 +433,6 @@ import { Context } from "./Combobox.context";
|
|
434
433
|
type: 'reset'
|
435
434
|
});
|
436
435
|
}
|
437
|
-
// Закрываем список, если элемент уже выбран.
|
438
|
-
if (mode === 'radio' && isCurrentChecked) {
|
439
|
-
return;
|
440
|
-
}
|
441
436
|
if (onChange) {
|
442
437
|
onChange(isCurrentChecked ? '' : item.value, item);
|
443
438
|
}
|
@@ -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_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,
|
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_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, // @ts-ignore
|
125
125
|
_offset = props._offset, // Извлекаем пропсы для required и hint, чтобы они не попадали в DOM.
|
126
126
|
// @ts-ignore
|
127
127
|
required = props.required, // @ts-ignore
|
@@ -177,7 +177,6 @@ import { Context } from "./Select.context";
|
|
177
177
|
"onToggle",
|
178
178
|
"chipType",
|
179
179
|
"multiselect",
|
180
|
-
"mode",
|
181
180
|
"_offset",
|
182
181
|
"required",
|
183
182
|
"requiredPlacement",
|
@@ -340,10 +339,6 @@ import { Context } from "./Select.context";
|
|
340
339
|
type: 'reset'
|
341
340
|
});
|
342
341
|
}
|
343
|
-
// Закрываем список, если элемент уже выбран.
|
344
|
-
if (mode === 'radio' && isCurrentChecked) {
|
345
|
-
return;
|
346
|
-
}
|
347
342
|
if (onChange) {
|
348
343
|
onChange(isCurrentChecked ? '' : item.value, item);
|
349
344
|
}
|
@@ -106,7 +106,7 @@ import { classes } from "./Tree.tokens";
|
|
106
106
|
* Многоуровневый раскрывающийся список в виде дерева.
|
107
107
|
*/ export var treeRoot = function(Root) {
|
108
108
|
return /*#__PURE__*/ forwardRef(function(param, ref) {
|
109
|
-
var items = param.items, _param_arrowPlacement = param.arrowPlacement, arrowPlacement = _param_arrowPlacement === void 0 ? 'left' : _param_arrowPlacement, _param_virtual = param.virtual, virtual = _param_virtual === void 0 ? true : _param_virtual, height = param.height, itemHeight = param.itemHeight, size = param.size, view = param.view, _param_fullWidthItemSelection = param.fullWidthItemSelection, fullWidthItemSelection = _param_fullWidthItemSelection === void 0 ? false : _param_fullWidthItemSelection, _param_multiple = param.multiple, multiple = _param_multiple === void 0 ? false : _param_multiple, _param_defaultExpandAll = param.defaultExpandAll, defaultExpandAll = _param_defaultExpandAll === void 0 ? false : _param_defaultExpandAll, _param_autoExpandParent = param.autoExpandParent, autoExpandParent = _param_autoExpandParent === void 0 ? false : _param_autoExpandParent, _param_checkable = param.checkable, checkable = _param_checkable === void 0 ? false : _param_checkable, outerSelectedKeys = param.selectedKeys, checkedKeys = param.checkedKeys, expandedKeys = param.expandedKeys, defaultCheckedKeys = param.defaultCheckedKeys, defaultExpandedKeys = param.defaultExpandedKeys, defaultSelectedKeys = param.defaultSelectedKeys, className = param.className, onTreeSelect = param.onTreeSelect, onTreeCheck = param.onTreeCheck, onTreeExpand = param.onTreeExpand, _param_hasIcon = param.hasIcon, hasIcon = _param_hasIcon === void 0 ? false : _param_hasIcon, icon = param.icon, renderTitle = param.renderTitle, _param_mode = param.mode, mode = _param_mode === void 0 ? 'default' : _param_mode;
|
109
|
+
var items = param.items, _param_arrowPlacement = param.arrowPlacement, arrowPlacement = _param_arrowPlacement === void 0 ? 'left' : _param_arrowPlacement, _param_virtual = param.virtual, virtual = _param_virtual === void 0 ? true : _param_virtual, height = param.height, itemHeight = param.itemHeight, size = param.size, view = param.view, _param_fullWidthItemSelection = param.fullWidthItemSelection, fullWidthItemSelection = _param_fullWidthItemSelection === void 0 ? false : _param_fullWidthItemSelection, _param_multiple = param.multiple, multiple = _param_multiple === void 0 ? false : _param_multiple, _param_defaultExpandAll = param.defaultExpandAll, defaultExpandAll = _param_defaultExpandAll === void 0 ? false : _param_defaultExpandAll, _param_autoExpandParent = param.autoExpandParent, autoExpandParent = _param_autoExpandParent === void 0 ? false : _param_autoExpandParent, _param_checkable = param.checkable, checkable = _param_checkable === void 0 ? false : _param_checkable, outerSelectedKeys = param.selectedKeys, checkedKeys = param.checkedKeys, expandedKeys = param.expandedKeys, defaultCheckedKeys = param.defaultCheckedKeys, defaultExpandedKeys = param.defaultExpandedKeys, defaultSelectedKeys = param.defaultSelectedKeys, className = param.className, onTreeSelect = param.onTreeSelect, onTreeCheck = param.onTreeCheck, onTreeExpand = param.onTreeExpand, _param_hasIcon = param.hasIcon, hasIcon = _param_hasIcon === void 0 ? false : _param_hasIcon, icon = param.icon, renderTitle = param.renderTitle, _param_mode = param.mode, mode = _param_mode === void 0 ? 'default' : _param_mode, _param_draggable = param.draggable, draggable = _param_draggable === void 0 ? false : _param_draggable, onDragStart = param.onDragStart, onDragEnter = param.onDragEnter, onDragOver = param.onDragOver, onDragLeave = param.onDragLeave, onDragEnd = param.onDragEnd, onDrop = param.onDrop;
|
110
110
|
var _useState = _sliced_to_array(useState(defaultSelectedKeys || []), 2), selected = _useState[0], setSelected = _useState[1];
|
111
111
|
var selectedKeys = outerSelectedKeys !== null && outerSelectedKeys !== void 0 ? outerSelectedKeys : selected;
|
112
112
|
var isRadioMode = mode === 'radio' && !multiple;
|
@@ -179,7 +179,14 @@ import { classes } from "./Tree.tokens";
|
|
179
179
|
fullWidthItemSelection: fullWidthItemSelection,
|
180
180
|
arrowPlacement: arrowPlacement
|
181
181
|
}, /*#__PURE__*/ React.createElement(Title, null, renderTitle ? renderTitle(item) : typeof item.title === 'function' ? item.title(item) : item.title), item.contentRight && /*#__PURE__*/ React.createElement(ContentRight, null, item.contentRight));
|
182
|
-
}
|
182
|
+
},
|
183
|
+
draggable: draggable,
|
184
|
+
onDragStart: onDragStart,
|
185
|
+
onDragEnter: onDragEnter,
|
186
|
+
onDragOver: onDragOver,
|
187
|
+
onDragLeave: onDragLeave,
|
188
|
+
onDragEnd: onDragEnd,
|
189
|
+
onDrop: onDrop
|
183
190
|
})));
|
184
191
|
});
|
185
192
|
};
|
@@ -1,7 +0,0 @@
|
|
1
|
-
import { component, mergeConfig } from "../../../engines";
|
2
|
-
import { comboboxNewConfig } from "../../..";
|
3
|
-
import { config } from "./Combobox.config";
|
4
|
-
var mergedConfig = mergeConfig(comboboxNewConfig, config);
|
5
|
-
var ComboboxComponent = component(mergedConfig);
|
6
|
-
var Combobox = ComboboxComponent;
|
7
|
-
export { Combobox };
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { treeConfig } from "../../../components/Tree";
|
2
2
|
import { component, mergeConfig } from "../../../engines";
|
3
3
|
import { config } from "./Tree.config";
|
4
|
+
// @ts-ignore
|
4
5
|
var mergedConfig = mergeConfig(treeConfig, config);
|
5
6
|
export var Tree = component(mergedConfig);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAIlG,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA8BxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOtD;;GAEG;AAEH,eAAO,MAAM,YAAY,SAAU,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,
|
1
|
+
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAIlG,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA8BxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOtD;;GAEG;AAEH,eAAO,MAAM,YAAY,SAAU,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,2FA6jBtF,CAAC;AAEP,eAAO,MAAM,cAAc;;;mBA/jBQ,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;;;;;;;;;;;;;;;;;;CAolB3F,CAAC"}
|
@@ -198,13 +198,6 @@ type BasicProps<T extends ItemOption = ItemOption> = {
|
|
198
198
|
* @default false
|
199
199
|
*/
|
200
200
|
virtual?: boolean;
|
201
|
-
/**
|
202
|
-
* Режим работы взаимодействия с элементами.
|
203
|
-
* - default: элемент можно выбрать и можно отменить его выбор.
|
204
|
-
* - radio: если элемент выбран, то отменить его выбор нельзя. Только для single-режима.
|
205
|
-
* @default default
|
206
|
-
*/
|
207
|
-
mode?: 'default' | 'radio';
|
208
201
|
/**
|
209
202
|
* Размер компонента.
|
210
203
|
*/
|