@salutejs/plasma-new-hope 0.327.0-canary.1741.15775036215.0 → 0.327.0-canary.1741.15776056320.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Autocomplete/Autocomplete.js +3 -3
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/FloatingPopover.js +2 -2
- package/cjs/components/Autocomplete/FloatingPopover.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +2 -1
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +2 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
- package/cjs/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +2 -2
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
- package/cjs/components/Combobox/ComboboxOld/Combobox.js +2 -1
- package/cjs/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +3 -3
- package/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js.map +1 -1
- package/cjs/components/Dropdown/Dropdown.js +2 -2
- package/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/cjs/components/Dropdown/FloatingPopover.js +2 -2
- package/cjs/components/Dropdown/FloatingPopover.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +2 -2
- package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +3 -3
- package/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +1 -1
- package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
- package/cjs/components/Radiobox/Radiobox.js +3 -2
- package/cjs/components/Radiobox/Radiobox.js.map +1 -1
- package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +3 -3
- package/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
- package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +2 -2
- package/cjs/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
- package/cjs/components/Select/FloatingPopover.js +2 -2
- package/cjs/components/Select/FloatingPopover.js.map +1 -1
- package/cjs/components/Select/Select.js +2 -2
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/ui/Inner/Inner.js +2 -2
- package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
- package/cjs/components/Spinner/Spinner.js +2 -2
- package/cjs/components/Spinner/Spinner.js.map +1 -1
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -3
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
- package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +3 -3
- package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
- package/cjs/components/TextArea/ui/Hint/Hint.js.map +1 -1
- package/cjs/components/TextField/TextField.js +4 -3
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/cjs/components/TextField/ui/Hint/Hint.js.map +1 -1
- package/emotion/cjs/components/Autocomplete/Autocomplete.js +3 -3
- package/emotion/cjs/components/Autocomplete/FloatingPopover.js +2 -2
- package/emotion/cjs/components/Checkbox/Checkbox.js +3 -2
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +21 -20
- package/emotion/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +4 -4
- package/emotion/cjs/components/Combobox/ComboboxOld/Combobox.js +9 -8
- package/emotion/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +7 -7
- package/emotion/cjs/components/Dropdown/Dropdown.js +8 -8
- package/emotion/cjs/components/Dropdown/FloatingPopover.js +2 -2
- package/emotion/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +4 -4
- package/emotion/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -3
- package/emotion/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
- package/emotion/cjs/components/Radiobox/Radiobox.js +2 -2
- package/emotion/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -3
- package/emotion/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
- package/emotion/cjs/components/Select/FloatingPopover.js +5 -5
- package/emotion/cjs/components/Select/Select.js +1 -2
- package/emotion/cjs/components/Select/ui/Inner/Inner.js +1 -2
- package/emotion/cjs/components/Spinner/Spinner.js +2 -2
- package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -3
- package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -3
- package/emotion/cjs/components/TextArea/ui/Hint/Hint.js +1 -1
- package/emotion/cjs/components/TextField/TextField.js +4 -4
- package/emotion/cjs/components/TextField/ui/Hint/Hint.js +1 -1
- package/emotion/es/components/Autocomplete/Autocomplete.js +1 -1
- package/emotion/es/components/Autocomplete/FloatingPopover.js +1 -1
- package/emotion/es/components/Checkbox/Checkbox.js +2 -1
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +2 -1
- package/emotion/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
- package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
- package/emotion/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
- package/emotion/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +1 -1
- package/emotion/es/components/Dropdown/Dropdown.js +1 -1
- package/emotion/es/components/Dropdown/FloatingPopover.js +1 -1
- package/emotion/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
- package/emotion/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +1 -2
- package/emotion/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
- package/emotion/es/components/Radiobox/Radiobox.js +2 -2
- package/emotion/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +1 -2
- package/emotion/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
- package/emotion/es/components/Select/FloatingPopover.js +1 -1
- package/emotion/es/components/Select/Select.js +1 -2
- package/emotion/es/components/Select/ui/Inner/Inner.js +1 -2
- package/emotion/es/components/Spinner/Spinner.js +1 -1
- package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +1 -2
- package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +1 -2
- package/emotion/es/components/TextArea/ui/Hint/Hint.js +1 -1
- package/emotion/es/components/TextField/TextField.js +3 -3
- package/emotion/es/components/TextField/ui/Hint/Hint.js +1 -1
- package/es/components/Autocomplete/Autocomplete.js +1 -1
- package/es/components/Autocomplete/Autocomplete.js.map +1 -1
- package/es/components/Autocomplete/FloatingPopover.js +1 -1
- package/es/components/Autocomplete/FloatingPopover.js.map +1 -1
- package/es/components/Checkbox/Checkbox.js +2 -1
- package/es/components/Checkbox/Checkbox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.js +2 -1
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
- package/es/components/Combobox/ComboboxNew/FloatingPopover.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
- package/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
- package/es/components/Combobox/ComboboxOld/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +2 -2
- package/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js.map +1 -1
- package/es/components/Dropdown/Dropdown.js +1 -1
- package/es/components/Dropdown/Dropdown.js.map +1 -1
- package/es/components/Dropdown/FloatingPopover.js +1 -1
- package/es/components/Dropdown/FloatingPopover.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownDivider/DropdownDivider.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownFooter/DropdownFooter.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownGroup/DropdownGroup.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownHeader/DropdownHeader.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
- package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -2
- package/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js.map +1 -1
- package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -1
- package/es/components/Radiobox/Radiobox.js +3 -2
- package/es/components/Radiobox/Radiobox.js.map +1 -1
- package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -2
- package/es/components/Segment/ui/SegmentGroup/SegmentGroup.js.map +1 -1
- package/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -1
- package/es/components/Segment/ui/SegmentItem/SegmentItem.js.map +1 -1
- package/es/components/Select/FloatingPopover.js +1 -1
- package/es/components/Select/FloatingPopover.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/Inner.js +1 -1
- package/es/components/Select/ui/Inner/Inner.js.map +1 -1
- package/es/components/Spinner/Spinner.js +1 -1
- package/es/components/Spinner/Spinner.js.map +1 -1
- package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -2
- package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
- package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -2
- package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
- package/es/components/TextArea/ui/Hint/Hint.js.map +1 -1
- package/es/components/TextField/TextField.js +2 -1
- package/es/components/TextField/TextField.js.map +1 -1
- package/es/components/TextField/ui/Hint/Hint.js.map +1 -1
- package/package.json +4 -4
- package/styled-components/cjs/components/Autocomplete/Autocomplete.js +3 -3
- package/styled-components/cjs/components/Autocomplete/FloatingPopover.js +2 -2
- package/styled-components/cjs/components/Checkbox/Checkbox.js +3 -2
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +21 -20
- package/styled-components/cjs/components/Combobox/ComboboxNew/FloatingPopover.js +2 -2
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +4 -4
- package/styled-components/cjs/components/Combobox/ComboboxOld/Combobox.js +9 -8
- package/styled-components/cjs/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +7 -7
- package/styled-components/cjs/components/Dropdown/Dropdown.js +8 -8
- package/styled-components/cjs/components/Dropdown/FloatingPopover.js +2 -2
- package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +4 -4
- package/styled-components/cjs/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +2 -3
- package/styled-components/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
- package/styled-components/cjs/components/Radiobox/Radiobox.js +2 -2
- package/styled-components/cjs/components/Segment/ui/SegmentGroup/SegmentGroup.js +2 -3
- package/styled-components/cjs/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
- package/styled-components/cjs/components/Select/FloatingPopover.js +5 -5
- package/styled-components/cjs/components/Select/Select.js +1 -2
- package/styled-components/cjs/components/Select/ui/Inner/Inner.js +1 -2
- package/styled-components/cjs/components/Spinner/Spinner.js +2 -2
- package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -3
- package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -3
- package/styled-components/cjs/components/TextArea/ui/Hint/Hint.js +1 -1
- package/styled-components/cjs/components/TextField/TextField.js +3 -3
- package/styled-components/cjs/components/TextField/ui/Hint/Hint.js +1 -1
- package/styled-components/es/components/Autocomplete/Autocomplete.js +1 -1
- package/styled-components/es/components/Autocomplete/FloatingPopover.js +1 -1
- package/styled-components/es/components/Checkbox/Checkbox.js +2 -1
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +2 -1
- package/styled-components/es/components/Combobox/ComboboxNew/FloatingPopover.js +1 -1
- package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +1 -1
- package/styled-components/es/components/Combobox/ComboboxOld/Combobox.js +2 -1
- package/styled-components/es/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.js +1 -1
- package/styled-components/es/components/Dropdown/Dropdown.js +1 -1
- package/styled-components/es/components/Dropdown/FloatingPopover.js +1 -1
- package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
- package/styled-components/es/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.js +1 -2
- package/styled-components/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +1 -1
- package/styled-components/es/components/Radiobox/Radiobox.js +2 -2
- package/styled-components/es/components/Segment/ui/SegmentGroup/SegmentGroup.js +1 -2
- package/styled-components/es/components/Segment/ui/SegmentItem/SegmentItem.js +1 -2
- package/styled-components/es/components/Select/FloatingPopover.js +1 -1
- package/styled-components/es/components/Select/Select.js +1 -2
- package/styled-components/es/components/Select/ui/Inner/Inner.js +1 -2
- package/styled-components/es/components/Spinner/Spinner.js +1 -1
- package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +1 -2
- package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +1 -2
- package/styled-components/es/components/TextArea/ui/Hint/Hint.js +1 -1
- package/styled-components/es/components/TextField/TextField.js +2 -2
- package/styled-components/es/components/TextField/ui/Hint/Hint.js +1 -1
- package/types/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxOld/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.d.ts.map +1 -1
- package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownDivider/DropdownDivider.d.ts +1 -1
- package/types/components/Dropdown/ui/DropdownDivider/DropdownDivider.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownFooter/DropdownFooter.d.ts +1 -1
- package/types/components/Dropdown/ui/DropdownFooter/DropdownFooter.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownGroup/DropdownGroup.d.ts +1 -1
- package/types/components/Dropdown/ui/DropdownGroup/DropdownGroup.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownHeader/DropdownHeader.d.ts +1 -1
- package/types/components/Dropdown/ui/DropdownHeader/DropdownHeader.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts +1 -1
- package/types/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.d.ts.map +1 -1
- package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts +1 -1
- package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts.map +1 -1
- package/types/components/Radiobox/Radiobox.d.ts +2 -2
- package/types/components/Radiobox/Radiobox.d.ts.map +1 -1
- package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts +1 -1
- package/types/components/Segment/ui/SegmentGroup/SegmentGroup.d.ts.map +1 -1
- package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts +1 -1
- package/types/components/Segment/ui/SegmentItem/SegmentItem.d.ts.map +1 -1
- package/types/components/Select/Select.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
- package/types/components/Spinner/Spinner.d.ts +1 -1
- package/types/components/Spinner/Spinner.d.ts.map +1 -1
- package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts +1 -1
- package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts.map +1 -1
- package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts +1 -1
- package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts.map +1 -1
- package/types/components/TextField/TextField.d.ts +1 -1
- package/types/components/TextField/TextField.d.ts.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ComboboxItem.js","sources":["../../../../../../src/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { safeUseId } from '
|
1
|
+
{"version":3,"file":"ComboboxItem.js","sources":["../../../../../../src/components/Combobox/ComboboxOld/ui/ComboboxItem/ComboboxItem.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport type { RootProps } from '../../../../../engines';\nimport { classes } from '../../Combobox.tokens';\nimport { getValidComponent } from '../../utils';\nimport { cx } from '../../../../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledContentLeft, StyledContentRight, StyledText, base } from './ComboboxItem.styles';\nimport { ComboboxItemProps } from './ComboboxItem.type';\n\nexport const comboboxItemRoot = (Root: RootProps<HTMLDivElement, ComboboxItemProps>) =>\n forwardRef<HTMLDivElement, ComboboxItemProps>(\n (\n {\n id,\n className,\n children,\n text,\n isSelected,\n name,\n checked,\n value,\n view,\n size,\n disabled,\n role = 'option',\n contentLeft: ContentLeftComponent,\n contentRight: ContentRightComponent,\n onSelect,\n onClick,\n onChange,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const withComboboxItemIsSelected = checked || isSelected ? classes.comboboxItemIsSelected : undefined;\n const withComboboxItemIsDisabled = disabled ? classes.comboboxItemIsDisabled : undefined;\n\n const handleOnClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n return;\n }\n\n onClick?.(event);\n\n if (onSelect && !ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const handleOnChange = useCallback(\n (event: React.MouseEvent<HTMLInputElement>) => {\n if (disabled) {\n return;\n }\n\n onChange?.(event);\n\n if (onSelect && ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const contentProps = {\n name,\n value,\n checked: checked || isSelected,\n disabled,\n tabIndex: -1,\n ...(!disabled && { onChange: handleOnChange }),\n };\n\n const ContentLeft = useMemo(() => getValidComponent(ContentLeftComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n const ContentRight = useMemo(() => getValidComponent(ContentRightComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n return (\n <Root\n className={cx(withComboboxItemIsSelected, withComboboxItemIsDisabled, className)}\n view={view}\n size={size}\n id={innerId}\n isSelected={isSelected}\n role={role}\n ref={outerRootRef}\n tabIndex={0}\n aria-disabled={disabled}\n aria-selected={isSelected}\n onClick={handleOnClick}\n data-value={value}\n {...rest}\n >\n {text ? (\n <>\n <StyledContentLeft>{ContentLeftComponent && ContentLeft}</StyledContentLeft>\n <StyledText>{text}</StyledText>\n <StyledContentRight>{ContentRightComponent && ContentRight}</StyledContentRight>\n </>\n ) : (\n children\n )}\n </Root>\n );\n },\n );\n\nexport const comboboxItemConfig = {\n name: 'ComboboxItem',\n tag: 'div',\n layout: comboboxItemRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["comboboxItemRoot","Root","forwardRef","id","className","children","text","isSelected","name","checked","value","view","size","disabled","role","contentLeft","ContentLeftComponent","contentRight","ContentRightComponent","onSelect","onClick","onChange","rest","outerRootRef","uniqId","safeUseId","innerId","withComboboxItemIsSelected","classes","comboboxItemIsSelected","undefined","withComboboxItemIsDisabled","comboboxItemIsDisabled","handleOnClick","useCallback","event","handleOnChange","contentProps","tabIndex","ContentLeft","useMemo","getValidComponent","ContentRight","React","createElement","_extends","cx","ref","Fragment","StyledContentLeft","StyledText","StyledContentRight","comboboxItemConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
2
2
|
import React, { forwardRef, useReducer, useRef, useCallback } from 'react';
|
3
|
-
import { safeUseId } from '@salutejs/plasma-core';
|
4
3
|
import { cx } from '../../utils/index.js';
|
5
4
|
import { pathReducer } from './reducers/pathReducer.js';
|
6
5
|
import { focusedPathReducer } from './reducers/focusedPathReducer.js';
|
@@ -14,6 +13,7 @@ import { useHashMaps } from './hooks/useHashMaps.js';
|
|
14
13
|
import { FloatingPopover } from './FloatingPopover.js';
|
15
14
|
import { Context } from './Dropdown.context.js';
|
16
15
|
import { getItemByFocused } from './utils/getItemByFocused.js';
|
16
|
+
import { safeUseId } from '../../utils/react.js';
|
17
17
|
import { useOutsideClick } from '../../hooks/useOutsideClick.js';
|
18
18
|
import { getPlacement } from './utils/getPlacement.js';
|
19
19
|
import { getItemId } from './utils/getItemId.js';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useReducer, useRef } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { pathReducer } from './reducers/pathReducer';\nimport { focusedPathReducer } from './reducers/focusedPathReducer';\nimport { DropdownInner } from './ui';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { Ul, base, ListWrapper } from './Dropdown.styles';\nimport { childrenWithProps, getItemByFocused, getItemId, getPlacement } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\nimport { FloatingPopover } from './FloatingPopover';\nimport { Context } from './Dropdown.context';\n\n/**\n * Выпадающий список.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, Omit<DropdownProps, 'items'>>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n items,\n children,\n placement,\n offset,\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listMaxHeight,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n openByRightClick = false,\n variant = 'normal',\n hasArrow = true,\n alwaysOpened = false,\n portal,\n renderItem,\n zIndex,\n beforeList,\n afterList,\n ...rest\n },\n ref,\n ) => {\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const isCurrentListOpen = alwaysOpened || Boolean(path[0]);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n const treeId = safeUseId();\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>((event) => {\n if (!isCurrentListOpen || !closeOnOverlayClick || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false, event);\n }\n }, floatingPopoverRef);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (alwaysOpened || opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened, event);\n }\n };\n\n const onContextMenu = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n\n if (alwaysOpened) {\n return;\n }\n\n handleGlobalToggle(!isCurrentListOpen, e);\n },\n [handleGlobalToggle, isCurrentListOpen, alwaysOpened],\n );\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n });\n\n return (\n <Context.Provider\n value={{\n focusedPath,\n size,\n variant,\n itemRole,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemClick,\n onItemSelect,\n hasArrow,\n treeId,\n renderItem,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n placement={getPlacement(placement)}\n offset={offset}\n portal={portal}\n trigger={trigger}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': `${treeId}_tree_level_1`,\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue.toString())\n : '',\n onKeyDown,\n onContextMenu: openByRightClick ? onContextMenu : undefined,\n })}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n className={cx(className, classes.dropdownRoot)}\n ref={ref}\n view={view}\n size={size}\n style={{ display: 'inline-block' }}\n {...rest}\n >\n <ListWrapper listWidth={listWidth}>\n <Ul\n ref={targetRef}\n id={`${treeId}_tree_level_1`}\n role=\"tree\"\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n >\n {beforeList}\n\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n listWidth={listWidth}\n />\n ))}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","items","children","placement","offset","closeOnOverlayClick","onToggle","size","view","itemRole","className","listMaxHeight","listWidth","listHeight","listOverflow","closeOnSelect","onHover","onItemSelect","onItemClick","trigger","openByRightClick","variant","hasArrow","alwaysOpened","portal","renderItem","zIndex","beforeList","afterList","rest","ref","path","dispatchPath","useReducer","pathReducer","focusedPath","dispatchFocusedPath","focusedPathReducer","isCurrentListOpen","Boolean","pathMap","focusedToValueMap","useHashMaps","activeDescendantItemValue","getItemByFocused","value","floatingPopoverRef","useRef","treeId","safeUseId","targetRef","useOutsideClick","event","type","handleGlobalToggle","opened","onContextMenu","useCallback","e","preventDefault","onKeyDown","useKeyNavigation","React","createElement","Context","Provider","FloatingPopover","getPlacement","target","childrenWithProps","role","getItemId","toString","undefined","isInner","_extends","cx","classes","style","display","ListWrapper","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useReducer, useRef } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\n\nimport { pathReducer } from './reducers/pathReducer';\nimport { focusedPathReducer } from './reducers/focusedPathReducer';\nimport { DropdownInner } from './ui';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { Ul, base, ListWrapper } from './Dropdown.styles';\nimport { childrenWithProps, getItemByFocused, getItemId, getPlacement } from './utils';\nimport type { DropdownProps, HandleGlobalToggleType } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { useHashMaps } from './hooks/useHashMaps';\nimport { FloatingPopover } from './FloatingPopover';\nimport { Context } from './Dropdown.context';\n\n/**\n * Выпадающий список.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, Omit<DropdownProps, 'items'>>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n items,\n children,\n placement,\n offset,\n closeOnOverlayClick = true,\n onToggle,\n size,\n view,\n itemRole = 'treeitem',\n className,\n listMaxHeight,\n listWidth,\n listHeight,\n listOverflow,\n closeOnSelect = true,\n onHover,\n onItemSelect,\n onItemClick,\n trigger = 'click',\n openByRightClick = false,\n variant = 'normal',\n hasArrow = true,\n alwaysOpened = false,\n portal,\n renderItem,\n zIndex,\n beforeList,\n afterList,\n ...rest\n },\n ref,\n ) => {\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n\n const isCurrentListOpen = alwaysOpened || Boolean(path[0]);\n\n const [pathMap, focusedToValueMap] = useHashMaps(items);\n\n const activeDescendantItemValue = getItemByFocused(focusedPath, focusedToValueMap)?.value || '';\n\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n const treeId = safeUseId();\n\n // Логика работы при клике за пределами выпадающего списка\n const targetRef = useOutsideClick<HTMLUListElement>((event) => {\n if (!isCurrentListOpen || !closeOnOverlayClick || alwaysOpened) {\n return;\n }\n\n dispatchPath({ type: 'reset' });\n dispatchFocusedPath({ type: 'reset' });\n\n if (onToggle) {\n onToggle(false, event);\n }\n }, floatingPopoverRef);\n\n const handleGlobalToggle: HandleGlobalToggleType = (opened, event) => {\n if (alwaysOpened || opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n }\n\n if (onToggle) {\n onToggle(opened, event);\n }\n };\n\n const onContextMenu = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n\n if (alwaysOpened) {\n return;\n }\n\n handleGlobalToggle(!isCurrentListOpen, e);\n },\n [handleGlobalToggle, isCurrentListOpen, alwaysOpened],\n );\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n });\n\n return (\n <Context.Provider\n value={{\n focusedPath,\n size,\n variant,\n itemRole,\n handleGlobalToggle,\n closeOnSelect,\n onHover,\n onItemClick,\n onItemSelect,\n hasArrow,\n treeId,\n renderItem,\n }}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isCurrentListOpen}\n onToggle={handleGlobalToggle}\n placement={getPlacement(placement)}\n offset={offset}\n portal={portal}\n trigger={trigger}\n target={childrenWithProps(children, {\n role: 'combobox',\n 'aria-controls': `${treeId}_tree_level_1`,\n 'aria-expanded': isCurrentListOpen,\n 'aria-activedescendant': activeDescendantItemValue\n ? getItemId(treeId, activeDescendantItemValue.toString())\n : '',\n onKeyDown,\n onContextMenu: openByRightClick ? onContextMenu : undefined,\n })}\n zIndex={zIndex}\n isInner={false}\n >\n <Root\n className={cx(className, classes.dropdownRoot)}\n ref={ref}\n view={view}\n size={size}\n style={{ display: 'inline-block' }}\n {...rest}\n >\n <ListWrapper listWidth={listWidth}>\n <Ul\n ref={targetRef}\n id={`${treeId}_tree_level_1`}\n role=\"tree\"\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n >\n {beforeList}\n\n {items.map((item, index) => (\n <DropdownInner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n trigger={trigger}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listOverflow={listOverflow}\n listMaxHeight={listMaxHeight || listHeight}\n listWidth={listWidth}\n />\n ))}\n\n {afterList}\n </Ul>\n </ListWrapper>\n </Root>\n </FloatingPopover>\n </Context.Provider>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","items","children","placement","offset","closeOnOverlayClick","onToggle","size","view","itemRole","className","listMaxHeight","listWidth","listHeight","listOverflow","closeOnSelect","onHover","onItemSelect","onItemClick","trigger","openByRightClick","variant","hasArrow","alwaysOpened","portal","renderItem","zIndex","beforeList","afterList","rest","ref","path","dispatchPath","useReducer","pathReducer","focusedPath","dispatchFocusedPath","focusedPathReducer","isCurrentListOpen","Boolean","pathMap","focusedToValueMap","useHashMaps","activeDescendantItemValue","getItemByFocused","value","floatingPopoverRef","useRef","treeId","safeUseId","targetRef","useOutsideClick","event","type","handleGlobalToggle","opened","onContextMenu","useCallback","e","preventDefault","onKeyDown","useKeyNavigation","React","createElement","Context","Provider","FloatingPopover","getPlacement","target","childrenWithProps","role","getItemId","toString","undefined","isInner","_extends","cx","classes","style","display","ListWrapper","Ul","id","map","item","index","DropdownInner","key","currentLevel","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { useFloating, autoUpdate, autoPlacement, offset, flip, shift, FloatingPortal } from '@floating-ui/react';
|
2
2
|
import React, { forwardRef } from 'react';
|
3
|
-
import { safeUseId } from '
|
3
|
+
import { safeUseId } from '../../utils/react.js';
|
4
4
|
|
5
5
|
// TODO: #2003
|
6
6
|
const LIST_PADDING = 2;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FloatingPopover.js","sources":["../../../src/components/Dropdown/FloatingPopover.tsx"],"sourcesContent":["import {\n flip,\n shift,\n useFloating,\n FloatingPortal,\n offset as offsetMiddleware,\n autoPlacement,\n autoUpdate,\n} from '@floating-ui/react';\nimport React, { forwardRef, MouseEvent } from 'react';\nimport { safeUseId } from '
|
1
|
+
{"version":3,"file":"FloatingPopover.js","sources":["../../../src/components/Dropdown/FloatingPopover.tsx"],"sourcesContent":["import {\n flip,\n shift,\n useFloating,\n FloatingPortal,\n offset as offsetMiddleware,\n autoPlacement,\n autoUpdate,\n} from '@floating-ui/react';\nimport React, { forwardRef, MouseEvent } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { FloatingPopoverProps } from './Dropdown.types';\n\n// TODO: #2003\nconst LIST_PADDING = 2;\n\nconst FloatingPopover = forwardRef<HTMLDivElement, FloatingPopoverProps>(\n ({ target, children, opened, onToggle, placement, portal, offset, isInner, trigger, zIndex }, ref) => {\n const { refs, floatingStyles } = useFloating({\n whileElementsMounted(referenceEl, floatingEl, update) {\n return autoUpdate(referenceEl, floatingEl, update, {\n ancestorScroll: false,\n ancestorResize: false,\n layoutShift: false,\n });\n },\n placement: placement === 'auto' ? undefined : placement,\n open: opened,\n middleware: [\n placement === 'auto' && autoPlacement(),\n offsetMiddleware({\n mainAxis: offset?.[1] || (isInner ? LIST_PADDING * 2 : 0),\n crossAxis: offset?.[0] || (isInner ? -LIST_PADDING : 0),\n }),\n flip({ fallbackAxisSideDirection: 'end' }),\n shift(),\n ],\n });\n const wrappedId = safeUseId();\n\n const handleTargetClick = (event: MouseEvent<HTMLDivElement>) => {\n if (trigger === 'hover') {\n return;\n }\n\n if (onToggle) {\n onToggle(!opened, event);\n }\n };\n\n const handleTargetMouseEnter = (event: MouseEvent<HTMLDivElement>) => {\n if (trigger === 'click' || opened) {\n return;\n }\n\n onToggle(true, event);\n };\n\n const handleTargetMouseLeave = (event: MouseEvent<HTMLDivElement>) => {\n if (event.relatedTarget instanceof HTMLElement && refs.floating.current instanceof HTMLElement) {\n if (\n trigger === 'click' ||\n !opened ||\n (event.relatedTarget && refs.floating && refs.floating.current?.contains(event.relatedTarget))\n ) {\n return;\n }\n\n onToggle(false, event);\n }\n };\n\n const handleFloatingMouseLeave = (event: MouseEvent) => {\n if (event.relatedTarget instanceof HTMLElement && refs.reference.current instanceof HTMLElement) {\n if (\n trigger === 'click' ||\n !opened ||\n (event.relatedTarget && refs.reference && refs.reference.current?.contains(event.relatedTarget))\n ) {\n return;\n }\n\n onToggle(false, event);\n }\n };\n\n return (\n <div\n ref={ref}\n id={wrappedId}\n style={{\n position: 'relative',\n display: isInner ? 'block' : 'inline-block',\n }}\n >\n <div\n ref={refs.setReference}\n onClick={handleTargetClick}\n onMouseEnter={handleTargetMouseEnter}\n onMouseLeave={handleTargetMouseLeave}\n >\n {target}\n </div>\n\n {opened && (\n <FloatingPortal {...getFloatingPortalProps(portal, wrappedId)}>\n <div\n ref={refs.setFloating}\n onMouseLeave={handleFloatingMouseLeave}\n style={{\n ...floatingStyles,\n zIndex: zIndex || 1000,\n }}\n >\n {children}\n </div>\n </FloatingPortal>\n )}\n </div>\n );\n },\n);\n\ntype FloatingPortalReturnedProps = {\n root?: React.RefObject<HTMLElement>;\n id?: string;\n};\n\n// root - принимает ref контейнера портала.\n// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\nconst getFloatingPortalProps = (\n portal: FloatingPopoverProps['portal'],\n wrappedId: string,\n): FloatingPortalReturnedProps => {\n if (!portal) {\n return { id: wrappedId };\n }\n\n if (typeof portal === 'string') {\n return { id: portal };\n }\n\n return { root: portal };\n};\n\nexport { FloatingPopover };\n"],"names":["LIST_PADDING","FloatingPopover","forwardRef","target","children","opened","onToggle","placement","portal","offset","isInner","trigger","zIndex","ref","refs","floatingStyles","useFloating","whileElementsMounted","referenceEl","floatingEl","update","autoUpdate","ancestorScroll","ancestorResize","layoutShift","undefined","open","middleware","autoPlacement","offsetMiddleware","mainAxis","crossAxis","flip","fallbackAxisSideDirection","shift","wrappedId","safeUseId","handleTargetClick","event","handleTargetMouseEnter","handleTargetMouseLeave","relatedTarget","HTMLElement","floating","current","contains","handleFloatingMouseLeave","reference","React","createElement","id","style","position","display","setReference","onClick","onMouseEnter","onMouseLeave","FloatingPortal","getFloatingPortalProps","setFloating","root"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownDivider.js","sources":["../../../../../src/components/Dropdown/ui/DropdownDivider/DropdownDivider.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\
|
1
|
+
{"version":3,"file":"DropdownDivider.js","sources":["../../../../../src/components/Dropdown/ui/DropdownDivider/DropdownDivider.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\nimport type { RootProps } from 'src/engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownDivider } from './DropdownDivider.styles';\nimport type { DropdownDividerProps } from './DropdownDivider.types';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownDividerRoot = (Root: RootProps<HTMLDivElement, DropdownDividerProps>) =>\n forwardRef<HTMLDivElement, DropdownDividerProps>(({ id, className, view, size, ...rest }, outerRootRef) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size}>\n <StyledDropdownDivider className={className} {...rest} />\n </Root>\n );\n });\n\nexport const dropdownDividerConfig = {\n name: 'DropdownDivider',\n tag: 'div',\n layout: dropdownDividerRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownDividerRoot","Root","forwardRef","id","className","view","size","rest","outerRootRef","uniqId","safeUseId","innerId","React","createElement","ref","StyledDropdownDivider","_extends","dropdownDividerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;AASA;AACA;AACA;MACaA,mBAAmB,GAAIC,IAAqD,iBACrFC,UAAU,CAAuC,CAAC;EAAEC,EAAE;EAAEC,SAAS;EAAEC,IAAI;EAAEC,IAAI;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAAEC,YAAY,KAAK;AACvG,EAAA,MAAMC,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,EAAA,MAAMC,OAAO,GAAGR,EAAE,IAAIM,MAAM,CAAA;AAE5B,EAAA,oBACIG,KAAA,CAAAC,aAAA,CAACZ,IAAI,EAAA;AAACE,IAAAA,EAAE,EAAEQ,OAAQ;AAACG,IAAAA,GAAG,EAAEN,YAAa;AAACH,IAAAA,IAAI,EAAEA,IAAK;AAACC,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GAAA,eACzDM,KAAA,CAAAC,aAAA,CAACE,qBAAqB,EAAAC,QAAA,CAAA;AAACZ,IAAAA,SAAS,EAAEA,SAAAA;GAAeG,EAAAA,IAAI,CAAG,CACtD,CAAC,CAAA;AAEf,CAAC,EAAC;AAEC,MAAMU,qBAAqB,GAAG;AACjCC,EAAAA,IAAI,EAAE,iBAAiB;AACvBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEpB,mBAAmB;AAC3BqB,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRjB,IAAAA,IAAI,EAAE;AACFkB,MAAAA,GAAG,EAAEC,IAAAA;KACR;AACDlB,IAAAA,IAAI,EAAE;AACFiB,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNrB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownFooter.js","sources":["../../../../../src/components/Dropdown/ui/DropdownFooter/DropdownFooter.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\
|
1
|
+
{"version":3,"file":"DropdownFooter.js","sources":["../../../../../src/components/Dropdown/ui/DropdownFooter/DropdownFooter.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\nimport type { RootProps } from 'src/engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownFooter } from './DropdownFooter.styles';\nimport type { DropdownFooterProps } from './DropdownFooter.type';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownFooterRoot = (Root: RootProps<HTMLDivElement, DropdownFooterProps>) =>\n forwardRef<HTMLDivElement, DropdownFooterProps>(\n ({ id, className, children, view, size, ...rest }, outerRootRef) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size}>\n <StyledDropdownFooter className={className} {...rest}>\n {children}\n </StyledDropdownFooter>\n </Root>\n );\n },\n );\n\nexport const dropdownFooterConfig = {\n name: 'DropdownFooter',\n tag: 'div',\n layout: dropdownFooterRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownFooterRoot","Root","forwardRef","id","className","children","view","size","rest","outerRootRef","uniqId","safeUseId","innerId","React","createElement","ref","StyledDropdownFooter","_extends","dropdownFooterConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;AASA;AACA;AACA;MACaA,kBAAkB,GAAIC,IAAoD,iBACnFC,UAAU,CACN,CAAC;EAAEC,EAAE;EAAEC,SAAS;EAAEC,QAAQ;EAAEC,IAAI;EAAEC,IAAI;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAAEC,YAAY,KAAK;AAChE,EAAA,MAAMC,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,EAAA,MAAMC,OAAO,GAAGT,EAAE,IAAIO,MAAM,CAAA;AAE5B,EAAA,oBACIG,KAAA,CAAAC,aAAA,CAACb,IAAI,EAAA;AAACE,IAAAA,EAAE,EAAES,OAAQ;AAACG,IAAAA,GAAG,EAAEN,YAAa;AAACH,IAAAA,IAAI,EAAEA,IAAK;AAACC,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GAAA,eACzDM,KAAA,CAAAC,aAAA,CAACE,oBAAoB,EAAAC,QAAA,CAAA;AAACb,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,EAAKI,IAAI,CAAA,EAC/CH,QACiB,CACpB,CAAC,CAAA;AAEf,CACJ,EAAC;AAEE,MAAMa,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAErB,kBAAkB;AAC1BsB,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRjB,IAAAA,IAAI,EAAE;AACFkB,MAAAA,GAAG,EAAEC,IAAAA;KACR;AACDlB,IAAAA,IAAI,EAAE;AACFiB,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNrB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownGroup.js","sources":["../../../../../src/components/Dropdown/ui/DropdownGroup/DropdownGroup.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\
|
1
|
+
{"version":3,"file":"DropdownGroup.js","sources":["../../../../../src/components/Dropdown/ui/DropdownGroup/DropdownGroup.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\nimport type { RootProps } from 'src/engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownGroup, StyledDropdownLabel } from './DropdownGroup.styles';\nimport type { DropdownGroupProps } from './DropdownGroup.type';\n\n/**\n * Элемент группы выпадающего списка\n */\nexport const dropdownGroupRoot = (Root: RootProps<HTMLDivElement, DropdownGroupProps>) =>\n forwardRef<HTMLDivElement, DropdownGroupProps>(\n ({ id, labelClassName, groupClassName, label, children, role, view, size, ...rest }, outerRootRef) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size} role={role}>\n <StyledDropdownLabel className={labelClassName}>{label}</StyledDropdownLabel>\n <StyledDropdownGroup className={groupClassName} {...rest}>\n {children}\n </StyledDropdownGroup>\n </Root>\n );\n },\n );\n\nexport const dropdownGroupConfig = {\n name: 'DropdownGroup',\n tag: 'div',\n layout: dropdownGroupRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownGroupRoot","Root","forwardRef","id","labelClassName","groupClassName","label","children","role","view","size","rest","outerRootRef","uniqId","safeUseId","innerId","React","createElement","ref","StyledDropdownLabel","className","StyledDropdownGroup","_extends","dropdownGroupConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;AASA;AACA;AACA;MACaA,iBAAiB,GAAIC,IAAmD,iBACjFC,UAAU,CACN,CAAC;EAAEC,EAAE;EAAEC,cAAc;EAAEC,cAAc;EAAEC,KAAK;EAAEC,QAAQ;EAAEC,IAAI;EAAEC,IAAI;EAAEC,IAAI;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAAEC,YAAY,KAAK;AAClG,EAAA,MAAMC,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,EAAA,MAAMC,OAAO,GAAGZ,EAAE,IAAIU,MAAM,CAAA;AAE5B,EAAA,oBACIG,KAAA,CAAAC,aAAA,CAAChB,IAAI,EAAA;AAACE,IAAAA,EAAE,EAAEY,OAAQ;AAACG,IAAAA,GAAG,EAAEN,YAAa;AAACH,IAAAA,IAAI,EAAEA,IAAK;AAACC,IAAAA,IAAI,EAAEA,IAAK;AAACF,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GAAA,eACrEQ,KAAA,CAAAC,aAAA,CAACE,mBAAmB,EAAA;AAACC,IAAAA,SAAS,EAAEhB,cAAAA;GAAiBE,EAAAA,KAA2B,CAAC,eAC7EU,KAAA,CAAAC,aAAA,CAACI,mBAAmB,EAAAC,QAAA,CAAA;AAACF,IAAAA,SAAS,EAAEf,cAAAA;AAAe,GAAA,EAAKM,IAAI,CAAA,EACnDJ,QACgB,CACnB,CAAC,CAAA;AAEf,CACJ,EAAC;AAEE,MAAMgB,mBAAmB,GAAG;AAC/BC,EAAAA,IAAI,EAAE,eAAe;AACrBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE1B,iBAAiB;AACzB2B,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRnB,IAAAA,IAAI,EAAE;AACFoB,MAAAA,GAAG,EAAEC,IAAAA;KACR;AACDpB,IAAAA,IAAI,EAAE;AACFmB,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNvB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownHeader.js","sources":["../../../../../src/components/Dropdown/ui/DropdownHeader/DropdownHeader.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\
|
1
|
+
{"version":3,"file":"DropdownHeader.js","sources":["../../../../../src/components/Dropdown/ui/DropdownHeader/DropdownHeader.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\nimport type { RootProps } from 'src/engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdownHeader } from './DropdownHeader.styles';\nimport type { DropdownHeaderProps } from './DropdownHeader.type';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownHeaderRoot = (Root: RootProps<HTMLDivElement, DropdownHeaderProps>) =>\n forwardRef<HTMLDivElement, DropdownHeaderProps>(\n ({ id, className, view, size, children, ...rest }, outerRootRef) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n return (\n <Root id={innerId} ref={outerRootRef} view={view} size={size}>\n <StyledDropdownHeader className={className} {...rest}>\n {children}\n </StyledDropdownHeader>\n </Root>\n );\n },\n );\n\nexport const dropdownHeaderConfig = {\n name: 'DropdownHeader',\n tag: 'div',\n layout: dropdownHeaderRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownHeaderRoot","Root","forwardRef","id","className","view","size","children","rest","outerRootRef","uniqId","safeUseId","innerId","React","createElement","ref","StyledDropdownHeader","_extends","dropdownHeaderConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;AASA;AACA;AACA;MACaA,kBAAkB,GAAIC,IAAoD,iBACnFC,UAAU,CACN,CAAC;EAAEC,EAAE;EAAEC,SAAS;EAAEC,IAAI;EAAEC,IAAI;EAAEC,QAAQ;EAAE,GAAGC,IAAAA;AAAK,CAAC,EAAEC,YAAY,KAAK;AAChE,EAAA,MAAMC,MAAM,GAAGC,SAAS,EAAE,CAAA;AAC1B,EAAA,MAAMC,OAAO,GAAGT,EAAE,IAAIO,MAAM,CAAA;AAE5B,EAAA,oBACIG,KAAA,CAAAC,aAAA,CAACb,IAAI,EAAA;AAACE,IAAAA,EAAE,EAAES,OAAQ;AAACG,IAAAA,GAAG,EAAEN,YAAa;AAACJ,IAAAA,IAAI,EAAEA,IAAK;AAACC,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GAAA,eACzDO,KAAA,CAAAC,aAAA,CAACE,oBAAoB,EAAAC,QAAA,CAAA;AAACb,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,EAAKI,IAAI,CAAA,EAC/CD,QACiB,CACpB,CAAC,CAAA;AAEf,CACJ,EAAC;AAEE,MAAMW,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAErB,kBAAkB;AAC1BsB,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,UAAU,EAAE;AACRlB,IAAAA,IAAI,EAAE;AACFmB,MAAAA,GAAG,EAAEC,IAAAA;KACR;AACDnB,IAAAA,IAAI,EAAE;AACFkB,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNtB,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { safeUseId } from '@salutejs/plasma-core';
|
3
2
|
import { DropdownItem } from '../DropdownItem/DropdownItem.js';
|
4
3
|
import { ListWrapper, Ul } from '../../Dropdown.styles.js';
|
5
4
|
import { FloatingPopover } from '../../FloatingPopover.js';
|
5
|
+
import { safeUseId } from '../../../../utils/react.js';
|
6
6
|
import { getPlacement } from '../../utils/getPlacement.js';
|
7
7
|
|
8
8
|
const DropdownInner = ({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownInner.js","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from '
|
1
|
+
{"version":3,"file":"DropdownInner.js","sources":["../../../../../src/components/Dropdown/ui/DropdownInner/DropdownInner.tsx"],"sourcesContent":["import React from 'react';\nimport type { FC } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport { DropdownItem } from '../DropdownItem/DropdownItem';\nimport { Ul, ListWrapper } from '../../Dropdown.styles';\nimport { FloatingPopover } from '../../FloatingPopover';\nimport { getPlacement } from '../../utils';\n\nimport { DropdownInnerProps } from './DropdownInner.type';\n\nconst DropdownInner: FC<DropdownInnerProps> = ({\n item,\n currentLevel,\n path,\n dispatchPath,\n index,\n trigger,\n listMaxHeight,\n listOverflow,\n listWidth,\n}) => {\n const handleToggle = (opened: boolean): void => {\n if (opened) {\n dispatchPath({ type: 'changed_on_level', value: item.value.toString(), level: currentLevel + 1 });\n } else {\n dispatchPath({ type: 'cut_by_level', level: currentLevel + 1 });\n }\n };\n\n const isCurrentListOpen = path[currentLevel + 1] === item.value.toString();\n\n const treeId = safeUseId();\n const listId = `${treeId}_tree_level_${currentLevel + 2}`;\n const nextLevel = currentLevel + 1;\n\n if (item?.items) {\n return (\n <FloatingPopover\n placement={getPlacement(item?.placement || 'right')}\n opened={isCurrentListOpen}\n onToggle={handleToggle}\n trigger={item.trigger || trigger}\n target={\n <DropdownItem\n item={item}\n index={index}\n path={path}\n currentLevel={currentLevel}\n ariaControls={listId}\n ariaExpanded={isCurrentListOpen}\n ariaLevel={nextLevel}\n ariaLabel={item.label}\n />\n }\n isInner\n >\n <ListWrapper listWidth={listWidth}>\n <Ul id={listId} role=\"group\" listMaxHeight={listMaxHeight} listOverflow={listOverflow}>\n {item.items.map((innerItem, innerIndex) => (\n <DropdownInner\n key={`${innerIndex}/${currentLevel}`}\n item={innerItem}\n currentLevel={nextLevel}\n path={path}\n dispatchPath={dispatchPath}\n index={innerIndex}\n trigger={trigger}\n listMaxHeight={listMaxHeight}\n listOverflow={listOverflow}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n </ListWrapper>\n </FloatingPopover>\n );\n }\n\n return <DropdownItem item={item} path={path} index={index} currentLevel={currentLevel} ariaLevel={nextLevel} />;\n};\n\nexport { DropdownInner };\n"],"names":["DropdownInner","item","currentLevel","path","dispatchPath","index","trigger","listMaxHeight","listOverflow","listWidth","handleToggle","opened","type","value","toString","level","isCurrentListOpen","treeId","safeUseId","listId","nextLevel","items","React","createElement","FloatingPopover","placement","getPlacement","onToggle","target","DropdownItem","ariaControls","ariaExpanded","ariaLevel","ariaLabel","label","isInner","ListWrapper","Ul","id","role","map","innerItem","innerIndex","key"],"mappings":"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"}
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import { extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
2
|
import React, { forwardRef, useCallback, useMemo } from 'react';
|
3
|
-
import { safeUseId } from '@salutejs/plasma-core';
|
4
|
-
import { classes } from '../../Dropdown.tokens.js';
|
5
3
|
import { cx } from '../../../../utils/index.js';
|
4
|
+
import { classes } from '../../Dropdown.tokens.js';
|
6
5
|
import { getValidComponent } from '../../utils/index.js';
|
7
6
|
import { base as base$1 } from './variations/_view/base.js';
|
8
7
|
import { base as base$2 } from './variations/_size/base.js';
|
9
8
|
import { StyledContentLeft, StyledText, StyledContentRight, base } from './DropdownItem.styles.js';
|
9
|
+
import { safeUseId } from '../../../../utils/react.js';
|
10
10
|
|
11
11
|
/**
|
12
12
|
* Элемент выпадающего списка
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownItemOld.js","sources":["../../../../../src/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { safeUseId } from '
|
1
|
+
{"version":3,"file":"DropdownItemOld.js","sources":["../../../../../src/components/Dropdown/ui/DropdownItemOld/DropdownItemOld.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { safeUseId, cx } from 'src/utils';\nimport type { RootProps } from 'src/engines';\n\nimport { classes } from '../../Dropdown.tokens';\nimport { getValidComponent } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledContentLeft, StyledContentRight, StyledText, base } from './DropdownItem.styles';\nimport type { DropdownItemProps } from './DropdownItem.type';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownItemOldRoot = (Root: RootProps<HTMLDivElement, DropdownItemProps>) =>\n forwardRef<HTMLDivElement, DropdownItemProps>(\n (\n {\n id,\n className,\n children,\n text,\n isSelected,\n name,\n checked,\n value,\n role,\n view,\n size,\n disabled,\n contentLeft: ContentLeftComponent,\n contentRight: ContentRightComponent,\n onSelect,\n onClick,\n onChange,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const withDropdownItemIsSelected = checked || isSelected ? classes.dropdownItemIsSelected : undefined;\n const withDropdownItemIsDisabled = disabled ? classes.dropdownItemIsDisabled : undefined;\n\n const handleOnClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n return;\n }\n\n onClick?.(event);\n\n if (onSelect && !ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const handleOnChange = useCallback(\n (event: React.MouseEvent<HTMLInputElement>) => {\n if (disabled) {\n return;\n }\n\n onChange?.(event);\n\n if (onSelect && ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const contentProps = {\n name,\n value,\n checked: checked || isSelected,\n disabled,\n tabIndex: 0,\n ...(!disabled && { onChange: handleOnChange }),\n };\n\n const ContentLeft = useMemo(() => getValidComponent(ContentLeftComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n const ContentRight = useMemo(() => getValidComponent(ContentRightComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n return (\n <Root\n className={cx(withDropdownItemIsSelected, withDropdownItemIsDisabled, className)}\n view={view}\n size={size}\n id={innerId}\n isSelected={isSelected}\n role={role}\n ref={outerRootRef}\n tabIndex={0}\n aria-disabled={disabled}\n onClick={handleOnClick}\n data-value={value}\n {...rest}\n >\n {text ? (\n <>\n <StyledContentLeft>{ContentLeftComponent && ContentLeft}</StyledContentLeft>\n <StyledText>{text}</StyledText>\n <StyledContentRight>{ContentRightComponent && ContentRight}</StyledContentRight>\n </>\n ) : (\n children\n )}\n </Root>\n );\n },\n );\n\nexport const dropdownItemOldConfig = {\n name: 'DropdownItem',\n tag: 'div',\n layout: dropdownItemOldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownItemOldRoot","Root","forwardRef","id","className","children","text","isSelected","name","checked","value","role","view","size","disabled","contentLeft","ContentLeftComponent","contentRight","ContentRightComponent","onSelect","onClick","onChange","rest","outerRootRef","uniqId","safeUseId","innerId","withDropdownItemIsSelected","classes","dropdownItemIsSelected","undefined","withDropdownItemIsDisabled","dropdownItemIsDisabled","handleOnClick","useCallback","event","handleOnChange","contentProps","tabIndex","ContentLeft","useMemo","getValidComponent","ContentRight","React","createElement","_extends","cx","ref","Fragment","StyledContentLeft","StyledText","StyledContentRight","dropdownItemOldConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownOld.js","sources":["../../../../../src/components/Dropdown/ui/DropdownOld/DropdownOld.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\
|
1
|
+
{"version":3,"file":"DropdownOld.js","sources":["../../../../../src/components/Dropdown/ui/DropdownOld/DropdownOld.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport type { RootProps } from 'src/engines';\nimport { safeUseId } from 'src/utils';\nimport { useFocusTrap } from 'src/hooks';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdown, StyledPopover } from './Dropdown.styles';\nimport { getPlacements } from './utils';\nimport type { DropdownProps } from './Dropdown.types';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const dropdownOldRoot = (Root: RootProps<HTMLDivElement, DropdownProps>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n id,\n target,\n children,\n hasArrow,\n role,\n view,\n size,\n frame,\n onToggle,\n isFocusTrapped = true,\n isOpen = false,\n opened = false,\n placement = 'auto',\n trigger = 'click',\n offset = [0, 6],\n preventOverflow = false,\n closeOnOverlayClick = false,\n closeOnEsc = false,\n ...rest\n },\n outerRootRef,\n ) => {\n const innerIsOpen = Boolean(isOpen || opened);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n\n const trapRef = useFocusTrap(innerIsOpen && isFocusTrapped);\n\n const dropdownForkRef = useForkRef<HTMLDivElement>(dropdownRef, trapRef);\n\n return (\n <StyledPopover\n role={role}\n opened={innerIsOpen}\n usePortal={false}\n onToggle={(is, event) => onToggle?.(is, event)}\n id={innerId}\n ref={dropdownForkRef}\n target={target}\n offset={offset}\n preventOverflow={preventOverflow}\n hasArrow={hasArrow}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n isFocusTrapped={isFocusTrapped}\n frame={frame}\n >\n <Root ref={handleRef} view={view} size={size} {...rest}>\n <StyledDropdown>{children}</StyledDropdown>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownOldConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownOldRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownOldRoot","Root","forwardRef","id","target","children","hasArrow","role","view","size","frame","onToggle","isFocusTrapped","isOpen","opened","placement","trigger","offset","preventOverflow","closeOnOverlayClick","closeOnEsc","rest","outerRootRef","innerIsOpen","Boolean","uniqId","safeUseId","innerId","rootRef","useRef","dropdownRef","handleRef","useForkRef","trapRef","useFocusTrap","dropdownForkRef","React","createElement","StyledPopover","usePortal","is","event","ref","getPlacements","_extends","StyledDropdown","dropdownOldConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
@@ -1,14 +1,15 @@
|
|
1
1
|
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
2
2
|
import React, { forwardRef, useMemo } from 'react';
|
3
|
-
import {
|
4
|
-
import { StyledInput, StyledContentWrapper, StyledTriggerWrapper, StyledTrigger, StyledContent, StyledLabel, StyledDescription } from '../Checkbox/Checkbox.styles.js';
|
3
|
+
import { extractTextFrom } from '@salutejs/plasma-core';
|
5
4
|
import { cx } from '../../utils/index.js';
|
5
|
+
import { StyledInput, StyledContentWrapper, StyledTriggerWrapper, StyledTrigger, StyledContent, StyledLabel, StyledDescription } from '../Checkbox/Checkbox.styles.js';
|
6
6
|
import { base as base$2 } from './variations/_view/base.js';
|
7
7
|
import { base as base$1 } from './variations/_size/base.js';
|
8
8
|
import { base as base$3 } from './variations/_disabled/base.js';
|
9
9
|
import { base as base$4 } from './variations/_focused/base.js';
|
10
10
|
import { StyledEllipse, base } from './Radiobox.styles.js';
|
11
11
|
import { classes } from './Radiobox.tokens.js';
|
12
|
+
import { safeUseId } from '../../utils/react.js';
|
12
13
|
|
13
14
|
const radioboxRoot = Root => /*#__PURE__*/forwardRef((props, ref) => {
|
14
15
|
const {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Radiobox.js","sources":["../../../src/components/Radiobox/Radiobox.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport {
|
1
|
+
{"version":3,"file":"Radiobox.js","sources":["../../../src/components/Radiobox/Radiobox.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport { extractTextFrom } from '@salutejs/plasma-core';\nimport { safeUseId, cx } from 'src/utils';\nimport type { InputHTMLAttributes } from 'src/types';\nimport type { Filter, RootProps } from 'src/engines/types';\n\nimport {\n StyledContentWrapper,\n StyledDescription,\n StyledInput,\n StyledLabel,\n StyledContent,\n StyledTrigger,\n StyledTriggerWrapper,\n} from '../Checkbox/Checkbox.styles';\nimport { BaseboxProps } from '../Checkbox/Checkbox.types';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as focusedCSS } from './variations/_focused/base';\nimport { StyledEllipse, base } from './Radiobox.styles';\nimport { classes } from './Radiobox.tokens';\n\ntype RadioboxProps = Filter<InputHTMLAttributes<HTMLInputElement>, 'size'> &\n Omit<BaseboxProps, 'indeterminate' | 'appearance'>;\n\nexport const radioboxRoot = (Root: RootProps<HTMLInputElement, RadioboxProps>) =>\n forwardRef<HTMLInputElement, RadioboxProps>((props, ref) => {\n const {\n size,\n view,\n focused,\n disabled,\n id,\n label,\n description,\n style,\n className,\n singleLine = false,\n 'aria-label': ariaLabelExternal,\n ...rest\n } = props;\n\n const uniqId = safeUseId();\n const uniqLabelId = `label-${uniqId}`;\n const uniqDescriptionId = `description-${uniqId}`;\n const radioboxId = id || `input-${uniqId}`;\n\n const ariaLabel = useMemo(() => ariaLabelExternal || extractTextFrom(label), [ariaLabelExternal, label]);\n const isLabelAriaHidden = typeof label === 'string';\n const canFocused = focused ? 0 : -1;\n const hasContent = label || description;\n const singleLineClass = singleLine ? classes.singleLine : undefined;\n const onlyDescriptionClass = !label && description ? classes.onlyDescription : undefined;\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n focused={focused}\n style={style}\n className={className}\n tabIndex={-1}\n >\n <StyledInput\n {...rest}\n id={radioboxId}\n ref={ref}\n type=\"radio\"\n disabled={disabled}\n aria-label={ariaLabel}\n aria-describedby={uniqDescriptionId}\n tabIndex={canFocused}\n />\n <StyledContentWrapper htmlFor={radioboxId} className={singleLineClass}>\n <StyledTriggerWrapper>\n <StyledTrigger className={classes.radioboxTrigger}>\n <StyledEllipse />\n </StyledTrigger>\n </StyledTriggerWrapper>\n {hasContent && (\n <StyledContent className={singleLineClass}>\n {label && (\n <StyledLabel\n className={cx(singleLineClass, onlyDescriptionClass)}\n id={uniqLabelId}\n aria-hidden={isLabelAriaHidden}\n >\n {label}\n </StyledLabel>\n )}\n {description && (\n <StyledDescription className={singleLineClass} id={uniqDescriptionId}>\n {description}\n </StyledDescription>\n )}\n </StyledContent>\n )}\n </StyledContentWrapper>\n </Root>\n );\n });\n\nexport const radioboxConfig = {\n name: 'Radiobox',\n tag: 'div',\n layout: radioboxRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n },\n focused: {\n css: focusedCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'accent',\n },\n};\n"],"names":["radioboxRoot","Root","forwardRef","props","ref","size","view","focused","disabled","id","label","description","style","className","singleLine","ariaLabelExternal","rest","uniqId","safeUseId","uniqLabelId","uniqDescriptionId","radioboxId","ariaLabel","useMemo","extractTextFrom","isLabelAriaHidden","canFocused","hasContent","singleLineClass","classes","undefined","onlyDescriptionClass","onlyDescription","React","createElement","tabIndex","StyledInput","_extends","type","StyledContentWrapper","htmlFor","StyledTriggerWrapper","StyledTrigger","radioboxTrigger","StyledEllipse","StyledContent","StyledLabel","cx","StyledDescription","radioboxConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","focusedCSS","defaults"],"mappings":"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"}
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import { extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
2
|
import React, { forwardRef, useRef, useState, useCallback, useEffect, useMemo } from 'react';
|
3
|
-
import { safeUseId } from '@salutejs/plasma-core';
|
4
|
-
import { tokens, classes } from '../../tokens.js';
|
5
3
|
import { cx } from '../../../../utils/index.js';
|
4
|
+
import { tokens, classes } from '../../tokens.js';
|
6
5
|
import { useSegmentInner } from '../../SegmentProvider/SegmentProvider.js';
|
7
6
|
import { base as base$1 } from './variations/_size/base.js';
|
8
7
|
import { base as base$2 } from './variations/_view/base.js';
|
@@ -12,6 +11,7 @@ import { base as base$7 } from './variations/_filledBackgound/base.js';
|
|
12
11
|
import { base as base$5 } from './variations/_stretch/base.js';
|
13
12
|
import { base as base$6 } from './variations/_orientation/base.js';
|
14
13
|
import { StyledContentWrapper, StyledContent, base, StyledTopArrow, StyledLeftArrow, StyledBottomArrow, StyledRightArrow } from './SegmentGroup.styles.js';
|
14
|
+
import { safeUseId } from '../../../../utils/react.js';
|
15
15
|
import { IconDisclosureUpWithOffset } from '../../../_Icon/Icons/IconDisclosureUpWithOffset.js';
|
16
16
|
import { IconDisclosureLeftWithOffset } from '../../../_Icon/Icons/IconDisclosureLeftWithOffset.js';
|
17
17
|
import { IconDisclosureDownWithOffset } from '../../../_Icon/Icons/IconDisclosureDownWithOffset.js';
|