@salutejs/plasma-new-hope 0.336.0-canary.2218.17555761279.0 → 0.336.0-canary.2218.17563592167.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.css +6 -6
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +22 -23
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +3 -4
- package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/{Combobox.styles_isfa46.css → Combobox.styles_261unw.css} +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
- package/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +6 -6
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -5
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
- package/cjs/components/Combobox/ComboboxOld/Combobox.css +2 -2
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +2 -2
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +2 -2
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +2 -2
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +2 -2
- package/cjs/components/Dropdown/Dropdown.css +2 -2
- package/cjs/components/Dropdown/Dropdown.js +6 -10
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.styles.js +2 -9
- package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
- package/{es/components/Dropdown/Dropdown.styles_zheit5.css → cjs/components/Dropdown/Dropdown.styles_kkvnr1.css} +1 -1
- package/cjs/components/Dropdown/FloatingPopover.js +6 -5
- package/cjs/components/Dropdown/FloatingPopover.js.map +1 -1
- package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
- package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.css +2 -2
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -9
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
- package/cjs/components/Pagination/Pagination.css +2 -2
- package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
- package/cjs/components/Select/Select.css +2 -2
- package/cjs/components/Select/Select.js +4 -3
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.styles.js +3 -4
- package/cjs/components/Select/Select.styles.js.map +1 -1
- package/cjs/components/Select/{Select.styles_bjoo18.css → Select.styles_dta4dl.css} +1 -1
- package/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
- package/cjs/components/Select/ui/Inner/Inner.css +2 -2
- package/cjs/components/Select/ui/Inner/Inner.js +11 -5
- package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
- package/cjs/components/Table/Table.css +2 -2
- package/cjs/components/Table/ui/Cell/Cell.css +2 -2
- package/cjs/components/Table/ui/EditableCell/EditableCell.css +2 -2
- package/cjs/components/Table/ui/HeadCell/HeadCell.css +2 -2
- package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
- package/cjs/index.css +10 -10
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +20 -22
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
- package/emotion/cjs/components/Dropdown/Dropdown.js +6 -10
- package/emotion/cjs/components/Dropdown/Dropdown.styles.js +5 -8
- package/emotion/cjs/components/Dropdown/FloatingPopover.js +7 -5
- package/emotion/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
- package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +48 -11
- package/emotion/cjs/components/Select/Select.js +4 -2
- package/emotion/cjs/components/Select/Select.styles.js +8 -8
- package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/emotion/cjs/components/Select/ui/Inner/Inner.js +50 -9
- package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +20 -22
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.styles.js +16 -16
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
- package/emotion/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
- package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
- package/emotion/es/components/Dropdown/Dropdown.js +6 -10
- package/emotion/es/components/Dropdown/Dropdown.styles.js +5 -8
- package/emotion/es/components/Dropdown/FloatingPopover.js +7 -5
- package/emotion/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
- package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
- package/emotion/es/components/Select/Select.js +4 -2
- package/emotion/es/components/Select/Select.styles.js +8 -8
- package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/emotion/es/components/Select/ui/Inner/Inner.js +11 -6
- package/es/components/Combobox/ComboboxNew/Combobox.css +6 -6
- package/es/components/Combobox/ComboboxNew/Combobox.js +22 -23
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.styles.js +3 -4
- package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/{Combobox.styles_isfa46.css → Combobox.styles_261unw.css} +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.tokens.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
- package/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +6 -6
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +12 -6
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
- package/es/components/Combobox/ComboboxOld/Combobox.css +2 -2
- package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +2 -2
- package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +2 -2
- package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +2 -2
- package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +2 -2
- package/es/components/Dropdown/Dropdown.css +2 -2
- package/es/components/Dropdown/Dropdown.js +6 -10
- package/es/components/Dropdown/Dropdown.js.map +1 -1
- package/es/components/Dropdown/Dropdown.styles.js +2 -9
- package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
- package/{cjs/components/Dropdown/Dropdown.styles_zheit5.css → es/components/Dropdown/Dropdown.styles_kkvnr1.css} +1 -1
- package/es/components/Dropdown/FloatingPopover.js +6 -5
- package/es/components/Dropdown/FloatingPopover.js.map +1 -1
- package/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
- package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.css +2 -2
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +10 -10
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
- package/es/components/Pagination/Pagination.css +2 -2
- package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
- package/es/components/Select/Select.css +2 -2
- package/es/components/Select/Select.js +4 -3
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Select/Select.styles.js +3 -4
- package/es/components/Select/Select.styles.js.map +1 -1
- package/es/components/Select/{Select.styles_bjoo18.css → Select.styles_dta4dl.css} +1 -1
- package/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
- package/es/components/Select/ui/Inner/Inner.css +2 -2
- package/es/components/Select/ui/Inner/Inner.js +12 -6
- package/es/components/Select/ui/Inner/Inner.js.map +1 -1
- package/es/components/Table/Table.css +2 -2
- package/es/components/Table/ui/Cell/Cell.css +2 -2
- package/es/components/Table/ui/EditableCell/EditableCell.css +2 -2
- package/es/components/Table/ui/HeadCell/HeadCell.css +2 -2
- package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
- package/es/index.css +10 -10
- package/package.json +2 -2
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +20 -22
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
- package/styled-components/cjs/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +50 -9
- package/styled-components/cjs/components/Dropdown/Dropdown.js +6 -10
- package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +3 -7
- package/styled-components/cjs/components/Dropdown/FloatingPopover.js +7 -5
- package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
- package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +48 -11
- package/styled-components/cjs/components/Select/Select.js +4 -2
- package/styled-components/cjs/components/Select/Select.styles.js +5 -5
- package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/styled-components/cjs/components/Select/ui/Inner/Inner.js +50 -9
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +20 -22
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +9 -9
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.tokens.js +1 -1
- package/styled-components/es/components/Combobox/ComboboxNew/hooks/useKeyboardNavigation.js +3 -7
- package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +11 -6
- package/styled-components/es/components/Dropdown/Dropdown.js +6 -10
- package/styled-components/es/components/Dropdown/Dropdown.styles.js +3 -7
- package/styled-components/es/components/Dropdown/FloatingPopover.js +7 -5
- package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +3 -7
- package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +9 -8
- package/styled-components/es/components/Select/Select.js +4 -2
- package/styled-components/es/components/Select/Select.styles.js +5 -5
- package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/styled-components/es/components/Select/ui/Inner/Inner.js +11 -6
- package/types/components/Autocomplete/Autocomplete.types.d.ts +6 -6
- package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +0 -1
- package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.tokens.d.ts +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +6 -6
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts +2 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts +6 -2
- package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.d.ts +2 -2
- package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.styles.d.ts +0 -1
- package/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.types.d.ts +5 -5
- package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
- package/types/components/Dropdown/FloatingPopover.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts +2 -3
- package/types/components/Dropdown/ui/DropdownInner/DropdownInner.type.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts +7 -3
- package/types/components/Dropdown/ui/DropdownItem/DropdownItem.type.d.ts.map +1 -1
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +6 -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.styles.d.ts +0 -1
- package/types/components/Select/Select.styles.d.ts.map +1 -1
- package/types/components/Select/Select.types.d.ts +10 -10
- package/types/components/Select/Select.types.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/Inner.type.d.ts +2 -1
- package/types/components/Select/ui/Inner/Inner.type.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +11 -3
- package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +6 -6
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
- package/types/examples/components/Autocomplete/Autocomplete.d.ts +40 -40
- package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/types/examples/components/Combobox/Combobox.d.ts +24 -24
- package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
- package/types/examples/components/Dropdown/Dropdown.d.ts +1 -1
- package/types/examples/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/examples/components/Select/Select.d.ts +6 -6
- package/types/examples/components/Select/Select.d.ts.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useReducer, useRef } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { pathReducer } from './reducers/pathReducer';\nimport { focusedPathReducer } from './reducers/focusedPathReducer';\nimport { DropdownInner } from './ui';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { Ul, base, ListWrapper } from './Dropdown.styles';\nimport { childrenWithProps, getItemByFocused, getItemId, getPlacement } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\nimport { FloatingPopover } from './FloatingPopover';\nimport { Context } from './Dropdown.context';\n\n/**\n * Выпадающий список.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, Omit<DropdownProps, 'items'>>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n items,\n children,\n placement,\n offset,\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listMaxHeight,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n openByRightClick = false,\n variant = 'normal',\n hasArrow = true,\n alwaysOpened = false,\n portal,\n renderItem,\n zIndex,\n beforeList,\n afterList,\n ...rest\n },\n ref,\n ) => {\n const initialPath = alwaysOpened ? ['root'] : [];\n\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const isCurrentListOpen = Boolean(path[0]);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n const treeId = safeUseId();\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>((event) => {\n if (!isCurrentListOpen || !closeOnOverlayClick || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false, event);\n }\n }, floatingPopoverRef);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (alwaysOpened || opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened, event);\n }\n };\n\n const onContextMenu = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n\n if (alwaysOpened) {\n return;\n }\n\n handleGlobalToggle(!isCurrentListOpen, e);\n },\n [handleGlobalToggle, isCurrentListOpen, alwaysOpened],\n );\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n });\n\n return (\n <Context.Provider\n value={{\n focusedPath,\n size,\n variant,\n itemRole,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemClick,\n onItemSelect,\n hasArrow,\n treeId,\n renderItem,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n placement={getPlacement(placement)}\n offset={offset}\n portal={portal}\n trigger={trigger}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': `${treeId}_tree_level_1`,\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue.toString())\n : '',\n onKeyDown,\n onContextMenu: openByRightClick ? onContextMenu : undefined,\n })}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n className={cx(className, classes.dropdownRoot)}\n ref={ref}\n view={view}\n size={size}\n style={{ display: 'inline-block' }}\n {...rest}\n >\n <ListWrapper listWidth={listWidth}>\n <Ul\n ref={targetRef}\n id={`${treeId}_tree_level_1`}\n role=\"tree\"\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n >\n {beforeList}\n\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n listWidth={listWidth}\n />\n ))}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","ref","_getItemByFocused","items","children","placement","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listMaxHeight","listWidth","listHeight","listOverflow","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$openByRightClick","openByRightClick","_ref$variant","variant","_ref$hasArrow","hasArrow","_ref$alwaysOpened","alwaysOpened","portal","renderItem","zIndex","beforeList","afterList","rest","_objectWithoutProperties","_excluded","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","isCurrentListOpen","Boolean","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","activeDescendantItemValue","getItemByFocused","value","floatingPopoverRef","useRef","treeId","safeUseId","targetRef","useOutsideClick","event","type","handleGlobalToggle","opened","onContextMenu","useCallback","e","preventDefault","_useKeyNavigation","useKeyNavigation","onKeyDown","React","createElement","Context","Provider","FloatingPopover","getPlacement","target","childrenWithProps","role","concat","getItemId","toString","undefined","isInner","_extends","cx","classes","style","display","ListWrapper","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useReducer, useRef } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { pathReducer } from './reducers/pathReducer';\nimport { focusedPathReducer } from './reducers/focusedPathReducer';\nimport { DropdownInner } from './ui';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { Ul, base, ListWrapper } from './Dropdown.styles';\nimport { childrenWithProps, getItemByFocused, getItemId, getPlacement } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\nimport { FloatingPopover } from './FloatingPopover';\nimport { Context } from './Dropdown.context';\n\n/**\n * Выпадающий список.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, Omit<DropdownProps, 'items'>>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n items,\n children,\n placement,\n offset,\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listMaxHeight,\n listWidth,\n listHeight,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n openByRightClick = false,\n variant = 'normal',\n hasArrow = true,\n alwaysOpened = false,\n portal,\n renderItem,\n zIndex,\n beforeList,\n afterList,\n ...rest\n },\n ref,\n ) => {\n const initialPath = alwaysOpened ? ['root'] : [];\n\n const [path, dispatchPath] = useReducer(pathReducer, initialPath);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const isCurrentListOpen = Boolean(path[0]);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const treeId = safeUseId();\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>((event) => {\n if (!isCurrentListOpen || !closeOnOverlayClick || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false, event);\n }\n }, floatingPopoverRef);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (alwaysOpened || opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened, event);\n }\n };\n\n const onContextMenu = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n\n if (alwaysOpened) {\n return;\n }\n\n handleGlobalToggle(!isCurrentListOpen, e);\n },\n [handleGlobalToggle, isCurrentListOpen, alwaysOpened],\n );\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n });\n\n return (\n <Context.Provider\n value={{\n focusedPath,\n size,\n variant,\n itemRole,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemClick,\n onItemSelect,\n hasArrow,\n treeId,\n renderItem,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n placement={getPlacement(placement)}\n offset={offset}\n portal={portal}\n trigger={trigger}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': `${treeId}_tree_level_1`,\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue.toString())\n : '',\n onKeyDown,\n onContextMenu: openByRightClick ? onContextMenu : undefined,\n })}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n className={cx(className, classes.dropdownRoot)}\n ref={ref}\n view={view}\n size={size}\n {...rest}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul\n ref={targetRef}\n id={`${treeId}_tree_level_1`}\n role=\"tree\"\n listMaxHeight={listMaxHeight || listHeight}\n >\n {beforeList}\n\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","ref","_getItemByFocused","items","children","placement","offset","_ref$closeOnOverlayCl","closeOnOverlayClick","onToggle","size","view","_ref$itemRole","itemRole","className","listMaxHeight","listWidth","listHeight","_ref$closeOnSelect","closeOnSelect","onHover","onItemSelect","onItemClick","_ref$trigger","trigger","_ref$openByRightClick","openByRightClick","_ref$variant","variant","_ref$hasArrow","hasArrow","_ref$alwaysOpened","alwaysOpened","portal","renderItem","zIndex","beforeList","afterList","rest","_objectWithoutProperties","_excluded","initialPath","_useReducer","useReducer","pathReducer","_useReducer2","_slicedToArray","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","isCurrentListOpen","Boolean","_useHashMaps","useHashMaps","_useHashMaps2","pathMap","focusedToValueMap","activeDescendantItemValue","getItemByFocused","value","floatingPopoverRef","useRef","listWrapperRef","treeId","safeUseId","targetRef","useOutsideClick","event","type","handleGlobalToggle","opened","onContextMenu","useCallback","e","preventDefault","_useKeyNavigation","useKeyNavigation","onKeyDown","React","createElement","Context","Provider","FloatingPopover","getPlacement","target","childrenWithProps","role","concat","getItemId","toString","undefined","isInner","_extends","cx","classes","ListWrapper","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import './Dropdown.
|
1
|
+
import './Dropdown.styles_kkvnr1.css';
|
2
2
|
import { styled } from '@linaria/react';
|
3
3
|
import { getCorrectHeight } from './utils/index.js';
|
4
4
|
import { tokens } from './Dropdown.tokens.js';
|
@@ -23,19 +23,12 @@ var _exp9 = function _exp9() {
|
|
23
23
|
return listMaxHeight ? getCorrectHeight(listMaxHeight) : 'auto';
|
24
24
|
};
|
25
25
|
};
|
26
|
-
var _exp10 = function _exp10() {
|
27
|
-
return function (_ref3) {
|
28
|
-
var listOverflow = _ref3.listOverflow;
|
29
|
-
return listOverflow || 'visible';
|
30
|
-
};
|
31
|
-
};
|
32
26
|
var Ul = /*#__PURE__*/styled('ul')({
|
33
27
|
name: "Ul",
|
34
28
|
"class": "ujr7fmv",
|
35
29
|
propsAsIs: false,
|
36
30
|
vars: {
|
37
|
-
"ujr7fmv-0": [/*#__PURE__*/_exp9()]
|
38
|
-
"ujr7fmv-1": [/*#__PURE__*/_exp10()]
|
31
|
+
"ujr7fmv-0": [/*#__PURE__*/_exp9()]
|
39
32
|
}
|
40
33
|
});
|
41
34
|
var base = "byfocd2";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Dropdown.styles.js","sources":["../../../src/components/Dropdown/Dropdown.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { getCorrectHeight } from './utils';\nimport { DropdownProps } from './Dropdown.types';\nimport { tokens, constants } from './Dropdown.tokens';\n\nexport const ListWrapper = styled.div<{\n listWidth?: DropdownProps['listWidth'];\n}>`\n width: ${({ listWidth }) => listWidth || `var(${tokens.width})`};\n padding: calc(var(${tokens.padding}) + var(${tokens.borderWidth}, 0rem));\n border-radius: var(${tokens.borderRadius});\n box-sizing: border-box;\n background: var(${constants.background});\n box-shadow: ${constants.boxShadow},\n inset 0 0 0 var(${tokens.borderWidth}, 0) var(${tokens.borderColor}, transparent);\n`;\n\nexport const Ul = styled.ul<{\n listMaxHeight: DropdownProps['listHeight'];\n
|
1
|
+
{"version":3,"file":"Dropdown.styles.js","sources":["../../../src/components/Dropdown/Dropdown.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\nimport { css } from '@linaria/core';\n\nimport { getCorrectHeight } from './utils';\nimport { DropdownProps } from './Dropdown.types';\nimport { tokens, constants } from './Dropdown.tokens';\n\nexport const ListWrapper = styled.div<{\n listWidth?: DropdownProps['listWidth'];\n}>`\n width: ${({ listWidth }) => listWidth || `var(${tokens.width})`};\n padding: calc(var(${tokens.padding}) + var(${tokens.borderWidth}, 0rem));\n border-radius: var(${tokens.borderRadius});\n box-sizing: border-box;\n background: var(${constants.background});\n box-shadow: ${constants.boxShadow},\n inset 0 0 0 var(${tokens.borderWidth}, 0) var(${tokens.borderColor}, transparent);\n`;\n\nexport const Ul = styled.ul<{\n listMaxHeight: DropdownProps['listHeight'];\n}>`\n max-height: ${({ listMaxHeight }) => (listMaxHeight ? getCorrectHeight(listMaxHeight) : 'auto')};\n overflow-x: hidden;\n overflow-y: auto;\n border-radius: calc(var(${tokens.borderRadius}) - 0.125rem - var(${tokens.borderWidth}, 0rem));\n margin: 0;\n padding: 0;\n`;\n\nexport const base = css``;\n"],"names":["_exp","_ref","listWidth","concat","tokens","width","ListWrapper","styled","name","class","propsAsIs","vars","_exp9","_ref2","listMaxHeight","getCorrectHeight","Ul","base"],"mappings":";;;;AAKsD,IAAAA,IAAA,GAJpCA,SAIoCA,IAAAA,GAAA;AAAA,EAAA,OAKzC,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,SAAAA,GAAAA,IAAAA,CAAAA,SAAAA,CAAAA;AAAAA,IAAAA,OAAgBA,SAAS,IAAAC,MAAAA,CAAAA,MAAA,CAAWC,MAAM,CAACC,KAAK,EAAG,GAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAH5D,IAAMC,WAAW,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAGpBX,IAAsD,EAAA,CAAA;AAAA,GAAA;AAAA,CAOlE,EAAA;AAAC,IAAAY,KAAA,GAhBgBA,SAgBhBA,KAAAA,GAAA;AAAA,EAAA,OAKgB,UAAAC,KAAA,EAAA;AAAA,IAAA,IAAGC,aAAAA,GAAAA,KAAAA,CAAAA,aAAAA,CAAAA;AAAAA,IAAAA,OAAqBA,aAAa,GAAGC,gBAAgB,CAACD,aAAa,CAAC,GAAG,MAAO,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAH5F,IAAME,EAAE,gBAAGT,MAAM,CAAA,IAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,IAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAAC,EAAAA,IAAA,EAAA;AAAA,IAAA,WAAA,EAAA,cAGNC,KAAiF,EAAA,CAAA;AAAA,GAAA;AAAA,CAMlG,EAAA;AAEM,IAAMK,IAAI,GAAQ;;;;"}
|
@@ -1,3 +1,3 @@
|
|
1
1
|
.ln7uamp{width:var(--ln7uamp-0);padding:calc(var(--plasma-dropdown-padding) + var(--plasma-dropdown-border-width,0rem));border-radius:var(--plasma-dropdown-border-radius);box-sizing:border-box;background:var(--surface-solid-card-brightness);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-dropdown-border-width,0) var(--plasma-dropdown-border-color,transparent);}
|
2
|
-
.ujr7fmv{max-height:var(--ujr7fmv-0);overflow-y:
|
2
|
+
.ujr7fmv{max-height:var(--ujr7fmv-0);overflow-x:hidden;overflow-y:auto;border-radius:calc(var(--plasma-dropdown-border-radius) - 0.125rem - var(--plasma-dropdown-border-width,0rem));margin:0;padding:0;}
|
3
3
|
|
@@ -45,15 +45,16 @@ var FloatingPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
45
45
|
open: 0,
|
46
46
|
close: 50
|
47
47
|
},
|
48
|
-
handleClose: safePolygon(
|
48
|
+
handleClose: safePolygon({
|
49
|
+
requireIntent: false
|
50
|
+
})
|
49
51
|
});
|
50
52
|
var click = useClick(context, {
|
51
53
|
stickIfOpen: false,
|
52
54
|
ignoreMouse: trigger === 'hover'
|
53
55
|
});
|
54
56
|
var _useInteractions = useInteractions([hover, click]),
|
55
|
-
getReferenceProps = _useInteractions.getReferenceProps
|
56
|
-
getFloatingProps = _useInteractions.getFloatingProps;
|
57
|
+
getReferenceProps = _useInteractions.getReferenceProps;
|
57
58
|
return /*#__PURE__*/React.createElement("div", {
|
58
59
|
ref: ref,
|
59
60
|
id: wrappedId,
|
@@ -63,12 +64,12 @@ var FloatingPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
63
64
|
}
|
64
65
|
}, /*#__PURE__*/React.createElement("div", _extends({
|
65
66
|
ref: refs.setReference
|
66
|
-
}, getReferenceProps()), target), opened && /*#__PURE__*/React.createElement(FloatingPortal, getFloatingPortalProps(portal, wrappedId), /*#__PURE__*/React.createElement("div",
|
67
|
+
}, getReferenceProps()), target), opened && /*#__PURE__*/React.createElement(FloatingPortal, getFloatingPortalProps(portal, wrappedId), /*#__PURE__*/React.createElement("div", {
|
67
68
|
ref: refs.setFloating,
|
68
69
|
style: _objectSpread2(_objectSpread2({}, floatingStyles), {}, {
|
69
70
|
zIndex: zIndex || 1000
|
70
71
|
})
|
71
|
-
},
|
72
|
+
}, children)));
|
72
73
|
});
|
73
74
|
// root - принимает ref контейнера портала.
|
74
75
|
// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FloatingPopover.js","sources":["../../../src/components/Dropdown/FloatingPopover.tsx"],"sourcesContent":["import {\n flip,\n shift,\n useFloating,\n FloatingPortal,\n offset as offsetMiddleware,\n autoPlacement,\n autoUpdate,\n useHover,\n useInteractions,\n safePolygon,\n useClick,\n} from '@floating-ui/react';\nimport React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { FloatingPopoverProps } from './Dropdown.types';\n\n// TODO: #2003\nconst LIST_PADDING = 2;\n\nconst FloatingPopover = forwardRef<HTMLDivElement, FloatingPopoverProps>(\n ({ target, children, opened, onToggle, placement, portal, offset = [0, 8], isInner, trigger, zIndex }, ref) => {\n const { refs, floatingStyles, context } = useFloating({\n whileElementsMounted(referenceEl, floatingEl, update) {\n return autoUpdate(referenceEl, floatingEl, update, {\n ancestorScroll: false,\n ancestorResize: false,\n layoutShift: false,\n });\n },\n placement: placement === 'auto' ? undefined : placement,\n open: opened,\n onOpenChange: onToggle,\n middleware: [\n placement === 'auto' && autoPlacement(),\n offsetMiddleware({\n mainAxis: isInner ? LIST_PADDING * 2 : offset[1],\n crossAxis: isInner ? -LIST_PADDING : offset[0],\n }),\n flip({ fallbackAxisSideDirection: 'end' }),\n shift(),\n ],\n });\n const wrappedId = safeUseId();\n\n const hover = useHover(context, {\n enabled: trigger === 'hover',\n delay: {\n open: 0,\n close: 50,\n },\n handleClose: safePolygon(),\n });\n const click = useClick(context, {\n stickIfOpen: false,\n ignoreMouse: trigger === 'hover',\n });\n\n const { getReferenceProps
|
1
|
+
{"version":3,"file":"FloatingPopover.js","sources":["../../../src/components/Dropdown/FloatingPopover.tsx"],"sourcesContent":["import {\n flip,\n shift,\n useFloating,\n FloatingPortal,\n offset as offsetMiddleware,\n autoPlacement,\n autoUpdate,\n useHover,\n useInteractions,\n safePolygon,\n useClick,\n} from '@floating-ui/react';\nimport React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { FloatingPopoverProps } from './Dropdown.types';\n\n// TODO: #2003\nconst LIST_PADDING = 2;\n\nconst FloatingPopover = forwardRef<HTMLDivElement, FloatingPopoverProps>(\n ({ target, children, opened, onToggle, placement, portal, offset = [0, 8], isInner, trigger, zIndex }, ref) => {\n const { refs, floatingStyles, context } = useFloating({\n whileElementsMounted(referenceEl, floatingEl, update) {\n return autoUpdate(referenceEl, floatingEl, update, {\n ancestorScroll: false,\n ancestorResize: false,\n layoutShift: false,\n });\n },\n placement: placement === 'auto' ? undefined : placement,\n open: opened,\n onOpenChange: onToggle,\n middleware: [\n placement === 'auto' && autoPlacement(),\n offsetMiddleware({\n mainAxis: isInner ? LIST_PADDING * 2 : offset[1],\n crossAxis: isInner ? -LIST_PADDING : offset[0],\n }),\n flip({ fallbackAxisSideDirection: 'end' }),\n shift(),\n ],\n });\n const wrappedId = safeUseId();\n\n const hover = useHover(context, {\n enabled: trigger === 'hover',\n delay: {\n open: 0,\n close: 50,\n },\n handleClose: safePolygon({\n requireIntent: false,\n }),\n });\n const click = useClick(context, {\n stickIfOpen: false,\n ignoreMouse: trigger === 'hover',\n });\n\n const { getReferenceProps } = useInteractions([hover, click]);\n\n return (\n <div\n ref={ref}\n id={wrappedId}\n style={{\n position: 'relative',\n display: isInner ? 'block' : 'inline-block',\n }}\n >\n <div ref={refs.setReference} {...getReferenceProps()}>\n {target}\n </div>\n\n {opened && (\n <FloatingPortal {...getFloatingPortalProps(portal, wrappedId)}>\n <div\n ref={refs.setFloating}\n style={{\n ...floatingStyles,\n zIndex: zIndex || 1000,\n }}\n >\n {children}\n </div>\n </FloatingPortal>\n )}\n </div>\n );\n },\n);\n\ntype FloatingPortalReturnedProps = {\n root?: React.RefObject<HTMLElement>;\n id?: string;\n};\n\n// root - принимает ref контейнера портала.\n// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\nconst getFloatingPortalProps = (\n portal: FloatingPopoverProps['portal'],\n wrappedId: string,\n): FloatingPortalReturnedProps => {\n if (!portal) {\n return { id: wrappedId };\n }\n\n if (typeof portal === 'string') {\n return { id: portal };\n }\n\n return { root: portal };\n};\n\nexport { FloatingPopover };\n"],"names":["LIST_PADDING","FloatingPopover","forwardRef","_ref","ref","target","children","opened","onToggle","placement","portal","_ref$offset","offset","isInner","trigger","zIndex","_useFloating","useFloating","whileElementsMounted","referenceEl","floatingEl","update","autoUpdate","ancestorScroll","ancestorResize","layoutShift","undefined","open","onOpenChange","middleware","autoPlacement","offsetMiddleware","mainAxis","crossAxis","flip","fallbackAxisSideDirection","shift","refs","floatingStyles","context","wrappedId","safeUseId","hover","useHover","enabled","delay","close","handleClose","safePolygon","requireIntent","click","useClick","stickIfOpen","ignoreMouse","_useInteractions","useInteractions","getReferenceProps","React","createElement","id","style","position","display","_extends","setReference","FloatingPortal","getFloatingPortalProps","setFloating","_objectSpread","root"],"mappings":"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"}
|
@@ -171,13 +171,9 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
|
|
171
171
|
case keys.Tab:
|
172
172
|
case keys.Escape:
|
173
173
|
{
|
174
|
-
|
175
|
-
|
176
|
-
}
|
177
|
-
dispatchPath({
|
178
|
-
type: 'reset'
|
179
|
-
});
|
180
|
-
handleGlobalToggle(false, event);
|
174
|
+
if (path[0]) {
|
175
|
+
handleGlobalToggle(false, event);
|
176
|
+
}
|
181
177
|
break;
|
182
178
|
}
|
183
179
|
case keys.Home:
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/Dropdown/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { KeyboardEvent } from 'react';\nimport type { Dispatch } from 'react';\n\nimport { PathAction, PathState } from '../reducers/pathReducer';\nimport { FocusedPathAction, FocusedPathState } from '../reducers/focusedPathReducer';\nimport { HandleGlobalToggleType, DropdownProps } from '../Dropdown.types';\n\nimport { PathMapType, FocusedToValueMapType } from './useHashMaps';\n\nconst JUMP_SIZE = 10;\n\nexport const keys = {\n Enter: 'Enter',\n Space: 'Space',\n Tab: 'Tab',\n Escape: 'Escape',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n Home: 'Home',\n End: 'End',\n PageUp: 'PageUp',\n PageDown: 'PageDown',\n};\n\nconst getFurtherPath = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ninterface Props {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleGlobalToggle: HandleGlobalToggleType;\n closeOnSelect: DropdownProps['closeOnSelect'];\n onItemSelect: DropdownProps['onItemSelect'];\n onItemClick: DropdownProps['onItemClick'];\n}\n\ninterface ReturnedProps {\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n}\n\nexport const useKeyNavigation = ({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n}: Props): ReturnedProps => {\n const currentIndex: number = focusedPath?.[focusedPath.length - 1] || 0;\n const currentLength: number = pathMap.get(path?.[focusedPath.length - 1]) || 0;\n\n const onKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n switch (event.code) {\n case keys.ArrowUp: {\n if (focusedPath.length) {\n if (currentIndex > 0) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.ArrowDown: {\n if (focusedPath.length) {\n if (currentIndex + 1 < currentLength) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.ArrowLeft: {\n if (focusedPath.length) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n } else {\n dispatchFocusedPath({ type: 'return_prev_focus' });\n }\n }\n\n if (path.length === 1) {\n handleGlobalToggle(false, event);\n }\n\n break;\n }\n\n case keys.ArrowRight: {\n if (!focusedPath.length) {\n break;\n }\n\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n }\n\n break;\n }\n\n case keys.Enter:\n case keys.Space: {\n event.preventDefault();\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n } else {\n if (closeOnSelect) {\n handleGlobalToggle(false, event);\n }\n\n if (onItemSelect && currentItem) {\n onItemSelect(currentItem, event);\n }\n\n if (onItemClick && currentItem) {\n onItemClick(currentItem, event);\n }\n }\n\n break;\n }\n\n case keys.Tab:\n case keys.Escape: {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n handleGlobalToggle(false, event);\n\n break;\n }\n\n case keys.Home: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.End: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'change_last_focus', value: (pathMap.get('root') || 0) - 1 });\n\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.PageUp: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - JUMP_SIZE });\n }\n\n break;\n }\n\n case keys.PageDown: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentLength - currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + JUMP_SIZE });\n }\n\n break;\n }\n\n default: {\n break;\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["JUMP_SIZE","keys","Enter","Space","Tab","Escape","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","getFurtherPath","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleGlobalToggle","closeOnSelect","onItemSelect","onItemClick","currentIndex","length","currentLength","onKeyDown","event","code","type","value","currentItem","disabled","isDisabled","items","toString","preventDefault"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/Dropdown/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { KeyboardEvent } from 'react';\nimport type { Dispatch } from 'react';\n\nimport { PathAction, PathState } from '../reducers/pathReducer';\nimport { FocusedPathAction, FocusedPathState } from '../reducers/focusedPathReducer';\nimport { HandleGlobalToggleType, DropdownProps } from '../Dropdown.types';\n\nimport { PathMapType, FocusedToValueMapType } from './useHashMaps';\n\nconst JUMP_SIZE = 10;\n\nexport const keys = {\n Enter: 'Enter',\n Space: 'Space',\n Tab: 'Tab',\n Escape: 'Escape',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n Home: 'Home',\n End: 'End',\n PageUp: 'PageUp',\n PageDown: 'PageDown',\n};\n\nconst getFurtherPath = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ninterface Props {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleGlobalToggle: HandleGlobalToggleType;\n closeOnSelect: DropdownProps['closeOnSelect'];\n onItemSelect: DropdownProps['onItemSelect'];\n onItemClick: DropdownProps['onItemClick'];\n}\n\ninterface ReturnedProps {\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n}\n\nexport const useKeyNavigation = ({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n}: Props): ReturnedProps => {\n const currentIndex: number = focusedPath?.[focusedPath.length - 1] || 0;\n const currentLength: number = pathMap.get(path?.[focusedPath.length - 1]) || 0;\n\n const onKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n switch (event.code) {\n case keys.ArrowUp: {\n if (focusedPath.length) {\n if (currentIndex > 0) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.ArrowDown: {\n if (focusedPath.length) {\n if (currentIndex + 1 < currentLength) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.ArrowLeft: {\n if (focusedPath.length) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n } else {\n dispatchFocusedPath({ type: 'return_prev_focus' });\n }\n }\n\n if (path.length === 1) {\n handleGlobalToggle(false, event);\n }\n\n break;\n }\n\n case keys.ArrowRight: {\n if (!focusedPath.length) {\n break;\n }\n\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n }\n\n break;\n }\n\n case keys.Enter:\n case keys.Space: {\n event.preventDefault();\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n } else {\n if (closeOnSelect) {\n handleGlobalToggle(false, event);\n }\n\n if (onItemSelect && currentItem) {\n onItemSelect(currentItem, event);\n }\n\n if (onItemClick && currentItem) {\n onItemClick(currentItem, event);\n }\n }\n\n break;\n }\n\n case keys.Tab:\n case keys.Escape: {\n if (path[0]) {\n handleGlobalToggle(false, event);\n }\n\n break;\n }\n\n case keys.Home: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.End: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'change_last_focus', value: (pathMap.get('root') || 0) - 1 });\n\n handleGlobalToggle(true, event);\n }\n\n break;\n }\n\n case keys.PageUp: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - JUMP_SIZE });\n }\n\n break;\n }\n\n case keys.PageDown: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentLength - currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + JUMP_SIZE });\n }\n\n break;\n }\n\n default: {\n break;\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["JUMP_SIZE","keys","Enter","Space","Tab","Escape","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","getFurtherPath","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleGlobalToggle","closeOnSelect","onItemSelect","onItemClick","currentIndex","length","currentLength","onKeyDown","event","code","type","value","currentItem","disabled","isDisabled","items","toString","preventDefault"],"mappings":"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"}
|
@@ -24,6 +24,6 @@
|
|
24
24
|
.DropdownItem_styles_1algi32_w1jav4ek__367ba473{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--w1jav4ek-0);min-height:var(--plasma-dropdown-item-height);margin:var(--plasma-dropdown-item-margin,0);box-sizing:content-box;padding:var(--w1jav4ek-1);font-family:var(--plasma-dropdown-item-font-family);font-size:var(--plasma-dropdown-item-font-size);font-style:var(--plasma-dropdown-item-font-style);font-weight:var(--plasma-dropdown-item-letter-spacing);-webkit-letter-spacing:var(--plasma-dropdown-item-line-height);-moz-letter-spacing:var(--plasma-dropdown-item-line-height);-ms-letter-spacing:var(--plasma-dropdown-item-line-height);letter-spacing:var(--plasma-dropdown-item-line-height);line-height:var(--plasma-dropdown-item-font-weight);background-color:var(--surface-clear);border-radius:var( --plasma-dropdown-item-border-radius, calc(var(--plasma-dropdown-border-radius) - 0.125rem - var(--plasma-dropdown-border-width,0rem)) );-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-clip:padding-box;position:relative;}.DropdownItem_styles_1algi32_w1jav4ek__367ba473:hover:not(.DropdownItem_styles_1algi32_dropdownItemIsDisabled__367ba473){cursor:pointer;background-color:var(--plasma-dropdown-item-background-hover);}.DropdownItem_styles_1algi32_w1jav4ek__367ba473.DropdownItem_styles_1algi32_dropdownItemIsActive__367ba473{background-color:var(--plasma-dropdown-item-background-hover);}.DropdownItem_styles_1algi32_w1jav4ek__367ba473.DropdownItem_styles_1algi32_dropdownItemIsDisabled__367ba473{opacity:0.4;cursor:not-allowed;}.DropdownItem_styles_1algi32_w1jav4ek__367ba473:focus{outline:none;}.DropdownItem_styles_1algi32_w1jav4ek__367ba473::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;display:block;box-sizing:content-box;border:0 solid transparent;border-radius:calc(var(--plasma-dropdown-border-radius) - 0.125rem - var(--plasma-dropdown-border-width,0rem));-webkit-transition:none;transition:none;pointer-events:none;}.DropdownItem_styles_1algi32_w1jav4ek__367ba473.DropdownItem_styles_1algi32_dropdownItemIsFocused__367ba473:before{outline:none;box-shadow:inset 0 0 0 0.0625rem var(--surface-accent);}
|
25
25
|
.DropdownItem_styles_1algi32_r1fqtjio__367ba473{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-flex:1;-ms-flex:1;flex:1;}
|
26
26
|
|
27
|
-
.
|
28
|
-
.
|
27
|
+
.Dropdown_styles_kkvnr1_ln7uamp__173ef985{width:var(--ln7uamp-0);padding:calc(var(--plasma-dropdown-padding) + var(--plasma-dropdown-border-width,0rem));border-radius:var(--plasma-dropdown-border-radius);box-sizing:border-box;background:var(--surface-solid-card-brightness);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-dropdown-border-width,0) var(--plasma-dropdown-border-color,transparent);}
|
28
|
+
.Dropdown_styles_kkvnr1_ujr7fmv__173ef985{max-height:var(--ujr7fmv-0);overflow-x:hidden;overflow-y:auto;border-radius:calc(var(--plasma-dropdown-border-radius) - 0.125rem - var(--plasma-dropdown-border-width,0rem));margin:0;padding:0;}
|
29
29
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import React from 'react';
|
1
|
+
import React, { useRef } from 'react';
|
2
2
|
import { DropdownItem } from '../DropdownItem/DropdownItem.js';
|
3
3
|
import { ListWrapper, Ul } from '../../Dropdown.styles.js';
|
4
4
|
import { FloatingPopover } from '../../FloatingPopover.js';
|
@@ -12,9 +12,8 @@ var DropdownInner = function DropdownInner(_ref) {
|
|
12
12
|
dispatchPath = _ref.dispatchPath,
|
13
13
|
index = _ref.index,
|
14
14
|
trigger = _ref.trigger,
|
15
|
-
|
16
|
-
|
17
|
-
listWidth = _ref.listWidth;
|
15
|
+
listWidth = _ref.listWidth,
|
16
|
+
portal = _ref.portal;
|
18
17
|
var handleToggle = function handleToggle(opened) {
|
19
18
|
if (opened) {
|
20
19
|
dispatchPath({
|
@@ -29,6 +28,7 @@ var DropdownInner = function DropdownInner(_ref) {
|
|
29
28
|
});
|
30
29
|
}
|
31
30
|
};
|
31
|
+
var listWrapperRef = useRef(null);
|
32
32
|
var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
|
33
33
|
var treeId = safeUseId();
|
34
34
|
var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
|
@@ -49,14 +49,15 @@ var DropdownInner = function DropdownInner(_ref) {
|
|
49
49
|
ariaLevel: nextLevel,
|
50
50
|
ariaLabel: item.label
|
51
51
|
}),
|
52
|
-
isInner: true
|
52
|
+
isInner: true,
|
53
|
+
portal: portal
|
53
54
|
}, /*#__PURE__*/React.createElement(ListWrapper, {
|
55
|
+
ref: listWrapperRef,
|
54
56
|
listWidth: listWidth
|
55
57
|
}, /*#__PURE__*/React.createElement(Ul, {
|
56
58
|
id: listId,
|
57
59
|
role: "group",
|
58
|
-
listMaxHeight: listMaxHeight
|
59
|
-
listOverflow: listOverflow
|
60
|
+
listMaxHeight: item.listMaxHeight
|
60
61
|
}, item.items.map(function (innerItem, innerIndex) {
|
61
62
|
return /*#__PURE__*/React.createElement(DropdownInner, {
|
62
63
|
key: "".concat(innerIndex, "/").concat(currentLevel),
|
@@ -66,9 +67,8 @@ var DropdownInner = function DropdownInner(_ref) {
|
|
66
67
|
dispatchPath: dispatchPath,
|
67
68
|
index: innerIndex,
|
68
69
|
trigger: trigger,
|
69
|
-
|
70
|
-
|
71
|
-
listWidth: listWidth
|
70
|
+
listWidth: listWidth,
|
71
|
+
portal: listWrapperRef
|
72
72
|
});
|
73
73
|
}))));
|
74
74
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownInner.js","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { DropdownItem } from '../DropdownItem/DropdownItem';\nimport { Ul, ListWrapper } from '../../Dropdown.styles';\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { getPlacement } from '../../utils';\n\nimport { DropdownInnerProps } from './DropdownInner.type';\n\nconst DropdownInner: FC<DropdownInnerProps> = ({\n item,\n currentLevel,\n path,\n dispatchPath,\n index,\n trigger,\n
|
1
|
+
{"version":3,"file":"DropdownInner.js","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { DropdownItem } from '../DropdownItem/DropdownItem';\nimport { Ul, ListWrapper } from '../../Dropdown.styles';\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { getPlacement } from '../../utils';\n\nimport { DropdownInnerProps } from './DropdownInner.type';\n\nconst DropdownInner: FC<DropdownInnerProps> = ({\n item,\n currentLevel,\n path,\n dispatchPath,\n index,\n trigger,\n listWidth,\n portal,\n}) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const listWrapperRef = useRef<HTMLDivElement>(null);\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (item?.items) {\n return (\n <FloatingPopover\n placement={getPlacement(item?.placement || 'right')}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n trigger={item.trigger || trigger}\n target={\n <DropdownItem\n item={item}\n index={index}\n path={path}\n currentLevel={currentLevel}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n portal={portal}\n >\n <ListWrapper ref={listWrapperRef} listWidth={listWidth}>\n <Ul id={listId} role=\"group\" listMaxHeight={item.listMaxHeight}>\n {item.items.map((innerItem, innerIndex) => (\n <DropdownInner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n trigger={trigger}\n listWidth={listWidth}\n portal={listWrapperRef}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <DropdownItem item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n\nexport { DropdownInner };\n"],"names":["DropdownInner","_ref","item","currentLevel","path","dispatchPath","index","trigger","listWidth","portal","handleToggle","opened","type","value","toString","level","listWrapperRef","useRef","isCurrentListOpen","treeId","safeUseId","listId","concat","nextLevel","items","React","createElement","FloatingPopover","placement","getPlacement","onToggle","target","DropdownItem","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","ref","Ul","id","role","listMaxHeight","map","innerItem","innerIndex","key"],"mappings":"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"}
|
@@ -195,8 +195,8 @@
|
|
195
195
|
.SelectAll_styles_ql2mqj_d19w91z6__b71a8639{background:var(--surface-solid-card);}
|
196
196
|
.SelectAll_styles_ql2mqj_d1nbef5q__b71a8639{height:0.0625rem;margin-top:var(--d1nbef5q-0);margin-right:var(--plasma-select-divider-margin-right);margin-left:var(--plasma-select-divider-margin-left);background:var(--plasma-select-divider-color);}
|
197
197
|
|
198
|
-
.
|
199
|
-
.
|
198
|
+
.Select_styles_dta4dl_lpxbau6__559b5dde{width:var(--lpxbau6-0);padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
|
199
|
+
.Select_styles_dta4dl_u1yey2x3__559b5dde{max-height:var(--u1yey2x3-0);overflow-x:hidden;overflow-y:var(--u1yey2x3-1);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}
|
200
200
|
|
201
201
|
|
202
202
|
.SelectNative_styles_1r538h6_satm3n2__407ae55b{visibility:hidden;width:0;height:0;opacity:0;margin:0;padding:0;border:none;}
|
@@ -163,8 +163,8 @@
|
|
163
163
|
.SelectAll_styles_ql2mqj_d19w91z6__b71a8639{background:var(--surface-solid-card);}
|
164
164
|
.SelectAll_styles_ql2mqj_d1nbef5q__b71a8639{height:0.0625rem;margin-top:var(--d1nbef5q-0);margin-right:var(--plasma-select-divider-margin-right);margin-left:var(--plasma-select-divider-margin-left);background:var(--plasma-select-divider-color);}
|
165
165
|
|
166
|
-
.
|
167
|
-
.
|
166
|
+
.Select_styles_dta4dl_lpxbau6__559b5dde{width:var(--lpxbau6-0);padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
|
167
|
+
.Select_styles_dta4dl_u1yey2x3__559b5dde{max-height:var(--u1yey2x3-0);overflow-x:hidden;overflow-y:var(--u1yey2x3-1);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}
|
168
168
|
|
169
169
|
|
170
170
|
.SelectNative_styles_1r538h6_satm3n2__407ae55b{visibility:hidden;width:0;height:0;opacity:0;margin:0;padding:0;border:none;}
|
@@ -163,8 +163,8 @@
|
|
163
163
|
.SelectAll_styles_ql2mqj_d19w91z6__b71a8639{background:var(--surface-solid-card);}
|
164
164
|
.SelectAll_styles_ql2mqj_d1nbef5q__b71a8639{height:0.0625rem;margin-top:var(--d1nbef5q-0);margin-right:var(--plasma-select-divider-margin-right);margin-left:var(--plasma-select-divider-margin-left);background:var(--plasma-select-divider-color);}
|
165
165
|
|
166
|
-
.
|
167
|
-
.
|
166
|
+
.Select_styles_dta4dl_lpxbau6__559b5dde{width:var(--lpxbau6-0);padding:calc(var(--plasma-select-padding) + var(--plasma-select-dropdown-border-width,0rem));border-radius:var(--plasma-select-border-radius);box-sizing:border-box;background:var(--surface-solid-card);box-shadow:0px 4px 14px -4px rgba(8,8,8,0.08),0px 1px 4px -1px rgba(0,0,0,0.04), inset 0 0 0 var(--plasma-select-dropdown-border-width,0rem) var(--plasma-select-dropdown-border-color,transparent);}
|
167
|
+
.Select_styles_dta4dl_u1yey2x3__559b5dde{max-height:var(--u1yey2x3-0);overflow-x:hidden;overflow-y:var(--u1yey2x3-1);border-radius:calc(var(--plasma-select-border-radius) - 0.125rem - var(--plasma-select-dropdown-border-width,0rem));margin:0;padding:0;}
|
168
168
|
|
169
169
|
|
170
170
|
.SelectNative_styles_1r538h6_satm3n2__407ae55b{visibility:hidden;width:0;height:0;opacity:0;margin:0;padding:0;border:none;}
|
@@ -46,7 +46,6 @@ var selectRoot = function selectRoot(Root) {
|
|
46
46
|
readOnly = _props$readOnly === void 0 ? false : _props$readOnly,
|
47
47
|
outerView = props.view,
|
48
48
|
size = props.size,
|
49
|
-
listOverflow = props.listOverflow,
|
50
49
|
listHeight = props.listHeight,
|
51
50
|
listMaxHeight = props.listMaxHeight,
|
52
51
|
listWidth = props.listWidth,
|
@@ -122,6 +121,7 @@ var selectRoot = function selectRoot(Root) {
|
|
122
121
|
var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value.toString()) || '';
|
123
122
|
var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !props.multiselect;
|
124
123
|
var treeId = safeUseId();
|
124
|
+
var listWrapperRef = useRef(null);
|
125
125
|
var view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);
|
126
126
|
|
127
127
|
// Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.
|
@@ -410,12 +410,12 @@ var selectRoot = function selectRoot(Root) {
|
|
410
410
|
disabled: disabled,
|
411
411
|
readOnly: readOnly
|
412
412
|
}, rest), /*#__PURE__*/React.createElement(ListWrapper, {
|
413
|
+
ref: listWrapperRef,
|
413
414
|
listWidth: listWidth
|
414
415
|
}, /*#__PURE__*/React.createElement(Ul, {
|
415
416
|
role: "tree",
|
416
417
|
id: "".concat(treeId, "_tree_level_1"),
|
417
418
|
"aria-multiselectable": Boolean(props.multiselect),
|
418
|
-
listOverflow: listOverflow,
|
419
419
|
listMaxHeight: listMaxHeight || listHeight,
|
420
420
|
onScroll: virtual ? undefined : handleScroll,
|
421
421
|
ref: targetRef,
|
@@ -438,7 +438,8 @@ var selectRoot = function selectRoot(Root) {
|
|
438
438
|
path: path,
|
439
439
|
dispatchPath: dispatchPath,
|
440
440
|
index: index,
|
441
|
-
listWidth: listWidth
|
441
|
+
listWidth: listWidth,
|
442
|
+
portal: listWrapperRef
|
442
443
|
});
|
443
444
|
}), afterList))))));
|
444
445
|
});
|