@salutejs/plasma-new-hope 0.262.0-canary.1763.13197576375.0 → 0.262.0-canary.1766.13240311488.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +5 -0
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +1 -1
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/cjs/components/Combobox/ComboboxNew/utils/updateDescendants.js.map +1 -1
- package/cjs/components/Select/Select.js +1 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/cjs/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
- package/cjs/components/Select/utils/updateDescendants.js +6 -3
- package/cjs/components/Select/utils/updateDescendants.js.map +1 -1
- package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +5 -0
- package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +12 -12
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/emotion/cjs/components/Radiobox/Radiobox.template-doc.mdx +0 -6
- package/emotion/cjs/components/Select/Select.js +1 -1
- package/emotion/cjs/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/emotion/cjs/components/Select/utils/updateDescendants.js +6 -3
- package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -0
- package/emotion/cjs/examples/plasma_b2c/components/Radiobox/Radiobox.config.js +12 -19
- package/emotion/cjs/examples/plasma_b2c/components/Radiobox/Radiobox.stories.tsx +5 -16
- package/emotion/cjs/examples/plasma_web/components/Radiobox/Radiobox.config.js +12 -19
- package/emotion/cjs/examples/plasma_web/components/Radiobox/Radiobox.stories.tsx +5 -16
- package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.js +5 -0
- package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +12 -12
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/emotion/es/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/emotion/es/components/Radiobox/Radiobox.template-doc.mdx +0 -6
- package/emotion/es/components/Select/Select.js +1 -1
- package/emotion/es/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/emotion/es/components/Select/utils/updateDescendants.js +6 -3
- package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -0
- package/emotion/es/examples/plasma_b2c/components/Radiobox/Radiobox.config.js +12 -19
- package/emotion/es/examples/plasma_b2c/components/Radiobox/Radiobox.stories.tsx +5 -16
- package/emotion/es/examples/plasma_web/components/Radiobox/Radiobox.config.js +12 -19
- package/emotion/es/examples/plasma_web/components/Radiobox/Radiobox.stories.tsx +5 -16
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.js +5 -0
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +1 -1
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/es/components/Combobox/ComboboxNew/utils/updateDescendants.js.map +1 -1
- package/es/components/Select/Select.js +1 -1
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/es/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
- package/es/components/Select/utils/updateDescendants.js +6 -3
- package/es/components/Select/utils/updateDescendants.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +5 -0
- package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +1 -1
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/styled-components/cjs/components/Radiobox/Radiobox.template-doc.mdx +0 -6
- package/styled-components/cjs/components/Select/Select.js +1 -1
- package/styled-components/cjs/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/styled-components/cjs/components/Select/utils/updateDescendants.js +6 -3
- package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Radiobox/Radiobox.config.js +1 -8
- package/styled-components/cjs/examples/plasma_b2c/components/Radiobox/Radiobox.stories.tsx +5 -16
- package/styled-components/cjs/examples/plasma_web/components/Radiobox/Radiobox.config.js +1 -8
- package/styled-components/cjs/examples/plasma_web/components/Radiobox/Radiobox.stories.tsx +5 -16
- package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.js +5 -0
- package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +1 -1
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/styled-components/es/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/styled-components/es/components/Radiobox/Radiobox.template-doc.mdx +0 -6
- package/styled-components/es/components/Select/Select.js +1 -1
- package/styled-components/es/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/styled-components/es/components/Select/utils/updateDescendants.js +6 -3
- package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -0
- package/styled-components/es/examples/plasma_b2c/components/Radiobox/Radiobox.config.js +1 -8
- package/styled-components/es/examples/plasma_b2c/components/Radiobox/Radiobox.stories.tsx +5 -16
- package/styled-components/es/examples/plasma_web/components/Radiobox/Radiobox.config.js +1 -8
- package/styled-components/es/examples/plasma_web/components/Radiobox/Radiobox.stories.tsx +5 -16
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts.map +1 -1
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.styles.d.ts +1 -1
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.styles.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/utils/updateDescendants.d.ts +2 -2
- package/types/components/Combobox/ComboboxNew/utils/updateDescendants.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/ui/Item/Item.d.ts.map +1 -1
- package/types/components/Select/utils/updateDescendants.d.ts +2 -2
- package/types/components/Select/utils/updateDescendants.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Radiobox/Radiobox.config.d.ts +1 -1
- package/types/examples/plasma_b2c/components/Radiobox/Radiobox.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Radiobox/Radiobox.d.ts +1 -1
- package/types/examples/plasma_web/components/Radiobox/Radiobox.config.d.ts +1 -1
- package/types/examples/plasma_web/components/Radiobox/Radiobox.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Radiobox/Radiobox.d.ts +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\nimport { isEmpty } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n getView,\n getInitialValue,\n} from './utils';\nimport { Inner, Target } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base } 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 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 view: outerView,\n size,\n listOverflow,\n listHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\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 ...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 =\n outerValue !== null && outerValue !== undefined\n ? getInitialValue(outerValue, valueToItemMap)\n : 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 ? 'default' : getView(status, outerView);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required: props.required,\n requiredPlacement: props.requiredPlacement,\n optional: props.optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText: props.hintText,\n hintTrigger: props.hintTrigger,\n hintView: props.hintView,\n hintSize: props.hintSize,\n hintTargetPlacement: props.hintTargetPlacement,\n hintPlacement: props.hintPlacement,\n hintWidth: props.hintWidth,\n hintHasArrow: props.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 }, floatingPopoverRef);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n ) => {\n if (outerOnChange) {\n // Условие для отправки если компонент используется без формы.\n if (!name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n outerOnChange(newValue as any);\n }\n\n // Условие для отправки если компонент используется с формой.\n if (name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n outerOnChange(newValue as any);\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) {\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\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);\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 if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\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);\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 (!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 checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\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 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 }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\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 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 >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n {...(rest as any)}\n >\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listHeight={listHeight}\n listOverflow={listOverflow}\n onScroll={handleScroll}\n listWidth={listWidth}\n ref={targetRef}\n >\n {beforeList}\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 </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","outerOnChange","onChange","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","outerView","view","size","listOverflow","listHeight","listWidth","contentLeft","onScrollBottom","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","multiselect","_useState2","internalValue","setInternalValue","undefined","getInitialValue","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","required","requiredPlacement","optional","hintProps","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","targetRef","useOutsideClick","type","newValue","Array","isArray","_typeof","handleListToggle","opened","handleCheckboxChange","item","checkedCopy","Map","get","set","updateDescendants","updateAncestors","newValues","forEach","key","push","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","val","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","FloatingPopover","onToggle","referenceRef","Target","selectProps","inputWrapperRef","Ul","role","concat","onScroll","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useState,\n useReducer,\n useMemo,\n useLayoutEffect,\n useRef,\n ChangeEvent,\n ForwardedRef,\n} from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\nimport { isEmpty } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\nimport type { HintProps } from '../TextField/TextField.types';\n\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n getView,\n getInitialValue,\n} from './utils';\nimport { Inner, Target } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { Ul, base } 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 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 view: outerView,\n size,\n listOverflow,\n listHeight,\n listWidth,\n contentLeft,\n onScrollBottom,\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 ...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 =\n outerValue !== null && outerValue !== undefined\n ? getInitialValue(outerValue, valueToItemMap)\n : 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 ? 'default' : getView(status, outerView);\n\n // Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.\n const requiredProps =\n props.target === 'button-like'\n ? undefined\n : ({\n required: props.required,\n requiredPlacement: props.requiredPlacement,\n optional: props.optional,\n } as RequiredProps);\n\n // Собираем объект с пропсами для hint и прокидываем их напрямую в компонент Textfield.\n const hintProps =\n props.target === 'button-like'\n ? undefined\n : ({\n hintText: props.hintText,\n hintTrigger: props.hintTrigger,\n hintView: props.hintView,\n hintSize: props.hintSize,\n hintTargetPlacement: props.hintTargetPlacement,\n hintPlacement: props.hintPlacement,\n hintWidth: props.hintWidth,\n hintHasArrow: props.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 }, floatingPopoverRef);\n\n const onChange = (\n newValue?: string | number | Array<string | number> | ChangeEvent<HTMLSelectElement> | null,\n ) => {\n if (outerOnChange) {\n // Условие для отправки если компонент используется без формы.\n if (!name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n outerOnChange(newValue as any);\n }\n\n // Условие для отправки если компонент используется с формой.\n if (name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n outerOnChange(newValue as any);\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) {\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\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 if (closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\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);\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 (!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 checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\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 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 }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleListToggle}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\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 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 >\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n chipView={chipView}\n disabled={disabled}\n {...(rest as any)}\n >\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(props.multiselect)}\n listHeight={listHeight}\n listOverflow={listOverflow}\n onScroll={handleScroll}\n listWidth={listWidth}\n ref={targetRef}\n >\n {beforeList}\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 </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","outerOnChange","onChange","_props$target","target","items","_props$placement","placement","label","labelPlacement","placeholder","helperText","_props$disabled","disabled","outerView","view","size","listOverflow","listHeight","listWidth","contentLeft","onScrollBottom","chipView","_props$variant","variant","portal","renderValue","renderItem","status","onItemSelect","separator","outerCloseAfterSelect","closeAfterSelect","isTargetAmount","beforeList","afterList","zIndex","name","defaultValue","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","multiselect","_useState2","internalValue","setInternalValue","undefined","getInitialValue","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","required","requiredPlacement","optional","hintProps","hintText","hintTrigger","hintView","hintSize","hintTargetPlacement","hintPlacement","hintWidth","hintHasArrow","targetRef","useOutsideClick","type","newValue","Array","isArray","_typeof","handleListToggle","opened","handleCheckboxChange","item","checkedCopy","Map","get","set","updateDescendants","updateAncestors","newValues","forEach","key","push","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_","val","updateSingleAncestors","React","createElement","_extends","SelectNative","onSetValue","Context","Provider","FloatingPopover","onToggle","referenceRef","Target","selectProps","inputWrapperRef","Ul","role","concat","onScroll","map","index","Inner","currentLevel","selectConfig","tag","layout","base","variations","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA;AACA;AACA;IACaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,IAAoE,EAAA;AAAA,EAAA,oBAC3FC,gBAAU,CAAuC,UAACC,KAAK,EAAEC,GAAG,EAAK;AAAA,IAAA,IAAAC,iBAAA,CAAA;AAC7D,IAAA,IACIC,EAAE,GAkCFH,KAAK,CAlCLG,EAAE;MACKC,UAAU,GAiCjBJ,KAAK,CAjCLK,KAAK;MACKC,aAAa,GAgCvBN,KAAK,CAhCLO,QAAQ;MAAAC,aAAA,GAgCRR,KAAK,CA/BLS,MAAM;AAANA,MAAAA,MAAM,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,gBAAgB,GAAAA,aAAA;MACzBE,KAAK,GA8BLV,KAAK,CA9BLU,KAAK;MAAAC,gBAAA,GA8BLX,KAAK,CA7BLY,SAAS;AAATA,MAAAA,SAAS,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,gBAAA;MACpBE,KAAK,GA4BLb,KAAK,CA5BLa,KAAK;MACLC,cAAc,GA2Bdd,KAAK,CA3BLc,cAAc;MACdC,WAAW,GA0BXf,KAAK,CA1BLe,WAAW;MACXC,UAAU,GAyBVhB,KAAK,CAzBLgB,UAAU;MAAAC,eAAA,GAyBVjB,KAAK,CAxBLkB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MACVE,SAAS,GAuBfnB,KAAK,CAvBLoB,IAAI;MACJC,IAAI,GAsBJrB,KAAK,CAtBLqB,IAAI;MACJC,YAAY,GAqBZtB,KAAK,CArBLsB,YAAY;MACZC,UAAU,GAoBVvB,KAAK,CApBLuB,UAAU;MACVC,SAAS,GAmBTxB,KAAK,CAnBLwB,SAAS;MACTC,WAAW,GAkBXzB,KAAK,CAlBLyB,WAAW;MACXC,cAAc,GAiBd1B,KAAK,CAjBL0B,cAAc;MACdC,QAAQ,GAgBR3B,KAAK,CAhBL2B,QAAQ;MAAAC,cAAA,GAgBR5B,KAAK,CAfL6B,OAAO;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,cAAA;MAClBE,MAAM,GAcN9B,KAAK,CAdL8B,MAAM;MACNC,WAAW,GAaX/B,KAAK,CAbL+B,WAAW;MACXC,UAAU,GAYVhC,KAAK,CAZLgC,UAAU;MACVC,MAAM,GAWNjC,KAAK,CAXLiC,MAAM;MACNC,YAAY,GAUZlC,KAAK,CAVLkC,YAAY;MACZC,SAAS,GASTnC,KAAK,CATLmC,SAAS;MACSC,qBAAqB,GAQvCpC,KAAK,CARLqC,gBAAgB;MAChBC,cAAc,GAOdtC,KAAK,CAPLsC,cAAc;MACdC,UAAU,GAMVvC,KAAK,CANLuC,UAAU;MACVC,SAAS,GAKTxC,KAAK,CALLwC,SAAS;MACTC,MAAM,GAINzC,KAAK,CAJLyC,MAAM;MACNC,IAAI,GAGJ1C,KAAK,CAHL0C,IAAI;MACJC,YAAY,GAEZ3C,KAAK,CAFL2C,YAAY;AACTC,MAAAA,IAAI,GAAAC,iDAAA,CACP7C,KAAK,EAAA8C,SAAA,CAAA,CAAA;IACT,IAAMC,gBAAgB,GAAGC,aAAO,CAAC,YAAA;AAAA,MAAA,OAAMC,2CAAqB,CAACvC,KAAK,IAAI,EAAE,CAAC,CAAA;KAAE,EAAA,CAACA,KAAK,CAAC,CAAC,CAAA;;AAEnF;AACA,IAAA,IAAAwC,YAAA,GAAwFC,uBAAW,CAC/FJ,gBACJ,CAAC;MAAAK,aAAA,GAAAC,uCAAA,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,cAAQ,CAC9C5D,KAAK,CAAC6D,WAAW,GAAG,EAAE,GAAG,EAC7B,CAAC;MAAAC,UAAA,GAAAT,uCAAA,CAAAM,SAAA,EAAA,CAAA,CAAA;AAFMI,MAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAItC,IAAA,IAAMzD,KAAK,GACPD,UAAU,KAAK,IAAI,IAAIA,UAAU,KAAK6D,SAAS,GACzCC,+BAAe,CAAC9D,UAAU,EAAEqD,cAAc,CAAC,GAC3CM,aAAa,CAAA;AAEvB,IAAA,IAAMI,kBAAkB,GAAGC,YAAM,CAAiB,IAAI,CAAC,CAAA;;AAEvD;AACA,IAAA,IAAAC,WAAA,GAA6BC,gBAAU,CAACC,uBAAW,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAnB,uCAAA,CAAAgB,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,gBAAU,CAACM,qCAAkB,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAxB,uCAAA,CAAAsB,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,GAA8BpB,cAAQ,CAACJ,iBAAiB,CAAC;MAAAyB,UAAA,GAAA5B,uCAAA,CAAA2B,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,CAAApF,CAAAA,iBAAA,GAAAqF,sCAAgB,CAACT,WAAW,EAAEvB,iBAAiB,CAAC,cAAArD,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhDA,iBAAA,CAAkDG,KAAK,CAACmF,QAAQ,EAAE,KAAI,EAAE,CAAA;IAC1G,IAAMnD,gBAAgB,GAAGD,qBAAqB,KAArBA,IAAAA,IAAAA,qBAAqB,KAArBA,KAAAA,CAAAA,GAAAA,qBAAqB,GAAI,CAACpC,KAAK,CAAC6D,WAAW,CAAA;AACpE,IAAA,IAAM4B,MAAM,GAAGC,oBAAS,EAAE,CAAA;AAC1B,IAAA,IAAMtE,IAAI,GAAGX,MAAM,KAAK,gBAAgB,IAAIS,QAAQ,GAAG,SAAS,GAAGyE,eAAO,CAAC1D,MAAM,EAAEd,SAAS,CAAC,CAAA;;AAE7F;IACA,IAAMyE,aAAa,GACf5F,KAAK,CAACS,MAAM,KAAK,aAAa,GACxBwD,SAAS,GACR;MACG4B,QAAQ,EAAE7F,KAAK,CAAC6F,QAAQ;MACxBC,iBAAiB,EAAE9F,KAAK,CAAC8F,iBAAiB;MAC1CC,QAAQ,EAAE/F,KAAK,CAAC+F,QAAAA;KACD,CAAA;;AAE7B;IACA,IAAMC,SAAS,GACXhG,KAAK,CAACS,MAAM,KAAK,aAAa,GACxBwD,SAAS,GACR;MACGgC,QAAQ,EAAEjG,KAAK,CAACiG,QAAQ;MACxBC,WAAW,EAAElG,KAAK,CAACkG,WAAW;MAC9BC,QAAQ,EAAEnG,KAAK,CAACmG,QAAQ;MACxBC,QAAQ,EAAEpG,KAAK,CAACoG,QAAQ;MACxBC,mBAAmB,EAAErG,KAAK,CAACqG,mBAAmB;MAC9CC,aAAa,EAAEtG,KAAK,CAACsG,aAAa;MAClCC,SAAS,EAAEvG,KAAK,CAACuG,SAAS;MAC1BC,YAAY,EAAExG,KAAK,CAACwG,YAAAA;KACT,CAAA;AAEzB,IAAA,IAAMC,SAAS,GAAGC,+BAAe,CAAmB,YAAM;MACtD,IAAI,CAACtB,iBAAiB,EAAE;AACpB,QAAA,OAAA;AACJ,OAAA;AAEAV,MAAAA,YAAY,CAAC;AAAEiC,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;AAC/B5B,MAAAA,mBAAmB,CAAC;AAAE4B,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;KACzC,EAAExC,kBAAkB,CAAC,CAAA;AAEtB,IAAA,IAAM5D,QAAQ,GAAG,SAAXA,QAAQA,CACVqG,QAA2F,EAC1F;AACD,MAAA,IAAItG,aAAa,EAAE;AACf;AACA,QAAA,IAAI,CAACoC,IAAI,KAAK,OAAOkE,QAAQ,KAAK,QAAQ,IAAIC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,CAAC,EAAE;UACpEtG,aAAa,CAACsG,QAAe,CAAC,CAAA;AAClC,SAAA;;AAEA;AACA,QAAA,IAAIlE,IAAI,IAAIqE,gCAAA,CAAOH,QAAQ,CAAK,KAAA,QAAQ,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE;UAClEtG,aAAa,CAACsG,QAAe,CAAC,CAAA;AAClC,SAAA;AACJ,OAAA;;AAEA;MACA,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE;QACzD5C,gBAAgB,CAAC4C,QAAQ,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;AAED,IAAA,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,MAAe,EAAK;AAC1C,MAAA,IAAI/F,QAAQ,EAAE;AACV,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAI+F,MAAM,EAAE;AACRvC,QAAAA,YAAY,CAAC;AAAEiC,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAChD,OAAC,MAAM;AACH5B,QAAAA,mBAAmB,CAAC;AAAE4B,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACtCjC,QAAAA,YAAY,CAAC;AAAEiC,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACnC,OAAA;KACH,CAAA;AAED,IAAA,IAAMO,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,IAAmC,EAAK;AAClE,MAAA,IAAI,CAACnH,KAAK,CAAC6D,WAAW,EAAE;AACpB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMuD,WAAW,GAAG,IAAIC,GAAG,CAACnC,OAAO,CAAC,CAAA;MAEpC,IAAI,CAACkC,WAAW,CAACE,GAAG,CAACH,IAAI,CAAC9G,KAAK,CAAC,EAAE;QAC9B+G,WAAW,CAACG,GAAG,CAACJ,IAAI,CAAC9G,KAAK,EAAE,IAAI,CAAC,CAAA;QACjCmH,mCAAiB,CAACL,IAAI,EAAEC,WAAW,EAAE,IAAI,EAAE3D,cAAc,CAAC,CAAA;AAC9D,OAAC,MAAM;QACH2D,WAAW,CAACG,GAAG,CAACJ,IAAI,CAAC9G,KAAK,EAAE,KAAK,CAAC,CAAA;AAClCmH,QAAAA,mCAAiB,CAACL,IAAI,EAAEC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC/C,OAAA;AAEAK,MAAAA,+BAAe,CAACN,IAAI,EAAEC,WAAW,CAAC,CAAA;MAElC,IAAMM,SAAiC,GAAG,EAAE,CAAA;AAE5CjE,MAAAA,cAAc,CAACkE,OAAO,CAAC,UAACR,IAAI,EAAES,GAAG,EAAK;AAClC,QAAA,IAAIR,WAAW,CAACE,GAAG,CAACM,GAAG,CAAC,EAAE;AACtBF,UAAAA,SAAS,CAACG,IAAI,CAACV,IAAI,CAAC9G,KAAK,CAAC,CAAA;AAC9B,SAAA;AACJ,OAAC,CAAC,CAAA;AAEF,MAAA,IAAIgC,gBAAgB,EAAE;AAClBqC,QAAAA,YAAY,CAAC;AAAEiC,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/B5B,QAAAA,mBAAmB,CAAC;AAAE4B,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC1C,OAAA;AAEA,MAAA,IAAIpG,QAAQ,EAAE;QACVA,QAAQ,CAACmH,SAAS,CAAC,CAAA;AACvB,OAAA;KACH,CAAA;IAED,IAAMI,eAAe,GAAG,SAAlBA,eAAeA,CAAIX,IAAmC,EAAEY,CAAiC,EAAK;MAChG,IAAI,CAACC,eAAO,CAACb,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEzG,KAAK,CAAC,EAAE;AACvB,QAAA,OAAA;AACJ,OAAA;MAEA,IAAIV,KAAK,CAAC6D,WAAW,EAAE;QACnBqD,oBAAoB,CAACC,IAAI,CAAC,CAAA;AAC1B,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIY,CAAC,EAAE;QACHA,CAAC,CAACE,eAAe,EAAE,CAAA;AACvB,OAAA;MAEA,IAAMC,gBAAgB,GAAGhD,OAAO,CAACoC,GAAG,CAACH,IAAI,CAAC9G,KAAK,CAAC,CAAA;AAEhD,MAAA,IAAIgC,gBAAgB,EAAE;AAClBqC,QAAAA,YAAY,CAAC;AAAEiC,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/B5B,QAAAA,mBAAmB,CAAC;AAAE4B,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC1C,OAAA;AAEA,MAAA,IAAIpG,QAAQ,EAAE;QACVA,QAAQ,CAAC2H,gBAAgB,GAAG,EAAE,GAAGf,IAAI,CAAC9G,KAAK,CAAC,CAAA;AAChD,OAAA;AAEA,MAAA,IAAI6B,YAAY,EAAE;AACdA,QAAAA,YAAY,CAACiF,IAAI,EAAEY,CAAE,CAAC,CAAA;AAC1B,OAAA;KACH,CAAA;IAED,IAAMI,eAAe,GAAG,SAAlBA,eAAeA,CAAIhB,IAAmC,EAAEY,CAAiC,EAAK;AAChG,MAAA,IAAIC,eAAO,CAACb,IAAI,CAACzG,KAAK,CAAC,EAAE;AACrBoH,QAAAA,eAAe,CAACX,IAAI,EAAEY,CAAC,CAAC,CAAA;AAC5B,OAAC,MAAM,IAAI/H,KAAK,CAAC6D,WAAW,EAAE;QAC1BqD,oBAAoB,CAACC,IAAI,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;AAED,IAAA,IAAMiB,YAAY,GAAG,SAAfA,YAAYA,CAAIL,CAAkC,EAAK;MACzD,IAAI,CAACrG,cAAc,EAAE,OAAA;AAErB,MAAA,IAAQjB,MAAM,GAAKsH,CAAC,CAAZtH,MAAM,CAAA;MAEd,IACKA,MAAM,CAAiB4H,YAAY,GAAI5H,MAAM,CAAiB6H,SAAS,KACvE7H,MAAM,CAAiB8H,YAAY,EACtC;QACE7G,cAAc,CAACqG,CAAC,CAAC,CAAA;AACrB,OAAA;KACH,CAAA;IAED,IAAAS,iBAAA,GAAsBC,sCAAgB,CAAC;AACnC3D,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBN,QAAAA,IAAI,EAAJA,IAAI;AACJC,QAAAA,YAAY,EAAZA,YAAY;AACZpB,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjByD,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBmB,QAAAA,eAAe,EAAfA,eAAAA;AACJ,OAAC,CAAC;MATMO,SAAS,GAAAF,iBAAA,CAATE,SAAS,CAAA;;AAWjB;AACA;AACAC,IAAAA,qBAAe,CAAC,YAAM;AAClB,MAAA,IAAMvB,WAAW,GAAG,IAAIC,GAAG,CAACnC,OAAO,CAAC,CAAA;AAEpCkC,MAAAA,WAAW,CAACO,OAAO,CAAC,UAACiB,CAAC,EAAEhB,GAAG,EAAK;AAC5BR,QAAAA,WAAW,CAACG,GAAG,CAACK,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/B,OAAC,CAAC,CAAA;MAEF,IAAI,CAACI,eAAO,CAAC3H,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAC9C,QAAA,IAAIwG,KAAK,CAACC,OAAO,CAACzG,KAAK,CAAC,EAAE;AACtBA,UAAAA,KAAK,CAACsH,OAAO,CAAC,UAACkB,GAAG,EAAK;AACnBzB,YAAAA,WAAW,CAACG,GAAG,CAACsB,GAAG,EAAE,IAAI,CAAC,CAAA;YAC1BrB,mCAAiB,CAAC/D,cAAc,CAAC6D,GAAG,CAACuB,GAAG,CAAC,EAAGzB,WAAW,EAAE,IAAI,CAAC,CAAA;YAC9DK,+BAAe,CAAChE,cAAc,CAAC6D,GAAG,CAACuB,GAAG,CAAC,EAAGzB,WAAW,CAAC,CAAA;AAC1D,WAAC,CAAC,CAAA;AACN,SAAC,MAAM;AACHA,UAAAA,WAAW,CAACG,GAAG,CAAClH,KAAK,EAAE,MAAM,CAAC,CAAA;UAC9ByI,2CAAqB,CAACrF,cAAc,CAAC6D,GAAG,CAACjH,KAAK,CAAC,EAAG+G,WAAW,EAAE,KAAK,CAAC,CAAA;AACzE,SAAA;AACJ,OAAA;MAEAjC,UAAU,CAACiC,WAAW,CAAC,CAAA;;AAEvB;AACA;AACA;KACH,EAAE,CAAChH,UAAU,EAAE2D,aAAa,EAAErD,KAAK,CAAC,CAAC,CAAA;AAEtCiI,IAAAA,qBAAe,CAAC,YAAM;AAClB,MAAA,IAAIhG,YAAY,EAAE;QACdqB,gBAAgB,CAACrB,YAAiC,CAAC,CAAA;AACvD,OAAA;AACJ,KAAC,EAAE,CAACA,YAAY,CAAC,CAAC,CAAA;AAElB,IAAA,oBACIoG,sBAAA,CAAAC,aAAA,CAAClJ,IAAI,EAAAmJ,iCAAA,CAAA;AACD7H,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXP,MAAAA,cAAc,EAAEA,cAAe;AAC/Ba,MAAAA,QAAQ,EAAEA,QAAS;AACnBT,MAAAA,QAAQ,EAAEA,QAAS;AACnBf,MAAAA,EAAE,EAAEA,EAAAA;KACCyC,EAAAA,IAAI,GAERF,IAAI,iBACDqG,sBAAA,CAAAC,aAAA,CAACE,yBAAY,EAAA;AACTxI,MAAAA,KAAK,EAAE+C,cAAe;AACtBf,MAAAA,IAAI,EAAEA,IAAK;AACXrC,MAAAA,KAAK,EAAE0D,aAAc;MACrBF,WAAW,EAAE7D,KAAK,CAAC6D,WAAY;AAC/BtD,MAAAA,QAAQ,EAAEA,QAAS;AACnB4I,MAAAA,UAAU,EAAEnF,gBAAiB;AAC7B/D,MAAAA,GAAG,EAAEA,GAAAA;KACR,CACJ,eACD8I,sBAAA,CAAAC,aAAA,CAACI,sBAAO,CAACC,QAAQ,EAAA;AACbhJ,MAAAA,KAAK,EAAE;AACHyE,QAAAA,WAAW,EAAXA,WAAW;AACXI,QAAAA,OAAO,EAAPA,OAAO;QACPrB,WAAW,EAAE7D,KAAK,CAAC6D,WAAW;AAC9BxC,QAAAA,IAAI,EAAJA,IAAI;AACJ6F,QAAAA,oBAAoB,EAApBA,oBAAoB;AACpBY,QAAAA,eAAe,EAAfA,eAAe;AACfjG,QAAAA,OAAO,EAAPA,OAAO;AACPG,QAAAA,UAAU,EAAVA,UAAU;AACVyD,QAAAA,MAAM,EAANA,MAAAA;AACJ,OAAA;AAAE,KAAA,eAEFsD,sBAAA,CAAAC,aAAA,CAACM,+BAAe,EAAA;AACZrJ,MAAAA,GAAG,EAAEkE,kBAAmB;AACxB8C,MAAAA,MAAM,EAAE7B,iBAAkB;AAC1BmE,MAAAA,QAAQ,EAAEvC,gBAAiB;AAC3BpG,MAAAA,SAAS,EAAEA,SAAU;AACrBkB,MAAAA,MAAM,EAAEA,MAAO;AACfN,MAAAA,SAAS,EAAEA,SAAU;MACrBf,MAAM,EAAE,SAAAA,MAAAA,CAAC+I,YAAY,EAAA;AAAA,QAAA,oBACjBT,sBAAA,CAAAC,aAAA,CAACS,aAAM,EAAA;AACHxJ,UAAAA,GAAG,EAAEyC,IAAI,GAAG,IAAI,GAAGzC,GAAI;AACvBI,UAAAA,KAAK,EAAEA,KAAM;AACb4G,UAAAA,MAAM,EAAE7B,iBAAkB;AAC1B3B,UAAAA,cAAc,EAAEA,cAAe;AAC/B5C,UAAAA,KAAK,EAAEA,KAAM;AACbE,UAAAA,WAAW,EAAEA,WAAY;AACzB2H,UAAAA,SAAS,EAAEA,SAAU;AACrB5H,UAAAA,cAAc,EAAEA,cAAe;AAC/BO,UAAAA,IAAI,EAAEA,IAAK;AACXI,UAAAA,WAAW,EAAEA,WAAY;AACzBP,UAAAA,QAAQ,EAAEA,QAAS;AACnBa,UAAAA,WAAW,EAAEA,WAAY;AACzB2H,UAAAA,WAAW,EAAE1J,KAAM;AACnB2J,UAAAA,eAAe,EAAEH,YAAuD;UACxE3F,WAAW,EAAE7D,KAAK,CAAC6D,WAAY;AAC/BzC,UAAAA,IAAI,EAAEA,IAAK;AACXJ,UAAAA,UAAU,EAAEA,UAAW;AACvByE,UAAAA,MAAM,EAAEA,MAAO;AACfH,UAAAA,yBAAyB,EAAEA,yBAA0B;AACrDhD,UAAAA,cAAc,EAAEA,cAAe;AAC/B/B,UAAAA,QAAQ,EAAEA,QAAS;AACnBmD,UAAAA,cAAc,EAAEA,cAAe;AAC/B/B,UAAAA,QAAQ,EAAEA,QAAS;AACnBQ,UAAAA,SAAS,EAAEA,SAAU;AACrByD,UAAAA,aAAa,EAAEA,aAAc;AAC7BI,UAAAA,SAAS,EAAEA,SAAAA;AAAU,SACxB,CAAC,CAAA;OACJ;AACFvD,MAAAA,MAAM,EAAEA,MAAAA;AAAO,KAAA,eAEfsG,sBAAA,CAAAC,aAAA,CAAClJ,IAAI,EAAAmJ,iCAAA,CAAA;AACD7H,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXP,MAAAA,cAAc,EAAEA,cAAe;AAC/Ba,MAAAA,QAAQ,EAAEA,QAAS;AACnBT,MAAAA,QAAQ,EAAEA,QAAAA;AAAS,KAAA,EACd0B,IAAI,CAETmG,eAAAA,sBAAA,CAAAC,aAAA,CAACY,gBAAE,EAAA;AACCC,MAAAA,IAAI,EAAC,MAAM;AACX1J,MAAAA,EAAE,EAAA2J,EAAAA,CAAAA,MAAA,CAAKrE,MAAM,EAAgB,eAAA,CAAA;AAC7B,MAAA,sBAAA,EAAsBJ,OAAO,CAACrF,KAAK,CAAC6D,WAAW,CAAE;AACjDtC,MAAAA,UAAU,EAAEA,UAAW;AACvBD,MAAAA,YAAY,EAAEA,YAAa;AAC3ByI,MAAAA,QAAQ,EAAE3B,YAAa;AACvB5G,MAAAA,SAAS,EAAEA,SAAU;AACrBvB,MAAAA,GAAG,EAAEwG,SAAAA;KAEJlE,EAAAA,UAAU,EAEVQ,gBAAgB,CAACiH,GAAG,CAAC,UAAC7C,IAAI,EAAE8C,KAAK,EAAA;AAAA,MAAA,oBAC9BlB,sBAAA,CAAAC,aAAA,CAACkB,WAAK,EAAA;AACFtC,QAAAA,GAAG,EAAAkC,EAAAA,CAAAA,MAAA,CAAKG,KAAK,EAAK,IAAA,CAAA;AAClB9C,QAAAA,IAAI,EAAEA,IAAK;AACXgD,QAAAA,YAAY,EAAE,CAAE;AAChB1F,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,YAAY,EAAEA,YAAa;AAC3BuF,QAAAA,KAAK,EAAEA,KAAM;AACbzI,QAAAA,SAAS,EAAEA,SAAAA;AAAU,OACxB,CAAC,CAAA;AAAA,KACL,CAAC,EAEDgB,SACD,CACF,CACO,CACH,CAChB,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAM4H,YAAY,GAAG;AACxB1H,EAAAA,IAAI,EAAE,QAAQ;AACd2H,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEzK,UAAU;AAClB0K,EAAAA,IAAI,EAAJA,kBAAI;EACJC,UAAU,EAAE,EAAE;AACdC,EAAAA,QAAQ,EAAE;AACNrJ,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAG;AACTP,IAAAA,cAAc,EAAE,OAAO;AACvBa,IAAAA,QAAQ,EAAE,SAAA;AACd,GAAA;AACJ;;;;;"}
|
@@ -91,6 +91,7 @@ var Item = function Item(_ref) {
|
|
91
91
|
return e.stopPropagation();
|
92
92
|
}
|
93
93
|
}, /*#__PURE__*/React__default.default.createElement(Item_styles.StyledCheckbox, {
|
94
|
+
disabled: itemDisabled,
|
94
95
|
checked: Boolean(checked.get(item.value)),
|
95
96
|
indeterminate: checked.get(item.value) === 'indeterminate',
|
96
97
|
onChange: handleChange
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Item.js","sources":["../../../../../../../src/components/Select/ui/Inner/ui/Item/Item.tsx"],"sourcesContent":["import React, { useRef, FC, useContext } from 'react';\n\nimport { sizeToIconSize, getItemId } from '../../../../utils';\nimport { classes } from '../../../../Select.tokens';\nimport { cx, isEmpty } from '../../../../../../utils';\nimport { Context } from '../../../../Select.context';\nimport { useDidMountEffect } from '../../../../../../hooks';\n\nimport { ItemProps } from './Item.types';\nimport {\n StyledWrapper,\n StyledCell,\n StyledCheckbox,\n StyledIndicator,\n DisclosureIconWrapper,\n IconWrapper,\n StyledText,\n Wrapper,\n StyledCheckboxWrapper,\n StyledArrow,\n StyledIconDone,\n} from './Item.styles';\n\nexport const Item: FC<ItemProps> = ({\n item,\n path,\n currentLevel,\n index,\n ariaControls,\n ariaExpanded,\n ariaLevel,\n ariaLabel,\n}) => {\n const { value, label, disabled, isDisabled, contentLeft, contentRight, className, ...rest } = item;\n\n const ref = useRef<HTMLLIElement | null>(null);\n\n const {\n focusedPath,\n checked,\n multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n } = useContext(Context);\n\n const itemDisabled = Boolean(disabled || isDisabled);\n\n const disabledClassName = itemDisabled ? classes.dropdownItemIsDisabled : undefined;\n const focusedClass =\n currentLevel === focusedPath.length - 1 && index === focusedPath?.[currentLevel]\n ? classes.dropdownItemIsFocused\n : undefined;\n const activeClass = value === path?.[currentLevel + 1] ? classes.dropdownItemIsActive : undefined;\n\n useDidMountEffect(() => {\n if (focusedClass && ref?.current) {\n ref.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n }\n }, [focusedClass]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (itemDisabled) return;\n\n e.stopPropagation();\n\n handleCheckboxChange(item);\n };\n\n const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (itemDisabled) {\n e.stopPropagation();\n return;\n }\n\n handleItemClick(item, e);\n };\n\n return (\n <Wrapper\n {...rest}\n className={cx(disabledClassName, focusedClass, activeClass, className)}\n id={getItemId(treeId, value.toString())}\n ref={ref}\n onClick={handleClick}\n variant={variant}\n role=\"treeitem\"\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-level={ariaLevel}\n aria-label={ariaLabel}\n aria-selected={Boolean(checked.get(item.value))}\n >\n <IconWrapper variant={variant}>\n {multiselect && (\n <StyledCheckboxWrapper onClick={(e) => e.stopPropagation()}>\n <StyledCheckbox\n checked={Boolean(checked.get(item.value))}\n indeterminate={checked.get(item.value) === 'indeterminate'}\n onChange={handleChange}\n />\n </StyledCheckboxWrapper>\n )}\n\n {!multiselect && checked.get(item.value) === 'dot' && <StyledIndicator size=\"s\" view=\"default\" />}\n\n {!multiselect && checked.get(item.value) === 'done' && (\n <StyledIconDone size={sizeToIconSize(size, variant)} color=\"inherit\" />\n )}\n </IconWrapper>\n\n {renderItem ? (\n <StyledText>{renderItem(item)}</StyledText>\n ) : (\n <StyledWrapper>\n <StyledCell\n contentLeft={contentLeft}\n contentRight={contentRight}\n // TODO: #1548\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n title={<span>{label}</span>}\n />\n </StyledWrapper>\n )}\n\n {!isEmpty(item.items) && (\n <DisclosureIconWrapper>\n <StyledArrow size={sizeToIconSize(size, variant)} color=\"inherit\" />\n </DisclosureIconWrapper>\n )}\n </Wrapper>\n );\n};\n"],"names":["Item","_ref","item","path","currentLevel","index","ariaControls","ariaExpanded","ariaLevel","ariaLabel","value","label","disabled","isDisabled","contentLeft","contentRight","className","rest","_objectWithoutProperties","_excluded","ref","useRef","_useContext","useContext","Context","focusedPath","checked","multiselect","size","handleCheckboxChange","handleItemClick","variant","renderItem","treeId","itemDisabled","Boolean","disabledClassName","classes","dropdownItemIsDisabled","undefined","focusedClass","length","dropdownItemIsFocused","activeClass","dropdownItemIsActive","useDidMountEffect","current","scrollIntoView","behavior","block","inline","handleChange","e","stopPropagation","handleClick","React","createElement","Wrapper","_extends","cx","id","getItemId","toString","onClick","role","get","IconWrapper","StyledCheckboxWrapper","StyledCheckbox","indeterminate","onChange","_StyledIndicator","StyledIndicator","view","StyledIconDone","sizeToIconSize","color","StyledText","StyledWrapper","StyledCell","title","isEmpty","items","DisclosureIconWrapper","StyledArrow"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Item.js","sources":["../../../../../../../src/components/Select/ui/Inner/ui/Item/Item.tsx"],"sourcesContent":["import React, { useRef, FC, useContext } from 'react';\n\nimport { sizeToIconSize, getItemId } from '../../../../utils';\nimport { classes } from '../../../../Select.tokens';\nimport { cx, isEmpty } from '../../../../../../utils';\nimport { Context } from '../../../../Select.context';\nimport { useDidMountEffect } from '../../../../../../hooks';\n\nimport { ItemProps } from './Item.types';\nimport {\n StyledWrapper,\n StyledCell,\n StyledCheckbox,\n StyledIndicator,\n DisclosureIconWrapper,\n IconWrapper,\n StyledText,\n Wrapper,\n StyledCheckboxWrapper,\n StyledArrow,\n StyledIconDone,\n} from './Item.styles';\n\nexport const Item: FC<ItemProps> = ({\n item,\n path,\n currentLevel,\n index,\n ariaControls,\n ariaExpanded,\n ariaLevel,\n ariaLabel,\n}) => {\n const { value, label, disabled, isDisabled, contentLeft, contentRight, className, ...rest } = item;\n\n const ref = useRef<HTMLLIElement | null>(null);\n\n const {\n focusedPath,\n checked,\n multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n } = useContext(Context);\n\n const itemDisabled = Boolean(disabled || isDisabled);\n\n const disabledClassName = itemDisabled ? classes.dropdownItemIsDisabled : undefined;\n const focusedClass =\n currentLevel === focusedPath.length - 1 && index === focusedPath?.[currentLevel]\n ? classes.dropdownItemIsFocused\n : undefined;\n const activeClass = value === path?.[currentLevel + 1] ? classes.dropdownItemIsActive : undefined;\n\n useDidMountEffect(() => {\n if (focusedClass && ref?.current) {\n ref.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n }\n }, [focusedClass]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (itemDisabled) return;\n\n e.stopPropagation();\n\n handleCheckboxChange(item);\n };\n\n const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (itemDisabled) {\n e.stopPropagation();\n return;\n }\n\n handleItemClick(item, e);\n };\n\n return (\n <Wrapper\n {...rest}\n className={cx(disabledClassName, focusedClass, activeClass, className)}\n id={getItemId(treeId, value.toString())}\n ref={ref}\n onClick={handleClick}\n variant={variant}\n role=\"treeitem\"\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-level={ariaLevel}\n aria-label={ariaLabel}\n aria-selected={Boolean(checked.get(item.value))}\n >\n <IconWrapper variant={variant}>\n {multiselect && (\n <StyledCheckboxWrapper onClick={(e) => e.stopPropagation()}>\n <StyledCheckbox\n disabled={itemDisabled}\n checked={Boolean(checked.get(item.value))}\n indeterminate={checked.get(item.value) === 'indeterminate'}\n onChange={handleChange}\n />\n </StyledCheckboxWrapper>\n )}\n\n {!multiselect && checked.get(item.value) === 'dot' && <StyledIndicator size=\"s\" view=\"default\" />}\n\n {!multiselect && checked.get(item.value) === 'done' && (\n <StyledIconDone size={sizeToIconSize(size, variant)} color=\"inherit\" />\n )}\n </IconWrapper>\n\n {renderItem ? (\n <StyledText>{renderItem(item)}</StyledText>\n ) : (\n <StyledWrapper>\n <StyledCell\n contentLeft={contentLeft}\n contentRight={contentRight}\n // TODO: #1548\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n title={<span>{label}</span>}\n />\n </StyledWrapper>\n )}\n\n {!isEmpty(item.items) && (\n <DisclosureIconWrapper>\n <StyledArrow size={sizeToIconSize(size, variant)} color=\"inherit\" />\n </DisclosureIconWrapper>\n )}\n </Wrapper>\n );\n};\n"],"names":["Item","_ref","item","path","currentLevel","index","ariaControls","ariaExpanded","ariaLevel","ariaLabel","value","label","disabled","isDisabled","contentLeft","contentRight","className","rest","_objectWithoutProperties","_excluded","ref","useRef","_useContext","useContext","Context","focusedPath","checked","multiselect","size","handleCheckboxChange","handleItemClick","variant","renderItem","treeId","itemDisabled","Boolean","disabledClassName","classes","dropdownItemIsDisabled","undefined","focusedClass","length","dropdownItemIsFocused","activeClass","dropdownItemIsActive","useDidMountEffect","current","scrollIntoView","behavior","block","inline","handleChange","e","stopPropagation","handleClick","React","createElement","Wrapper","_extends","cx","id","getItemId","toString","onClick","role","get","IconWrapper","StyledCheckboxWrapper","StyledCheckbox","indeterminate","onChange","_StyledIndicator","StyledIndicator","view","StyledIconDone","sizeToIconSize","color","StyledText","StyledWrapper","StyledCell","title","isEmpty","items","DisclosureIconWrapper","StyledArrow"],"mappings":"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"}
|
@@ -2,14 +2,17 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
var updateDescendants = function updateDescendants(node, checkedMap, isChecked) {
|
5
|
+
var updateDescendants = function updateDescendants(node, checkedMap, isChecked, valueToItemMap) {
|
6
6
|
if (!(node !== null && node !== void 0 && node.items)) {
|
7
7
|
return;
|
8
8
|
}
|
9
9
|
node.items.forEach(function (item) {
|
10
|
-
|
10
|
+
var _valueToItemMap$get;
|
11
|
+
if (!(valueToItemMap !== null && valueToItemMap !== void 0 && (_valueToItemMap$get = valueToItemMap.get(item.value)) !== null && _valueToItemMap$get !== void 0 && _valueToItemMap$get.disabled)) {
|
12
|
+
checkedMap.set(item.value, isChecked);
|
13
|
+
}
|
11
14
|
if (item.items) {
|
12
|
-
updateDescendants(item, checkedMap, isChecked);
|
15
|
+
updateDescendants(item, checkedMap, isChecked, valueToItemMap);
|
13
16
|
}
|
14
17
|
});
|
15
18
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"updateDescendants.js","sources":["../../../../src/components/Select/utils/updateDescendants.ts"],"sourcesContent":["import type { MergedDropdownNodeTransformed } from '../ui/Inner/ui/Item/Item.types';\nimport type { ValueToCheckedMapType } from '../hooks/usePathMaps';\n\nexport const updateDescendants = (\n node: MergedDropdownNodeTransformed,\n checkedMap: ValueToCheckedMapType,\n isChecked: boolean,\n) => {\n if (!node?.items) {\n return;\n }\n\n node.items.forEach((item) => {\n checkedMap.set(item.value, isChecked);\n\n if (item.items) {\n updateDescendants(item, checkedMap, isChecked);\n }\n });\n};\n"],"names":["updateDescendants","node","checkedMap","isChecked","items","forEach","item","
|
1
|
+
{"version":3,"file":"updateDescendants.js","sources":["../../../../src/components/Select/utils/updateDescendants.ts"],"sourcesContent":["import type { MergedDropdownNodeTransformed } from '../ui/Inner/ui/Item/Item.types';\nimport type { ValueToCheckedMapType, ValueToItemMapType } from '../hooks/usePathMaps';\n\nexport const updateDescendants = (\n node: MergedDropdownNodeTransformed,\n checkedMap: ValueToCheckedMapType,\n isChecked: boolean,\n valueToItemMap?: ValueToItemMapType,\n) => {\n if (!node?.items) {\n return;\n }\n\n node.items.forEach((item) => {\n if (!valueToItemMap?.get(item.value)?.disabled) {\n checkedMap.set(item.value, isChecked);\n }\n\n if (item.items) {\n updateDescendants(item, checkedMap, isChecked, valueToItemMap);\n }\n });\n};\n"],"names":["updateDescendants","node","checkedMap","isChecked","valueToItemMap","items","forEach","item","_valueToItemMap$get","get","value","disabled","set"],"mappings":";;;;AAGaA,IAAAA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC1BC,IAAmC,EACnCC,UAAiC,EACjCC,SAAkB,EAClBC,cAAmC,EAClC;EACD,IAAI,EAACH,IAAI,KAAJA,IAAAA,IAAAA,IAAI,eAAJA,IAAI,CAAEI,KAAK,CAAE,EAAA;AACd,IAAA,OAAA;AACJ,GAAA;AAEAJ,EAAAA,IAAI,CAACI,KAAK,CAACC,OAAO,CAAC,UAACC,IAAI,EAAK;AAAA,IAAA,IAAAC,mBAAA,CAAA;IACzB,IAAI,EAACJ,cAAc,KAAdA,IAAAA,IAAAA,cAAc,gBAAAI,mBAAA,GAAdJ,cAAc,CAAEK,GAAG,CAACF,IAAI,CAACG,KAAK,CAAC,MAAA,IAAA,IAAAF,mBAAA,KAA/BA,KAAAA,CAAAA,IAAAA,mBAAA,CAAiCG,QAAQ,CAAE,EAAA;MAC5CT,UAAU,CAACU,GAAG,CAACL,IAAI,CAACG,KAAK,EAAEP,SAAS,CAAC,CAAA;AACzC,KAAA;IAEA,IAAII,IAAI,CAACF,KAAK,EAAE;MACZL,iBAAiB,CAACO,IAAI,EAAEL,UAAU,EAAEC,SAAS,EAAEC,cAAc,CAAC,CAAA;AAClE,KAAA;AACJ,GAAC,CAAC,CAAA;AACN;;;;"}
|
@@ -101,6 +101,11 @@ var AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.forwardRef)(
|
|
101
101
|
}, style)
|
102
102
|
}, /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionHeader, {
|
103
103
|
role: "tab",
|
104
|
+
onKeyDown: function onKeyDown(e) {
|
105
|
+
if (e.key === 'Enter') {
|
106
|
+
handleOpen();
|
107
|
+
}
|
108
|
+
},
|
104
109
|
tabIndex: 0,
|
105
110
|
onClick: handleOpen,
|
106
111
|
"aria-expanded": opened !== null && opened !== void 0 ? opened : value,
|