@salutejs/plasma-new-hope 0.262.0-canary.1762.13196724210.0 → 0.262.0-canary.1766.13240311488.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +5 -0
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +1 -1
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/cjs/components/Combobox/ComboboxNew/utils/updateDescendants.js.map +1 -1
- package/cjs/components/Select/Select.js +1 -1
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/cjs/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
- package/cjs/components/Select/utils/updateDescendants.js +6 -3
- package/cjs/components/Select/utils/updateDescendants.js.map +1 -1
- package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +5 -0
- package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +12 -12
- package/emotion/cjs/components/Checkbox/Checkbox.template-doc.mdx +0 -6
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/emotion/cjs/components/Select/Select.js +1 -1
- package/emotion/cjs/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/emotion/cjs/components/Select/utils/updateDescendants.js +6 -3
- package/emotion/cjs/examples/plasma_b2c/components/Checkbox/Checkbox.config.js +12 -19
- package/emotion/cjs/examples/plasma_b2c/components/Checkbox/Checkbox.stories.tsx +5 -15
- package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -0
- package/emotion/cjs/examples/plasma_web/components/Checkbox/Checkbox.config.js +12 -19
- package/emotion/cjs/examples/plasma_web/components/Checkbox/Checkbox.stories.tsx +5 -15
- package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.js +5 -0
- package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +12 -12
- package/emotion/es/components/Checkbox/Checkbox.template-doc.mdx +0 -6
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/emotion/es/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/emotion/es/components/Select/Select.js +1 -1
- package/emotion/es/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/emotion/es/components/Select/utils/updateDescendants.js +6 -3
- package/emotion/es/examples/plasma_b2c/components/Checkbox/Checkbox.config.js +12 -19
- package/emotion/es/examples/plasma_b2c/components/Checkbox/Checkbox.stories.tsx +5 -15
- package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -0
- package/emotion/es/examples/plasma_web/components/Checkbox/Checkbox.config.js +12 -19
- package/emotion/es/examples/plasma_web/components/Checkbox/Checkbox.stories.tsx +5 -15
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.js +5 -0
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +1 -1
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/es/components/Combobox/ComboboxNew/utils/updateDescendants.js.map +1 -1
- package/es/components/Select/Select.js +1 -1
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/es/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
- package/es/components/Select/utils/updateDescendants.js +6 -3
- package/es/components/Select/utils/updateDescendants.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +5 -0
- package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +1 -1
- package/styled-components/cjs/components/Checkbox/Checkbox.template-doc.mdx +0 -6
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/styled-components/cjs/components/Select/Select.js +1 -1
- package/styled-components/cjs/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/styled-components/cjs/components/Select/utils/updateDescendants.js +6 -3
- package/styled-components/cjs/examples/plasma_b2c/components/Checkbox/Checkbox.config.js +1 -8
- package/styled-components/cjs/examples/plasma_b2c/components/Checkbox/Checkbox.stories.tsx +5 -15
- package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -0
- package/styled-components/cjs/examples/plasma_web/components/Checkbox/Checkbox.config.js +1 -8
- package/styled-components/cjs/examples/plasma_web/components/Checkbox/Checkbox.stories.tsx +5 -15
- package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.js +5 -0
- package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +1 -1
- package/styled-components/es/components/Checkbox/Checkbox.template-doc.mdx +0 -6
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +1 -1
- package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -0
- package/styled-components/es/components/Combobox/ComboboxNew/utils/updateDescendants.js +6 -3
- package/styled-components/es/components/Select/Select.js +1 -1
- package/styled-components/es/components/Select/ui/Inner/ui/Item/Item.js +1 -0
- package/styled-components/es/components/Select/utils/updateDescendants.js +6 -3
- package/styled-components/es/examples/plasma_b2c/components/Checkbox/Checkbox.config.js +1 -8
- package/styled-components/es/examples/plasma_b2c/components/Checkbox/Checkbox.stories.tsx +5 -15
- package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +1 -0
- package/styled-components/es/examples/plasma_web/components/Checkbox/Checkbox.config.js +1 -8
- package/styled-components/es/examples/plasma_web/components/Checkbox/Checkbox.stories.tsx +5 -15
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts.map +1 -1
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.styles.d.ts +1 -1
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.styles.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/utils/updateDescendants.d.ts +2 -2
- package/types/components/Combobox/ComboboxNew/utils/updateDescendants.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/ui/Item/Item.d.ts.map +1 -1
- package/types/components/Select/utils/updateDescendants.d.ts +2 -2
- package/types/components/Select/utils/updateDescendants.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Checkbox/Checkbox.config.d.ts +1 -1
- package/types/examples/plasma_b2c/components/Checkbox/Checkbox.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Checkbox/Checkbox.d.ts +1 -1
- package/types/examples/plasma_web/components/Checkbox/Checkbox.config.d.ts +1 -1
- package/types/examples/plasma_web/components/Checkbox/Checkbox.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Checkbox/Checkbox.d.ts +1 -1
@@ -3,9 +3,12 @@ import type { ComponentProps } from 'react';
|
|
3
3
|
import type { StoryObj, Meta } from '@storybook/react';
|
4
4
|
import { action } from '@storybook/addon-actions';
|
5
5
|
|
6
|
-
import {
|
6
|
+
import { checkboxConfig } from '../../../../components/Checkbox';
|
7
|
+
import { mergeConfig } from '../../../../engines';
|
8
|
+
import { WithTheme, argTypesFromConfig } from '../../../_helpers';
|
7
9
|
import { Link } from '../Link/Link';
|
8
10
|
|
11
|
+
import { config } from './Checkbox.config';
|
9
12
|
import { Checkbox } from './Checkbox';
|
10
13
|
|
11
14
|
const onChange = action('onChange');
|
@@ -16,20 +19,7 @@ const meta: Meta<typeof Checkbox> = {
|
|
16
19
|
title: 'web/Data Entry/Checkbox',
|
17
20
|
decorators: [WithTheme],
|
18
21
|
component: Checkbox,
|
19
|
-
argTypes:
|
20
|
-
view: {
|
21
|
-
options: ['accent'],
|
22
|
-
control: {
|
23
|
-
type: 'radio',
|
24
|
-
},
|
25
|
-
},
|
26
|
-
size: {
|
27
|
-
options: ['m', 's'],
|
28
|
-
control: {
|
29
|
-
type: 'radio',
|
30
|
-
},
|
31
|
-
},
|
32
|
-
},
|
22
|
+
argTypes: argTypesFromConfig(mergeConfig(checkboxConfig, config)),
|
33
23
|
args: {
|
34
24
|
view: 'accent',
|
35
25
|
size: 'm',
|
@@ -83,6 +83,11 @@ var AccordionItem = /*#__PURE__*/forwardRef(function (_ref, outerRef) {
|
|
83
83
|
}, style)
|
84
84
|
}, /*#__PURE__*/React.createElement(StyledAccordionHeader, {
|
85
85
|
role: "tab",
|
86
|
+
onKeyDown: function onKeyDown(e) {
|
87
|
+
if (e.key === 'Enter') {
|
88
|
+
handleOpen();
|
89
|
+
}
|
90
|
+
},
|
86
91
|
tabIndex: 0,
|
87
92
|
onClick: handleOpen,
|
88
93
|
"aria-expanded": opened !== null && opened !== void 0 ? opened : value,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"AccordionItem.js","sources":["../../../../../src/components/Accordion/ui/AccordionItem/AccordionItem.tsx"],"sourcesContent":["import React, { useState, useRef, forwardRef, useEffect } from 'react';\n\nimport { convertRoundnessMatrix } from '../../../../utils/roundness';\nimport { classes, tokens } from '../../Accordion.tokens';\nimport { cx } from '../../../../utils';\n\nimport {\n StyledAccordionItem,\n StyledAccordionHeader,\n StyledAccordionBody,\n StyledAccordionTitle,\n StyledAccordionContentLeft,\n StyledAccordionHeaderLeft,\n StyledAccordionContentRight,\n StyledArrow,\n StyledMinus,\n StyledPlus,\n StyledAccordionBodyAnimate,\n} from './AccordionItem.styles';\nimport type { AccordionItemProps } from './AccordionItem.types';\n\nexport const AccordionItem = forwardRef<HTMLDivElement, AccordionItemProps>(\n (\n {\n value,\n contentRight,\n contentLeft,\n title,\n pin = 'square-square',\n children,\n type = 'sign',\n index,\n className,\n style,\n eventKey,\n disabled,\n alignWithTitle = true,\n opened,\n view,\n onChange,\n onClick,\n },\n outerRef,\n ) => {\n const key = eventKey ?? index ?? 0;\n\n const [leftPadding, setLeftPadding] = useState<string | number | null>();\n\n const handleOpen = () => {\n if (disabled) {\n return;\n }\n if (onChange) {\n onChange(key, !value);\n }\n if (onClick) {\n onClick(key, !value);\n }\n };\n\n const leftContentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const leftContentWidth = leftContentRef?.current?.offsetWidth ?? 0;\n const leftPaddingBody =\n leftContentWidth && (alignWithTitle || view === 'clear')\n ? `calc(${leftContentWidth}px + var(${tokens.accordionItemGap}))`\n : 0;\n setLeftPadding(leftPaddingBody);\n }, [value, type, leftContentRef, setLeftPadding]);\n\n const openedBodyClass = opened ?? value ? classes.accordionItemShowBody : undefined;\n\n const StyledAnimationPlus = () => (\n <StyledPlus>\n <StyledMinus size=\"xs\" color=\"inherit\" sizeCustomProperty={tokens.accordionItemIconSize} />\n <StyledMinus\n size=\"xs\"\n color=\"inherit\"\n className={openedBodyClass ?? classes.accordionPlusAnimationElement}\n sizeCustomProperty={tokens.accordionItemIconSize}\n />\n </StyledPlus>\n );\n\n const accordionBorderRadius = convertRoundnessMatrix(pin, `var(${tokens.accordionItemBorderRadius})`, '1.5rem');\n const openedClass = opened ?? value ? classes.accordionItemOpened : '';\n const disabledClass = disabled ? classes.accordionDisabled : '';\n\n const leftContent =\n contentLeft ??\n (type === 'arrow' ? (\n <StyledArrow size=\"xs\" color=\"inherit\" sizeCustomProperty={tokens.accordionItemIconSize} />\n ) : undefined);\n const leftContentRotate = type === 'arrow' && (opened ?? value) ? classes.accordionItemShowBody : undefined;\n\n const rightContent = contentRight ?? (type === 'sign' ? <StyledAnimationPlus /> : undefined);\n const rightContentRotate = type === 'sign' && (opened ?? value) ? classes.accordionItemShowBody : undefined;\n\n return (\n <StyledAccordionItem\n className={cx(classes.accordionItem, className, openedClass, disabledClass)}\n key={key}\n ref={outerRef}\n style={{ borderRadius: accordionBorderRadius, ...style }}\n >\n <StyledAccordionHeader\n role=\"tab\"\n tabIndex={0}\n onClick={handleOpen}\n aria-expanded={opened ?? value}\n aria-controls={`accordion-item-section${key}`}\n id={`accordion-item-${key}`}\n >\n <StyledAccordionHeaderLeft>\n {leftContent && (\n <StyledAccordionContentLeft ref={leftContentRef} className={leftContentRotate}>\n {leftContent}\n </StyledAccordionContentLeft>\n )}\n <StyledAccordionTitle>{title}</StyledAccordionTitle>\n </StyledAccordionHeaderLeft>\n\n {contentRight ||\n (rightContent && (\n <StyledAccordionContentRight className={rightContentRotate}>\n {rightContent && rightContent}\n </StyledAccordionContentRight>\n ))}\n </StyledAccordionHeader>\n <StyledAccordionBodyAnimate\n aria-labelledby={`accordion-item-${key}`}\n aria-hidden={!(opened ?? value)}\n id={`accordion-item-section${key}`}\n className={cx(openedBodyClass)}\n style={{ paddingLeft: `${leftPadding}` }}\n >\n <StyledAccordionBody className={classes.accordionItemBody}>{children}</StyledAccordionBody>\n </StyledAccordionBodyAnimate>\n </StyledAccordionItem>\n );\n },\n);\n"],"names":["AccordionItem","forwardRef","_ref","outerRef","_ref2","value","contentRight","contentLeft","title","_ref$pin","pin","children","_ref$type","type","index","className","style","eventKey","disabled","_ref$alignWithTitle","alignWithTitle","opened","view","onChange","onClick","key","_useState","useState","_useState2","_slicedToArray","leftPadding","setLeftPadding","handleOpen","leftContentRef","useRef","useEffect","_leftContentRef$curre","_leftContentRef$curre2","leftContentWidth","current","offsetWidth","leftPaddingBody","concat","tokens","accordionItemGap","openedBodyClass","classes","accordionItemShowBody","undefined","StyledAnimationPlus","React","createElement","StyledPlus","StyledMinus","size","color","sizeCustomProperty","accordionItemIconSize","accordionPlusAnimationElement","accordionBorderRadius","convertRoundnessMatrix","accordionItemBorderRadius","openedClass","accordionItemOpened","disabledClass","accordionDisabled","leftContent","StyledArrow","leftContentRotate","rightContent","rightContentRotate","StyledAccordionItem","cx","accordionItem","ref","_objectSpread","borderRadius","StyledAccordionHeader","role","tabIndex","id","StyledAccordionHeaderLeft","StyledAccordionContentLeft","StyledAccordionTitle","StyledAccordionContentRight","StyledAccordionBodyAnimate","paddingLeft","StyledAccordionBody","accordionItemBody"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"AccordionItem.js","sources":["../../../../../src/components/Accordion/ui/AccordionItem/AccordionItem.tsx"],"sourcesContent":["import React, { useState, useRef, forwardRef, useEffect } from 'react';\n\nimport { convertRoundnessMatrix } from '../../../../utils/roundness';\nimport { classes, tokens } from '../../Accordion.tokens';\nimport { cx } from '../../../../utils';\n\nimport {\n StyledAccordionItem,\n StyledAccordionHeader,\n StyledAccordionBody,\n StyledAccordionTitle,\n StyledAccordionContentLeft,\n StyledAccordionHeaderLeft,\n StyledAccordionContentRight,\n StyledArrow,\n StyledMinus,\n StyledPlus,\n StyledAccordionBodyAnimate,\n} from './AccordionItem.styles';\nimport type { AccordionItemProps } from './AccordionItem.types';\n\nexport const AccordionItem = forwardRef<HTMLDivElement, AccordionItemProps>(\n (\n {\n value,\n contentRight,\n contentLeft,\n title,\n pin = 'square-square',\n children,\n type = 'sign',\n index,\n className,\n style,\n eventKey,\n disabled,\n alignWithTitle = true,\n opened,\n view,\n onChange,\n onClick,\n },\n outerRef,\n ) => {\n const key = eventKey ?? index ?? 0;\n\n const [leftPadding, setLeftPadding] = useState<string | number | null>();\n\n const handleOpen = () => {\n if (disabled) {\n return;\n }\n if (onChange) {\n onChange(key, !value);\n }\n if (onClick) {\n onClick(key, !value);\n }\n };\n\n const leftContentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const leftContentWidth = leftContentRef?.current?.offsetWidth ?? 0;\n const leftPaddingBody =\n leftContentWidth && (alignWithTitle || view === 'clear')\n ? `calc(${leftContentWidth}px + var(${tokens.accordionItemGap}))`\n : 0;\n setLeftPadding(leftPaddingBody);\n }, [value, type, leftContentRef, setLeftPadding]);\n\n const openedBodyClass = opened ?? value ? classes.accordionItemShowBody : undefined;\n\n const StyledAnimationPlus = () => (\n <StyledPlus>\n <StyledMinus size=\"xs\" color=\"inherit\" sizeCustomProperty={tokens.accordionItemIconSize} />\n <StyledMinus\n size=\"xs\"\n color=\"inherit\"\n className={openedBodyClass ?? classes.accordionPlusAnimationElement}\n sizeCustomProperty={tokens.accordionItemIconSize}\n />\n </StyledPlus>\n );\n\n const accordionBorderRadius = convertRoundnessMatrix(pin, `var(${tokens.accordionItemBorderRadius})`, '1.5rem');\n const openedClass = opened ?? value ? classes.accordionItemOpened : '';\n const disabledClass = disabled ? classes.accordionDisabled : '';\n\n const leftContent =\n contentLeft ??\n (type === 'arrow' ? (\n <StyledArrow size=\"xs\" color=\"inherit\" sizeCustomProperty={tokens.accordionItemIconSize} />\n ) : undefined);\n const leftContentRotate = type === 'arrow' && (opened ?? value) ? classes.accordionItemShowBody : undefined;\n\n const rightContent = contentRight ?? (type === 'sign' ? <StyledAnimationPlus /> : undefined);\n const rightContentRotate = type === 'sign' && (opened ?? value) ? classes.accordionItemShowBody : undefined;\n\n return (\n <StyledAccordionItem\n className={cx(classes.accordionItem, className, openedClass, disabledClass)}\n key={key}\n ref={outerRef}\n style={{ borderRadius: accordionBorderRadius, ...style }}\n >\n <StyledAccordionHeader\n role=\"tab\"\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n handleOpen();\n }\n }}\n tabIndex={0}\n onClick={handleOpen}\n aria-expanded={opened ?? value}\n aria-controls={`accordion-item-section${key}`}\n id={`accordion-item-${key}`}\n >\n <StyledAccordionHeaderLeft>\n {leftContent && (\n <StyledAccordionContentLeft ref={leftContentRef} className={leftContentRotate}>\n {leftContent}\n </StyledAccordionContentLeft>\n )}\n <StyledAccordionTitle>{title}</StyledAccordionTitle>\n </StyledAccordionHeaderLeft>\n\n {contentRight ||\n (rightContent && (\n <StyledAccordionContentRight className={rightContentRotate}>\n {rightContent && rightContent}\n </StyledAccordionContentRight>\n ))}\n </StyledAccordionHeader>\n <StyledAccordionBodyAnimate\n aria-labelledby={`accordion-item-${key}`}\n aria-hidden={!(opened ?? value)}\n id={`accordion-item-section${key}`}\n className={cx(openedBodyClass)}\n style={{ paddingLeft: `${leftPadding}` }}\n >\n <StyledAccordionBody className={classes.accordionItemBody}>{children}</StyledAccordionBody>\n </StyledAccordionBodyAnimate>\n </StyledAccordionItem>\n );\n },\n);\n"],"names":["AccordionItem","forwardRef","_ref","outerRef","_ref2","value","contentRight","contentLeft","title","_ref$pin","pin","children","_ref$type","type","index","className","style","eventKey","disabled","_ref$alignWithTitle","alignWithTitle","opened","view","onChange","onClick","key","_useState","useState","_useState2","_slicedToArray","leftPadding","setLeftPadding","handleOpen","leftContentRef","useRef","useEffect","_leftContentRef$curre","_leftContentRef$curre2","leftContentWidth","current","offsetWidth","leftPaddingBody","concat","tokens","accordionItemGap","openedBodyClass","classes","accordionItemShowBody","undefined","StyledAnimationPlus","React","createElement","StyledPlus","StyledMinus","size","color","sizeCustomProperty","accordionItemIconSize","accordionPlusAnimationElement","accordionBorderRadius","convertRoundnessMatrix","accordionItemBorderRadius","openedClass","accordionItemOpened","disabledClass","accordionDisabled","leftContent","StyledArrow","leftContentRotate","rightContent","rightContentRotate","StyledAccordionItem","cx","accordionItem","ref","_objectSpread","borderRadius","StyledAccordionHeader","role","onKeyDown","e","tabIndex","id","StyledAccordionHeaderLeft","StyledAccordionContentLeft","StyledAccordionTitle","StyledAccordionContentRight","StyledAccordionBodyAnimate","paddingLeft","StyledAccordionBody","accordionItemBody"],"mappings":"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"}
|
@@ -3,7 +3,7 @@ import { styled } from '@linaria/react';
|
|
3
3
|
import { IconChevronDownFill } from '../../../_Icon/Icons/IconChevronDownFill.js';
|
4
4
|
import { IconMinus } from '../../../_Icon/Icons/IconMinus.js';
|
5
5
|
|
6
|
-
var StyledAccordionHeader = /*#__PURE__*/styled('
|
6
|
+
var StyledAccordionHeader = /*#__PURE__*/styled('div')({
|
7
7
|
name: "StyledAccordionHeader",
|
8
8
|
"class": "s1d847tf",
|
9
9
|
propsAsIs: false
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"AccordionItem.styles.js","sources":["../../../../../src/components/Accordion/ui/AccordionItem/AccordionItem.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { IconChevronDownFill, IconMinus } from '../../../_Icon';\nimport { classes, tokens } from '../../Accordion.tokens';\nimport { addFocus } from '../../../../mixins';\n\nexport const StyledAccordionHeader = styled.
|
1
|
+
{"version":3,"file":"AccordionItem.styles.js","sources":["../../../../../src/components/Accordion/ui/AccordionItem/AccordionItem.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { IconChevronDownFill, IconMinus } from '../../../_Icon';\nimport { classes, tokens } from '../../Accordion.tokens';\nimport { addFocus } from '../../../../mixins';\n\nexport const StyledAccordionHeader = styled.div`\n width: 100%;\n border: none;\n padding: var(${tokens.accordionItemPadding});\n display: flex;\n gap: var(${tokens.accordionItemGap});\n justify-content: space-between;\n align-items: center;\n background: none;\n box-sizing: border-box;\n cursor: pointer;\n\n &:focus {\n outline: none;\n }\n\n ${addFocus({\n outlineOffset: '0.125rem',\n outlineSize: '0.125rem',\n outlineRadius: '0',\n outlineColor: `var(${tokens.accordionItemFocus})`,\n })}\n`;\n\nexport const StyledAccordionHeaderLeft = styled.div`\n display: flex;\n gap: var(${tokens.accordionItemHeaderLeftGap}, var(${tokens.accordionItemGap}));\n justify-content: space-between;\n align-items: center;\n`;\n\nexport const StyledAccordionContentRight = styled.div`\n transition: 0.2s;\n transform: rotate(90deg);\n\n &.${classes.accordionItemShowBody} {\n transition: 0.2s;\n transform: rotate(0deg);\n }\n`;\n\nexport const StyledAccordionContentLeft = styled.div`\n transition: 0.2s;\n display: flex;\n align-items: center;\n\n &.${classes.accordionItemShowBody} {\n transition: 0.2s;\n transform: rotate(180deg);\n }\n`;\n\nexport const StyledAccordionTitle = styled.div`\n color: var(${tokens.accordionItemTitleColor});\n font-family: var(${tokens.accordionItemTitleFontFamily});\n font-size: var(${tokens.accordionItemTitleFontSize});\n font-weight: var(${tokens.accordionItemTitleFontWeight});\n font-style: var(${tokens.accordionItemTitleFontStyle});\n letter-spacing: var(${tokens.accordionItemTitleLetterSpacing});\n line-height: var(${tokens.accordionItemTitleLineHeight});\n text-align: left;\n`;\n\nexport const StyledAccordionBodyAnimate = styled.div`\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.2s ease-out;\n overflow: hidden;\n\n &.${classes.accordionItemShowBody} {\n grid-template-rows: 1fr;\n padding-bottom: var(${tokens.accordionItemBodyPaddingBottom}, var(${tokens.accordionItemPaddingVertical}));\n\n &.${classes.accordionPlusAnimationElement} {\n transition: 0.2s;\n transform: rotate(0deg);\n }\n }\n`;\n\nexport const StyledAccordionBody = styled.div`\n color: var(${tokens.accordionItemTextColor});\n font-family: var(${tokens.accordionItemTextFontFamily});\n font-size: var(${tokens.accordionItemTextFontSize});\n font-weight: var(${tokens.accordionItemTextFontWeight});\n font-style: var(${tokens.accordionItemTextFontStyle});\n letter-spacing: var(${tokens.accordionItemTextLetterSpacing});\n line-height: var(${tokens.accordionItemTextLineHeight});\n overflow: hidden;\n padding-right: var(${tokens.accordionItemPaddingHorizontal});\n padding-left: var(${tokens.accordionItemPaddingHorizontalLeft});\n text-align: left;\n`;\n\nexport const StyledArrow = styled(IconChevronDownFill)`\n pointer-events: none;\n user-select: none;\n color: var(${tokens.accordionItemIconColor});\n`;\n\nexport const StyledMinus = styled(IconMinus)`\n pointer-events: none;\n user-select: none;\n color: var(${tokens.accordionItemIconColor});\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n\n &.${classes.accordionPlusAnimationElement} {\n transition: 0.2s;\n transform: rotate(90deg);\n }\n\n &.${classes.accordionItemShowBody} {\n transition: 0.2s;\n transform: rotate(0deg);\n color: var(${tokens.accordionItemOpenedTitleColor}, var(${tokens.accordionItemIconColor}));\n }\n`;\n\nexport const StyledPlus = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(${tokens.accordionItemIconSize}, 1rem);\n height: var(${tokens.accordionItemIconSize}, 1rem);\n`;\n\nexport const StyledAccordionItem = styled.div`\n background: var(${tokens.accordionItemBackground});\n border: var(${tokens.accordionItemBorder});\n border-bottom: var(${tokens.accordionItemBorderBottom});\n box-shadow: var(${tokens.accordionItemShadow});\n\n &:last-child {\n border-bottom: var(${tokens.accordionItemBorder});\n }\n\n &.${classes.accordionDisabled} {\n opacity: 0.4;\n cursor: not-allowed;\n }\n\n &.${classes.accordionItemOpened} {\n ${StyledArrow} {\n color: var(${tokens.accordionItemOpenedTitleColor}, var(${tokens.accordionItemIconColor}));\n }\n\n ${StyledAccordionTitle} {\n color: var(${tokens.accordionItemOpenedTitleColor}, var(${tokens.accordionItemTitleColor}));\n }\n }\n`;\n"],"names":["StyledAccordionHeader","styled","name","class","propsAsIs","StyledAccordionHeaderLeft","StyledAccordionContentRight","StyledAccordionContentLeft","StyledAccordionTitle","StyledAccordionBodyAnimate","StyledAccordionBody","_exp28","IconChevronDownFill","StyledArrow","_exp30","IconMinus","StyledMinus","StyledPlus","StyledAccordionItem"],"mappings":";;;;AAMO,IAAMA,qBAAqB,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,uBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAsB1C,EAAA;AAEM,IAAMC,yBAAyB,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,2BAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAK9C,EAAA;AAEM,IAAME,2BAA2B,gBAAGL,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,6BAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAQhD,EAAA;AAEM,IAAMG,0BAA0B,gBAAGN,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,4BAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAS/C,EAAA;AAEM,IAAMI,oBAAoB,gBAAGP,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,sBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CASzC,EAAA;AAEM,IAAMK,0BAA0B,gBAAGR,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,4BAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAe/C,EAAA;AAEM,IAAMM,mBAAmB,gBAAGT,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,qBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAYxC,EAAA;AAAC,IAAAO,MAAA,GAjGgBA,SAiGhBA,MAAAA,GAAA;AAAA,EAAA,OAEgCC,mBAAmB,CAAA;AAAA,CAAA,CAAA;AAA9C,IAAMC,WAAW,gBAAGZ,MAAM,CAAAU,MAAA,EAAA,CAAA,CAAA;AAAAT,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAIhC,EAAA;AAAC,IAAAU,MAAA,GAvGgBA,SAuGhBA,MAAAA,GAAA;AAAA,EAAA,OAEgCC,SAAS,CAAA;AAAA,CAAA,CAAA;AAApC,IAAMC,WAAW,gBAAGf,MAAM,CAAAa,MAAA,EAAA,CAAA,CAAA;AAAAZ,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAoBhC,EAAA;AAEM,IAAMa,UAAU,gBAAGhB,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAO/B,EAAA;AAEM,IAAMc,mBAAmB,gBAAGjB,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,qBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAwBxC;;;;"}
|
@@ -251,7 +251,7 @@ var comboboxRoot = function comboboxRoot(Root) {
|
|
251
251
|
var checkedCopy = new Map(checked);
|
252
252
|
if (!checkedCopy.get(item.value)) {
|
253
253
|
checkedCopy.set(item.value, true);
|
254
|
-
updateDescendants(item, checkedCopy, true);
|
254
|
+
updateDescendants(item, checkedCopy, true, valueToItemMap);
|
255
255
|
} else {
|
256
256
|
checkedCopy.set(item.value, false);
|
257
257
|
updateDescendants(item, checkedCopy, false);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent, ForwardedRef } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../engines';\nimport { isEmpty } from '../../../utils';\nimport { useOutsideClick } from '../../../hooks';\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n getInitialValue,\n} from './utils';\nimport { Inner, StyledTextField } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport { Ul, base, StyledArrow, IconArrowWrapper, StyledEmptyState } from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n hintView,\n hintSize,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, labelToItemMap] = useMemo(() => getTreeMaps(transformedItems), [\n items,\n ]);\n\n const [textValue, setTextValue] = useState(valueToItemMap.get(outerValue as string)?.label || '');\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value =\n outerValue !== null && outerValue !== undefined\n ? getInitialValue(outerValue, valueToItemMap)\n : internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n\n const filteredItems = filterItems(\n transformedItems,\n textValue,\n valueToItemMap.get(value as string)?.label as string,\n filter,\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = alwaysOpened || Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (textValue !== value) {\n if (isEmpty(value)) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n }\n }\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null) => {\n // Условие для отправки изменений наружу\n if (outerOnChange) {\n // Условие для отправки если комбобокс используется без формы.\n if (!name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n outerOnChange(newValue as any);\n }\n\n // Условие для отправки если комбобокс используется с формой.\n if (name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n outerOnChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = () => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isCurrentListOpen) {\n dispatchPath({ type: 'reset' });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n }\n\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик чипов\n const handleChipsChange = (chipLabels: any[]) => {\n if (!Array.isArray(value)) return;\n\n // TODO: #1564\n // Из лейблов чипов получаем value у item и далее прокидываем его в onChange.\n if (renderValue && !isTargetAmount) {\n const resultValues = [...value];\n\n value.forEach((_, index) => {\n const labelAfterRenderValue = renderValue(\n labelToItemMap.get(valueToItemMap.get(value[index])!.label)!,\n );\n\n if (!chipLabels.includes(labelAfterRenderValue)) {\n resultValues.splice(index, 1);\n }\n });\n\n onChange(resultValues);\n } else {\n onChange(chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)!.value));\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\n }\n\n // После выбора/снятия чекбокса скроллим к инпуту\n setTimeout(() => {\n if (inputRef.current) {\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n inline: 'start',\n });\n }\n }, 1);\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value);\n }\n };\n\n const getChips = (): string[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [`Выбрано ${targetAmount || value.length}`];\n }\n\n const renderValueMapper =\n renderValue && ((stringValue: string) => renderValue(valueToItemMap.get(stringValue)!));\n const valueToItemMapper = (stringValue: string) => valueToItemMap.get(stringValue)!.label;\n\n return value.map(renderValueMapper || valueToItemMapper);\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n setTextValue,\n multiple,\n value,\n textValue,\n valueToItemMap,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={(opened: boolean) => opened && handleListToggle(true)}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n target={(referenceRef) => (\n <StyledTextField\n ref={name ? inputRef : (inputForkRef as ForwardedRef<HTMLInputElement>)}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper disabled={disabled} onClick={handleClickArrow}>\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={helperText}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''\n }\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n {...(multiple\n ? {\n enumerationType: 'chip',\n chips: getChips(),\n onChangeChips: handleChipsChange,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n )}\n zIndex={zIndex}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n >\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n ref={targetRef}\n >\n {beforeList}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description=\"Ничего не найдено\"\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))\n )}\n\n {afterList}\n </Ul>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","props","ref","_valueToItemMap$get","_valueToItemMap$get2","_getItemByFocused","name","multiple","outerValue","value","outerOnChange","onChange","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listOverflow","listHeight","listWidth","portal","renderItem","view","size","labelPlacement","keepPlaceholder","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","zIndex","beforeList","afterList","hintView","hintSize","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","get","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","getInitialValue","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","targetRef","useOutsideClick","type","isEmpty","_valueToItemMap$get3","newValue","Array","isArray","_typeof","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","resultValues","_toConsumableArray","forEach","_","index","labelAfterRenderValue","includes","splice","map","chipLabel","handleListToggle","opened","handleCheckboxChange","item","checkedCopy","Map","set","updateDescendants","updateAncestors","newValues","key","push","setTimeout","current","scrollIntoView","behavior","inline","handleItemClick","stopPropagation","isCurrentChecked","getChips","length","concat","renderValueMapper","stringValue","valueToItemMapper","handlePressDown","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_valueToItemMap$get4","val","updateSingleAncestors","React","createElement","SelectNative","onSetValue","Context","Provider","FloatingPopover","onToggle","referenceRef","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","onClick","StyledArrow","color","sizeToIconSize","className","leftHelper","role","getItemId","enumerationType","chips","onChangeChips","onEnterDisabled","Ul","id","StyledEmptyState","emptyStateWrapper","description","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Combobox.js","sources":["../../../../src/components/Combobox/ComboboxNew/Combobox.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, useLayoutEffect, useRef } from 'react';\nimport type { ChangeEvent, ForwardedRef } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../engines';\nimport { isEmpty } from '../../../utils';\nimport { useOutsideClick } from '../../../hooks';\nimport { sizeToIconSize } from '../../Select/utils';\n\nimport { classes } from './Combobox.tokens';\nimport { FloatingPopover } from './FloatingPopover';\nimport { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';\nimport {\n initialItemsTransform,\n updateAncestors,\n updateDescendants,\n updateSingleAncestors,\n filterItems,\n getItemId,\n getInitialValue,\n} from './utils';\nimport { Inner, StyledTextField } from './ui';\nimport { pathReducer, focusedPathReducer } from './reducers';\nimport { getPathMap, getTreeMaps } from './hooks/getPathMaps';\nimport { Ul, base, StyledArrow, IconArrowWrapper, StyledEmptyState } from './Combobox.styles';\nimport type { ComboboxProps } from './Combobox.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed } from './ui/Inner/ui/Item/Item.types';\nimport { SelectNative } from './ui/SelectNative/SelectNative';\nimport { Context } from './Combobox.context';\n\n/**\n * Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.\n */\n\nexport const comboboxRoot = (Root: RootProps<HTMLInputElement, Omit<ComboboxProps, 'items'>>) =>\n forwardRef<HTMLInputElement, ComboboxProps>((props, ref) => {\n const {\n name,\n multiple,\n value: outerValue,\n onChange: outerOnChange,\n defaultValue,\n isTargetAmount,\n targetAmount,\n items,\n placement = 'bottom-start',\n label,\n placeholder,\n helperText,\n contentLeft,\n textBefore,\n textAfter,\n variant = 'normal',\n listOverflow,\n listHeight,\n listWidth,\n portal,\n renderItem,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n readOnly = false,\n disabled = false,\n alwaysOpened = false,\n filter,\n closeAfterSelect: outerCloseAfterSelect,\n renderValue,\n zIndex,\n beforeList,\n afterList,\n hintView,\n hintSize,\n ...rest\n } = props;\n\n const transformedItems = useMemo(() => initialItemsTransform(items || []), [items]);\n\n // Создаем структуры для быстрой работы с деревом\n const [valueToCheckedMap, valueToItemMap, labelToItemMap] = useMemo(() => getTreeMaps(transformedItems), [\n items,\n ]);\n\n const [textValue, setTextValue] = useState(valueToItemMap.get(outerValue as string)?.label || '');\n const [internalValue, setInternalValue] = useState<string | string[]>(multiple ? [] : '');\n\n const value =\n outerValue !== null && outerValue !== undefined\n ? getInitialValue(outerValue, valueToItemMap)\n : internalValue;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const treeId = safeUseId();\n\n const filteredItems = filterItems(\n transformedItems,\n textValue,\n valueToItemMap.get(value as string)?.label as string,\n filter,\n );\n\n const [pathMap, focusedToValueMap] = useMemo(() => getPathMap(filteredItems), [filteredItems, textValue]);\n\n // Состояния дерева элементов\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const isCurrentListOpen = alwaysOpened || Boolean(path[0]);\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n const withArrowInverse = isCurrentListOpen ? classes.arrowInverse : undefined;\n const closeAfterSelect = outerCloseAfterSelect ?? !multiple;\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n if (!isCurrentListOpen) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n // Проверяем, отличается ли значение в инпуте от выбранного value после закрытия дропдауна.\n // Если изменилось, то возвращаем label выбранного айтема.\n // Если нет выбранного элемента, то стираем значение инпута.\n if (textValue !== value) {\n if (isEmpty(value)) {\n setTextValue('');\n } else {\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n }\n }\n }, floatingPopoverRef);\n\n // Эта функция срабатывает при изменении Combobox и\n // при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).\n const onChange = (newValue: string | Array<string> | ChangeEvent<HTMLSelectElement> | null) => {\n // Условие для отправки изменений наружу\n if (outerOnChange) {\n // Условие для отправки если комбобокс используется без формы.\n if (!name && (typeof newValue === 'string' || Array.isArray(newValue))) {\n outerOnChange(newValue as any);\n }\n\n // Условие для отправки если комбобокс используется с формой.\n if (name && typeof newValue === 'object' && !Array.isArray(newValue)) {\n outerOnChange(newValue as any);\n }\n }\n\n // Условие для изменения внутреннего значения (только если newValue строка или массив строк).\n if (typeof newValue === 'string' || Array.isArray(newValue)) {\n setInternalValue(newValue);\n }\n };\n\n const handleClickArrow = () => {\n if (disabled || readOnly) {\n return;\n }\n\n if (isCurrentListOpen) {\n dispatchPath({ type: 'reset' });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n }\n\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик изменения значения в инпуте\n const handleTextValueChange = (e: ChangeEvent<HTMLInputElement>) => {\n setTextValue(e.target.value);\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'reset' });\n };\n\n // Обработчик чипов\n const handleChipsChange = (chipLabels: any[]) => {\n if (!Array.isArray(value)) return;\n\n // TODO: #1564\n // Из лейблов чипов получаем value у item и далее прокидываем его в onChange.\n if (renderValue && !isTargetAmount) {\n const resultValues = [...value];\n\n value.forEach((_, index) => {\n const labelAfterRenderValue = renderValue(\n labelToItemMap.get(valueToItemMap.get(value[index])!.label)!,\n );\n\n if (!chipLabels.includes(labelAfterRenderValue)) {\n resultValues.splice(index, 1);\n }\n });\n\n onChange(resultValues);\n } else {\n onChange(chipLabels.map((chipLabel) => labelToItemMap.get(chipLabel)!.value));\n }\n };\n\n // Обработчик открытия/закрытия выпадающего списка\n const handleListToggle = (opened: boolean) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n };\n\n // Обработчик выбора чекбоксов (только при multiple)\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n if (!multiple) {\n return;\n }\n\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value)) {\n checkedCopy.set(item.value, true);\n updateDescendants(item, checkedCopy, true, valueToItemMap);\n } else {\n checkedCopy.set(item.value, false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value);\n }\n });\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(newValues);\n }\n\n // После выбора/снятия чекбокса скроллим к инпуту\n setTimeout(() => {\n if (inputRef.current) {\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n inline: 'start',\n });\n }\n }, 1);\n };\n\n // Обработчик клика по айтему выпадающего списка\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (!isEmpty(item?.items)) {\n return;\n }\n\n if (multiple) {\n handleCheckboxChange(item);\n return;\n }\n\n if (e) {\n e.stopPropagation();\n }\n\n const isCurrentChecked = checked.get(item.value);\n\n if (!alwaysOpened && closeAfterSelect) {\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n }\n\n if (onChange) {\n onChange(isCurrentChecked ? '' : item.value);\n }\n };\n\n const getChips = (): string[] => {\n if (multiple && Array.isArray(value)) {\n if (value.length === 0) return [];\n\n if (isTargetAmount) {\n return [`Выбрано ${targetAmount || value.length}`];\n }\n\n const renderValueMapper =\n renderValue && ((stringValue: string) => renderValue(valueToItemMap.get(stringValue)!));\n const valueToItemMapper = (stringValue: string) => valueToItemMap.get(stringValue)!.label;\n\n return value.map(renderValueMapper || valueToItemMapper);\n }\n\n return [];\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiple) {\n handleCheckboxChange(item);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleListToggle,\n handlePressDown,\n setTextValue,\n multiple,\n value,\n textValue,\n valueToItemMap,\n });\n\n // В данном эффекте мы следим за изменениями value снаружи и вносим коррективы в дерево чекбоксов.\n // Пример: когда юзер очистил value извне, тогда нужно пройтись по элементам и выключить все чекбоксы.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (Array.isArray(value)) {\n value.forEach((val) => {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value, 'done');\n updateSingleAncestors(valueToItemMap.get(value)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n\n setTextValue(valueToItemMap.get(value as string)?.label || '');\n\n // В deps мы кладем именно outerValue и internalValue, а не просто value.\n // Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.\n // А переменную, содержащую сложные типы данных, нельзя помещать в deps.\n }, [outerValue, internalValue, items]);\n\n useLayoutEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n hintView={hintView}\n hintSize={hintSize}\n >\n {name && (\n <SelectNative\n items={valueToItemMap}\n name={name}\n value={internalValue}\n multiple={multiple}\n onChange={onChange}\n onSetValue={setInternalValue}\n ref={ref as ForwardedRef<HTMLInputElement>}\n />\n )}\n <div>\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={(opened: boolean) => opened && handleListToggle(true)}\n placement={placement}\n portal={portal}\n listWidth={listWidth}\n target={(referenceRef) => (\n <StyledTextField\n ref={name ? inputRef : (inputForkRef as ForwardedRef<HTMLInputElement>)}\n inputWrapperRef={referenceRef}\n value={textValue}\n onChange={handleTextValueChange}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={\n <IconArrowWrapper disabled={disabled} onClick={handleClickArrow}>\n <StyledArrow\n color=\"inherit\"\n size={sizeToIconSize(size)}\n className={withArrowInverse}\n />\n </IconArrowWrapper>\n }\n textBefore={textBefore}\n textAfter={textAfter}\n onKeyDown={onKeyDown}\n leftHelper={helperText}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={`${treeId}_tree_level_1`}\n aria-expanded={isCurrentListOpen}\n aria-activedescendant={\n activeDescendantItemValue ? getItemId(treeId, activeDescendantItemValue) : ''\n }\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n {...(multiple\n ? {\n enumerationType: 'chip',\n chips: getChips(),\n onChangeChips: handleChipsChange,\n }\n : { enumerationType: 'plain' })}\n {...rest}\n onEnterDisabled // Пропс для отключения обработчика Enter внутри Textfield\n />\n )}\n zIndex={zIndex}\n >\n <Root\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n name={name}\n >\n <Ul\n role=\"tree\"\n id={`${treeId}_tree_level_1`}\n aria-multiselectable={Boolean(multiple)}\n listHeight={listHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n ref={targetRef}\n >\n {beforeList}\n\n {isEmpty(filteredItems) ? (\n <StyledEmptyState\n className={classes.emptyStateWrapper}\n size={size}\n description=\"Ничего не найдено\"\n />\n ) : (\n filteredItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))\n )}\n\n {afterList}\n </Ul>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n </div>\n </Root>\n );\n });\n\nexport const comboboxConfig = {\n name: 'Select',\n tag: 'div',\n layout: comboboxRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n readOnly: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n labelPlacement: 'outer',\n },\n};\n"],"names":["comboboxRoot","Root","forwardRef","props","ref","_valueToItemMap$get","_valueToItemMap$get2","_getItemByFocused","name","multiple","outerValue","value","outerOnChange","onChange","defaultValue","isTargetAmount","targetAmount","items","_props$placement","placement","label","placeholder","helperText","contentLeft","textBefore","textAfter","_props$variant","variant","listOverflow","listHeight","listWidth","portal","renderItem","view","size","labelPlacement","keepPlaceholder","_props$readOnly","readOnly","_props$disabled","disabled","_props$alwaysOpened","alwaysOpened","filter","outerCloseAfterSelect","closeAfterSelect","renderValue","zIndex","beforeList","afterList","hintView","hintSize","rest","_objectWithoutProperties","_excluded","transformedItems","useMemo","initialItemsTransform","_useMemo","getTreeMaps","_useMemo2","_slicedToArray","valueToCheckedMap","valueToItemMap","labelToItemMap","_useState","useState","get","_useState2","textValue","setTextValue","_useState3","_useState4","internalValue","setInternalValue","undefined","getInitialValue","inputRef","useRef","floatingPopoverRef","inputForkRef","useForkRef","treeId","safeUseId","filteredItems","filterItems","_useMemo3","getPathMap","_useMemo4","pathMap","focusedToValueMap","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useState5","_useState6","checked","setChecked","isCurrentListOpen","Boolean","activeDescendantItemValue","getItemByFocused","withArrowInverse","classes","arrowInverse","targetRef","useOutsideClick","type","isEmpty","_valueToItemMap$get3","newValue","Array","isArray","_typeof","handleClickArrow","handleTextValueChange","e","target","handleChipsChange","chipLabels","resultValues","_toConsumableArray","forEach","_","index","labelAfterRenderValue","includes","splice","map","chipLabel","handleListToggle","opened","handleCheckboxChange","item","checkedCopy","Map","set","updateDescendants","updateAncestors","newValues","key","push","setTimeout","current","scrollIntoView","behavior","inline","handleItemClick","stopPropagation","isCurrentChecked","getChips","length","concat","renderValueMapper","stringValue","valueToItemMapper","handlePressDown","_useKeyNavigation","useKeyNavigation","onKeyDown","useLayoutEffect","_valueToItemMap$get4","val","updateSingleAncestors","React","createElement","SelectNative","onSetValue","Context","Provider","FloatingPopover","onToggle","referenceRef","StyledTextField","_extends","inputWrapperRef","contentRight","IconArrowWrapper","onClick","StyledArrow","color","sizeToIconSize","className","leftHelper","role","getItemId","enumerationType","chips","onChangeChips","onEnterDisabled","Ul","id","StyledEmptyState","emptyStateWrapper","description","Inner","currentLevel","comboboxConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA;AACA;AACA;;IAEaA,YAAY,GAAG,SAAfA,YAAYA,CAAIC,IAA+D,EAAA;AAAA,EAAA,oBACxFC,UAAU,CAAkC,UAACC,KAAK,EAAEC,GAAG,EAAK;AAAA,IAAA,IAAAC,mBAAA,EAAAC,oBAAA,EAAAC,iBAAA,CAAA;AACxD,IAAA,IACIC,IAAI,GAqCJL,KAAK,CArCLK,IAAI;MACJC,QAAQ,GAoCRN,KAAK,CApCLM,QAAQ;MACDC,UAAU,GAmCjBP,KAAK,CAnCLQ,KAAK;MACKC,aAAa,GAkCvBT,KAAK,CAlCLU,QAAQ;MACRC,YAAY,GAiCZX,KAAK,CAjCLW,YAAY;MACZC,cAAc,GAgCdZ,KAAK,CAhCLY,cAAc;MACdC,YAAY,GA+BZb,KAAK,CA/BLa,YAAY;MACZC,KAAK,GA8BLd,KAAK,CA9BLc,KAAK;MAAAC,gBAAA,GA8BLf,KAAK,CA7BLgB,SAAS;AAATA,MAAAA,SAAS,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,cAAc,GAAAA,gBAAA;MAC1BE,KAAK,GA4BLjB,KAAK,CA5BLiB,KAAK;MACLC,WAAW,GA2BXlB,KAAK,CA3BLkB,WAAW;MACXC,UAAU,GA0BVnB,KAAK,CA1BLmB,UAAU;MACVC,WAAW,GAyBXpB,KAAK,CAzBLoB,WAAW;MACXC,UAAU,GAwBVrB,KAAK,CAxBLqB,UAAU;MACVC,SAAS,GAuBTtB,KAAK,CAvBLsB,SAAS;MAAAC,cAAA,GAuBTvB,KAAK,CAtBLwB,OAAO;AAAPA,MAAAA,OAAO,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,cAAA;MAClBE,YAAY,GAqBZzB,KAAK,CArBLyB,YAAY;MACZC,UAAU,GAoBV1B,KAAK,CApBL0B,UAAU;MACVC,SAAS,GAmBT3B,KAAK,CAnBL2B,SAAS;MACTC,MAAM,GAkBN5B,KAAK,CAlBL4B,MAAM;MACNC,UAAU,GAiBV7B,KAAK,CAjBL6B,UAAU;MACVC,IAAI,GAgBJ9B,KAAK,CAhBL8B,IAAI;MACJC,IAAI,GAeJ/B,KAAK,CAfL+B,IAAI;MACJC,cAAc,GAcdhC,KAAK,CAdLgC,cAAc;MACdC,eAAe,GAafjC,KAAK,CAbLiC,eAAe;MAAAC,eAAA,GAaflC,KAAK,CAZLmC,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MAAAE,eAAA,GAYhBpC,KAAK,CAXLqC,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;MAAAE,mBAAA,GAWhBtC,KAAK,CAVLuC,YAAY;AAAZA,MAAAA,YAAY,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,mBAAA;MACpBE,MAAM,GASNxC,KAAK,CATLwC,MAAM;MACYC,qBAAqB,GAQvCzC,KAAK,CARL0C,gBAAgB;MAChBC,WAAW,GAOX3C,KAAK,CAPL2C,WAAW;MACXC,MAAM,GAMN5C,KAAK,CANL4C,MAAM;MACNC,UAAU,GAKV7C,KAAK,CALL6C,UAAU;MACVC,SAAS,GAIT9C,KAAK,CAJL8C,SAAS;MACTC,QAAQ,GAGR/C,KAAK,CAHL+C,QAAQ;MACRC,QAAQ,GAERhD,KAAK,CAFLgD,QAAQ;AACLC,MAAAA,IAAI,GAAAC,wBAAA,CACPlD,KAAK,EAAAmD,SAAA,CAAA,CAAA;IAET,IAAMC,gBAAgB,GAAGC,OAAO,CAAC,YAAA;AAAA,MAAA,OAAMC,qBAAqB,CAACxC,KAAK,IAAI,EAAE,CAAC,CAAA;KAAE,EAAA,CAACA,KAAK,CAAC,CAAC,CAAA;;AAEnF;IACA,IAAAyC,QAAA,GAA4DF,OAAO,CAAC,YAAA;QAAA,OAAMG,WAAW,CAACJ,gBAAgB,CAAC,CAAA;OAAE,EAAA,CACrGtC,KAAK,CACR,CAAC;MAAA2C,SAAA,GAAAC,cAAA,CAAAH,QAAA,EAAA,CAAA,CAAA;AAFKI,MAAAA,iBAAiB,GAAAF,SAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,cAAc,GAAAH,SAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,cAAc,GAAAJ,SAAA,CAAA,CAAA,CAAA,CAAA;IAIxD,IAAAK,SAAA,GAAkCC,QAAQ,CAAC,EAAA7D,mBAAA,GAAA0D,cAAc,CAACI,GAAG,CAACzD,UAAoB,CAAC,cAAAL,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAxCA,mBAAA,CAA0Ce,KAAK,KAAI,EAAE,CAAC;MAAAgD,UAAA,GAAAP,cAAA,CAAAI,SAAA,EAAA,CAAA,CAAA;AAA1FI,MAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAC9B,IAAAG,UAAA,GAA0CL,QAAQ,CAAoBzD,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC;MAAA+D,UAAA,GAAAX,cAAA,CAAAU,UAAA,EAAA,CAAA,CAAA;AAAlFE,MAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtC,IAAA,IAAM7D,KAAK,GACPD,UAAU,KAAK,IAAI,IAAIA,UAAU,KAAKiE,SAAS,GACzCC,eAAe,CAAClE,UAAU,EAAEqD,cAAc,CAAC,GAC3CU,aAAa,CAAA;AAEvB,IAAA,IAAMI,QAAQ,GAAGC,MAAM,CAAmB,IAAI,CAAC,CAAA;AAC/C,IAAA,IAAMC,kBAAkB,GAAGD,MAAM,CAAiB,IAAI,CAAC,CAAA;AACvD,IAAA,IAAME,YAAY,GAAGC,UAAU,CAACJ,QAAQ,EAAEzE,GAAG,CAAC,CAAA;AAC9C,IAAA,IAAM8E,MAAM,GAAGC,SAAS,EAAE,CAAA;IAE1B,IAAMC,aAAa,GAAGC,WAAW,CAC7B9B,gBAAgB,EAChBc,SAAS,EAAA,CAAA/D,oBAAA,GACTyD,cAAc,CAACI,GAAG,CAACxD,KAAe,CAAC,MAAA,IAAA,IAAAL,oBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnCA,oBAAA,CAAqCc,KAAK,EAC1CuB,MACJ,CAAC,CAAA;IAED,IAAA2C,SAAA,GAAqC9B,OAAO,CAAC,YAAA;QAAA,OAAM+B,UAAU,CAACH,aAAa,CAAC,CAAA;AAAA,OAAA,EAAE,CAACA,aAAa,EAAEf,SAAS,CAAC,CAAC;MAAAmB,SAAA,GAAA3B,cAAA,CAAAyB,SAAA,EAAA,CAAA,CAAA;AAAlGG,MAAAA,OAAO,GAAAD,SAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,iBAAiB,GAAAF,SAAA,CAAA,CAAA,CAAA,CAAA;;AAEjC;AACA,IAAA,IAAAG,WAAA,GAA6BC,UAAU,CAACC,WAAW,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAjC,cAAA,CAAA8B,WAAA,EAAA,CAAA,CAAA;AAAjDI,MAAAA,IAAI,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACzB,IAAA,IAAAG,YAAA,GAA2CL,UAAU,CAACM,kBAAkB,EAAE,EAAE,CAAC;MAAAC,YAAA,GAAAtC,cAAA,CAAAoC,YAAA,EAAA,CAAA,CAAA;AAAtEG,MAAAA,WAAW,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,mBAAmB,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AACvC,IAAA,IAAAG,UAAA,GAA8BpC,QAAQ,CAACJ,iBAAiB,CAAC;MAAAyC,UAAA,GAAA1C,cAAA,CAAAyC,UAAA,EAAA,CAAA,CAAA;AAAlDE,MAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAE1B,IAAMG,iBAAiB,GAAGhE,YAAY,IAAIiE,OAAO,CAACZ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AAC1D,IAAA,IAAMa,yBAAyB,GAAG,CAAA,CAAArG,iBAAA,GAAAsG,gBAAgB,CAACT,WAAW,EAAEV,iBAAiB,CAAC,cAAAnF,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhDA,iBAAA,CAAkDI,KAAK,KAAI,EAAE,CAAA;IAC/F,IAAMmG,gBAAgB,GAAGJ,iBAAiB,GAAGK,OAAO,CAACC,YAAY,GAAGrC,SAAS,CAAA;IAC7E,IAAM9B,gBAAgB,GAAGD,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,KAArBA,KAAAA,CAAAA,GAAAA,qBAAqB,GAAI,CAACnC,QAAQ,CAAA;;AAE3D;AACA,IAAA,IAAMwG,SAAS,GAAGC,eAAe,CAAmB,YAAM;MACtD,IAAI,CAACR,iBAAiB,EAAE;AACpB,QAAA,OAAA;AACJ,OAAA;AAEAV,MAAAA,YAAY,CAAC;AAAEmB,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;AAC/Bd,MAAAA,mBAAmB,CAAC;AAAEc,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;;AAEtC;AACA;AACA;MACA,IAAI9C,SAAS,KAAK1D,KAAK,EAAE;AACrB,QAAA,IAAIyG,OAAO,CAACzG,KAAK,CAAC,EAAE;UAChB2D,YAAY,CAAC,EAAE,CAAC,CAAA;AACpB,SAAC,MAAM;AAAA,UAAA,IAAA+C,oBAAA,CAAA;AACH/C,UAAAA,YAAY,CAAC,CAAA+C,CAAAA,oBAAA,GAAAtD,cAAc,CAACI,GAAG,CAACxD,KAAe,CAAC,MAAA,IAAA,IAAA0G,oBAAA,KAAnCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAqCjG,KAAK,KAAI,EAAE,CAAC,CAAA;AAClE,SAAA;AACJ,OAAA;KACH,EAAE2D,kBAAkB,CAAC,CAAA;;AAEtB;AACA;AACA,IAAA,IAAMlE,QAAQ,GAAG,SAAXA,QAAQA,CAAIyG,QAAwE,EAAK;AAC3F;AACA,MAAA,IAAI1G,aAAa,EAAE;AACf;AACA,QAAA,IAAI,CAACJ,IAAI,KAAK,OAAO8G,QAAQ,KAAK,QAAQ,IAAIC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,CAAC,EAAE;UACpE1G,aAAa,CAAC0G,QAAe,CAAC,CAAA;AAClC,SAAA;;AAEA;AACA,QAAA,IAAI9G,IAAI,IAAIiH,OAAA,CAAOH,QAAQ,CAAK,KAAA,QAAQ,IAAI,CAACC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE;UAClE1G,aAAa,CAAC0G,QAAe,CAAC,CAAA;AAClC,SAAA;AACJ,OAAA;;AAEA;MACA,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE;QACzD5C,gBAAgB,CAAC4C,QAAQ,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;AAED,IAAA,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;MAC3B,IAAIlF,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIoE,iBAAiB,EAAE;AACnBV,QAAAA,YAAY,CAAC;AAAEmB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACnC,OAAC,MAAM;AACHnB,QAAAA,YAAY,CAAC;AAAEmB,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAChD,OAAA;AAEAd,MAAAA,mBAAmB,CAAC;AAAEc,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;KACzC,CAAA;;AAED;AACA,IAAA,IAAMQ,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,CAAgC,EAAK;AAChEtD,MAAAA,YAAY,CAACsD,CAAC,CAACC,MAAM,CAAClH,KAAK,CAAC,CAAA;AAC5BqF,MAAAA,YAAY,CAAC;AAAEmB,QAAAA,IAAI,EAAE,oBAAA;AAAqB,OAAC,CAAC,CAAA;AAC5Cd,MAAAA,mBAAmB,CAAC;AAAEc,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;KACzC,CAAA;;AAED;AACA,IAAA,IAAMW,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,UAAiB,EAAK;AAC7C,MAAA,IAAI,CAACR,KAAK,CAACC,OAAO,CAAC7G,KAAK,CAAC,EAAE,OAAA;;AAE3B;AACA;AACA,MAAA,IAAImC,WAAW,IAAI,CAAC/B,cAAc,EAAE;AAChC,QAAA,IAAMiH,YAAY,GAAAC,kBAAA,CAAOtH,KAAK,CAAC,CAAA;AAE/BA,QAAAA,KAAK,CAACuH,OAAO,CAAC,UAACC,CAAC,EAAEC,KAAK,EAAK;UACxB,IAAMC,qBAAqB,GAAGvF,WAAW,CACrCkB,cAAc,CAACG,GAAG,CAACJ,cAAc,CAACI,GAAG,CAACxD,KAAK,CAACyH,KAAK,CAAC,CAAC,CAAEhH,KAAK,CAC9D,CAAC,CAAA;AAED,UAAA,IAAI,CAAC2G,UAAU,CAACO,QAAQ,CAACD,qBAAqB,CAAC,EAAE;AAC7CL,YAAAA,YAAY,CAACO,MAAM,CAACH,KAAK,EAAE,CAAC,CAAC,CAAA;AACjC,WAAA;AACJ,SAAC,CAAC,CAAA;QAEFvH,QAAQ,CAACmH,YAAY,CAAC,CAAA;AAC1B,OAAC,MAAM;AACHnH,QAAAA,QAAQ,CAACkH,UAAU,CAACS,GAAG,CAAC,UAACC,SAAS,EAAA;AAAA,UAAA,OAAKzE,cAAc,CAACG,GAAG,CAACsE,SAAS,CAAC,CAAE9H,KAAK,CAAA;AAAA,SAAA,CAAC,CAAC,CAAA;AACjF,OAAA;KACH,CAAA;;AAED;AACA,IAAA,IAAM+H,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,MAAe,EAAK;MAC1C,IAAInG,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIqG,MAAM,EAAE;AACR3C,QAAAA,YAAY,CAAC;AAAEmB,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAChD,OAAC,MAAM;AACHd,QAAAA,mBAAmB,CAAC;AAAEc,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACtCnB,QAAAA,YAAY,CAAC;AAAEmB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AACnC,OAAA;KACH,CAAA;;AAED;AACA,IAAA,IAAMyB,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,IAA2B,EAAK;MAC1D,IAAI,CAACpI,QAAQ,EAAE;AACX,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMqI,WAAW,GAAG,IAAIC,GAAG,CAACvC,OAAO,CAAC,CAAA;MAEpC,IAAI,CAACsC,WAAW,CAAC3E,GAAG,CAAC0E,IAAI,CAAClI,KAAK,CAAC,EAAE;QAC9BmI,WAAW,CAACE,GAAG,CAACH,IAAI,CAAClI,KAAK,EAAE,IAAI,CAAC,CAAA;QACjCsI,iBAAiB,CAACJ,IAAI,EAAEC,WAAW,EAAE,IAAI,EAAE/E,cAAc,CAAC,CAAA;AAC9D,OAAC,MAAM;QACH+E,WAAW,CAACE,GAAG,CAACH,IAAI,CAAClI,KAAK,EAAE,KAAK,CAAC,CAAA;AAClCsI,QAAAA,iBAAiB,CAACJ,IAAI,EAAEC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC/C,OAAA;AAEAI,MAAAA,eAAe,CAACL,IAAI,EAAEC,WAAW,CAAC,CAAA;MAElC,IAAMK,SAAwB,GAAG,EAAE,CAAA;AAEnCpF,MAAAA,cAAc,CAACmE,OAAO,CAAC,UAACW,IAAI,EAAEO,GAAG,EAAK;AAClC,QAAA,IAAIN,WAAW,CAAC3E,GAAG,CAACiF,GAAG,CAAC,EAAE;AACtBD,UAAAA,SAAS,CAACE,IAAI,CAACR,IAAI,CAAClI,KAAK,CAAC,CAAA;AAC9B,SAAA;AACJ,OAAC,CAAC,CAAA;AAEF,MAAA,IAAI,CAAC+B,YAAY,IAAIG,gBAAgB,EAAE;AACnCmD,QAAAA,YAAY,CAAC;AAAEmB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/Bd,QAAAA,mBAAmB,CAAC;AAAEc,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC1C,OAAA;AAEA,MAAA,IAAItG,QAAQ,EAAE;QACVA,QAAQ,CAACsI,SAAS,CAAC,CAAA;AACvB,OAAA;;AAEA;AACAG,MAAAA,UAAU,CAAC,YAAM;QACb,IAAIzE,QAAQ,CAAC0E,OAAO,EAAE;AAClB1E,UAAAA,QAAQ,CAAC0E,OAAO,CAACC,cAAc,CAAC;AAC5BC,YAAAA,QAAQ,EAAE,QAAQ;AAClBC,YAAAA,MAAM,EAAE,OAAA;AACZ,WAAC,CAAC,CAAA;AACN,SAAA;OACH,EAAE,CAAC,CAAC,CAAA;KACR,CAAA;;AAED;IACA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAId,IAA2B,EAAEjB,CAAiC,EAAK;MACxF,IAAI,CAACR,OAAO,CAACyB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAE5H,KAAK,CAAC,EAAE;AACvB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIR,QAAQ,EAAE;QACVmI,oBAAoB,CAACC,IAAI,CAAC,CAAA;AAC1B,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIjB,CAAC,EAAE;QACHA,CAAC,CAACgC,eAAe,EAAE,CAAA;AACvB,OAAA;MAEA,IAAMC,gBAAgB,GAAGrD,OAAO,CAACrC,GAAG,CAAC0E,IAAI,CAAClI,KAAK,CAAC,CAAA;AAEhD,MAAA,IAAI,CAAC+B,YAAY,IAAIG,gBAAgB,EAAE;AACnCmD,QAAAA,YAAY,CAAC;AAAEmB,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC/Bd,QAAAA,mBAAmB,CAAC;AAAEc,UAAAA,IAAI,EAAE,OAAA;AAAQ,SAAC,CAAC,CAAA;AAC1C,OAAA;AAEA,MAAA,IAAItG,QAAQ,EAAE;QACVA,QAAQ,CAACgJ,gBAAgB,GAAG,EAAE,GAAGhB,IAAI,CAAClI,KAAK,CAAC,CAAA;AAChD,OAAA;KACH,CAAA;AAED,IAAA,IAAMmJ,QAAQ,GAAG,SAAXA,QAAQA,GAAmB;MAC7B,IAAIrJ,QAAQ,IAAI8G,KAAK,CAACC,OAAO,CAAC7G,KAAK,CAAC,EAAE;AAClC,QAAA,IAAIA,KAAK,CAACoJ,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;AAEjC,QAAA,IAAIhJ,cAAc,EAAE;UAChB,OAAO,CAAA,6CAAA,CAAAiJ,MAAA,CAAYhJ,YAAY,IAAIL,KAAK,CAACoJ,MAAM,CAAG,CAAA,CAAA;AACtD,SAAA;AAEA,QAAA,IAAME,iBAAiB,GACnBnH,WAAW,IAAK,UAACoH,WAAmB,EAAA;UAAA,OAAKpH,WAAW,CAACiB,cAAc,CAACI,GAAG,CAAC+F,WAAW,CAAE,CAAC,CAAA;SAAC,CAAA;AAC3F,QAAA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAID,WAAmB,EAAA;AAAA,UAAA,OAAKnG,cAAc,CAACI,GAAG,CAAC+F,WAAW,CAAC,CAAE9I,KAAK,CAAA;AAAA,SAAA,CAAA;AAEzF,QAAA,OAAOT,KAAK,CAAC6H,GAAG,CAACyB,iBAAiB,IAAIE,iBAAiB,CAAC,CAAA;AAC5D,OAAA;AAEA,MAAA,OAAO,EAAE,CAAA;KACZ,CAAA;IAED,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIvB,IAA2B,EAAEjB,CAAiC,EAAK;AACxF,MAAA,IAAIR,OAAO,CAACyB,IAAI,CAAC5H,KAAK,CAAC,EAAE;AACrB0I,QAAAA,eAAe,CAACd,IAAI,EAAEjB,CAAC,CAAC,CAAA;OAC3B,MAAM,IAAInH,QAAQ,EAAE;QACjBmI,oBAAoB,CAACC,IAAI,CAAC,CAAA;AAC9B,OAAA;KACH,CAAA;IAED,IAAAwB,iBAAA,GAAsBC,gBAAgB,CAAC;AACnClE,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBN,QAAAA,IAAI,EAAJA,IAAI;AACJC,QAAAA,YAAY,EAAZA,YAAY;AACZP,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBgD,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB0B,QAAAA,eAAe,EAAfA,eAAe;AACf9F,QAAAA,YAAY,EAAZA,YAAY;AACZ7D,QAAAA,QAAQ,EAARA,QAAQ;AACRE,QAAAA,KAAK,EAALA,KAAK;AACL0D,QAAAA,SAAS,EAATA,SAAS;AACTN,QAAAA,cAAc,EAAdA,cAAAA;AACJ,OAAC,CAAC;MAdMwG,SAAS,GAAAF,iBAAA,CAATE,SAAS,CAAA;;AAgBjB;AACA;AACAC,IAAAA,eAAe,CAAC,YAAM;AAAA,MAAA,IAAAC,oBAAA,CAAA;AAClB,MAAA,IAAM3B,WAAW,GAAG,IAAIC,GAAG,CAACvC,OAAO,CAAC,CAAA;AAEpCsC,MAAAA,WAAW,CAACZ,OAAO,CAAC,UAACC,CAAC,EAAEiB,GAAG,EAAK;AAC5BN,QAAAA,WAAW,CAACE,GAAG,CAACI,GAAG,EAAE,KAAK,CAAC,CAAA;AAC/B,OAAC,CAAC,CAAA;AAEF,MAAA,IAAI,CAAChC,OAAO,CAACzG,KAAK,CAAC,EAAE;AACjB,QAAA,IAAI4G,KAAK,CAACC,OAAO,CAAC7G,KAAK,CAAC,EAAE;AACtBA,UAAAA,KAAK,CAACuH,OAAO,CAAC,UAACwC,GAAG,EAAK;AACnB5B,YAAAA,WAAW,CAACE,GAAG,CAAC0B,GAAG,EAAE,IAAI,CAAC,CAAA;YAC1BzB,iBAAiB,CAAClF,cAAc,CAACI,GAAG,CAACuG,GAAG,CAAC,EAAG5B,WAAW,EAAE,IAAI,CAAC,CAAA;YAC9DI,eAAe,CAACnF,cAAc,CAACI,GAAG,CAACuG,GAAG,CAAC,EAAG5B,WAAW,CAAC,CAAA;AAC1D,WAAC,CAAC,CAAA;AACN,SAAC,MAAM;AACHA,UAAAA,WAAW,CAACE,GAAG,CAACrI,KAAK,EAAE,MAAM,CAAC,CAAA;UAC9BgK,qBAAqB,CAAC5G,cAAc,CAACI,GAAG,CAACxD,KAAK,CAAC,EAAGmI,WAAW,EAAE,KAAK,CAAC,CAAA;AACzE,SAAA;AACJ,OAAA;MAEArC,UAAU,CAACqC,WAAW,CAAC,CAAA;AAEvBxE,MAAAA,YAAY,CAAC,CAAAmG,CAAAA,oBAAA,GAAA1G,cAAc,CAACI,GAAG,CAACxD,KAAe,CAAC,MAAA,IAAA,IAAA8J,oBAAA,KAAnCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAqCrJ,KAAK,KAAI,EAAE,CAAC,CAAA;;AAE9D;AACA;AACA;KACH,EAAE,CAACV,UAAU,EAAE+D,aAAa,EAAExD,KAAK,CAAC,CAAC,CAAA;AAEtCuJ,IAAAA,eAAe,CAAC,YAAM;AAClB,MAAA,IAAI1J,YAAY,EAAE;QACd4D,gBAAgB,CAAC5D,YAAY,CAAC,CAAA;AAClC,OAAA;AACJ,KAAC,EAAE,CAACA,YAAY,CAAC,CAAC,CAAA;AAElB,IAAA,oBACI8J,KAAA,CAAAC,aAAA,CAAC5K,IAAI,EAAA;AACDiC,MAAAA,IAAI,EAAEA,IAAK;AACXD,MAAAA,IAAI,EAAEA,IAAK;AACXE,MAAAA,cAAc,EAAEA,cAAe;AAC/BK,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAEA,QAAS;AACnB9B,MAAAA,IAAI,EAAEA,IAAK;AACX0C,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,QAAQ,EAAEA,QAAAA;AAAS,KAAA,EAElB3C,IAAI,iBACDoK,KAAA,CAAAC,aAAA,CAACC,YAAY,EAAA;AACT7J,MAAAA,KAAK,EAAE8C,cAAe;AACtBvD,MAAAA,IAAI,EAAEA,IAAK;AACXG,MAAAA,KAAK,EAAE8D,aAAc;AACrBhE,MAAAA,QAAQ,EAAEA,QAAS;AACnBI,MAAAA,QAAQ,EAAEA,QAAS;AACnBkK,MAAAA,UAAU,EAAErG,gBAAiB;AAC7BtE,MAAAA,GAAG,EAAEA,GAAAA;AAAsC,KAC9C,CACJ,eACDwK,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA,IAAA,eACID,KAAA,CAAAC,aAAA,CAACG,OAAO,CAACC,QAAQ,EAAA;AACbtK,MAAAA,KAAK,EAAE;AACHyF,QAAAA,WAAW,EAAXA,WAAW;AACXI,QAAAA,OAAO,EAAPA,OAAO;AACP/F,QAAAA,QAAQ,EAARA,QAAQ;AACRyB,QAAAA,IAAI,EAAJA,IAAI;AACJ0G,QAAAA,oBAAoB,EAApBA,oBAAoB;AACpBe,QAAAA,eAAe,EAAfA,eAAe;AACfhI,QAAAA,OAAO,EAAPA,OAAO;AACPK,QAAAA,UAAU,EAAVA,UAAU;AACVkD,QAAAA,MAAM,EAANA,MAAAA;AACJ,OAAA;AAAE,KAAA,eAEF0F,KAAA,CAAAC,aAAA,CAACK,eAAe,EAAA;AACZ9K,MAAAA,GAAG,EAAE2E,kBAAmB;AACxB4D,MAAAA,MAAM,EAAEjC,iBAAkB;MAC1ByE,QAAQ,EAAE,SAAAA,QAAAA,CAACxC,MAAe,EAAA;AAAA,QAAA,OAAKA,MAAM,IAAID,gBAAgB,CAAC,IAAI,CAAC,CAAA;OAAC;AAChEvH,MAAAA,SAAS,EAAEA,SAAU;AACrBY,MAAAA,MAAM,EAAEA,MAAO;AACfD,MAAAA,SAAS,EAAEA,SAAU;MACrB+F,MAAM,EAAE,SAAAA,MAAAA,CAACuD,YAAY,EAAA;AAAA,QAAA,oBACjBR,KAAA,CAAAC,aAAA,CAACQ,eAAe,EAAAC,QAAA,CAAA;AACZlL,UAAAA,GAAG,EAAEI,IAAI,GAAGqE,QAAQ,GAAIG,YAAgD;AACxEuG,UAAAA,eAAe,EAAEH,YAAa;AAC9BzK,UAAAA,KAAK,EAAE0D,SAAU;AACjBxD,UAAAA,QAAQ,EAAE8G,qBAAsB;AAChCzF,UAAAA,IAAI,EAAEA,IAAK;AACXD,UAAAA,IAAI,EAAEA,IAAK;AACXO,UAAAA,QAAQ,EAAEA,QAAS;AACnBF,UAAAA,QAAQ,EAAEA,QAAS;AACnBlB,UAAAA,KAAK,EAAEA,KAAM;AACbC,UAAAA,WAAW,EAAEA,WAAY;AACzBE,UAAAA,WAAW,EAAEA,WAAY;AACzBiK,UAAAA,YAAY,eACRZ,KAAA,CAAAC,aAAA,CAACY,gBAAgB,EAAA;AAACjJ,YAAAA,QAAQ,EAAEA,QAAS;AAACkJ,YAAAA,OAAO,EAAEhE,gBAAAA;AAAiB,WAAA,eAC5DkD,KAAA,CAAAC,aAAA,CAACc,WAAW,EAAA;AACRC,YAAAA,KAAK,EAAC,SAAS;AACf1J,YAAAA,IAAI,EAAE2J,cAAc,CAAC3J,IAAI,CAAE;AAC3B4J,YAAAA,SAAS,EAAEhF,gBAAAA;AAAiB,WAC/B,CACa,CACrB;AACDtF,UAAAA,UAAU,EAAEA,UAAW;AACvBC,UAAAA,SAAS,EAAEA,SAAU;AACrB8I,UAAAA,SAAS,EAAEA,SAAU;AACrBwB,UAAAA,UAAU,EAAEzK,UAAW;AACvB0K,UAAAA,IAAI,EAAC,UAAU;AACf,UAAA,mBAAA,EAAkB,MAAM;UACxB,eAAAhC,EAAAA,EAAAA,CAAAA,MAAA,CAAkB9E,MAAM,EAAgB,eAAA,CAAA;AACxC,UAAA,eAAA,EAAewB,iBAAkB;UACjC,uBACIE,EAAAA,yBAAyB,GAAGqF,SAAS,CAAC/G,MAAM,EAAE0B,yBAAyB,CAAC,GAAG,EAC9E;AACDzE,UAAAA,cAAc,EAAEA,cAAe;AAC/BC,UAAAA,eAAe,EAAEA,eAAAA;AAAgB,SAAA,EAC5B3B,QAAQ,GACP;AACIyL,UAAAA,eAAe,EAAE,MAAM;UACvBC,KAAK,EAAErC,QAAQ,EAAE;AACjBsC,UAAAA,aAAa,EAAEtE,iBAAAA;AACnB,SAAC,GACD;AAAEoE,UAAAA,eAAe,EAAE,OAAA;AAAQ,SAAC,EAC9B9I,IAAI,EAAA;AACRiJ,UAAAA,eAAe,EAAC,IAAA;AAAA,SAAA,CACnB,CAAC,CAAA;OACJ;AACFtJ,MAAAA,MAAM,EAAEA,MAAAA;AAAO,KAAA,eAEf6H,KAAA,CAAAC,aAAA,CAAC5K,IAAI,EAAA;AACDiC,MAAAA,IAAI,EAAEA,IAAK;AACXD,MAAAA,IAAI,EAAEA,IAAK;AACXE,MAAAA,cAAc,EAAEA,cAAe;AAC/BK,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAEA,QAAS;AACnB9B,MAAAA,IAAI,EAAEA,IAAAA;AAAK,KAAA,eAEXoK,KAAA,CAAAC,aAAA,CAACyB,EAAE,EAAA;AACCN,MAAAA,IAAI,EAAC,MAAM;AACXO,MAAAA,EAAE,EAAAvC,EAAAA,CAAAA,MAAA,CAAK9E,MAAM,EAAgB,eAAA,CAAA;MAC7B,sBAAsByB,EAAAA,OAAO,CAAClG,QAAQ,CAAE;AACxCoB,MAAAA,UAAU,EAAEA,UAAW;AACvBD,MAAAA,YAAY,EAAEA,YAAa;AAC3BE,MAAAA,SAAS,EAAEA,SAAU;AACrB1B,MAAAA,GAAG,EAAE6G,SAAAA;KAEJjE,EAAAA,UAAU,EAEVoE,OAAO,CAAChC,aAAa,CAAC,gBACnBwF,KAAA,CAAAC,aAAA,CAAC2B,gBAAgB,EAAA;MACbV,SAAS,EAAE/E,OAAO,CAAC0F,iBAAkB;AACrCvK,MAAAA,IAAI,EAAEA,IAAK;AACXwK,MAAAA,WAAW,EAAC,8FAAA;KACf,CAAC,GAEFtH,aAAa,CAACoD,GAAG,CAAC,UAACK,IAAI,EAAET,KAAK,EAAA;AAAA,MAAA,oBAC1BwC,KAAA,CAAAC,aAAA,CAAC8B,KAAK,EAAA;AACFvD,QAAAA,GAAG,EAAAY,EAAAA,CAAAA,MAAA,CAAK5B,KAAK,EAAK,IAAA,CAAA;AAClBS,QAAAA,IAAI,EAAEA,IAAK;AACX+D,QAAAA,YAAY,EAAE,CAAE;AAChB7G,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,YAAY,EAAEA,YAAa;AAC3BoC,QAAAA,KAAK,EAAEA,KAAM;AACbtG,QAAAA,SAAS,EAAEA,SAAAA;AAAU,OACxB,CAAC,CAAA;KACL,CACJ,EAEAmB,SACD,CACF,CACO,CACH,CACjB,CACH,CAAC,CAAA;AAEf,GAAC,CAAC,CAAA;AAAA,EAAA;AAEC,IAAM4J,cAAc,GAAG;AAC1BrM,EAAAA,IAAI,EAAE,QAAQ;AACdsM,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE/M,YAAY;AACpBgN,EAAAA,IAAI,EAAJA,IAAI;AACJC,EAAAA,UAAU,EAAE;AACRhL,IAAAA,IAAI,EAAE;AACFiL,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACDjL,IAAAA,IAAI,EAAE;AACFgL,MAAAA,GAAG,EAAEE,MAAAA;KACR;AACD9K,IAAAA,QAAQ,EAAE;AACN4K,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNpL,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAG;AACTC,IAAAA,cAAc,EAAE,OAAA;AACpB,GAAA;AACJ;;;;"}
|
@@ -81,6 +81,7 @@ var Item = function Item(_ref) {
|
|
81
81
|
return e.stopPropagation();
|
82
82
|
}
|
83
83
|
}, /*#__PURE__*/React.createElement(StyledCheckbox, {
|
84
|
+
disabled: disabled,
|
84
85
|
checked: Boolean(checked.get(item.value)),
|
85
86
|
indeterminate: checked.get(item.value) === 'indeterminate',
|
86
87
|
onChange: handleChange
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Item.js","sources":["../../../../../../../../src/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.tsx"],"sourcesContent":["import React, { useRef, FC, useContext } from 'react';\n\nimport { sizeToIconSize, getItemId } from '../../../../utils';\nimport { classes } from '../../../../Combobox.tokens';\nimport { cx, isEmpty } from '../../../../../../../utils';\nimport { Context } from '../../../../Combobox.context';\nimport { useDidMountEffect } from '../../../../../../../hooks';\n\nimport { ItemProps } from './Item.types';\nimport {\n StyledWrapper,\n StyledText,\n Wrapper,\n DisclosureIconWrapper,\n StyledCheckbox,\n IconWrapper,\n StyledIndicator,\n StyledCheckboxWrapper,\n StyledCell,\n StyledIconDone,\n StyledArrow,\n} from './Item.styles';\n\nexport const Item: FC<ItemProps> = ({\n item,\n path,\n currentLevel,\n index,\n ariaControls,\n ariaExpanded,\n ariaLevel,\n ariaLabel,\n}) => {\n const { value, label, disabled, contentLeft, contentRight, className, ...rest } = item;\n\n const ref = useRef<HTMLLIElement | null>(null);\n\n const {\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n } = useContext(Context);\n\n const disabledClassName = disabled ? classes.dropdownItemIsDisabled : undefined;\n\n const focusedClass =\n currentLevel === focusedPath.length - 1 && index === focusedPath?.[currentLevel]\n ? classes.dropdownItemIsFocused\n : undefined;\n const activeClass = value === path?.[currentLevel + 1] ? classes.dropdownItemIsActive : undefined;\n\n useDidMountEffect(() => {\n if (focusedClass && ref?.current) {\n ref.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n }\n }, [focusedClass]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) return;\n\n e.stopPropagation();\n\n handleCheckboxChange(item);\n };\n\n const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (disabled) {\n e.stopPropagation();\n return;\n }\n\n handleItemClick(item, e);\n };\n\n return (\n <Wrapper\n {...rest}\n className={cx(disabledClassName, focusedClass, activeClass, className)}\n id={getItemId(treeId, value)}\n ref={ref}\n onClick={handleClick}\n variant={variant}\n role=\"treeitem\"\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-level={ariaLevel}\n aria-label={ariaLabel}\n aria-selected={Boolean(checked.get(item.value))}\n >\n <IconWrapper variant={variant}>\n {multiple && (\n <StyledCheckboxWrapper onClick={(e) => e.stopPropagation()}>\n <StyledCheckbox\n checked={Boolean(checked.get(item.value))}\n indeterminate={checked.get(item.value) === 'indeterminate'}\n onChange={handleChange}\n />\n </StyledCheckboxWrapper>\n )}\n\n {!multiple && checked.get(item.value) === 'dot' && <StyledIndicator size=\"s\" view=\"default\" />}\n\n {!multiple && checked.get(item.value) === 'done' && (\n <StyledIconDone size={sizeToIconSize(size, variant)} color=\"inherit\" />\n )}\n </IconWrapper>\n\n {renderItem ? (\n <StyledText>{renderItem(item)}</StyledText>\n ) : (\n <StyledWrapper>\n <StyledCell\n view=\"default\"\n size=\"l\"\n contentLeft={contentLeft}\n contentRight={contentRight}\n alignContentLeft=\"center\"\n alignContentRight=\"center\"\n title={label}\n />\n </StyledWrapper>\n )}\n\n {!isEmpty(item.items) && (\n <DisclosureIconWrapper>\n <StyledArrow size={sizeToIconSize(size, variant)} color=\"inherit\" />\n </DisclosureIconWrapper>\n )}\n </Wrapper>\n );\n};\n"],"names":["Item","_ref","item","path","currentLevel","index","ariaControls","ariaExpanded","ariaLevel","ariaLabel","value","label","disabled","contentLeft","contentRight","className","rest","_objectWithoutProperties","_excluded","ref","useRef","_useContext","useContext","Context","focusedPath","checked","multiple","size","handleCheckboxChange","handleItemClick","variant","renderItem","treeId","disabledClassName","classes","dropdownItemIsDisabled","undefined","focusedClass","length","dropdownItemIsFocused","activeClass","dropdownItemIsActive","useDidMountEffect","current","scrollIntoView","behavior","block","inline","handleChange","e","stopPropagation","handleClick","React","createElement","Wrapper","_extends","cx","id","getItemId","onClick","role","Boolean","get","IconWrapper","StyledCheckboxWrapper","StyledCheckbox","indeterminate","onChange","_StyledIndicator","StyledIndicator","view","StyledIconDone","sizeToIconSize","color","StyledText","StyledWrapper","StyledCell","alignContentLeft","alignContentRight","title","isEmpty","items","DisclosureIconWrapper","StyledArrow"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Item.js","sources":["../../../../../../../../src/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.tsx"],"sourcesContent":["import React, { useRef, FC, useContext } from 'react';\n\nimport { sizeToIconSize, getItemId } from '../../../../utils';\nimport { classes } from '../../../../Combobox.tokens';\nimport { cx, isEmpty } from '../../../../../../../utils';\nimport { Context } from '../../../../Combobox.context';\nimport { useDidMountEffect } from '../../../../../../../hooks';\n\nimport { ItemProps } from './Item.types';\nimport {\n StyledWrapper,\n StyledText,\n Wrapper,\n DisclosureIconWrapper,\n StyledCheckbox,\n IconWrapper,\n StyledIndicator,\n StyledCheckboxWrapper,\n StyledCell,\n StyledIconDone,\n StyledArrow,\n} from './Item.styles';\n\nexport const Item: FC<ItemProps> = ({\n item,\n path,\n currentLevel,\n index,\n ariaControls,\n ariaExpanded,\n ariaLevel,\n ariaLabel,\n}) => {\n const { value, label, disabled, contentLeft, contentRight, className, ...rest } = item;\n\n const ref = useRef<HTMLLIElement | null>(null);\n\n const {\n focusedPath,\n checked,\n multiple,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n renderItem,\n treeId,\n } = useContext(Context);\n\n const disabledClassName = disabled ? classes.dropdownItemIsDisabled : undefined;\n\n const focusedClass =\n currentLevel === focusedPath.length - 1 && index === focusedPath?.[currentLevel]\n ? classes.dropdownItemIsFocused\n : undefined;\n const activeClass = value === path?.[currentLevel + 1] ? classes.dropdownItemIsActive : undefined;\n\n useDidMountEffect(() => {\n if (focusedClass && ref?.current) {\n ref.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n }\n }, [focusedClass]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) return;\n\n e.stopPropagation();\n\n handleCheckboxChange(item);\n };\n\n const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (disabled) {\n e.stopPropagation();\n return;\n }\n\n handleItemClick(item, e);\n };\n\n return (\n <Wrapper\n {...rest}\n className={cx(disabledClassName, focusedClass, activeClass, className)}\n id={getItemId(treeId, value)}\n ref={ref}\n onClick={handleClick}\n variant={variant}\n role=\"treeitem\"\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-level={ariaLevel}\n aria-label={ariaLabel}\n aria-selected={Boolean(checked.get(item.value))}\n >\n <IconWrapper variant={variant}>\n {multiple && (\n <StyledCheckboxWrapper onClick={(e) => e.stopPropagation()}>\n <StyledCheckbox\n disabled={disabled}\n checked={Boolean(checked.get(item.value))}\n indeterminate={checked.get(item.value) === 'indeterminate'}\n onChange={handleChange}\n />\n </StyledCheckboxWrapper>\n )}\n\n {!multiple && checked.get(item.value) === 'dot' && <StyledIndicator size=\"s\" view=\"default\" />}\n\n {!multiple && checked.get(item.value) === 'done' && (\n <StyledIconDone size={sizeToIconSize(size, variant)} color=\"inherit\" />\n )}\n </IconWrapper>\n\n {renderItem ? (\n <StyledText>{renderItem(item)}</StyledText>\n ) : (\n <StyledWrapper>\n <StyledCell\n view=\"default\"\n size=\"l\"\n contentLeft={contentLeft}\n contentRight={contentRight}\n alignContentLeft=\"center\"\n alignContentRight=\"center\"\n title={label}\n />\n </StyledWrapper>\n )}\n\n {!isEmpty(item.items) && (\n <DisclosureIconWrapper>\n <StyledArrow size={sizeToIconSize(size, variant)} color=\"inherit\" />\n </DisclosureIconWrapper>\n )}\n </Wrapper>\n );\n};\n"],"names":["Item","_ref","item","path","currentLevel","index","ariaControls","ariaExpanded","ariaLevel","ariaLabel","value","label","disabled","contentLeft","contentRight","className","rest","_objectWithoutProperties","_excluded","ref","useRef","_useContext","useContext","Context","focusedPath","checked","multiple","size","handleCheckboxChange","handleItemClick","variant","renderItem","treeId","disabledClassName","classes","dropdownItemIsDisabled","undefined","focusedClass","length","dropdownItemIsFocused","activeClass","dropdownItemIsActive","useDidMountEffect","current","scrollIntoView","behavior","block","inline","handleChange","e","stopPropagation","handleClick","React","createElement","Wrapper","_extends","cx","id","getItemId","onClick","role","Boolean","get","IconWrapper","StyledCheckboxWrapper","StyledCheckbox","indeterminate","onChange","_StyledIndicator","StyledIndicator","view","StyledIconDone","sizeToIconSize","color","StyledText","StyledWrapper","StyledCell","alignContentLeft","alignContentRight","title","isEmpty","items","DisclosureIconWrapper","StyledArrow"],"mappings":"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"}
|
@@ -1,11 +1,14 @@
|
|
1
|
-
var updateDescendants = function updateDescendants(node, checkedMap, isChecked) {
|
1
|
+
var updateDescendants = function updateDescendants(node, checkedMap, isChecked, valueToItemMap) {
|
2
2
|
if (!(node !== null && node !== void 0 && node.items)) {
|
3
3
|
return;
|
4
4
|
}
|
5
5
|
node.items.forEach(function (item) {
|
6
|
-
|
6
|
+
var _valueToItemMap$get;
|
7
|
+
if (!(valueToItemMap !== null && valueToItemMap !== void 0 && (_valueToItemMap$get = valueToItemMap.get(item.value)) !== null && _valueToItemMap$get !== void 0 && _valueToItemMap$get.disabled)) {
|
8
|
+
checkedMap.set(item.value, isChecked);
|
9
|
+
}
|
7
10
|
if (item.items) {
|
8
|
-
updateDescendants(item, checkedMap, isChecked);
|
11
|
+
updateDescendants(item, checkedMap, isChecked, valueToItemMap);
|
9
12
|
}
|
10
13
|
});
|
11
14
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"updateDescendants.js","sources":["../../../../../src/components/Combobox/ComboboxNew/utils/updateDescendants.ts"],"sourcesContent":["import type { ItemOptionTransformed } from '../ui/Inner/ui/Item/Item.types';\nimport type { ValueToCheckedMapType } from '../hooks/getPathMaps';\n\nexport const updateDescendants = (\n node: ItemOptionTransformed,\n checkedMap: ValueToCheckedMapType,\n isChecked: boolean,\n) => {\n if (!node?.items) {\n return;\n }\n\n node.items.forEach((item) => {\n checkedMap.set(item.value, isChecked);\n\n if (item.items) {\n updateDescendants(item, checkedMap, isChecked);\n }\n });\n};\n"],"names":["updateDescendants","node","checkedMap","isChecked","items","forEach","item","
|
1
|
+
{"version":3,"file":"updateDescendants.js","sources":["../../../../../src/components/Combobox/ComboboxNew/utils/updateDescendants.ts"],"sourcesContent":["import type { ItemOptionTransformed } from '../ui/Inner/ui/Item/Item.types';\nimport type { ValueToCheckedMapType, ValueToItemMapType } from '../hooks/getPathMaps';\n\nexport const updateDescendants = (\n node: ItemOptionTransformed,\n checkedMap: ValueToCheckedMapType,\n isChecked: boolean,\n valueToItemMap?: ValueToItemMapType,\n) => {\n if (!node?.items) {\n return;\n }\n\n node.items.forEach((item) => {\n if (!valueToItemMap?.get(item.value)?.disabled) {\n checkedMap.set(item.value, isChecked);\n }\n\n if (item.items) {\n updateDescendants(item, checkedMap, isChecked, valueToItemMap);\n }\n });\n};\n"],"names":["updateDescendants","node","checkedMap","isChecked","valueToItemMap","items","forEach","item","_valueToItemMap$get","get","value","disabled","set"],"mappings":"AAGaA,IAAAA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC1BC,IAA2B,EAC3BC,UAAiC,EACjCC,SAAkB,EAClBC,cAAmC,EAClC;EACD,IAAI,EAACH,IAAI,KAAJA,IAAAA,IAAAA,IAAI,eAAJA,IAAI,CAAEI,KAAK,CAAE,EAAA;AACd,IAAA,OAAA;AACJ,GAAA;AAEAJ,EAAAA,IAAI,CAACI,KAAK,CAACC,OAAO,CAAC,UAACC,IAAI,EAAK;AAAA,IAAA,IAAAC,mBAAA,CAAA;IACzB,IAAI,EAACJ,cAAc,KAAdA,IAAAA,IAAAA,cAAc,gBAAAI,mBAAA,GAAdJ,cAAc,CAAEK,GAAG,CAACF,IAAI,CAACG,KAAK,CAAC,MAAA,IAAA,IAAAF,mBAAA,KAA/BA,KAAAA,CAAAA,IAAAA,mBAAA,CAAiCG,QAAQ,CAAE,EAAA;MAC5CT,UAAU,CAACU,GAAG,CAACL,IAAI,CAACG,KAAK,EAAEP,SAAS,CAAC,CAAA;AACzC,KAAA;IAEA,IAAII,IAAI,CAACF,KAAK,EAAE;MACZL,iBAAiB,CAACO,IAAI,EAAEL,UAAU,EAAEC,SAAS,EAAEC,cAAc,CAAC,CAAA;AAClE,KAAA;AACJ,GAAC,CAAC,CAAA;AACN;;;;"}
|
@@ -175,7 +175,7 @@ var selectRoot = function selectRoot(Root) {
|
|
175
175
|
var checkedCopy = new Map(checked);
|
176
176
|
if (!checkedCopy.get(item.value)) {
|
177
177
|
checkedCopy.set(item.value, true);
|
178
|
-
updateDescendants(item, checkedCopy, true);
|
178
|
+
updateDescendants(item, checkedCopy, true, valueToItemMap);
|
179
179
|
} else {
|
180
180
|
checkedCopy.set(item.value, false);
|
181
181
|
updateDescendants(item, checkedCopy, false);
|