@hh.ru/magritte-ui-tree-selector 4.1.0 → 4.2.1

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/Item.js CHANGED
@@ -10,7 +10,7 @@ import '@hh.ru/magritte-ui-checkbox-radio';
10
10
  import './TreeSelectorItemBase.js';
11
11
  import '@hh.ru/magritte-ui-cell';
12
12
  import '@hh.ru/magritte-ui-typography';
13
- import './tree-selector-item-JlIDTcin.js';
13
+ import './tree-selector-item-B2dSIMX8.js';
14
14
 
15
15
  const ONE_BOX_MARGIN = 36;
16
16
  const getMargin = (allBoxesCount, hasShift, hasIndent) => {
package/ItemContent.js CHANGED
@@ -7,7 +7,7 @@ import { DotFilledSize24, ChevronRightOutlinedSize24 } from '@hh.ru/magritte-ui-
7
7
  import { Action } from './Action.js';
8
8
  import { TreeSelectorItemBase } from './TreeSelectorItemBase.js';
9
9
  import { Text } from '@hh.ru/magritte-ui-typography';
10
- import { s as styles } from './tree-selector-item-JlIDTcin.js';
10
+ import { s as styles } from './tree-selector-item-B2dSIMX8.js';
11
11
  import '@hh.ru/magritte-ui-checkbox-radio';
12
12
  import '@hh.ru/magritte-ui-cell';
13
13
 
package/ItemsList.js CHANGED
@@ -3,7 +3,7 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { useRef, useMemo, useCallback, useEffect } from 'react';
4
4
  import { useVirtualizer } from '@tanstack/react-virtual';
5
5
  import { Item } from './Item.js';
6
- import { s as styles } from './tree-selector-item-JlIDTcin.js';
6
+ import { s as styles } from './tree-selector-item-B2dSIMX8.js';
7
7
  import 'classnames';
8
8
  import './ItemContent.js';
9
9
  import '@hh.ru/magritte-common-keyboard';
@@ -9,7 +9,7 @@ import { Action } from './Action.js';
9
9
  import { MobileDelimiter } from './MobileDelimiter.js';
10
10
  import { MobileItem } from './MobileItem.js';
11
11
  import { MobileParentItem } from './MobileParentItem.js';
12
- import { s as styles } from './tree-selector-item-JlIDTcin.js';
12
+ import { s as styles } from './tree-selector-item-B2dSIMX8.js';
13
13
  import '@hh.ru/magritte-ui-checkbox-radio';
14
14
  import '@hh.ru/magritte-ui-card';
15
15
  import '@hh.ru/magritte-ui-typography';
package/TreeSelector.js CHANGED
@@ -19,7 +19,7 @@ import '@hh.ru/magritte-ui-checkbox-radio';
19
19
  import './TreeSelectorItemBase.js';
20
20
  import '@hh.ru/magritte-ui-cell';
21
21
  import '@hh.ru/magritte-ui-typography';
22
- import './tree-selector-item-JlIDTcin.js';
22
+ import './tree-selector-item-B2dSIMX8.js';
23
23
  import './MobileItemsList.js';
24
24
  import '@hh.ru/magritte-ui-checkable-card/CheckableCardElement';
25
25
  import './MobileDelimiter.js';
@@ -31,8 +31,6 @@ import './TreeSelectorWrapper.js';
31
31
  import '@hh.ru/magritte-common-resize';
32
32
  import '@hh.ru/magritte-common-use-multiple-refs';
33
33
  import '@hh.ru/magritte-internal-custom-scroll';
34
- import '@hh.ru/magritte-ui-bottom-sheet';
35
- import '@hh.ru/magritte-ui-modal';
36
34
  import './collection/treeCollectionHelper.js';
37
35
  import './collection/treeCollection.js';
38
36
  import './useExpanded.js';
@@ -1 +1 @@
1
- {"version":3,"file":"TreeSelector.js","sources":["../src/TreeSelector.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef, ReactElement, useMemo } from 'react';\n\nimport { TreeSelectorDummy } from '@hh.ru/magritte-ui-tree-selector/TreeSelectorDummy';\nimport { AdditionalDefault } from '@hh.ru/magritte-ui-tree-selector/collection/types';\nimport ImmutableSelectionStrategy from '@hh.ru/magritte-ui-tree-selector/strategy/immutableSelectionStrategy';\nimport { TreeSelectorProps, ListControls } from '@hh.ru/magritte-ui-tree-selector/types';\nimport { useDisabled } from '@hh.ru/magritte-ui-tree-selector/useDisabled';\nimport { useSelected } from '@hh.ru/magritte-ui-tree-selector/useSelected';\n\nconst TreeSelectorComponent = <Additional extends AdditionalDefault>(\n props: TreeSelectorProps<Additional>,\n ref: ForwardedRef<ListControls>\n): ReactElement => {\n const {\n value,\n collection,\n singleChoice,\n leavesOnly,\n collapseToParentId,\n checkSelectable,\n onChange,\n disabled,\n maxSelected,\n ...rest\n } = props;\n const strategy = useMemo(\n () =>\n new ImmutableSelectionStrategy(collection, {\n singleChoice,\n leavesOnly,\n checkSelectable,\n }),\n [collection, singleChoice, leavesOnly, checkSelectable]\n );\n\n if (maxSelected && !collapseToParentId && !leavesOnly) {\n throw new Error(\n `Magritte component TreeSelector: maxSelected can be used only with collapseToParentId or leavesOnly`\n );\n }\n\n const { selected, setSelected } = useSelected({\n value,\n strategy,\n collection,\n onChange,\n maxSelected,\n collapseToParentId,\n });\n\n const currentDisabled = useDisabled({ selected, disabled, collection, maxSelected });\n\n return (\n <TreeSelectorDummy\n {...rest}\n value={selected}\n disabled={currentDisabled}\n collection={collection}\n singleChoice={singleChoice}\n leavesOnly={leavesOnly}\n checkSelectable={checkSelectable}\n onChange={setSelected}\n ref={ref}\n />\n );\n};\n\nexport const TreeSelector = forwardRef(TreeSelectorComponent) as <Additional extends AdditionalDefault>(\n props: TreeSelectorProps<Additional> & { ref?: ForwardedRef<ListControls> }\n) => ReactElement;\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,qBAAqB,GAAG,CAC1B,KAAoC,EACpC,GAA+B,KACjB;IACd,MAAM,EACF,KAAK,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,GAAG,IAAI,EACV,GAAG,KAAK,CAAC;IACV,MAAM,QAAQ,GAAG,OAAO,CACpB,MACI,IAAI,0BAA0B,CAAC,UAAU,EAAE;QACvC,YAAY;QACZ,UAAU;QACV,eAAe;KAClB,CAAC,EACN,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,CAAC,CAC1D,CAAC;AAEF,IAAA,IAAI,WAAW,IAAI,CAAC,kBAAkB,IAAI,CAAC,UAAU,EAAE;AACnD,QAAA,MAAM,IAAI,KAAK,CACX,CAAA,mGAAA,CAAqG,CACxG,CAAC;AACL,KAAA;AAED,IAAA,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;QAC1C,KAAK;QACL,QAAQ;QACR,UAAU;QACV,QAAQ;QACR,WAAW;QACX,kBAAkB;AACrB,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,eAAe,GAAG,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;AAErF,IAAA,QACIA,GAAC,CAAA,iBAAiB,EACV,EAAA,GAAA,IAAI,EACR,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,WAAW,EACrB,GAAG,EAAE,GAAG,EAAA,CACV,EACJ;AACN,CAAC,CAAC;MAEW,YAAY,GAAG,UAAU,CAAC,qBAAqB;;;;"}
1
+ {"version":3,"file":"TreeSelector.js","sources":["../src/TreeSelector.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef, ReactElement, useMemo } from 'react';\n\nimport { TreeSelectorDummy } from '@hh.ru/magritte-ui-tree-selector/TreeSelectorDummy';\nimport { AdditionalDefault } from '@hh.ru/magritte-ui-tree-selector/collection/types';\nimport ImmutableSelectionStrategy from '@hh.ru/magritte-ui-tree-selector/strategy/immutableSelectionStrategy';\nimport { TreeSelectorProps, ListControls } from '@hh.ru/magritte-ui-tree-selector/types';\nimport { useDisabled } from '@hh.ru/magritte-ui-tree-selector/useDisabled';\nimport { useSelected } from '@hh.ru/magritte-ui-tree-selector/useSelected';\n\nconst TreeSelectorComponent = <Additional extends AdditionalDefault>(\n props: TreeSelectorProps<Additional>,\n ref: ForwardedRef<ListControls>\n): ReactElement => {\n const {\n value,\n collection,\n singleChoice,\n leavesOnly,\n collapseToParentId,\n checkSelectable,\n onChange,\n disabled,\n maxSelected,\n ...rest\n } = props;\n const strategy = useMemo(\n () =>\n new ImmutableSelectionStrategy(collection, {\n singleChoice,\n leavesOnly,\n checkSelectable,\n }),\n [collection, singleChoice, leavesOnly, checkSelectable]\n );\n\n if (maxSelected && !collapseToParentId && !leavesOnly) {\n throw new Error(\n `Magritte component TreeSelector: maxSelected can be used only with collapseToParentId or leavesOnly`\n );\n }\n\n const { selected, setSelected } = useSelected({\n value,\n strategy,\n collection,\n onChange,\n maxSelected,\n collapseToParentId,\n });\n\n const currentDisabled = useDisabled({ selected, disabled, collection, maxSelected });\n\n return (\n <TreeSelectorDummy\n {...rest}\n value={selected}\n disabled={currentDisabled}\n collection={collection}\n singleChoice={singleChoice}\n leavesOnly={leavesOnly}\n checkSelectable={checkSelectable}\n onChange={setSelected}\n ref={ref}\n />\n );\n};\n\nexport const TreeSelector = forwardRef(TreeSelectorComponent) as <Additional extends AdditionalDefault>(\n props: TreeSelectorProps<Additional> & { ref?: ForwardedRef<ListControls> }\n) => ReactElement;\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,qBAAqB,GAAG,CAC1B,KAAoC,EACpC,GAA+B,KACjB;IACd,MAAM,EACF,KAAK,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,GAAG,IAAI,EACV,GAAG,KAAK,CAAC;IACV,MAAM,QAAQ,GAAG,OAAO,CACpB,MACI,IAAI,0BAA0B,CAAC,UAAU,EAAE;QACvC,YAAY;QACZ,UAAU;QACV,eAAe;KAClB,CAAC,EACN,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,CAAC,CAC1D,CAAC;AAEF,IAAA,IAAI,WAAW,IAAI,CAAC,kBAAkB,IAAI,CAAC,UAAU,EAAE;AACnD,QAAA,MAAM,IAAI,KAAK,CACX,CAAA,mGAAA,CAAqG,CACxG,CAAC;AACL,KAAA;AAED,IAAA,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;QAC1C,KAAK;QACL,QAAQ;QACR,UAAU;QACV,QAAQ;QACR,WAAW;QACX,kBAAkB;AACrB,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,eAAe,GAAG,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;AAErF,IAAA,QACIA,GAAC,CAAA,iBAAiB,EACV,EAAA,GAAA,IAAI,EACR,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,WAAW,EACrB,GAAG,EAAE,GAAG,EAAA,CACV,EACJ;AACN,CAAC,CAAC;MAEW,YAAY,GAAG,UAAU,CAAC,qBAAqB;;;;"}
@@ -21,7 +21,7 @@ import '@hh.ru/magritte-ui-checkbox-radio';
21
21
  import './TreeSelectorItemBase.js';
22
22
  import '@hh.ru/magritte-ui-cell';
23
23
  import '@hh.ru/magritte-ui-typography';
24
- import './tree-selector-item-JlIDTcin.js';
24
+ import './tree-selector-item-B2dSIMX8.js';
25
25
  import '@hh.ru/magritte-ui-checkable-card/CheckableCardElement';
26
26
  import './MobileDelimiter.js';
27
27
  import '@hh.ru/magritte-ui-card';
@@ -31,8 +31,6 @@ import '@hh.ru/magritte-ui-badge';
31
31
  import '@hh.ru/magritte-common-resize';
32
32
  import '@hh.ru/magritte-common-use-multiple-refs';
33
33
  import '@hh.ru/magritte-internal-custom-scroll';
34
- import '@hh.ru/magritte-ui-bottom-sheet';
35
- import '@hh.ru/magritte-ui-modal';
36
34
  import './collection/treeCollection.js';
37
35
  import '@hh.ru/magritte-common-func-utils';
38
36
  import '@hh.ru/magritte-ui-input';
@@ -136,7 +134,7 @@ const TreeSelectorDummyComponent = ({ collection: initialCollection, checkSelect
136
134
  ]);
137
135
  const renderTreeSelector = useCallback(() => {
138
136
  const hasModels = collection.getTopLevel().length;
139
- return (jsx(TreeSelectorWrapper, { ref: treeRefCallback, children: hasModels ? (jsx(Fragment, { children: isMobile ? (jsx(MobileItemsList, { getMobileSearchItemOrder: getMobileSearchItemOrder || getSearchItemOrderDefault, collection: collection, selected: selected, disabled: disabled, onChange: onChange, leavesOnly: leavesOnly, checkSelectable: checkSelectable, singleChoice: singleChoice, ref: ref, setInputValue: setInputValue, renderItem: renderItem, renderMobileDelimiter: renderMobileDelimiter, handleChangeInput: handleChangeInput, contentFilterQuery: contentFilterQuery.trim(), onMobileNavigationChange: onMobileNavigationChange, isSearch: isSearch, getSelectAllParentTrl: getSelectAllParentTrl, renderContentBefore: renderContentBefore })) : (jsx(ItemsList, { collection: collection, leavesOnly: leavesOnly, checkSelectable: checkSelectable, expanded: currentExpanded, onExpansion: handleExpansion, selected: selected, onChange: onChange, disabled: disabled, singleChoice: singleChoice, indeterminate: indeterminate, isSearch: isSearch, renderItemForDesktop: renderItemForDesktop, renderContentBefore: renderContentBefore })) })) : (jsx(Fragment, { children: contentNotFound })) }));
137
+ return (jsx(TreeSelectorWrapper, { forwardRef: treeRefCallback, children: hasModels ? (jsx(Fragment, { children: isMobile ? (jsx(MobileItemsList, { getMobileSearchItemOrder: getMobileSearchItemOrder || getSearchItemOrderDefault, collection: collection, selected: selected, disabled: disabled, onChange: onChange, leavesOnly: leavesOnly, checkSelectable: checkSelectable, singleChoice: singleChoice, ref: ref, setInputValue: setInputValue, renderItem: renderItem, renderMobileDelimiter: renderMobileDelimiter, handleChangeInput: handleChangeInput, contentFilterQuery: contentFilterQuery.trim(), onMobileNavigationChange: onMobileNavigationChange, isSearch: isSearch, getSelectAllParentTrl: getSelectAllParentTrl, renderContentBefore: renderContentBefore })) : (jsx(ItemsList, { collection: collection, leavesOnly: leavesOnly, checkSelectable: checkSelectable, expanded: currentExpanded, onExpansion: handleExpansion, selected: selected, onChange: onChange, disabled: disabled, singleChoice: singleChoice, indeterminate: indeterminate, isSearch: isSearch, renderItemForDesktop: renderItemForDesktop, renderContentBefore: renderContentBefore })) })) : (jsx(Fragment, { children: contentNotFound })) }));
140
138
  }, [
141
139
  collection,
142
140
  treeRefCallback,
@@ -1 +1 @@
1
- {"version":3,"file":"TreeSelectorDummy.js","sources":["../src/TreeSelectorDummy.tsx"],"sourcesContent":["import { ReactElement, forwardRef, ForwardedRef, useCallback, useEffect, useRef, useState, RefCallback } from 'react';\n\nimport { match } from '@hh.ru/magritte-common-fuzzy-search';\nimport { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';\nimport { ItemsList } from '@hh.ru/magritte-ui-tree-selector/ItemsList';\nimport { MobileItemsList } from '@hh.ru/magritte-ui-tree-selector/MobileItemsList';\nimport { TreeSelectorWrapper } from '@hh.ru/magritte-ui-tree-selector/TreeSelectorWrapper';\nimport { filterWithParents } from '@hh.ru/magritte-ui-tree-selector/collection/treeCollectionHelper';\nimport { AdditionalDefault, TreeModel } from '@hh.ru/magritte-ui-tree-selector/collection/types';\nimport { ListControls, TreeSelectorDummyProps } from '@hh.ru/magritte-ui-tree-selector/types';\nimport { useExpanded } from '@hh.ru/magritte-ui-tree-selector/useExpanded';\nimport { useIndeterminate } from '@hh.ru/magritte-ui-tree-selector/useIndeterminate';\nimport { useRenderInput } from '@hh.ru/magritte-ui-tree-selector/useRenderInput';\n\nconst defaultCheckSelectable = () => true;\nconst defaultArray: string[] = [];\n\nconst needToApply = (query: string): boolean => {\n return !!(query && query.length);\n};\n\nexport const TreeSelectorDummyComponent = <Additional extends AdditionalDefault>(\n {\n collection: initialCollection,\n checkSelectable = defaultCheckSelectable,\n initialExpanded = defaultArray,\n value: selected,\n leavesOnly,\n singleChoice,\n disabled = defaultArray,\n treeFilter = filterWithParents,\n suggestedNotFound = defaultArray,\n constantlySuggested = defaultArray,\n renderItemForDesktop,\n renderItem,\n renderMobileDelimiter,\n onExpand,\n onChange,\n onChangeFilterQuery,\n contentNotFound,\n onMobileNavigationChange,\n getMobileSearchItemOrder,\n expandTreeOnSelected = true,\n getSelectAllParentTrl,\n renderContentBefore,\n children,\n }: TreeSelectorDummyProps<Additional>,\n ref: ForwardedRef<ListControls>\n): ReactElement => {\n const [collection, setCollection] = useState(initialCollection);\n const [isSearch, setIsSearch] = useState(false);\n const currentQuery = useRef('');\n const inputRef = useRef<HTMLInputElement>(null);\n const suggestedNotFoundModels = useRef(initialCollection.getExistModels(suggestedNotFound));\n const constantlySuggestedModels = useRef(initialCollection.getExistModels(constantlySuggested));\n const getSearchItemOrderDefault = useCallback(\n (model: TreeModel<Additional>) => {\n return initialCollection.getModelLevel(model.id);\n },\n [initialCollection]\n );\n\n const { indeterminate } = useIndeterminate({ collection: initialCollection, selected });\n\n const {\n expanded: currentExpanded,\n setExpanded,\n handleExpansion,\n handleResetExpanded,\n } = useExpanded({\n initialValue: initialExpanded?.slice(),\n selected,\n expandTreeOnSelected,\n collection: initialCollection,\n onExpand,\n });\n const { isMobile } = useBreakpoint();\n\n const { contentFilterQuery, setInputValue, handleChangeInput, renderInput } = useRenderInput(inputRef);\n\n const treeRefCallback: RefCallback<HTMLDivElement> = useCallback(\n (node) => {\n if (!node) {\n handleResetExpanded();\n }\n },\n [handleResetExpanded]\n );\n\n useEffect(() => {\n const contentFilterQueryTrimmed = contentFilterQuery.trim();\n const queryWasChanged = contentFilterQueryTrimmed !== currentQuery.current.trim();\n\n if (queryWasChanged && needToApply(contentFilterQueryTrimmed)) {\n const newExpanded: string[] = [];\n const newCollection = treeFilter(\n initialCollection,\n (item) => match(contentFilterQueryTrimmed, item.text),\n isMobile\n );\n newCollection.toList().forEach((item) => {\n if (newCollection.hasChildren(item.id)) {\n // Если есть в отфильтрованной коллекции есть дочерние элементы,\n // значит они заматчились, и нужно открыть родителя.\n newExpanded.push(item.id);\n } else {\n // Если заматчился только сам родитель, показываем его\n // схлопнутым => нужно добавить его ветку в коллекцию.\n initialCollection.walkChildren(item.id, (child, parents) => {\n newCollection.addModel({ ...child }, parents[0].id);\n });\n }\n });\n\n const filteredIds = newCollection.toList().map((model) => model.id);\n\n // Если в отфильтрованной коллекции нет моделей, но заданы предложенные,\n // то показываем их\n // Если в отфильтрованной коллекции модели есть, то пробуем добавить к ним\n // всегда показывающиеся модели, если их ещё нет в коллекции\n if (!filteredIds.length && suggestedNotFoundModels.current.length) {\n suggestedNotFoundModels.current.forEach((model) => newCollection.addModel({ ...model }));\n } else {\n constantlySuggestedModels.current.forEach((model) => {\n if (!filteredIds.includes(model.id)) {\n newCollection.addModel({ ...model });\n }\n });\n }\n\n setCollection(newCollection);\n currentQuery.current = contentFilterQuery;\n onChangeFilterQuery?.(filteredIds, contentFilterQueryTrimmed);\n setExpanded(newExpanded);\n setIsSearch(true);\n } else if (queryWasChanged) {\n // Запрос не годится для поиска.\n const newExpanded = initialExpanded.slice();\n setCollection(initialCollection);\n\n onChangeFilterQuery?.(\n initialCollection.toList().map((model) => model.id),\n contentFilterQueryTrimmed\n );\n currentQuery.current = contentFilterQuery;\n if (inputRef.current) {\n setExpanded(newExpanded);\n } else {\n handleResetExpanded();\n }\n\n setIsSearch(false);\n }\n }, [\n initialCollection,\n contentFilterQuery,\n treeFilter,\n selected,\n setExpanded,\n isMobile,\n onChangeFilterQuery,\n handleResetExpanded,\n initialExpanded,\n ]);\n\n const renderTreeSelector = useCallback(() => {\n const hasModels = collection.getTopLevel().length;\n return (\n <TreeSelectorWrapper ref={treeRefCallback}>\n {hasModels ? (\n <>\n {isMobile ? (\n <MobileItemsList\n getMobileSearchItemOrder={getMobileSearchItemOrder || getSearchItemOrderDefault}\n collection={collection}\n selected={selected}\n disabled={disabled}\n onChange={onChange}\n leavesOnly={leavesOnly}\n checkSelectable={checkSelectable}\n singleChoice={singleChoice}\n ref={ref}\n setInputValue={setInputValue}\n renderItem={renderItem}\n renderMobileDelimiter={renderMobileDelimiter}\n handleChangeInput={handleChangeInput}\n contentFilterQuery={contentFilterQuery.trim()}\n onMobileNavigationChange={onMobileNavigationChange}\n isSearch={isSearch}\n getSelectAllParentTrl={getSelectAllParentTrl}\n renderContentBefore={renderContentBefore}\n />\n ) : (\n <ItemsList\n collection={collection}\n leavesOnly={leavesOnly}\n checkSelectable={checkSelectable}\n expanded={currentExpanded}\n onExpansion={handleExpansion}\n selected={selected}\n onChange={onChange}\n disabled={disabled}\n singleChoice={singleChoice}\n indeterminate={indeterminate}\n isSearch={isSearch}\n renderItemForDesktop={renderItemForDesktop}\n renderContentBefore={renderContentBefore}\n />\n )}\n </>\n ) : (\n <>{contentNotFound}</>\n )}\n </TreeSelectorWrapper>\n );\n }, [\n collection,\n treeRefCallback,\n isMobile,\n getMobileSearchItemOrder,\n getSearchItemOrderDefault,\n selected,\n disabled,\n onChange,\n leavesOnly,\n checkSelectable,\n singleChoice,\n ref,\n setInputValue,\n renderItem,\n renderMobileDelimiter,\n handleChangeInput,\n contentFilterQuery,\n onMobileNavigationChange,\n isSearch,\n getSelectAllParentTrl,\n renderContentBefore,\n currentExpanded,\n handleExpansion,\n indeterminate,\n renderItemForDesktop,\n contentNotFound,\n ]);\n\n return <>{children({ renderTreeSelector, renderInput })}</>;\n};\n\nexport const TreeSelectorDummy = forwardRef(TreeSelectorDummyComponent) as <Additional extends AdditionalDefault>(\n props: TreeSelectorDummyProps<Additional> & { ref?: ForwardedRef<ListControls> }\n) => ReactElement;\n"],"names":["_jsx","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"TreeSelectorDummy.js","sources":["../src/TreeSelectorDummy.tsx"],"sourcesContent":["import { ReactElement, forwardRef, ForwardedRef, useCallback, useEffect, useRef, useState, RefCallback } from 'react';\n\nimport { match } from '@hh.ru/magritte-common-fuzzy-search';\nimport { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';\nimport { ItemsList } from '@hh.ru/magritte-ui-tree-selector/ItemsList';\nimport { MobileItemsList } from '@hh.ru/magritte-ui-tree-selector/MobileItemsList';\nimport { TreeSelectorWrapper } from '@hh.ru/magritte-ui-tree-selector/TreeSelectorWrapper';\nimport { filterWithParents } from '@hh.ru/magritte-ui-tree-selector/collection/treeCollectionHelper';\nimport { AdditionalDefault, TreeModel } from '@hh.ru/magritte-ui-tree-selector/collection/types';\nimport { ListControls, TreeSelectorDummyProps } from '@hh.ru/magritte-ui-tree-selector/types';\nimport { useExpanded } from '@hh.ru/magritte-ui-tree-selector/useExpanded';\nimport { useIndeterminate } from '@hh.ru/magritte-ui-tree-selector/useIndeterminate';\nimport { useRenderInput } from '@hh.ru/magritte-ui-tree-selector/useRenderInput';\n\nconst defaultCheckSelectable = () => true;\nconst defaultArray: string[] = [];\n\nconst needToApply = (query: string): boolean => {\n return !!(query && query.length);\n};\n\nexport const TreeSelectorDummyComponent = <Additional extends AdditionalDefault>(\n {\n collection: initialCollection,\n checkSelectable = defaultCheckSelectable,\n initialExpanded = defaultArray,\n value: selected,\n leavesOnly,\n singleChoice,\n disabled = defaultArray,\n treeFilter = filterWithParents,\n suggestedNotFound = defaultArray,\n constantlySuggested = defaultArray,\n renderItemForDesktop,\n renderItem,\n renderMobileDelimiter,\n onExpand,\n onChange,\n onChangeFilterQuery,\n contentNotFound,\n onMobileNavigationChange,\n getMobileSearchItemOrder,\n expandTreeOnSelected = true,\n getSelectAllParentTrl,\n renderContentBefore,\n children,\n }: TreeSelectorDummyProps<Additional>,\n ref: ForwardedRef<ListControls>\n): ReactElement => {\n const [collection, setCollection] = useState(initialCollection);\n const [isSearch, setIsSearch] = useState(false);\n const currentQuery = useRef('');\n const inputRef = useRef<HTMLInputElement>(null);\n const suggestedNotFoundModels = useRef(initialCollection.getExistModels(suggestedNotFound));\n const constantlySuggestedModels = useRef(initialCollection.getExistModels(constantlySuggested));\n const getSearchItemOrderDefault = useCallback(\n (model: TreeModel<Additional>) => {\n return initialCollection.getModelLevel(model.id);\n },\n [initialCollection]\n );\n\n const { indeterminate } = useIndeterminate({ collection: initialCollection, selected });\n\n const {\n expanded: currentExpanded,\n setExpanded,\n handleExpansion,\n handleResetExpanded,\n } = useExpanded({\n initialValue: initialExpanded?.slice(),\n selected,\n expandTreeOnSelected,\n collection: initialCollection,\n onExpand,\n });\n const { isMobile } = useBreakpoint();\n\n const { contentFilterQuery, setInputValue, handleChangeInput, renderInput } = useRenderInput(inputRef);\n\n const treeRefCallback: RefCallback<HTMLDivElement> = useCallback(\n (node) => {\n if (!node) {\n handleResetExpanded();\n }\n },\n [handleResetExpanded]\n );\n\n useEffect(() => {\n const contentFilterQueryTrimmed = contentFilterQuery.trim();\n const queryWasChanged = contentFilterQueryTrimmed !== currentQuery.current.trim();\n\n if (queryWasChanged && needToApply(contentFilterQueryTrimmed)) {\n const newExpanded: string[] = [];\n const newCollection = treeFilter(\n initialCollection,\n (item) => match(contentFilterQueryTrimmed, item.text),\n isMobile\n );\n newCollection.toList().forEach((item) => {\n if (newCollection.hasChildren(item.id)) {\n // Если есть в отфильтрованной коллекции есть дочерние элементы,\n // значит они заматчились, и нужно открыть родителя.\n newExpanded.push(item.id);\n } else {\n // Если заматчился только сам родитель, показываем его\n // схлопнутым => нужно добавить его ветку в коллекцию.\n initialCollection.walkChildren(item.id, (child, parents) => {\n newCollection.addModel({ ...child }, parents[0].id);\n });\n }\n });\n\n const filteredIds = newCollection.toList().map((model) => model.id);\n\n // Если в отфильтрованной коллекции нет моделей, но заданы предложенные,\n // то показываем их\n // Если в отфильтрованной коллекции модели есть, то пробуем добавить к ним\n // всегда показывающиеся модели, если их ещё нет в коллекции\n if (!filteredIds.length && suggestedNotFoundModels.current.length) {\n suggestedNotFoundModels.current.forEach((model) => newCollection.addModel({ ...model }));\n } else {\n constantlySuggestedModels.current.forEach((model) => {\n if (!filteredIds.includes(model.id)) {\n newCollection.addModel({ ...model });\n }\n });\n }\n\n setCollection(newCollection);\n currentQuery.current = contentFilterQuery;\n onChangeFilterQuery?.(filteredIds, contentFilterQueryTrimmed);\n setExpanded(newExpanded);\n setIsSearch(true);\n } else if (queryWasChanged) {\n // Запрос не годится для поиска.\n const newExpanded = initialExpanded.slice();\n setCollection(initialCollection);\n\n onChangeFilterQuery?.(\n initialCollection.toList().map((model) => model.id),\n contentFilterQueryTrimmed\n );\n currentQuery.current = contentFilterQuery;\n if (inputRef.current) {\n setExpanded(newExpanded);\n } else {\n handleResetExpanded();\n }\n\n setIsSearch(false);\n }\n }, [\n initialCollection,\n contentFilterQuery,\n treeFilter,\n selected,\n setExpanded,\n isMobile,\n onChangeFilterQuery,\n handleResetExpanded,\n initialExpanded,\n ]);\n\n const renderTreeSelector = useCallback(() => {\n const hasModels = collection.getTopLevel().length;\n return (\n <TreeSelectorWrapper forwardRef={treeRefCallback}>\n {hasModels ? (\n <>\n {isMobile ? (\n <MobileItemsList\n getMobileSearchItemOrder={getMobileSearchItemOrder || getSearchItemOrderDefault}\n collection={collection}\n selected={selected}\n disabled={disabled}\n onChange={onChange}\n leavesOnly={leavesOnly}\n checkSelectable={checkSelectable}\n singleChoice={singleChoice}\n ref={ref}\n setInputValue={setInputValue}\n renderItem={renderItem}\n renderMobileDelimiter={renderMobileDelimiter}\n handleChangeInput={handleChangeInput}\n contentFilterQuery={contentFilterQuery.trim()}\n onMobileNavigationChange={onMobileNavigationChange}\n isSearch={isSearch}\n getSelectAllParentTrl={getSelectAllParentTrl}\n renderContentBefore={renderContentBefore}\n />\n ) : (\n <ItemsList\n collection={collection}\n leavesOnly={leavesOnly}\n checkSelectable={checkSelectable}\n expanded={currentExpanded}\n onExpansion={handleExpansion}\n selected={selected}\n onChange={onChange}\n disabled={disabled}\n singleChoice={singleChoice}\n indeterminate={indeterminate}\n isSearch={isSearch}\n renderItemForDesktop={renderItemForDesktop}\n renderContentBefore={renderContentBefore}\n />\n )}\n </>\n ) : (\n <>{contentNotFound}</>\n )}\n </TreeSelectorWrapper>\n );\n }, [\n collection,\n treeRefCallback,\n isMobile,\n getMobileSearchItemOrder,\n getSearchItemOrderDefault,\n selected,\n disabled,\n onChange,\n leavesOnly,\n checkSelectable,\n singleChoice,\n ref,\n setInputValue,\n renderItem,\n renderMobileDelimiter,\n handleChangeInput,\n contentFilterQuery,\n onMobileNavigationChange,\n isSearch,\n getSelectAllParentTrl,\n renderContentBefore,\n currentExpanded,\n handleExpansion,\n indeterminate,\n renderItemForDesktop,\n contentNotFound,\n ]);\n\n return <>{children({ renderTreeSelector, renderInput })}</>;\n};\n\nexport const TreeSelectorDummy = forwardRef(TreeSelectorDummyComponent) as <Additional extends AdditionalDefault>(\n props: TreeSelectorDummyProps<Additional> & { ref?: ForwardedRef<ListControls> }\n) => ReactElement;\n"],"names":["_jsx","_Fragment"],"mappings":"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"}
@@ -1,4 +1,8 @@
1
- /// <reference types="react" />
2
- export declare const TreeSelectorWrapper: import("react").ForwardRefExoticComponent<{
3
- children?: import("react").ReactNode;
4
- } & import("react").RefAttributes<HTMLDivElement>>;
1
+ import { ReactNode, PropsWithChildren, ForwardedRef, ReactElement } from 'react';
2
+ import { FcWithFlag } from '@hh.ru/magritte-types';
3
+ interface TreeSelectorWrapperProps extends PropsWithChildren {
4
+ forwardRef: ForwardedRef<HTMLDivElement>;
5
+ }
6
+ export declare const TreeSelectorWrapper: FcWithFlag<TreeSelectorWrapperProps, 'isTreeSelectorWrapper'>;
7
+ export declare const isValidTreeSelectorWrapper: (component: ReactNode) => component is ReactElement<TreeSelectorWrapperProps, string | import("react").JSXElementConstructor<any>>;
8
+ export {};
@@ -1,16 +1,14 @@
1
1
  import './index.css';
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { forwardRef, useState, useRef, useContext, useCallback, useLayoutEffect, useEffect } from 'react';
3
+ import { useState, useRef, useContext, useCallback, useLayoutEffect, useEffect, isValidElement } from 'react';
4
4
  import { useResize } from '@hh.ru/magritte-common-resize';
5
5
  import { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';
6
6
  import { CustomScrollContext } from '@hh.ru/magritte-internal-custom-scroll';
7
- import { BottomSheetFullScreenContent } from '@hh.ru/magritte-ui-bottom-sheet';
8
- import { ModalContentFullHeight } from '@hh.ru/magritte-ui-modal';
9
7
 
10
- const TreeSelectorWrapper = forwardRef((props, ref) => {
8
+ const TreeSelectorWrapper = ({ forwardRef, ...props }) => {
11
9
  const [height, setHeight] = useState(0);
12
10
  const wrapperRef = useRef(null);
13
- const wrapperMultiRef = useMultipleRefs(wrapperRef, ref);
11
+ const wrapperMultiRef = useMultipleRefs(wrapperRef, forwardRef);
14
12
  const scrollContext = useContext(CustomScrollContext);
15
13
  const calcHeight = useCallback(() => {
16
14
  if (wrapperRef.current?.parentElement) {
@@ -36,9 +34,12 @@ const TreeSelectorWrapper = forwardRef((props, ref) => {
36
34
  return () => wrapperElement.removeEventListener('touchmove', handleTouchMove);
37
35
  }, [scrollContext]);
38
36
  useResize(calcHeight);
39
- return scrollContext ? (jsx(BottomSheetFullScreenContent, { style: { height, overflow: 'auto' }, ref: wrapperMultiRef, ...props })) : (jsx(ModalContentFullHeight, { style: { height, overflow: 'auto' }, ref: wrapperMultiRef, ...props }));
40
- });
41
- TreeSelectorWrapper.displayName = 'TreeSelectorWrapper';
37
+ return jsx("div", { style: { height, overflow: 'auto' }, ref: wrapperMultiRef, ...props });
38
+ };
39
+ TreeSelectorWrapper.isTreeSelectorWrapper = true;
40
+ const isValidTreeSelectorWrapper = (component) => {
41
+ return isValidElement(component) && typeof component.type !== 'string' && 'isTreeSelectorWrapper' in component.type;
42
+ };
42
43
 
43
- export { TreeSelectorWrapper };
44
+ export { TreeSelectorWrapper, isValidTreeSelectorWrapper };
44
45
  //# sourceMappingURL=TreeSelectorWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeSelectorWrapper.js","sources":["../src/TreeSelectorWrapper.tsx"],"sourcesContent":["import {\n forwardRef,\n PropsWithChildren,\n useRef,\n useState,\n useLayoutEffect,\n useCallback,\n useEffect,\n useContext,\n} from 'react';\n\nimport { useResize } from '@hh.ru/magritte-common-resize';\nimport { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';\nimport { CustomScrollContext } from '@hh.ru/magritte-internal-custom-scroll';\nimport { BottomSheetFullScreenContent } from '@hh.ru/magritte-ui-bottom-sheet';\nimport { ModalContentFullHeight } from '@hh.ru/magritte-ui-modal';\n\nexport const TreeSelectorWrapper = forwardRef<HTMLDivElement, PropsWithChildren>((props, ref) => {\n const [height, setHeight] = useState(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const wrapperMultiRef = useMultipleRefs(wrapperRef, ref);\n const scrollContext = useContext(CustomScrollContext);\n\n const calcHeight = useCallback(() => {\n if (wrapperRef.current?.parentElement) {\n const style = window.getComputedStyle(wrapperRef.current.parentElement) || {};\n const paddingTop = parseFloat(style.paddingTop || '0');\n const paddingBottom = parseFloat(style.paddingBottom || '0');\n const height = wrapperRef.current.parentElement.offsetHeight - paddingTop - paddingBottom;\n setHeight(height);\n }\n }, []);\n\n useLayoutEffect(() => {\n calcHeight();\n }, [calcHeight]);\n\n useEffect(() => {\n const wrapperElement = wrapperRef.current;\n if (!wrapperElement || !scrollContext) {\n return void 0;\n }\n\n const handleTouchMove = (event: TouchEvent) => {\n event.stopPropagation();\n };\n\n wrapperElement.addEventListener('touchmove', handleTouchMove);\n return () => wrapperElement.removeEventListener('touchmove', handleTouchMove);\n }, [scrollContext]);\n\n useResize(calcHeight);\n\n return scrollContext ? (\n <BottomSheetFullScreenContent style={{ height, overflow: 'auto' }} ref={wrapperMultiRef} {...props} />\n ) : (\n <ModalContentFullHeight style={{ height, overflow: 'auto' }} ref={wrapperMultiRef} {...props} />\n );\n});\n\nTreeSelectorWrapper.displayName = 'TreeSelectorWrapper';\n"],"names":["_jsx"],"mappings":";;;;;;;;AAiBa,MAAA,mBAAmB,GAAG,UAAU,CAAoC,CAAC,KAAK,EAAE,GAAG,KAAI;IAC5F,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACxC,IAAA,MAAM,UAAU,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AACzD,IAAA,MAAM,aAAa,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;AAEtD,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,MAAK;AAChC,QAAA,IAAI,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE;AACnC,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAC9E,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC;AAC7D,YAAA,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC;YAC1F,SAAS,CAAC,MAAM,CAAC,CAAC;AACrB,SAAA;KACJ,EAAE,EAAE,CAAC,CAAC;IAEP,eAAe,CAAC,MAAK;AACjB,QAAA,UAAU,EAAE,CAAC;AACjB,KAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;AAC1C,QAAA,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,EAAE;YACnC,OAAO,KAAK,CAAC,CAAC;AACjB,SAAA;AAED,QAAA,MAAM,eAAe,GAAG,CAAC,KAAiB,KAAI;YAC1C,KAAK,CAAC,eAAe,EAAE,CAAC;AAC5B,SAAC,CAAC;AAEF,QAAA,cAAc,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC9D,OAAO,MAAM,cAAc,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAClF,KAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,SAAS,CAAC,UAAU,CAAC,CAAC;IAEtB,OAAO,aAAa,IAChBA,GAAC,CAAA,4BAA4B,EAAC,EAAA,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,eAAe,EAAA,GAAM,KAAK,EAAA,CAAI,KAEtGA,GAAA,CAAC,sBAAsB,EAAC,EAAA,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,eAAe,EAAM,GAAA,KAAK,EAAI,CAAA,CACnG,CAAC;AACN,CAAC,EAAE;AAEH,mBAAmB,CAAC,WAAW,GAAG,qBAAqB;;;;"}
1
+ {"version":3,"file":"TreeSelectorWrapper.js","sources":["../src/TreeSelectorWrapper.tsx"],"sourcesContent":["import {\n ReactNode,\n PropsWithChildren,\n useRef,\n useState,\n useLayoutEffect,\n useCallback,\n useEffect,\n useContext,\n ForwardedRef,\n ReactElement,\n isValidElement,\n} from 'react';\n\nimport { useResize } from '@hh.ru/magritte-common-resize';\nimport { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';\nimport { CustomScrollContext } from '@hh.ru/magritte-internal-custom-scroll';\nimport { FcWithFlag } from '@hh.ru/magritte-types';\n\ninterface TreeSelectorWrapperProps extends PropsWithChildren {\n forwardRef: ForwardedRef<HTMLDivElement>;\n}\n\nexport const TreeSelectorWrapper: FcWithFlag<TreeSelectorWrapperProps, 'isTreeSelectorWrapper'> = ({\n forwardRef,\n ...props\n}) => {\n const [height, setHeight] = useState(0);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const wrapperMultiRef = useMultipleRefs(wrapperRef, forwardRef);\n const scrollContext = useContext(CustomScrollContext);\n\n const calcHeight = useCallback(() => {\n if (wrapperRef.current?.parentElement) {\n const style = window.getComputedStyle(wrapperRef.current.parentElement) || {};\n const paddingTop = parseFloat(style.paddingTop || '0');\n const paddingBottom = parseFloat(style.paddingBottom || '0');\n const height = wrapperRef.current.parentElement.offsetHeight - paddingTop - paddingBottom;\n setHeight(height);\n }\n }, []);\n\n useLayoutEffect(() => {\n calcHeight();\n }, [calcHeight]);\n\n useEffect(() => {\n const wrapperElement = wrapperRef.current;\n if (!wrapperElement || !scrollContext) {\n return void 0;\n }\n\n const handleTouchMove = (event: TouchEvent) => {\n event.stopPropagation();\n };\n\n wrapperElement.addEventListener('touchmove', handleTouchMove);\n return () => wrapperElement.removeEventListener('touchmove', handleTouchMove);\n }, [scrollContext]);\n\n useResize(calcHeight);\n\n return <div style={{ height, overflow: 'auto' }} ref={wrapperMultiRef} {...props} />;\n};\n\nTreeSelectorWrapper.isTreeSelectorWrapper = true;\n\nexport const isValidTreeSelectorWrapper = (\n component: ReactNode\n): component is ReactElement<TreeSelectorWrapperProps> => {\n return isValidElement(component) && typeof component.type !== 'string' && 'isTreeSelectorWrapper' in component.type;\n};\n"],"names":["_jsx"],"mappings":";;;;;;AAuBO,MAAM,mBAAmB,GAAkE,CAAC,EAC/F,UAAU,EACV,GAAG,KAAK,EACX,KAAI;IACD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACxC,IAAA,MAAM,UAAU,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAChE,IAAA,MAAM,aAAa,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;AAEtD,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,MAAK;AAChC,QAAA,IAAI,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE;AACnC,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAC9E,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC;AAC7D,YAAA,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC;YAC1F,SAAS,CAAC,MAAM,CAAC,CAAC;AACrB,SAAA;KACJ,EAAE,EAAE,CAAC,CAAC;IAEP,eAAe,CAAC,MAAK;AACjB,QAAA,UAAU,EAAE,CAAC;AACjB,KAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;AAC1C,QAAA,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,EAAE;YACnC,OAAO,KAAK,CAAC,CAAC;AACjB,SAAA;AAED,QAAA,MAAM,eAAe,GAAG,CAAC,KAAiB,KAAI;YAC1C,KAAK,CAAC,eAAe,EAAE,CAAC;AAC5B,SAAC,CAAC;AAEF,QAAA,cAAc,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC9D,OAAO,MAAM,cAAc,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAClF,KAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,SAAS,CAAC,UAAU,CAAC,CAAC;AAEtB,IAAA,OAAOA,aAAK,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,eAAe,EAAM,GAAA,KAAK,GAAI,CAAC;AACzF,EAAE;AAEF,mBAAmB,CAAC,qBAAqB,GAAG,IAAI,CAAC;AAEpC,MAAA,0BAA0B,GAAG,CACtC,SAAoB,KACiC;AACrD,IAAA,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,uBAAuB,IAAI,SAAS,CAAC,IAAI,CAAC;AACxH;;;;"}
package/index.css CHANGED
@@ -4,7 +4,7 @@
4
4
  --magritte-semantic-animation-ease-in-out-200-timing-function-v18-3-0:cubic-bezier(0.25, 0.1, 0.25, 1);
5
5
  --magritte-semantic-animation-ease-in-out-200-duration-v18-3-0:200ms;
6
6
  }
7
- @keyframes magritte-fade-in___yS4Ja_4-1-0{
7
+ @keyframes magritte-fade-in___yS4Ja_4-2-1{
8
8
  0%{
9
9
  opacity:0;
10
10
  }
@@ -12,24 +12,24 @@
12
12
  opacity:1;
13
13
  }
14
14
  }
15
- .magritte-item-animation-timeout___pbOyZ_4-1-0{
16
- animation-name:magritte-fade-in___yS4Ja_4-1-0;
15
+ .magritte-item-animation-timeout___pbOyZ_4-2-1{
16
+ animation-name:magritte-fade-in___yS4Ja_4-2-1;
17
17
  animation-timing-function:var(--magritte-semantic-animation-ease-in-out-200-timing-function-v18-3-0);
18
18
  --animation-duration:0ms;
19
19
  animation-duration:var(--animation-duration);
20
20
  }
21
21
  @media (prefers-reduced-motion: no-preference){
22
- .magritte-item-animation-timeout___pbOyZ_4-1-0{
22
+ .magritte-item-animation-timeout___pbOyZ_4-2-1{
23
23
  --animation-duration:var(--magritte-semantic-animation-ease-in-out-200-duration-v18-3-0);
24
24
  }
25
25
  }
26
- .magritte-wrapper___GHKV6_4-1-0{
26
+ .magritte-wrapper___GHKV6_4-2-1{
27
27
  display:flex;
28
28
  padding:12px 0;
29
29
  gap:12px;
30
30
  align-items:flex-start;
31
31
  }
32
- .magritte-letter___yZOCU_4-1-0{
32
+ .magritte-letter___yZOCU_4-2-1{
33
33
  width:24px;
34
34
  height:24px;
35
35
  display:flex;
@@ -37,59 +37,59 @@
37
37
  justify-content:center;
38
38
  flex-shrink:0;
39
39
  }
40
- .magritte-icon___kO3Fj_4-1-0,
41
- .magritte-space___xTO79_4-1-0{
40
+ .magritte-icon___kO3Fj_4-2-1,
41
+ .magritte-space___xTO79_4-2-1{
42
42
  flex-shrink:0;
43
43
  line-height:0;
44
44
  width:24px;
45
45
  }
46
- .magritte-icon___kO3Fj_4-1-0{
46
+ .magritte-icon___kO3Fj_4-2-1{
47
47
  transform:rotate(0);
48
48
  }
49
- .magritte-wrapperActive___Hwk8p_4-1-0,
50
- .magritte-iconActive___4yrG5_4-1-0{
49
+ .magritte-wrapperActive___Hwk8p_4-2-1,
50
+ .magritte-iconActive___4yrG5_4-2-1{
51
51
  cursor:pointer;
52
52
  }
53
- .magritte-iconUp___mpXV6_4-1-0{
53
+ .magritte-iconUp___mpXV6_4-2-1{
54
54
  transform:rotate(90deg);
55
55
  }
56
56
  @media (prefers-reduced-motion: no-preference){
57
- .magritte-icon___kO3Fj_4-1-0{
57
+ .magritte-icon___kO3Fj_4-2-1{
58
58
  transition-property:transform;
59
59
  transition-duration:var(--magritte-semantic-animation-ease-in-out-100-duration-v18-3-0);
60
60
  transition-timing-function:var(--magritte-semantic-animation-ease-in-out-100-timing-function-v18-3-0);
61
61
  }
62
62
  }
63
- .magritte-content___ZRc6R_4-1-0{
63
+ .magritte-content___ZRc6R_4-2-1{
64
64
  flex-grow:1;
65
65
  }
66
- .magritte-mobile-item___ynALC_4-1-0{
66
+ .magritte-mobile-item___ynALC_4-2-1{
67
67
  display:flex;
68
68
  gap:12px;
69
69
  flex-wrap:wrap;
70
70
  }
71
- .magritte-with-gap___gbvGO_4-1-0{
71
+ .magritte-with-gap___gbvGO_4-2-1{
72
72
  padding-top:12px;
73
73
  }
74
- .magritte-virtualized-list___qt2E6_4-1-0{
74
+ .magritte-virtualized-list___qt2E6_4-2-1{
75
75
  width:100%;
76
76
  position:relative;
77
77
  will-change:transform;
78
78
  }
79
- .magritte-virtualized-item___qAYVN_4-1-0{
79
+ .magritte-virtualized-item___qAYVN_4-2-1{
80
80
  position:absolute;
81
81
  top:0;
82
82
  left:0;
83
83
  width:100%;
84
84
  }
85
- .magritte-was-expanded___uCFbW_4-1-0{
86
- animation-name:magritte-fade-in___yS4Ja_4-1-0;
85
+ .magritte-was-expanded___uCFbW_4-2-1{
86
+ animation-name:magritte-fade-in___yS4Ja_4-2-1;
87
87
  animation-timing-function:var(--magritte-semantic-animation-ease-in-out-200-timing-function-v18-3-0);
88
88
  --animation-duration:0ms;
89
89
  animation-duration:var(--animation-duration);
90
90
  }
91
91
  @media (prefers-reduced-motion: no-preference){
92
- .magritte-was-expanded___uCFbW_4-1-0{
92
+ .magritte-was-expanded___uCFbW_4-2-1{
93
93
  --animation-duration:var(--magritte-semantic-animation-ease-in-out-200-duration-v18-3-0);
94
94
  }
95
95
  }
@@ -98,7 +98,7 @@
98
98
  --magritte-semantic-animation-ease-in-out-200-timing-function-v18-3-0:cubic-bezier(0.25, 0.1, 0.25, 1);
99
99
  --magritte-semantic-animation-ease-in-out-200-duration-v18-3-0:200ms;
100
100
  }
101
- @keyframes magritte-fade-in___FDoho_4-1-0{
101
+ @keyframes magritte-fade-in___FDoho_4-2-1{
102
102
  0%{
103
103
  opacity:0;
104
104
  }
@@ -106,14 +106,14 @@
106
106
  opacity:1;
107
107
  }
108
108
  }
109
- .magritte-item-animation-timeout___Pdli9_4-1-0{
110
- animation-name:magritte-fade-in___FDoho_4-1-0;
109
+ .magritte-item-animation-timeout___Pdli9_4-2-1{
110
+ animation-name:magritte-fade-in___FDoho_4-2-1;
111
111
  animation-timing-function:var(--magritte-semantic-animation-ease-in-out-200-timing-function-v18-3-0);
112
112
  --animation-duration:0ms;
113
113
  animation-duration:var(--animation-duration);
114
114
  }
115
115
  @media (prefers-reduced-motion: no-preference){
116
- .magritte-item-animation-timeout___Pdli9_4-1-0{
116
+ .magritte-item-animation-timeout___Pdli9_4-2-1{
117
117
  --animation-duration:var(--magritte-semantic-animation-ease-in-out-200-duration-v18-3-0);
118
118
  }
119
119
  }
package/index.d.ts CHANGED
@@ -7,4 +7,5 @@ export * from '@hh.ru/magritte-ui-tree-selector/TreeSelectorItemBase';
7
7
  export * from '@hh.ru/magritte-ui-tree-selector/types';
8
8
  export * from '@hh.ru/magritte-ui-tree-selector/collection/types';
9
9
  export * from '@hh.ru/magritte-ui-tree-selector/collection/treeCollectionHelper';
10
+ export { isValidTreeSelectorWrapper } from '@hh.ru/magritte-ui-tree-selector/TreeSelectorWrapper';
10
11
  export { TreeCollection, ImmutableSelectionStrategy };
package/index.js CHANGED
@@ -6,6 +6,7 @@ export { TreeSelector } from './TreeSelector.js';
6
6
  export { TreeSelectorDummy, TreeSelectorDummyComponent } from './TreeSelectorDummy.js';
7
7
  export { TreeSelectorItemBase } from './TreeSelectorItemBase.js';
8
8
  export { filterMissingIds, filterParents, filterUniqueLeavesOnly, filterWithParents, fromTree, getIdsWithNoParentsInSameList, walk } from './collection/treeCollectionHelper.js';
9
+ export { isValidTreeSelectorWrapper } from './TreeSelectorWrapper.js';
9
10
  import './strategy/selectionStrategy.js';
10
11
  import './strategy/createSingleValueToggler.js';
11
12
  import './strategy/createTreeCollectionToggler.js';
@@ -26,7 +27,7 @@ import '@hh.ru/magritte-ui-icon/icon';
26
27
  import './Action.js';
27
28
  import '@hh.ru/magritte-ui-checkbox-radio';
28
29
  import '@hh.ru/magritte-ui-typography';
29
- import './tree-selector-item-JlIDTcin.js';
30
+ import './tree-selector-item-B2dSIMX8.js';
30
31
  import './MobileItemsList.js';
31
32
  import '@hh.ru/magritte-ui-cell';
32
33
  import '@hh.ru/magritte-ui-checkable-card/CheckableCardElement';
@@ -35,16 +36,13 @@ import '@hh.ru/magritte-ui-card';
35
36
  import './MobileItem.js';
36
37
  import './MobileParentItem.js';
37
38
  import '@hh.ru/magritte-ui-badge';
38
- import './TreeSelectorWrapper.js';
39
- import '@hh.ru/magritte-common-resize';
40
- import '@hh.ru/magritte-common-use-multiple-refs';
41
- import '@hh.ru/magritte-internal-custom-scroll';
42
- import '@hh.ru/magritte-ui-bottom-sheet';
43
- import '@hh.ru/magritte-ui-modal';
44
39
  import './useExpanded.js';
45
40
  import './useIndeterminate.js';
46
41
  import './useRenderInput.js';
47
42
  import '@hh.ru/magritte-common-func-utils';
43
+ import '@hh.ru/magritte-common-use-multiple-refs';
48
44
  import '@hh.ru/magritte-ui-input';
49
45
  import './useAnimationTimeout.js';
46
+ import '@hh.ru/magritte-common-resize';
47
+ import '@hh.ru/magritte-internal-custom-scroll';
50
48
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/index.mock.d.ts CHANGED
@@ -6,6 +6,7 @@ export { ThemeProvider };
6
6
  export * from '@hh.ru/magritte-ui-tree-selector/types';
7
7
  export * from '@hh.ru/magritte-ui-tree-selector/collection/types';
8
8
  export * from '@hh.ru/magritte-ui-tree-selector/collection/treeCollectionHelper';
9
+ export { isValidTreeSelectorWrapper } from '@hh.ru/magritte-ui-tree-selector/TreeSelectorWrapper';
9
10
  export { TreeCollection, ImmutableSelectionStrategy };
10
11
  export declare const TreeSelector: ForwardRefExoticComponent<Record<string, unknown>>;
11
12
  export declare const TreeSelectorDummy: ForwardRefExoticComponent<Record<string, unknown>>;
package/index.mock.js CHANGED
@@ -3,10 +3,16 @@ import { mockComponent } from '@hh.ru/magritte-ui-mock-component';
3
3
  export { default as TreeCollection } from './collection/treeCollection.js';
4
4
  export { default as ImmutableSelectionStrategy } from './strategy/immutableSelectionStrategy.js';
5
5
  export { filterMissingIds, filterParents, filterUniqueLeavesOnly, filterWithParents, fromTree, getIdsWithNoParentsInSameList, walk } from './collection/treeCollectionHelper.js';
6
+ export { isValidTreeSelectorWrapper } from './TreeSelectorWrapper.js';
6
7
  import './strategy/selectionStrategy.js';
7
8
  import './strategy/createSingleValueToggler.js';
8
9
  import './strategy/createTreeCollectionToggler.js';
9
10
  import './strategy/dummyToggle.js';
11
+ import 'react/jsx-runtime';
12
+ import 'react';
13
+ import '@hh.ru/magritte-common-resize';
14
+ import '@hh.ru/magritte-common-use-multiple-refs';
15
+ import '@hh.ru/magritte-internal-custom-scroll';
10
16
 
11
17
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
12
18
  const { ThemeProvider } = jest.requireActual('@hh.ru/magritte-ui-theme-provider/index');
package/index.mock.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mock.js","sources":["../src/index.mock.ts"],"sourcesContent":["import { ForwardRefExoticComponent } from 'react';\n\nimport { mockComponent } from '@hh.ru/magritte-ui-mock-component';\nimport TreeCollection from '@hh.ru/magritte-ui-tree-selector/collection/treeCollection';\nimport ImmutableSelectionStrategy from '@hh.ru/magritte-ui-tree-selector/strategy/immutableSelectionStrategy';\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\nconst { ThemeProvider } = jest.requireActual('@hh.ru/magritte-ui-theme-provider/index');\n\nexport { ThemeProvider };\n\nexport * from '@hh.ru/magritte-ui-tree-selector/types';\nexport * from '@hh.ru/magritte-ui-tree-selector/collection/types';\nexport * from '@hh.ru/magritte-ui-tree-selector/collection/treeCollectionHelper';\nexport { TreeCollection, ImmutableSelectionStrategy };\n\nexport const TreeSelector: ForwardRefExoticComponent<Record<string, unknown>> = mockComponent(\n 'TreeSelector',\n undefined,\n { withChildren: true }\n);\n\nexport const TreeSelectorDummy: ForwardRefExoticComponent<Record<string, unknown>> = mockComponent(\n 'TreeSelectorDummy',\n undefined,\n {\n withChildren: true,\n }\n);\n\nexport const TreeSelectorItemBase = mockComponent('TreeSelectorItemBase');\n"],"names":[],"mappings":";;;;;;;;;AAMA;AACM,MAAA,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,yCAAyC,EAAE;AAS3E,MAAA,YAAY,GAAuD,aAAa,CACzF,cAAc,EACd,SAAS,EACT,EAAE,YAAY,EAAE,IAAI,EAAE,EACxB;MAEW,iBAAiB,GAAuD,aAAa,CAC9F,mBAAmB,EACnB,SAAS,EACT;AACI,IAAA,YAAY,EAAE,IAAI;AACrB,CAAA,EACH;MAEW,oBAAoB,GAAG,aAAa,CAAC,sBAAsB;;;;"}
1
+ {"version":3,"file":"index.mock.js","sources":["../src/index.mock.ts"],"sourcesContent":["import { ForwardRefExoticComponent } from 'react';\n\nimport { mockComponent } from '@hh.ru/magritte-ui-mock-component';\nimport TreeCollection from '@hh.ru/magritte-ui-tree-selector/collection/treeCollection';\nimport ImmutableSelectionStrategy from '@hh.ru/magritte-ui-tree-selector/strategy/immutableSelectionStrategy';\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\nconst { ThemeProvider } = jest.requireActual('@hh.ru/magritte-ui-theme-provider/index');\n\nexport { ThemeProvider };\n\nexport * from '@hh.ru/magritte-ui-tree-selector/types';\nexport * from '@hh.ru/magritte-ui-tree-selector/collection/types';\nexport * from '@hh.ru/magritte-ui-tree-selector/collection/treeCollectionHelper';\nexport { isValidTreeSelectorWrapper } from '@hh.ru/magritte-ui-tree-selector/TreeSelectorWrapper';\nexport { TreeCollection, ImmutableSelectionStrategy };\n\nexport const TreeSelector: ForwardRefExoticComponent<Record<string, unknown>> = mockComponent(\n 'TreeSelector',\n undefined,\n { withChildren: true }\n);\n\nexport const TreeSelectorDummy: ForwardRefExoticComponent<Record<string, unknown>> = mockComponent(\n 'TreeSelectorDummy',\n undefined,\n {\n withChildren: true,\n }\n);\n\nexport const TreeSelectorItemBase = mockComponent('TreeSelectorItemBase');\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAMA;AACM,MAAA,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,yCAAyC,EAAE;AAU3E,MAAA,YAAY,GAAuD,aAAa,CACzF,cAAc,EACd,SAAS,EACT,EAAE,YAAY,EAAE,IAAI,EAAE,EACxB;MAEW,iBAAiB,GAAuD,aAAa,CAC9F,mBAAmB,EACnB,SAAS,EACT;AACI,IAAA,YAAY,EAAE,IAAI;AACrB,CAAA,EACH;MAEW,oBAAoB,GAAG,aAAa,CAAC,sBAAsB;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hh.ru/magritte-ui-tree-selector",
3
- "version": "4.1.0",
3
+ "version": "4.2.1",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -27,17 +27,16 @@
27
27
  "@hh.ru/magritte-common-use-multiple-refs": "1.1.4",
28
28
  "@hh.ru/magritte-design-tokens": "18.3.0",
29
29
  "@hh.ru/magritte-internal-custom-scroll": "1.2.0",
30
+ "@hh.ru/magritte-types": "4.0.2",
30
31
  "@hh.ru/magritte-ui-badge": "2.2.2",
31
- "@hh.ru/magritte-ui-bottom-sheet": "5.2.5",
32
32
  "@hh.ru/magritte-ui-breakpoint": "4.0.3",
33
33
  "@hh.ru/magritte-ui-card": "6.0.12",
34
34
  "@hh.ru/magritte-ui-cell": "4.0.1",
35
35
  "@hh.ru/magritte-ui-checkable-card": "3.0.22",
36
36
  "@hh.ru/magritte-ui-checkbox-radio": "3.0.11",
37
37
  "@hh.ru/magritte-ui-icon": "7.4.0",
38
- "@hh.ru/magritte-ui-input": "5.1.4",
38
+ "@hh.ru/magritte-ui-input": "6.0.0",
39
39
  "@hh.ru/magritte-ui-mock-component": "1.0.11",
40
- "@hh.ru/magritte-ui-modal": "4.1.2",
41
40
  "@hh.ru/magritte-ui-spacing": "2.0.26",
42
41
  "@hh.ru/magritte-ui-theme-provider": "1.1.26",
43
42
  "@hh.ru/magritte-ui-typography": "3.0.13",
@@ -51,5 +50,5 @@
51
50
  "publishConfig": {
52
51
  "access": "public"
53
52
  },
54
- "gitHead": "ea23d2f658bf6ce2247c469f273fe77826f008ba"
53
+ "gitHead": "0b7ac9e55be5e82198d03abfefded1a2429518df"
55
54
  }
@@ -0,0 +1,5 @@
1
+ import './index.css';
2
+ var styles = {"item-animation-timeout":"magritte-item-animation-timeout___pbOyZ_4-2-1","itemAnimationTimeout":"magritte-item-animation-timeout___pbOyZ_4-2-1","fade-in":"magritte-fade-in___yS4Ja_4-2-1","fadeIn":"magritte-fade-in___yS4Ja_4-2-1","wrapper":"magritte-wrapper___GHKV6_4-2-1","letter":"magritte-letter___yZOCU_4-2-1","icon":"magritte-icon___kO3Fj_4-2-1","space":"magritte-space___xTO79_4-2-1","wrapperActive":"magritte-wrapperActive___Hwk8p_4-2-1","iconActive":"magritte-iconActive___4yrG5_4-2-1","iconUp":"magritte-iconUp___mpXV6_4-2-1","content":"magritte-content___ZRc6R_4-2-1","mobile-item":"magritte-mobile-item___ynALC_4-2-1","mobileItem":"magritte-mobile-item___ynALC_4-2-1","with-gap":"magritte-with-gap___gbvGO_4-2-1","withGap":"magritte-with-gap___gbvGO_4-2-1","virtualized-list":"magritte-virtualized-list___qt2E6_4-2-1","virtualizedList":"magritte-virtualized-list___qt2E6_4-2-1","virtualized-item":"magritte-virtualized-item___qAYVN_4-2-1","virtualizedItem":"magritte-virtualized-item___qAYVN_4-2-1","was-expanded":"magritte-was-expanded___uCFbW_4-2-1","wasExpanded":"magritte-was-expanded___uCFbW_4-2-1"};
3
+
4
+ export { styles as s };
5
+ //# sourceMappingURL=tree-selector-item-B2dSIMX8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-selector-item-B2dSIMX8.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,7 +1,7 @@
1
1
  import './index.css';
2
2
  import { useState, useLayoutEffect } from 'react';
3
3
 
4
- var styles = {"item-animation-timeout":"magritte-item-animation-timeout___Pdli9_4-1-0","itemAnimationTimeout":"magritte-item-animation-timeout___Pdli9_4-1-0","fade-in":"magritte-fade-in___FDoho_4-1-0","fadeIn":"magritte-fade-in___FDoho_4-1-0"};
4
+ var styles = {"item-animation-timeout":"magritte-item-animation-timeout___Pdli9_4-2-1","itemAnimationTimeout":"magritte-item-animation-timeout___Pdli9_4-2-1","fade-in":"magritte-fade-in___FDoho_4-2-1","fadeIn":"magritte-fade-in___FDoho_4-2-1"};
5
5
 
6
6
  const useAnimationTimeout = () => {
7
7
  const [animationTimeout, setAnimationTimeout] = useState(0);
@@ -1,5 +0,0 @@
1
- import './index.css';
2
- var styles = {"item-animation-timeout":"magritte-item-animation-timeout___pbOyZ_4-1-0","itemAnimationTimeout":"magritte-item-animation-timeout___pbOyZ_4-1-0","fade-in":"magritte-fade-in___yS4Ja_4-1-0","fadeIn":"magritte-fade-in___yS4Ja_4-1-0","wrapper":"magritte-wrapper___GHKV6_4-1-0","letter":"magritte-letter___yZOCU_4-1-0","icon":"magritte-icon___kO3Fj_4-1-0","space":"magritte-space___xTO79_4-1-0","wrapperActive":"magritte-wrapperActive___Hwk8p_4-1-0","iconActive":"magritte-iconActive___4yrG5_4-1-0","iconUp":"magritte-iconUp___mpXV6_4-1-0","content":"magritte-content___ZRc6R_4-1-0","mobile-item":"magritte-mobile-item___ynALC_4-1-0","mobileItem":"magritte-mobile-item___ynALC_4-1-0","with-gap":"magritte-with-gap___gbvGO_4-1-0","withGap":"magritte-with-gap___gbvGO_4-1-0","virtualized-list":"magritte-virtualized-list___qt2E6_4-1-0","virtualizedList":"magritte-virtualized-list___qt2E6_4-1-0","virtualized-item":"magritte-virtualized-item___qAYVN_4-1-0","virtualizedItem":"magritte-virtualized-item___qAYVN_4-1-0","was-expanded":"magritte-was-expanded___uCFbW_4-1-0","wasExpanded":"magritte-was-expanded___uCFbW_4-1-0"};
3
-
4
- export { styles as s };
5
- //# sourceMappingURL=tree-selector-item-JlIDTcin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree-selector-item-JlIDTcin.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}